@hypit/hypit 0.0.1 → 0.1.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/LICENSE +26 -0
- package/README.md +203 -0
- package/README.zh-CN.md +195 -0
- package/bin/hypit.mjs +46 -0
- package/dist/public/artifact.d.ts +75 -0
- package/dist/public/author-kit.d.ts +559 -0
- package/dist/public/browser-capture.d.ts +56 -0
- package/dist/public/caption.d.ts +751 -0
- package/dist/public/composition.d.ts +672 -0
- package/dist/public/endpoint-kit.d.ts +366 -0
- package/dist/public/generation.d.ts +591 -0
- package/dist/public/hyperframes.d.ts +774 -0
- package/dist/public/media.d.ts +708 -0
- package/dist/public/model-kit.d.ts +523 -0
- package/dist/public/narrative.d.ts +315 -0
- package/dist/public/program-space.d.ts +193 -0
- package/dist/public/runtime-kit.d.ts +427 -0
- package/dist/public/semantic-track.d.ts +418 -0
- package/dist/public/spatial.d.ts +1193 -0
- package/dist/public/speech.d.ts +391 -0
- package/dist/public/studio-adapter.d.ts +686 -0
- package/dist/public/svs.d.ts +311 -0
- package/dist/public/temporal-markup.d.ts +343 -0
- package/dist/public/temporal.d.ts +497 -0
- package/dist/public/text.d.ts +817 -0
- package/dist/public/visual-ir.d.ts +98 -0
- package/docs/public/hypit-logo-dark.svg +36 -0
- package/docs/public/hypit-logo-light.svg +38 -0
- package/examples/README.md +24 -0
- package/examples/minimal-author-package/README.md +18 -0
- package/examples/minimal-author-package/packages/example-component/README.md +44 -0
- package/examples/minimal-author-package/packages/example-component/package.json +27 -0
- package/examples/minimal-author-package/packages/example-component/preview/Box.png +0 -0
- package/examples/minimal-author-package/packages/example-component/preview/build.svrun +6 -0
- package/examples/minimal-author-package/packages/example-component/preview/preview.svml +47 -0
- package/examples/minimal-author-package/packages/example-component/preview/recipes.svs +8 -0
- package/examples/minimal-author-package/packages/example-component/src/activation.ts +10 -0
- package/examples/minimal-author-package/packages/example-component/src/component.ts +44 -0
- package/examples/minimal-author-package/packages/example-component/src/fragment.ts +32 -0
- package/examples/minimal-author-package/packages/example-component/src/index.ts +6 -0
- package/examples/minimal-author-package/packages/example-component/src/manifest.ts +82 -0
- package/examples/minimal-author-package/packages/example-component/src/style.ts +13 -0
- package/examples/minimal-author-package/packages/example-component/src/surface.ts +41 -0
- package/examples/minimal-author-package/packages/example-component/src/temporal.ts +6 -0
- package/examples/minimal-author-package/packages/example-component/tsconfig.json +18 -0
- package/examples/semantic-composition/README.md +35 -0
- package/examples/semantic-composition/chat.svml +25 -0
- package/examples/semantic-composition/chat.svrun +6 -0
- package/examples/semantic-composition/chat.svs +4 -0
- package/examples/semantic-composition/hypit.runtime.json +8 -0
- package/examples/semantic-composition/packages/chat-scene/README.md +29 -0
- package/examples/semantic-composition/packages/chat-scene/package.json +11 -0
- package/examples/semantic-composition/packages/chat-scene/src/activation.ts +112 -0
- package/examples/semantic-composition/packages/chat-scene/src/render.ts +64 -0
- package/examples/semantic-composition/packages/chat-scene/tsconfig.json +18 -0
- package/examples/semantic-composition/packages/responsive-explainer/README.md +45 -0
- package/examples/semantic-composition/packages/responsive-explainer/package.json +11 -0
- package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +90 -0
- package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +68 -0
- package/examples/semantic-composition/packages/responsive-explainer/tsconfig.json +18 -0
- package/package.json +259 -7
- package/packages/artifact/README.md +10 -0
- package/packages/artifact/package.json +16 -0
- package/packages/artifact/src/activation.ts +8 -0
- package/packages/artifact/src/index.ts +24 -0
- package/packages/audio-track/README.md +43 -0
- package/packages/audio-track/package.json +36 -0
- package/packages/audio-track/src/activation.ts +20 -0
- package/packages/audio-track/src/component.ts +40 -0
- package/packages/audio-track/src/fragment.ts +63 -0
- package/packages/audio-track/src/index.ts +7 -0
- package/packages/audio-track/src/manifest.ts +151 -0
- package/packages/audio-track/src/program.ts +254 -0
- package/packages/audio-track/src/surface.ts +187 -0
- package/packages/audio-track/src/types.ts +62 -0
- package/packages/audio-track-studio/README.md +3 -0
- package/packages/audio-track-studio/package.json +14 -0
- package/packages/audio-track-studio/src/activation.ts +7 -0
- package/packages/audio-track-studio/src/index.ts +72 -0
- package/packages/author-kit/README.md +31 -0
- package/packages/author-kit/package.json +16 -0
- package/packages/author-kit/src/index.ts +59 -0
- package/packages/background-removal/README.md +29 -0
- package/packages/background-removal/package.json +16 -0
- package/packages/background-removal/src/activation.ts +18 -0
- package/packages/background-removal/src/component.ts +32 -0
- package/packages/background-removal/src/fragment.ts +18 -0
- package/packages/background-removal/src/index.ts +6 -0
- package/packages/background-removal/src/manifest.ts +45 -0
- package/packages/background-removal/src/program.ts +19 -0
- package/packages/background-removal/src/surface.ts +27 -0
- package/packages/background-removal/src/types.ts +5 -0
- package/packages/browser-capture/README.md +82 -0
- package/packages/browser-capture/package.json +15 -0
- package/packages/browser-capture/src/browser.ts +19 -0
- package/packages/browser-capture/src/index.ts +198 -0
- package/packages/build-result/package.json +13 -0
- package/packages/build-result/src/decode.ts +286 -0
- package/packages/build-result/src/index.ts +25 -0
- package/packages/build-result/src/store.ts +505 -0
- package/packages/build-result/src/types.ts +354 -0
- package/packages/build-result/src/writer.ts +184 -0
- package/packages/build-result-fs/README.md +29 -0
- package/packages/build-result-fs/package.json +17 -0
- package/packages/build-result-fs/src/activation.ts +62 -0
- package/packages/build-result-fs/src/index.ts +1 -0
- package/packages/build-result-kit/README.md +10 -0
- package/packages/build-result-kit/package.json +15 -0
- package/packages/build-result-kit/src/index.ts +144 -0
- package/packages/build-result-s3/README.md +49 -0
- package/packages/build-result-s3/package.json +19 -0
- package/packages/build-result-s3/src/activation.ts +71 -0
- package/packages/build-result-s3/src/client.ts +254 -0
- package/packages/build-result-s3/src/index.ts +4 -0
- package/packages/build-result-s3/src/repository.ts +361 -0
- package/packages/caption/README.md +77 -0
- package/packages/caption/package.json +28 -0
- package/packages/caption/src/activation.ts +17 -0
- package/packages/caption/src/component.ts +38 -0
- package/packages/caption/src/display.ts +111 -0
- package/packages/caption/src/error.ts +9 -0
- package/packages/caption/src/fragment.ts +26 -0
- package/packages/caption/src/index.ts +33 -0
- package/packages/caption/src/manifest.ts +97 -0
- package/packages/caption/src/style.ts +170 -0
- package/packages/caption/src/surface.ts +96 -0
- package/packages/caption/src/temporalize.ts +124 -0
- package/packages/caption/src/types.ts +71 -0
- package/packages/caption-fine/README.md +108 -0
- package/packages/caption-fine/package.json +30 -0
- package/packages/caption-fine/preview/Track.png +0 -0
- package/packages/caption-fine/src/activation.ts +32 -0
- package/packages/caption-fine/src/component.ts +58 -0
- package/packages/caption-fine/src/fragment.ts +112 -0
- package/packages/caption-fine/src/index.ts +19 -0
- package/packages/caption-fine/src/manifest.ts +383 -0
- package/packages/caption-fine/src/recipe.ts +120 -0
- package/packages/caption-fine/src/render.ts +1133 -0
- package/packages/caption-fine/src/schedule.ts +126 -0
- package/packages/caption-fine/src/spacing.ts +69 -0
- package/packages/caption-fine/src/style.ts +370 -0
- package/packages/caption-fine/src/surface.ts +152 -0
- package/packages/caption-fine/src/types.ts +191 -0
- package/packages/caption-fine-studio/README.md +3 -0
- package/packages/caption-fine-studio/package.json +15 -0
- package/packages/caption-fine-studio/src/activation.ts +7 -0
- package/packages/caption-fine-studio/src/index.ts +163 -0
- package/packages/cli/README.md +51 -0
- package/packages/cli/package.json +33 -0
- package/packages/cli/src/arguments.ts +605 -0
- package/packages/cli/src/build-planning.ts +460 -0
- package/packages/cli/src/command.ts +202 -0
- package/packages/cli/src/commands/environment.ts +391 -0
- package/packages/cli/src/commands/execution.ts +321 -0
- package/packages/cli/src/commands/results.ts +187 -0
- package/packages/cli/src/commands/types.ts +9 -0
- package/packages/cli/src/distribution.ts +74 -0
- package/packages/cli/src/index.ts +30 -0
- package/packages/cli/src/machine-view.ts +28 -0
- package/packages/cli/src/main.ts +654 -0
- package/packages/cli/src/oauth.ts +228 -0
- package/packages/cli/src/observation.ts +203 -0
- package/packages/cli/src/output.ts +1007 -0
- package/packages/cli/src/paths.ts +7 -0
- package/packages/cli/src/project-context.ts +38 -0
- package/packages/cli/src/reachability.ts +91 -0
- package/packages/cli/src/result-export.ts +148 -0
- package/packages/cli/src/result-query.ts +46 -0
- package/packages/cli/src/run-file.ts +186 -0
- package/packages/cli/src/runtime-port.ts +13 -0
- package/packages/cli/src/runtime-selection.ts +94 -0
- package/packages/cli/src/runtime-view.ts +15 -0
- package/packages/cli/src/source-discovery.ts +150 -0
- package/packages/cli/src/source-packages.ts +91 -0
- package/packages/cli/src/view.ts +228 -0
- package/packages/comment-sticker/README.md +41 -0
- package/packages/comment-sticker/package.json +29 -0
- package/packages/comment-sticker/preview/Track.png +0 -0
- package/packages/comment-sticker/src/activation.ts +32 -0
- package/packages/comment-sticker/src/author.ts +148 -0
- package/packages/comment-sticker/src/component.ts +97 -0
- package/packages/comment-sticker/src/fragment.ts +124 -0
- package/packages/comment-sticker/src/index.ts +8 -0
- package/packages/comment-sticker/src/manifest.ts +373 -0
- package/packages/comment-sticker/src/program.ts +610 -0
- package/packages/comment-sticker/src/surface.ts +172 -0
- package/packages/comment-sticker/src/types.ts +109 -0
- package/packages/comment-sticker-studio/README.md +3 -0
- package/packages/comment-sticker-studio/package.json +14 -0
- package/packages/comment-sticker-studio/src/activation.ts +7 -0
- package/packages/comment-sticker-studio/src/index.ts +132 -0
- package/packages/compiler-markup-node/README.md +12 -0
- package/packages/compiler-markup-node/package.json +22 -0
- package/packages/compiler-markup-node/src/index.ts +59 -0
- package/packages/compiler-node/README.md +60 -0
- package/packages/compiler-node/package.json +25 -0
- package/packages/compiler-node/src/compiler.ts +207 -0
- package/packages/compiler-node/src/error.ts +11 -0
- package/packages/compiler-node/src/graph-query.ts +51 -0
- package/packages/compiler-node/src/index.ts +27 -0
- package/packages/compiler-node/src/modules.ts +107 -0
- package/packages/compiler-node/src/run.ts +355 -0
- package/packages/component-kit/README.md +97 -0
- package/packages/component-kit/package.json +13 -0
- package/packages/component-kit/src/index.ts +155 -0
- package/packages/composition/README.md +53 -0
- package/packages/composition/package.json +29 -0
- package/packages/composition/src/activation.ts +3 -0
- package/packages/composition/src/component.ts +10 -0
- package/packages/composition/src/index.ts +18 -0
- package/packages/composition/src/manifest.ts +13 -0
- package/packages/composition/src/schema.ts +194 -0
- package/packages/composition/src/track.ts +1403 -0
- package/packages/core/README.md +22 -0
- package/packages/core/package.json +13 -0
- package/packages/core/src/error.ts +12 -0
- package/packages/core/src/graph.ts +341 -0
- package/packages/core/src/index.ts +32 -0
- package/packages/core/src/link.ts +240 -0
- package/packages/core/src/machine.ts +60 -0
- package/packages/core/src/plan.ts +504 -0
- package/packages/core/src/reducer.ts +428 -0
- package/packages/core/src/reference.ts +25 -0
- package/packages/core/src/slice.ts +108 -0
- package/packages/credential-store-env/README.md +11 -0
- package/packages/credential-store-env/package.json +17 -0
- package/packages/credential-store-env/src/activation.ts +25 -0
- package/packages/credential-store-env/src/index.ts +23 -0
- package/packages/credential-store-os/README.md +13 -0
- package/packages/credential-store-os/package.json +22 -0
- package/packages/credential-store-os/runtime/windows-credential.ps1 +59 -0
- package/packages/credential-store-os/src/activation.ts +32 -0
- package/packages/credential-store-os/src/index.ts +2 -0
- package/packages/credential-store-os/src/store.ts +196 -0
- package/packages/deck-track/README.md +52 -0
- package/packages/deck-track/package.json +35 -0
- package/packages/deck-track/preview/DepthStack.png +0 -0
- package/packages/deck-track/src/activation.ts +32 -0
- package/packages/deck-track/src/author.ts +217 -0
- package/packages/deck-track/src/component.ts +86 -0
- package/packages/deck-track/src/fragment.ts +148 -0
- package/packages/deck-track/src/index.ts +16 -0
- package/packages/deck-track/src/lower.ts +370 -0
- package/packages/deck-track/src/manifest.ts +438 -0
- package/packages/deck-track/src/program.ts +367 -0
- package/packages/deck-track/src/surface.ts +286 -0
- package/packages/deck-track/src/types.ts +119 -0
- package/packages/deck-track-studio/README.md +3 -0
- package/packages/deck-track-studio/package.json +14 -0
- package/packages/deck-track-studio/src/activation.ts +7 -0
- package/packages/deck-track-studio/src/index.ts +134 -0
- package/packages/driver-node/README.md +23 -0
- package/packages/driver-node/package.json +18 -0
- package/packages/driver-node/src/driver.ts +616 -0
- package/packages/driver-node/src/index.ts +10 -0
- package/packages/driver-node/src/planning.ts +67 -0
- package/packages/driver-node/src/registry.ts +234 -0
- package/packages/driver-node/src/resources.ts +36 -0
- package/packages/driver-node/src/types.ts +69 -0
- package/packages/elaborator/README.md +74 -0
- package/packages/elaborator/package.json +16 -0
- package/packages/elaborator/src/author.ts +308 -0
- package/packages/elaborator/src/fragment.ts +505 -0
- package/packages/elaborator/src/frontend-facet.ts +30 -0
- package/packages/elaborator/src/index.ts +78 -0
- package/packages/elaborator/src/source.ts +608 -0
- package/packages/endpoint-kit/README.md +111 -0
- package/packages/endpoint-kit/package.json +14 -0
- package/packages/endpoint-kit/src/index.ts +488 -0
- package/packages/estimate/README.md +32 -0
- package/packages/estimate/package.json +20 -0
- package/packages/estimate/src/activation.ts +11 -0
- package/packages/estimate/src/index.ts +16 -0
- package/packages/estimate/src/manifest.ts +34 -0
- package/packages/estimate/src/policy.ts +70 -0
- package/packages/estimate/src/program.ts +196 -0
- package/packages/estimate/src/types.ts +15 -0
- package/packages/film/README.md +49 -0
- package/packages/film/package.json +34 -0
- package/packages/film/src/activation.ts +16 -0
- package/packages/film/src/component.ts +61 -0
- package/packages/film/src/fragment.ts +83 -0
- package/packages/film/src/index.ts +11 -0
- package/packages/film/src/manifest.ts +152 -0
- package/packages/film/src/program.ts +110 -0
- package/packages/film/src/recipe.ts +24 -0
- package/packages/film/src/surface.ts +146 -0
- package/packages/film/src/types.ts +26 -0
- package/packages/film-studio/package.json +16 -0
- package/packages/film-studio/src/activation.ts +8 -0
- package/packages/film-studio/src/index.ts +17 -0
- package/packages/fonts-open/README.md +77 -0
- package/packages/fonts-open/package.json +130 -0
- package/packages/fonts-open/src/activation.ts +30 -0
- package/packages/fonts-open/src/catalog.ts +317 -0
- package/packages/fonts-open/src/index.ts +13 -0
- package/packages/fonts-open/src/manifest.ts +83 -0
- package/packages/fonts-open/src/surface.ts +239 -0
- package/packages/generation/README.md +19 -0
- package/packages/generation/package.json +23 -0
- package/packages/generation/src/activation.ts +9 -0
- package/packages/generation/src/component.ts +77 -0
- package/packages/generation/src/identity.ts +80 -0
- package/packages/generation/src/index.ts +79 -0
- package/packages/generation/src/manifest.ts +65 -0
- package/packages/generation/src/mapping.ts +231 -0
- package/packages/generation/src/ports.ts +222 -0
- package/packages/generation/src/request.ts +427 -0
- package/packages/generation/src/schema.ts +62 -0
- package/packages/generation/src/types.ts +17 -0
- package/packages/gpt-image/README.md +54 -0
- package/packages/gpt-image/package.json +34 -0
- package/packages/gpt-image/src/activation.ts +39 -0
- package/packages/gpt-image/src/fragment.ts +101 -0
- package/packages/gpt-image/src/index.ts +203 -0
- package/packages/gpt-image/src/surface.ts +194 -0
- package/packages/gpt-image-kits/README.md +44 -0
- package/packages/gpt-image-kits/kits/phone-ugc-v1.svs +34 -0
- package/packages/gpt-image-kits/package.json +15 -0
- package/packages/grok-imagine/README.md +21 -0
- package/packages/grok-imagine/package.json +21 -0
- package/packages/grok-imagine/src/activation.ts +29 -0
- package/packages/grok-imagine/src/index.ts +174 -0
- package/packages/grok-imagine/src/surface.ts +149 -0
- package/packages/host/README.md +5 -0
- package/packages/host/package.json +10 -0
- package/packages/host/src/facet.ts +6 -0
- package/packages/host/src/frontend.ts +56 -0
- package/packages/host/src/index.ts +9 -0
- package/packages/hyperframes/README.md +69 -0
- package/packages/hyperframes/package.json +36 -0
- package/packages/hyperframes/src/activation.ts +8 -0
- package/packages/hyperframes/src/browser-program.ts +79 -0
- package/packages/hyperframes/src/component.ts +32 -0
- package/packages/hyperframes/src/document.ts +827 -0
- package/packages/hyperframes/src/fragment.ts +32 -0
- package/packages/hyperframes/src/index.ts +13 -0
- package/packages/hyperframes/src/manifest.ts +67 -0
- package/packages/hyperframes/src/project.ts +118 -0
- package/packages/hyperframes/src/text.ts +1179 -0
- package/packages/hyperframes/src/types.ts +38 -0
- package/packages/image-compose/README.md +25 -0
- package/packages/image-compose/package.json +18 -0
- package/packages/image-compose/src/activation.ts +21 -0
- package/packages/image-compose/src/component.ts +100 -0
- package/packages/image-compose/src/fragment.ts +54 -0
- package/packages/image-compose/src/index.ts +10 -0
- package/packages/image-compose/src/manifest.ts +119 -0
- package/packages/image-compose/src/program.ts +75 -0
- package/packages/image-compose/src/surface.ts +83 -0
- package/packages/image-compose/src/types.ts +22 -0
- package/packages/image-transform/README.md +29 -0
- package/packages/image-transform/package.json +21 -0
- package/packages/image-transform/src/activation.ts +33 -0
- package/packages/image-transform/src/component.ts +67 -0
- package/packages/image-transform/src/fragment.ts +25 -0
- package/packages/image-transform/src/index.ts +13 -0
- package/packages/image-transform/src/manifest.ts +209 -0
- package/packages/image-transform/src/program.ts +23 -0
- package/packages/image-transform/src/surface.ts +216 -0
- package/packages/image-transform/src/types.ts +20 -0
- package/packages/interview-emoji-reveal/README.md +39 -0
- package/packages/interview-emoji-reveal/package.json +23 -0
- package/packages/interview-emoji-reveal/preview/Track.png +0 -0
- package/packages/interview-emoji-reveal/src/activation.ts +14 -0
- package/packages/interview-emoji-reveal/src/component.ts +45 -0
- package/packages/interview-emoji-reveal/src/fragment.ts +62 -0
- package/packages/interview-emoji-reveal/src/index.ts +16 -0
- package/packages/interview-emoji-reveal/src/manifest.ts +174 -0
- package/packages/interview-emoji-reveal/src/program.ts +242 -0
- package/packages/interview-emoji-reveal/src/style.ts +47 -0
- package/packages/interview-emoji-reveal/src/surface.ts +110 -0
- package/packages/interview-emoji-reveal/src/types.ts +52 -0
- package/packages/markup/README.md +81 -0
- package/packages/markup/package.json +16 -0
- package/packages/markup/src/element.ts +39 -0
- package/packages/markup/src/error.ts +20 -0
- package/packages/markup/src/frontend.ts +518 -0
- package/packages/markup/src/host-facet.ts +115 -0
- package/packages/markup/src/index.ts +25 -0
- package/packages/markup/src/registry.ts +83 -0
- package/packages/markup/src/syntax.ts +271 -0
- package/packages/markup/src/types.ts +246 -0
- package/packages/media/README.md +37 -0
- package/packages/media/package.json +19 -0
- package/packages/media/src/activation.ts +38 -0
- package/packages/media/src/component.ts +16 -0
- package/packages/media/src/frame-range.ts +33 -0
- package/packages/media/src/identity.ts +227 -0
- package/packages/media/src/index.ts +15 -0
- package/packages/media/src/manifest.ts +122 -0
- package/packages/media/src/render.ts +140 -0
- package/packages/media/src/schema.ts +69 -0
- package/packages/media/src/surface.ts +150 -0
- package/packages/media/src/types.ts +121 -0
- package/packages/media-execution/README.md +28 -0
- package/packages/media-execution/package.json +17 -0
- package/packages/media-execution/src/execute.ts +1322 -0
- package/packages/media-execution/src/index.ts +16 -0
- package/packages/media-execution/src/probe.ts +315 -0
- package/packages/media-execution/src/surface.ts +286 -0
- package/packages/media-execution/src/toolchain.ts +81 -0
- package/packages/media-execution/src/webp.ts +200 -0
- package/packages/media-pipeline/README.md +113 -0
- package/packages/media-pipeline/package.json +27 -0
- package/packages/media-pipeline/src/activation.ts +47 -0
- package/packages/media-pipeline/src/audio-plan.ts +113 -0
- package/packages/media-pipeline/src/component.ts +373 -0
- package/packages/media-pipeline/src/fragment.ts +167 -0
- package/packages/media-pipeline/src/index.ts +46 -0
- package/packages/media-pipeline/src/manifest.ts +653 -0
- package/packages/media-pipeline/src/operations.ts +248 -0
- package/packages/media-pipeline/src/selection.ts +110 -0
- package/packages/media-pipeline/src/surface.ts +389 -0
- package/packages/media-pipeline/src/types.ts +175 -0
- package/packages/media-track/README.md +197 -0
- package/packages/media-track/package.json +29 -0
- package/packages/media-track/preview/Track.png +0 -0
- package/packages/media-track/preview/build.svrun +5 -0
- package/packages/media-track/preview/flush.png +0 -0
- package/packages/media-track/preview/preview.svml +47 -0
- package/packages/media-track/preview/recipes.svs +23 -0
- package/packages/media-track/preview/rounded.png +0 -0
- package/packages/media-track/src/activation.ts +20 -0
- package/packages/media-track/src/author.ts +317 -0
- package/packages/media-track/src/component.ts +162 -0
- package/packages/media-track/src/fragment.ts +57 -0
- package/packages/media-track/src/index.ts +65 -0
- package/packages/media-track/src/layers.ts +308 -0
- package/packages/media-track/src/lower.ts +335 -0
- package/packages/media-track/src/manifest.ts +624 -0
- package/packages/media-track/src/motion.ts +387 -0
- package/packages/media-track/src/performance.ts +37 -0
- package/packages/media-track/src/presentation.ts +35 -0
- package/packages/media-track/src/program.ts +565 -0
- package/packages/media-track/src/sampling.ts +118 -0
- package/packages/media-track/src/sequence.ts +403 -0
- package/packages/media-track/src/sounds.ts +71 -0
- package/packages/media-track/src/surface.ts +668 -0
- package/packages/media-track/src/types.ts +311 -0
- package/packages/media-track-studio/README.md +3 -0
- package/packages/media-track-studio/package.json +15 -0
- package/packages/media-track-studio/src/activation.ts +7 -0
- package/packages/media-track-studio/src/index.ts +235 -0
- package/packages/mimo-speech/README.md +33 -0
- package/packages/mimo-speech/package.json +21 -0
- package/packages/mimo-speech/src/activation.ts +32 -0
- package/packages/mimo-speech/src/fragment.ts +11 -0
- package/packages/mimo-speech/src/index.ts +160 -0
- package/packages/mimo-speech/src/surface.ts +193 -0
- package/packages/minimax-h3/README.md +21 -0
- package/packages/minimax-h3/package.json +21 -0
- package/packages/minimax-h3/src/activation.ts +14 -0
- package/packages/minimax-h3/src/index.ts +188 -0
- package/packages/minimax-h3/src/surface.ts +87 -0
- package/packages/model-kit/README.md +52 -0
- package/packages/model-kit/package.json +19 -0
- package/packages/model-kit/src/index.ts +728 -0
- package/packages/nano-banana/README.md +23 -0
- package/packages/nano-banana/package.json +21 -0
- package/packages/nano-banana/src/activation.ts +14 -0
- package/packages/nano-banana/src/index.ts +172 -0
- package/packages/nano-banana/src/surface.ts +120 -0
- package/packages/narrative/README.md +7 -0
- package/packages/narrative/package.json +17 -0
- package/packages/narrative/src/activation.ts +7 -0
- package/packages/narrative/src/component.ts +33 -0
- package/packages/narrative/src/identity.ts +131 -0
- package/packages/narrative/src/index.ts +11 -0
- package/packages/narrative/src/manifest.ts +30 -0
- package/packages/narrative/src/schema.ts +89 -0
- package/packages/narrative/src/types.ts +141 -0
- package/packages/package-loader-node/README.md +23 -0
- package/packages/package-loader-node/package.json +15 -0
- package/packages/package-loader-node/src/contribution.ts +97 -0
- package/packages/package-loader-node/src/distribution-resolution.ts +146 -0
- package/packages/package-loader-node/src/index.ts +27 -0
- package/packages/package-loader-node/src/loader.ts +301 -0
- package/packages/package-loader-node/src/location.ts +279 -0
- package/packages/package-loader-node/src/types.ts +60 -0
- package/packages/program-space/README.md +20 -0
- package/packages/program-space/package.json +17 -0
- package/packages/program-space/src/activation.ts +19 -0
- package/packages/program-space/src/index.ts +107 -0
- package/packages/program-space/src/surface.ts +55 -0
- package/packages/protocol/README.md +11 -0
- package/packages/protocol/package.json +10 -0
- package/packages/protocol/src/build-id.ts +52 -0
- package/packages/protocol/src/build.ts +265 -0
- package/packages/protocol/src/canonical.ts +37 -0
- package/packages/protocol/src/error.ts +11 -0
- package/packages/protocol/src/identity.ts +59 -0
- package/packages/protocol/src/index.ts +9 -0
- package/packages/protocol/src/module.ts +67 -0
- package/packages/protocol/src/value.ts +88 -0
- package/packages/provider-hyperframes-aws-lambda/README.md +30 -0
- package/packages/provider-hyperframes-aws-lambda/package.json +30 -0
- package/packages/provider-hyperframes-aws-lambda/src/activation.ts +97 -0
- package/packages/provider-hyperframes-aws-lambda/src/client.ts +114 -0
- package/packages/provider-hyperframes-aws-lambda/src/index.ts +21 -0
- package/packages/provider-hyperframes-aws-lambda/src/provider.ts +522 -0
- package/packages/provider-hyperframes-local/README.md +129 -0
- package/packages/provider-hyperframes-local/package.json +34 -0
- package/packages/provider-hyperframes-local/src/activation.ts +107 -0
- package/packages/provider-hyperframes-local/src/capture-process.ts +110 -0
- package/packages/provider-hyperframes-local/src/capture-worker.ts +17 -0
- package/packages/provider-hyperframes-local/src/capture.ts +184 -0
- package/packages/provider-hyperframes-local/src/index.ts +10 -0
- package/packages/provider-hyperframes-local/src/options.ts +19 -0
- package/packages/provider-hyperframes-local/src/output.ts +73 -0
- package/packages/provider-hyperframes-local/src/process.ts +83 -0
- package/packages/provider-hyperframes-local/src/program.ts +58 -0
- package/packages/provider-hyperframes-local/src/provider.ts +62 -0
- package/packages/provider-hyperframes-local/src/render.ts +114 -0
- package/packages/provider-hyperframes-local/src/sampling.ts +89 -0
- package/packages/provider-hypihub/README.md +143 -0
- package/packages/provider-hypihub/package.json +26 -0
- package/packages/provider-hypihub/src/activation.ts +91 -0
- package/packages/provider-hypihub/src/index.ts +2 -0
- package/packages/provider-hypihub/src/mapping.ts +145 -0
- package/packages/provider-hypihub/src/oauth.ts +113 -0
- package/packages/provider-hypihub/src/provider.ts +566 -0
- package/packages/provider-hypihub/src/routes.ts +134 -0
- package/packages/provider-hypihub/src/upload.ts +402 -0
- package/packages/provider-image-opencv-local/README.md +16 -0
- package/packages/provider-image-opencv-local/package.json +27 -0
- package/packages/provider-image-opencv-local/runtime/raster_execute.py +299 -0
- package/packages/provider-image-opencv-local/src/activation.ts +61 -0
- package/packages/provider-image-opencv-local/src/deployment.ts +68 -0
- package/packages/provider-image-opencv-local/src/index.ts +2 -0
- package/packages/provider-image-opencv-local/src/program.ts +60 -0
- package/packages/provider-image-opencv-local/src/provider.ts +155 -0
- package/packages/provider-kie/README.md +134 -0
- package/packages/provider-kie/package.json +43 -0
- package/packages/provider-kie/src/activation.ts +71 -0
- package/packages/provider-kie/src/index.ts +10 -0
- package/packages/provider-kie/src/mapping.ts +182 -0
- package/packages/provider-kie/src/provider.ts +657 -0
- package/packages/provider-kie/src/routes.ts +150 -0
- package/packages/provider-media-local/README.md +58 -0
- package/packages/provider-media-local/package.json +28 -0
- package/packages/provider-media-local/src/activation.ts +65 -0
- package/packages/provider-media-local/src/index.ts +2 -0
- package/packages/provider-media-local/src/program.ts +19 -0
- package/packages/provider-media-local/src/provider.ts +150 -0
- package/packages/provider-whisperx-local/README.md +44 -0
- package/packages/provider-whisperx-local/package.json +27 -0
- package/packages/provider-whisperx-local/src/activation.ts +93 -0
- package/packages/provider-whisperx-local/src/index.ts +5 -0
- package/packages/provider-whisperx-local/src/program.ts +157 -0
- package/packages/provider-whisperx-local/src/provider.ts +191 -0
- package/packages/provider-xiaomi-mimo/README.md +32 -0
- package/packages/provider-xiaomi-mimo/package.json +24 -0
- package/packages/provider-xiaomi-mimo/src/activation.ts +57 -0
- package/packages/provider-xiaomi-mimo/src/index.ts +5 -0
- package/packages/provider-xiaomi-mimo/src/provider.ts +214 -0
- package/packages/ranking/README.md +67 -0
- package/packages/ranking/package.json +33 -0
- package/packages/ranking/preview/Column.svg +29 -0
- package/packages/ranking/preview/TierBoard.png +0 -0
- package/packages/ranking/preview/TierBoard.svg +36 -0
- package/packages/ranking/preview/TopThree.png +0 -0
- package/packages/ranking/src/activation.ts +38 -0
- package/packages/ranking/src/component.ts +271 -0
- package/packages/ranking/src/fragment.ts +206 -0
- package/packages/ranking/src/index.ts +26 -0
- package/packages/ranking/src/manifest.ts +807 -0
- package/packages/ranking/src/render.ts +698 -0
- package/packages/ranking/src/schedule.ts +895 -0
- package/packages/ranking/src/style.ts +272 -0
- package/packages/ranking/src/surface.ts +322 -0
- package/packages/ranking/src/tier.ts +176 -0
- package/packages/ranking/src/types.ts +277 -0
- package/packages/ranking-studio/README.md +3 -0
- package/packages/ranking-studio/package.json +14 -0
- package/packages/ranking-studio/src/activation.ts +7 -0
- package/packages/ranking-studio/src/index.ts +255 -0
- package/packages/raster/README.md +7 -0
- package/packages/raster/package.json +14 -0
- package/packages/raster/src/activation.ts +7 -0
- package/packages/raster/src/index.ts +7 -0
- package/packages/raster/src/manifest.ts +14 -0
- package/packages/raster/src/program.ts +128 -0
- package/packages/raster/src/schema.ts +53 -0
- package/packages/raster/src/types.ts +61 -0
- package/packages/render-hyperframes/README.md +58 -0
- package/packages/render-hyperframes/package.json +33 -0
- package/packages/render-hyperframes/src/activation.ts +18 -0
- package/packages/render-hyperframes/src/component.ts +37 -0
- package/packages/render-hyperframes/src/fragment.ts +73 -0
- package/packages/render-hyperframes/src/index.ts +6 -0
- package/packages/render-hyperframes/src/manifest.ts +100 -0
- package/packages/render-hyperframes/src/product.ts +29 -0
- package/packages/render-hyperframes/src/surface.ts +65 -0
- package/packages/resource-store-fs/README.md +13 -0
- package/packages/resource-store-fs/package.json +14 -0
- package/packages/resource-store-fs/src/index.ts +2 -0
- package/packages/resource-store-fs/src/store.ts +154 -0
- package/packages/resource-store-s3/README.md +15 -0
- package/packages/resource-store-s3/package.json +15 -0
- package/packages/resource-store-s3/src/client.ts +138 -0
- package/packages/resource-store-s3/src/index.ts +10 -0
- package/packages/resource-store-s3/src/store.ts +258 -0
- package/packages/run/README.md +23 -0
- package/packages/run/package.json +16 -0
- package/packages/run/src/candidate.ts +33 -0
- package/packages/run/src/facet.ts +59 -0
- package/packages/run/src/frontend-facet.ts +23 -0
- package/packages/run/src/frontend.ts +62 -0
- package/packages/run/src/graph.ts +65 -0
- package/packages/run/src/index.ts +33 -0
- package/packages/run/src/registry.ts +24 -0
- package/packages/run/src/resolve.ts +213 -0
- package/packages/run/src/types.ts +147 -0
- package/packages/run-markup/README.md +60 -0
- package/packages/run-markup/package.json +22 -0
- package/packages/run-markup/src/activation.ts +10 -0
- package/packages/run-markup/src/frontend.ts +16 -0
- package/packages/run-markup/src/index.ts +5 -0
- package/packages/run-markup/src/syntax.ts +304 -0
- package/packages/runtime/README.md +39 -0
- package/packages/runtime/package.json +15 -0
- package/packages/runtime/src/capacity.ts +51 -0
- package/packages/runtime/src/catalog.ts +30 -0
- package/packages/runtime/src/credentials.ts +124 -0
- package/packages/runtime/src/environment.ts +6 -0
- package/packages/runtime/src/execution.ts +125 -0
- package/packages/runtime/src/index.ts +24 -0
- package/packages/runtime/src/operations.ts +99 -0
- package/packages/runtime/src/scheduler.ts +281 -0
- package/packages/runtime/src/submission.ts +24 -0
- package/packages/runtime/src/types.ts +157 -0
- package/packages/runtime-host-node/README.md +25 -0
- package/packages/runtime-host-node/package.json +19 -0
- package/packages/runtime-host-node/src/index.ts +421 -0
- package/packages/runtime-host-node/src/packages.ts +158 -0
- package/packages/runtime-kit/README.md +42 -0
- package/packages/runtime-kit/package.json +16 -0
- package/packages/runtime-kit/src/index.ts +307 -0
- package/packages/runtime-kit/src/request-deadline.ts +17 -0
- package/packages/runtime-local/README.md +119 -0
- package/packages/runtime-local/package.json +33 -0
- package/packages/runtime-local/src/actions.ts +20 -0
- package/packages/runtime-local/src/config.ts +1229 -0
- package/packages/runtime-local/src/control.ts +120 -0
- package/packages/runtime-local/src/credentials.ts +61 -0
- package/packages/runtime-local/src/host.ts +174 -0
- package/packages/runtime-local/src/index.ts +36 -0
- package/packages/runtime-local/src/process-control.ts +59 -0
- package/packages/runtime-local/src/process-logs.ts +33 -0
- package/packages/runtime-local/src/programs.ts +441 -0
- package/packages/runtime-local/src/result-writer.ts +246 -0
- package/packages/runtime-local/src/runtime.ts +342 -0
- package/packages/runtime-local/src/types.ts +100 -0
- package/packages/runtime-local/src/worker-process.ts +343 -0
- package/packages/runtime-local/src/worker.ts +449 -0
- package/packages/screen-overlay/README.md +17 -0
- package/packages/screen-overlay/package.json +31 -0
- package/packages/screen-overlay/preview/Track.png +0 -0
- package/packages/screen-overlay/src/activation.ts +15 -0
- package/packages/screen-overlay/src/component.ts +20 -0
- package/packages/screen-overlay/src/fragment.ts +40 -0
- package/packages/screen-overlay/src/index.ts +7 -0
- package/packages/screen-overlay/src/manifest.ts +305 -0
- package/packages/screen-overlay/src/program.ts +321 -0
- package/packages/screen-overlay/src/surface.ts +90 -0
- package/packages/screen-overlay/src/types.ts +69 -0
- package/packages/screen-overlay-studio/README.md +3 -0
- package/packages/screen-overlay-studio/package.json +14 -0
- package/packages/screen-overlay-studio/src/activation.ts +7 -0
- package/packages/screen-overlay-studio/src/index.ts +80 -0
- package/packages/script/README.md +137 -0
- package/packages/script/package.json +22 -0
- package/packages/script/src/activation.ts +20 -0
- package/packages/script/src/edit.ts +174 -0
- package/packages/script/src/error.ts +13 -0
- package/packages/script/src/format.ts +83 -0
- package/packages/script/src/index.ts +20 -0
- package/packages/script/src/lexical.ts +133 -0
- package/packages/script/src/manifest.ts +95 -0
- package/packages/script/src/narrative.ts +232 -0
- package/packages/script/src/parser.ts +850 -0
- package/packages/script/src/surface.ts +132 -0
- package/packages/script/src/types.ts +125 -0
- package/packages/script-studio/package.json +13 -0
- package/packages/script-studio/src/activation.ts +8 -0
- package/packages/script-studio/src/index.ts +61 -0
- package/packages/seedance/README.md +19 -0
- package/packages/seedance/package.json +22 -0
- package/packages/seedance/src/activation.ts +38 -0
- package/packages/seedance/src/fragment.ts +46 -0
- package/packages/seedance/src/index.ts +329 -0
- package/packages/seedance/src/surface.ts +355 -0
- package/packages/seedance-kits/README.md +153 -0
- package/packages/seedance-kits/kits/broll-v1.svs +52 -0
- package/packages/seedance-kits/kits/call-v1.svs +55 -0
- package/packages/seedance-kits/kits/camera-reference-v1.svs +9 -0
- package/packages/seedance-kits/kits/motion-reference-v1.svs +9 -0
- package/packages/seedance-kits/kits/podcast-v1.svs +55 -0
- package/packages/seedance-kits/kits/speaker-v1.svs +136 -0
- package/packages/seedance-kits/kits/street-interview-v1.svs +49 -0
- package/packages/seedance-kits/package.json +24 -0
- package/packages/seedream/README.md +21 -0
- package/packages/seedream/package.json +21 -0
- package/packages/seedream/src/activation.ts +12 -0
- package/packages/seedream/src/index.ts +162 -0
- package/packages/seedream/src/surface.ts +84 -0
- package/packages/semantic-take-adjust/package.json +21 -0
- package/packages/semantic-take-adjust/src/activation.ts +22 -0
- package/packages/semantic-take-adjust/src/component.ts +31 -0
- package/packages/semantic-take-adjust/src/fragment.ts +24 -0
- package/packages/semantic-take-adjust/src/index.ts +12 -0
- package/packages/semantic-take-adjust/src/manifest.ts +57 -0
- package/packages/semantic-take-adjust/src/program.ts +49 -0
- package/packages/semantic-take-adjust/src/surface.ts +96 -0
- package/packages/semantic-take-adjust/src/types.ts +9 -0
- package/packages/semantic-track/README.md +21 -0
- package/packages/semantic-track/package.json +22 -0
- package/packages/semantic-track/src/activation.ts +8 -0
- package/packages/semantic-track/src/component.ts +24 -0
- package/packages/semantic-track/src/identity.ts +58 -0
- package/packages/semantic-track/src/index.ts +6 -0
- package/packages/semantic-track/src/location.ts +81 -0
- package/packages/semantic-track/src/manifest.ts +38 -0
- package/packages/semantic-track/src/projection.ts +71 -0
- package/packages/semantic-track/src/types.ts +26 -0
- package/packages/source/README.md +13 -0
- package/packages/source/package.json +13 -0
- package/packages/source/src/header.ts +80 -0
- package/packages/source/src/index.ts +17 -0
- package/packages/source/src/unit.ts +38 -0
- package/packages/spatial/README.md +77 -0
- package/packages/spatial/package.json +24 -0
- package/packages/spatial/src/activation.ts +43 -0
- package/packages/spatial/src/author.ts +59 -0
- package/packages/spatial/src/component.ts +45 -0
- package/packages/spatial/src/fragment.ts +36 -0
- package/packages/spatial/src/geometry.ts +238 -0
- package/packages/spatial/src/index.ts +37 -0
- package/packages/spatial/src/manifest.ts +341 -0
- package/packages/spatial/src/region-timeline.ts +69 -0
- package/packages/spatial/src/schema.ts +47 -0
- package/packages/spatial/src/surface.ts +319 -0
- package/packages/spatial/src/types.ts +101 -0
- package/packages/speech/README.md +16 -0
- package/packages/speech/package.json +19 -0
- package/packages/speech/src/activation.ts +7 -0
- package/packages/speech/src/component.ts +43 -0
- package/packages/speech/src/identity.ts +73 -0
- package/packages/speech/src/index.ts +6 -0
- package/packages/speech/src/manifest.ts +30 -0
- package/packages/speech/src/materialize.ts +103 -0
- package/packages/speech/src/schema.ts +42 -0
- package/packages/speech/src/types.ts +54 -0
- package/packages/speech-alignment/README.md +29 -0
- package/packages/speech-alignment/package.json +25 -0
- package/packages/speech-alignment/src/activation.ts +8 -0
- package/packages/speech-alignment/src/align.ts +235 -0
- package/packages/speech-alignment/src/component.ts +37 -0
- package/packages/speech-alignment/src/error.ts +9 -0
- package/packages/speech-alignment/src/index.ts +7 -0
- package/packages/speech-alignment/src/local.ts +64 -0
- package/packages/speech-alignment/src/locate.ts +473 -0
- package/packages/speech-alignment/src/manifest.ts +37 -0
- package/packages/speech-alignment/src/normalize.ts +79 -0
- package/packages/speech-alignment/src/types.ts +30 -0
- package/packages/speech-evidence/README.md +3 -0
- package/packages/speech-evidence/package.json +16 -0
- package/packages/speech-evidence/src/activation.ts +3 -0
- package/packages/speech-evidence/src/index.ts +102 -0
- package/packages/speech-track/README.md +51 -0
- package/packages/speech-track/package.json +28 -0
- package/packages/speech-track/preview/Track.png +0 -0
- package/packages/speech-track/src/activation.ts +19 -0
- package/packages/speech-track/src/component.ts +45 -0
- package/packages/speech-track/src/fragment.ts +74 -0
- package/packages/speech-track/src/index.ts +7 -0
- package/packages/speech-track/src/manifest.ts +73 -0
- package/packages/speech-track/src/program.ts +64 -0
- package/packages/speech-track/src/surface.ts +35 -0
- package/packages/speech-track/src/types.ts +6 -0
- package/packages/speech-track-studio/README.md +3 -0
- package/packages/speech-track-studio/package.json +14 -0
- package/packages/speech-track-studio/src/activation.ts +7 -0
- package/packages/speech-track-studio/src/index.ts +40 -0
- package/packages/store-sqlite/README.md +14 -0
- package/packages/store-sqlite/package.json +18 -0
- package/packages/store-sqlite/src/index.ts +2 -0
- package/packages/store-sqlite/src/store.ts +1101 -0
- package/packages/studio/README.md +125 -0
- package/packages/studio/index.html +10 -0
- package/packages/studio/package.json +50 -0
- package/packages/studio/src/build-library.ts +281 -0
- package/packages/studio/src/companion-assembly.ts +39 -0
- package/packages/studio/src/compile.ts +166 -0
- package/packages/studio/src/domain.ts +139 -0
- package/packages/studio/src/execute.ts +57 -0
- package/packages/studio/src/fallback-companions.ts +98 -0
- package/packages/studio/src/observe.ts +202 -0
- package/packages/studio/src/parameter-values.ts +81 -0
- package/packages/studio/src/parameters.ts +550 -0
- package/packages/studio/src/preview/render.ts +51 -0
- package/packages/studio/src/preview/runtime-shim.ts +184 -0
- package/packages/studio/src/programme.ts +276 -0
- package/packages/studio/src/run.ts +85 -0
- package/packages/studio/src/server.ts +725 -0
- package/packages/studio/src/session.ts +111 -0
- package/packages/studio/src/shared.ts +315 -0
- package/packages/studio/src/snapshot.ts +454 -0
- package/packages/studio/src/source-transaction.ts +57 -0
- package/packages/studio/src/storyboard.ts +133 -0
- package/packages/studio/src/studio-preflight.ts +198 -0
- package/packages/studio/src/studio-registry.ts +406 -0
- package/packages/studio/src/studio-trace.ts +136 -0
- package/packages/studio/src/style.css +1525 -0
- package/packages/studio/src/surface-preview.ts +35 -0
- package/packages/studio/src/temporal-graph.ts +227 -0
- package/packages/studio/src/ui/code.ts +450 -0
- package/packages/studio/src/ui/icons.ts +51 -0
- package/packages/studio/src/ui/library.ts +378 -0
- package/packages/studio/src/ui/main.ts +1001 -0
- package/packages/studio/src/ui/markers.ts +152 -0
- package/packages/studio/src/ui/material-preview.ts +176 -0
- package/packages/studio/src/ui/overlay.ts +144 -0
- package/packages/studio/src/ui/resize.ts +74 -0
- package/packages/studio/src/ui/selection.ts +178 -0
- package/packages/studio/src/ui/stage.ts +231 -0
- package/packages/studio/src/ui/syntax.ts +195 -0
- package/packages/studio/src/ui/timeline.ts +1041 -0
- package/packages/studio/src/ui/writeback.ts +10 -0
- package/packages/studio/src/ui/zoom.ts +129 -0
- package/packages/studio/start.ts +143 -0
- package/packages/studio-adapter/README.md +186 -0
- package/packages/studio-adapter/package.json +14 -0
- package/packages/studio-adapter/src/index.ts +850 -0
- package/packages/svs/README.md +37 -0
- package/packages/svs/package.json +21 -0
- package/packages/svs/src/activation.ts +11 -0
- package/packages/svs/src/format.ts +16 -0
- package/packages/svs/src/frontend.ts +33 -0
- package/packages/svs/src/index.ts +5 -0
- package/packages/svs/src/manifest.ts +17 -0
- package/packages/svs/src/parser.ts +279 -0
- package/packages/svs/src/types.ts +26 -0
- package/packages/temporal/README.md +31 -0
- package/packages/temporal/package.json +20 -0
- package/packages/temporal/src/activation.ts +9 -0
- package/packages/temporal/src/component.ts +68 -0
- package/packages/temporal/src/index.ts +110 -0
- package/packages/temporal/src/location.ts +67 -0
- package/packages/temporal/src/projection.ts +280 -0
- package/packages/temporal/src/rational.ts +80 -0
- package/packages/temporal/src/sample.ts +43 -0
- package/packages/temporal/src/schedule.ts +52 -0
- package/packages/temporal/src/types.ts +124 -0
- package/packages/temporal-markup/README.md +75 -0
- package/packages/temporal-markup/package.json +18 -0
- package/packages/temporal-markup/src/index.ts +537 -0
- package/packages/temporal-markup/src/space.ts +59 -0
- package/packages/text/README.md +59 -0
- package/packages/text/package.json +21 -0
- package/packages/text/src/activation.ts +33 -0
- package/packages/text/src/component.ts +72 -0
- package/packages/text/src/fragment.ts +57 -0
- package/packages/text/src/frontend.ts +39 -0
- package/packages/text/src/index.ts +27 -0
- package/packages/text/src/manifest.ts +170 -0
- package/packages/text/src/program.ts +418 -0
- package/packages/text/src/surface.ts +212 -0
- package/packages/text/src/svs.ts +189 -0
- package/packages/text/src/types.ts +82 -0
- package/packages/transport-aws-lambda/README.md +20 -0
- package/packages/transport-aws-lambda/package.json +14 -0
- package/packages/transport-aws-lambda/src/index.ts +131 -0
- package/packages/typography-track/README.md +50 -0
- package/packages/typography-track/package.json +34 -0
- package/packages/typography-track/preview/Mask.png +0 -0
- package/packages/typography-track/preview/Track.png +0 -0
- package/packages/typography-track/src/activation.ts +36 -0
- package/packages/typography-track/src/component.ts +93 -0
- package/packages/typography-track/src/fragment.ts +30 -0
- package/packages/typography-track/src/index.ts +11 -0
- package/packages/typography-track/src/manifest.ts +556 -0
- package/packages/typography-track/src/program.ts +622 -0
- package/packages/typography-track/src/surface.ts +842 -0
- package/packages/typography-track/src/types.ts +109 -0
- package/packages/typography-track-studio/README.md +3 -0
- package/packages/typography-track-studio/package.json +14 -0
- package/packages/typography-track-studio/src/activation.ts +7 -0
- package/packages/typography-track-studio/src/index.ts +116 -0
- package/packages/validation/README.md +11 -0
- package/packages/validation/package.json +15 -0
- package/packages/validation/src/index.ts +100 -0
- package/packages/video-cli/README.md +181 -0
- package/packages/video-cli/package.json +37 -0
- package/packages/video-cli/src/capture.ts +174 -0
- package/packages/video-cli/src/cli.ts +109 -0
- package/packages/video-cli/src/compiler.ts +32 -0
- package/packages/video-cli/src/creation.ts +449 -0
- package/packages/video-cli/src/distribution.ts +88 -0
- package/packages/video-cli/src/index.ts +50 -0
- package/packages/video-cli/src/media.ts +701 -0
- package/packages/video-cli/src/package-selection.ts +34 -0
- package/packages/video-cli/src/process.ts +71 -0
- package/packages/video-cli/src/studio-distribution.ts +19 -0
- package/packages/video-cli/src/transcript.ts +71 -0
- package/packages/video-cli/src/vocabulary.ts +386 -0
- package/packages/visual-ir/README.md +36 -0
- package/packages/visual-ir/package.json +16 -0
- package/packages/visual-ir/src/activation.ts +3 -0
- package/packages/visual-ir/src/index.ts +7 -0
- package/packages/visual-ir/src/style.ts +222 -0
- package/packages/volcengine-matting/README.md +89 -0
- package/packages/volcengine-matting/package.json +16 -0
- package/packages/volcengine-matting/src/activation.ts +13 -0
- package/packages/volcengine-matting/src/index.ts +45 -0
- package/packages/volcengine-matting/src/surface.ts +48 -0
- package/packages/whisperx/README.md +34 -0
- package/packages/whisperx/package.json +28 -0
- package/packages/whisperx/src/activation.ts +18 -0
- package/packages/whisperx/src/component.ts +64 -0
- package/packages/whisperx/src/evidence.ts +69 -0
- package/packages/whisperx/src/fragment.ts +76 -0
- package/packages/whisperx/src/index.ts +14 -0
- package/packages/whisperx/src/manifest.ts +92 -0
- package/packages/whisperx/src/surface.ts +90 -0
- package/packages/whisperx/src/transcript.ts +97 -0
- package/packages/whisperx/src/types.ts +9 -0
- package/packages/workspace/README.md +4 -0
- package/packages/workspace/package.json +14 -0
- package/packages/workspace/src/index.ts +38 -0
- package/packages/workspace-fs-node/README.md +13 -0
- package/packages/workspace-fs-node/package.json +15 -0
- package/packages/workspace-fs-node/src/index.ts +6 -0
- package/packages/workspace-fs-node/src/workspace.ts +226 -0
- package/packages/yt-dlp/README.md +31 -0
- package/packages/yt-dlp/package.json +10 -0
- package/packages/yt-dlp/src/download.ts +104 -0
- package/packages/yt-dlp/src/index.ts +1 -0
- package/services/image-opencv/README.md +33 -0
- package/services/image-opencv/package.json +14 -0
- package/services/image-opencv/pyproject.toml +13 -0
- package/services/image-opencv/uv.lock +56 -0
- package/services/whisperx/README.md +82 -0
- package/services/whisperx/package.json +15 -0
- package/services/whisperx/pyproject.toml +26 -0
- package/services/whisperx/src/hypit_whisperx_service/__init__.py +6 -0
- package/services/whisperx/src/hypit_whisperx_service/__main__.py +29 -0
- package/services/whisperx/src/hypit_whisperx_service/application.py +88 -0
- package/services/whisperx/src/hypit_whisperx_service/audio.py +66 -0
- package/services/whisperx/src/hypit_whisperx_service/check.py +35 -0
- package/services/whisperx/src/hypit_whisperx_service/config.py +81 -0
- package/services/whisperx/src/hypit_whisperx_service/engine.py +173 -0
- package/services/whisperx/src/hypit_whisperx_service/prepare.py +19 -0
- package/services/whisperx/src/hypit_whisperx_service/resources.py +41 -0
- package/services/whisperx/src/hypit_whisperx_service/server.py +101 -0
- package/services/whisperx/uv.lock +3381 -0
- package/services/yt-dlp/README.md +19 -0
- package/services/yt-dlp/package.json +14 -0
- package/services/yt-dlp/pyproject.toml +13 -0
- package/services/yt-dlp/uv.lock +23 -0
- package/index.js +0 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
|
|
3
|
+
import { probeMediaToolchain } from "@hypit/media-execution";
|
|
4
|
+
import type { ManagedProgram, ManagedProgramState } from "@hypit/runtime-kit";
|
|
5
|
+
|
|
6
|
+
function run(executable: string, args: readonly string[]): Promise<{ ok: boolean; output: string }> {
|
|
7
|
+
return new Promise((resolve) => {
|
|
8
|
+
execFile(executable, [...args], { timeout: 15_000, shell: false, windowsHide: true }, (error, stdout, stderr) => {
|
|
9
|
+
resolve(error === null
|
|
10
|
+
? { ok: true, output: stdout.trim() }
|
|
11
|
+
: { ok: false, output: (stderr.trim() || error.message).split("\n").at(-1) ?? "" });
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* HyperFrames owns the browser cache behind its CLI. It is deployment state,
|
|
18
|
+
* not an author dependency, so the Endpoint lifecycle prepares it only
|
|
19
|
+
* when this Provider is selected.
|
|
20
|
+
*/
|
|
21
|
+
export function localHyperframesBrowserProgram(
|
|
22
|
+
input: {
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly nodePath: string;
|
|
25
|
+
readonly hyperframesCliPath: string;
|
|
26
|
+
readonly ffprobePath: string;
|
|
27
|
+
readonly ffmpegPath?: string;
|
|
28
|
+
},
|
|
29
|
+
): ManagedProgram {
|
|
30
|
+
const probeBrowser = async (): Promise<ManagedProgramState> => {
|
|
31
|
+
const located = await run(input.nodePath, [input.hyperframesCliPath, "browser", "path"]);
|
|
32
|
+
if (!located.ok) return { state: "down", detail: `HyperFrames browser is unavailable: ${located.output}` };
|
|
33
|
+
const path = located.output.trim();
|
|
34
|
+
if (path.length === 0 || path.includes("\n") || path.includes("\r")) {
|
|
35
|
+
return { state: "mismatch", detail: "HyperFrames returned an invalid browser path" };
|
|
36
|
+
}
|
|
37
|
+
const version = await run(path, ["--version"]);
|
|
38
|
+
if (!version.ok || version.output.length === 0) {
|
|
39
|
+
return { state: "mismatch", detail: `HyperFrames browser cannot start: ${version.output}` };
|
|
40
|
+
}
|
|
41
|
+
return { state: "ready" };
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
id: input.id,
|
|
45
|
+
installation: {
|
|
46
|
+
probe: probeBrowser,
|
|
47
|
+
commands: [{ command: input.nodePath, args: [input.hyperframesCliPath, "browser", "ensure"] }],
|
|
48
|
+
},
|
|
49
|
+
async probe(): Promise<ManagedProgramState> {
|
|
50
|
+
const browser = await probeBrowser();
|
|
51
|
+
if (browser.state !== "ready") return browser;
|
|
52
|
+
const media = await probeMediaToolchain({ ffprobePath: input.ffprobePath, ...(input.ffmpegPath === undefined ? {} : { ffmpegPath: input.ffmpegPath }) });
|
|
53
|
+
return media.state === "ready"
|
|
54
|
+
? { state: "ready" }
|
|
55
|
+
: { state: media.state, detail: media.detail };
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { defineEndpointPackage } from "@hypit/endpoint-kit";
|
|
2
|
+
import { mediaTypes } from "@hypit/media";
|
|
3
|
+
import { renderHyperframesCapabilities, verifyHyperframesVisualRequest } from "@hypit/render-hyperframes";
|
|
4
|
+
import { canonicalize } from "@hypit/protocol";
|
|
5
|
+
import { resolveNodePackageExecutable } from "@hypit/package-loader-node";
|
|
6
|
+
import { renderHyperframesVisual, resolveExecutionOptions } from "./render.js";
|
|
7
|
+
import type { HyperframesExecutionOptions } from "./options.js";
|
|
8
|
+
|
|
9
|
+
export type * from "./options.js";
|
|
10
|
+
export const localHyperframesProviderModuleRef = { name: "@hypit/provider-hyperframes-local", version: "1" } as const;
|
|
11
|
+
export type CreateLocalHyperframesProviderOptions = HyperframesExecutionOptions & {
|
|
12
|
+
readonly instance?: string;
|
|
13
|
+
readonly pool?: string;
|
|
14
|
+
/** Used by managed browser installation, not frame capture. */
|
|
15
|
+
readonly nodePath?: string;
|
|
16
|
+
readonly hyperframesCliPath?: string;
|
|
17
|
+
/** Whole render requests admitted concurrently; independent of frame workers. */
|
|
18
|
+
readonly defaultConcurrency?: number;
|
|
19
|
+
/** Shared Chrome slots across Need executions using this pool. */
|
|
20
|
+
readonly browserCapacity?: number;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export function defaultHyperframesCliPath(): string {
|
|
24
|
+
return resolveNodePackageExecutable("hyperframes", "hyperframes", { from: import.meta.url });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function createLocalHyperframesProvider(config: CreateLocalHyperframesProviderOptions) {
|
|
28
|
+
const execution = resolveExecutionOptions(config);
|
|
29
|
+
const pool = config.pool ?? config.instance ?? "hyperframes.local";
|
|
30
|
+
const browsers = `capacity:${pool}/browsers`;
|
|
31
|
+
if (config.browserCapacity !== undefined && (!Number.isSafeInteger(config.browserCapacity) || config.browserCapacity < 1)) {
|
|
32
|
+
throw new Error("HyperFrames browserCapacity must be a positive integer");
|
|
33
|
+
}
|
|
34
|
+
return defineEndpointPackage({
|
|
35
|
+
module: localHyperframesProviderModuleRef,
|
|
36
|
+
facet: "render",
|
|
37
|
+
instance: config.instance ?? "hyperframes.local",
|
|
38
|
+
pool,
|
|
39
|
+
pricing: { kind: "local" },
|
|
40
|
+
defaultConcurrency: config.defaultConcurrency ?? 1,
|
|
41
|
+
capabilities: [{
|
|
42
|
+
lifecycle: "immediate" as const,
|
|
43
|
+
capability: renderHyperframesCapabilities.renderVisual,
|
|
44
|
+
returns: mediaTypes.renderedVisual,
|
|
45
|
+
...(config.browserCapacity === undefined ? {} : {
|
|
46
|
+
resources: [{ id: browsers, limit: config.browserCapacity }],
|
|
47
|
+
unitsForRequest: (request: import("@hypit/endpoint-kit").EndpointRequest) => {
|
|
48
|
+
verifyHyperframesVisualRequest(request.constraints);
|
|
49
|
+
const { document, range } = request.constraints;
|
|
50
|
+
return { [browsers]: Math.min(execution.workers,
|
|
51
|
+
range === undefined ? document.frameCount : range.endFrameExclusive - range.startFrame) };
|
|
52
|
+
},
|
|
53
|
+
}),
|
|
54
|
+
handler: async (context) => {
|
|
55
|
+
const request = context.need.constraints;
|
|
56
|
+
verifyHyperframesVisualRequest(request);
|
|
57
|
+
const visual = await renderHyperframesVisual(request, { ...config, workers: execution.workers, resources: context.resources });
|
|
58
|
+
return { value: { kind: "inline", value: canonicalize(visual) } };
|
|
59
|
+
},
|
|
60
|
+
}],
|
|
61
|
+
});
|
|
62
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { createReadStream } from "node:fs";
|
|
2
|
+
import { mkdtemp, readFile, rm } from "node:fs/promises";
|
|
3
|
+
import { availableParallelism, tmpdir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import type { EndpointInvocationContext } from "@hypit/endpoint-kit";
|
|
6
|
+
import { stageHyperframesProject } from "@hypit/hyperframes/project";
|
|
7
|
+
import { sealRenderedVisual } from "@hypit/media";
|
|
8
|
+
import type { MediaFrameRange, RenderedVisual } from "@hypit/media";
|
|
9
|
+
import { verifyCompositableSurfaceBytes } from "@hypit/media-execution";
|
|
10
|
+
import { verifyHyperframesVisualRequest } from "@hypit/render-hyperframes";
|
|
11
|
+
import type { HyperframesVisualRequest } from "@hypit/render-hyperframes";
|
|
12
|
+
import { isStreamingResourceStore } from "@hypit/runtime";
|
|
13
|
+
import type { HyperframesExecutionOptions } from "./options.js";
|
|
14
|
+
import { assert, positiveInteger } from "./process.js";
|
|
15
|
+
import { runCaptureProcess } from "./capture-process.js";
|
|
16
|
+
import { finished } from "node:stream/promises";
|
|
17
|
+
|
|
18
|
+
export type HyperframesRenderProgress =
|
|
19
|
+
| { readonly phase: "prepared"; readonly workers: number; readonly sourceFrames: number; readonly elapsedMs: number }
|
|
20
|
+
| { readonly phase: "worker-initializing" | "worker-start" | "worker-complete"; readonly worker: number; readonly range: MediaFrameRange;
|
|
21
|
+
readonly browserPid: number | undefined; readonly elapsedMs: number }
|
|
22
|
+
| { readonly phase: "complete"; readonly frames: number; readonly elapsedMs: number };
|
|
23
|
+
|
|
24
|
+
export type RenderHyperframesVisualOptions = HyperframesExecutionOptions & {
|
|
25
|
+
readonly resources: EndpointInvocationContext["resources"];
|
|
26
|
+
readonly signal?: AbortSignal;
|
|
27
|
+
readonly onProgress?: (event: HyperframesRenderProgress) => void;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export function resolveExecutionOptions(options: HyperframesExecutionOptions) {
|
|
31
|
+
const workers = options.workers ?? "auto";
|
|
32
|
+
assert(workers === "auto" || (Number.isSafeInteger(workers) && workers > 0),
|
|
33
|
+
"workers must be auto or a positive safe integer");
|
|
34
|
+
const quality = options.quality ?? "standard";
|
|
35
|
+
assert(["draft", "standard", "high"].includes(quality), "HyperFrames quality is invalid");
|
|
36
|
+
const browserGpu = options.browserGpu ?? "hardware";
|
|
37
|
+
assert(["auto", "software", "hardware"].includes(browserGpu), "HyperFrames browserGpu is invalid");
|
|
38
|
+
return {
|
|
39
|
+
workers: workers === "auto" ? Math.min(4, Math.max(1, Math.floor(availableParallelism() / 2))) : workers,
|
|
40
|
+
quality, browserGpu,
|
|
41
|
+
ffmpegPath: options.ffmpegPath ?? "ffmpeg",
|
|
42
|
+
ffprobePath: options.ffprobePath ?? "ffprobe",
|
|
43
|
+
initializationTimeoutMs: options.initializationTimeoutMs === undefined
|
|
44
|
+
? undefined
|
|
45
|
+
: positiveInteger(options.initializationTimeoutMs, "initializationTimeoutMs"),
|
|
46
|
+
frameTimeoutMs: options.frameTimeoutMs === undefined
|
|
47
|
+
? undefined
|
|
48
|
+
: positiveInteger(options.frameTimeoutMs, "frameTimeoutMs"),
|
|
49
|
+
processTimeoutMs: positiveInteger(options.processTimeoutMs ?? 30 * 60_000, "processTimeoutMs"),
|
|
50
|
+
maxProcessOutputBytes: positiveInteger(options.maxProcessOutputBytes ?? 4 * 1024 * 1024, "maxProcessOutputBytes"),
|
|
51
|
+
maxRenderedBytes: positiveInteger(options.maxRenderedBytes ?? 16 * 1024 * 1024 * 1024, "maxRenderedBytes"),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Execute one attempt. Its deadline includes resource preparation and output storage. */
|
|
56
|
+
export async function renderHyperframesVisual(
|
|
57
|
+
request: HyperframesVisualRequest,
|
|
58
|
+
options: RenderHyperframesVisualOptions,
|
|
59
|
+
): Promise<RenderedVisual> {
|
|
60
|
+
verifyHyperframesVisualRequest(request);
|
|
61
|
+
const config = resolveExecutionOptions(options);
|
|
62
|
+
const { document } = request;
|
|
63
|
+
const range = request.range ?? { startFrame: 0, endFrameExclusive: document.frameCount };
|
|
64
|
+
const controller = new AbortController();
|
|
65
|
+
const signal = options.signal === undefined ? controller.signal : AbortSignal.any([controller.signal, options.signal]);
|
|
66
|
+
const started = performance.now();
|
|
67
|
+
let phase = "preparing resources";
|
|
68
|
+
const timer = setTimeout(() => controller.abort(new Error(`HyperFrames render timed out during ${phase}`)), config.processTimeoutMs);
|
|
69
|
+
let work: string | undefined;
|
|
70
|
+
try {
|
|
71
|
+
signal.throwIfAborted();
|
|
72
|
+
work = await mkdtemp(join(tmpdir(), "hypit-hyperframes-local-"));
|
|
73
|
+
await stageHyperframesProject({ document, directory: work, signal,
|
|
74
|
+
read: async (artifact, readSignal) => {
|
|
75
|
+
const io = { signal: readSignal! };
|
|
76
|
+
const bytes = isStreamingResourceStore(options.resources)
|
|
77
|
+
? await options.resources.open(artifact.resource, io) : await options.resources.get(artifact.resource, io);
|
|
78
|
+
assert(bytes !== undefined, `HyperFrames Artifact ${artifact.resource} is unavailable`);
|
|
79
|
+
return bytes;
|
|
80
|
+
},
|
|
81
|
+
validateSurface: (surface, bytes, probeSignal) => verifyCompositableSurfaceBytes({ surface, bytes,
|
|
82
|
+
ffprobePath: config.ffprobePath, processTimeoutMs: config.processTimeoutMs,
|
|
83
|
+
maxProbeOutputBytes: config.maxProcessOutputBytes, signal: probeSignal! }),
|
|
84
|
+
});
|
|
85
|
+
phase = "rendering frames";
|
|
86
|
+
await runCaptureProcess({ document, range, config, directory: work,
|
|
87
|
+
engineModule: import.meta.resolve("@hyperframes/engine"),
|
|
88
|
+
producerModule: import.meta.resolve("@hyperframes/producer"),
|
|
89
|
+
}, signal, (event) => options.onProgress?.({ ...event, elapsedMs: Math.round(performance.now() - started) }));
|
|
90
|
+
signal.throwIfAborted();
|
|
91
|
+
phase = "storing output";
|
|
92
|
+
const output = join(work, "visual.mp4");
|
|
93
|
+
let artifact;
|
|
94
|
+
if (isStreamingResourceStore(options.resources)) {
|
|
95
|
+
const stream = createReadStream(output, { signal });
|
|
96
|
+
const closed = finished(stream).catch(() => {});
|
|
97
|
+
try { artifact = await options.resources.putStream(stream, "video/mp4", { signal }); }
|
|
98
|
+
finally { stream.destroy(); await closed; }
|
|
99
|
+
} else {
|
|
100
|
+
artifact = await options.resources.put(await readFile(output, { signal }), "video/mp4", { signal });
|
|
101
|
+
}
|
|
102
|
+
signal.throwIfAborted();
|
|
103
|
+
const frameCount = range.endFrameExclusive - range.startFrame;
|
|
104
|
+
options.onProgress?.({ phase: "complete", frames: frameCount, elapsedMs: Math.round(performance.now() - started) });
|
|
105
|
+
return sealRenderedVisual({ frameRate: document.frameRate, frameCount, canvas: document.canvas, artifact });
|
|
106
|
+
} catch (error) {
|
|
107
|
+
if (signal.aborted) throw signal.reason;
|
|
108
|
+
controller.abort(error);
|
|
109
|
+
throw error;
|
|
110
|
+
} finally {
|
|
111
|
+
clearTimeout(timer);
|
|
112
|
+
if (work !== undefined) await rm(work, { recursive: true, force: true });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { MediaFrameRange } from "@hypit/media";
|
|
2
|
+
import { assert } from "./process.js";
|
|
3
|
+
|
|
4
|
+
type Rational = { readonly numerator: bigint; readonly denominator: bigint };
|
|
5
|
+
export type VideoSlot = MediaFrameRange & {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly src: string;
|
|
8
|
+
readonly sourceFrame: Rational;
|
|
9
|
+
readonly sourceRate: Rational;
|
|
10
|
+
readonly sourceFps: { readonly num: number; readonly den: number };
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
function rational(value: string, label: string): Rational {
|
|
14
|
+
assert(/^\d+\/[1-9]\d*$/u.test(value), `HyperFrames ${label} must be a non-negative rational`);
|
|
15
|
+
const [a, b] = value.split("/");
|
|
16
|
+
return { numerator: BigInt(a!), denominator: BigInt(b!) };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** Read the compiler's exact frame markers, without reconstructing author intent from seconds. */
|
|
20
|
+
export function videoSlots(html: string): VideoSlot[] {
|
|
21
|
+
return [...html.matchAll(/<video\b[^>]*>/gu)].map(([tag]) => {
|
|
22
|
+
const attribute = (name: string): string => {
|
|
23
|
+
const value = new RegExp(`(?:\\s)${name}="([^"]*)"`, "u").exec(tag)?.[1];
|
|
24
|
+
assert(value !== undefined, `HyperFrames video lacks ${name}; compile its frame sampling before rendering`);
|
|
25
|
+
return value.replaceAll("&", "&").replaceAll(""", '"').replaceAll("<", "<").replaceAll(">", ">");
|
|
26
|
+
};
|
|
27
|
+
const sourceFps = rational(attribute("data-hypit-source-fps"), "source frame rate");
|
|
28
|
+
const slot = {
|
|
29
|
+
id: attribute("id"), src: attribute("src"),
|
|
30
|
+
startFrame: Number(attribute("data-hypit-start-frame")),
|
|
31
|
+
endFrameExclusive: Number(attribute("data-hypit-end-frame")),
|
|
32
|
+
sourceFrame: rational(attribute("data-hypit-source-frame"), "source frame"),
|
|
33
|
+
sourceRate: rational(attribute("data-hypit-source-rate"), "source rate"),
|
|
34
|
+
sourceFps: { num: Number(sourceFps.numerator), den: Number(sourceFps.denominator) },
|
|
35
|
+
};
|
|
36
|
+
assert(Number.isSafeInteger(slot.startFrame) && slot.startFrame >= 0
|
|
37
|
+
&& Number.isSafeInteger(slot.endFrameExclusive) && slot.endFrameExclusive > slot.startFrame
|
|
38
|
+
&& Number.isSafeInteger(slot.sourceFps.num) && slot.sourceFps.num > 0
|
|
39
|
+
&& Number.isSafeInteger(slot.sourceFps.den), "HyperFrames video frame mapping is invalid");
|
|
40
|
+
return slot;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** A decoded frame owns [n, n+1) in source-frame coordinates. */
|
|
45
|
+
export function sourceFrameAt(slot: VideoSlot, frame: number): number {
|
|
46
|
+
const a = slot.sourceFrame;
|
|
47
|
+
const r = slot.sourceRate;
|
|
48
|
+
const value = Number((a.numerator * r.denominator
|
|
49
|
+
+ BigInt(frame - slot.startFrame) * r.numerator * a.denominator) / (a.denominator * r.denominator));
|
|
50
|
+
assert(Number.isSafeInteger(value) && value >= 0, "HyperFrames source frame exceeds safe arithmetic");
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function sourceWindows(slots: readonly VideoSlot[], range: MediaFrameRange) {
|
|
55
|
+
const sources = new Map<string, { fps: VideoSlot["sourceFps"]; windows: MediaFrameRange[] }>();
|
|
56
|
+
for (const slot of slots) {
|
|
57
|
+
const first = Math.max(range.startFrame, slot.startFrame);
|
|
58
|
+
const last = Math.min(range.endFrameExclusive, slot.endFrameExclusive) - 1;
|
|
59
|
+
if (last < first) continue;
|
|
60
|
+
let source = sources.get(slot.src);
|
|
61
|
+
if (source === undefined) {
|
|
62
|
+
source = { fps: slot.sourceFps, windows: [] };
|
|
63
|
+
sources.set(slot.src, source);
|
|
64
|
+
}
|
|
65
|
+
assert(source.fps.num * slot.sourceFps.den === slot.sourceFps.num * source.fps.den,
|
|
66
|
+
"One HyperFrames source has conflicting frame rates");
|
|
67
|
+
source.windows.push({ startFrame: sourceFrameAt(slot, first), endFrameExclusive: sourceFrameAt(slot, last) + 1 });
|
|
68
|
+
}
|
|
69
|
+
return [...sources].map(([src, source]) => {
|
|
70
|
+
const windows: MediaFrameRange[] = [];
|
|
71
|
+
for (const window of source.windows.sort((a, b) => a.startFrame - b.startFrame)) {
|
|
72
|
+
const previous = windows.at(-1);
|
|
73
|
+
if (previous !== undefined && window.startFrame <= previous.endFrameExclusive) {
|
|
74
|
+
windows[windows.length - 1] = { startFrame: previous.startFrame,
|
|
75
|
+
endFrameExclusive: Math.max(previous.endFrameExclusive, window.endFrameExclusive) };
|
|
76
|
+
} else windows.push(window);
|
|
77
|
+
}
|
|
78
|
+
return { src, fps: source.fps, windows };
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export function distributeFrameRange(range: MediaFrameRange, workers: number): MediaFrameRange[] {
|
|
83
|
+
const count = range.endFrameExclusive - range.startFrame;
|
|
84
|
+
const active = Math.min(count, workers);
|
|
85
|
+
return Array.from({ length: active }, (_, index) => ({
|
|
86
|
+
startFrame: range.startFrame + Math.floor(index * count / active),
|
|
87
|
+
endFrameExclusive: range.startFrame + Math.floor((index + 1) * count / active),
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# `@hypit/provider-hypihub`
|
|
2
|
+
|
|
3
|
+
Thin Hypit Runtime Provider for a HypiHub deployment. It is an optional default gateway for
|
|
4
|
+
paid generation and WhisperX alignment requests; callers may keep their own Provider and select HypiHub only
|
|
5
|
+
when its OAuth login is configured.
|
|
6
|
+
|
|
7
|
+
It maps the currently shipped image/video model capabilities to HypiHub, including image edits and
|
|
8
|
+
image-to-video first-frame inputs, submits jobs, polls them, downloads the first-class assets and
|
|
9
|
+
admits them into the current Build's working byte area. Image references use HypiHub's documented
|
|
10
|
+
`reference_images` object shape (`[{ "url": "…" }]`); video references use the public
|
|
11
|
+
`reference_image_urls`, `reference_videos`, and `reference_audios` fields (with `ref_video_url`
|
|
12
|
+
for one video). First/last-frame images use `first_frame` and `last_frame`.
|
|
13
|
+
|
|
14
|
+
The current HypiHub GPT Image 2 route exposes the same request surface as its KIE upstream:
|
|
15
|
+
|
|
16
|
+
| Resolution | Ratios unavailable at this Endpoint | `background` |
|
|
17
|
+
| --- | --- | --- |
|
|
18
|
+
| `1K` | none | optional |
|
|
19
|
+
| `2K` | `5:4`, `4:5`, `3:1`, `1:3`, `9:21` | omit |
|
|
20
|
+
| `4K` | `3:1`, `1:3`, `9:21` | omit |
|
|
21
|
+
|
|
22
|
+
HypiHub owns this support check independently: it neither imports the KIE Provider nor narrows the
|
|
23
|
+
GPT Image model package. When the service surface changes, this Provider can change without changing
|
|
24
|
+
the model or another Provider.
|
|
25
|
+
|
|
26
|
+
For moving portraits, [Volcengine Matting](../volcengine-matting/README.md) maps
|
|
27
|
+
`@hypit/volcengine-matting@1#matte-portrait-video` to `POST /v1/videos` with
|
|
28
|
+
`model: "matte-portrait-video"`, `ref_video_url` and `format` (`WEBM` by default, or `MOV`).
|
|
29
|
+
Both formats carry transparency. The source video uses the same upload transport as other video
|
|
30
|
+
references; the returned job uses the same polling and asset collection lifecycle. The selected
|
|
31
|
+
account's `/v1/models` establishes availability. The processed video enters ordinary Normalize,
|
|
32
|
+
then either semantic alignment for a Script performance or Media Track for B-roll.
|
|
33
|
+
|
|
34
|
+
The existing [Background Removal](../background-removal/README.md) package handles single images
|
|
35
|
+
through KIE Recraft. This Provider does not bind that separate image capability either.
|
|
36
|
+
|
|
37
|
+
Runtime Profile example:
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"endpoints": {
|
|
42
|
+
"hypihub.default": {
|
|
43
|
+
"use": "@hypit/provider-hypihub",
|
|
44
|
+
"pool": "hypihub.default",
|
|
45
|
+
"config": {
|
|
46
|
+
"baseUrl": "https://hypit.ai",
|
|
47
|
+
"apiKey": { "store": "os", "key": "hypihub.oauth" },
|
|
48
|
+
"defaultConcurrency": 3,
|
|
49
|
+
"pollIntervalMs": 10000
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Remote transcription exposes the same `@hypit/whisperx` alignment capability implemented by the local
|
|
57
|
+
WhisperX Provider. The Runtime Profile selects which Endpoint serves it. Run
|
|
58
|
+
`hypit auth login hypihub.default --runtime hypit.runtime.json` to sign in with HypiHub OAuth when
|
|
59
|
+
choosing HypiHub. A Profile may set `baseUrl`
|
|
60
|
+
to the selected deployment's origin or an existing `/v1`/`/v1beta` base. The Runtime Provider
|
|
61
|
+
normalizes it to `/v1`; missing or insufficient user
|
|
62
|
+
credentials should be resolved at [hypit.ai](https://hypit.ai). Referenced image, audio and video
|
|
63
|
+
Resources are uploaded through a session from `POST /v1/files/uploads`, followed by the private
|
|
64
|
+
regional multipart instructions returned by HypiHub. The Provider follows the server-selected part
|
|
65
|
+
size and part concurrency, retries a failed part with a fresh signed URL, completes or cancels that
|
|
66
|
+
one upload, and then passes the returned HTTPS URL to generation or transcription. One
|
|
67
|
+
Resource identity is uploaded once within one Runtime operation. Hypit keeps no upload catalog or
|
|
68
|
+
cross-Build cache. Embedded callers may replace this transport with `publicAssetUrl`.
|
|
69
|
+
|
|
70
|
+
OAuth login stores the access token, refresh token and expiry as one opaque credential value. The
|
|
71
|
+
browser callback only confirms that authorization returned to the CLI; the CLI reports success after
|
|
72
|
+
the bounded token exchange and Credential Store write complete. `oauthRequestTimeoutMs` controls that
|
|
73
|
+
exchange and defaults to 30 seconds, independently of the longer inference request timeout. The
|
|
74
|
+
Provider refreshes that value shortly before expiry or after an unauthorised response when the
|
|
75
|
+
selected Store is writable. Its Endpoint receives only the credential slot it declared and a narrow
|
|
76
|
+
operation for replacing that same slot; it cannot enumerate the Store, choose another key or read
|
|
77
|
+
another Endpoint's credentials. A raw credential remains an ordinary static API key.
|
|
78
|
+
|
|
79
|
+
The service currently requires whole-file and per-part SHA-256 values as fields of its signed upload
|
|
80
|
+
protocol. They exist only while transferring bytes; Hypit never uses them as Resource identity,
|
|
81
|
+
Result metadata, lookup keys or reuse evidence. Signed URLs and their query credentials are removed
|
|
82
|
+
from surfaced upload errors.
|
|
83
|
+
|
|
84
|
+
The default remote alignment model is `victor-upmeet/whisperx`; `transcriptionModel` may select another
|
|
85
|
+
HypiHub model that exposes the `transcriptions` route. `hypit doctor` reads the authenticated model
|
|
86
|
+
catalog to verify configured capabilities; ordinary preflight never makes that request. The package
|
|
87
|
+
declares HypiHub's public pricing page, `https://hypit.ai/commercial/pricing/`, as its price source.
|
|
88
|
+
For each selected Need, `readPricing` resolves the corresponding HypiHub model and returns the service's
|
|
89
|
+
authenticated `GET /v1/pricing?model=<model>` response unchanged together with that URL. It covers
|
|
90
|
+
generation, alignment, Voice Design, and Voice Clone through the same mechanism;
|
|
91
|
+
the Provider does not maintain a second list of billing formulas or calculate a request total.
|
|
92
|
+
|
|
93
|
+
HypiHub declares MiMo Voice Design and Voice Clone together with every other capability it serves; it
|
|
94
|
+
never hides one. Voice Design produces an accepted voice-reference Resource, and Voice Clone uses
|
|
95
|
+
that reference to produce independent speech. Hypit does not expose MiMo preset voices. When another
|
|
96
|
+
selected Endpoint offers the same capability (a local WhisperX or the official MiMo
|
|
97
|
+
Provider), the Runtime Profile's `bindings` say which Endpoint serves it.
|
|
98
|
+
|
|
99
|
+
Execution policy remains local to this Provider:
|
|
100
|
+
|
|
101
|
+
| Profile field | Default | What it controls |
|
|
102
|
+
| --- | ---: | --- |
|
|
103
|
+
| `requestTimeoutMs` | 300 seconds | ordinary Provider HTTP requests |
|
|
104
|
+
| `oauthRequestTimeoutMs` | 30 seconds | OAuth token exchange and refresh |
|
|
105
|
+
| `pricingRequestTimeoutMs` | 30 seconds | authenticated pricing requests |
|
|
106
|
+
| `operationTimeoutMs` | 20 minutes | one remote asynchronous operation |
|
|
107
|
+
| `uploadConcurrency` | 8 | whole file sessions per origin/credential within this process |
|
|
108
|
+
| `uploadPartTimeoutMs` | 5 minutes | one upload part |
|
|
109
|
+
| `uploadPartAttempts` | 3 | attempts for one upload part |
|
|
110
|
+
| `downloadAttempts` | 3 | attempts to collect one result |
|
|
111
|
+
|
|
112
|
+
`defaultConcurrency` controls the total shared capacity of this Profile's HypiHub pool. Optional `capabilityConcurrency`
|
|
113
|
+
sets narrower group limits, for example `{ "seedance-2-mini": 2, "transcription": 1 }`.
|
|
114
|
+
Image/video/speech groups use the exact capability name; WhisperX uses `transcription`. These limits
|
|
115
|
+
coordinate this Runtime's requests; HypiHub remains
|
|
116
|
+
responsible for service-wide account limits. Immediate speech/transcription slots cover the
|
|
117
|
+
active HTTP invocation, while asynchronous image/video slots cover remote work until completion or local execution failure.
|
|
118
|
+
|
|
119
|
+
For asynchronous image/video jobs, `actionLimits` configures the common `submit`, `poll` and `collect`
|
|
120
|
+
admission budgets. Each accepts `concurrency` and `rate: { limit, periodMs }`, shared by the pool.
|
|
121
|
+
These limits count lifecycle actions; Provider-specific upload parts and HTTP requests remain inside
|
|
122
|
+
those actions. Synchronous speech and transcription retain their ordinary request capacity.
|
|
123
|
+
|
|
124
|
+
A submission, polling or collection error ends the local attempt. Known job IDs and credential
|
|
125
|
+
references remain available in Result receipts; a timeout with no ID is recorded as such. A job can
|
|
126
|
+
be inspected at `/jobs/<id>` and its generated assets at `/jobs/<id>/assets` on the selected API base.
|
|
127
|
+
The next production attempt uses a new Run and Build. Runtime bindings never switch from a user's
|
|
128
|
+
own Provider to HypiHub after a key, quota or transport failure.
|
|
129
|
+
|
|
130
|
+
`uploadConcurrency` bounds whole files inside the Provider transport. Uploader instances in the same
|
|
131
|
+
process share the limit for the same service origin and current credential; the smallest outstanding
|
|
132
|
+
limit applies. Token refresh can change that grouping. Separate processes are not coordinated by this
|
|
133
|
+
local limit. It is a positive safe integer; HypiHub still enforces its own account quota. Part
|
|
134
|
+
concurrency is separately negotiated by HypiHub for each file. These are transport limits inside a
|
|
135
|
+
Runtime action, not additional Build admission limits.
|
|
136
|
+
|
|
137
|
+
Signing, completing and cancelling a known upload session may retry temporary transport failures
|
|
138
|
+
within at most four attempts and the smaller of `requestTimeoutMs` or 120 seconds. A new upload
|
|
139
|
+
session is retried only after an explicit temporary 429 rejection; an unknown creation result ends
|
|
140
|
+
the attempt. Daily and storage quota errors fail immediately. Active part workers finish before the
|
|
141
|
+
session is cancelled. An unconfirmed cancellation logs its upload ID without exposing signed URLs.
|
|
142
|
+
OAuth refresh retries the rejected control request on the same session. None of this resumes a
|
|
143
|
+
failed Build or changes the selected Provider.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hypit/provider-hypihub",
|
|
3
|
+
"version": "0.0.0-dev",
|
|
4
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
5
|
+
"private": true,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": { ".": "./src/index.ts" },
|
|
8
|
+
"hypit": { "activation": "./src/activation.ts" },
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@hypit/endpoint-kit": "workspace:*",
|
|
11
|
+
"@hypit/generation": "workspace:*",
|
|
12
|
+
"@hypit/protocol": "workspace:*",
|
|
13
|
+
"@hypit/runtime": "workspace:*",
|
|
14
|
+
"@hypit/runtime-kit": "workspace:*",
|
|
15
|
+
"@hypit/speech-evidence": "workspace:*",
|
|
16
|
+
"@hypit/text": "workspace:*",
|
|
17
|
+
"@hypit/whisperx": "workspace:*"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@hypit/driver-node": "workspace:*",
|
|
21
|
+
"@hypit/mimo-speech": "workspace:*",
|
|
22
|
+
"@hypit/seedance": "workspace:*",
|
|
23
|
+
"@hypit/speech": "workspace:*",
|
|
24
|
+
"@hypit/volcengine-matting": "workspace:*"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createRuntimeEndpointAdapterFacet,
|
|
3
|
+
runtimeConfigCredentialRef,
|
|
4
|
+
runtimeConfigActionLimits,
|
|
5
|
+
runtimeConfigExact,
|
|
6
|
+
runtimeConfigObject,
|
|
7
|
+
runtimeConfigPositiveInteger,
|
|
8
|
+
runtimeConfigString,
|
|
9
|
+
} from "@hypit/runtime-kit";
|
|
10
|
+
|
|
11
|
+
import { createHypiHubProvider, diagnoseHypiHubProvider } from "./provider.js";
|
|
12
|
+
|
|
13
|
+
const adapter = createRuntimeEndpointAdapterFacet({
|
|
14
|
+
use: "@hypit/provider-hypihub",
|
|
15
|
+
activate(context) {
|
|
16
|
+
if (context.pool === undefined) throw new Error("HypiHub Provider Pool is required");
|
|
17
|
+
const config = runtimeConfigObject(context.config, "HypiHub");
|
|
18
|
+
runtimeConfigExact(config, [
|
|
19
|
+
"baseUrl",
|
|
20
|
+
"apiKey",
|
|
21
|
+
"defaultConcurrency",
|
|
22
|
+
"actionLimits",
|
|
23
|
+
"capabilityConcurrency",
|
|
24
|
+
"pollIntervalMs",
|
|
25
|
+
"requestTimeoutMs",
|
|
26
|
+
"oauthRequestTimeoutMs",
|
|
27
|
+
"pricingRequestTimeoutMs",
|
|
28
|
+
"operationTimeoutMs",
|
|
29
|
+
"uploadConcurrency",
|
|
30
|
+
"uploadPartTimeoutMs",
|
|
31
|
+
"uploadPartAttempts",
|
|
32
|
+
"downloadAttempts",
|
|
33
|
+
"transcriptionModel",
|
|
34
|
+
], "HypiHub");
|
|
35
|
+
const baseUrl = runtimeConfigString(config.baseUrl, "HypiHub baseUrl");
|
|
36
|
+
if (baseUrl !== undefined) {
|
|
37
|
+
const url = new URL(baseUrl);
|
|
38
|
+
if (url.protocol !== "https:" && url.hostname !== "localhost" && url.hostname !== "127.0.0.1") {
|
|
39
|
+
throw new Error("HypiHub baseUrl must use HTTPS or loopback");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const apiKey = runtimeConfigCredentialRef(config.apiKey, "HypiHub apiKey");
|
|
43
|
+
if (apiKey === undefined) throw new Error("HypiHub apiKey CredentialRef is required");
|
|
44
|
+
const actionLimits = runtimeConfigActionLimits(config.actionLimits);
|
|
45
|
+
const defaultConcurrency = runtimeConfigPositiveInteger(config.defaultConcurrency, "HypiHub defaultConcurrency");
|
|
46
|
+
const pollIntervalMs = runtimeConfigPositiveInteger(config.pollIntervalMs, "HypiHub pollIntervalMs");
|
|
47
|
+
const requestTimeoutMs = runtimeConfigPositiveInteger(config.requestTimeoutMs, "HypiHub requestTimeoutMs");
|
|
48
|
+
const oauthRequestTimeoutMs = runtimeConfigPositiveInteger(config.oauthRequestTimeoutMs, "HypiHub oauthRequestTimeoutMs");
|
|
49
|
+
const pricingRequestTimeoutMs = runtimeConfigPositiveInteger(config.pricingRequestTimeoutMs, "HypiHub pricingRequestTimeoutMs");
|
|
50
|
+
const operationTimeoutMs = runtimeConfigPositiveInteger(config.operationTimeoutMs, "HypiHub operationTimeoutMs");
|
|
51
|
+
const uploadConcurrency = runtimeConfigPositiveInteger(config.uploadConcurrency, "HypiHub uploadConcurrency");
|
|
52
|
+
const uploadPartTimeoutMs = runtimeConfigPositiveInteger(config.uploadPartTimeoutMs, "HypiHub uploadPartTimeoutMs");
|
|
53
|
+
const uploadPartAttempts = runtimeConfigPositiveInteger(config.uploadPartAttempts, "HypiHub uploadPartAttempts");
|
|
54
|
+
const downloadAttempts = runtimeConfigPositiveInteger(config.downloadAttempts, "HypiHub downloadAttempts");
|
|
55
|
+
const transcriptionModel = runtimeConfigString(config.transcriptionModel, "HypiHub transcriptionModel");
|
|
56
|
+
const capabilityConcurrency = config.capabilityConcurrency === undefined ? undefined : Object.fromEntries(
|
|
57
|
+
Object.entries(runtimeConfigObject(config.capabilityConcurrency, "HypiHub capabilityConcurrency"))
|
|
58
|
+
.map(([name, value]) => [name, runtimeConfigPositiveInteger(value, `HypiHub ${name} capacity`)!]),
|
|
59
|
+
);
|
|
60
|
+
const options = {
|
|
61
|
+
instance: context.instance,
|
|
62
|
+
pool: context.pool,
|
|
63
|
+
...(baseUrl === undefined ? {} : { baseUrl }),
|
|
64
|
+
apiKey,
|
|
65
|
+
...(defaultConcurrency === undefined ? {} : { defaultConcurrency }),
|
|
66
|
+
...(actionLimits === undefined ? {} : { actionLimits }),
|
|
67
|
+
...(capabilityConcurrency === undefined ? {} : { capabilityConcurrency }),
|
|
68
|
+
...(pollIntervalMs === undefined ? {} : { pollIntervalMs }),
|
|
69
|
+
...(requestTimeoutMs === undefined ? {} : { requestTimeoutMs }),
|
|
70
|
+
...(oauthRequestTimeoutMs === undefined ? {} : { oauthRequestTimeoutMs }),
|
|
71
|
+
...(pricingRequestTimeoutMs === undefined ? {} : { pricingRequestTimeoutMs }),
|
|
72
|
+
...(operationTimeoutMs === undefined ? {} : { operationTimeoutMs }),
|
|
73
|
+
...(uploadConcurrency === undefined ? {} : { uploadConcurrency }),
|
|
74
|
+
...(uploadPartTimeoutMs === undefined ? {} : { uploadPartTimeoutMs }),
|
|
75
|
+
...(uploadPartAttempts === undefined ? {} : { uploadPartAttempts }),
|
|
76
|
+
...(downloadAttempts === undefined ? {} : { downloadAttempts }),
|
|
77
|
+
...(transcriptionModel === undefined ? {} : { transcriptionModel }),
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
endpoint: createHypiHubProvider(options),
|
|
81
|
+
diagnose: async (doctor) => await diagnoseHypiHubProvider(options, doctor),
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
export const hypitPackage = {
|
|
87
|
+
format: "hypit.node-package@1" as const,
|
|
88
|
+
hostFacets: [adapter],
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export default hypitPackage;
|