allyhub 0.6.0 → 0.7.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/audio-text.js +1 -1
- package/dist/commands/add.js +2 -2
- package/dist/commands/cloud-tools.js +5 -5
- package/dist/commands/dev.js +1 -1
- package/dist/commands/frames/piece.js +1 -1
- package/dist/commands/frames/sheet.js +1 -1
- package/dist/commands/frames.js +8 -8
- package/dist/commands/index.js +1 -1
- package/dist/commands/inspect/common.js +1 -1
- package/dist/commands/inspect/layout.js +1 -1
- package/dist/commands/render.js +1 -1
- package/dist/commands/sheet.js +5 -5
- package/dist/commands/site.js +3 -2
- package/dist/commands/skills.js +3 -3
- package/dist/commands/slides.js +2 -2
- package/dist/node_modules/@allyhub-next/audio/dist/node/index.js +1 -1
- package/dist/node_modules/@allyhub-next/audio/dist/node/master.js +1 -1
- package/dist/node_modules/@allyhub-next/audio/package.json +1 -1
- package/dist/node_modules/@allyhub-next/browser/dist/html.js +1 -1
- package/dist/node_modules/@allyhub-next/browser/package.json +1 -1
- package/dist/node_modules/@allyhub-next/build/dist/content.d.ts +4 -0
- package/dist/node_modules/@allyhub-next/build/dist/content.js +1 -1
- package/dist/node_modules/@allyhub-next/build/dist/index.d.ts +2 -2
- package/dist/node_modules/@allyhub-next/build/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/build/dist/meta-worker.d.ts +2 -2
- package/dist/node_modules/@allyhub-next/build/dist/meta-worker.js +3 -3
- package/dist/node_modules/@allyhub-next/build/dist/move-refs.d.ts +1 -1
- package/dist/node_modules/@allyhub-next/build/dist/move-refs.js +1 -1
- package/dist/node_modules/@allyhub-next/build/dist/plugin.d.ts +12 -3
- package/dist/node_modules/@allyhub-next/build/dist/plugin.js +7 -6
- package/dist/node_modules/@allyhub-next/build/dist/prepare.d.ts +9 -5
- package/dist/node_modules/@allyhub-next/build/dist/prepare.js +2 -2
- package/dist/node_modules/@allyhub-next/build/dist/vite.d.ts +10 -0
- package/dist/node_modules/@allyhub-next/build/dist/vite.js +2 -2
- package/dist/node_modules/@allyhub-next/build/package.json +1 -1
- package/dist/node_modules/@allyhub-next/chart/dist/chart-xml.js +2 -2
- package/dist/node_modules/@allyhub-next/chart/dist/chart.d.ts +14 -5
- package/dist/node_modules/@allyhub-next/chart/dist/chart.js +1 -1
- package/dist/node_modules/@allyhub-next/chart/package.json +1 -1
- package/dist/node_modules/@allyhub-next/check/dist/check.js +3 -3
- package/dist/node_modules/@allyhub-next/check/package.json +1 -1
- package/dist/node_modules/@allyhub-next/cloud/dist/blobs.js +2 -0
- package/dist/node_modules/@allyhub-next/cloud/dist/call.js +4 -2
- package/dist/node_modules/@allyhub-next/cloud/dist/client.js +1 -1
- package/dist/node_modules/@allyhub-next/cloud/dist/errors.js +1 -1
- package/dist/node_modules/@allyhub-next/cloud/dist/hashes.js +2 -0
- package/dist/node_modules/@allyhub-next/cloud/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/cloud/dist/sites.js +2 -0
- package/dist/node_modules/@allyhub-next/cloud/dist/voice.js +1 -1
- package/dist/node_modules/@allyhub-next/cloud/package.json +1 -1
- package/dist/node_modules/@allyhub-next/components/package.json +1 -1
- package/dist/node_modules/@allyhub-next/components/r/caption-subtitle.json +1 -1
- package/dist/node_modules/@allyhub-next/components/src/caption-subtitle.ts +54 -16
- package/dist/node_modules/@allyhub-next/dev-server/dist/background.js +1 -1
- package/dist/node_modules/@allyhub-next/dev-server/dist/fonts.js +2 -0
- package/dist/node_modules/@allyhub-next/dev-server/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/dev-server/dist/live.js +1 -1
- package/dist/node_modules/@allyhub-next/dev-server/dist/project.js +1 -1
- package/dist/node_modules/@allyhub-next/dev-server/dist/reach.js +2 -0
- package/dist/node_modules/@allyhub-next/dev-server/dist/record.js +2 -0
- package/dist/node_modules/@allyhub-next/dev-server/dist/server.js +2 -2
- package/dist/node_modules/@allyhub-next/dev-server/dist/tools.js +1 -1
- package/dist/node_modules/@allyhub-next/dev-server/dist/tree.js +2 -0
- package/dist/node_modules/@allyhub-next/dev-server/package.json +1 -1
- package/dist/node_modules/@allyhub-next/doc/package.json +1 -1
- package/dist/node_modules/@allyhub-next/export/dist/deck-pptx.js +1 -1
- package/dist/node_modules/@allyhub-next/export/dist/export.js +5 -5
- package/dist/node_modules/@allyhub-next/export/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/export/package.json +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/data/deck-code.d.ts +205 -0
- package/dist/node_modules/@allyhub-next/formats/dist/data/deck-code.js +2 -0
- package/dist/node_modules/@allyhub-next/formats/dist/data/script.d.ts +4 -1
- package/dist/node_modules/@allyhub-next/formats/dist/data/script.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/data/sheet.d.ts +69 -18
- package/dist/node_modules/@allyhub-next/formats/dist/data/sheet.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/data/slides.d.ts +847 -116
- package/dist/node_modules/@allyhub-next/formats/dist/data/slides.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/data/website.d.ts +20 -0
- package/dist/node_modules/@allyhub-next/formats/dist/data/website.js +2 -0
- package/dist/node_modules/@allyhub-next/formats/dist/index.d.ts +3 -0
- package/dist/node_modules/@allyhub-next/formats/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/items.d.ts +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/items.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/media-type.d.ts +3 -0
- package/dist/node_modules/@allyhub-next/formats/dist/media-type.js +2 -0
- package/dist/node_modules/@allyhub-next/formats/dist/schemas.d.ts +501 -38
- package/dist/node_modules/@allyhub-next/formats/dist/schemas.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/dist/strict.d.ts +2 -0
- package/dist/node_modules/@allyhub-next/formats/dist/strict.js +1 -1
- package/dist/node_modules/@allyhub-next/formats/package.json +2 -1
- package/dist/node_modules/@allyhub-next/measure/package.json +1 -1
- package/dist/node_modules/@allyhub-next/media/dist/index.d.ts +1 -1
- package/dist/node_modules/@allyhub-next/media/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/media/dist/sheet.d.ts +2 -0
- package/dist/node_modules/@allyhub-next/media/dist/sheet.js +7 -7
- package/dist/node_modules/@allyhub-next/media/package.json +1 -1
- package/dist/node_modules/@allyhub-next/model/package.json +1 -1
- package/dist/node_modules/@allyhub-next/ooxml/dist/brightness.d.ts +31 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/brightness.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/color.d.ts +33 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/color.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/enums.d.ts +13 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/enums.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/ext.d.ts +79 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/ext.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/generated/enums.d.ts +132 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/generated/enums.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/generated/presets.d.ts +28 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/generated/presets.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/generated/spec.d.ts +4708 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/generated/spec.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/geometry/index.d.ts +57 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/geometry/index.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/index.d.ts +10 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/index.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/mce.d.ts +12 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/mce.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/node.d.ts +111 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/node.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/ns.d.ts +45 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/ns.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/opc.d.ts +48 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/opc.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/report.d.ts +45 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/report.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/xml.d.ts +28 -0
- package/dist/node_modules/@allyhub-next/ooxml/dist/xml.js +2 -0
- package/dist/node_modules/@allyhub-next/ooxml/package.json +26 -0
- package/dist/node_modules/@allyhub-next/project/dist/deck-keys.js +2 -0
- package/dist/node_modules/@allyhub-next/project/dist/deck-measure.js +2 -0
- package/dist/node_modules/@allyhub-next/project/dist/deck-pool.js +2 -0
- package/dist/node_modules/@allyhub-next/project/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/project/dist/session.js +1 -1
- package/dist/node_modules/@allyhub-next/project/dist/stills.js +2 -0
- package/dist/node_modules/@allyhub-next/project/package.json +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/account.d.ts +338 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/account.js +2 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/auth.d.ts +12 -13
- package/dist/node_modules/@allyhub-next/protocol/dist/auth.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/blobs.d.ts +35 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/blobs.js +2 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/cloud.d.ts +101 -32
- package/dist/node_modules/@allyhub-next/protocol/dist/cloud.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/editor.d.ts +79 -5
- package/dist/node_modules/@allyhub-next/protocol/dist/editor.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/files.d.ts +2 -2
- package/dist/node_modules/@allyhub-next/protocol/dist/index.d.ts +6 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/notes.d.ts +21 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/notes.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/open.d.ts +13 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/open.js +2 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/registry.d.ts +73 -59
- package/dist/node_modules/@allyhub-next/protocol/dist/registry.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/routes.d.ts +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/routes.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/shares.d.ts +115 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/shares.js +2 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/sites.d.ts +293 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/sites.js +2 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/snapshots.d.ts +377 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/snapshots.js +2 -0
- package/dist/node_modules/@allyhub-next/protocol/dist/teams.d.ts +27 -9
- package/dist/node_modules/@allyhub-next/protocol/dist/teams.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/dist/tools.d.ts +53 -14
- package/dist/node_modules/@allyhub-next/protocol/dist/tools.js +1 -1
- package/dist/node_modules/@allyhub-next/protocol/package.json +2 -1
- package/dist/node_modules/@allyhub-next/registry/package.json +1 -1
- package/dist/node_modules/@allyhub-next/render/dist/doc/fonts.js +3 -2
- package/dist/node_modules/@allyhub-next/render/dist/doc/index.js +1 -1
- package/dist/node_modules/@allyhub-next/render/dist/doc/pdf.js +34 -0
- package/dist/node_modules/@allyhub-next/render/dist/doc/print.js +4 -4
- package/dist/node_modules/@allyhub-next/render/dist/exports.js +2 -2
- package/dist/node_modules/@allyhub-next/render/dist/pdf.js +2 -0
- package/dist/node_modules/@allyhub-next/render/package.json +1 -1
- package/dist/node_modules/@allyhub-next/runtime/dist/fonts.js +1 -1
- package/dist/node_modules/@allyhub-next/runtime/dist/music.js +1 -1
- package/dist/node_modules/@allyhub-next/runtime/package.json +1 -1
- package/dist/node_modules/@allyhub-next/runtimes/package.json +1 -1
- package/dist/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +25 -5
- package/dist/node_modules/@allyhub-next/scaffold/dist/index.js +4 -4
- package/dist/node_modules/@allyhub-next/scaffold/package.json +1 -1
- package/dist/node_modules/@allyhub-next/scenery/package.json +1 -1
- package/dist/node_modules/@allyhub-next/scenery-host/dist/bundle.d.ts +10 -0
- package/dist/node_modules/@allyhub-next/scenery-host/dist/bundle.js +3 -3
- package/dist/node_modules/@allyhub-next/scenery-host/package.json +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/analyse.d.ts +9 -3
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/analyse.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/coerce.d.ts +5 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/coerce.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/engine.d.ts +60 -13
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/engine.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/aggregate.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/convert.d.ts +4 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/convert.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/criteria.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/database.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/date.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/define.d.ts +27 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/define.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/delimiters.d.ts +16 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/delimiters.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/dynamic.d.ts +18 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/dynamic.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/finance.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/index.d.ts +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/index.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/info.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/kernels.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/logical.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/lookup.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/maths.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/modern.d.ts +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/modern.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/functions/text.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/graph.d.ts +38 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/graph.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/indexes.d.ts +19 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/indexes.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/remote.d.ts +49 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/remote.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/server.d.ts +82 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/server.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/types.d.ts +6 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/calc/types.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/chart.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/check.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/diff.d.ts +15 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/diff.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/export.d.ts +29 -8
- package/dist/node_modules/@allyhub-next/sheet/dist/export.js +3 -4
- package/dist/node_modules/@allyhub-next/sheet/dist/file.js +2 -2
- package/dist/node_modules/@allyhub-next/sheet/dist/format.d.ts +8 -2
- package/dist/node_modules/@allyhub-next/sheet/dist/format.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/html.d.ts +52 -4
- package/dist/node_modules/@allyhub-next/sheet/dist/html.js +43 -11
- package/dist/node_modules/@allyhub-next/sheet/dist/index.d.ts +7 -3
- package/dist/node_modules/@allyhub-next/sheet/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/inspect.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/paginate.d.ts +98 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/paginate.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/structure.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/table-style.d.ts +32 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/table-style.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/table-styles.d.ts +3 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/table-styles.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/values.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/workbook.d.ts +10 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/workbook.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/charts.d.ts +10 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/charts.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/formula.d.ts +14 -4
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/formula.js +2 -2
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/functions.d.ts +11 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/functions.js +36 -16
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/import.d.ts +3 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/import.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/read.d.ts +42 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/read.js +2 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/sax.d.ts +23 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/sax.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/styles.d.ts +2 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/styles.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/write.d.ts +6 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/write.js +1 -1
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/zip.d.ts +40 -0
- package/dist/node_modules/@allyhub-next/sheet/dist/xlsx/zip.js +2 -0
- package/dist/node_modules/@allyhub-next/sheet/package.json +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/animation.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/api.d.ts +59 -39
- package/dist/node_modules/@allyhub-next/slides-core/dist/api.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-core/dist/capabilities.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/chart-api.d.ts +27 -13
- package/dist/node_modules/@allyhub-next/slides-core/dist/chart-api.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/check.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/code.d.ts +33 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/code.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/components.d.ts +31 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/components.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/enums.d.ts +179 -16
- package/dist/node_modules/@allyhub-next/slides-core/dist/enums.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/file.d.ts +43 -21
- package/dist/node_modules/@allyhub-next/slides-core/dist/file.js +3 -3
- package/dist/node_modules/@allyhub-next/slides-core/dist/identity.d.ts +17 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/identity.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/index.d.ts +5 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/lang.d.ts +6 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/lang.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/measure.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/merge.d.ts +58 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/merge.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/model.d.ts +2 -4
- package/dist/node_modules/@allyhub-next/slides-core/dist/office.d.ts +17 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/office.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/resolve.d.ts +21 -5
- package/dist/node_modules/@allyhub-next/slides-core/dist/resolve.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/script.d.ts +18 -16
- package/dist/node_modules/@allyhub-next/slides-core/dist/script.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-core/dist/stage.d.ts +51 -53
- package/dist/node_modules/@allyhub-next/slides-core/dist/strict.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/units.d.ts +27 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/units.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-core/dist/values.d.ts +7 -0
- package/dist/node_modules/@allyhub-next/slides-core/dist/values.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-core/package.json +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/import/code.js +4 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/import/index.js +3 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/import/names.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/import/script.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read/chart.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read/common.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read/index.js +4 -0
- package/dist/{site.js → node_modules/@allyhub-next/slides-pptx/dist/read/model.js} +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read/shapes.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read/table.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read/text.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read/timing.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/shapes.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/text.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/theme.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/timing.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/write.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/xml.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-pptx/package.json +1 -1
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/component.js +2 -0
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/draw.js +2 -2
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/load.js +5 -5
- package/dist/node_modules/@allyhub-next/slides-runtime/package.json +5 -1
- package/dist/node_modules/@allyhub-next/stage/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/stage/dist/page.js +22 -12
- package/dist/node_modules/@allyhub-next/stage/dist/scenery-page.js +5 -5
- package/dist/node_modules/@allyhub-next/stage/dist/server.js +1 -1
- package/dist/node_modules/@allyhub-next/stage/package.json +1 -1
- package/dist/node_modules/@allyhub-next/stage-page/dist/host.js +1 -20
- package/dist/node_modules/@allyhub-next/stage-page/dist/runtime/probe.html +8 -0
- package/dist/{astro.js → node_modules/@allyhub-next/stage-page/dist/runtime/probe.js} +1 -1
- package/dist/node_modules/@allyhub-next/stage-page/dist/runtime/runtime.js +79 -0
- package/dist/node_modules/@allyhub-next/stage-page/dist/runtime/stage.html +21 -0
- package/dist/node_modules/@allyhub-next/stage-page/dist/runtime/stage.js +3 -0
- package/dist/node_modules/@allyhub-next/stage-page/dist/runtime/viewer.html +9 -0
- package/dist/node_modules/@allyhub-next/stage-page/dist/runtime/viewer.js +3 -0
- package/dist/node_modules/@allyhub-next/stage-page/package.json +2 -3
- package/dist/node_modules/@allyhub-next/video-core/dist/captions.js +6 -6
- package/dist/node_modules/@allyhub-next/video-core/dist/fact.d.ts +47 -8
- package/dist/node_modules/@allyhub-next/video-core/dist/fact.js +1 -1
- package/dist/node_modules/@allyhub-next/video-core/dist/index.d.ts +1 -0
- package/dist/node_modules/@allyhub-next/video-core/dist/index.js +1 -1
- package/dist/node_modules/@allyhub-next/video-core/dist/marks.d.ts +14 -0
- package/dist/node_modules/@allyhub-next/video-core/dist/marks.js +1 -1
- package/dist/node_modules/@allyhub-next/video-core/dist/music.d.ts +2 -1
- package/dist/node_modules/@allyhub-next/video-core/dist/piece.d.ts +11 -2
- package/dist/node_modules/@allyhub-next/video-core/dist/problem.d.ts +4 -0
- package/dist/node_modules/@allyhub-next/video-core/dist/problem.js +1 -1
- package/dist/node_modules/@allyhub-next/video-core/dist/schema.d.ts +2 -2
- package/dist/node_modules/@allyhub-next/video-core/dist/schema.js +1 -1
- package/dist/node_modules/@allyhub-next/video-core/dist/script.d.ts +2 -1
- package/dist/node_modules/@allyhub-next/video-core/dist/script.js +1 -1
- package/dist/node_modules/@allyhub-next/video-core/dist/source.d.ts +7 -0
- package/dist/node_modules/@allyhub-next/video-core/dist/source.js +2 -0
- package/dist/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +10 -33
- package/dist/node_modules/@allyhub-next/video-core/package.json +1 -1
- package/dist/node_modules/@allyhub-next/website/LICENSE +241 -0
- package/dist/node_modules/@allyhub-next/website/dist/index.js +2 -0
- package/dist/node_modules/@allyhub-next/website/dist/publish.js +3 -0
- package/dist/node_modules/@allyhub-next/website/dist/rules.js +2 -0
- package/dist/node_modules/@allyhub-next/website/dist/website.js +4 -0
- package/dist/node_modules/@allyhub-next/website/package.json +13 -0
- package/dist/text/facts-text.js +4 -4
- package/dist/works.js +1 -1
- package/editor-web/assets/calc-worker-Bz9r26p1.js +158 -0
- package/editor-web/assets/dist-0emakyZE.js +36 -0
- package/editor-web/assets/dist-B3UoDUa5.js +37 -0
- package/editor-web/assets/dist-B6KzR3pN.js +10 -0
- package/editor-web/assets/dist-Bc5iA5k1.js +1 -0
- package/editor-web/assets/dist-CTQIm8Im.js +10 -0
- package/editor-web/assets/dist-CiHNHwyq.js +2 -0
- package/editor-web/assets/dist-DNZ8PQ-E.js +224 -0
- package/editor-web/assets/index-CFt3ovRY.js +69 -0
- package/editor-web/assets/index-ujKjdu_s.css +2 -0
- package/editor-web/assets/minus-BhoPZC5P.js +1 -0
- package/editor-web/assets/react-C_-rEEBU.js +101 -0
- package/editor-web/assets/tabs-Den4gHrU.js +105 -0
- package/editor-web/assets/text-align-start-CsW4nqqL.js +1 -0
- package/editor-web/index.html +5 -5
- package/package.json +8 -14
- package/dist/astro.d.ts +0 -2
- package/dist/node_modules/@allyhub-next/audio/dist/at-cut.d.ts +0 -52
- package/dist/node_modules/@allyhub-next/audio/dist/decode.d.ts +0 -33
- package/dist/node_modules/@allyhub-next/audio/dist/envelope.d.ts +0 -37
- package/dist/node_modules/@allyhub-next/audio/dist/index.d.ts +0 -17
- package/dist/node_modules/@allyhub-next/audio/dist/levels.d.ts +0 -97
- package/dist/node_modules/@allyhub-next/audio/dist/master.d.ts +0 -29
- package/dist/node_modules/@allyhub-next/audio/dist/music.d.ts +0 -11
- package/dist/node_modules/@allyhub-next/audio/dist/node/decode.d.ts +0 -39
- package/dist/node_modules/@allyhub-next/audio/dist/node/ebur128.d.ts +0 -25
- package/dist/node_modules/@allyhub-next/audio/dist/node/ffmpeg.d.ts +0 -31
- package/dist/node_modules/@allyhub-next/audio/dist/node/index.d.ts +0 -8
- package/dist/node_modules/@allyhub-next/audio/dist/node/loudness.d.ts +0 -18
- package/dist/node_modules/@allyhub-next/audio/dist/node/master.d.ts +0 -42
- package/dist/node_modules/@allyhub-next/audio/dist/node/measure.d.ts +0 -60
- package/dist/node_modules/@allyhub-next/audio/dist/node/mix.d.ts +0 -31
- package/dist/node_modules/@allyhub-next/audio/dist/plan.d.ts +0 -143
- package/dist/node_modules/@allyhub-next/audio/dist/recorded.d.ts +0 -26
- package/dist/node_modules/@allyhub-next/audio/dist/recording/bandwidth.d.ts +0 -47
- package/dist/node_modules/@allyhub-next/audio/dist/recording/chain.d.ts +0 -89
- package/dist/node_modules/@allyhub-next/audio/dist/recording/dynamics.d.ts +0 -64
- package/dist/node_modules/@allyhub-next/audio/dist/recording/fft.d.ts +0 -26
- package/dist/node_modules/@allyhub-next/audio/dist/recording/filters.d.ts +0 -42
- package/dist/node_modules/@allyhub-next/audio/dist/recording/fit.d.ts +0 -56
- package/dist/node_modules/@allyhub-next/audio/dist/recording/index.d.ts +0 -10
- package/dist/node_modules/@allyhub-next/audio/dist/recording/loudness.d.ts +0 -12
- package/dist/node_modules/@allyhub-next/audio/dist/recording/measure.d.ts +0 -67
- package/dist/node_modules/@allyhub-next/audio/dist/recording/mic.d.ts +0 -32
- package/dist/node_modules/@allyhub-next/audio/dist/recording/noise.d.ts +0 -27
- package/dist/node_modules/@allyhub-next/audio/dist/recording/presets.d.ts +0 -64
- package/dist/node_modules/@allyhub-next/audio/dist/recording/room.d.ts +0 -78
- package/dist/node_modules/@allyhub-next/audio/dist/recording/setup.d.ts +0 -111
- package/dist/node_modules/@allyhub-next/audio/dist/recording/vec.d.ts +0 -3
- package/dist/node_modules/@allyhub-next/audio/dist/render.d.ts +0 -26
- package/dist/node_modules/@allyhub-next/audio/dist/sfx.d.ts +0 -10
- package/dist/node_modules/@allyhub-next/audio/dist/shape.d.ts +0 -118
- package/dist/node_modules/@allyhub-next/audio/dist/voice.d.ts +0 -45
- package/dist/node_modules/@allyhub-next/browser/dist/browser.d.ts +0 -24
- package/dist/node_modules/@allyhub-next/browser/dist/capture.d.ts +0 -61
- package/dist/node_modules/@allyhub-next/browser/dist/cdp.d.ts +0 -51
- package/dist/node_modules/@allyhub-next/browser/dist/flags.d.ts +0 -13
- package/dist/node_modules/@allyhub-next/browser/dist/frames.d.ts +0 -35
- package/dist/node_modules/@allyhub-next/browser/dist/html.d.ts +0 -19
- package/dist/node_modules/@allyhub-next/browser/dist/index.d.ts +0 -10
- package/dist/node_modules/@allyhub-next/browser/dist/launch.d.ts +0 -35
- package/dist/node_modules/@allyhub-next/browser/dist/page.d.ts +0 -67
- package/dist/node_modules/@allyhub-next/browser/dist/server.d.ts +0 -26
- package/dist/node_modules/@allyhub-next/check/dist/cache.d.ts +0 -46
- package/dist/node_modules/@allyhub-next/check/dist/check.d.ts +0 -142
- package/dist/node_modules/@allyhub-next/check/dist/generated.d.ts +0 -22
- package/dist/node_modules/@allyhub-next/check/dist/index.d.ts +0 -7
- package/dist/node_modules/@allyhub-next/check/dist/plans.d.ts +0 -111
- package/dist/node_modules/@allyhub-next/check/dist/result.d.ts +0 -12
- package/dist/node_modules/@allyhub-next/check/dist/scenery.d.ts +0 -23
- package/dist/node_modules/@allyhub-next/dev-server/dist/background.d.ts +0 -50
- package/dist/node_modules/@allyhub-next/dev-server/dist/card.d.ts +0 -17
- package/dist/node_modules/@allyhub-next/dev-server/dist/exports.d.ts +0 -18
- package/dist/node_modules/@allyhub-next/dev-server/dist/index.d.ts +0 -11
- package/dist/node_modules/@allyhub-next/dev-server/dist/live.d.ts +0 -77
- package/dist/node_modules/@allyhub-next/dev-server/dist/mime.d.ts +0 -2
- package/dist/node_modules/@allyhub-next/dev-server/dist/mime.js +0 -2
- package/dist/node_modules/@allyhub-next/dev-server/dist/paths.d.ts +0 -27
- package/dist/node_modules/@allyhub-next/dev-server/dist/project.d.ts +0 -153
- package/dist/node_modules/@allyhub-next/dev-server/dist/reveal.d.ts +0 -6
- package/dist/node_modules/@allyhub-next/dev-server/dist/server.d.ts +0 -47
- package/dist/node_modules/@allyhub-next/dev-server/dist/sound.d.ts +0 -21
- package/dist/node_modules/@allyhub-next/dev-server/dist/stage.d.ts +0 -82
- package/dist/node_modules/@allyhub-next/dev-server/dist/stage.js +0 -121
- package/dist/node_modules/@allyhub-next/dev-server/dist/tools.d.ts +0 -24
- package/dist/node_modules/@allyhub-next/dev-server/dist/validate.d.ts +0 -6
- package/dist/node_modules/@allyhub-next/dev-server/dist/watcher.d.ts +0 -47
- package/dist/node_modules/@allyhub-next/dev-server/dist/writer.d.ts +0 -51
- package/dist/node_modules/@allyhub-next/export/dist/batch.d.ts +0 -70
- package/dist/node_modules/@allyhub-next/export/dist/deck-fonts.d.ts +0 -24
- package/dist/node_modules/@allyhub-next/export/dist/deck-pptx.d.ts +0 -12
- package/dist/node_modules/@allyhub-next/export/dist/export.d.ts +0 -123
- package/dist/node_modules/@allyhub-next/export/dist/index.d.ts +0 -5
- package/dist/node_modules/@allyhub-next/export/dist/names.d.ts +0 -36
- package/dist/node_modules/@allyhub-next/measure/dist/compare.d.ts +0 -195
- package/dist/node_modules/@allyhub-next/measure/dist/contrast.d.ts +0 -14
- package/dist/node_modules/@allyhub-next/measure/dist/cut-sheet.d.ts +0 -90
- package/dist/node_modules/@allyhub-next/measure/dist/cuts.d.ts +0 -108
- package/dist/node_modules/@allyhub-next/measure/dist/facts.d.ts +0 -60
- package/dist/node_modules/@allyhub-next/measure/dist/fidelity.d.ts +0 -40
- package/dist/node_modules/@allyhub-next/measure/dist/flat.d.ts +0 -42
- package/dist/node_modules/@allyhub-next/measure/dist/index.d.ts +0 -24
- package/dist/node_modules/@allyhub-next/measure/dist/loop.d.ts +0 -22
- package/dist/node_modules/@allyhub-next/measure/dist/overlay.d.ts +0 -57
- package/dist/node_modules/@allyhub-next/measure/dist/recording-report.d.ts +0 -66
- package/dist/node_modules/@allyhub-next/measure/dist/reference/compare.d.ts +0 -118
- package/dist/node_modules/@allyhub-next/measure/dist/reference/folder.d.ts +0 -75
- package/dist/node_modules/@allyhub-next/measure/dist/reference/interpret.d.ts +0 -39
- package/dist/node_modules/@allyhub-next/measure/dist/reference/piece.d.ts +0 -53
- package/dist/node_modules/@allyhub-next/measure/dist/reference/sections.d.ts +0 -53
- package/dist/node_modules/@allyhub-next/measure/dist/reference/sets.d.ts +0 -84
- package/dist/node_modules/@allyhub-next/measure/dist/reference/text.d.ts +0 -27
- package/dist/node_modules/@allyhub-next/measure/dist/reference/video.d.ts +0 -55
- package/dist/node_modules/@allyhub-next/measure/dist/seams.d.ts +0 -46
- package/dist/node_modules/@allyhub-next/measure/dist/sound-measures.d.ts +0 -74
- package/dist/node_modules/@allyhub-next/measure/dist/sound-report.d.ts +0 -156
- package/dist/node_modules/@allyhub-next/measure/dist/still.d.ts +0 -58
- package/dist/node_modules/@allyhub-next/measure/dist/version-voice.d.ts +0 -12
- package/dist/node_modules/@allyhub-next/project/dist/console.d.ts +0 -34
- package/dist/node_modules/@allyhub-next/project/dist/digest.d.ts +0 -9
- package/dist/node_modules/@allyhub-next/project/dist/index.d.ts +0 -11
- package/dist/node_modules/@allyhub-next/project/dist/ledger.d.ts +0 -17
- package/dist/node_modules/@allyhub-next/project/dist/media-index.d.ts +0 -27
- package/dist/node_modules/@allyhub-next/project/dist/page.d.ts +0 -119
- package/dist/node_modules/@allyhub-next/project/dist/says.d.ts +0 -15
- package/dist/node_modules/@allyhub-next/project/dist/scenery.d.ts +0 -35
- package/dist/node_modules/@allyhub-next/project/dist/session.d.ts +0 -37
- package/dist/node_modules/@allyhub-next/project/dist/stretch.d.ts +0 -38
- package/dist/node_modules/@allyhub-next/project/dist/version.d.ts +0 -114
- package/dist/node_modules/@allyhub-next/render/dist/cap.d.ts +0 -41
- package/dist/node_modules/@allyhub-next/render/dist/capture.d.ts +0 -78
- package/dist/node_modules/@allyhub-next/render/dist/clip.d.ts +0 -27
- package/dist/node_modules/@allyhub-next/render/dist/composite.d.ts +0 -106
- package/dist/node_modules/@allyhub-next/render/dist/delivery.d.ts +0 -18
- package/dist/node_modules/@allyhub-next/render/dist/doc/fonts.d.ts +0 -3
- package/dist/node_modules/@allyhub-next/render/dist/doc/index.d.ts +0 -3
- package/dist/node_modules/@allyhub-next/render/dist/doc/print.d.ts +0 -51
- package/dist/node_modules/@allyhub-next/render/dist/encode.d.ts +0 -111
- package/dist/node_modules/@allyhub-next/render/dist/errors.d.ts +0 -15
- package/dist/node_modules/@allyhub-next/render/dist/exports.d.ts +0 -67
- package/dist/node_modules/@allyhub-next/render/dist/ffmpeg.d.ts +0 -75
- package/dist/node_modules/@allyhub-next/render/dist/footage.d.ts +0 -169
- package/dist/node_modules/@allyhub-next/render/dist/image.d.ts +0 -16
- package/dist/node_modules/@allyhub-next/render/dist/index.d.ts +0 -26
- package/dist/node_modules/@allyhub-next/render/dist/junction.d.ts +0 -70
- package/dist/node_modules/@allyhub-next/render/dist/look.d.ts +0 -21
- package/dist/node_modules/@allyhub-next/render/dist/page.d.ts +0 -178
- package/dist/node_modules/@allyhub-next/render/dist/parts.d.ts +0 -140
- package/dist/node_modules/@allyhub-next/render/dist/png.d.ts +0 -37
- package/dist/node_modules/@allyhub-next/render/dist/pool.d.ts +0 -54
- package/dist/node_modules/@allyhub-next/render/dist/post-probe.d.ts +0 -27
- package/dist/node_modules/@allyhub-next/render/dist/post.d.ts +0 -27
- package/dist/node_modules/@allyhub-next/render/dist/render.d.ts +0 -151
- package/dist/node_modules/@allyhub-next/render/dist/segments.d.ts +0 -40
- package/dist/node_modules/@allyhub-next/render/dist/sound.d.ts +0 -24
- package/dist/node_modules/@allyhub-next/render/dist/stills.d.ts +0 -41
- package/dist/node_modules/@allyhub-next/render/dist/tools.d.ts +0 -25
- package/dist/node_modules/@allyhub-next/render/dist/webp.d.ts +0 -17
- package/dist/node_modules/@allyhub-next/runtime/dist/bridge.d.ts +0 -211
- package/dist/node_modules/@allyhub-next/runtime/dist/captions.d.ts +0 -24
- package/dist/node_modules/@allyhub-next/runtime/dist/clock.d.ts +0 -32
- package/dist/node_modules/@allyhub-next/runtime/dist/compose.d.ts +0 -149
- package/dist/node_modules/@allyhub-next/runtime/dist/console.d.ts +0 -21
- package/dist/node_modules/@allyhub-next/runtime/dist/contrast.d.ts +0 -13
- package/dist/node_modules/@allyhub-next/runtime/dist/embed.d.ts +0 -50
- package/dist/node_modules/@allyhub-next/runtime/dist/env.d.ts +0 -101
- package/dist/node_modules/@allyhub-next/runtime/dist/errors.d.ts +0 -21
- package/dist/node_modules/@allyhub-next/runtime/dist/facade.d.ts +0 -42
- package/dist/node_modules/@allyhub-next/runtime/dist/fonts.d.ts +0 -110
- package/dist/node_modules/@allyhub-next/runtime/dist/footage.d.ts +0 -52
- package/dist/node_modules/@allyhub-next/runtime/dist/frame.d.ts +0 -61
- package/dist/node_modules/@allyhub-next/runtime/dist/guards.d.ts +0 -32
- package/dist/node_modules/@allyhub-next/runtime/dist/index.d.ts +0 -14
- package/dist/node_modules/@allyhub-next/runtime/dist/inspect.d.ts +0 -112
- package/dist/node_modules/@allyhub-next/runtime/dist/locate.d.ts +0 -11
- package/dist/node_modules/@allyhub-next/runtime/dist/measure.d.ts +0 -41
- package/dist/node_modules/@allyhub-next/runtime/dist/mix-plan.d.ts +0 -42
- package/dist/node_modules/@allyhub-next/runtime/dist/music.d.ts +0 -29
- package/dist/node_modules/@allyhub-next/runtime/dist/output.d.ts +0 -5
- package/dist/node_modules/@allyhub-next/runtime/dist/pictures.d.ts +0 -39
- package/dist/node_modules/@allyhub-next/runtime/dist/piece.d.ts +0 -34
- package/dist/node_modules/@allyhub-next/runtime/dist/player/clips.d.ts +0 -41
- package/dist/node_modules/@allyhub-next/runtime/dist/player/cutout.d.ts +0 -57
- package/dist/node_modules/@allyhub-next/runtime/dist/player/player.d.ts +0 -78
- package/dist/node_modules/@allyhub-next/runtime/dist/reads.d.ts +0 -132
- package/dist/node_modules/@allyhub-next/runtime/dist/sound.d.ts +0 -22
- package/dist/node_modules/@allyhub-next/runtime/dist/speech.d.ts +0 -107
- package/dist/node_modules/@allyhub-next/runtime/dist/stage-kit.d.ts +0 -12
- package/dist/node_modules/@allyhub-next/runtime/dist/stage.d.ts +0 -34
- package/dist/node_modules/@allyhub-next/runtime/dist/styles.d.ts +0 -35
- package/dist/node_modules/@allyhub-next/runtime/dist/takes.d.ts +0 -72
- package/dist/node_modules/@allyhub-next/runtime/dist/titles.d.ts +0 -10
- package/dist/node_modules/@allyhub-next/runtime/dist/transitions.d.ts +0 -26
- package/dist/node_modules/@allyhub-next/site/dist/assets.d.ts +0 -59
- package/dist/node_modules/@allyhub-next/site/dist/assets.js +0 -2
- package/dist/node_modules/@allyhub-next/site/dist/astro.d.ts +0 -22
- package/dist/node_modules/@allyhub-next/site/dist/astro.js +0 -3
- package/dist/node_modules/@allyhub-next/site/dist/lockfile.d.ts +0 -40
- package/dist/node_modules/@allyhub-next/site/dist/lockfile.js +0 -3
- package/dist/node_modules/@allyhub-next/site/dist/media.d.ts +0 -24
- package/dist/node_modules/@allyhub-next/site/dist/media.js +0 -4
- package/dist/node_modules/@allyhub-next/site/package.json +0 -25
- package/dist/node_modules/@allyhub-next/slides-core/dist/preset.d.ts +0 -5
- package/dist/node_modules/@allyhub-next/slides-core/dist/preset.js +0 -2
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/charts.d.ts +0 -6
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/fonts.d.ts +0 -45
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/import.d.ts +0 -18
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/import.js +0 -3
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/index.d.ts +0 -5
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read.d.ts +0 -56
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/read.js +0 -4
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/shapes.d.ts +0 -72
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/text.d.ts +0 -32
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/theme.d.ts +0 -4
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/timing.d.ts +0 -32
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/write.d.ts +0 -32
- package/dist/node_modules/@allyhub-next/slides-pptx/dist/xml.d.ts +0 -32
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/draw.d.ts +0 -43
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/edit.d.ts +0 -4
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/edit.js +0 -2
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/index.d.ts +0 -4
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/ink.d.ts +0 -10
- package/dist/node_modules/@allyhub-next/slides-runtime/dist/load.d.ts +0 -6
- package/dist/node_modules/@allyhub-next/stage/dist/bakes.d.ts +0 -42
- package/dist/node_modules/@allyhub-next/stage/dist/graphics.d.ts +0 -7
- package/dist/node_modules/@allyhub-next/stage/dist/identity.d.ts +0 -2
- package/dist/node_modules/@allyhub-next/stage/dist/index.d.ts +0 -9
- package/dist/node_modules/@allyhub-next/stage/dist/page.d.ts +0 -87
- package/dist/node_modules/@allyhub-next/stage/dist/scenery-page.d.ts +0 -69
- package/dist/node_modules/@allyhub-next/stage/dist/scenery-solve.d.ts +0 -49
- package/dist/node_modules/@allyhub-next/stage/dist/scenery.d.ts +0 -8
- package/dist/node_modules/@allyhub-next/stage/dist/server.d.ts +0 -21
- package/dist/node_modules/@allyhub-next/stage-page/dist/host.d.ts +0 -22
- package/dist/node_modules/@allyhub-next/stage-page/dist/page.js +0 -79
- package/dist/site.d.ts +0 -2
- package/editor-web/assets/dist-BW2s9FMO.js +0 -4
- package/editor-web/assets/dist-C-6JmebI.js +0 -233
- package/editor-web/assets/dist-CCYMLMKN.js +0 -6
- package/editor-web/assets/dist-CHzurjMx.js +0 -33
- package/editor-web/assets/dist-DF7H1dxw.js +0 -1
- package/editor-web/assets/dist-Da5AUSKX.js +0 -2
- package/editor-web/assets/index-B7S9RZhL.css +0 -2
- package/editor-web/assets/index-CovQYWvD.js +0 -69
- package/editor-web/assets/minus-BrvjaJyO.js +0 -1
- package/editor-web/assets/react-DV5fPdiH.js +0 -101
- package/editor-web/assets/textarea-B0vCGdZI.js +0 -105
- package/editor-web/assets/trash-2-B0dvc1cZ.js +0 -1
- package/editor-web/assets/undo-2-A1EPubPO.js +0 -1
- /package/dist/node_modules/@allyhub-next/{site → ooxml}/LICENSE +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
import{z as e}from"zod";import{BlobSchema as f,Sha256Schema as l,TreeFileSchema as h,TreePathSchema as p}from"./blobs.js";import{placeParams as x}from"./editor.js";import{openEnum as S,readable as b}from"./open.js";export const SNAPSHOT_FORMAT=1,ConversationEntrySchema=e.object({sessionId:e.string().min(1),agent:e.string().min(1),title:e.string().optional(),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime(),transcript:l}),TranscriptSchema=e.object({sessionId:e.string().min(1),messages:e.array(e.object({method:e.string().min(1),params:e.unknown()}))}),SNAPSHOT_KINDS=["project","home"];const $=e.string().refine(t=>t.endsWith("/")&&p.safeParse(t.slice(0,-1)).success,"a folder of the tree, ending in /");export const ItemReachSchema=e.object({tree:e.array(p),files:e.array(p),own:e.record(p,h)}),SnapshotReachSchema=e.object({shared:e.array($),items:e.record(e.string(),ItemReachSchema)}),SnapshotManifestSchema=e.object({format:e.literal(SNAPSHOT_FORMAT),kind:e.enum(SNAPSHOT_KINDS),project:e.object({name:e.string().min(1).max(255)}),host:e.object({version:e.string().min(1)}),madeAt:e.iso.datetime(),files:e.record(p,f),tree:e.record(p,h),conversations:e.array(ConversationEntrySchema),reach:SnapshotReachSchema.optional()});export function scopedManifest(t,s){const o=t.reach,c=o!==void 0&&Object.hasOwn(o.items,s)?o.items[s]:void 0;if(o===void 0||c===void 0)return;const r={};for(const[n,i]of Object.entries(t.tree))o.shared.some(m=>n.startsWith(m))&&(r[n]=i);for(const n of c.tree){const i=Object.hasOwn(t.tree,n)?t.tree[n]:void 0;i!==void 0&&(r[n]=i)}Object.assign(r,c.own);const a={};for(const n of c.files){const i=Object.hasOwn(t.files,n)?t.files[n]:void 0;i!==void 0&&(a[n]=i)}return{format:t.format,kind:t.kind,project:t.project,host:t.host,madeAt:t.madeAt,files:a,tree:r,conversations:[]}}export const SNAPSHOT_SKIPPED=["node_modules",".allyhub/cache",".allyhub/out"],SNAPSHOT_TREE={editor:"editor/",runtime:"runtime/",build:"build/",media:"media/",matte:"matte/",scenery:"scenery/",bakes:"bakes/",stills:"stills/",answers:"answers/",previews:"previews/"};function d(t){return Array.isArray(t)?t.map(d):t!==null&&typeof t=="object"?Object.fromEntries(Object.keys(t).sort().map(s=>[s,d(t[s])])):t}export const snapshotAnswerPath=(t,s)=>`${SNAPSHOT_TREE.answers}${t}/${encodeURIComponent(JSON.stringify(d(s??{})))}.json`,stillPath=t=>`${SNAPSHOT_TREE.stills}${t}.webp`,stillsIndexPath=(t,s)=>`${SNAPSHOT_TREE.stills}index/${encodeURIComponent(t)}/${encodeURIComponent(s)}.json`,StillsIndexSchema=e.object({stills:e.record(e.string(),e.string().regex(/^[0-9a-f]{64}$/u))}),stillsIndexKey=t=>JSON.stringify(d(t)),snapshotPreviewPath=t=>`${SNAPSHOT_TREE.previews}${encodeURIComponent(t===""?".":t)}.json`,TREE_PAGES={stage:`${SNAPSHOT_TREE.runtime}stage.html`,viewer:`${SNAPSHOT_TREE.runtime}viewer.html`,probe:`${SNAPSHOT_TREE.runtime}probe.html`},pieceSourcePath=t=>`${SNAPSHOT_TREE.build}sources/${encodeURIComponent(t)}.json`,scenerySourcePath=t=>`${SNAPSHOT_TREE.scenery}sources/${encodeURIComponent(t)}.json`,treeHref=t=>t.split("/").map(encodeURIComponent).join("/"),SOUND_FOLDER="sound/";export function stageCsp(t,s){const o=u=>`${t}${u}`,c=o(SNAPSHOT_TREE.runtime),r=o(SNAPSHOT_TREE.build),a=o(SNAPSHOT_TREE.scenery),n=o(SNAPSHOT_TREE.media),i=o(SNAPSHOT_TREE.matte),m=o(SOUND_FOLDER);return["default-src 'none'",`script-src 'unsafe-eval' 'wasm-unsafe-eval' ${c} ${r} ${a}`,"worker-src blob:",`style-src 'unsafe-inline' ${c} ${r} ${a}`,`font-src ${c} ${r} ${n} data:`,`img-src ${n} ${r} ${a} data: blob:`,`media-src ${n} ${i} ${m} blob:`,`connect-src ${n} ${i} ${m} ${r} ${a} ${o(SNAPSHOT_TREE.bakes)} ${c} blob: data:`,`frame-ancestors ${s.length>0?s.join(" "):"'none'"}`].join("; ")}export function snapshotEditorUrl(t,s,o={}){const c=Object.entries({item:s,embed:"studio",snapshot:"1",...o.viewer===!0?{viewer:"1"}:{},...o.theme===void 0?{}:{theme:o.theme},...x(o.place)}).map(([r,a])=>`${r}=${encodeURIComponent(a)}`);return`${t.replace(/\/$/u,"")}/${SNAPSHOT_TREE.editor}?${c.join("&")}`}export const EXECUTOR_KINDS=["cloud","computer"],COMPUTER_HEADER="x-allyhub-computer",ComputerIdSchema=e.string().regex(/^[A-Za-z0-9_-]{16,64}$/u),WORKED_ELSEWHERE="worked_elsewhere",ExecutorSchema=e.object({kind:S(EXECUTOR_KINDS),here:e.boolean()}),SNAPSHOT_BLOBS_PATH="/api/snapshots/blobs",SNAPSHOTS_PATH="/api/snapshots",SnapshotCreateSchema=e.strictObject({project:e.strictObject({id:e.string().min(1).optional(),kind:e.enum(SNAPSHOT_KINDS),name:e.string().min(1).max(255)}),manifest:l}),SnapshotCreatedSchema=e.object({id:e.string().min(1),projectId:e.string().min(1)}),SnapshotMissingSchema=e.object({missing:e.array(l)}),PROJECTS_PATH="/api/projects",SnapshotInfoSchema=e.object({id:e.string().min(1),madeAt:e.iso.datetime(),hostVersion:e.string()}),ProjectInfoSchema=e.object({id:e.string().min(1),kind:e.enum(SNAPSHOT_KINDS),name:e.string(),latest:SnapshotInfoSchema.nullable(),executor:ExecutorSchema}),ProjectsResponseSchema=e.object({projects:b(ProjectInfoSchema)}),projectPath=t=>`${PROJECTS_PATH}/${encodeURIComponent(t)}`,projectExecutorPath=t=>`${projectPath(t)}/executor`,ExecutorMoveSchema=e.strictObject({kind:e.enum(EXECUTOR_KINDS)}),snapshotViewPath=t=>`${SNAPSHOTS_PATH}/${encodeURIComponent(t)}/view`,SnapshotViewSchema=e.object({origin:e.url(),expiresAt:e.iso.datetime()}),SNAPSHOT_VIEW={manifest:"manifest.json",files:"files/",conversations:"conversations/"},NEEDS_MACHINE=-32010;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
/** `GET`: the organizations the person is in, the one a request acts in unless it names another first. */
|
|
2
|
+
/** `GET`: the organizations the person is in, the one a request acts in unless it names another first; `POST { name }`: a new team. */
|
|
3
3
|
export declare const ORGANIZATIONS_PATH = "/api/organizations";
|
|
4
4
|
export declare const OrganizationsSchema: z.ZodObject<{
|
|
5
5
|
organizations: z.ZodArray<z.ZodObject<{
|
|
@@ -24,30 +24,48 @@ export declare const MembersSchema: z.ZodObject<{
|
|
|
24
24
|
}, z.core.$strip>>;
|
|
25
25
|
}, z.core.$strip>;
|
|
26
26
|
export type Members = z.infer<typeof MembersSchema>;
|
|
27
|
-
/**
|
|
28
|
-
export declare const memberLimitPath: (userId: string) => string;
|
|
27
|
+
/** A member's limit in credits a month, null for none (`members/limit`, account.ts). */
|
|
29
28
|
export declare const MemberLimitSchema: z.ZodObject<{
|
|
30
29
|
monthly: z.ZodNullable<z.ZodNumber>;
|
|
31
30
|
}, z.core.$strict>;
|
|
32
|
-
/** `DELETE`, its owner's: the team the request acts in dissolved. */
|
|
31
|
+
/** `DELETE`, its owner's: the team the request acts in dissolved; `PUT { name }`, an owner's or an admin's: renamed. */
|
|
33
32
|
export declare const ORGANIZATION_PATH = "/api/organization";
|
|
34
|
-
/** `POST`, its owner's: a dissolved team restored, within 30 days. */
|
|
35
|
-
export declare const restorePath: (id: string) => string;
|
|
36
33
|
/** `GET`: the person's cloud Studio, if any, and what an hour of it costs; `DELETE`: it gone. */
|
|
37
34
|
export declare const STUDIO_PATH = "/api/studio";
|
|
35
|
+
/** Whether a cloud Studio is running or asleep. */
|
|
36
|
+
export declare const STUDIO_STATES: readonly ["running", "paused"];
|
|
38
37
|
export declare const StudioSchema: z.ZodObject<{
|
|
39
38
|
studio: z.ZodNullable<z.ZodObject<{
|
|
40
|
-
state: z.ZodEnum<{
|
|
39
|
+
state: z.ZodUnion<readonly [z.ZodEnum<{
|
|
41
40
|
running: "running";
|
|
42
41
|
paused: "paused";
|
|
43
|
-
}>;
|
|
42
|
+
}>, z.core.$ZodBranded<z.ZodString, "Unknown", "out">]>;
|
|
44
43
|
organizationId: z.ZodString;
|
|
45
44
|
}, z.core.$strip>>;
|
|
46
45
|
creditsPerHour: z.ZodNumber;
|
|
47
46
|
}, z.core.$strip>;
|
|
48
47
|
export type StudioInfo = z.infer<typeof StudioSchema>;
|
|
49
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* `POST`, a browser's: the Studio made or woken, answered with its Host's
|
|
50
|
+
* origin on the gateway and a ticket. The window connects to
|
|
51
|
+
* `<origin as ws(s)>/studio?ticket=<ticket>`; the gateway takes a ticket
|
|
52
|
+
* once.
|
|
53
|
+
*/
|
|
50
54
|
export declare const STUDIO_OPEN_PATH = "/api/studio/open";
|
|
55
|
+
export declare const StudioOpenedSchema: z.ZodObject<{
|
|
56
|
+
origin: z.ZodURL;
|
|
57
|
+
ticket: z.ZodString;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
export type StudioOpened = z.infer<typeof StudioOpenedSchema>;
|
|
60
|
+
/**
|
|
61
|
+
* `POST`, a browser's: a ticket for the person's running Studio (to
|
|
62
|
+
* connect again, or for one upload: `POST <origin>/upload?…&ticket=`);
|
|
63
|
+
* 409 when it is not running.
|
|
64
|
+
*/
|
|
65
|
+
export declare const STUDIO_TICKET_PATH = "/api/studio/ticket";
|
|
66
|
+
export declare const StudioTicketSchema: z.ZodObject<{
|
|
67
|
+
ticket: z.ZodString;
|
|
68
|
+
}, z.core.$strip>;
|
|
51
69
|
/**
|
|
52
70
|
* `PUT { at }`, a cloud Studio's own Host's (its API key): when its next
|
|
53
71
|
* scheduled task is due, null for none. A paused Studio is woken then, its
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{z as t}from"zod";export const ORGANIZATIONS_PATH="/api/organizations",OrganizationsSchema=t.object({organizations:t.array(t.object({id:t.string(),name:t.string(),slug:t.string(),role:t.string(),dissolvedAt:t.iso.datetime().nullable()}))}),MEMBERS_PATH="/api/organization/members",MembersSchema=t.object({members:t.array(t.object({userId:t.string(),email:t.string(),name:t.string(),role:t.string(),limit:t.number().nullable(),used:t.number()}))}),
|
|
2
|
+
import{z as t}from"zod";import{openEnum as e}from"./open.js";export const ORGANIZATIONS_PATH="/api/organizations",OrganizationsSchema=t.object({organizations:t.array(t.object({id:t.string(),name:t.string(),slug:t.string(),role:t.string(),dissolvedAt:t.iso.datetime().nullable()}))}),MEMBERS_PATH="/api/organization/members",MembersSchema=t.object({members:t.array(t.object({userId:t.string(),email:t.string(),name:t.string(),role:t.string(),limit:t.number().nullable(),used:t.number()}))}),MemberLimitSchema=t.strictObject({monthly:t.number().nonnegative().nullable()}),ORGANIZATION_PATH="/api/organization",STUDIO_PATH="/api/studio",STUDIO_STATES=["running","paused"],StudioSchema=t.object({studio:t.object({state:e(STUDIO_STATES),organizationId:t.string()}).nullable(),creditsPerHour:t.number()}),STUDIO_OPEN_PATH="/api/studio/open",StudioOpenedSchema=t.object({origin:t.url(),ticket:t.string().min(1)}),STUDIO_TICKET_PATH="/api/studio/ticket",StudioTicketSchema=t.object({ticket:t.string().min(1)}),STUDIO_WAKE_PATH="/api/studio/wake",StudioWakeSchema=t.strictObject({at:t.iso.datetime().nullable()});
|
|
@@ -35,11 +35,11 @@ export declare const CHECK_STATES: readonly ["off", "waiting", "running", "done"
|
|
|
35
35
|
/** The check the server runs after edits, as it stands. */
|
|
36
36
|
export declare const CheckStateSchema: z.ZodObject<{
|
|
37
37
|
status: z.ZodEnum<{
|
|
38
|
+
failed: "failed";
|
|
39
|
+
running: "running";
|
|
38
40
|
off: "off";
|
|
39
41
|
waiting: "waiting";
|
|
40
|
-
running: "running";
|
|
41
42
|
done: "done";
|
|
42
|
-
failed: "failed";
|
|
43
43
|
}>;
|
|
44
44
|
revision: z.ZodInt;
|
|
45
45
|
problems: z.ZodArray<z.ZodObject<{
|
|
@@ -77,9 +77,9 @@ export declare const ExportJobSchema: z.ZodObject<{
|
|
|
77
77
|
types: z.ZodArray<z.ZodString>;
|
|
78
78
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>>;
|
|
79
79
|
state: z.ZodEnum<{
|
|
80
|
+
failed: "failed";
|
|
80
81
|
running: "running";
|
|
81
82
|
done: "done";
|
|
82
|
-
failed: "failed";
|
|
83
83
|
queued: "queued";
|
|
84
84
|
cancelled: "cancelled";
|
|
85
85
|
}>;
|
|
@@ -92,14 +92,16 @@ export type ExportJob = z.infer<typeof ExportJobSchema>;
|
|
|
92
92
|
export declare const IndexJobSchema: z.ZodObject<{
|
|
93
93
|
file: z.ZodString;
|
|
94
94
|
status: z.ZodEnum<{
|
|
95
|
+
failed: "failed";
|
|
95
96
|
running: "running";
|
|
96
97
|
done: "done";
|
|
97
|
-
failed: "failed";
|
|
98
98
|
}>;
|
|
99
99
|
message: z.ZodString;
|
|
100
100
|
share: z.ZodOptional<z.ZodNumber>;
|
|
101
101
|
}, z.core.$strict>;
|
|
102
102
|
export type IndexJob = z.infer<typeof IndexJobSchema>;
|
|
103
|
+
/** Most components `slides/component-stills` draws in one call. */
|
|
104
|
+
export declare const COMPONENT_STILLS_MAX = 64;
|
|
103
105
|
export declare const PROJECT_TOOLS: {
|
|
104
106
|
readonly "project/items": MethodSpec<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
|
|
105
107
|
items: z.ZodArray<z.ZodObject<{
|
|
@@ -116,8 +118,8 @@ export declare const PROJECT_TOOLS: {
|
|
|
116
118
|
entry: z.ZodString;
|
|
117
119
|
title: z.ZodOptional<z.ZodString>;
|
|
118
120
|
}, z.core.$strict>>;
|
|
119
|
-
folder: z.ZodString;
|
|
120
121
|
name: z.ZodString;
|
|
122
|
+
scope: z.ZodString;
|
|
121
123
|
revision: z.ZodInt;
|
|
122
124
|
}, z.core.$strict>>;
|
|
123
125
|
readonly "sheet/generated": MethodSpec<z.ZodObject<{
|
|
@@ -152,6 +154,12 @@ export declare const PROJECT_TOOLS: {
|
|
|
152
154
|
components: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
153
155
|
generators: z.ZodArray<z.ZodString>;
|
|
154
156
|
scripts: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
157
|
+
code: z.ZodUnknown;
|
|
158
|
+
theme: z.ZodObject<{
|
|
159
|
+
name: z.ZodString;
|
|
160
|
+
colors: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
161
|
+
fonts: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
162
|
+
}, z.core.$strict>;
|
|
155
163
|
}, z.core.$strict>>;
|
|
156
164
|
readonly "video/stage": MethodSpec<z.ZodObject<{
|
|
157
165
|
start: z.ZodOptional<z.ZodObject<{
|
|
@@ -162,7 +170,10 @@ export declare const PROJECT_TOOLS: {
|
|
|
162
170
|
}, z.core.$strict>>;
|
|
163
171
|
play: z.ZodOptional<z.ZodBoolean>;
|
|
164
172
|
chrome: z.ZodOptional<z.ZodBoolean>;
|
|
165
|
-
|
|
173
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
174
|
+
code: "code";
|
|
175
|
+
component: "component";
|
|
176
|
+
}>>;
|
|
166
177
|
item: z.ZodString;
|
|
167
178
|
version: z.ZodOptional<z.ZodString>;
|
|
168
179
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -209,13 +220,41 @@ export declare const PROJECT_TOOLS: {
|
|
|
209
220
|
}, z.core.$strict>;
|
|
210
221
|
}, z.core.$strict>>;
|
|
211
222
|
}, z.core.$strict>>;
|
|
223
|
+
readonly "slides/fonts": MethodSpec<z.ZodObject<{
|
|
224
|
+
item: z.ZodString;
|
|
225
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
226
|
+
faces: z.ZodArray<z.ZodObject<{
|
|
227
|
+
family: z.ZodString;
|
|
228
|
+
url: z.ZodURL;
|
|
229
|
+
weight: z.ZodOptional<z.ZodString>;
|
|
230
|
+
style: z.ZodOptional<z.ZodString>;
|
|
231
|
+
stretch: z.ZodOptional<z.ZodString>;
|
|
232
|
+
unicodeRange: z.ZodOptional<z.ZodString>;
|
|
233
|
+
}, z.core.$strict>>;
|
|
234
|
+
}, z.core.$strict>>;
|
|
235
|
+
readonly "slides/component-stills": MethodSpec<z.ZodObject<{
|
|
236
|
+
components: z.ZodArray<z.ZodObject<{
|
|
237
|
+
name: z.ZodString;
|
|
238
|
+
props: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
239
|
+
width: z.ZodNumber;
|
|
240
|
+
height: z.ZodNumber;
|
|
241
|
+
t: z.ZodNumber;
|
|
242
|
+
}, z.core.$strict>>;
|
|
243
|
+
item: z.ZodString;
|
|
244
|
+
version: z.ZodOptional<z.ZodString>;
|
|
245
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
246
|
+
stills: z.ZodArray<z.ZodNullable<z.ZodObject<{
|
|
247
|
+
key: z.ZodString;
|
|
248
|
+
url: z.ZodURL;
|
|
249
|
+
}, z.core.$strict>>>;
|
|
250
|
+
}, z.core.$strict>>;
|
|
212
251
|
readonly "check/results": MethodSpec<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
|
|
213
252
|
status: z.ZodEnum<{
|
|
253
|
+
failed: "failed";
|
|
254
|
+
running: "running";
|
|
214
255
|
off: "off";
|
|
215
256
|
waiting: "waiting";
|
|
216
|
-
running: "running";
|
|
217
257
|
done: "done";
|
|
218
|
-
failed: "failed";
|
|
219
258
|
}>;
|
|
220
259
|
revision: z.ZodInt;
|
|
221
260
|
problems: z.ZodArray<z.ZodObject<{
|
|
@@ -254,9 +293,9 @@ export declare const PROJECT_TOOLS: {
|
|
|
254
293
|
types: z.ZodArray<z.ZodString>;
|
|
255
294
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>>;
|
|
256
295
|
state: z.ZodEnum<{
|
|
296
|
+
failed: "failed";
|
|
257
297
|
running: "running";
|
|
258
298
|
done: "done";
|
|
259
|
-
failed: "failed";
|
|
260
299
|
queued: "queued";
|
|
261
300
|
cancelled: "cancelled";
|
|
262
301
|
}>;
|
|
@@ -276,9 +315,9 @@ export declare const PROJECT_TOOLS: {
|
|
|
276
315
|
types: z.ZodArray<z.ZodString>;
|
|
277
316
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>>;
|
|
278
317
|
state: z.ZodEnum<{
|
|
318
|
+
failed: "failed";
|
|
279
319
|
running: "running";
|
|
280
320
|
done: "done";
|
|
281
|
-
failed: "failed";
|
|
282
321
|
queued: "queued";
|
|
283
322
|
cancelled: "cancelled";
|
|
284
323
|
}>;
|
|
@@ -325,11 +364,11 @@ export declare const TOOL_NOTIFICATIONS: {
|
|
|
325
364
|
}, z.core.$strict>>;
|
|
326
365
|
readonly "check/changed": import("./jsonrpc.js").NotificationSpec<z.ZodObject<{
|
|
327
366
|
status: z.ZodEnum<{
|
|
367
|
+
failed: "failed";
|
|
368
|
+
running: "running";
|
|
328
369
|
off: "off";
|
|
329
370
|
waiting: "waiting";
|
|
330
|
-
running: "running";
|
|
331
371
|
done: "done";
|
|
332
|
-
failed: "failed";
|
|
333
372
|
}>;
|
|
334
373
|
revision: z.ZodInt;
|
|
335
374
|
problems: z.ZodArray<z.ZodObject<{
|
|
@@ -362,9 +401,9 @@ export declare const TOOL_NOTIFICATIONS: {
|
|
|
362
401
|
types: z.ZodArray<z.ZodString>;
|
|
363
402
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>>;
|
|
364
403
|
state: z.ZodEnum<{
|
|
404
|
+
failed: "failed";
|
|
365
405
|
running: "running";
|
|
366
406
|
done: "done";
|
|
367
|
-
failed: "failed";
|
|
368
407
|
queued: "queued";
|
|
369
408
|
cancelled: "cancelled";
|
|
370
409
|
}>;
|
|
@@ -377,9 +416,9 @@ export declare const TOOL_NOTIFICATIONS: {
|
|
|
377
416
|
jobs: z.ZodArray<z.ZodObject<{
|
|
378
417
|
file: z.ZodString;
|
|
379
418
|
status: z.ZodEnum<{
|
|
419
|
+
failed: "failed";
|
|
380
420
|
running: "running";
|
|
381
421
|
done: "done";
|
|
382
|
-
failed: "failed";
|
|
383
422
|
}>;
|
|
384
423
|
message: z.ZodString;
|
|
385
424
|
share: z.ZodOptional<z.ZodNumber>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{z as e}from"zod";import{KINDS as c}from"@allyhub-next/formats";import{PathSchema as
|
|
2
|
+
import{z as e}from"zod";import{KINDS as c}from"@allyhub-next/formats";import{PathSchema as s}from"./files.js";import{method as t,notification as r}from"./jsonrpc.js";const n={item:s,version:e.string().optional()};export const ImageSchema=e.strictObject({mime:e.string().regex(/^image\//u),data:e.base64()}),ProblemSchema=e.looseObject({code:e.string(),level:e.enum(["error","warn"]),message:e.string(),piece:e.string().optional(),part:e.string().optional(),t:e.number().optional()}),FactSchema=e.looseObject({kind:e.string(),data:e.unknown()}),TimelineSchema=e.looseObject({fps:e.number(),width:e.number(),height:e.number(),duration:e.number(),parts:e.array(e.unknown())}),CHECK_STATES=["off","waiting","running","done","failed"],CheckStateSchema=e.strictObject({status:e.enum(CHECK_STATES),revision:e.int().nonnegative(),problems:e.array(ProblemSchema),facts:e.array(FactSchema),versions:e.strictObject({total:e.int(),loaded:e.int(),reused:e.int()}).optional(),error:e.string().optional()}),EXPORT_STATES=["queued","running","done","failed","cancelled"],ExportOptionsSchema=e.record(e.string(),e.union([e.string(),e.boolean()])),ExportJobSchema=e.strictObject({id:e.string(),item:s,versions:e.array(e.string()),types:e.array(e.string()),options:ExportOptionsSchema.optional(),state:e.enum(EXPORT_STATES),progress:e.number().min(0).max(1),files:e.array(s),error:e.string().optional()}),IndexJobSchema=e.strictObject({file:s,status:e.enum(["running","done","failed"]),message:e.string(),share:e.number().min(0).max(1).optional()});const o=e.tuple([e.number(),e.number(),e.number()]),a=e.strictObject({url:e.string(),probe:e.string()});export const COMPONENT_STILLS_MAX=64,PROJECT_TOOLS={"project/items":t(e.strictObject({}),e.strictObject({items:e.array(e.strictObject({kind:e.enum(c),dir:s,entry:s,title:e.string().optional()})),name:e.string(),scope:e.string(),revision:e.int().nonnegative()}),"The project's items, as the build finds them."),"sheet/generated":t(e.strictObject({item:s}),e.strictObject({generated:e.unknown().optional(),failed:e.boolean()}),"What a sheet's sheet.ts makes now: sheets as sheet.yaml would hold them. Never written to a file."),"video/versions":t(e.strictObject({item:s}),e.strictObject({piece:e.string(),kind:e.enum(["video","slides"]),title:e.string().optional(),width:e.number(),height:e.number(),versions:e.array(e.strictObject({key:e.string(),lang:e.string().optional()}))}),"A video's or a deck's versions, one per language: what its stage, its timeline and its exports are asked for."),"slides/deck":t(e.strictObject({item:s}),e.strictObject({piece:e.string(),file:s,prefix:e.string(),layouts:e.array(e.string()),components:e.record(e.string(),e.unknown()),generators:e.array(e.string()),scripts:e.record(e.string(),s),code:e.unknown(),theme:e.strictObject({name:e.string(),colors:e.record(e.string(),e.string()),fonts:e.record(e.string(),e.string())})}),"A deck's layouts, components and generators, and its files: slides.yaml (its slides) and its script in each language (their words and notes), which the deck's editor edits."),"video/stage":t(e.strictObject({...n,start:e.strictObject({t:e.number().nonnegative().optional(),part:e.string().optional(),offset:e.number().nonnegative().optional(),dur:e.number().positive().optional()}).optional(),play:e.boolean().optional(),chrome:e.boolean().optional(),mode:e.enum(["code","component"]).optional()}),a,"The address of a version's stage page, for a sandboxed frame: it plays the piece and talks to its parent by postMessage."),"video/timeline":t(e.strictObject(n),e.strictObject({timeline:TimelineSchema,text:e.array(e.unknown())}),"A version's timeline, drawn nowhere."),"video/still":t(e.strictObject({...n,t:e.number().nonnegative().optional()}),e.strictObject({t:e.number(),image:ImageSchema,width:e.int().positive(),height:e.int().positive(),duration:e.number().nonnegative()}),"A moment of a version as the render draws it, as a picture."),"video/stills":t(e.strictObject({...n,moments:e.array(e.number().nonnegative()).min(1).max(32)}),e.strictObject({stills:e.array(e.strictObject({t:e.number(),image:ImageSchema}))}),"Several moments of a version as the render draws them: what `video/still` gives, on one page."),"slides/fonts":t(e.strictObject({item:s}),e.strictObject({faces:e.array(e.strictObject({family:e.string(),url:e.url(),weight:e.string().optional(),style:e.string().optional(),stretch:e.string().optional(),unicodeRange:e.string().optional()}))}),"The font faces a deck's slides draw with: the stage's own (the theme's standard fonts), allyhub.config.ts's fonts and what the deck's code imports, for a document that draws its slides without the project's stylesheets."),"slides/component-stills":t(e.strictObject({...n,components:e.array(e.strictObject({name:e.string(),props:e.record(e.string(),e.unknown()),width:e.number().positive(),height:e.number().positive(),t:e.number().nonnegative()})).min(1).max(COMPONENT_STILLS_MAX)}),e.strictObject({stills:e.array(e.strictObject({key:e.string(),url:e.url()}).nullable())}),"Components of a deck drawn alone, transparent, as the render draws them: pictures kept by what they show, given as addresses."),"check/results":t(e.strictObject({}),CheckStateSchema,"The check run after edits, as it stands."),"check/run":t(e.strictObject({}),e.strictObject({}),"Runs the check again now."),"export/start":t(e.strictObject({item:s,versions:e.array(e.string()).optional(),types:e.array(e.string().min(1)).max(10).optional(),options:ExportOptionsSchema.optional()}),e.strictObject({job:ExportJobSchema}),"Exports an item (its versions, as file types) into .allyhub/out/; `export/changed` says how it goes."),"export/cancel":t(e.strictObject({job:e.string()}),e.strictObject({}),"Stops an export."),"export/list":t(e.strictObject({}),e.strictObject({jobs:e.array(ExportJobSchema),reveal:e.boolean()}),"The exports asked for since the server started."),"export/reveal":t(e.strictObject({path:s}),e.strictObject({}),"Shows an exported file in the person's file manager, where the server runs on their computer (`export/list`'s `reveal`)."),"scenery/viewer":t(e.strictObject({item:s,camera:e.strictObject({position:o,target:o}).optional()}),a,"The address of a scenery's viewer page, for a sandboxed frame: it tells what the person does by postMessage.")},AGENT_DOES={"project/items":{files:"the project's folder"},"sheet/generated":{files:"the item's sheet.ts and sheet.yaml"},"video/versions":{command:"inspect combos"},"slides/deck":{files:"slides.ts, slides.yaml and the item's script.<locale>.yaml"},"video/stage":{command:"frames"},"video/timeline":{command:"inspect timeline"},"video/still":{command:"frames"},"video/stills":{command:"frames"},"slides/fonts":{files:"allyhub.config.ts's fonts and the stylesheets slides.ts imports"},"slides/component-stills":{command:"frames"},"check/results":{command:"inspect"},"check/run":{command:"check"},"export/start":{command:"render"},"export/cancel":{command:"render"},"export/list":{files:".allyhub/out/"},"export/reveal":{files:".allyhub/out/"},"scenery/viewer":{command:"scenery view"}};export function toolSpec(i){return Object.hasOwn(PROJECT_TOOLS,i)?PROJECT_TOOLS[i]:void 0}export const TOOL_NOTIFICATIONS={"project/changed":r(e.strictObject({revision:e.int().nonnegative()}),"The build saw a change: a stage or a timeline asked for now is the new one's."),"check/changed":r(CheckStateSchema,"The check started, ended or failed."),"export/changed":r(e.strictObject({job:ExportJobSchema}),"An export moved on."),"index/changed":r(e.strictObject({jobs:e.array(IndexJobSchema)}),"Making what the media index lacks moved on.")};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allyhub-next/protocol",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"default": "./dist/index.js"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
+
"sideEffects": false,
|
|
11
12
|
"private": true,
|
|
12
13
|
"license": "SEE LICENSE IN LICENSE.md"
|
|
13
14
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{readFile as
|
|
3
|
-
`)),
|
|
2
|
+
import{readFile as i}from"node:fs/promises";import{createRequire as S}from"node:module";import{dirname as f,join as u}from"node:path";const m=S(import.meta.url),E=["@fontsource-variable/commissioner/full.css","@fontsource-variable/jetbrains-mono/wght.css","@fontsource-variable/piazzolla/opsz.css","@fontsource-variable/piazzolla/opsz-italic.css"];let d;export function docFontsCss(){return d??=Promise.all(E.map(v)).then(t=>t.join(`
|
|
3
|
+
`)),d}async function v(t){const c=m.resolve(t),e=await i(c,"utf8"),o=[...e.matchAll(/url\(\.\/(files\/[^)]+\.woff2)\)/gu)];let n=e;for(const[s,r]of o){if(r===void 0)continue;const a=await i(u(f(c),r));n=n.replace(s,`url(data:font/woff2;base64,${a.toString("base64")})`)}return n}const z=["@fontsource/carlito/400.css","@fontsource/carlito/400-italic.css","@fontsource/carlito/700.css","@fontsource/carlito/700-italic.css","@fontsource/noto-sans-sc/400.css","@fontsource/noto-sans-sc/700.css"];export const SHEET_FONT="Carlito";let w;async function x(){const t=[];for(const c of z){const e=m.resolve(c),o=await i(e,"utf8");for(const[n]of o.matchAll(/@font-face\s*\{[^}]*\}/gu)){const s=/url\(\.\/(files\/[^)]+\.woff2)\)/u.exec(n)?.[1];if(s===void 0)continue;const a=(/unicode-range:\s*([^;}]+)/u.exec(n)?.[1]??"U+0-10FFFF").split(",").map(l=>{const[p="0",g]=l.trim().replace(/^U\+/iu,"").split("-"),h=Number.parseInt(p.replaceAll("?","0"),16),F=Number.parseInt((g??p).replaceAll("?","F"),16);return[h,F]});t.push({css:n.replace(/src:[^;]+;/u,`src: url(${u(f(e),s)}) format('woff2');`),file:u(f(e),s),ranges:a})}}return t}export async function sheetFontsCss(t){w??=x();const c=new Set;for(const o of t)c.add(o.codePointAt(0)??0);const e=[];for(const o of await w){if(![...c].some(r=>o.ranges.some(([a,l])=>r>=a&&r<=l)))continue;let s=b.get(o.file);s===void 0&&(s=`url(data:font/woff2;base64,${(await i(o.file)).toString("base64")})`,b.set(o.file,s)),e.push(o.css.replace(`url(${o.file})`,s))}return e.join(`
|
|
4
|
+
`)}const b=new Map;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
export{docPage,printPage,renderDoc,renderWord}from"./print.js";export{docFontsCss}from"./fonts.js";
|
|
2
|
+
export{docPage,printPage,printPdf,renderDoc,renderWord}from"./print.js";export{docFontsCss,SHEET_FONT,sheetFontsCss}from"./fonts.js";export{PdfJoiner}from"./pdf.js";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
import{open as D}from"node:fs/promises";const v=new Set([0,9,10,12,13,32]),F=new Set(Buffer.from("()<>[]{}/%","latin1"));class B{bytes;text;at=0;offsets=new Map;trailer;constructor(t){this.bytes=t,this.text=t.toString("latin1");const e=/startxref\s+(\d+)\s+%%EOF\s*$/u.exec(this.text);if(!e)throw new Error("Not a PDF: no startxref.");if(this.at=Number(e[1]),!this.text.startsWith("xref",this.at))throw new Error("This PDF keeps its cross-references in a stream, which this reader does not read.");for(this.at+=4;this.skip(),!this.text.startsWith("trailer",this.at);){const s=this.number(),i=this.number();this.skip();for(let d=0;d<i;d++){const g=this.text.slice(this.at,this.at+20);g[17]==="n"&&this.offsets.set(s+d,Number(g.slice(0,10))),this.at+=20}}this.at+=7;const r=this.value();if(r.t!=="dict")throw new Error("Not a PDF: its trailer is no dictionary.");this.trailer=r.v}numbers(){return[...this.offsets.keys()].sort((t,e)=>t-e)}skip(){const{bytes:t}=this;for(;;){const e=t[this.at];if(e===void 0)return;if(v.has(e))this.at++;else if(e===37)for(;this.at<t.length&&t[this.at]!==10&&t[this.at]!==13;)this.at++;else return}}regular(){const t=this.at;for(;this.at<this.bytes.length;){const e=this.bytes[this.at]??0;if(v.has(e)||F.has(e))break;this.at++}return this.text.slice(t,this.at)}number(){this.skip();const t=this.regular(),e=Number(t);if(t===""||Number.isNaN(e))throw new Error(`Not a number at ${String(this.at)}: ${t}`);return e}value(){this.skip();const{text:t}=this,e=t[this.at];if(t.startsWith("<<",this.at)){this.at+=2;const s=new Map;for(;;){if(this.skip(),t.startsWith(">>",this.at))return this.at+=2,{t:"dict",v:s};const i=this.value();if(i.t!=="raw"||!i.s.startsWith("/"))throw new Error(`A dictionary's key is no name at ${String(this.at)}.`);s.set(i.s,this.value())}}if(e==="["){this.at++;const s=[];for(;;){if(this.skip(),t[this.at]==="]")return this.at++,{t:"arr",v:s};s.push(this.value())}}if(e==="("){const s=this.at;let i=0;for(;this.at<t.length;this.at++){const d=t[this.at];if(d==="\\")this.at++;else if(d==="(")i++;else if(d===")"&&--i===0)break}return this.at++,{t:"raw",s:t.slice(s,this.at)}}if(e==="<"){const s=t.indexOf(">",this.at),i=t.slice(this.at,s+1);return this.at=s+1,{t:"raw",s:i}}if(e==="/")return this.at++,{t:"raw",s:`/${this.regular()}`};const r=this.regular();if(r==="")throw new Error(`Unexpected ${String(e)} at ${String(this.at)}.`);if(/^\d+$/u.test(r)){const s=this.at;this.skip();const i=this.regular();if(/^\d+$/u.test(i)&&(this.skip(),t[this.at]==="R"&&(v.has(this.bytes[this.at+1]??32)||F.has(this.bytes[this.at+1]??32))))return this.at++,{t:"ref",n:Number(r)};this.at=s}return{t:"raw",s:r}}object(t){const e=this.offsets.get(t);if(e===void 0)throw new Error(`No object ${String(t)}.`);if(this.at=e,this.number(),this.number(),this.skip(),!this.text.startsWith("obj",this.at))throw new Error(`Object ${String(t)} is not where its entry says.`);this.at+=3;const r=this.value();if(this.skip(),!this.text.startsWith("stream",this.at))return{value:r};this.at+=6,this.text[this.at]==="\r"&&this.at++,this.text[this.at]===`
|
|
3
|
+
`&&this.at++;const s=r.t==="dict"?r.v.get("/Length"):void 0,i=s?.t==="raw"?Number(s.s):s?.t==="ref"?Number(this.object(s.n).value.s):Number.NaN;if(!Number.isFinite(i))throw new Error(`Object ${String(t)}'s stream has no length.`);return{value:r,stream:this.bytes.subarray(this.at,this.at+i)}}}const $=a=>a?.t==="dict"?a.v:void 0,y=a=>a?.t==="raw"?a.s:void 0,p=a=>a?.t==="ref"?a.n:void 0;function m(a,t){switch(a.t){case"raw":return a.s;case"ref":return`${String(t(a.n))} 0 R`;case"arr":return`[${a.v.map(e=>m(e,t)).join(" ")}]`;case"dict":return`<<${[...a.v].map(([e,r])=>`${e} ${m(r,t)}`).join(`
|
|
4
|
+
`)}>>`}}function I(a){if(/^[\x20-\x7e]*$/u.test(a))return`(${a.replace(/[\\()]/gu,"\\$&")})`;let t="FEFF";for(let e=0;e<a.length;e++)t+=a.charCodeAt(e).toString(16).padStart(4,"0").toUpperCase();return`<${t}>`}const K=["/Resources","/MediaBox","/CropBox","/Rotate"];export class PdfJoiner{file;offset=0;next=1;offsets=[];pages=[];structure=[];parents=[];keys=0;lang;root;tree;constructor(t){this.file=t,this.tree=this.next++,this.root=this.next++}static async create(t){const e=new PdfJoiner(await D(t,"w"));return await e.put(Buffer.from(`%PDF-1.4
|
|
5
|
+
%âãÏÓ
|
|
6
|
+
`,"latin1")),e}async put(t){await this.file.write(t,0,t.length,this.offset),this.offset+=t.length}async object(t,e,r){if(this.offsets[t]=this.offset,r===void 0){await this.put(Buffer.from(`${String(t)} 0 obj
|
|
7
|
+
${e}
|
|
8
|
+
endobj
|
|
9
|
+
`,"latin1"));return}await this.put(Buffer.from(`${String(t)} 0 obj
|
|
10
|
+
${e}
|
|
11
|
+
stream
|
|
12
|
+
`,"latin1")),await this.put(r),await this.put(Buffer.from(`
|
|
13
|
+
endstream
|
|
14
|
+
endobj
|
|
15
|
+
`,"latin1"))}async add(t){const e=new B(t),r=p(e.trailer.get("/Root"));if(r===void 0)throw new Error("A PDF without a catalog.");const s=$(e.object(r).value)??new Map;this.lang??=s.get("/Lang");const i=new Set([r]),d=p(e.trailer.get("/Info"));d!==void 0&&i.add(d);const g=[],f=(n,u)=>{const c=$(e.object(n).value);if(c)if(y(c.get("/Type"))==="/Pages"){i.add(n);const l=new Map(u);for(const h of K){const o=c.get(h);o!==void 0&&l.set(h,o)}for(const h of c.get("/Kids")?.t==="arr"?c.get("/Kids").v:[]){const o=p(h);o!==void 0&&f(o,l)}}else g.push({n,inherits:u})},w=p(s.get("/Pages"));w!==void 0&&f(w,new Map);const b=p(s.get("/StructTreeRoot")),S=b===void 0?void 0:$(e.object(b).value),k=this.keys,E=[],R=[];if(b!==void 0&&S){i.add(b);const n=S.get("/K");for(const h of n?.t==="arr"?n.v:n?[n]:[]){const o=p(h);o!==void 0&&E.push(o)}const u=p(S.get("/ParentTree")),c=[],l=h=>{i.add(h);const o=$(e.object(h).value),x=o?.get("/Nums");x?.t==="arr"&&c.push(...x.v);const T=o?.get("/Kids");for(const A of T?.t==="arr"?T.v:[]){const P=p(A);P!==void 0&&l(P)}};u!==void 0&&l(u);for(let h=0;h+1<c.length;h+=2){const o=c[h+1];o&&R.push([k+Number(y(c[h])),o])}this.keys=k+Number(y(S.get("/ParentTreeNextKey"))??"0")}const j=new Map;for(const n of e.numbers())i.has(n)||j.set(n,this.next++);const N=n=>{if(n===b)return this.root;if(i.has(n))return this.tree;const u=j.get(n);if(u===void 0)throw new Error(`A reference to object ${String(n)}, which is not there.`);return u};this.structure.push(...E.map(N));for(const[n,u]of R)this.parents.push([n,{t:"raw",s:m(u,N)}]);const M=new Map(g.map(n=>[n.n,n.inherits]));for(const[n,u]of j){const c=e.object(n),l=$(c.value);if(l){const h=M.get(n);if(h){this.pages.push(u);for(const[o,x]of h)l.has(o)||l.set(o,x)}for(const o of["/StructParents","/StructParent"]){const x=y(l.get(o));x!==void 0&&l.set(o,{t:"raw",s:String(k+Number(x))})}}await this.object(u,m(c.value,N),c.stream)}}async close(t={}){try{await this.object(this.tree,`<</Type /Pages
|
|
16
|
+
/Count ${String(this.pages.length)}
|
|
17
|
+
/Kids [${this.pages.map(f=>`${String(f)} 0 R`).join(" ")}]>>`);const e=this.structure.length>0,r=this.next++;e&&(await this.object(this.root,`<</Type /StructTreeRoot
|
|
18
|
+
/K [${this.structure.map(f=>`${String(f)} 0 R`).join(" ")}]
|
|
19
|
+
/ParentTree ${String(r)} 0 R
|
|
20
|
+
/ParentTreeNextKey ${String(this.keys)}>>`),await this.object(r,`<</Nums [${this.parents.map(([f,w])=>`${String(f)} ${m(w,b=>b)}`).join(" ")}]>>`));const s=this.next++;await this.object(s,["<</Type /Catalog",`/Pages ${String(this.tree)} 0 R`,...e?["/MarkInfo <</Marked true>>",`/StructTreeRoot ${String(this.root)} 0 R`]:[],...this.lang?[`/Lang ${m(this.lang,f=>f)}`]:[],...t.title===void 0?[]:["/ViewerPreferences <</DisplayDocTitle true>>"],">>"].join(`
|
|
21
|
+
`));const i=this.next++;await this.object(i,`<<${t.title===void 0?"":`/Title ${I(t.title)}
|
|
22
|
+
`}/Producer (AllyHub)>>`);const d=this.offset,g=[`xref
|
|
23
|
+
0 ${String(this.next)}
|
|
24
|
+
`,`0000000000 65535 f
|
|
25
|
+
`];for(let f=1;f<this.next;f++){const w=this.offsets[f];g.push(w===void 0?`0000000000 65535 f
|
|
26
|
+
`:`${String(w).padStart(10,"0")} 00000 n
|
|
27
|
+
`)}g.push(`trailer
|
|
28
|
+
<</Size ${String(this.next)}
|
|
29
|
+
/Root ${String(s)} 0 R
|
|
30
|
+
/Info ${String(i)} 0 R>>
|
|
31
|
+
startxref
|
|
32
|
+
${String(d)}
|
|
33
|
+
%%EOF
|
|
34
|
+
`),await this.put(Buffer.from(g.join(""),"latin1"))}finally{await this.file.close()}}get pageCount(){return this.pages.length}}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{mkdir as
|
|
2
|
+
import{mkdir as u,readFile as g,writeFile as y}from"node:fs/promises";import{cpus as S}from"node:os";import{dirname as w,extname as I,join as d,posix as v}from"node:path";import{openPage as m,startBrowser as h}from"@allyhub-next/browser";import{docHtml as O,parseDoc as b}from"@allyhub-next/doc";import{docxOf as j}from"@allyhub-next/doc/docx";import{docFontsCss as E}from"./fonts.js";import{PdfJoiner as M}from"./pdf.js";const $={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".svg":"image/svg+xml"},k=/^([a-z][a-z0-9+.-]*:|\/\/)/i;async function P(t,e,a){const n=new Map,r=async s=>{for(const i of s){if("children"in i&&await r(i.children??[]),i.type!=="image"||k.test(i.src))continue;const o=v.normalize(v.join(e.dir,decodeURIComponent(i.src))),c=$[I(o).toLowerCase()];if(c===void 0||o.startsWith(".."))continue;const f=await g(d(t,o)).catch(()=>{});f&&n.set(i.src,{type:c,bytes:f})}};return await r(a),n}const x=({type:t,bytes:e})=>`data:${t};base64,${e.toString("base64")}`;export async function docPage(t,e){const a=b(await g(d(t,e.file),"utf8")),n=await P(t,e,a.blocks);return O(a.blocks,{title:e.title??e.path,image:r=>{const s=n.get(r);return s&&x(s)},fonts:await E()})}const R={"image/png":"png","image/jpeg":"jpg","image/gif":"gif"},T=2,z=.92;async function D(t,e){const a=R[e.type],n=await t.evaluate(`(async () => {
|
|
3
3
|
const image = new Image();
|
|
4
|
-
image.src = ${JSON.stringify(
|
|
4
|
+
image.src = ${JSON.stringify(x(e))};
|
|
5
5
|
try { await image.decode(); } catch { return null; }
|
|
6
6
|
const width = image.naturalWidth || 1024;
|
|
7
7
|
const height = image.naturalHeight || 768;
|
|
8
8
|
if (${JSON.stringify(a!==void 0)}) return { width, height };
|
|
9
|
-
const scale = ${JSON.stringify(
|
|
9
|
+
const scale = ${JSON.stringify(e.type==="image/svg+xml"?T:1)};
|
|
10
10
|
const canvas = document.createElement("canvas");
|
|
11
11
|
canvas.width = width * scale;
|
|
12
12
|
canvas.height = height * scale;
|
|
@@ -15,4 +15,4 @@ import{mkdir as m,readFile as g,writeFile as u}from"node:fs/promises";import{dir
|
|
|
15
15
|
context.fillRect(0, 0, canvas.width, canvas.height);
|
|
16
16
|
context.drawImage(image, 0, 0, canvas.width, canvas.height);
|
|
17
17
|
return { width, height, jpeg: canvas.toDataURL("image/jpeg", ${String(z)}) };
|
|
18
|
-
})()`);if(!n)return;const{width:
|
|
18
|
+
})()`);if(!n)return;const{width:r,height:s,jpeg:i}=n;if(a!==void 0)return{data:e.bytes,type:a,width:r,height:s};if(i!==void 0)return{data:Buffer.from(i.slice(i.indexOf(",")+1),"base64"),type:"jpg",width:r,height:s}}export async function renderWord(t){const{root:e,doc:a}=t,{blocks:n}=b(await g(d(e,a.file),"utf8")),r=await P(e,a,n),s=new Map;if(r.size>0){const o=await h({gpu:!1,htmlInCanvas:!1});try{const c=await m(o,{width:900,height:1200,allow:()=>!1});for(const[f,l]of r){const p=await D(c,l);p&&s.set(f,p)}}finally{await o.close()}}const i=await j(t.docx,t.zip,n,{title:a.title??a.path,picture:o=>s.get(o)});await u(w(t.out),{recursive:!0}),await y(t.out,i)}async function C(t,e){const{frameTree:a}=await t.session.send("Page.getFrameTree");await t.session.send("Page.setDocumentContent",{frameId:a.frame.id,html:e}),await t.evaluate("new Promise((r) => (document.readyState === 'complete' ? r() : addEventListener('load', () => r(), { once: true }))).then(() => document.fonts.ready).then(() => window.allyhubReady).then(() => true)")}async function B(t){const{cssContentSize:e}=await t.session.send("Page.getLayoutMetrics"),a=await t.session.send("Page.captureScreenshot",{format:"png",clip:{x:0,y:0,width:Math.ceil(e.width),height:Math.ceil(e.height),scale:1},captureBeyondViewport:!0});return Buffer.from(a.data,"base64")}const F=Math.max(1,Math.min(4,Math.floor(S().length/2)));async function J(t,e){const{stream:a}=await t.session.send("Page.printToPDF",{preferCSSPageSize:!0,printBackground:!0,generateTaggedPDF:e,generateDocumentOutline:!1,transferMode:"ReturnAsStream"});if(a===void 0)throw new Error("Chrome gave no PDF.");const n=[];for(;;){const r=await t.session.send("IO.read",{handle:a,size:1048576});if(n.push(Buffer.from(r.data,r.base64Encoded?"base64":"latin1")),r.eof)break}return await t.session.send("IO.close",{handle:a}),Buffer.concat(n)}export async function printPdf(t){await u(w(t.file),{recursive:!0});const e=await h({gpu:!1,htmlInCanvas:!1}),a=await M.create(t.file),n=t.tagged??!0,r=async s=>{t.signal?.throwIfAborted();const i=await m(e,{width:900,height:1200,allow:()=>!1});try{return await C(i,await t.parts.html(s)),await J(i,n)}finally{await i.close()}};try{const s=[];let i=0;const o=()=>{i<t.parts.count&&s.push(r(i++))};for(let c=0;c<F;c++)o();for(let c=0;c<t.parts.count;c++){const f=s.shift();if(!f)break;const l=await f;o(),await a.add(l)}await Promise.allSettled(s)}finally{await a.close(t.title===void 0?{}:{title:t.title}),await e.close()}}export async function printPage(t){const e=[];for(const a of t.types){const n=d(t.out,`${t.name}.${a}`);await u(w(n),{recursive:!0}),a==="pdf"?await printPdf({parts:{count:1,html:()=>t.html},file:n,...t.title===void 0?{}:{title:t.title}}):await y(n,await L(t)),e.push(`${t.name}.${a}`)}return e}async function L(t){const e=await h({gpu:!1,htmlInCanvas:!1});try{const a=await m(e,{width:t.width??900,height:1200,scale:2,allow:()=>!1});return await C(a,t.html),t.pictureCss!==void 0&&await a.evaluate(`(() => { const s = document.createElement('style'); s.textContent = ${JSON.stringify(t.pictureCss)}; document.head.append(s); return true; })()`),await B(a)}finally{await e.close()}}export async function renderDoc(t){return printPage({html:await docPage(t.root,t.doc),out:t.out,name:t.name??"doc",types:t.types?.length?t.types:["pdf"],pictureCss:"body{padding:48px 0;background:#fff}",title:t.doc.title??t.doc.path})}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{writeFile as b}from"node:fs/promises";import{createRequire as
|
|
3
|
-
`)??"";w&&h.addNotes(w)}const
|
|
2
|
+
import{writeFile as b}from"node:fs/promises";import{createRequire as j}from"node:module";import{captionCues as L,paperOf as v,subtitleCues as P,toSrt as C,toVtt as O}from"@allyhub-next/video-core";import{RenderError as E}from"./errors.js";import{finishPdf as N}from"./pdf.js";import{backgroundStill as A,finalStill as u,footageStill as B}from"./stills.js";export function stillsOf(t,e=!1){const i=[];for(const[a,n]of t.parts.entries()){if(n.hidden===!0)continue;const r=n.title??String(a+1),o=e&&n.steps!==void 0?n.steps:[n.still],s=o.length===1?(n.steps?.length??1)-1:0;o.forEach((c,l)=>{i.push({part:n,step:s+l,at:c,title:o.length>1?`${r} (${String(l+1)})`:r})})}return i}async function f(t,e,i){return await b(t,e),{out:t,units:i,bytes:e.byteLength}}const d=t=>({target:t.target,look:t.look,media:t.media,...t.ffmpeg===void 0?{}:{ffmpeg:t.ffmpeg},...t.ffprobe===void 0?{}:{ffprobe:t.ffprobe}});export async function renderCaptions(t){const{timeline:e}=t.page,i=await t.page.lines();if(i.length===0)throw new E("no-speech",`${t.target.output} of ${t.target.piece} (${t.target.combo.lang??"this combo"}) says nothing with word times, so there are no subtitles to export.`,{hint:'Give parts speech: speech: take("./take.mp4") with its .words.json beside it, or say(s("…")) and allyhub voice.'});const a={lines:i,fps:e.fps},n=t.captions?L(a,t.captions):P(a,await t.page.captionOptions()),r=t.type==="srt"?C(n):O(n);return f(t.out,new TextEncoder().encode(r),n.length)}export async function renderCover(t){const{page:e}=t,i=await e.covers()>0?await A(e.timeline,await e.cover(0),"jpeg",t):await u(e,e.timeline.parts[0]?.still??0,{...d(t),format:"jpeg"});return f(t.out,i,1)}export async function renderPdf(t){const{timeline:e}=t.page,i=e.background,a=[];for(const o of stillsOf(e,t.steps)){const s=await B(t.media,e,o.at,"jpeg",t);a.push({still:o.at,title:o.title,background:s?`url(data:image/jpeg;base64,${s.toString("base64")}) 0 0 / 100% 100% no-repeat`:i})}const n=await t.page.print(a,e.paper??v(t.target.format)),r=await N(n,{...t.title===void 0?{}:{title:t.title},outline:a.map(o=>o.title)});return f(t.out,r,a.length)}export async function renderPng(t){const e=stillsOf(t.page.timeline,t.steps),i=Math.max(2,String(e.length).length),a=t.out.replace(/\.png$/i,""),n=[];let r=0;const o=await t.stills?.(e);for(const[s,c]of e.entries()){const l=e.length===1?t.out:`${a}.${String(s+1).padStart(i,"0")}.png`,g=o?.[s]??await u(t.page,c.at,d(t));await b(l,g),n.push(l),r+=g.byteLength}return{out:n[0]??t.out,units:n.length,bytes:r,files:n}}const G=j(import.meta.url)("pptxgenjs");export async function renderPptx(t){const{timeline:e}=t.page,{width:i,height:a}=e,n=/^([\d.]+)in ([\d.]+)in$/u.exec(e.paper??""),r=13.333/Math.max(i,a),o=n?Number(n[1]):i*r,s=n?Number(n[2]):a*r,c=new G;c.defineLayout({name:"ALLYHUB",width:o,height:s}),c.layout="ALLYHUB";const l=await t.page.text(),g=stillsOf(e,t.steps),y=await t.stills?.(g);for(const[S,m]of g.entries()){const k=y?.[S]??await u(t.page,m.at,d(t)),h=c.addSlide();h.addImage({data:`image/png;base64,${k.toString("base64")}`,x:0,y:0,w:o,h:s});const p=l.find($=>$.key===m.part.key),w=p?.notes??p?.spoken??p?.onScreen.join(`
|
|
3
|
+
`)??"";w&&h.addNotes(w)}const x=await c.write({outputType:"nodebuffer"});return f(t.out,x,g.length)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
import{PDFDict as b,PDFDocument as w,PDFHexString as h,PDFName as e,PDFNull as P,PDFNumber as C,PDFString as N}from"pdf-lib";const O=o=>/^[\x20-\x7e]*$/u.test(o)&&!/[()\\]/u.test(o)?N.of(o):h.fromText(o);function j(){const o=process.env.SOURCE_DATE_EPOCH;if(!(o===void 0||!/^\d+$/u.test(o)))return new Date(Number(o)*1e3)}export async function finishPdf(o,c){const t=await w.load(o,{updateMetadata:!1}),i=t.context.lookup(t.context.trailerInfo.Info),r=j();r?(t.setCreationDate(r),t.setModificationDate(r)):i instanceof b&&(i.delete(e.of("CreationDate")),i.delete(e.of("ModDate"))),c.title!==void 0&&c.title!==""&&t.setTitle(c.title,{showInWindowTitleBar:!0});const d=t.getPages(),l=(c.outline??[]).slice(0,d.length);if(l.length>0){const u=t.context.nextRef(),n=l.map(()=>t.context.nextRef());l.forEach((T,a)=>{const D=d[a],x=n[a];if(!D||!x)return;const s=t.context.obj({});s.set(e.of("Title"),O(T)),s.set(e.of("Parent"),u),s.set(e.of("Dest"),t.context.obj([D.ref,e.of("Fit")]));const g=n[a-1],p=n[a+1];g&&s.set(e.of("Prev"),g),p&&s.set(e.of("Next"),p),t.context.assign(x,s)});const f=t.context.obj({});f.set(e.of("Type"),e.of("Outlines"));const m=n[0],F=n.at(-1);f.set(e.of("First"),m??P),f.set(e.of("Last"),F??P),f.set(e.of("Count"),C.of(n.length)),t.context.assign(u,f),t.catalog.set(e.of("Outlines"),u)}return Buffer.from(await t.save({useObjectStreams:!1}))}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
const y=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","math","emoji","fangsong","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","-apple-system","blinkmacsystemfont","inherit","initial"]);export const isGeneric=t=>y.has(t.toLowerCase());export function families(t){const
|
|
2
|
+
const y=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","math","emoji","fangsong","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","-apple-system","blinkmacsystemfont","inherit","initial"]);export const isGeneric=t=>y.has(t.toLowerCase());export function families(t){const e=[];let r="",i="";for(const n of t)i?n===i?i="":r+=n:n==='"'||n==="'"?i=n:n===","?(e.push(r.trim()),r=""):r+=n;return e.push(r.trim()),e.filter(Boolean)}export function unicodeRanges(t){const e=[];for(const r of t.split(",")){const i=/^\s*u\+([0-9a-f?]+)(?:-([0-9a-f]+))?\s*$/i.exec(r),n=i?.[1];if(n)if(n.includes("?"))e.push([parseInt(n.replace(/\?/g,"0"),16),parseInt(n.replace(/\?/g,"f"),16)]);else{const o=parseInt(n,16);e.push([o,i[2]?parseInt(i[2],16):o])}}return e}export function weightRange(t){const e=s=>s==="bold"?700:s==="normal"?400:Number(s),[r="400",i]=t.trim().split(/\s+/),n=e(r),o=i===void 0?n:e(i);return Number.isFinite(n)&&Number.isFinite(o)?[n,o]:[400,400]}export function matchWeight(t,e){if(e.length===0)return;if(e.some(([s,a])=>t>=s&&t<=a))return t;const r=e.filter(([s])=>s>t).map(([s])=>s),i=e.filter(([,s])=>s<t).map(([,s])=>s),n=r.length?Math.min(...r):void 0,o=i.length?Math.max(...i):void 0;return t>500?n??o:t<400?o??n:n!==void 0&&n<=500?n:o??n}export const BOLD=600;const m=(t,e)=>t.ranges.length===0||e.some(r=>t.ranges.some(([i,n])=>r>=i&&r<=n));export function fontIssue(t,e,r,i){const n=t.families[0];if(n===void 0||isGeneric(n))return;let o;for(const s of t.families){if(isGeneric(s))return o&&{kind:"fallback",...o,usedFamily:s};const a=r.filter(l=>l.family.toLowerCase()===s.toLowerCase());if(a.length===0){if(i(s))return o&&{kind:"fallback",...o,usedFamily:s};o??={family:s,failed:!1};continue}const c=a.filter(l=>m(l,e));if(c.length===0)continue;const f=c.filter(l=>l.status==="loaded");if(f.length===0){if(c.every(l=>l.status==="error")){o??={family:s,failed:!0};continue}return}if(o)return{kind:"fallback",...o,usedFamily:s};const u=matchWeight(t.weight,f.map(l=>l.weight)),d=Math.max(...f.map(l=>l.weight[1]));return t.weight>=BOLD&&d<BOLD?{kind:"bold",family:s,weight:t.weight,drawn:u??d,faked:t.synthBold}:t.italic&&!f.some(l=>l.slanted)?{kind:"italic",family:s,faked:t.synthItalic}:void 0}return o&&{kind:"fallback",...o,usedFamily:"the browser's default font"}}export function drawnFamilies(t,e,r,i){const n=[];for(const o of new Set(e)){let s="the browser's default font";for(const a of t.families){if(isGeneric(a)){s=a;break}const c=r.filter(f=>f.family.toLowerCase()===a.toLowerCase());if(c.length===0?i(a):c.some(f=>f.status==="loaded"&&m(f,[o]))){s=a;break}}n.includes(s)||n.push(s)}return n}export function fontIssueText(t){switch(t.kind){case"fallback":return t.failed?`the font "${t.family}" failed to load, so it is drawn in ${h(t.usedFamily)}. Check the @font-face url and that the file is in the workspace.`:`the font "${t.family}" is not loaded, so it is drawn in ${h(t.usedFamily)}. Import its stylesheet in the piece (import "@fontsource/<id>/400.css" after npm install @fontsource/<id>, or a .css of @font-face rules), or list it in allyhub.config.ts's fonts for every stage, or use a font the look has (var(--ak-font-display), var(--ak-font-body)).`;case"bold":return t.faked?`"${t.family}" has no face for weight ${String(t.weight)} (the loaded faces stop below ${String(BOLD)}), so Chrome fakes the bold by thickening weight ${String(t.drawn)}. Load a bold face of the font, or use a weight it has.`:`"${t.family}" has no face for weight ${String(t.weight)}, so it is drawn at weight ${String(t.drawn)}. Load a bold face of the font, or use a weight it has.`;case"italic":return t.faked?`"${t.family}" has no italic face, so Chrome fakes the italic by slanting the upright letters. Load an italic face of the font, or drop font-style: italic.`:`"${t.family}" has no italic face, so it is drawn upright. Load an italic face of the font, or drop font-style: italic.`}}const h=t=>isGeneric(t)?`the browser's ${t} font`:t.startsWith("the ")?t:`"${t}"`;export function stringsOf(t,e=2e3){const r=[],i=new Set,n=o=>{if(!(r.length>=e)){if(typeof o=="string")r.push(o);else if(typeof o=="object"&&o!==null&&!i.has(o)){i.add(o);for(const s of Array.isArray(o)?o:Object.values(o))n(s)}}};return n(t),r}export function emojiOf(t){const e=/\p{Extended_Pictographic}|\p{Regional_Indicator}|[\u{1F3FB}-\u{1F3FF}\u{E0020}-\u{E007F}]|\u200d|\ufe0f|\u20e3/gu,r=new Set;for(const i of t)for(const n of i.matchAll(e))r.add(n[0]);return[...r].join("")}const p=new Map;let g;export function pageFaces(){const t=[];return document.fonts.forEach(e=>{t.push({family:families(e.family)[0]??e.family,weight:weightRange(e.weight),slanted:e.style!=="normal",status:e.status,ranges:unicodeRanges(e.unicodeRange)})}),t}export function localFamily(t){const e=p.get(t);if(e!==void 0)return e;g??=document.createElement("canvas").getContext("2d");const r=g;if(!r)return!0;const i="mmmmmmmmmmlli10WQ@#ƌ",n=a=>(r.font=a,r.measureText(i).width),o=JSON.stringify(t),s=["monospace","serif","sans-serif"].some(a=>n(`40px ${o}, ${a}`)!==n(`40px ${a}`));return p.set(t,s),s}export function fontWant(t){const e=Number(t.fontWeight);return{families:families(t.fontFamily),weight:Number.isFinite(e)?e:400,italic:t.fontStyle!=="normal",synthBold:t.getPropertyValue("font-synthesis-weight")!=="none",synthItalic:t.getPropertyValue("font-synthesis-style")!=="none"}}export function codePoints(t){const e=new Set;for(const r of t)for(const i of r)e.add(i.codePointAt(0)??0);return e}export function coversAny(t,e){if(t.length===0)return!0;for(const r of e)if(t.some(([i,n])=>r>=i&&r<=n))return!0;return!1}export function namedFamilies(t){return families(t).filter(e=>!isGeneric(e)&&!e.startsWith("var(")).map(e=>e.toLowerCase())}export function styleSheetFamilies(){const t=new Set,e=r=>{for(const i of Array.from(r))if(i instanceof CSSStyleRule){const n=i.style.getPropertyValue("font-family");if(n)for(const o of namedFamilies(n))t.add(o)}else i instanceof CSSGroupingRule&&e(i.cssRules)};for(const r of Array.from(document.styleSheets))try{e(r.cssRules)}catch{}return t}export function propFamilies(t){const e=new Set;document.fonts.forEach(n=>{e.add((families(n.family)[0]??n.family).toLowerCase())});const r=t.map(n=>n.toLowerCase()),i=new Set;for(const n of e)n&&r.some(o=>o.includes(n))&&i.add(n);return i}export async function loadFaces(t,e){const r=[];document.fonts.forEach(i=>{if(i.status!=="unloaded")return;const n=(families(i.family)[0]??i.family).toLowerCase();t.has(n)&&coversAny(unicodeRanges(i.unicodeRange),e)&&r.push(i.load().catch(()=>{}))}),await Promise.all(r)}export async function loadTextFonts(t){const e=new Map,r=new Map,i=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);for(let o=i.nextNode();o;o=i.nextNode()){const s=o.nodeValue??"",a=o.parentElement;if(!a||!s.trim())continue;let c=r.get(a);if(c===void 0){const u=getComputedStyle(a);c=`${u.fontStyle==="normal"?"":"italic "}${u.fontWeight} 40px ${u.fontFamily}`,r.set(a,c)}let f=e.get(c);f||(f=new Set,e.set(c,f));for(const u of s)u.trim()&&f.add(u)}const n=[...e].map(([o,s])=>[o,[...s].join("")]).filter(([o,s])=>!document.fonts.check(o,s));n.length!==0&&await Promise.all(n.map(([o,s])=>document.fonts.load(o,s).catch(()=>[])))}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
-
import{beatNear as X,fact as _,filmBeats as H,MUSIC_DEFAULTS as Y,musicGrid as Z,musicSeconds as J,onGrid as K,placeStretches as G,wholeLoop as x}from"@allyhub-next/video-core";const l=b=>Math.round(b*1e6)/1e6;export function musicClock(b,q){const{source:L,lang:O,ledger:P}=b,{options:k}=q,s=k.music===void 0?void 0:typeof k.music=="string"||"path"in k.music?{file:k.music}:k.music,T=s?.file===void 0?void 0:typeof s.file=="string"||"path"in s.file?s.file:O===void 0?void 0:s.file[O],c=T===void 0?void 0:b.mediaOf(T,q.musicBase),e=s??{},h=Math.max(0,e.from??0),w=c?.tempo,u=e.bpm!==void 0?{bpm:e.bpm,source:"given"}:w?{bpm:w.bpm,source:"measured",confidence:w.confidence,beat:w.beat}:void 0,U=()=>c&&c.sha256!==""?{file:c.path}:{},j=s!==void 0&&e.snap===!0&&!!u,$=j?60/u.bpm:0,Q=u?.beat??0,R=$>0?(Q-h)%$:0;s!==void 0&&e.snap===!0&&!u&&P.facts.push(_("fallback",{piece:L.piece},{...U(),missing:"tempo",for:"snap",fallback:"not-snapped"}));const t=Z(u,{meter:e.meter,downbeat:e.downbeat}),r=c?.duration,M=e.loop,V=[...e.play??[],...typeof M=="object"?[M]:[]],v=n=>{P.facts.push(_("fallback",{piece:L.piece},{...U(),missing:"tempo",for:n,fallback:n==="music-play"?"played-once":"film-end"}))};s!==void 0&&!t&&(V.some(n=>K(n.from)||K(n.to))&&v("music-play"),(e.end==="bar"||e.end==="beat")&&v("music-end"));const E=n=>{const a=J(n.from,t),d=J(n.to,t);return a===void 0||d===void 0?void 0:{from:a,to:d}},g=typeof M=="object"?E(M):void 0,z=e.play?.map(E),F=(z?.some(n=>n===void 0)??!1)||typeof M=="object"&&g===void 0,I=!F&&(z!==void 0||g!==void 0),C=n=>{if(!(r===void 0||r<=0)){if(F)return G([{from:h,to:r}],void 0,r,n);if(I){const a=z?.flatMap(d=>d?[d]:[])??(g?[{from:h,to:g.to}]:[]);return G(a,g,r,n)}return e.loop===!0?x(h,r,n,e.seam):G([{from:h,to:r}],void 0,r,n)}},W=n=>{if(s===void 0)return;const a=n.duration,d=(e.gain??[]).flatMap((o,y)=>{const f=n.momentAt(o.at,`music.gain[${String(y)}].at`);return f===void 0?[]:[{t:l(f),db:o.db}]}),A=e.filter!==void 0||e.eq!==void 0||e.compress!==void 0?{...e.filter===void 0?{}:{filter:e.filter},...e.eq===void 0?{}:{eq:e.eq.map((o,y)=>{const{keys:f,...S}=o,p=(f??[]).flatMap((B,D)=>{const N=n.momentAt(B.at,`music.eq[${String(y)}].keys[${String(D)}].at`);return N===void 0?[]:[{...B,at:l(N)}]});return p.length>0?{...S,keys:p}:S})},...e.compress===void 0?{}:{compress:e.compress}}:void 0,m=I?C(a):void 0;let i;if(t&&(e.end==="bar"||e.end==="beat")){const o=C(a),y=o?H(o,t,e.end):[],f=o?.at(-1);if(f&&!e.loop){const p=e.end==="bar"?t.beat*t.meter:t.beat,B=e.end==="bar"?t.downbeat:t.first,D=(f.to-B)/p;Math.abs(D-Math.round(D))<1e-6&&y.push(f.at+f.to-f.from)}const S=[...y].reverse().find(p=>p>1e-6&&p<=a+1e-6);S!==void 0&&(i=l(S))}return{...c&&c.sha256!==""?{file:c.path}:{},from:m?.[0]?.from??h,loop:e.loop===!0||g!==void 0,...u?{tempo:u}:{},snapped:j,...m?{play:m.map(o=>({at:l(o.at),from:l(o.from),to:l(o.to)})),seam:e.seam??Y.seam}:e.seam===void 0?{}:{seam:e.seam},...t?{meter:t.meter,downbeat:l(t.downbeat)}:{},...i===void 0?{}:{until:i},...d.length>0?{gain:d}:{},...A?{shape:A}:{}}};return{music:s,media:c,snapped:j,beat:$,beatPhase:R,grid:t,snapTo(n){if(!j||!t)return;const a=n.reduce((m,i)=>m+(i.speechDur!==void 0?i.lead+i.speechDur+i.tail:i.dur)+2*t.beat,0)+10,d=C(a);if(!d)return;const A=H(d,t);return(m,i)=>X(A,t.beat,m,i)},plan:n=>W(n)}}export const musicPlan=(b,q)=>b.plan(q);
|
|
2
|
+
import{beatNear as X,fact as _,filmBeats as H,MUSIC_DEFAULTS as Y,musicGrid as Z,musicSeconds as J,onGrid as K,placeStretches as G,wholeLoop as x}from"@allyhub-next/video-core";const l=b=>Math.round(b*1e6)/1e6;export function musicClock(b,q){const{source:L,lang:O,ledger:P}=b,{options:k}=q,s=k.music===void 0?void 0:typeof k.music=="string"||"path"in k.music?{file:k.music}:k.music,T=s?.file===void 0?void 0:typeof s.file=="string"||"path"in s.file?s.file:O===void 0?void 0:s.file[O],c=T===void 0?void 0:b.mediaOf(T,q.musicBase),e=s??{},h=Math.max(0,e.from??0),w=c?.tempo,u=e.bpm!==void 0?{bpm:e.bpm,source:"given"}:w?{bpm:w.bpm,source:"measured",confidence:w.confidence,beat:w.beat}:void 0,U=()=>c&&c.sha256!==""?{file:c.path}:{},j=s!==void 0&&e.snap===!0&&!!u,$=j?60/u.bpm:0,Q=u?.beat??0,R=$>0?(Q-h)%$:0;s!==void 0&&e.snap===!0&&!u&&P.facts.push(_("fallback",{piece:L.piece},{...U(),missing:"tempo",for:"snap",fallback:"not-snapped"}));const t=Z(u,{meter:e.meter,downbeat:e.downbeat}),r=c?.duration,M=e.loop,V=[...e.play??[],...typeof M=="object"?[M]:[]],v=n=>{P.facts.push(_("fallback",{piece:L.piece},{...U(),missing:"tempo",for:n,fallback:n==="music-play"?"played-once":"film-end"}))};s!==void 0&&!t&&(V.some(n=>K(n.from)||n.to!==void 0&&K(n.to))&&v("music-play"),(e.end==="bar"||e.end==="beat")&&v("music-end"));const E=n=>{const a=J(n.from,t),d=n.to===void 0?r:J(n.to,t);return a===void 0||d===void 0?void 0:{from:a,to:d}},g=typeof M=="object"?E(M):void 0,z=e.play?.map(E),F=(z?.some(n=>n===void 0)??!1)||typeof M=="object"&&g===void 0,I=!F&&(z!==void 0||g!==void 0),C=n=>{if(!(r===void 0||r<=0)){if(F)return G([{from:h,to:r}],void 0,r,n);if(I){const a=z?.flatMap(d=>d?[d]:[])??(g?[{from:h,to:g.to}]:[]);return G(a,g,r,n)}return e.loop===!0?x(h,r,n,e.seam):G([{from:h,to:r}],void 0,r,n)}},W=n=>{if(s===void 0)return;const a=n.duration,d=(e.gain??[]).flatMap((o,y)=>{const f=n.momentAt(o.at,`music.gain[${String(y)}].at`);return f===void 0?[]:[{t:l(f),db:o.db}]}),A=e.filter!==void 0||e.eq!==void 0||e.compress!==void 0?{...e.filter===void 0?{}:{filter:e.filter},...e.eq===void 0?{}:{eq:e.eq.map((o,y)=>{const{keys:f,...S}=o,p=(f??[]).flatMap((B,D)=>{const N=n.momentAt(B.at,`music.eq[${String(y)}].keys[${String(D)}].at`);return N===void 0?[]:[{...B,at:l(N)}]});return p.length>0?{...S,keys:p}:S})},...e.compress===void 0?{}:{compress:e.compress}}:void 0,m=I?C(a):void 0;let i;if(t&&(e.end==="bar"||e.end==="beat")){const o=C(a),y=o?H(o,t,e.end):[],f=o?.at(-1);if(f&&!e.loop){const p=e.end==="bar"?t.beat*t.meter:t.beat,B=e.end==="bar"?t.downbeat:t.first,D=(f.to-B)/p;Math.abs(D-Math.round(D))<1e-6&&y.push(f.at+f.to-f.from)}const S=[...y].reverse().find(p=>p>1e-6&&p<=a+1e-6);S!==void 0&&(i=l(S))}return{...c&&c.sha256!==""?{file:c.path}:{},from:m?.[0]?.from??h,loop:e.loop===!0||g!==void 0,...u?{tempo:u}:{},snapped:j,...m?{play:m.map(o=>({at:l(o.at),from:l(o.from),to:l(o.to)})),seam:e.seam??Y.seam}:e.seam===void 0?{}:{seam:e.seam},...t?{meter:t.meter,downbeat:l(t.downbeat)}:{},...i===void 0?{}:{until:i},...d.length>0?{gain:d}:{},...A?{shape:A}:{}}};return{music:s,media:c,snapped:j,beat:$,beatPhase:R,grid:t,snapTo(n){if(!j||!t)return;const a=n.reduce((m,i)=>m+(i.speechDur!==void 0?i.lead+i.speechDur+i.tail:i.dur)+2*t.beat,0)+10,d=C(a);if(!d)return;const A=H(d,t);return(m,i)=>X(A,t.beat,m,i)},plan:n=>W(n)}}export const musicPlan=(b,q)=>b.plan(q);
|