@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,150 @@
|
|
|
1
|
+
import { artifactTypes } from "@hypit/artifact";
|
|
2
|
+
import {
|
|
3
|
+
assertBackgroundRemovalRequest,
|
|
4
|
+
backgroundRemovalCapabilities,
|
|
5
|
+
} from "@hypit/background-removal";
|
|
6
|
+
import type { BackgroundRemovalRequest } from "@hypit/background-removal";
|
|
7
|
+
import {
|
|
8
|
+
compileWireRequest,
|
|
9
|
+
generationTypes,
|
|
10
|
+
selectWireModelForRequest,
|
|
11
|
+
sealGeneratedImageSet,
|
|
12
|
+
sealGeneratedVideoSet,
|
|
13
|
+
} from "@hypit/generation";
|
|
14
|
+
import type { GenerationArtifactUrlResolver, GenerationRequest, GenerationWireMapping } from "@hypit/generation";
|
|
15
|
+
import { canonicalize } from "@hypit/protocol";
|
|
16
|
+
import type { BlobRef, CanonicalValue, CapabilityRef, StoredValue, TypeRef } from "@hypit/protocol";
|
|
17
|
+
import type { EndpointRequest, EndpointSupport } from "@hypit/endpoint-kit";
|
|
18
|
+
|
|
19
|
+
import { kieModelCatalog, verifyKieModelCatalog } from "./mapping.js";
|
|
20
|
+
|
|
21
|
+
export type KieTaskRequest = {
|
|
22
|
+
readonly model: string;
|
|
23
|
+
readonly input: CanonicalValue;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export type KieRoute = {
|
|
27
|
+
readonly key: string;
|
|
28
|
+
readonly capability: CapabilityRef;
|
|
29
|
+
readonly returns: TypeRef;
|
|
30
|
+
readonly media: "image" | "video";
|
|
31
|
+
readonly maxResults: number;
|
|
32
|
+
readonly supports?: (request: EndpointRequest) => EndpointSupport;
|
|
33
|
+
/** Select the same service model before or during execution, without resolving Resource bytes. */
|
|
34
|
+
readonly selectModel: (request: EndpointRequest) => string;
|
|
35
|
+
readonly compile: (
|
|
36
|
+
constraints: CanonicalValue,
|
|
37
|
+
resolve: GenerationArtifactUrlResolver,
|
|
38
|
+
) => Promise<KieTaskRequest>;
|
|
39
|
+
readonly packageResult: (artifacts: readonly BlobRef[]) => StoredValue;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
function capabilityKey(ref: CapabilityRef): string {
|
|
43
|
+
return `${ref.module.name}@${ref.module.version}#${ref.name}`;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function scalar(request: GenerationRequest, port: string): string | number | boolean | undefined {
|
|
47
|
+
const value = request.ports[port]?.[0];
|
|
48
|
+
return typeof value === "string" || typeof value === "number" || typeof value === "boolean" ? value : undefined;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** Returns the KIE-wire limitation that rejects an otherwise valid model request. */
|
|
52
|
+
function kieGenerationRejection(mapping: GenerationWireMapping, request: GenerationRequest): string | undefined {
|
|
53
|
+
if (mapping.capability.module.name === "@hypit/gpt-image" && mapping.capability.name === "gpt-image-2") {
|
|
54
|
+
const ratio = scalar(request, "aspectRatio");
|
|
55
|
+
const resolution = scalar(request, "resolution");
|
|
56
|
+
const background = scalar(request, "background");
|
|
57
|
+
const unsupportedRatios = resolution === "2K"
|
|
58
|
+
? ["5:4", "4:5", "3:1", "1:3", "9:21"]
|
|
59
|
+
: resolution === "4K" ? ["3:1", "1:3", "9:21"] : [];
|
|
60
|
+
if (unsupportedRatios.includes(String(ratio))) {
|
|
61
|
+
return `KIE GPT Image 2 does not accept ${String(ratio)} at ${String(resolution)}`;
|
|
62
|
+
}
|
|
63
|
+
if (background !== undefined && resolution !== "1K") {
|
|
64
|
+
return `KIE GPT Image 2 accepts the background option only at 1K; omit it at ${String(resolution)}`;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (mapping.capability.module.name === "@hypit/grok-imagine"
|
|
68
|
+
&& (mapping.capability.name === "grok-imagine-video"
|
|
69
|
+
|| mapping.capability.name === "grok-imagine-video-1.5-preview")
|
|
70
|
+
&& scalar(request, "resolution") === "1080p"
|
|
71
|
+
&& (request.ports.images?.length ?? 0) > 1) {
|
|
72
|
+
return `KIE ${mapping.capability.name} accepts at most one reference image at 1080p`;
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const kieGenerationMappings: readonly (GenerationWireMapping & { readonly result: "image" | "video" })[] = kieModelCatalog.map((mapping) => {
|
|
78
|
+
if (mapping.result === "audio") {
|
|
79
|
+
throw new Error(`KIE route ${mapping.capability.name} declares unsupported audio output`);
|
|
80
|
+
}
|
|
81
|
+
return mapping as GenerationWireMapping & { readonly result: "image" | "video" };
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const generationRoutes: readonly KieRoute[] = kieGenerationMappings.map((mapping) => ({
|
|
85
|
+
key: capabilityKey(mapping.capability),
|
|
86
|
+
capability: mapping.capability,
|
|
87
|
+
returns: mapping.result === "image" ? generationTypes.imageSet : generationTypes.videoSet,
|
|
88
|
+
media: mapping.result,
|
|
89
|
+
maxResults: mapping.result === "image" ? 16 : 8,
|
|
90
|
+
supports: (need: EndpointRequest) => {
|
|
91
|
+
const reason = kieGenerationRejection(mapping, need.constraints as unknown as GenerationRequest);
|
|
92
|
+
return reason === undefined ? { status: "supported" } : { status: "unsupported", reason };
|
|
93
|
+
},
|
|
94
|
+
selectModel: (need) => selectWireModelForRequest(
|
|
95
|
+
mapping,
|
|
96
|
+
need.constraints as unknown as GenerationRequest,
|
|
97
|
+
need.pendingInputs?.map((input) => input.input),
|
|
98
|
+
),
|
|
99
|
+
compile: async (constraints, resolve) => {
|
|
100
|
+
const request = constraints as unknown as GenerationRequest;
|
|
101
|
+
const rejection = kieGenerationRejection(mapping, request);
|
|
102
|
+
if (rejection !== undefined) throw new Error(rejection);
|
|
103
|
+
return await compileWireRequest(mapping, request, resolve);
|
|
104
|
+
},
|
|
105
|
+
packageResult: (artifacts) => ({
|
|
106
|
+
kind: "inline",
|
|
107
|
+
value: canonicalize(mapping.result === "image"
|
|
108
|
+
? sealGeneratedImageSet({ images: artifacts })
|
|
109
|
+
: sealGeneratedVideoSet({ videos: artifacts })),
|
|
110
|
+
}),
|
|
111
|
+
}));
|
|
112
|
+
|
|
113
|
+
const backgroundRemovalRoute: KieRoute = {
|
|
114
|
+
key: capabilityKey(backgroundRemovalCapabilities.remove),
|
|
115
|
+
capability: backgroundRemovalCapabilities.remove,
|
|
116
|
+
returns: artifactTypes.blob,
|
|
117
|
+
media: "image",
|
|
118
|
+
maxResults: 1,
|
|
119
|
+
selectModel: () => "recraft/remove-background",
|
|
120
|
+
compile: async (constraints, resolve) => {
|
|
121
|
+
const request = constraints as unknown as BackgroundRemovalRequest;
|
|
122
|
+
assertBackgroundRemovalRequest(request);
|
|
123
|
+
return {
|
|
124
|
+
model: "recraft/remove-background",
|
|
125
|
+
input: canonicalize({ image: await resolve(request.source) }),
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
packageResult: (artifacts) => {
|
|
129
|
+
if (artifacts.length !== 1 || artifacts[0] === undefined) {
|
|
130
|
+
throw new Error("KIE Background Removal requires exactly one image result");
|
|
131
|
+
}
|
|
132
|
+
return artifacts[0];
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export const kieRoutes: readonly KieRoute[] = [...generationRoutes, backgroundRemovalRoute];
|
|
137
|
+
const routeByCapability = new Map(kieRoutes.map((route) => [route.key, route]));
|
|
138
|
+
|
|
139
|
+
export function kieRouteForCapability(capability: CapabilityRef): KieRoute | undefined {
|
|
140
|
+
return routeByCapability.get(capabilityKey(capability));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export function verifyKieRoutes(): void {
|
|
144
|
+
verifyKieModelCatalog();
|
|
145
|
+
if (routeByCapability.size !== kieRoutes.length) throw new Error("KIE routes repeat a capability");
|
|
146
|
+
kieRoutes.forEach((route) => {
|
|
147
|
+
if (route.key !== capabilityKey(route.capability)) throw new Error("KIE route key differs from its capability");
|
|
148
|
+
if (!Number.isSafeInteger(route.maxResults) || route.maxResults <= 0) throw new Error("KIE route result limit is invalid");
|
|
149
|
+
});
|
|
150
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# `@hypit/provider-media-local`
|
|
2
|
+
|
|
3
|
+
Trusted local ffprobe/ffmpeg implementation of `@hypit/media-pipeline`'s nine exact byte-operation
|
|
4
|
+
capabilities. It is Runtime configuration and is never imported by author `.svml`.
|
|
5
|
+
|
|
6
|
+
```ts
|
|
7
|
+
import { createLocalMediaProvider } from "@hypit/provider-media-local";
|
|
8
|
+
|
|
9
|
+
const media = createLocalMediaProvider({ instance: "media.local", defaultConcurrency: 1 });
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
An embedding adds `media` to a complete explicit Runtime assembly and grants `process:media`; the
|
|
13
|
+
declarative form selects this package through the Runtime Profile.
|
|
14
|
+
|
|
15
|
+
The Endpoint:
|
|
16
|
+
|
|
17
|
+
- bounds subprocess duration and ffprobe JSON size;
|
|
18
|
+
- invokes binaries without a shell;
|
|
19
|
+
- enumerates all streams and records ffprobe implementation identity;
|
|
20
|
+
- maps explicit stream indexes into ffmpeg instead of relying on `0:v:0` / `0:a:0` guesses;
|
|
21
|
+
- uses the selected authority stream's presentation interval;
|
|
22
|
+
- preserves source A/V offset through deterministic trim, delay, pad and crop operations;
|
|
23
|
+
- emits a silent CFR visual and, when selected, an exact-length 48 kHz stereo PCM WAV;
|
|
24
|
+
- transforms synchronized A/V, extracts generic reference audio and extracts exact source frames;
|
|
25
|
+
- encodes one authored image frame as an ordinary finite video-only MP4 before normalization;
|
|
26
|
+
- renders an explicit `AudioProgramPlan` into one exact-length 48 kHz stereo PCM `TimelineAudio`;
|
|
27
|
+
- muxes exactly one verified silent visual stream and one verified program-audio stream into MP4;
|
|
28
|
+
- distinguishes AAC coding-frame padding from the authoritative packet presentation span.
|
|
29
|
+
|
|
30
|
+
Normalize preserves alpha: transparent input becomes VP9 / `yuva420p` WebM, while opaque input
|
|
31
|
+
uses H.264 / `yuv420p` MP4. The input pixel format and WebM alpha metadata determine the choice.
|
|
32
|
+
Animated WebP is also normalized through an alpha-capable output. Transparent VP8/VP9 input uses libvpx
|
|
33
|
+
decoders so FFmpeg retains the alpha sidecar, including during PNG frame extraction.
|
|
34
|
+
Transparent normalization requires an FFmpeg build with the `libvpx-vp9` encoder; the normal
|
|
35
|
+
process error reports a missing codec if a custom deployment does not provide it.
|
|
36
|
+
These are this FFmpeg implementation's intermediate encodings; Source and Track inputs continue
|
|
37
|
+
to use ordinary SynchronizedMedia. Transform currently emits opaque MP4, so perform trim/retime
|
|
38
|
+
before matting when the resulting clip needs transparency.
|
|
39
|
+
|
|
40
|
+
The result is ordinary SynchronizedMedia. Speech Track and Media Track consume its transparent
|
|
41
|
+
picture through their existing visual outputs; choosing the A-roll or B-roll role belongs to the
|
|
42
|
+
Source. Local HyperFrames extracts alpha-preserving PNGs and composites them against the authored
|
|
43
|
+
Canvas and lower visual layers before encoding the final MP4.
|
|
44
|
+
|
|
45
|
+
The Runtime Adapter declares the selected `ffmpeg`/`ffprobe` pair as an external, non-daemon Program.
|
|
46
|
+
Its shared probe checks the encoders and filters used by the execution body. Compatible custom paths
|
|
47
|
+
remain valid; the package neither pins a semantic Capability to one FFmpeg version nor mutates a
|
|
48
|
+
system package manager.
|
|
49
|
+
|
|
50
|
+
The reusable display-materialization capabilities—inspection, normalization, transform, extraction,
|
|
51
|
+
StillVideo—also opt into transient authoring execution. Speech-evidence projection,
|
|
52
|
+
programme-audio rendering and final muxing remain Build-only. This is declared per capability; the
|
|
53
|
+
Runtime and Studio contain no media capability allowlist.
|
|
54
|
+
|
|
55
|
+
Video-backed normalization is video-authoritative so an AAC packet tail cannot extend the program
|
|
56
|
+
past its final picture. Audio-only normalization is audio-authoritative. The AWS Lambda media Provider
|
|
57
|
+
must return the same public contracts and timing laws; Lambda is an execution topology, not another
|
|
58
|
+
author meaning.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hypit/provider-media-local",
|
|
3
|
+
"version": "0.0.0-dev",
|
|
4
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
5
|
+
"private": true,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.ts"
|
|
9
|
+
},
|
|
10
|
+
"hypit": {
|
|
11
|
+
"activation": "./src/activation.ts"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@hypit/artifact": "workspace:*",
|
|
15
|
+
"@hypit/endpoint-kit": "workspace:*",
|
|
16
|
+
"@hypit/media": "workspace:*",
|
|
17
|
+
"@hypit/media-execution": "workspace:*",
|
|
18
|
+
"@hypit/media-pipeline": "workspace:*",
|
|
19
|
+
"@hypit/protocol": "workspace:*",
|
|
20
|
+
"@hypit/runtime": "workspace:*",
|
|
21
|
+
"@hypit/runtime-kit": "workspace:*",
|
|
22
|
+
"@hypit/runtime-host-node": "workspace:*",
|
|
23
|
+
"@hypit/speech": "workspace:*"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@hypit/driver-node": "workspace:*"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createRuntimeEndpointAdapterFacet,
|
|
3
|
+
runtimeConfigExact,
|
|
4
|
+
runtimeConfigObject,
|
|
5
|
+
runtimeConfigPositiveInteger,
|
|
6
|
+
runtimeConfigString,
|
|
7
|
+
} from "@hypit/runtime-kit";
|
|
8
|
+
import {
|
|
9
|
+
diagnoseRuntimeExecutable,
|
|
10
|
+
resolveRuntimeExecutable,
|
|
11
|
+
} from "@hypit/runtime-host-node";
|
|
12
|
+
|
|
13
|
+
import { createLocalMediaProvider } from "./provider.js";
|
|
14
|
+
import { localMediaToolchainProgram } from "./program.js";
|
|
15
|
+
|
|
16
|
+
const localMediaRuntimeAdapter = createRuntimeEndpointAdapterFacet({
|
|
17
|
+
use: "@hypit/provider-media-local",
|
|
18
|
+
activate(context) {
|
|
19
|
+
if (context.pool === undefined) throw new Error("local media Provider Pool is required");
|
|
20
|
+
const config = runtimeConfigObject(context.config, "local media");
|
|
21
|
+
runtimeConfigExact(config, [
|
|
22
|
+
"ffmpegPath", "ffprobePath", "defaultConcurrency", "processTimeoutMs", "maxProbeOutputBytes",
|
|
23
|
+
], "local media");
|
|
24
|
+
const configuredFfmpeg = runtimeConfigString(config.ffmpegPath, "media ffmpegPath");
|
|
25
|
+
const configuredFfprobe = runtimeConfigString(config.ffprobePath, "media ffprobePath");
|
|
26
|
+
const ffmpegPath = resolveRuntimeExecutable(context.dataRoot, configuredFfmpeg ?? "ffmpeg");
|
|
27
|
+
const ffprobePath = resolveRuntimeExecutable(context.dataRoot, configuredFfprobe ?? "ffprobe");
|
|
28
|
+
const defaultConcurrency = runtimeConfigPositiveInteger(config.defaultConcurrency, "media defaultConcurrency");
|
|
29
|
+
const processTimeoutMs = runtimeConfigPositiveInteger(config.processTimeoutMs, "media processTimeoutMs");
|
|
30
|
+
const maxProbeOutputBytes = runtimeConfigPositiveInteger(config.maxProbeOutputBytes, "media maxProbeOutputBytes");
|
|
31
|
+
return {
|
|
32
|
+
endpoint: createLocalMediaProvider({
|
|
33
|
+
instance: context.instance,
|
|
34
|
+
pool: context.pool,
|
|
35
|
+
ffmpegPath,
|
|
36
|
+
ffprobePath,
|
|
37
|
+
...(defaultConcurrency === undefined ? {} : { defaultConcurrency }),
|
|
38
|
+
...(processTimeoutMs === undefined ? {} : { processTimeoutMs }),
|
|
39
|
+
...(maxProbeOutputBytes === undefined ? {} : { maxProbeOutputBytes }),
|
|
40
|
+
}),
|
|
41
|
+
program: localMediaToolchainProgram({ id: context.instance, ffmpegPath, ffprobePath }),
|
|
42
|
+
diagnose: async () => [
|
|
43
|
+
...await diagnoseRuntimeExecutable({
|
|
44
|
+
root: context.dataRoot,
|
|
45
|
+
configured: configuredFfmpeg,
|
|
46
|
+
fallback: "ffmpeg",
|
|
47
|
+
subject: "FFmpeg",
|
|
48
|
+
}),
|
|
49
|
+
...await diagnoseRuntimeExecutable({
|
|
50
|
+
root: context.dataRoot,
|
|
51
|
+
configured: configuredFfprobe,
|
|
52
|
+
fallback: "ffprobe",
|
|
53
|
+
subject: "FFprobe",
|
|
54
|
+
}),
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
export const hypitPackage = {
|
|
61
|
+
format: "hypit.node-package@1" as const,
|
|
62
|
+
hostFacets: [localMediaRuntimeAdapter],
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export default hypitPackage;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { probeMediaToolchain } from "@hypit/media-execution";
|
|
2
|
+
import type { ManagedProgram } from "@hypit/runtime-kit";
|
|
3
|
+
|
|
4
|
+
/** A system/custom FFmpeg deployment is external: programs up probes it but never mutates a package manager. */
|
|
5
|
+
export function localMediaToolchainProgram(input: {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly ffmpegPath: string;
|
|
8
|
+
readonly ffprobePath: string;
|
|
9
|
+
}): ManagedProgram {
|
|
10
|
+
return {
|
|
11
|
+
id: input.id,
|
|
12
|
+
async probe() {
|
|
13
|
+
const state = await probeMediaToolchain({ ffmpegPath: input.ffmpegPath, ffprobePath: input.ffprobePath });
|
|
14
|
+
return state.state === "ready"
|
|
15
|
+
? { state: "ready" as const }
|
|
16
|
+
: { state: state.state, detail: state.detail };
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { mediaTypes } from "@hypit/media";
|
|
2
|
+
import { artifactTypes } from "@hypit/artifact";
|
|
3
|
+
import {
|
|
4
|
+
executeExtractAudio,
|
|
5
|
+
executeExtractFrame,
|
|
6
|
+
executeInspectMedia,
|
|
7
|
+
executeMuxProgramMedia,
|
|
8
|
+
executeNormalizeMedia,
|
|
9
|
+
executeProjectSpeechEvidenceAudio,
|
|
10
|
+
executeRenderTimelineAudio,
|
|
11
|
+
executeRenderStillVideo,
|
|
12
|
+
executeTransformMedia,
|
|
13
|
+
} from "@hypit/media-execution";
|
|
14
|
+
import type { MediaExecutionEnvironment, MediaOperationResult } from "@hypit/media-execution";
|
|
15
|
+
import { mediaPipelineCapabilities } from "@hypit/media-pipeline";
|
|
16
|
+
import { isStreamingResourceStore } from "@hypit/runtime";
|
|
17
|
+
import { speechTypes } from "@hypit/speech";
|
|
18
|
+
import { defineEndpointPackage } from "@hypit/endpoint-kit";
|
|
19
|
+
import type { EndpointFulfillment, EndpointInvocationContext } from "@hypit/endpoint-kit";
|
|
20
|
+
|
|
21
|
+
export const localMediaProviderModuleRef = { name: "@hypit/provider-media-local", version: "1" } as const;
|
|
22
|
+
|
|
23
|
+
export type CreateLocalMediaProviderOptions = {
|
|
24
|
+
readonly instance?: string;
|
|
25
|
+
readonly pool?: string;
|
|
26
|
+
readonly ffmpegPath?: string;
|
|
27
|
+
readonly ffprobePath?: string;
|
|
28
|
+
readonly defaultConcurrency?: number;
|
|
29
|
+
readonly processTimeoutMs?: number;
|
|
30
|
+
readonly maxProbeOutputBytes?: number;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
function assert(condition: unknown, message: string): asserts condition {
|
|
34
|
+
if (!condition) throw new Error(message);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function positiveInteger(value: number, subject: string): number {
|
|
38
|
+
assert(Number.isSafeInteger(value) && value > 0, `${subject} must be a positive integer`);
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function fulfillment(result: MediaOperationResult): EndpointFulfillment {
|
|
43
|
+
return { value: result.value };
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The Build's own ResourceStore, and whatever ffmpeg this machine has. The
|
|
48
|
+
* operations themselves live in `@hypit/media-execution`, shared with the
|
|
49
|
+
* AWS Provider so one Need cannot mean two different transforms.
|
|
50
|
+
*/
|
|
51
|
+
export function createLocalMediaProvider(config: CreateLocalMediaProviderOptions) {
|
|
52
|
+
const ffmpegPath = config.ffmpegPath ?? "ffmpeg";
|
|
53
|
+
const ffprobePath = config.ffprobePath ?? "ffprobe";
|
|
54
|
+
const processTimeoutMs = positiveInteger(config.processTimeoutMs ?? 10 * 60_000, "processTimeoutMs");
|
|
55
|
+
const maxProbeOutputBytes = positiveInteger(config.maxProbeOutputBytes ?? 256 * 1024 * 1024,
|
|
56
|
+
"maxProbeOutputBytes");
|
|
57
|
+
const common = { ffmpegPath, ffprobePath, processTimeoutMs, maxProbeOutputBytes };
|
|
58
|
+
const environment = (context: EndpointInvocationContext): MediaExecutionEnvironment => ({
|
|
59
|
+
...common,
|
|
60
|
+
artifacts: {
|
|
61
|
+
get: async (source) => await context.resources.get(source.resource),
|
|
62
|
+
open: async (source) => isStreamingResourceStore(context.resources)
|
|
63
|
+
? await context.resources.open(source.resource)
|
|
64
|
+
: await context.resources.get(source.resource).then((bytes) => bytes === undefined
|
|
65
|
+
? undefined
|
|
66
|
+
: (async function* () { yield bytes; })()),
|
|
67
|
+
put: async (bytes, mediaType) => await context.resources.put(bytes, mediaType),
|
|
68
|
+
putFile: async (path, mediaType) => isStreamingResourceStore(context.resources)
|
|
69
|
+
? await context.resources.putStream(createReadStream(path), mediaType)
|
|
70
|
+
: await context.resources.put(await readFile(path), mediaType),
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
const operation = (
|
|
74
|
+
execute: (env: MediaExecutionEnvironment, constraints: never) => Promise<MediaOperationResult>,
|
|
75
|
+
) => async (context: EndpointInvocationContext): Promise<EndpointFulfillment> =>
|
|
76
|
+
fulfillment(await execute(environment(context), context.need.constraints as never));
|
|
77
|
+
|
|
78
|
+
return defineEndpointPackage({
|
|
79
|
+
module: localMediaProviderModuleRef,
|
|
80
|
+
facet: "media",
|
|
81
|
+
instance: config.instance ?? "media.local",
|
|
82
|
+
pool: config.pool ?? config.instance ?? "media.local",
|
|
83
|
+
pricing: { kind: "local" },
|
|
84
|
+
defaultConcurrency: config.defaultConcurrency ?? 1,
|
|
85
|
+
capabilities: [
|
|
86
|
+
{
|
|
87
|
+
lifecycle: "immediate" as const,
|
|
88
|
+
transient: true,
|
|
89
|
+
capability: mediaPipelineCapabilities.inspect,
|
|
90
|
+
returns: mediaTypes.inspection,
|
|
91
|
+
handler: operation(executeInspectMedia),
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
lifecycle: "immediate" as const,
|
|
95
|
+
transient: true,
|
|
96
|
+
capability: mediaPipelineCapabilities.normalize,
|
|
97
|
+
returns: mediaTypes.synchronized,
|
|
98
|
+
handler: operation(executeNormalizeMedia),
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
lifecycle: "immediate" as const,
|
|
102
|
+
transient: true,
|
|
103
|
+
capability: mediaPipelineCapabilities.transform,
|
|
104
|
+
returns: artifactTypes.blob,
|
|
105
|
+
handler: operation(executeTransformMedia),
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
lifecycle: "immediate" as const,
|
|
109
|
+
transient: true,
|
|
110
|
+
capability: mediaPipelineCapabilities.extractAudio,
|
|
111
|
+
returns: artifactTypes.blob,
|
|
112
|
+
handler: operation(executeExtractAudio),
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
lifecycle: "immediate" as const,
|
|
116
|
+
transient: true,
|
|
117
|
+
capability: mediaPipelineCapabilities.extractFrame,
|
|
118
|
+
returns: artifactTypes.blob,
|
|
119
|
+
handler: operation(executeExtractFrame),
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
lifecycle: "immediate" as const,
|
|
123
|
+
transient: true,
|
|
124
|
+
capability: mediaPipelineCapabilities.renderStill,
|
|
125
|
+
returns: artifactTypes.blob,
|
|
126
|
+
handler: operation(executeRenderStillVideo),
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
lifecycle: "immediate" as const,
|
|
130
|
+
capability: mediaPipelineCapabilities.projectSpeechEvidenceAudio,
|
|
131
|
+
returns: speechTypes.evidenceAudio,
|
|
132
|
+
handler: operation(executeProjectSpeechEvidenceAudio),
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
lifecycle: "immediate" as const,
|
|
136
|
+
capability: mediaPipelineCapabilities.renderAudio,
|
|
137
|
+
returns: mediaTypes.timelineAudio,
|
|
138
|
+
handler: operation(executeRenderTimelineAudio),
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
lifecycle: "immediate" as const,
|
|
142
|
+
capability: mediaPipelineCapabilities.mux,
|
|
143
|
+
returns: mediaTypes.muxed,
|
|
144
|
+
handler: operation(executeMuxProgramMedia),
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
import { createReadStream } from "node:fs";
|
|
150
|
+
import { readFile } from "node:fs/promises";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# @hypit/provider-whisperx-local
|
|
2
|
+
|
|
3
|
+
Trusted local Provider for the explicit `@hypit/whisperx#whisperx-alignment` capability. It talks to
|
|
4
|
+
the warm Python service in `services/whisperx` through `/health` and `/transcribe`.
|
|
5
|
+
|
|
6
|
+
The Provider accepts only canonical 16 kHz mono PCM s16 WAV bytes produced by the separate media
|
|
7
|
+
projection Need. It validates those bytes and stages them unchanged. WhisperX is therefore never
|
|
8
|
+
allowed to hide a second ffmpeg conversion or change the speech-master clock.
|
|
9
|
+
|
|
10
|
+
WhisperX's wire response uses floating-point seconds. This adapter converts those boundaries once
|
|
11
|
+
to integer positions in the 16 kHz evidence-audio sample domain. It preserves WhisperX acoustic
|
|
12
|
+
passages but never receives or assigns authored Script Segment identities.
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
createLocalWhisperXProvider({
|
|
16
|
+
baseUrl: "http://127.0.0.1:8765",
|
|
17
|
+
expectedModel: "small",
|
|
18
|
+
expectedDevice: "cpu",
|
|
19
|
+
expectedCompute: "int8",
|
|
20
|
+
expectedBatchSize: 8,
|
|
21
|
+
defaultConcurrency: 1,
|
|
22
|
+
});
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The service must be on loopback because this protocol deliberately passes a local staged path. A
|
|
26
|
+
future persistent remote Provider should use an Artifact URL or request payload owned by that
|
|
27
|
+
Provider; it is a different deployment package but must return the same
|
|
28
|
+
`AlignedTranscriptEvidence` type. Lambda is deliberately not the target for this warm model.
|
|
29
|
+
|
|
30
|
+
The configured model, device, compute mode and batch size are checked through `/health` before use.
|
|
31
|
+
This prevents a warm process with an incompatible inference configuration from accepting work.
|
|
32
|
+
|
|
33
|
+
The Runtime installs and starts the packaged service in the machine Program Home when this Endpoint
|
|
34
|
+
is selected. The environment is reused across projects and sessions. The current local package and
|
|
35
|
+
service are trusted code; this is not a community-plugin sandbox.
|
|
36
|
+
|
|
37
|
+
`hypit paths` reports the machine `hostState`. The managed installation lives below
|
|
38
|
+
`<hostState>/programs/whisperx-<encoded Endpoint instance>-<encoded service host>/`, with Python in
|
|
39
|
+
`.venv/` and the service's NLTK data in `nltk_data/`. Both identifiers use `encodeURIComponent`;
|
|
40
|
+
the service host includes its port. The default service is `http://127.0.0.1:8765` and exposes
|
|
41
|
+
its configuration through `/health`. Inspect an existing Profile's address and expected settings
|
|
42
|
+
when locating that service. A custom `serviceCommand` supplies its own installation and start command.
|
|
43
|
+
`hypit programs status` checks the Programs selected by the supplied Profile; `programs up` prepares
|
|
44
|
+
and starts them. The managed installation does not require a global `whisperx` shell command.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hypit/provider-whisperx-local",
|
|
3
|
+
"version": "0.0.0-dev",
|
|
4
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
5
|
+
"private": true,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.ts"
|
|
9
|
+
},
|
|
10
|
+
"hypit": {
|
|
11
|
+
"activation": "./src/activation.ts"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@hypit/endpoint-kit": "workspace:*",
|
|
15
|
+
"@hypit/package-loader-node": "workspace:*",
|
|
16
|
+
"@hypit/protocol": "workspace:*",
|
|
17
|
+
"@hypit/runtime-host-node": "workspace:*",
|
|
18
|
+
"@hypit/runtime-kit": "workspace:*",
|
|
19
|
+
"@hypit/speech-evidence": "workspace:*",
|
|
20
|
+
"@hypit/whisperx": "workspace:*",
|
|
21
|
+
"@hypit/whisperx-service-runtime": "workspace:*"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@hypit/driver-node": "workspace:*",
|
|
25
|
+
"@hypit/speech": "workspace:*"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createRuntimeEndpointAdapterFacet,
|
|
3
|
+
runtimeConfigExact,
|
|
4
|
+
runtimeConfigObject,
|
|
5
|
+
runtimeConfigPositiveInteger,
|
|
6
|
+
runtimeConfigString,
|
|
7
|
+
} from "@hypit/runtime-kit";
|
|
8
|
+
|
|
9
|
+
import { createLocalWhisperXProvider, localWhisperXDefaults } from "./provider.js";
|
|
10
|
+
import { localWhisperXProgram } from "./program.js";
|
|
11
|
+
|
|
12
|
+
const localWhisperXRuntimeAdapter = createRuntimeEndpointAdapterFacet({
|
|
13
|
+
use: "@hypit/provider-whisperx-local",
|
|
14
|
+
activate(context) {
|
|
15
|
+
if (context.pool === undefined) throw new Error("WhisperX Provider Pool is required");
|
|
16
|
+
const config = runtimeConfigObject(context.config, "local WhisperX");
|
|
17
|
+
runtimeConfigExact(config, [
|
|
18
|
+
"baseUrl", "expectedModel", "expectedDevice", "expectedCompute", "expectedBatchSize",
|
|
19
|
+
"expectedServiceVersion", "expectedWhisperXVersion",
|
|
20
|
+
"defaultConcurrency", "requestTimeoutMs", "maxResponseBytes",
|
|
21
|
+
"serviceCommand",
|
|
22
|
+
], "local WhisperX");
|
|
23
|
+
const baseUrl = runtimeConfigString(config.baseUrl, "WhisperX baseUrl");
|
|
24
|
+
if (baseUrl !== undefined) {
|
|
25
|
+
const parsed = new URL(baseUrl);
|
|
26
|
+
if (parsed.protocol !== "http:"
|
|
27
|
+
|| !["127.0.0.1", "localhost", "::1", "[::1]"].includes(parsed.hostname)) {
|
|
28
|
+
throw new Error("local WhisperX Provider requires a loopback HTTP service");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const expectedModel = runtimeConfigString(config.expectedModel, "WhisperX expectedModel");
|
|
32
|
+
const expectedDevice = runtimeConfigString(config.expectedDevice, "WhisperX expectedDevice");
|
|
33
|
+
const expectedCompute = runtimeConfigString(config.expectedCompute, "WhisperX expectedCompute");
|
|
34
|
+
const expectedBatchSize = runtimeConfigPositiveInteger(config.expectedBatchSize, "WhisperX expectedBatchSize");
|
|
35
|
+
const expectedServiceVersion = runtimeConfigString(config.expectedServiceVersion, "WhisperX expectedServiceVersion");
|
|
36
|
+
const expectedWhisperXVersion = runtimeConfigString(config.expectedWhisperXVersion, "WhisperX expectedWhisperXVersion");
|
|
37
|
+
const defaultConcurrency = runtimeConfigPositiveInteger(config.defaultConcurrency, "WhisperX defaultConcurrency");
|
|
38
|
+
const requestTimeoutMs = runtimeConfigPositiveInteger(config.requestTimeoutMs, "WhisperX requestTimeoutMs");
|
|
39
|
+
const maxResponseBytes = runtimeConfigPositiveInteger(config.maxResponseBytes, "WhisperX maxResponseBytes");
|
|
40
|
+
const serviceCommandValue = config.serviceCommand;
|
|
41
|
+
if (serviceCommandValue !== undefined
|
|
42
|
+
&& (!Array.isArray(serviceCommandValue) || serviceCommandValue.length === 0
|
|
43
|
+
|| serviceCommandValue.some((item) => typeof item !== "string" || item.length === 0))) {
|
|
44
|
+
throw new Error("WhisperX serviceCommand must be a non-empty array of non-empty strings");
|
|
45
|
+
}
|
|
46
|
+
const selectedBaseUrl = baseUrl ?? localWhisperXDefaults.baseUrl;
|
|
47
|
+
const selectedModel = expectedModel ?? localWhisperXDefaults.expectedModel;
|
|
48
|
+
const selectedDevice = expectedDevice ?? localWhisperXDefaults.expectedDevice;
|
|
49
|
+
const selectedCompute = expectedCompute ?? (selectedDevice === "cpu" ? "int8" : "float16");
|
|
50
|
+
const selectedBatchSize = expectedBatchSize ?? localWhisperXDefaults.expectedBatchSize;
|
|
51
|
+
const selectedServiceVersion = expectedServiceVersion ?? localWhisperXDefaults.expectedServiceVersion;
|
|
52
|
+
const selectedWhisperXVersion = expectedWhisperXVersion ?? localWhisperXDefaults.expectedWhisperXVersion;
|
|
53
|
+
const serviceCommand = serviceCommandValue === undefined ? undefined : {
|
|
54
|
+
command: serviceCommandValue[0] as string,
|
|
55
|
+
args: (serviceCommandValue as string[]).slice(1),
|
|
56
|
+
};
|
|
57
|
+
return {
|
|
58
|
+
endpoint: createLocalWhisperXProvider({
|
|
59
|
+
instance: context.instance,
|
|
60
|
+
pool: context.pool,
|
|
61
|
+
baseUrl: selectedBaseUrl,
|
|
62
|
+
expectedModel: selectedModel,
|
|
63
|
+
expectedDevice: selectedDevice,
|
|
64
|
+
expectedCompute: selectedCompute,
|
|
65
|
+
expectedBatchSize: selectedBatchSize,
|
|
66
|
+
expectedServiceVersion: selectedServiceVersion,
|
|
67
|
+
expectedWhisperXVersion: selectedWhisperXVersion,
|
|
68
|
+
...(defaultConcurrency === undefined ? {} : { defaultConcurrency }),
|
|
69
|
+
...(requestTimeoutMs === undefined ? {} : { requestTimeoutMs }),
|
|
70
|
+
...(maxResponseBytes === undefined ? {} : { maxResponseBytes }),
|
|
71
|
+
}),
|
|
72
|
+
program: localWhisperXProgram({
|
|
73
|
+
id: context.instance,
|
|
74
|
+
hostStateRoot: context.hostStateRoot,
|
|
75
|
+
baseUrl: selectedBaseUrl,
|
|
76
|
+
expectedModel: selectedModel,
|
|
77
|
+
expectedDevice: selectedDevice,
|
|
78
|
+
expectedCompute: selectedCompute,
|
|
79
|
+
expectedBatchSize: selectedBatchSize,
|
|
80
|
+
expectedServiceVersion: selectedServiceVersion,
|
|
81
|
+
expectedWhisperXVersion: selectedWhisperXVersion,
|
|
82
|
+
...(serviceCommand === undefined ? {} : { serviceCommand }),
|
|
83
|
+
}),
|
|
84
|
+
};
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
export const hypitPackage = {
|
|
89
|
+
format: "hypit.node-package@1" as const,
|
|
90
|
+
hostFacets: [localWhisperXRuntimeAdapter],
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export default hypitPackage;
|