@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,125 @@
|
|
|
1
|
+
# Hypit Studio
|
|
2
|
+
|
|
3
|
+
The single official Web Studio for SVML. It opens an explicit Run Source,
|
|
4
|
+
traces its Film or Render target back to the semantic and visual projections
|
|
5
|
+
Studio can edit, runs deterministic Producers and explicitly permitted transient Needs, and composites the
|
|
6
|
+
resulting Tracks with HyperFrames.
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
cd /path/to/external-video-project
|
|
10
|
+
hypit studio --run build.svrun
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
When `--runtime` is omitted, Studio reads the resolved project's `.hypit/runtime`
|
|
14
|
+
selection made by `hypit runtime use`. It does not search parent projects for a
|
|
15
|
+
Profile. `--workspace` explicitly selects the project boundary; `--package-root`
|
|
16
|
+
overrides the author package resolution root when those locations intentionally differ.
|
|
17
|
+
The upper-left library is intentionally not a filesystem browser:
|
|
18
|
+
|
|
19
|
+
- Source is the exact Run + Author closure and writes back only the selected file;
|
|
20
|
+
- Tasks combine finished project Results with read-only active `BuildView` and Operation information;
|
|
21
|
+
- Artifacts are public files exposed by project Build Results.
|
|
22
|
+
|
|
23
|
+
No project manifest, Studio database, output-directory scan or inferred campaign
|
|
24
|
+
folder structure is involved. With no selected Runtime, finished Result tasks and
|
|
25
|
+
Artifacts remain available. Preview and Source display work when the selected display
|
|
26
|
+
closure can resolve without Endpoint execution; active status and Provider-backed
|
|
27
|
+
transient processing require the selected Runtime.
|
|
28
|
+
|
|
29
|
+
## Opening and editing a session
|
|
30
|
+
|
|
31
|
+
The selected targets must reach one Film and its resolved time source. Studio rejects several
|
|
32
|
+
distinct Films in one view; use separate Runs/sessions for those. A SemanticTrack supplies the
|
|
33
|
+
Script lane and performance timing, including wordless Segments with media spans. A declared
|
|
34
|
+
ProgramSpace supplies authored animation time without a Script lane. Both show their component
|
|
35
|
+
tracks and use the same rendering and parameter-editing machinery.
|
|
36
|
+
|
|
37
|
+
Open the URL printed by Vite. Studio requests port 5179 by default, accepts `--port`,
|
|
38
|
+
and Vite can choose another available port when it is occupied. Reuse that process
|
|
39
|
+
for edits to the same Run. The Run and loaded Author/Recipe files are watched and
|
|
40
|
+
recompiled together. Domain packages, Companion registry, Runtime and Result library
|
|
41
|
+
are opened at startup; restart this Studio process after changing those selections,
|
|
42
|
+
package code or imports that introduce new packages. Browser refresh does not reload
|
|
43
|
+
server-side package modules.
|
|
44
|
+
|
|
45
|
+
The Source pane can edit the selected `.svml`, `.svs` or `.svrun` file. The Inspector
|
|
46
|
+
shows project facts when no entity is selected and only declared writable fields for
|
|
47
|
+
the selected entity. A reference can resolve to a shared Frame or Recipe, so one edit
|
|
48
|
+
may affect several consumers. Structured fields use Apply/Reset for their local draft.
|
|
49
|
+
Check save status; source conflicts reject stale edits rather than overwrite newer files.
|
|
50
|
+
|
|
51
|
+
Timeline gestures use explicit temporal authority. Moving a shared Selection or
|
|
52
|
+
Moment edits Script and moves its consumers after recompilation. A parameter-based
|
|
53
|
+
handle edits its exact authored parameter. Fixed or derived values with no supported
|
|
54
|
+
inverse remain read-only. Seeing an entity does not promise every drag gesture.
|
|
55
|
+
Tasks and Artifacts are inspection surfaces; selecting an Artifact does not write a
|
|
56
|
+
Run Candidate. Use `build-record`/`satisfy` in the Run for explicit Output reuse.
|
|
57
|
+
|
|
58
|
+
## Component presentation
|
|
59
|
+
|
|
60
|
+
Studio is an application boundary. Core and domain computation do not import it or
|
|
61
|
+
register UI metadata. The installed Distribution explicitly selects one independent
|
|
62
|
+
Studio Companion per supported official domain. Packages actually selected by the
|
|
63
|
+
current Source closure may contribute their own Companion facet. The application
|
|
64
|
+
assembles both sets into one immutable registry for that session; there is no second
|
|
65
|
+
Studio profile, package scan or replacement map.
|
|
66
|
+
|
|
67
|
+
Project packages live at `<project>/packages/<package-basename>/`. Neither the
|
|
68
|
+
project nor its packages are added to the Hypit Distribution or contributor workspace.
|
|
69
|
+
The Host resolves selected project packages from the project first and official
|
|
70
|
+
`@hypit/*` imports from the read-only tool Distribution. The `@hypit/*`
|
|
71
|
+
namespace is Distribution-owned and cannot be shadowed by a project install.
|
|
72
|
+
External Companions compile against `@hypit/hypit/studio-adapter` and the other public `@hypit/hypit/*`
|
|
73
|
+
subpaths, with `@hypit/hypit` as a development dependency. The active Distribution supplies those APIs
|
|
74
|
+
at runtime. Ship the Companion's compiled JavaScript with its component package.
|
|
75
|
+
|
|
76
|
+
The companion owns what its Track means: matching, required same-Surface values,
|
|
77
|
+
entities, lane range, finite chrome, title and ordered text/material layers,
|
|
78
|
+
source bindings, Inspector fields and executed temporal lineage. Inspector fields
|
|
79
|
+
select real writable bindings and organize them under the Studio-owned
|
|
80
|
+
`Where / How / When` domains, optional companion-owned pages and sections. A
|
|
81
|
+
source binding is never shown merely because Studio can reach it. Material layers carry a
|
|
82
|
+
Resource id or Surface identity, never a Studio HTTP URL. Studio always owns
|
|
83
|
+
time formatting and transport resolution, so chrome and material cannot hide a
|
|
84
|
+
title or its time.
|
|
85
|
+
Studio owns session-wide behavior and chrome: Companion assembly, collision rules,
|
|
86
|
+
fallback defaults, selection treatment, playback, zoom,
|
|
87
|
+
scrolling, the finite Inspector control set and source mutation transport. A
|
|
88
|
+
companion cannot ship arbitrary DOM or CSS into the application.
|
|
89
|
+
|
|
90
|
+
The finite control set includes scalar controls plus generic `list` and flat
|
|
91
|
+
`record` composition. Structured values are validated against the domain-owned
|
|
92
|
+
canonical schema, edited as a local draft, and written atomically through the
|
|
93
|
+
same revisioned `parameter.adjust` operation. Studio contains no Ranking,
|
|
94
|
+
Caption or Media list codec.
|
|
95
|
+
|
|
96
|
+
Inspector controls are Studio behavior, not browser defaults supplied by a
|
|
97
|
+
companion. Focused controls suspend transport shortcuts; numeric values use
|
|
98
|
+
non-spinning text entry so wheel scrolling cannot mutate Source; selects use
|
|
99
|
+
the Studio menu and keyboard navigation. Values still commit only on an
|
|
100
|
+
explicit change through the normal revisioned mutation path.
|
|
101
|
+
|
|
102
|
+
Temporal lineage comes from the exact executed graph selected by the Run. Studio indexes the
|
|
103
|
+
`TemporalInstant` and `TemporalWindow` records in each Track's dependency closure, including each
|
|
104
|
+
endpoint's author authority and direct consumer edge. Common timeline inverses come from that
|
|
105
|
+
authority rather than Companion declarations. Track Companions never infer semantic sources from SVML
|
|
106
|
+
attribute names, runtime id prefixes or coincident frame spans.
|
|
107
|
+
|
|
108
|
+
Opening Studio never spends and never creates a Build. Its display closure contains
|
|
109
|
+
the Candidates selected by the Run, deterministic Producers and exact Needs that
|
|
110
|
+
their Provider explicitly allows in transient authoring execution. The Runtime owns
|
|
111
|
+
Endpoint activation, Profile bindings, request-level `supports`, credentials and
|
|
112
|
+
invocation; Studio receives no Endpoint Registry and makes no decision from pricing,
|
|
113
|
+
process location, model name or package name. A Need without transient support stops
|
|
114
|
+
with its exact capability named. Existing media and completed Outputs enter through
|
|
115
|
+
ordinary Run Candidates selected with `satisfy`.
|
|
116
|
+
|
|
117
|
+
Studio and an encoded review use the same ordinary Run. Studio evaluates its
|
|
118
|
+
transient display closure in the browser; building that Run evaluates the
|
|
119
|
+
full target closure and sends the resulting HyperFrames document to the chosen
|
|
120
|
+
render Endpoint. A separate review Run is useful only when the author wants a
|
|
121
|
+
different Candidate selection. Its path and filename carry no execution
|
|
122
|
+
semantics.
|
|
123
|
+
|
|
124
|
+
Read [`@hypit/studio-adapter`](../studio-adapter/README.md) for the Companion ABI,
|
|
125
|
+
project activation example, value projection and Inspector declarations.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
|
6
|
+
<link rel="icon" href="data:," />
|
|
7
|
+
<title>Hypit Studio</title>
|
|
8
|
+
</head>
|
|
9
|
+
<body><div id="app"></div><script type="module" src="/src/ui/main.ts"></script></body>
|
|
10
|
+
</html>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hypit/studio",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
"./start": "./start.ts",
|
|
8
|
+
"./src/*": "./src/*"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@hypit/audio-track-studio": "workspace:*",
|
|
12
|
+
"@hypit/build-result": "workspace:*",
|
|
13
|
+
"@hypit/caption-fine-studio": "workspace:*",
|
|
14
|
+
"@hypit/cli": "workspace:*",
|
|
15
|
+
"@hypit/compiler-node": "workspace:*",
|
|
16
|
+
"@hypit/component-kit": "workspace:*",
|
|
17
|
+
"@hypit/composition": "workspace:*",
|
|
18
|
+
"@hypit/comment-sticker-studio": "workspace:*",
|
|
19
|
+
"@hypit/core": "workspace:*",
|
|
20
|
+
"@hypit/driver-node": "workspace:*",
|
|
21
|
+
"@hypit/deck-track-studio": "workspace:*",
|
|
22
|
+
"@hypit/elaborator": "workspace:*",
|
|
23
|
+
"@hypit/film-studio": "workspace:*",
|
|
24
|
+
"@hypit/hyperframes": "workspace:*",
|
|
25
|
+
"@hypit/markup": "workspace:*",
|
|
26
|
+
"@hypit/media-track-studio": "workspace:*",
|
|
27
|
+
"@hypit/narrative": "workspace:*",
|
|
28
|
+
"@hypit/package-loader-node": "workspace:*",
|
|
29
|
+
"@hypit/program-space": "workspace:*",
|
|
30
|
+
"@hypit/protocol": "workspace:*",
|
|
31
|
+
"@hypit/ranking-studio": "workspace:*",
|
|
32
|
+
"@hypit/run": "workspace:*",
|
|
33
|
+
"@hypit/runtime": "workspace:*",
|
|
34
|
+
"@hypit/runtime-host-node": "workspace:*",
|
|
35
|
+
"@hypit/script-studio": "workspace:*",
|
|
36
|
+
"@hypit/screen-overlay-studio": "workspace:*",
|
|
37
|
+
"@hypit/speech": "workspace:*",
|
|
38
|
+
"@hypit/semantic-track": "workspace:*",
|
|
39
|
+
"@hypit/svs": "workspace:*",
|
|
40
|
+
"@hypit/temporal": "workspace:*",
|
|
41
|
+
"@hypit/studio-adapter": "workspace:*",
|
|
42
|
+
"@hypit/speech-track-studio": "workspace:*",
|
|
43
|
+
"@hypit/typography-track-studio": "workspace:*",
|
|
44
|
+
"@hypit/validation": "workspace:*",
|
|
45
|
+
"@hypit/video-cli": "workspace:*",
|
|
46
|
+
"@hypit/workspace": "workspace:*",
|
|
47
|
+
"@hypit/workspace-fs-node": "workspace:*",
|
|
48
|
+
"vite": "8.2.2"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { isAbsolute, relative, resolve, sep } from "node:path";
|
|
2
|
+
|
|
3
|
+
import { buildIdCreatedAt } from "@hypit/protocol";
|
|
4
|
+
import type { BuildView, NodeRuntimeHost, RuntimeHostTransientExecution } from "@hypit/runtime-host-node";
|
|
5
|
+
import type { StoredValue, TypeRef } from "@hypit/protocol";
|
|
6
|
+
import type {
|
|
7
|
+
BuildResultFileRange,
|
|
8
|
+
BuildResultFileRef,
|
|
9
|
+
BuildResultManifest,
|
|
10
|
+
BuildResultRepository,
|
|
11
|
+
FinishedBuildResultManifest,
|
|
12
|
+
RepositoryBuildResultOutput,
|
|
13
|
+
} from "@hypit/build-result";
|
|
14
|
+
|
|
15
|
+
import { resolveBuildResultValue } from "@hypit/cli";
|
|
16
|
+
import { videoCliDistribution } from "@hypit/video-cli";
|
|
17
|
+
|
|
18
|
+
import type { StudioArtifactView, StudioLibraryView, StudioTaskView } from "./shared.js";
|
|
19
|
+
|
|
20
|
+
type RuntimeControl = Awaited<ReturnType<NodeRuntimeHost["openControl"]>>;
|
|
21
|
+
|
|
22
|
+
export type StudioBuildLibrary = {
|
|
23
|
+
readonly profile?: string;
|
|
24
|
+
readonly runtime?: Pick<RuntimeControl, "activity">;
|
|
25
|
+
/** Runtime-owned, disposable execution for the current authoring session. */
|
|
26
|
+
readonly transientExecution?: RuntimeHostTransientExecution;
|
|
27
|
+
readonly library: (before?: string) => Promise<StudioLibraryView>;
|
|
28
|
+
readonly resolveHistoricalOutput: (
|
|
29
|
+
build: string,
|
|
30
|
+
output: string,
|
|
31
|
+
) => Promise<{
|
|
32
|
+
readonly type: TypeRef;
|
|
33
|
+
readonly value: StoredValue;
|
|
34
|
+
readonly attachments?: readonly import("@hypit/workspace").ArtifactAttachment[];
|
|
35
|
+
} | undefined>;
|
|
36
|
+
readonly openArtifact: (
|
|
37
|
+
build: string,
|
|
38
|
+
output: string,
|
|
39
|
+
valuePath: string,
|
|
40
|
+
) => Promise<{
|
|
41
|
+
readonly mediaType: string;
|
|
42
|
+
readonly size: number;
|
|
43
|
+
open(range?: BuildResultFileRange): Promise<AsyncIterable<Uint8Array> | undefined>;
|
|
44
|
+
} | undefined>;
|
|
45
|
+
readonly close: () => Promise<void>;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
function projectPath(root: string, path: string): string {
|
|
49
|
+
return isAbsolute(path) ? resolve(path) : resolve(root, path);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function isWithin(root: string, path: string): boolean {
|
|
53
|
+
const rel = relative(resolve(root), projectPath(root, path));
|
|
54
|
+
return rel === "" || (!rel.startsWith("..") && !isAbsolute(rel));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* A path inside the project reads the same on every platform, so the Studio library shows one Run
|
|
59
|
+
* under one name wherever it is opened. A path outside the project is the machine's own, and stays
|
|
60
|
+
* in that machine's form.
|
|
61
|
+
*/
|
|
62
|
+
function presentedPath(root: string, path: string): string {
|
|
63
|
+
const absolute = projectPath(root, path);
|
|
64
|
+
if (!isWithin(root, path)) return absolute;
|
|
65
|
+
return (relative(resolve(root), absolute) || ".").split(sep).join("/");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function buildBelongsTo(root: string, view: BuildView): boolean {
|
|
69
|
+
return view.source !== undefined
|
|
70
|
+
&& (isWithin(root, view.run?.path ?? view.source.path) || isWithin(root, view.source.path));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function taskStatus(view: BuildView): StudioTaskView["status"] {
|
|
74
|
+
if (view.issue !== undefined) return "blocked";
|
|
75
|
+
if (view.activity === "submitting" || view.activity === "ready") return "queued";
|
|
76
|
+
if (view.activity === "saving-result") return "active";
|
|
77
|
+
return view.activity;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function taskView(
|
|
81
|
+
root: string,
|
|
82
|
+
view: BuildView,
|
|
83
|
+
result?: BuildResultManifest,
|
|
84
|
+
): StudioTaskView {
|
|
85
|
+
if (view.source === undefined) throw new Error(`Active Build ${view.id} has no source`);
|
|
86
|
+
return {
|
|
87
|
+
id: view.id,
|
|
88
|
+
...(result?.title === undefined ? {} : { title: result.title }),
|
|
89
|
+
...(result?.note === undefined ? {} : { note: result.note }),
|
|
90
|
+
...(result?.highlightedOutputs === undefined ? {} : { highlightedOutputs: result.highlightedOutputs }),
|
|
91
|
+
createdAt: view.createdAt,
|
|
92
|
+
status: taskStatus(view),
|
|
93
|
+
source: presentedPath(root, view.source.path),
|
|
94
|
+
...(view.run === undefined ? {} : { run: presentedPath(root, view.run.path) }),
|
|
95
|
+
targets: result?.targets ?? view.targets,
|
|
96
|
+
acceptedRecords: view.acceptedRecords,
|
|
97
|
+
outstandingCommands: view.outstandingCommands,
|
|
98
|
+
operations: view.operations.map((operation) => ({
|
|
99
|
+
status: operation.status,
|
|
100
|
+
...(operation.progress?.phase === undefined ? {} : { phase: operation.progress.phase }),
|
|
101
|
+
...(operation.progress?.completed === undefined ? {} : { completed: operation.progress.completed }),
|
|
102
|
+
...(operation.progress?.total === undefined ? {} : { total: operation.progress.total }),
|
|
103
|
+
...(operation.progress?.unit === undefined ? {} : { unit: operation.progress.unit }),
|
|
104
|
+
})),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function resultTaskView(root: string, result: FinishedBuildResultManifest): StudioTaskView {
|
|
109
|
+
return {
|
|
110
|
+
id: result.id,
|
|
111
|
+
...(result.title === undefined ? {} : { title: result.title }),
|
|
112
|
+
...(result.note === undefined ? {} : { note: result.note }),
|
|
113
|
+
...(result.highlightedOutputs === undefined ? {} : { highlightedOutputs: result.highlightedOutputs }),
|
|
114
|
+
createdAt: buildIdCreatedAt(result.id)!,
|
|
115
|
+
status: result.outcome,
|
|
116
|
+
source: presentedPath(root, result.source.path),
|
|
117
|
+
...(result.run === undefined ? {} : { run: presentedPath(root, result.run.path) }),
|
|
118
|
+
targets: result.targets,
|
|
119
|
+
acceptedRecords: Object.keys(result.outputs).length,
|
|
120
|
+
outstandingCommands: 0,
|
|
121
|
+
operations: [],
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function presentedValuePath(path: readonly (string | number)[]): string {
|
|
126
|
+
return path.reduce<string>((current, segment) => typeof segment === "number"
|
|
127
|
+
? `${current}[${segment}]`
|
|
128
|
+
: /^[A-Za-z_$][A-Za-z0-9_$]*$/u.test(segment)
|
|
129
|
+
? `${current}.${segment}`
|
|
130
|
+
: `${current}[${JSON.stringify(segment)}]`, "$");
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function filesInResolvedOutput(resolved: RepositoryBuildResultOutput): readonly {
|
|
134
|
+
readonly valuePath: string;
|
|
135
|
+
readonly file: BuildResultFileRef;
|
|
136
|
+
}[] {
|
|
137
|
+
if (resolved.value.kind === "build-file") return [{ valuePath: "$", file: resolved.value }];
|
|
138
|
+
if (resolved.value.kind === "value") {
|
|
139
|
+
return resolved.value.document.resources.map((binding) => ({
|
|
140
|
+
valuePath: presentedValuePath(binding.at),
|
|
141
|
+
file: binding.file,
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
return [];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
async function artifactsForResults(
|
|
148
|
+
root: string,
|
|
149
|
+
repository: BuildResultRepository,
|
|
150
|
+
manifests: readonly BuildResultManifest[],
|
|
151
|
+
): Promise<readonly StudioArtifactView[]> {
|
|
152
|
+
const nested = await Promise.all(manifests.flatMap((manifest) =>
|
|
153
|
+
Object.keys(manifest.outputs).map(async (output) => {
|
|
154
|
+
const resolved = await repository.resolve(manifest.id, output);
|
|
155
|
+
if (resolved === undefined) return [];
|
|
156
|
+
return filesInResolvedOutput(resolved).map(({ valuePath, file }) => ({
|
|
157
|
+
id: `${manifest.id}:${output}:${valuePath}`,
|
|
158
|
+
build: manifest.id,
|
|
159
|
+
createdAt: buildIdCreatedAt(manifest.id)!,
|
|
160
|
+
output,
|
|
161
|
+
highlighted: manifest.highlightedOutputs?.includes(output) === true,
|
|
162
|
+
...(manifest.title === undefined ? {} : { buildTitle: manifest.title }),
|
|
163
|
+
...(manifest.note === undefined ? {} : { buildNote: manifest.note }),
|
|
164
|
+
valuePath,
|
|
165
|
+
ownerBuild: resolved.build,
|
|
166
|
+
ownerOutput: resolved.output,
|
|
167
|
+
filePath: file.path,
|
|
168
|
+
size: file.size,
|
|
169
|
+
mediaType: file.mediaType,
|
|
170
|
+
source: presentedPath(root, manifest.source.path),
|
|
171
|
+
...(manifest.run === undefined ? {} : { run: presentedPath(root, manifest.run.path) }),
|
|
172
|
+
}));
|
|
173
|
+
})));
|
|
174
|
+
return nested.flat().sort((left, right) =>
|
|
175
|
+
Number(right.highlighted) - Number(left.highlighted)
|
|
176
|
+
|| right.createdAt - left.createdAt
|
|
177
|
+
|| left.output.localeCompare(right.output)
|
|
178
|
+
|| left.valuePath.localeCompare(right.valuePath));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/** Build the Studio library from execution status and project-owned Build Results. */
|
|
182
|
+
export async function readStudioLibrary(input: {
|
|
183
|
+
readonly profile?: string;
|
|
184
|
+
readonly workspaceRoot: string;
|
|
185
|
+
readonly runtime?: Pick<RuntimeControl, "activity">;
|
|
186
|
+
readonly results: BuildResultRepository;
|
|
187
|
+
readonly before?: string;
|
|
188
|
+
}): Promise<StudioLibraryView> {
|
|
189
|
+
const page = await input.results.browse({
|
|
190
|
+
limit: 25,
|
|
191
|
+
...(input.before === undefined ? {} : { before: input.before }),
|
|
192
|
+
});
|
|
193
|
+
const manifests = page.results.filter((manifest) =>
|
|
194
|
+
isWithin(input.workspaceRoot, manifest.run?.path ?? manifest.source.path)
|
|
195
|
+
|| isWithin(input.workspaceRoot, manifest.source.path));
|
|
196
|
+
const resultsByBuild = new Map(manifests.map((manifest) => [manifest.id, manifest]));
|
|
197
|
+
const active = input.runtime === undefined || input.before !== undefined
|
|
198
|
+
? []
|
|
199
|
+
: (await input.runtime.activity()).builds;
|
|
200
|
+
const views = active.filter((view) => buildBelongsTo(input.workspaceRoot, view));
|
|
201
|
+
return {
|
|
202
|
+
environment: resolve(input.workspaceRoot),
|
|
203
|
+
...(input.profile === undefined ? {} : { runtime: resolve(input.profile) }),
|
|
204
|
+
...(page.next === undefined ? {} : { next: page.next }),
|
|
205
|
+
tasks: [
|
|
206
|
+
...views.map((view) => taskView(
|
|
207
|
+
input.workspaceRoot,
|
|
208
|
+
view,
|
|
209
|
+
resultsByBuild.get(view.id),
|
|
210
|
+
)),
|
|
211
|
+
...manifests
|
|
212
|
+
.filter((manifest) => !views.some((view) => view.id === manifest.id))
|
|
213
|
+
.map((manifest) => resultTaskView(input.workspaceRoot, manifest)),
|
|
214
|
+
].sort((left, right) => right.createdAt - left.createdAt || left.id.localeCompare(right.id)),
|
|
215
|
+
artifacts: await artifactsForResults(input.workspaceRoot, input.results, manifests),
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/** Open a Runtime profile read-only; Studio never creates or mutates a Build. */
|
|
220
|
+
export async function openStudioBuildLibrary(
|
|
221
|
+
profile: string | undefined,
|
|
222
|
+
packageRoot: string,
|
|
223
|
+
workspaceRoot: string,
|
|
224
|
+
distributionPackageRoot?: string,
|
|
225
|
+
): Promise<StudioBuildLibrary> {
|
|
226
|
+
const resolvedProfile = profile === undefined ? undefined : resolve(profile);
|
|
227
|
+
const host = resolvedProfile === undefined
|
|
228
|
+
? undefined
|
|
229
|
+
: await videoCliDistribution.openRuntimeHost(resolvedProfile, {
|
|
230
|
+
packageRoot,
|
|
231
|
+
...(distributionPackageRoot === undefined ? {} : { distributionPackageRoot }),
|
|
232
|
+
});
|
|
233
|
+
const runtime = await host?.openControl({ readOnly: true });
|
|
234
|
+
let transientExecution: RuntimeHostTransientExecution | undefined;
|
|
235
|
+
let openedResults: Awaited<ReturnType<typeof videoCliDistribution.openProjectResults>>;
|
|
236
|
+
try {
|
|
237
|
+
transientExecution = await host?.openTransientExecution();
|
|
238
|
+
openedResults = await videoCliDistribution.openProjectResults(workspaceRoot, {
|
|
239
|
+
packageRoot,
|
|
240
|
+
...(distributionPackageRoot === undefined ? {} : { distributionPackageRoot }),
|
|
241
|
+
});
|
|
242
|
+
} catch (error) {
|
|
243
|
+
await transientExecution?.close();
|
|
244
|
+
await runtime?.close();
|
|
245
|
+
throw error;
|
|
246
|
+
}
|
|
247
|
+
const results = openedResults.repository;
|
|
248
|
+
return {
|
|
249
|
+
...(resolvedProfile === undefined ? {} : { profile: resolvedProfile }),
|
|
250
|
+
...(runtime === undefined ? {} : { runtime }),
|
|
251
|
+
...(transientExecution === undefined ? {} : { transientExecution }),
|
|
252
|
+
async library(before) {
|
|
253
|
+
return await readStudioLibrary({
|
|
254
|
+
...(resolvedProfile === undefined ? {} : { profile: resolvedProfile }),
|
|
255
|
+
workspaceRoot,
|
|
256
|
+
...(runtime === undefined ? {} : { runtime }),
|
|
257
|
+
results,
|
|
258
|
+
...(before === undefined ? {} : { before }),
|
|
259
|
+
});
|
|
260
|
+
},
|
|
261
|
+
async resolveHistoricalOutput(build, output) {
|
|
262
|
+
return await resolveBuildResultValue(results, build, output);
|
|
263
|
+
},
|
|
264
|
+
async openArtifact(build, output, valuePath) {
|
|
265
|
+
const resolved = await results.resolve(build, output);
|
|
266
|
+
if (resolved === undefined) return undefined;
|
|
267
|
+
const match = filesInResolvedOutput(resolved).find((item) => item.valuePath === valuePath);
|
|
268
|
+
if (match === undefined) return undefined;
|
|
269
|
+
return {
|
|
270
|
+
mediaType: match.file.mediaType,
|
|
271
|
+
size: match.file.size,
|
|
272
|
+
open: async (range) => await results.openFile(resolved.build, match.file, range),
|
|
273
|
+
};
|
|
274
|
+
},
|
|
275
|
+
async close() {
|
|
276
|
+
await openedResults.close();
|
|
277
|
+
await transientExecution?.close();
|
|
278
|
+
await runtime?.close();
|
|
279
|
+
},
|
|
280
|
+
};
|
|
281
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { installDistributionPackageResolution, loadNodePackageSelection } from "@hypit/package-loader-node";
|
|
2
|
+
import type { LoadedPackage } from "@hypit/package-loader-node";
|
|
3
|
+
import { studioContributionFromPackage } from "@hypit/studio-adapter";
|
|
4
|
+
|
|
5
|
+
import { fallbackStudioTrackCompanions } from "./fallback-companions.js";
|
|
6
|
+
import { StudioCompanionRegistry } from "./studio-registry.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Assemble the immutable Companion Registry for one Source closure.
|
|
10
|
+
*
|
|
11
|
+
* The distribution contributes its normal video vocabulary. Every package
|
|
12
|
+
* actually selected by the Source may contribute its own Companion through the
|
|
13
|
+
* same package host-facet boundary. There is no second project profile and no
|
|
14
|
+
* replacement table.
|
|
15
|
+
*/
|
|
16
|
+
export async function loadStudioCompanionRegistry(input: {
|
|
17
|
+
readonly distributionPackageRoot: string;
|
|
18
|
+
readonly distributionPackages: readonly string[];
|
|
19
|
+
readonly sourcePackages: readonly LoadedPackage[];
|
|
20
|
+
}): Promise<StudioCompanionRegistry> {
|
|
21
|
+
installDistributionPackageResolution([input.distributionPackageRoot]);
|
|
22
|
+
const distribution = await loadNodePackageSelection(
|
|
23
|
+
input.distributionPackages,
|
|
24
|
+
input.distributionPackageRoot,
|
|
25
|
+
);
|
|
26
|
+
const selected = new Map<string, LoadedPackage>();
|
|
27
|
+
for (const item of [...distribution, ...input.sourcePackages]) {
|
|
28
|
+
if (!selected.has(item.specifier)) selected.set(item.specifier, item);
|
|
29
|
+
}
|
|
30
|
+
const contributions = [...selected.values()].map((item) =>
|
|
31
|
+
studioContributionFromPackage(item.specifier, item.contribution.hostFacets ?? []));
|
|
32
|
+
return new StudioCompanionRegistry(
|
|
33
|
+
[...fallbackStudioTrackCompanions, ...contributions.flatMap((item) => item.tracks)],
|
|
34
|
+
{
|
|
35
|
+
films: contributions.flatMap((item) => item.films),
|
|
36
|
+
scripts: contributions.flatMap((item) => item.scripts),
|
|
37
|
+
},
|
|
38
|
+
);
|
|
39
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { NodeCompiledSourceClosure } from "@hypit/compiler-node";
|
|
2
|
+
import type { AuthorElementProvenance, AuthorValueRef } from "@hypit/elaborator";
|
|
3
|
+
import type { ArtifactAttachment } from "@hypit/workspace";
|
|
4
|
+
import type { TypeRef } from "@hypit/protocol";
|
|
5
|
+
|
|
6
|
+
import type { Observations } from "./observe.js";
|
|
7
|
+
import type { Placement } from "./observe.js";
|
|
8
|
+
|
|
9
|
+
export type ServedFile = {
|
|
10
|
+
readonly mediaType: string;
|
|
11
|
+
readonly bytes: Uint8Array;
|
|
12
|
+
readonly source?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type CompiledSource = {
|
|
16
|
+
readonly compiled: NodeCompiledSourceClosure;
|
|
17
|
+
readonly observations: Observations;
|
|
18
|
+
readonly served: ReadonlyMap<string, ServedFile>;
|
|
19
|
+
readonly exports: readonly {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly type: string;
|
|
22
|
+
readonly typeRef: TypeRef;
|
|
23
|
+
readonly ref: string;
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Attach Studio's observations to the exact Author compilation a Run was
|
|
29
|
+
* resolved against. Keeping this conversion separate lets the Run compiler and
|
|
30
|
+
* Studio share one Author graph instead of compiling two look-alike graphs.
|
|
31
|
+
*/
|
|
32
|
+
export async function observedCompiledSource(
|
|
33
|
+
compiled: NodeCompiledSourceClosure,
|
|
34
|
+
observations: Observations,
|
|
35
|
+
): Promise<CompiledSource> {
|
|
36
|
+
const served = new Map<string, ServedFile>();
|
|
37
|
+
for (const attachment of compiled.attachments) {
|
|
38
|
+
served.set(attachment.artifact.resource, {
|
|
39
|
+
mediaType: attachment.artifact.mediaType,
|
|
40
|
+
bytes: await bytesOf(attachment),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const normalized = normalizeObservations(compiled, observations);
|
|
44
|
+
const names = new Map(compiled.provenance.elements.flatMap((element) =>
|
|
45
|
+
element.outputs.map((output) => [output.id, output.local] as const)));
|
|
46
|
+
return {
|
|
47
|
+
compiled,
|
|
48
|
+
observations: normalized,
|
|
49
|
+
served,
|
|
50
|
+
exports: compiled.graph.outputs.map((item) => ({
|
|
51
|
+
name: compiled.exports.find((candidate) => "id" in candidate.ref && candidate.ref.id === item.id)?.name
|
|
52
|
+
?? names.get(item.id)
|
|
53
|
+
?? item.id,
|
|
54
|
+
type: item.type.name,
|
|
55
|
+
typeRef: item.type,
|
|
56
|
+
ref: item.id,
|
|
57
|
+
})),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function sameRange(
|
|
62
|
+
left: { readonly start: number; readonly end: number },
|
|
63
|
+
right: { readonly start: number; readonly end: number },
|
|
64
|
+
): boolean {
|
|
65
|
+
return left.start === right.start && left.end === right.end;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function exactElement(
|
|
69
|
+
compiled: NodeCompiledSourceClosure,
|
|
70
|
+
sourcePath: string,
|
|
71
|
+
range: { readonly start: number; readonly end: number },
|
|
72
|
+
): AuthorElementProvenance | undefined {
|
|
73
|
+
return compiled.provenance.elements.find((element) =>
|
|
74
|
+
element.sourceName === sourcePath && sameRange(element.range, range));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function resolvedRef(compiled: NodeCompiledSourceClosure, ref: AuthorValueRef): string | undefined {
|
|
78
|
+
if (ref.kind === "record") return ref.id;
|
|
79
|
+
return compiled.provenance.elements.flatMap((element) => element.outputs)
|
|
80
|
+
.find((output) => output.component === ref.component && output.name === ref.output)?.id;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function decorate(
|
|
84
|
+
compiled: NodeCompiledSourceClosure,
|
|
85
|
+
sourcePath: string,
|
|
86
|
+
range: { readonly start: number; readonly end: number },
|
|
87
|
+
): {
|
|
88
|
+
readonly element?: AuthorElementProvenance;
|
|
89
|
+
readonly records: ReadonlyMap<string, string>;
|
|
90
|
+
readonly outputs: ReadonlyMap<string, string>;
|
|
91
|
+
readonly references: Readonly<Record<string, string>>;
|
|
92
|
+
readonly endpoints: Readonly<Record<string, string>>;
|
|
93
|
+
} {
|
|
94
|
+
const element = exactElement(compiled, sourcePath, range);
|
|
95
|
+
if (element === undefined) {
|
|
96
|
+
return { records: new Map(), outputs: new Map(), references: {}, endpoints: {} };
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
element,
|
|
100
|
+
records: new Map(element.records.map((record) => [record.local, record.id] as const)),
|
|
101
|
+
outputs: new Map(element.outputs.map((output) => [output.local, output.id] as const)),
|
|
102
|
+
references: Object.fromEntries(element.inputs.flatMap((input) => {
|
|
103
|
+
if (input.ref === undefined) return [];
|
|
104
|
+
const ref = resolvedRef(compiled, input.ref);
|
|
105
|
+
return ref === undefined ? [] : [[input.name, ref]];
|
|
106
|
+
})),
|
|
107
|
+
endpoints: Object.fromEntries(element.inputs.map((input) => [input.name, input.id])),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/** Join Studio presentation to compiler-owned identities without re-matching authored names. */
|
|
112
|
+
function normalizeObservations(
|
|
113
|
+
compiled: NodeCompiledSourceClosure,
|
|
114
|
+
observations: Observations,
|
|
115
|
+
): Observations {
|
|
116
|
+
const placements: Placement[] = observations.placements.map((placement) => {
|
|
117
|
+
const own = decorate(compiled, placement.sourcePath, placement.range);
|
|
118
|
+
return {
|
|
119
|
+
...placement,
|
|
120
|
+
...(own.element === undefined ? {} : {
|
|
121
|
+
authorElement: own.element.id,
|
|
122
|
+
authorEndpoints: own.endpoints,
|
|
123
|
+
resolvedReferenceAttributes: own.references,
|
|
124
|
+
records: placement.records.map((id) => own.records.get(id) ?? id),
|
|
125
|
+
outputs: placement.outputs.map((id) => own.outputs.get(id) ?? id),
|
|
126
|
+
outputPorts: placement.outputPorts.map((port) => ({
|
|
127
|
+
...port,
|
|
128
|
+
ref: own.outputs.get(port.ref) ?? port.ref,
|
|
129
|
+
})),
|
|
130
|
+
values: placement.values.map((value) => ({ ...value, id: own.records.get(value.id) ?? value.id })),
|
|
131
|
+
}),
|
|
132
|
+
children: placement.children.map((child) => {
|
|
133
|
+
const held = decorate(compiled, child.sourcePath, child.range);
|
|
134
|
+
return {
|
|
135
|
+
...child,
|
|
136
|
+
...(held.element === undefined ? {} : {
|
|
137
|
+
authorElement: held.element.id,
|
|
138
|
+
authorEndpoints: held.endpoints,
|
|
139
|
+
resolvedReferenceAttributes: held.references,
|
|
140
|
+
records: [...held.records.values()],
|
|
141
|
+
outputs: [...held.outputs.values()],
|
|
142
|
+
values: child.values.map((value) => ({ ...value, id: held.records.get(value.id) ?? value.id })),
|
|
143
|
+
}),
|
|
144
|
+
};
|
|
145
|
+
}),
|
|
146
|
+
};
|
|
147
|
+
});
|
|
148
|
+
return { placements, sourceMaps: observations.sourceMaps };
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
async function bytesOf(attachment: ArtifactAttachment): Promise<Uint8Array> {
|
|
152
|
+
const chunks: Uint8Array[] = [];
|
|
153
|
+
let size = 0;
|
|
154
|
+
for await (const chunk of await attachment.open()) {
|
|
155
|
+
const copy = Uint8Array.from(chunk);
|
|
156
|
+
chunks.push(copy);
|
|
157
|
+
size += copy.byteLength;
|
|
158
|
+
}
|
|
159
|
+
const bytes = new Uint8Array(size);
|
|
160
|
+
let offset = 0;
|
|
161
|
+
for (const chunk of chunks) {
|
|
162
|
+
bytes.set(chunk, offset);
|
|
163
|
+
offset += chunk.byteLength;
|
|
164
|
+
}
|
|
165
|
+
return bytes;
|
|
166
|
+
}
|