allyhub 0.2.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.
- package/dist/cli-version.js +2 -0
- package/dist/commands/add.js +5 -5
- package/dist/commands/auth.js +4 -4
- package/dist/commands/cloud-tools.js +9 -10
- package/dist/commands/dev.js +2 -2
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/frames/piece.js +1 -1
- package/dist/commands/frames.js +6 -6
- package/dist/commands/index.js +1 -1
- package/dist/commands/inspect/contrast.js +1 -1
- package/dist/commands/inspect/layout.js +1 -1
- package/dist/commands/model.js +1 -1
- package/dist/commands/orgs.js +2 -2
- package/dist/commands/render.js +2 -2
- package/dist/commands/sheet.js +2 -2
- package/dist/commands/skills.js +3 -3
- package/dist/commands/slides.js +3 -0
- package/dist/main.js +7 -7
- package/dist/text/facts-text.js +5 -5
- package/dist/text/format.js +2 -2
- package/dist/works.js +1 -1
- package/editor-web/assets/browser-B31cR_c2.js +105 -0
- package/editor-web/assets/dist-6TNEuNMX.js +4 -0
- package/editor-web/assets/dist-Cm2TIjW5.js +2 -0
- package/editor-web/assets/dist-Cpt0p8bX.js +6 -0
- package/editor-web/assets/dist-D2GccKEJ.js +1 -0
- package/editor-web/assets/dist-Z0zvYXmu.js +233 -0
- package/editor-web/assets/dist-fs4ONrUV.js +32 -0
- package/editor-web/assets/index-CAcsAZ9u.js +70 -0
- package/editor-web/assets/index-DlcJckhO.css +2 -0
- package/editor-web/assets/list-D2v7U8K8.js +1 -0
- package/editor-web/assets/react-D0RmGe2w.js +101 -0
- package/editor-web/assets/rolldown-runtime-XKyaHtl9.js +1 -0
- package/editor-web/assets/text-align-start-B3k2cx5f.js +1 -0
- package/editor-web/assets/undo-2-Ecr7-Obc.js +1 -0
- package/editor-web/index.html +4 -4
- package/node_modules/@allyhub-next/audio/package.json +1 -1
- package/node_modules/@allyhub-next/browser/package.json +1 -1
- package/node_modules/@allyhub-next/build/dist/data.js +1 -1
- package/node_modules/@allyhub-next/build/dist/meta-worker.d.ts +10 -0
- package/node_modules/@allyhub-next/build/dist/meta-worker.js +2 -2
- package/node_modules/@allyhub-next/build/dist/model-info.js +2 -1
- package/node_modules/@allyhub-next/build/dist/plugin.d.ts +2 -0
- package/node_modules/@allyhub-next/build/dist/plugin.js +9 -8
- package/node_modules/@allyhub-next/build/dist/prepare.d.ts +13 -1
- package/node_modules/@allyhub-next/build/dist/prepare.js +2 -2
- package/node_modules/@allyhub-next/build/dist/scan.d.ts +1 -1
- package/node_modules/@allyhub-next/build/dist/scan.js +1 -1
- package/node_modules/@allyhub-next/build/dist/types.js +3 -3
- package/node_modules/@allyhub-next/build/package.json +1 -1
- package/node_modules/@allyhub-next/check/dist/check.js +3 -3
- package/node_modules/@allyhub-next/check/dist/generated.d.ts +1 -1
- package/node_modules/@allyhub-next/check/package.json +1 -1
- package/node_modules/@allyhub-next/cloud/dist/index.js +1 -1
- package/node_modules/@allyhub-next/cloud/dist/signin.js +2 -2
- package/node_modules/@allyhub-next/cloud/dist/token.js +1 -1
- package/node_modules/@allyhub-next/cloud/package.json +1 -1
- package/node_modules/@allyhub-next/components/package.json +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/card.d.ts +2 -11
- package/node_modules/@allyhub-next/dev-server/dist/card.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/exports.d.ts +2 -2
- package/node_modules/@allyhub-next/dev-server/dist/exports.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/index.d.ts +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/index.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/live.d.ts +3 -0
- package/node_modules/@allyhub-next/dev-server/dist/live.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/project.d.ts +3 -0
- package/node_modules/@allyhub-next/dev-server/dist/project.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/reveal.d.ts +6 -0
- package/node_modules/@allyhub-next/dev-server/dist/reveal.js +2 -0
- package/node_modules/@allyhub-next/dev-server/dist/server.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/stage.d.ts +2 -0
- package/node_modules/@allyhub-next/dev-server/dist/stage.js +22 -2
- package/node_modules/@allyhub-next/dev-server/dist/tools.d.ts +2 -0
- package/node_modules/@allyhub-next/dev-server/dist/tools.js +1 -1
- package/node_modules/@allyhub-next/dev-server/package.json +1 -1
- package/node_modules/@allyhub-next/doc/dist/docx.d.ts +28 -0
- package/node_modules/@allyhub-next/doc/dist/docx.js +4 -0
- package/node_modules/@allyhub-next/doc/dist/html.d.ts +3 -0
- package/node_modules/@allyhub-next/doc/dist/html.js +1 -1
- package/node_modules/@allyhub-next/doc/package.json +5 -1
- package/node_modules/@allyhub-next/export/dist/deck-fonts.d.ts +24 -0
- package/node_modules/@allyhub-next/export/dist/deck-fonts.js +2 -0
- package/node_modules/@allyhub-next/export/dist/deck-pptx.d.ts +12 -0
- package/node_modules/@allyhub-next/export/dist/deck-pptx.js +2 -0
- package/node_modules/@allyhub-next/export/dist/export.d.ts +17 -5
- package/node_modules/@allyhub-next/export/dist/export.js +2 -2
- package/node_modules/@allyhub-next/export/dist/index.d.ts +1 -0
- package/node_modules/@allyhub-next/export/dist/index.js +1 -1
- package/node_modules/@allyhub-next/export/dist/names.d.ts +11 -6
- package/node_modules/@allyhub-next/export/dist/names.js +1 -1
- package/node_modules/@allyhub-next/export/package.json +1 -1
- package/node_modules/@allyhub-next/formats/dist/data/script.d.ts +22 -0
- package/node_modules/@allyhub-next/formats/dist/data/script.js +1 -1
- package/node_modules/@allyhub-next/formats/dist/data/slides.d.ts +1494 -0
- package/node_modules/@allyhub-next/formats/dist/data/slides.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/index.d.ts +2 -0
- package/node_modules/@allyhub-next/formats/dist/index.js +1 -1
- package/node_modules/@allyhub-next/formats/dist/items.d.ts +26 -0
- package/node_modules/@allyhub-next/formats/dist/items.js +1 -1
- package/node_modules/@allyhub-next/formats/dist/layout.d.ts +2 -0
- package/node_modules/@allyhub-next/formats/dist/layout.js +1 -1
- package/node_modules/@allyhub-next/formats/dist/note-shape.d.ts +39 -0
- package/node_modules/@allyhub-next/formats/dist/note-shape.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/schemas.d.ts +418 -0
- package/node_modules/@allyhub-next/formats/dist/schemas.js +1 -1
- package/node_modules/@allyhub-next/formats/package.json +1 -1
- package/node_modules/@allyhub-next/measure/dist/index.d.ts +1 -1
- package/node_modules/@allyhub-next/measure/dist/index.js +1 -1
- package/node_modules/@allyhub-next/measure/dist/overlay.d.ts +14 -1
- package/node_modules/@allyhub-next/measure/dist/overlay.js +1 -1
- package/node_modules/@allyhub-next/measure/package.json +1 -1
- package/node_modules/@allyhub-next/media/dist/asr/parakeet.d.ts +1 -4
- package/node_modules/@allyhub-next/media/dist/asr/parakeet.js +4 -4
- package/node_modules/@allyhub-next/media/dist/asr/transcribe.d.ts +1 -1
- package/node_modules/@allyhub-next/media/dist/asr/transcribe.js +1 -1
- package/node_modules/@allyhub-next/media/dist/grid.d.ts +3 -3
- package/node_modules/@allyhub-next/media/dist/grid.js +5 -5
- package/node_modules/@allyhub-next/media/dist/local.d.ts +3 -0
- package/node_modules/@allyhub-next/media/dist/local.js +1 -1
- package/node_modules/@allyhub-next/media/dist/ocr/tesseract.d.ts +8 -2
- package/node_modules/@allyhub-next/media/dist/ocr/tesseract.js +1 -1
- package/node_modules/@allyhub-next/media/dist/ocr/text.js +3 -3
- package/node_modules/@allyhub-next/media/dist/ocr/worker.js +1 -1
- package/node_modules/@allyhub-next/media/dist/sheet.js +3 -3
- package/node_modules/@allyhub-next/media/dist/tools.d.ts +11 -1
- package/node_modules/@allyhub-next/media/dist/tools.js +1 -1
- package/node_modules/@allyhub-next/media/dist/vision/faces.js +1 -1
- package/node_modules/@allyhub-next/media/dist/vision/matte.js +1 -1
- package/node_modules/@allyhub-next/media/dist/vision/runtime.d.ts +1 -1
- package/node_modules/@allyhub-next/media/dist/vision/runtime.js +2 -2
- package/node_modules/@allyhub-next/media/dist/worker-process.d.ts +1 -1
- package/node_modules/@allyhub-next/media/dist/worker-process.js +1 -1
- package/node_modules/@allyhub-next/media/package.json +1 -1
- package/node_modules/@allyhub-next/model/dist/build-job.d.ts +2 -0
- package/node_modules/@allyhub-next/model/dist/build-worker.js +1 -1
- package/node_modules/@allyhub-next/model/dist/build.d.ts +10 -0
- package/node_modules/@allyhub-next/model/dist/build.js +2 -1
- package/node_modules/@allyhub-next/model/dist/report.d.ts +1 -1
- package/node_modules/@allyhub-next/model/package.json +1 -1
- package/node_modules/@allyhub-next/project/dist/digest.d.ts +1 -3
- package/node_modules/@allyhub-next/project/dist/digest.js +1 -1
- package/node_modules/@allyhub-next/project/dist/page.d.ts +0 -5
- package/node_modules/@allyhub-next/project/dist/page.js +2 -2
- package/node_modules/@allyhub-next/project/dist/session.js +1 -1
- package/node_modules/@allyhub-next/project/package.json +1 -1
- package/node_modules/@allyhub-next/protocol/dist/app.d.ts +1 -62
- package/node_modules/@allyhub-next/protocol/dist/app.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +17 -17
- package/node_modules/@allyhub-next/protocol/dist/auth.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +1 -5
- package/node_modules/@allyhub-next/protocol/dist/cli.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +13 -26
- package/node_modules/@allyhub-next/protocol/dist/editor.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/index.d.ts +1 -0
- package/node_modules/@allyhub-next/protocol/dist/index.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/notes.d.ts +163 -0
- package/node_modules/@allyhub-next/protocol/dist/notes.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +4 -2
- package/node_modules/@allyhub-next/protocol/dist/registry.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/routes.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/runtimes.d.ts +3 -0
- package/node_modules/@allyhub-next/protocol/dist/runtimes.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +38 -0
- package/node_modules/@allyhub-next/protocol/dist/tools.js +1 -1
- package/node_modules/@allyhub-next/protocol/package.json +1 -1
- package/node_modules/@allyhub-next/registry/dist/registry.js +1 -1
- package/node_modules/@allyhub-next/registry/package.json +1 -1
- package/node_modules/@allyhub-next/render/dist/doc/index.d.ts +1 -1
- package/node_modules/@allyhub-next/render/dist/doc/index.js +1 -1
- package/node_modules/@allyhub-next/render/dist/doc/print.d.ts +11 -0
- package/node_modules/@allyhub-next/render/dist/doc/print.js +17 -1
- package/node_modules/@allyhub-next/render/dist/exports.d.ts +29 -4
- package/node_modules/@allyhub-next/render/dist/exports.js +2 -2
- package/node_modules/@allyhub-next/render/dist/page.d.ts +11 -1
- package/node_modules/@allyhub-next/render/dist/render.d.ts +2 -0
- package/node_modules/@allyhub-next/render/dist/render.js +2 -2
- package/node_modules/@allyhub-next/render/package.json +1 -1
- package/node_modules/@allyhub-next/runtime/LICENSE +241 -0
- package/node_modules/@allyhub-next/runtime/dist/bridge.d.ts +13 -3
- package/node_modules/@allyhub-next/runtime/dist/clock.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/env.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/facade.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/footage.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/frame.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/index.d.ts +2 -0
- package/node_modules/@allyhub-next/runtime/dist/index.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/locate.d.ts +11 -0
- package/node_modules/@allyhub-next/runtime/dist/locate.js +2 -0
- package/node_modules/@allyhub-next/runtime/dist/measure.d.ts +2 -1
- package/node_modules/@allyhub-next/runtime/dist/measure.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/music.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/output.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/piece.d.ts +5 -9
- package/node_modules/@allyhub-next/runtime/dist/piece.js +2 -2
- package/node_modules/@allyhub-next/runtime/dist/player/player.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/reads.d.ts +2 -0
- package/node_modules/@allyhub-next/runtime/dist/reads.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/sound.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/stage-kit.d.ts +12 -0
- package/node_modules/@allyhub-next/runtime/dist/stage-kit.js +2 -0
- package/node_modules/@allyhub-next/runtime/package.json +5 -6
- package/node_modules/@allyhub-next/runtimes/dist/errors.d.ts +5 -1
- package/node_modules/@allyhub-next/runtimes/dist/index.d.ts +1 -0
- package/node_modules/@allyhub-next/runtimes/dist/index.js +1 -1
- package/node_modules/@allyhub-next/runtimes/dist/node-program.d.ts +3 -0
- package/node_modules/@allyhub-next/runtimes/dist/node-program.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/packages.d.ts +65 -0
- package/node_modules/@allyhub-next/runtimes/dist/packages.js +4 -0
- package/node_modules/@allyhub-next/runtimes/dist/runtimes.js +2 -2
- package/node_modules/@allyhub-next/runtimes/dist/unpack.d.ts +7 -0
- package/node_modules/@allyhub-next/runtimes/dist/unpack.js +1 -1
- package/node_modules/@allyhub-next/runtimes/package.json +5 -1
- package/node_modules/@allyhub-next/runtimes/pins/docx/package-lock.json +67 -0
- package/node_modules/@allyhub-next/runtimes/pins/docx/package.json +9 -0
- package/node_modules/@allyhub-next/runtimes/pins/exceljs/package-lock.json +2533 -0
- package/node_modules/@allyhub-next/runtimes/pins/exceljs/package.json +8 -0
- package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package-lock.json +753 -0
- package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package.json +14 -0
- package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package-lock.json +950 -0
- package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package.json +8 -0
- package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package-lock.json +227 -0
- package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package.json +8 -0
- package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package-lock.json +105 -0
- package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package.json +8 -0
- package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package-lock.json +128 -0
- package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package.json +9 -0
- package/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +5 -24
- package/node_modules/@allyhub-next/scaffold/dist/index.js +5 -5
- package/node_modules/@allyhub-next/scaffold/package.json +1 -1
- package/node_modules/@allyhub-next/scenery/package.json +1 -1
- package/node_modules/@allyhub-next/scenery-host/dist/bundle.d.ts +3 -2
- package/node_modules/@allyhub-next/scenery-host/dist/bundle.js +3 -3
- package/node_modules/@allyhub-next/scenery-host/dist/model-stage.d.ts +32 -0
- package/node_modules/@allyhub-next/scenery-host/dist/model-stage.js +3 -0
- package/node_modules/@allyhub-next/scenery-host/dist/viewer.d.ts +11 -0
- package/node_modules/@allyhub-next/scenery-host/dist/viewer.js +1 -1
- package/node_modules/@allyhub-next/scenery-host/package.json +1 -1
- package/node_modules/@allyhub-next/sheet/package.json +1 -1
- package/node_modules/@allyhub-next/site/dist/media.js +2 -2
- package/node_modules/@allyhub-next/site/package.json +1 -1
- package/node_modules/@allyhub-next/slides-core/LICENSE +241 -0
- package/node_modules/@allyhub-next/slides-core/dist/animation.d.ts +129 -0
- package/node_modules/@allyhub-next/slides-core/dist/animation.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/api.d.ts +649 -0
- package/node_modules/@allyhub-next/slides-core/dist/api.js +4 -0
- package/node_modules/@allyhub-next/slides-core/dist/capabilities.d.ts +18 -0
- package/node_modules/@allyhub-next/slides-core/dist/capabilities.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart-api.d.ts +165 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart-api.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart-file.d.ts +11 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart-file.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart.d.ts +184 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/check.d.ts +7 -0
- package/node_modules/@allyhub-next/slides-core/dist/check.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/enums.d.ts +146 -0
- package/node_modules/@allyhub-next/slides-core/dist/enums.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/file.d.ts +109 -0
- package/node_modules/@allyhub-next/slides-core/dist/file.js +4 -0
- package/node_modules/@allyhub-next/slides-core/dist/index.d.ts +21 -0
- package/node_modules/@allyhub-next/slides-core/dist/index.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/measure.d.ts +34 -0
- package/node_modules/@allyhub-next/slides-core/dist/measure.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/model.d.ts +278 -0
- package/node_modules/@allyhub-next/slides-core/dist/model.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/office.d.ts +58 -0
- package/node_modules/@allyhub-next/slides-core/dist/office.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/path.d.ts +6 -0
- package/node_modules/@allyhub-next/slides-core/dist/path.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/placeholders.d.ts +7 -0
- package/node_modules/@allyhub-next/slides-core/dist/placeholders.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/resolve.d.ts +181 -0
- package/node_modules/@allyhub-next/slides-core/dist/resolve.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/script.d.ts +43 -0
- package/node_modules/@allyhub-next/slides-core/dist/script.js +3 -0
- package/node_modules/@allyhub-next/slides-core/dist/stage.d.ts +63 -0
- package/node_modules/@allyhub-next/slides-core/dist/stage.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/strict.d.ts +23 -0
- package/node_modules/@allyhub-next/slides-core/dist/strict.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/theme.d.ts +72 -0
- package/node_modules/@allyhub-next/slides-core/dist/theme.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/units.d.ts +35 -0
- package/node_modules/@allyhub-next/slides-core/dist/units.js +2 -0
- package/node_modules/@allyhub-next/slides-core/package.json +14 -0
- package/node_modules/@allyhub-next/slides-pptx/LICENSE +241 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/charts.d.ts +6 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/charts.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/fonts.d.ts +45 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/fonts.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/import.d.ts +18 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/import.js +3 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/index.d.ts +5 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/index.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/read.d.ts +55 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/read.js +4 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/shapes.d.ts +67 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/shapes.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/text.d.ts +21 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/text.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/theme.d.ts +4 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/theme.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/timing.d.ts +32 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/timing.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/write.d.ts +32 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/write.js +3 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/xml.d.ts +26 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/xml.js +3 -0
- package/node_modules/@allyhub-next/slides-pptx/package.json +14 -0
- package/node_modules/@allyhub-next/slides-runtime/LICENSE +241 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/draw.d.ts +40 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/draw.js +3 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/edit.d.ts +4 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/edit.js +2 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/index.d.ts +4 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/index.js +2 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/ink.d.ts +10 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/ink.js +2 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/load.d.ts +6 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/load.js +6 -0
- package/node_modules/@allyhub-next/slides-runtime/package.json +14 -0
- package/node_modules/@allyhub-next/stage/dist/graphics.js +1 -1
- package/node_modules/@allyhub-next/stage/dist/identity.js +1 -1
- package/node_modules/@allyhub-next/stage/dist/page.d.ts +9 -0
- package/node_modules/@allyhub-next/stage/dist/page.js +12 -2
- package/node_modules/@allyhub-next/stage/dist/server.js +1 -1
- package/node_modules/@allyhub-next/stage/package.json +1 -1
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400-italic.css +79 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400.css +79 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700-italic.css +79 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700.css +79 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/LICENSE +93 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/arial.css +316 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400-italic.css +69 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400.css +69 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700-italic.css +69 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700.css +69 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/LICENSE +93 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/calibri.css +276 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/400.css +1 -1
- package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/700.css +1 -1
- package/node_modules/@allyhub-next/stage-page/dist/fonts/noto-sans-sc/microsoft-yahei.css +2018 -0
- package/node_modules/@allyhub-next/stage-page/dist/host.js +21 -0
- package/node_modules/@allyhub-next/stage-page/dist/page.js +79 -0
- package/node_modules/@allyhub-next/stage-page/package.json +14 -0
- package/node_modules/@allyhub-next/video-core/dist/export.d.ts +6 -5
- package/node_modules/@allyhub-next/video-core/dist/export.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/fact.d.ts +173 -4
- package/node_modules/@allyhub-next/video-core/dist/fact.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/formats.d.ts +6 -13
- package/node_modules/@allyhub-next/video-core/dist/formats.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/index.d.ts +0 -1
- package/node_modules/@allyhub-next/video-core/dist/index.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/measure.d.ts +83 -0
- package/node_modules/@allyhub-next/video-core/dist/piece.d.ts +8 -9
- package/node_modules/@allyhub-next/video-core/dist/piece.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +9 -1
- package/node_modules/@allyhub-next/video-core/dist/problem.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/schema.d.ts +0 -2
- package/node_modules/@allyhub-next/video-core/dist/script-edit.d.ts +4 -0
- package/node_modules/@allyhub-next/video-core/dist/script.d.ts +8 -0
- package/node_modules/@allyhub-next/video-core/dist/script.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +34 -1
- package/node_modules/@allyhub-next/video-core/package.json +1 -1
- package/package.json +48 -41
- package/dist/commands/mcp-app.js +0 -3
- package/dist/commands/mcp-docs.js +0 -2
- package/dist/commands/mcp.js +0 -2
- package/editor-app/view.html +0 -128
- package/editor-web/assets/chevron-left-D1vfOP5S.js +0 -1
- package/editor-web/assets/chevron-up-BMNXDEBs.js +0 -1
- package/editor-web/assets/dist-B4VKfY-H.js +0 -136
- package/editor-web/assets/dist-BIEloJVS.js +0 -8
- package/editor-web/assets/dist-BcInw4os.js +0 -232
- package/editor-web/assets/dist-Coblfc3T.js +0 -1
- package/editor-web/assets/floating-ui.react-dom-DSyn5TRd.js +0 -1
- package/editor-web/assets/index-BSFR4plz.css +0 -2
- package/editor-web/assets/index-Dc8FX_sp.js +0 -56
- package/editor-web/assets/react-Bo429Bov.js +0 -61
- package/editor-web/assets/undo-2-CWgOKQ3L.js +0 -1
- package/node_modules/@allyhub-next/runtime/dist/host.js +0 -21
- package/node_modules/@allyhub-next/runtime/dist/page.js +0 -72
- package/node_modules/@allyhub-next/runtime/dist/paged.d.ts +0 -16
- package/node_modules/@allyhub-next/runtime/dist/paged.js +0 -2
- package/node_modules/@allyhub-next/video-core/dist/slides.d.ts +0 -37
- package/node_modules/@allyhub-next/video-core/dist/slides.js +0 -2
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/LICENSE +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/emoji.css +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/files/noto-color-emoji-emoji-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/LICENSE +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/host.d.ts +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{withHandles as H}from"@allyhub-next/video-core";import{captionTrack as M}from"./captions.js";import{timeFilm as R}from"./clock.js";import{compose as j,layerContexts as q}from"./compose.js";import{createEmbedder as z}from"./embed.js";import{createEnv as A}from"./env.js";import{facade as B}from"./facade.js";import{coverParts as G,createDrawer as I,newDrawState as J,withLayout as K}from"./frame.js";import{footagePlanner as N}from"./footage.js";import{measurer as O,textReader as Q}from"./measure.js";import{musicClock as U}from"./music.js";import{
|
|
2
|
+
import{withHandles as H}from"@allyhub-next/video-core";import{captionTrack as M}from"./captions.js";import{timeFilm as R}from"./clock.js";import{compose as j,layerContexts as q}from"./compose.js";import{createEmbedder as z}from"./embed.js";import{createEnv as A}from"./env.js";import{facade as B}from"./facade.js";import{coverParts as G,createDrawer as I,newDrawState as J,withLayout as K}from"./frame.js";import{footagePlanner as N}from"./footage.js";import{measurer as O,textReader as Q}from"./measure.js";import{musicClock as U}from"./music.js";import{buildParts as V,pieceContext as W,resolvePiece as X}from"./piece.js";import{Clips as Y}from"./player/clips.js";import{soundPlanner as Z}from"./sound.js";import{createStage as _}from"./stage.js";import{findTakes as $}from"./takes.js";import{timelineTransitions as tt,transitionStage as ot}from"./transitions.js";export async function load(k,u,v,y){const o=A(k,u,y),s=_(o,v),t=await X(o),l=s.dress(t),w=W(o,t),c=z(o,s,load),C=await V(o,t,w),n=await $(o,t,C,c),g=U(o,t),r=R(o,t,n,g),S=g.plan(r);r.checkLimit();const a=M(n,r,t.fps),m=J(),x=q(o,t,c,m,r),h=Q(o,t,s,e=>K(m,e)),p=N(o,t,a,s.cssColor),d=Z(o,t),{parts:P,mounted:i,clips:T}=j({env:o,piece:t,stage:s,takes:n,film:r,captions:a,footage:p,sound:d,contexts:x,texts:h}),f=tt(t,s,r.windows,n.specs,e=>i.find(F=>F.n===e)?.part,l),D=d.audio(S,i.map(e=>e.spec)),E=await G(t,w),L=new Y(u.purpose==="play"?H(T,P,f,t.fps):[],t.fps),b=I({env:o,piece:t,stage:s,mounted:i,transitions:f,transitionStage:ot(t,s),duration:r.duration,clips:L,contexts:x,covers:E,state:m});return B({env:o,piece:t,stage:s,mounted:i,parts:P,takes:n,captions:a,footage:p,cues:d.cues(),audio:D,transitions:f,duration:r.duration,words:e=>r.timing.words(e),timingProblems:r.timing.problems,background:l,embedder:c,drawer:b,measurer:O({piece:t,stage:s,drawer:b,mounted:i,duration:r.duration,captions:a,footage:p}),notes:new Map})}
|
|
@@ -1,22 +1,14 @@
|
|
|
1
|
-
import { type Format, type Look, type
|
|
1
|
+
import { type Format, type Look, type PartDefaults, type PartSpec, type PieceContext, type PieceDefinition, type SizeInfo, type VideoOptions } from "@allyhub-next/video-core";
|
|
2
2
|
import type { Env } from "./env.js";
|
|
3
3
|
export interface ResolvedPiece {
|
|
4
4
|
readonly def: PieceDefinition;
|
|
5
|
-
readonly kind: "video" | "paged";
|
|
6
|
-
readonly isPaged: boolean;
|
|
7
|
-
/** A video's options; a deck's are in `paged`. */
|
|
8
5
|
readonly options: VideoOptions;
|
|
9
|
-
readonly paged: PagedOptions;
|
|
10
6
|
readonly fps: number;
|
|
11
7
|
readonly format: Format;
|
|
12
8
|
/** Its pixels, orientation and safe zone: its format as the piece gives it. */
|
|
13
9
|
readonly dims: SizeInfo;
|
|
14
10
|
/** The prefix of its message keys: its id with `/` as `.`. */
|
|
15
11
|
readonly prefix: string;
|
|
16
|
-
/** The prefix of a deck's speaker notes. */
|
|
17
|
-
readonly notesPrefix: string;
|
|
18
|
-
/** What its parts are called in messages: "part" or "page". */
|
|
19
|
-
readonly unit: "part" | "page";
|
|
20
12
|
readonly look: Look;
|
|
21
13
|
/** Part defaults: the output's over the project's over PART_DEFAULTS. */
|
|
22
14
|
readonly defaults: Required<PartDefaults>;
|
|
@@ -28,7 +20,11 @@ export interface ResolvedPiece {
|
|
|
28
20
|
readonly seekLimitMs: number;
|
|
29
21
|
/** The longest loading may take, ms (AK-P002). */
|
|
30
22
|
readonly loadLimitMs: number;
|
|
23
|
+
/** A deck's video items by folder, which its bundle imports for slides.yaml (`DECK_VIDEOS`). */
|
|
24
|
+
readonly videos: Readonly<Record<string, PieceDefinition>>;
|
|
31
25
|
}
|
|
26
|
+
/** The export of a deck's module that holds the video items its slides.yaml shows, by folder. */
|
|
27
|
+
export declare const DECK_VIDEOS = "__allyhubVideos";
|
|
32
28
|
/** Imports the piece and resolves its output; its parts are built by buildParts. */
|
|
33
29
|
export declare function resolvePiece(env: Env): Promise<ResolvedPiece>;
|
|
34
30
|
/** What every output's build function receives. */
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{CLEAN_LOOK as
|
|
3
|
-
${
|
|
2
|
+
import{CLEAN_LOOK as b,FPS as _,formatEntry as g,formatInfo as L,isVideoFormat as x,isLayerSpec as S,isPartSpec as E,isPieceDefinition as h,isSpeechSpec as I,LOAD_LIMIT as P,messagePrefix as A,outputOf as w,partDefaults as D,parseFps as O,presetInfo as v,problem as K,SEEK_LIMIT as T}from"@allyhub-next/video-core";import{consoleAtAsync as y}from"./console.js";import{LoadFailure as l}from"./errors.js";export const DECK_VIDEOS="__allyhubVideos";function j(d){return Promise.all(d.map(o=>new Promise(r=>{const n=document.createElement("link");n.rel="stylesheet",n.href=o,n.onload=()=>{r()},n.onerror=()=>{r()},document.head.append(n)})))}async function F(d){const{source:o,embed:r,ledger:n}=d;let f=r?.def;const c={};if(!r){let e;try{await j(o.styles??[]),e=await n.timed("importing the piece's module",()=>y({phase:"module"},()=>import(o.module)))}catch(i){const s=i instanceof Error?i:new Error(String(i));throw new l("load_failed",`Failed to load the piece module: ${s.message}
|
|
3
|
+
${s.stack??""}`)}f=e.default;const t=e[DECK_VIDEOS];if(typeof t=="object"&&t!==null)for(const[i,s]of Object.entries(t))h(s)&&(c[i]=s)}if(!h(f))throw new l("no_content",`The default export of ${o.file} is not a video({ … }).`);return{def:f,videos:c}}export async function resolvePiece(d){const{source:o,log:r}=d,{def:n,videos:f}=await F(d),c=w(n),e=n.written?.file,t=e!==void 0&&e!==""?e:o.file;t!==o.file&&r.relativeTo(t);const i=c.kind;if(i!=="video")throw new l("bad_output",`${o.piece} is ${i}; load() loads a video (a deck is the deck's runtime's).`);const s=c.options,u=O(s.fps)??_;if(!x(o.format))throw new l("bad_format",`${o.piece} is not rendered in ${o.format}: it is not a format.`);const a=o.format,p=g(n.format===void 0?[]:[n.format],a)??a,m=L(p)??v("16x9"),k=A(o.piece),$=s.look??"clean";return{def:n,options:s,fps:u,format:a,dims:m,prefix:k,look:o.looks?.[$]??b,defaults:D(o.partDefaults,s.defaults?.part),writtenIn:t,musicBase:n.written?.paths?.music?.[1]??t.split("/").slice(0,-1).join("/"),seekLimitMs:(s.seekLimit??T)*1e3,loadLimitMs:(s.loadLimit??P)*1e3,videos:f}}export function pieceContext(d,o){const{log:r,combo:n,space:f}=d,c=Object.assign((e,t)=>r.s(e,t),{list:(e,t)=>r.list(e,t),with:(e,t,i)=>r.with(e,t,i)});return{combo:n,pool:e=>{const t=f?.slots[e]?.find(i=>i.name===n[e]);if(t?.file===void 0)throw new l("bad_pool",`ctx.pool("${e}"): ${e} is not a pool slot of this piece${f?` (pool slots: ${Object.entries(f.slots).filter(([,i])=>i.some(s=>s.file!==void 0)).map(([i])=>i).join(", ")||"none"})`:""}. Declare it as matrix.slots.${e} = { pool: "./folder" }.`);return`/${t.file}`},s:c,asset:e=>r.asset(e),data:e=>r.readData(e),look:o.look}}export async function buildParts(d,o,r){const{source:n,ledger:f}=d,c="part",e=w(o.def),t=await y({phase:"build"},()=>Promise.resolve(e.build(r)));if(!Array.isArray(t)||t.length===0)throw new l("no_parts",`The function of output ${d.output} returned no ${c}s (AK-K003).`);const i=[],s=new Set;for(const[u,a]of t.entries()){if(!E(a))throw new l("bad_part",`Item ${String(u+1)} is not a ${c} made by part({ key, layers }).`);const p=a.layers.findIndex(m=>!S(m));if(p>=0)throw new l("bad_part",`Layer ${String(p+1)} of ${c} ${a.key} is not a layer made by footage(), a component or custom().`);if(a.speech!==void 0&&!I(a.speech))throw new l("bad_part",`The speech of ${c} ${a.key} is not made by take() or say().`);if(s.has(a.key)){f.problems.push(K("AK-K001",`The ${c} key "${a.key}" is used twice. Every ${c} in an output needs its own key.`,{part:a.key,where:{file:n.file}}));continue}s.add(a.key),i.push(a)}return i}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{decodeKey as
|
|
2
|
+
import{decodeKey as J,decodings as Ne,MASTER_DEFAULTS as Re,previewMaster as Oe,renderMix as Be}from"@allyhub-next/audio";import{subtitleCues as De}from"@allyhub-next/video-core";import{realNow as F,realRaf as $e}from"../guards.js";import{mixPlan as Ue}from"../mix-plan.js";const le=r=>`${String(Math.floor(r/60))}:${String(Math.floor(r%60)).padStart(2,"0")}`;export async function startPlayer(r){const{output:k,stage:d}=r,s=k.timeline,y=s.fps,B=s.duration,$=B-1/y,a=new AudioContext,Q=r.media??{},Me=r.seed??"",V=Ue(s,Q,{seed:Me}),Y=async e=>{if(e)try{const t=await fetch(e);return t.ok?await a.decodeAudioData(await t.arrayBuffer()):void 0}catch{return}},Ce=(e,t)=>{const n=Q[e]?.denoisedUrl,i=[...t.denoise?[`db=${t.denoise.toFixed(2)}`]:[],...t.speed===void 0?[]:[`speed=${t.speed.toFixed(6)}`],...t.filter===void 0?[]:[`filter=${encodeURIComponent(t.filter)}`]];return n===void 0||i.length===0?void 0:`${n}?${i.join("&")}`},ee=new Map,D=new Map,te=[],ce=Ne(V);for(const{file:e,how:t}of ce){const n=Ce(e,t);if(n){const i=await Y(`${n}&wait=0`);i?D.set(J(e,t),i):te.push({key:J(e,t),url:n})}}for(const{file:e,how:t}of ce)ee.has(e)||D.has(J(e,t))||ee.set(e,await Y(Q[e]?.url));const de=e=>{const t=e.getChannelData(0);return[t,e.numberOfChannels>1?e.getChannelData(1):t]},Se=(e,t)=>{const n=D.get(J(e,t));if(n)return{src:de(n),made:t};const i=ee.get(e);return i?{src:de(i),made:{}}:void 0},Ae=s.audio.master??{...Re};let M;const ue=()=>{const e=Oe(Be(V,Se,a.sampleRate),a.sampleRate,Ae);if(!e){M=void 0;return}const[t,n]=e,i=a.createBuffer(2,Math.max(1,t.length),a.sampleRate);i.getChannelData(0).set(t),i.getChannelData(1).set(n),M=i};ue();const C=De({lines:k.lines(),fps:s.fps},k.captionOptions()??void 0);let l=!1,x=Math.min(Math.max(r.start??s.parts[0]?.still??0,0),$),b=0,U=0,I=0,L=0,K=[],ne=[],S=!1,H={ctx:0,real:0};const u=()=>l?S?b+(a.currentTime-U):b+(F()-I)/1e3:x,Ee=()=>{if(!S)return;const e=F();if(a.currentTime!==H.ctx)H={ctx:a.currentTime,real:e};else if(e-H.real>300){const t=u();S=!1,b=t,I=e}},pe=r.chrome!==!1,N="#141210",A="#ece6da",Te="#a39a8b",fe='ui-monospace,"SF Mono",Menlo,monospace';document.documentElement.style.background=N,document.body.style.cssText=`margin:0;background:${N};overflow:hidden;font:13px/1 system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;color:${A}`;const f=document.createElement("div");f.style.cssText=`position:fixed;left:0;right:0;top:0;bottom:${pe?"48px":"0"};overflow:hidden;cursor:pointer`,d.parentElement?.insertBefore(f,d),f.append(d),d.style.position="absolute",d.style.transformOrigin="0 0";const R=document.createElement("div");R.style.cssText=`position:fixed;left:0;right:0;bottom:0;height:48px;display:flex;align-items:center;gap:12px;padding:0 10px;background:${N};border-top:1px solid #2a2622`;const E=document.createElement("button");E.style.cssText=`width:32px;height:32px;border:0;border-radius:4px;background:${A};color:${N};cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none`,E.setAttribute("aria-label","play");const c=document.createElement("input");c.type="range",c.min="0",c.max=String(Math.round(B*y)),c.step="1",c.style.cssText=`flex:1;min-width:0;accent-color:${A};cursor:pointer`;const se=document.createElement("span");se.style.cssText=`font:12px/1 ${fe};font-variant-numeric:tabular-nums;min-width:86px;text-align:right;color:${Te}`;const ge=`height:28px;padding:0 9px;border:1px solid #3a352e;border-radius:4px;background:transparent;color:${A};font:12px/1 ${fe};cursor:pointer;flex:none`,v=document.createElement("button");v.textContent="CC",v.style.cssText=ge,v.setAttribute("aria-label","captions"),v.setAttribute("aria-pressed","false");const g=document.createElement("button");g.textContent="Pages",g.style.cssText=ge,g.setAttribute("aria-label","page by page"),g.setAttribute("aria-pressed","false"),R.setAttribute("role","toolbar"),c.setAttribute("aria-label","seek"),R.append(E,c,se,g),C.length&&R.append(v),pe&&document.body.append(R);const Pe=()=>{const e=Math.min(f.clientWidth/s.width,f.clientHeight/s.height);d.style.transform=`scale(${String(e)})`,d.style.left=`${String((f.clientWidth-s.width*e)/2)}px`,d.style.top=`${String((f.clientHeight-s.height*e)/2)}px`},W=s.width,j=s.height,q=Math.min(W,j)/1080,T=document.createElement("div");T.style.cssText=`position:absolute;left:0;top:0;width:${String(W)}px;height:${String(j)}px;transform-origin:0 0;pointer-events:none`;const m=document.createElement("div");m.setAttribute("role","status"),m.setAttribute("aria-live","polite"),m.style.cssText=`position:absolute;left:50%;transform:translateX(-50%);bottom:${String((j>W?.2:.08)*j)}px;max-width:${String(W*.84)}px;padding:${String(10*q)}px ${String(22*q)}px;border-radius:${String(12*q)}px;background:rgba(0,0,0,.66);color:#fff;font:600 ${String(44*q)}px/1.3 system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;text-align:center;display:none`,T.append(m),f.append(T);let w=!1;const me=e=>{const t=w?C.find(n=>e>=n.start&&e<n.end):void 0;t?(m.textContent!==t.text&&(m.textContent=t.text),m.style.display="block"):m.style.display="none"},he=()=>{Pe(),T.style.transform=d.style.transform,T.style.left=d.style.left,T.style.top=d.style.top};new ResizeObserver(he).observe(f),he();let p=k.kind==="slides"?"page":"play",o=0,h;const z=e=>Math.max(0,s.parts.findIndex(t=>e>=t.start&&e<t.end));p==="page"&&(o=z(x),g.setAttribute("aria-pressed","true"),g.textContent="Play all");let ie=-1,ye=0,xe=0;const Fe=e=>s.parts.find(t=>e>=t.start&&e<t.end)?.key,G=async(e,t=!1)=>{const n=Math.min(Math.floor(e*y+1e-9),Math.round($*y));(n!==ie||t)&&(ie=n,await k.seek(n/y),c.value=String(n),c.setAttribute("aria-valuetext",le(e)),se.textContent=`${le(e)} / ${le(B)}`),me(e);const i=F();(t||i-xe>250)&&(xe=i,r.post?.({type:"time",t:e,part:Fe(e),playing:l,mode:p}))},be={play:'<svg width="12" height="14" viewBox="0 0 12 14" aria-hidden="true"><path d="M1 1.2v11.6a.6.6 0 0 0 .9.5l9.6-5.8a.6.6 0 0 0 0-1L1.9.7a.6.6 0 0 0-.9.5Z" fill="currentColor"/></svg>',pause:'<svg width="12" height="14" viewBox="0 0 12 14" aria-hidden="true"><rect x="1" y="1" width="3.5" height="12" rx=".6" fill="currentColor"/><rect x="7.5" y="1" width="3.5" height="12" rx=".6" fill="currentColor"/></svg>'},ae=()=>{E.innerHTML=l?be.pause:be.play,E.setAttribute("aria-label",l?"pause":"play")},ve=()=>{for(const e of K)try{e.stop()}catch{}K=[];for(const e of ne)e.disconnect();ne=[]},Le=e=>U+Math.max(0,e-b);function we(){if(!M||b>=M.duration)return;const e=a.createGain();e.connect(a.destination),ne.push(e);const t=a.createBufferSource();t.buffer=M,t.connect(e),K.push(t),t.start(Le(b),b)}function P(e=u()){L++,l=!1,k.setPlaying(!1),x=Math.min(Math.max(e,0),$),ve(),ae(),G(x,!0)}async function oe(){const e=++L;if(x>=$&&(x=0),await a.resume().catch(()=>{}),e!==L)return;b=x,U=a.currentTime+.05,I=F()+50,S=M!==void 0&&a.state==="running",!S&&C.length&&!Z&&_(!0),H={ctx:a.currentTime,real:F()},l=!0,k.setPlaying(!0),ae(),we();const t=()=>{if(ye++,!l||e!==L)return;Ee();const n=u();if(n>=$){P($);return}if(h!==void 0&&n>=h){const i=s.parts[o]?.still??h;h=void 0,P(i);return}G(n),$e(t)};$e(t)}function X(e){const t=l;h=void 0,P(e),t&&oe()}let Z=!1;function _(e){w=e&&C.length>0,v.setAttribute("aria-pressed",String(w)),v.style.background=w?A:"transparent",v.style.color=w?N:A,me(u())}function ke(e){p=e,g.setAttribute("aria-pressed",String(e==="page")),g.textContent=e==="page"?"Play all":"Pages",h=void 0,e==="page"?O(z(u())):G(u(),!0)}function O(e){o=Math.min(Math.max(e,0),s.parts.length-1),h=void 0,P(s.parts[o]?.still??0)}function re(){if(l){h=void 0,P();return}if(p==="page"){const e=s.parts[o];e&&(x=e.start,h=e.end-1/y)}oe()}return E.addEventListener("click",e=>{e.stopPropagation(),re()}),f.addEventListener("click",re),c.addEventListener("input",()=>{X(Number(c.value)/y),p==="page"&&(o=z(Number(c.value)/y))}),v.addEventListener("click",e=>{e.stopPropagation(),Z=!0,_(!w)}),g.addEventListener("click",e=>{e.stopPropagation(),ke(p==="page"?"play":"page")}),addEventListener("keydown",e=>{if(!(e.metaKey||e.ctrlKey||e.altKey)){if(e.key===" "||e.key==="k")re();else if(e.key==="ArrowRight")p==="page"?O(o+1):X(u()+5);else if(e.key==="ArrowLeft")p==="page"?O(o-1):X(u()-5);else if(e.key==="c"&&C.length)Z=!0,_(!w);else if(e.key==="f")document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>{});else return;e.preventDefault()}}),ae(),await G(x,!0),r.post?.({type:"ready",duration:B,parts:s.parts}),te.length>0&&(r.post?.({type:"sound",denoising:!0}),Promise.all(te.map(async({key:e,url:t})=>{const n=await Y(t);if(!n||(D.set(e,n),ue(),!l))return;const i=u();ve(),b=i,U=a.currentTime,I=F(),we()})).then(()=>{r.post?.({type:"sound",denoising:!1})})),{command(e){if(e.type==="play"){if(!l){if(p==="page"){const t=s.parts[o];t&&(h=t.end-1/y)}oe()}}else e.type==="pause"?P():e.type==="seek"&&Number.isFinite(e.t)?(X(e.t),p==="page"&&(o=z(e.t))):e.type==="mode"?ke(e.mode):e.type==="next"?O(o+1):e.type==="prev"?O(o-1):e.type==="captions"&&(Z=!0,_(e.on))},now:u,state:()=>({playing:l,audioClock:S,audio:a.state,t:u(),frame:ie,ticks:ye,generation:L,sounds:K.length,sfx:V.sfx.length,mode:p,page:o,captions:w,caption:m.style.display==="none"?"":m.textContent,cues:C.length})}}
|
|
@@ -63,6 +63,8 @@ export declare class ReadLog {
|
|
|
63
63
|
} | undefined;
|
|
64
64
|
/** s.list(prefix): numbered keys under the prefix, in order. */
|
|
65
65
|
list(prefix: string, hint?: MessageHint): MessageTree[];
|
|
66
|
+
/** The keys under a prefix (`<prefix>.…`), in either language, without recording a read. */
|
|
67
|
+
keysUnder(prefix: string): string[];
|
|
66
68
|
/** The raw value of a key without recording a read. */
|
|
67
69
|
peek(key: string): MessageValue | undefined;
|
|
68
70
|
/** Marks a key as read (e.g. a page's "<prefix>.<page>.notes"). */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{pathIn as g,asUrlString as
|
|
2
|
+
import{pathIn as g,asUrlString as l,displayOf as c,fillMessage as d,lineAnchors as m,messageList as A,problem as h,repoPath as u,speakOf as w,textsOf as p,hasMarks as k,withoutMarks as O}from"@allyhub-next/video-core";import{TEXT_DIR as v}from"@allyhub-next/formats";const $="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=",b=3;export class ReadLog{messages=new Map;media=new Map;data=new Map;keyByText=new Map;missingReads=new Set;missingMedia=new Set;problems=[];texts=new Set;tap;opts;fileOf;constructor(t){this.opts=t,this.fileOf=e=>`${t.text??v}/${e??"en"}.json`}value(t){const{own:e,fallback:i,lang:s,defaultLang:n}=this.opts;return Object.hasOwn(e,t)?{value:e[t],fellBack:!1}:Object.hasOwn(i,t)?{value:i[t],fellBack:s!==n}:{value:void 0,fellBack:!1}}record(t,e,i){if(this.messages.has(t))return;const{value:s,fellBack:n}=this.value(t);this.messages.set(t,{key:t,kind:e,fallback:n,...i?{hint:i}:{}}),e!=="list"&&s===void 0&&this.problems.push(h("AK-S001",`The code reads ${t}, but the default language ${this.opts.defaultLang??"(no messages)"} does not have it. Add it to ${this.fileOf(this.opts.defaultLang)}.`,{where:{file:this.fileOf(this.opts.defaultLang)}}))}locale(t){return Object.hasOwn(this.opts.own,t)?this.opts.lang:this.opts.defaultLang}text(t,e,i){this.record(t,"text",e);const{value:s}=this.value(t);this.tap?.(`m:${t}`,JSON.stringify(s??null));for(const n of p(s))this.texts.add(n);return c(s,i,this.locale(t))??""}s(t,e){const i=this.text(t,e,{});return i&&this.keyByText.set(i,{key:t,inputs:{}}),i}with(t,e,i){const s=d(this.text(t,i,e),e);return this.texts.add(s),s&&this.keyByText.set(s,{key:t,inputs:e}),s}spokenOf(t){const e=this.keyByText.get(t);if(!e)return;const i=w(this.value(e.key).value,e.inputs,this.locale(e.key)),s=(Object.hasOwn(this.opts.own,e.key)?this.opts.anchors?.own:this.opts.anchors?.fallback)?.[e.key];return{key:e.key,speak:i===void 0?t:d(i,e.inputs),...s&&i!==void 0?{anchors:m(i,s,n=>d(n,e.inputs))}:{}}}list(t,e){const i=[],s=new Set([...Object.keys(this.opts.own),...Object.keys(this.opts.fallback)]),n=A(a=>c(this.value(a).value,{},this.locale(a)),s,t,i);this.record(t,"list",e),i.length===0&&this.problems.push(h("AK-S001",`The code reads the list ${t}, but the default language has no keys like ${t}.0, ${t}.1. Add them to ${this.fileOf(this.opts.defaultLang)}.`,{where:{file:this.fileOf(this.opts.defaultLang)}}));for(const a of i)this.text(a,void 0,{});return n}keysUnder(t){const e=`${t}.`;return[...new Set([...Object.keys(this.opts.own),...Object.keys(this.opts.fallback)])].filter(i=>i.startsWith(e))}peek(t){return this.value(t).value}touch(t){const{value:e,fellBack:i}=this.value(t);return this.tap?.(`m:${t}`,JSON.stringify(e??null)),e!==void 0&&!this.messages.has(t)&&this.messages.set(t,{key:t,kind:"text",fallback:i}),e}mediaAt(t){const e=this.opts.media[t];return e&&this.media.set(t,l(e)),this.tap?.(`f:${t}`,e?.sha256??""),e}missing(t){this.missingReads.add(t)}report(t){this.problems.some(e=>e.code===t.code&&e.message===t.message)||this.problems.push(t)}relativeTo(t){this.base=t}base;get pathBase(){return this.base??this.opts.file}baseOf(t){return t===void 0?this.pathBase:t===""?"the project's root":t}resolve(t,e){return e===void 0?u(this.pathBase,t):g(e,t)}asset(t,e){const i=this.baseOf(e),s=this.resolve(t,e),n=s===void 0?void 0:this.mediaAt(s);if(n)return n;const a=s??t;return this.missingMedia.has(a)||(this.missingMedia.add(a),this.problems.push(h("AK-A001",s===void 0?`"${t}" points outside the project. Put media in the project, with a path relative to ${i}.`:`"${t}" (named in ${i}) cannot find ${s}: the path is wrong, or the file is not in the project yet.`,{where:{file:i}}))),l({path:s??t,sha256:"",kind:"image",url:$,width:1,height:1})}optionalAsset(t){const e=u(this.pathBase,t);if(e===void 0)return;const i=this.mediaAt(e);return i||this.missing(e),i?l(i):void 0}optionalData(t,e){const i=this.resolve(t,e);if(i===void 0)return{found:!1};const s=this.opts.data?.[i];return this.data.set(i,s?.sha256??""),s?s.error===void 0?{full:i,found:!0,value:s.value}:{full:i,found:!0,error:s.error}:{full:i,found:!1}}readData(t){const e=u(this.pathBase,t),i=e===void 0?void 0:this.opts.data?.[e];if(e!==void 0&&i){if(this.data.set(e,i.sha256),this.tap?.(`d:${e}`,i.sha256),i.error===void 0)return i.value;this.missingMedia.has(e)||(this.missingMedia.add(e),this.problems.push(h("AK-R001",`Cannot read the data file ${e}: ${i.error}`,{where:{file:e}})));return}this.missingMedia.has(t)||(this.missingMedia.add(t),this.problems.push(h("AK-A001",e===void 0?`ctx.data("${t}") points outside the project. Put data files in the project, with a path relative to ${this.pathBase}.`:`ctx.data("${t}") cannot find ${e}: the path is wrong, or the file is not CSV, YAML or JSON.`,{where:{file:this.pathBase}})))}reads(t,e){const i=s=>{if(!s.startsWith(`${t}.`))return;const n=s.slice(t.length+1).split(".")[0]??"";return e.includes(n)?n:void 0};return{messages:[...this.messages.values()].map(s=>{const n=i(s.key);return n===void 0?s:{...s,part:n}}).sort((s,n)=>s.key<n.key?-1:s.key>n.key?1:0),media:[...[...this.media.values()].map(s=>({path:s.path,sha256:s.sha256,kind:s.kind})),...[...this.missingReads].filter(s=>!this.media.has(s)).map(s=>({path:s,sha256:"",kind:"audio"}))].sort((s,n)=>s.path<n.path?-1:1),data:[...this.data.entries()].map(([s,n])=>({path:s,sha256:n})).sort((s,n)=>s.path<n.path?-1:1)}}translationProblems(){const t=[];for(const e of this.messages.values())e.fallback&&e.kind==="text"&&t.push(h("AK-S002",`${this.opts.lang??""} is missing a translation: ${e.key}. The ${this.opts.defaultLang??""} text was used.`,{where:{file:this.fileOf(this.opts.lang)}}));return t}keysShowing(t){const e=r=>r.replace(/[\s\p{Cf}]+/gu,""),i=e(t);if(i==="")return[];const s=[],n=[];for(const r of this.messages.values()){const f=p(this.peek(r.key)).flatMap(o=>k(o)?[o,O(o)]:[o]).map(e);f.includes(i)?s.push(r.key):f.some(o=>o.includes(i))&&n.push(r.key)}return s.length>0?s:(i.match(/[\p{L}\p{N}]/gu)?.length??0)>=b?n:[]}get file(){return this.fileOf(this.opts.lang)}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{resolveMaster as j,resolveMix as I}from"@allyhub-next/audio";import{BUILTIN_SFX as
|
|
2
|
+
import{resolveMaster as j,resolveMix as I}from"@allyhub-next/audio";import{BUILTIN_SFX as P,isBuiltinSfx as y,problem as x,toFrame as M}from"@allyhub-next/video-core";import{voicePlan as B}from"./mix-plan.js";const b=u=>Math.round(u*1e6)/1e6;export function soundPlanner(u,O){const{source:p,log:w,ledger:m}=u,{look:k,fps:$,options:r,dims:S}=O,c=[],l=[],h=[],T=(t,o,d)=>{const i=t.sound;let n,s;if(typeof i=="string"){s=i;const f=k.sfx[i];if(f!==void 0){const e=f.replace(/^\.\//,"");if(n=w.mediaAt(e),!n){w.missing(e),m.problems.push(x("AK-A001",`The look's sound "${i}" is ${e}, which is not in the project. Put the file there, or change look.sfx in allyhub.config.ts.`,{part:o,where:{file:p.file}}));return}}else{if(y(i))return{sound:i};if(/[./]/.test(i))n=u.mediaOf(i,d);else{const e=[...P,...Object.keys(k.sfx)];m.problems.push(x("AK-A001",`The sound "${i}" in part ${o} is not one of the look's sounds (${[...new Set(e)].join(", ")}) and not a file. Name one of them, give a file ("./sfx/${i}.wav" or an import), or add it to look.sfx in allyhub.config.ts.`,{part:o,where:{file:p.file}}));return}}}else n=u.mediaOf(i,d),s=n.path.split("/").pop()??n.path;if(n.sha256!==""){if(n.kind!=="audio"&&!(n.kind==="video"&&n.audio)){m.problems.push(x("AK-A003",`The sound ${n.path} in part ${o} is not audio. Give an audio file (wav, mp3, m4a…) or a video with sound.`,{part:o,where:{file:p.file}}));return}return{sound:s,file:n.path}}};return{addSpeech(t,o){l.push(...t),h.push(...o)},sfx(t,o,d){const i=o.end-o.start;for(const n of t.sounds??[]){const s=T(n,t.key,t.base);if(!s)continue;const f=Math.min(Math.max(d(n.at),0),i);c.push({t:M(o.start+f,$),sound:s.sound,part:o.key,...n.what===void 0?{}:{what:n.what},...s.file===void 0?{}:{file:s.file},...n.gainDb===void 0||n.gainDb===0?{}:{gainDb:n.gainDb},...n.shape?{shape:n.shape}:{}})}},carry(t,o,d,i,n,s){const f=e=>{const a=Math.max(e.at,o),g=Math.min(e.at+e.dur,d);if(g-a<.005)return;const{fadeIn:v,fadeOut:A,...D}=e;return delete D.tone,{...D,part:n,at:b(i+a-o),from:b(e.from+(a-e.at)*(e.speed??1)),dur:b(g-a),...e.gainDb!==void 0||s!==0?{gainDb:(e.gainDb??0)+s}:{},...v!==void 0&&a===e.at?{fadeIn:v}:{},...A!==void 0&&g===e.at+e.dur?{fadeOut:A}:{}}};for(const e of t.timeline.audio.speech??[]){const a=f(e);a&&l.push(a)}for(const e of t.timeline.audio.room??[]){const a=f(e);a&&h.push(a)}for(const e of t.timeline.cues)e.t<o-1e-6||e.t>=d-1e-6||c.push({...e,t:M(i+e.t-o,$),part:n,...e.gainDb!==void 0||s!==0?{gainDb:(e.gainDb??0)+s}:{}})},cues:()=>[...c].sort((t,o)=>t.t-o.t),audio(t,o){const d=S.profile;return{...l.length>0?{speech:l}:{},...h.length>0?{room:h}:{},...t?{music:t}:{},...r.mix?{mix:I(r.mix)}:{},master:j(r.master,d?.loudness),...B(r.mic,o)}}}}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { createEnv, Ledger, type Env } from "./env.js";
|
|
2
|
+
export { LoadFailure, codeOf, messageOf } from "./errors.js";
|
|
3
|
+
export { consoleAt, consoleAtAsync } from "./console.js";
|
|
4
|
+
export { loadFaces, loadTextFonts, codePoints, namedFamilies, } from "./fonts.js";
|
|
5
|
+
export { pictureWaiter, watchPictures } from "./pictures.js";
|
|
6
|
+
export { watchStyles } from "./styles.js";
|
|
7
|
+
export { textBlocks, type TextBlock } from "./inspect.js";
|
|
8
|
+
export { inkOfBlock } from "./contrast.js";
|
|
9
|
+
export { domHash } from "./measure.js";
|
|
10
|
+
export { realTimers } from "./guards.js";
|
|
11
|
+
export type { ReadLog } from "./reads.js";
|
|
12
|
+
//# sourceMappingURL=stage-kit.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
export{createEnv,Ledger}from"./env.js";export{LoadFailure,codeOf,messageOf}from"./errors.js";export{consoleAt,consoleAtAsync}from"./console.js";export{loadFaces,loadTextFonts,codePoints,namedFamilies}from"./fonts.js";export{pictureWaiter,watchPictures}from"./pictures.js";export{watchStyles}from"./styles.js";export{textBlocks}from"./inspect.js";export{inkOfBlock}from"./contrast.js";export{domHash}from"./measure.js";export{realTimers}from"./guards.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allyhub-next/runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -11,11 +11,10 @@
|
|
|
11
11
|
"types": "./dist/bridge.d.ts",
|
|
12
12
|
"default": "./dist/bridge.js"
|
|
13
13
|
},
|
|
14
|
-
"./
|
|
15
|
-
"types": "./dist/
|
|
16
|
-
"default": "./dist/
|
|
17
|
-
}
|
|
18
|
-
"./page.js": "./dist/page.js"
|
|
14
|
+
"./stage": {
|
|
15
|
+
"types": "./dist/stage-kit.d.ts",
|
|
16
|
+
"default": "./dist/stage-kit.js"
|
|
17
|
+
}
|
|
19
18
|
},
|
|
20
19
|
"private": true,
|
|
21
20
|
"license": "SEE LICENSE IN LICENSE.md"
|
|
@@ -8,7 +8,11 @@ export type RuntimeErrorCode =
|
|
|
8
8
|
/** A file came in another size or with another sha256 than its pin. */
|
|
9
9
|
| "checksum"
|
|
10
10
|
/** An archive could not be unpacked, or held a path outside its folder. */
|
|
11
|
-
| "unpack"
|
|
11
|
+
| "unpack"
|
|
12
|
+
/** The pins have no package by that name. */
|
|
13
|
+
| "unknown-package"
|
|
14
|
+
/** A package could not be installed from its lock. */
|
|
15
|
+
| "install" | "cancelled";
|
|
12
16
|
export declare class RuntimeError extends Error {
|
|
13
17
|
readonly code: RuntimeErrorCode;
|
|
14
18
|
constructor(code: RuntimeErrorCode, message: string, options?: ErrorOptions);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { binVariable, createRuntimes, type EnsureOptions, type Located, type Progress, type Runtimes, type RuntimesOptions, type Status, } from "./runtimes.js";
|
|
2
|
+
export { createPackages, npmCi, type EnsurePackageOptions, type LoadOptions, type Install, type LocatedPackage, type Packages, type PackagesOptions, } from "./packages.js";
|
|
2
3
|
export { bundledEnv, type BundledOptions } from "./bundled.js";
|
|
3
4
|
export { RuntimeError, type RuntimeErrorCode } from "./errors.js";
|
|
4
5
|
export { cacheHome } from "./home.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
export{binVariable,createRuntimes}from"./runtimes.js";export{bundledEnv}from"./bundled.js";export{RuntimeError}from"./errors.js";export{cacheHome}from"./home.js";export{shippedManifest}from"./manifest.js";export{download,sha256Of}from"./download.js";export{withLock}from"./lock.js";export{unzip,untgz}from"./unpack.js";
|
|
2
|
+
export{binVariable,createRuntimes}from"./runtimes.js";export{createPackages,npmCi}from"./packages.js";export{bundledEnv}from"./bundled.js";export{RuntimeError}from"./errors.js";export{cacheHome}from"./home.js";export{shippedManifest}from"./manifest.js";export{download,sha256Of}from"./download.js";export{withLock}from"./lock.js";export{unzip,untgz}from"./unpack.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
export function nodeCommand(n=process.env,o=process.versions){const e=n.ALLYHUB_NODE;if(e)return e;if(o.electron!==void 0)throw new Error("This Electron app names no Node.js (ALLYHUB_NODE): its own executable is not Node.");return process.execPath}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export interface PackagesOptions {
|
|
2
|
+
/** The cache folder (default: the system's, `cacheHome`). */
|
|
3
|
+
home?: string;
|
|
4
|
+
/** The folder of pins (default: the ones AllyHub ships). */
|
|
5
|
+
pins?: string;
|
|
6
|
+
env?: Readonly<Record<string, string | undefined>>;
|
|
7
|
+
/** What fills a folder from its package-lock.json (default: `npm ci`). */
|
|
8
|
+
install?: Install;
|
|
9
|
+
}
|
|
10
|
+
export type Install = (dir: string, options: {
|
|
11
|
+
home: string;
|
|
12
|
+
signal?: AbortSignal | undefined;
|
|
13
|
+
}) => Promise<void>;
|
|
14
|
+
export interface LocatedPackage {
|
|
15
|
+
name: string;
|
|
16
|
+
version: string;
|
|
17
|
+
/** Its folder, the one holding its `node_modules`. */
|
|
18
|
+
dir: string;
|
|
19
|
+
}
|
|
20
|
+
export interface EnsurePackageOptions {
|
|
21
|
+
signal?: AbortSignal | undefined;
|
|
22
|
+
/** Called once if the package has to be fetched, before it is. */
|
|
23
|
+
onFetch?: (name: string) => void;
|
|
24
|
+
}
|
|
25
|
+
export interface LoadOptions extends EnsurePackageOptions {
|
|
26
|
+
/** The module to load, for a pin holding several (default: the pin's name). */
|
|
27
|
+
module?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface Packages {
|
|
30
|
+
readonly home: string;
|
|
31
|
+
/** A package if it is there; never fetches, and reads only its record. */
|
|
32
|
+
locate(name: string): LocatedPackage | undefined;
|
|
33
|
+
/** What a package takes on this computer, as near as its pin says (bytes). */
|
|
34
|
+
size(name: string): number;
|
|
35
|
+
/** The file `import(name)` would load, when the package is there. */
|
|
36
|
+
entry(name: string): string | undefined;
|
|
37
|
+
/** The file a module of an ensured package resolves to, which never fetches. */
|
|
38
|
+
resolve(name: string, module: string): string | undefined;
|
|
39
|
+
/** A package, fetched and checked first if it is not there. */
|
|
40
|
+
ensure(name: string, options?: EnsurePackageOptions): Promise<LocatedPackage>;
|
|
41
|
+
/** A package's module, as `import(name)` would give it, ensured first. */
|
|
42
|
+
load<T>(name: string, options?: LoadOptions): Promise<T>;
|
|
43
|
+
/** Takes a package off this computer; it comes back when next ensured. */
|
|
44
|
+
remove(name: string): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
/** A setting `npx` puts in the environment about its own install. */
|
|
47
|
+
export declare const NPX_SETTING: RegExp;
|
|
48
|
+
/** What went wrong, from what npm wrote: its reason, not its advice. */
|
|
49
|
+
export declare function npmProblem(stderr: string, code: number | null): string;
|
|
50
|
+
export interface NpmCommand {
|
|
51
|
+
command: string;
|
|
52
|
+
/** What comes before npm's own arguments: its script, when Node runs it. */
|
|
53
|
+
script: string[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The npm to install with. An app that brings its own names it (bundled.ts),
|
|
57
|
+
* and `npx` names the one that runs it; else the computer's; and where it has
|
|
58
|
+
* none, as a person who only has Studio may not, the runtime manager's Node
|
|
59
|
+
* and its npm, fetched like any runtime.
|
|
60
|
+
*/
|
|
61
|
+
export declare function findNpm(env: Readonly<Record<string, string | undefined>>, ensureNode: () => Promise<Record<string, string>>): Promise<NpmCommand>;
|
|
62
|
+
/** Runs `npm ci` from the lock, keeping npm's cache in AllyHub's home. */
|
|
63
|
+
export declare const npmCi: Install;
|
|
64
|
+
export declare function createPackages(options?: PackagesOptions): Packages;
|
|
65
|
+
//# sourceMappingURL=packages.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
import{spawn as _}from"node:child_process";import{createHash as T,randomBytes as H}from"node:crypto";import{existsSync as A,readFileSync as b}from"node:fs";import{copyFile as R,mkdir as E,readdir as y,readFile as C,rename as F,rm as g,writeFile as L}from"node:fs/promises";import{createRequire as I}from"node:module";import{delimiter as z,join as o}from"node:path";import{fileURLToPath as J,pathToFileURL as U}from"node:url";import{RuntimeError as k}from"./errors.js";import{cacheHome as W}from"./home.js";import{withLock as B}from"./lock.js";import{nodeCommand as D}from"./node-program.js";import{createRuntimes as M}from"./runtimes.js";const N=".allyhub-package.json",q=J(new URL("../pins/",import.meta.url));async function G(s){const c=o(s,"node_modules","onnxruntime-node","bin","napi-v6");for(const n of await y(c)){if(n!==process.platform){await g(o(c,n),{recursive:!0,force:!0});continue}for(const p of await y(o(c,n)))p!==process.arch&&await g(o(c,n,p),{recursive:!0,force:!0})}if(process.platform!=="darwin")return;const i=o(c,"darwin",process.arch);for(const n of await y(i))/^libonnxruntime\.\d+\.\d+\.\d+\.dylib$/u.test(n)&&await g(o(i,n),{force:!0})}const V={"onnxruntime-node":G};export const NPX_SETTING=/^npm_config_(global|prefix|location|cache|.*_prefix)/iu;export function npmProblem(s,c){return s.split(`
|
|
3
|
+
`).map(n=>n.replace(/^npm (error|ERR!)\s*/u,"").trim()).find(n=>n!==""&&!/^(code|errno|syscall|path|type|A complete log|Exit handler|This is an error with npm|<https)/u.test(n))??`npm ended with code ${String(c)}`}const X=(s,c)=>(c.PATH??"").split(z).some(i=>i!==""&&A(o(i,s)));export async function findNpm(s,c){const i=s.ALLYHUB_NPM??s.npm_execpath;if(i?.endsWith(".js"))return{command:D(s),script:[i]};if(X("npm",s))return{command:"npm",script:[]};const n=await c(),{node:p,npm:l}=n;if(!p||!l)throw new Error("AllyHub's Node has no npm");return{command:p,script:[l]}}export const npmCi=async(s,{home:c,signal:i})=>{const n=await findNpm(process.env,async()=>(await M({home:c}).ensure("node",{signal:i})).bins),p=Object.fromEntries(Object.entries(process.env).filter(([f])=>!NPX_SETTING.test(f))),l=["ci","--ignore-scripts","--omit=dev","--no-audit","--no-fund","--omit=peer","--loglevel=error","--fetch-retries=1"];await new Promise((f,m)=>{const w=_(n.command,[...n.script,...l],{cwd:s,env:{...p,npm_config_cache:o(c,"packages",".npm")},stdio:["ignore","ignore","pipe"],...i?{signal:i}:{}});let h="";w.stderr.on("data",v=>{h=`${h}${v.toString()}`.slice(-1e3)}),w.on("error",m),w.on("close",v=>{v===0?f():m(new Error(npmProblem(h,v)))})})};export function createPackages(s={}){const c=s.env??process.env,i=s.home??W(c),n=s.pins??q,p=s.install??npmCi,l=o(i,"packages"),f=e=>{const r=o(n,e);let t,a;try{t=JSON.parse(b(o(r,"package.json"),"utf8")),a=b(o(r,"package-lock.json"),"utf8")}catch{throw new k("unknown-package",`AllyHub has no package "${e}".`)}const u=t.dependencies??{},d=u[e]??t.version;if(!d)throw new k("unknown-package",`The pin of "${e}" does not name it.`);return{version:d,holds:u,lock:T("sha256").update(a).digest("hex"),dir:r,size:t.allyhubSize??0}},m=(e,r)=>o(l,`${e}@${r.version}`),w=(e,r)=>{try{const t=JSON.parse(b(o(m(e,r),N),"utf8"));return t.version===r.version&&t.lock===r.lock}catch{return!1}},h=(e,r)=>({name:e,version:r.version,dir:m(e,r)}),v=async(e,r,t)=>{const a=m(e,r),u=`${a}.partial-${String(process.pid)}-${H(4).toString("hex")}`;await E(u,{recursive:!0});try{await R(o(r.dir,"package.json"),o(u,"package.json")),await R(o(r.dir,"package-lock.json"),o(u,"package-lock.json")),await p(u,{home:i,signal:t});for(const[d,j]of Object.entries(r.holds)){const O=JSON.parse(await C(o(u,"node_modules",d,"package.json"),"utf8"));if(O.version!==j)throw new Error(`it holds ${d} ${String(O.version)}, not ${j}`)}await V[e]?.(u),await L(o(u,N),`${JSON.stringify({version:r.version,lock:r.lock,at:new Date().toISOString()})}
|
|
4
|
+
`),await g(a,{recursive:!0,force:!0}),await F(u,a),await P(e,r)}catch(d){throw await g(u,{recursive:!0,force:!0}),t?.aborted?new k("cancelled",`Stopped getting ${e}.`,{cause:d}):new k("install",`Could not get ${e} ${r.version} (${d instanceof Error?d.message:String(d)}). Check the connection and run it again.`,{cause:d})}},P=async(e,r)=>{const t=`${e}@${r.version}`;for(const a of await y(l))a.startsWith(`${e}@`)&&a!==t&&!a.startsWith(`${t}.`)&&await g(o(l,a),{recursive:!0,force:!0})},$=e=>{const r=f(e);return w(e,r)?h(e,r):void 0},S=(e,r)=>I(o(e,"package.json")).resolve(r),x=async(e,r={})=>{const t=f(e);return w(e,t)||(await E(l,{recursive:!0}).catch(a=>{throw new k("install",`Could not get ${e} ${t.version}: AllyHub cannot write to ${l}.`,{cause:a})}),await B(`${m(e,t)}.lock`,async()=>{w(e,t)||(r.onFetch?.(e),await v(e,t,r.signal))},{signal:r.signal})),h(e,t)};return{home:i,locate:$,ensure:x,size:e=>f(e).size,entry(e){const r=$(e);return r?S(r.dir,e):void 0},resolve(e,r){const t=$(e);return t?S(t.dir,r):void 0},async load(e,r){const{dir:t}=await x(e,r),a=S(t,r?.module??e);return await import(U(a).href)},async remove(e){await g(m(e,f(e)),{recursive:!0,force:!0})}}}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{randomBytes as P}from"node:crypto";import{chmod as B,mkdir as S,readFile as D,rename as x,rm as
|
|
3
|
-
`),await
|
|
2
|
+
import{randomBytes as P}from"node:crypto";import{chmod as B,mkdir as S,readFile as D,rename as x,rm as v,writeFile as M}from"node:fs/promises";import{dirname as J,join as u}from"node:path";import{binsOf as L,filesFor as U,platformOf as _}from"@allyhub-next/protocol";import{download as T,sha256Of as V}from"./download.js";import{RuntimeError as p}from"./errors.js";import{cacheHome as Y}from"./home.js";import{withLock as q}from"./lock.js";import{shippedManifest as G}from"./manifest.js";import{inside as A,native as K,undmg as Q,untgz as W,unzip as X}from"./unpack.js";const C=".allyhub-runtime.json";export const binVariable=f=>`ALLYHUB_${f.toUpperCase().replaceAll("-","_")}`;export function createRuntimes(f={}){const j=f.env??process.env,z=f.home??Y(j),b=f.manifest??G(),l="platform"in f?f.platform:_(process.platform,process.arch),F=f.fetch??globalThis.fetch,$=u(z,"runtimes"),O=t=>{const e=Object.hasOwn(b.runtimes,t)?b.runtimes[t]:void 0;if(!e)throw new p("unknown-runtime",`AllyHub has no runtime "${t}".`);return e},d=(t,e)=>u($,`${t}@${e.version}`),h=(t,e)=>{const r=l?U(e,l):void 0;if(!r)throw new p("unsupported",`${t} ${e.version} has no build for ${l??`${process.platform}-${process.arch}`}.`);return r},H=(t,e,r)=>Object.fromEntries(Object.entries(L(h(t,e))).map(([n,s])=>[n,u(r,K(s))])),R=(t,e)=>{const r=[...new Set(Object.values(e.platforms).flatMap(a=>Object.keys(L(a))))];if(r.length===0)return;const n=r.map(a=>[a,j[binVariable(a)]]);if(n.some(([,a])=>!a))return;const s=Object.fromEntries(n),o=n[0]?.[1]??"";return{name:t,version:void 0,dir:J(o),bins:s,from:"env"}},y=async(t,e)=>{try{const r=JSON.parse(await D(u(d(t,e),C),"utf8")),n=h(t,e).map(s=>s.sha256);return r.version===e.version&&JSON.stringify(r.files)===JSON.stringify(n)}catch{return!1}},k=async t=>{const e=O(t),r=R(t,e);if(r)return r;if(!await y(t,e))return;const n=d(t,e);return{name:t,version:e.version,dir:n,bins:H(t,e,n),from:"cache"}},I=async(t,e,r)=>{const n=h(t,e),s=d(t,e),o=`${s}.partial-${String(process.pid)}-${P(4).toString("hex")}`,a=u(o,".downloads");await S(a,{recursive:!0});try{for(const[w,i]of n.entries()){const m=u(a,String(w));if(await T(i.url,m,{size:i.size,sha256:i.sha256,fetch:F,signal:r.signal,onProgress:(c,g)=>{r.onProgress?.({runtime:t,url:i.url,received:c,total:g})}}),i.unpack==="zip")await X(m,o);else if(i.unpack==="tgz")await W(m,o);else if(i.unpack==="dmg")await Q(m,o);else{const c=A(o,i.name??Z(i.url));if(!c)throw new p("unpack",`${i.url} would be kept outside its folder.`);await S(J(c),{recursive:!0}),await x(m,c),i.executable&&await B(c,493)}for(const c of i.check){const g=A(o,c.path),N=g?await V(g).catch(()=>"missing"):"missing";if(N!==c.sha256)throw new p("checksum",`${c.path} from ${i.url} has sha256 ${N}; its pin is ${c.sha256}.`)}}await v(a,{recursive:!0,force:!0}),await M(u(o,C),`${JSON.stringify({version:e.version,files:n.map(w=>w.sha256),at:new Date().toISOString()})}
|
|
3
|
+
`),await v(s,{recursive:!0,force:!0}),await x(o,s)}catch(w){throw await v(o,{recursive:!0,force:!0}),w}},E=async(t,e={})=>{const r=O(t),n=await k(t);if(n)return n;h(t,r),await S($,{recursive:!0}),await q(`${d(t,r)}.lock`,async()=>{await y(t,r)||await I(t,r,e)},{signal:e.signal});const s=await k(t);if(!s)throw new p("download",`${t} was installed but cannot be found in ${$}.`);return s};return{home:z,platform:l,locate:k,ensure:E,async bin(t,e,r){const s=(await E(t,r)).bins[e];if(!s)throw new p("unknown-runtime",`${t} holds no program "${e}".`);return s},async remove(t){const e=O(t);await v(d(t,e),{recursive:!0,force:!0})},async status(){return Promise.all(Object.entries(b.runtimes).map(async([t,e])=>{const r=l?U(e,l):void 0,n=d(t,e),s=R(t,e)!==void 0?"env":r!==void 0&&await y(t,e)?"cache":void 0;return{name:t,about:e.about,version:e.version,license:e.license,available:r!==void 0,installed:s!==void 0,...s?{from:s}:{},size:(r??[]).reduce((o,a)=>o+a.size,0),dir:n}}))}}}const Z=f=>decodeURIComponent(new URL(f).pathname.split("/").pop()??"file");
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
export declare function inside(dir: string, entry: string): string | undefined;
|
|
3
3
|
export declare function unzip(file: string, dir: string): Promise<void>;
|
|
4
4
|
export declare function untgz(file: string, dir: string): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* A macOS disk image's items (an app) copied into `dir`: the image is
|
|
7
|
+
* attached read-only where nothing opens it, each item that is not a link
|
|
8
|
+
* (the Applications shortcut is one) copied with ditto, which keeps an
|
|
9
|
+
* app's own links and signatures, and the image detached.
|
|
10
|
+
*/
|
|
11
|
+
export declare function undmg(file: string, dir: string): Promise<void>;
|
|
5
12
|
/** A path in its system's spelling, from a manifest's forward slashes. */
|
|
6
13
|
export declare const native: (path: string) => string;
|
|
7
14
|
//# sourceMappingURL=unpack.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{createWriteStream as
|
|
2
|
+
import{createWriteStream as h}from"node:fs";import{execFile as k}from"node:child_process";import{chmod as $,mkdir as f,mkdtemp as y,readdir as g,rm as x}from"node:fs/promises";import{tmpdir as z}from"node:os";import{dirname as S,isAbsolute as l,join as m,normalize as b,relative as E,sep as v}from"node:path";import{pipeline as W}from"node:stream/promises";import{extract as j}from"tar";import A from"yauzl";import{RuntimeError as u}from"./errors.js";export function inside(e,r){if(r.includes("\0")||l(r)||/^[A-Za-z]:/u.test(r))return;const t=b(m(e,r)),i=E(e,t);if(!(i===""||i.startsWith("..")||l(i)))return t}export async function unzip(e,r){const t=await new Promise((i,a)=>{A.open(e,{lazyEntries:!0,autoClose:!0},(n,o)=>{n?a(new u("unpack",`${e} is not a zip: ${n.message}`,{cause:n})):i(o)})});await new Promise((i,a)=>{const n=o=>{t.close(),a(o instanceof u?o:new u("unpack",`Unpacking ${e} failed: ${String(o)}`,{cause:o}))};t.on("error",n),t.on("end",()=>{i()}),t.on("entry",o=>{const c=o.fileName.split("\\").join("/"),s=inside(r,c);if(!s){n(new u("unpack",`${e} holds ${c}, outside its folder.`));return}const p=o.externalFileAttributes>>>16&65535;if((p&61440)===40960){n(new u("unpack",`${e} holds a link, ${c}.`));return}if(c.endsWith("/")){f(s,{recursive:!0}).then(()=>{t.readEntry()},n);return}t.openReadStream(o,(d,w)=>{if(d){n(d);return}f(S(s),{recursive:!0}).then(()=>W(w,h(s))).then(()=>p&73?$(s,493):void 0).then(()=>{t.readEntry()},n)})}),t.readEntry()})}export async function untgz(e,r){try{await j({file:e,cwd:r,strict:!0,filter:(t,i)=>{const a="type"in i?i.type:void 0;return inside(r,t)!==void 0&&a!=="SymbolicLink"&&a!=="Link"}})}catch(t){throw new u("unpack",`Unpacking ${e} failed: ${t instanceof Error?t.message:String(t)}`,{cause:t})}}export async function undmg(e,r){if(process.platform!=="darwin")throw new u("unpack",`${e} is a macOS disk image.`);const t=await y(m(z(),"allyhub-dmg-")),i=(a,n)=>new Promise((o,c)=>{k(a,n,s=>{s?c(new u("unpack",`${a} ${n[0]??""} ${e} failed: ${s.message}`,{cause:s})):o()})});await i("hdiutil",["attach","-nobrowse","-readonly","-noautoopen","-mountpoint",t,e]);try{for(const a of await g(t,{withFileTypes:!0})){if(a.isSymbolicLink()||a.name.startsWith("."))continue;const n=inside(r,a.name);n&&await i("ditto",[m(t,a.name),n])}}finally{await i("hdiutil",["detach",t,"-force"]).catch(()=>{}),await x(t,{recursive:!0,force:!0})}}export const native=e=>e.split("/").join(v);
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allyhub-next/runtimes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"default": "./dist/index.js"
|
|
9
9
|
},
|
|
10
|
+
"./node": {
|
|
11
|
+
"types": "./dist/node-program.d.ts",
|
|
12
|
+
"default": "./dist/node-program.js"
|
|
13
|
+
},
|
|
10
14
|
"./manifest.json": "./manifest.json"
|
|
11
15
|
},
|
|
12
16
|
"private": true,
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "allyhub-pin-docx",
|
|
3
|
+
"lockfileVersion": 3,
|
|
4
|
+
"requires": true,
|
|
5
|
+
"packages": {
|
|
6
|
+
"": {
|
|
7
|
+
"name": "allyhub-pin-docx",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"docx": "9.15.1",
|
|
10
|
+
"fflate": "0.8.3"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"node_modules/@types/node": {
|
|
14
|
+
"version": "26.6.6",
|
|
15
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.6.tgz",
|
|
16
|
+
"integrity": "sha512-MzQj+8Kx3XI40OmUAE6Qoh58ZMNstNNMwn2nfd3qWsfe7nDNSqJNzes4njhz6AHwrSHOffSLwXU6yb474Q4aog==",
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"undici-types": "~8.9.0"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"node_modules/docx": {
|
|
23
|
+
"version": "9.15.1",
|
|
24
|
+
"resolved": "https://registry.npmjs.org/docx/-/docx-9.15.1.tgz",
|
|
25
|
+
"integrity": "sha512-wp8K+wsDov+gjtIE4fA7g4SkCcuefIjwdYUc2OYa8YViCqxKvbASwSODpUXsTIH5BCmoWw7cMVOB1xl3A7Uqig==",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@types/node": "^26.6.2",
|
|
29
|
+
"fflate": "^0.8.3",
|
|
30
|
+
"nanoid": "^6.0.1"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=16"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"node_modules/fflate": {
|
|
37
|
+
"version": "0.8.3",
|
|
38
|
+
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz",
|
|
39
|
+
"integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==",
|
|
40
|
+
"license": "MIT"
|
|
41
|
+
},
|
|
42
|
+
"node_modules/nanoid": {
|
|
43
|
+
"version": "6.0.2",
|
|
44
|
+
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-6.0.2.tgz",
|
|
45
|
+
"integrity": "sha512-hIvVOb9Qr1p/9CNNLOe0OlWvgx/ziTsVwKN/GDSsuArN2K0wDiafP3s0SWmsm7o2BdnyS8Z9Z64NFBUbn6ziBg==",
|
|
46
|
+
"funding": [
|
|
47
|
+
{
|
|
48
|
+
"type": "github",
|
|
49
|
+
"url": "https://github.com/sponsors/ai"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"license": "MIT",
|
|
53
|
+
"bin": {
|
|
54
|
+
"nanoid": "bin/nanoid.js"
|
|
55
|
+
},
|
|
56
|
+
"engines": {
|
|
57
|
+
"node": "^22 || ^24 || >=26"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"node_modules/undici-types": {
|
|
61
|
+
"version": "8.9.0",
|
|
62
|
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz",
|
|
63
|
+
"integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==",
|
|
64
|
+
"license": "MIT"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|