@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,34 @@
|
|
|
1
|
+
import { discoverSourcePackages } from "@hypit/cli";
|
|
2
|
+
import {
|
|
3
|
+
createMarkupAuthorFrontend,
|
|
4
|
+
MarkupSurfaceRegistry,
|
|
5
|
+
} from "@hypit/markup";
|
|
6
|
+
import type { LoadedPackage } from "@hypit/package-loader-node";
|
|
7
|
+
|
|
8
|
+
const markupFrontend = createMarkupAuthorFrontend({
|
|
9
|
+
registry: new MarkupSurfaceRegistry(),
|
|
10
|
+
resolveModule(request) {
|
|
11
|
+
throw new Error(`Markup discovery unexpectedly resolved Module ${request.from}`);
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
/** Video Distribution bootstrap: generic Source discovery plus the bare Markup Frontend. */
|
|
16
|
+
export async function discoverVideoSourcePackages(
|
|
17
|
+
sourcePath: string,
|
|
18
|
+
options: {
|
|
19
|
+
readonly workspaceRoot?: string;
|
|
20
|
+
readonly packageRoot?: string;
|
|
21
|
+
readonly distributionPackageRoot?: string;
|
|
22
|
+
readonly packages?: readonly LoadedPackage[];
|
|
23
|
+
} = {},
|
|
24
|
+
) {
|
|
25
|
+
return await discoverSourcePackages(sourcePath, {
|
|
26
|
+
...(options.workspaceRoot === undefined ? {} : { workspaceRoot: options.workspaceRoot }),
|
|
27
|
+
...(options.packageRoot === undefined ? {} : { packageRoot: options.packageRoot }),
|
|
28
|
+
...(options.distributionPackageRoot === undefined
|
|
29
|
+
? {}
|
|
30
|
+
: { distributionPackageRoot: options.distributionPackageRoot }),
|
|
31
|
+
...(options.packages === undefined ? {} : { packages: options.packages }),
|
|
32
|
+
bootstrapAuthorFrontends: [markupFrontend],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { once } from "node:events";
|
|
3
|
+
|
|
4
|
+
type ProcessInput = Uint8Array | Iterable<Uint8Array> | AsyncIterable<Uint8Array>;
|
|
5
|
+
type ProcessOutput = { readonly stdout: Buffer; readonly stderr: string };
|
|
6
|
+
|
|
7
|
+
function run(
|
|
8
|
+
executable: string,
|
|
9
|
+
args: readonly string[],
|
|
10
|
+
input: ProcessInput | undefined,
|
|
11
|
+
timeoutMs: number,
|
|
12
|
+
): Promise<ProcessOutput> {
|
|
13
|
+
return new Promise((resolveRun, reject) => {
|
|
14
|
+
const child = spawn(executable, [...args], { stdio: [input === undefined ? "ignore" : "pipe", "pipe", "pipe"], windowsHide: true });
|
|
15
|
+
const out: Buffer[] = [];
|
|
16
|
+
let err = "";
|
|
17
|
+
let settled = false;
|
|
18
|
+
const finish = (error?: Error): void => {
|
|
19
|
+
if (settled) return;
|
|
20
|
+
settled = true;
|
|
21
|
+
clearTimeout(timer);
|
|
22
|
+
if (error === undefined) resolveRun({ stdout: Buffer.concat(out), stderr: err });
|
|
23
|
+
else reject(error);
|
|
24
|
+
};
|
|
25
|
+
const timer = setTimeout(() => { child.kill("SIGKILL"); finish(new Error(`${executable} timed out after ${timeoutMs} ms`)); }, timeoutMs);
|
|
26
|
+
child.stdout?.on("data", (chunk: Buffer) => out.push(chunk));
|
|
27
|
+
child.stderr?.on("data", (chunk: Buffer) => { err = `${err}${chunk.toString("utf8")}`.slice(-100_000); });
|
|
28
|
+
child.on("error", (error) => finish(new Error(`${executable} could not start: ${error.message}`)));
|
|
29
|
+
child.on("close", (code) => {
|
|
30
|
+
if (code === 0) finish();
|
|
31
|
+
else finish(new Error(`${executable} exited with ${code}: ${err.trim()}`));
|
|
32
|
+
});
|
|
33
|
+
if (input !== undefined && child.stdin !== null) {
|
|
34
|
+
child.stdin.on("error", (error: NodeJS.ErrnoException) => {
|
|
35
|
+
if (error.code !== "EPIPE") finish(new Error(`${executable} input failed: ${error.message}`));
|
|
36
|
+
});
|
|
37
|
+
void (async () => {
|
|
38
|
+
const chunks: Iterable<Uint8Array> | AsyncIterable<Uint8Array> = input instanceof Uint8Array ? [input] : input;
|
|
39
|
+
for await (const chunk of chunks) {
|
|
40
|
+
if (!child.stdin!.write(chunk)) await once(child.stdin!, "drain");
|
|
41
|
+
}
|
|
42
|
+
child.stdin!.end();
|
|
43
|
+
})().catch((error: unknown) => {
|
|
44
|
+
if (!(error instanceof Error && "code" in error && error.code === "EPIPE")) {
|
|
45
|
+
child.kill("SIGKILL");
|
|
46
|
+
finish(error instanceof Error ? error : new Error(String(error)));
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** Run one external program to completion and return its stdout; stderr becomes the error text. */
|
|
54
|
+
export async function runProcess(executable: string, args: readonly string[], timeoutMs = 300_000): Promise<Buffer> {
|
|
55
|
+
return (await run(executable, args, undefined, timeoutMs)).stdout;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Successful stderr can carry tool metadata, such as the timestamp of an extracted frame. */
|
|
59
|
+
export function runProcessOutput(executable: string, args: readonly string[], timeoutMs = 300_000): Promise<ProcessOutput> {
|
|
60
|
+
return run(executable, args, undefined, timeoutMs);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** The same process boundary when a deterministic byte stream is one of the program's inputs. */
|
|
64
|
+
export async function runProcessWithInput(
|
|
65
|
+
executable: string,
|
|
66
|
+
args: readonly string[],
|
|
67
|
+
input: ProcessInput,
|
|
68
|
+
timeoutMs = 300_000,
|
|
69
|
+
): Promise<Buffer> {
|
|
70
|
+
return (await run(executable, args, input, timeoutMs)).stdout;
|
|
71
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Studio Companions carried by the official video distribution.
|
|
3
|
+
*
|
|
4
|
+
* This is distribution policy, not Studio discovery policy: a different video
|
|
5
|
+
* distribution may assemble a different set without changing Studio itself.
|
|
6
|
+
*/
|
|
7
|
+
export const videoStudioCompanionPackages = [
|
|
8
|
+
"@hypit/audio-track-studio",
|
|
9
|
+
"@hypit/caption-fine-studio",
|
|
10
|
+
"@hypit/comment-sticker-studio",
|
|
11
|
+
"@hypit/deck-track-studio",
|
|
12
|
+
"@hypit/film-studio",
|
|
13
|
+
"@hypit/media-track-studio",
|
|
14
|
+
"@hypit/ranking-studio",
|
|
15
|
+
"@hypit/screen-overlay-studio",
|
|
16
|
+
"@hypit/script-studio",
|
|
17
|
+
"@hypit/speech-track-studio",
|
|
18
|
+
"@hypit/typography-track-studio",
|
|
19
|
+
] as const;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
|
|
3
|
+
/** The seconds-based file written by `hypit transcribe`. Missing word times stay missing. */
|
|
4
|
+
export type TranscriptWord = {
|
|
5
|
+
readonly text: string;
|
|
6
|
+
readonly start?: number;
|
|
7
|
+
readonly end?: number;
|
|
8
|
+
};
|
|
9
|
+
export type FrameWords = {
|
|
10
|
+
readonly active: readonly TranscriptWord[];
|
|
11
|
+
readonly context: readonly TranscriptWord[];
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
function assert(condition: unknown, message: string): asserts condition {
|
|
15
|
+
if (!condition) throw new Error(message);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export async function readTranscript(path: string): Promise<readonly TranscriptWord[]> {
|
|
19
|
+
const raw = JSON.parse(await readFile(path, "utf8"));
|
|
20
|
+
assert(raw?.format === "hypit.transcript@1" && Array.isArray(raw.passages), `${path}: expected hypit.transcript@1`);
|
|
21
|
+
return raw.passages.flatMap((passage: { words?: unknown }) => {
|
|
22
|
+
assert(passage !== null && Array.isArray(passage.words), `${path}: each passage needs words`);
|
|
23
|
+
return passage.words.map((word: Record<string, unknown>) => {
|
|
24
|
+
assert(word !== null && typeof word.text === "string", `${path}: each word needs text`);
|
|
25
|
+
const start = word.start_seconds;
|
|
26
|
+
const end = word.end_seconds;
|
|
27
|
+
assert(start === undefined || (typeof start === "number" && Number.isFinite(start) && start >= 0), `${path}: invalid word start`);
|
|
28
|
+
assert(end === undefined || (typeof end === "number" && Number.isFinite(end) && end >= 0), `${path}: invalid word end`);
|
|
29
|
+
assert(start === undefined || end === undefined || end >= start, `${path}: word end precedes start`);
|
|
30
|
+
return { text: word.text, ...(start === undefined ? {} : { start }), ...(end === undefined ? {} : { end }) };
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function wordsAt(words: readonly TranscriptWord[], at: number): FrameWords {
|
|
36
|
+
const active = words.filter((word) => word.start !== undefined && word.end !== undefined && word.start <= at && at < word.end);
|
|
37
|
+
let anchor = active.length > 0 ? words.indexOf(active[0]!) : -1;
|
|
38
|
+
if (anchor < 0) {
|
|
39
|
+
let distance = Infinity;
|
|
40
|
+
for (const [index, word] of words.entries()) {
|
|
41
|
+
const time = word.start ?? word.end;
|
|
42
|
+
if (time !== undefined && Math.abs(time - at) < distance) { anchor = index; distance = Math.abs(time - at); }
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const last = active.length > 0 ? words.indexOf(active.at(-1)!) : anchor;
|
|
46
|
+
return { active, context: anchor < 0 ? [] : words.slice(Math.max(0, anchor - 3), last + 4) };
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function searchable(text: string): string {
|
|
50
|
+
return text.normalize("NFKC").toLowerCase().replace(/[\p{P}\p{Z}\s]/gu, "");
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** Find whole, consecutive transcript words; punctuation and case do not affect matching. */
|
|
54
|
+
export function phraseRanges(words: readonly TranscriptWord[], text: string): readonly { start: number; end: number }[] {
|
|
55
|
+
const query = searchable(text);
|
|
56
|
+
assert(query.length > 0, "--around needs a word or phrase");
|
|
57
|
+
const matches: { start: number; end: number }[] = [];
|
|
58
|
+
for (let first = 0; first < words.length; first += 1) {
|
|
59
|
+
if (searchable(words[first]!.text).length === 0) continue;
|
|
60
|
+
let joined = "";
|
|
61
|
+
for (let last = first; last < words.length && joined.length < query.length; last += 1) {
|
|
62
|
+
joined += searchable(words[last]!.text);
|
|
63
|
+
if (joined !== query) continue;
|
|
64
|
+
const start = words[first]!.start;
|
|
65
|
+
const end = words[last]!.end;
|
|
66
|
+
assert(start !== undefined && end !== undefined, `The phrase ${JSON.stringify(text)} has missing boundary times; inspect its passage and choose --start/--end`);
|
|
67
|
+
matches.push({ start, end });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return matches;
|
|
71
|
+
}
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
import { readdir, readFile, stat } from "node:fs/promises";
|
|
2
|
+
import { dirname, join, resolve } from "node:path";
|
|
3
|
+
|
|
4
|
+
import type { CliIo } from "@hypit/cli";
|
|
5
|
+
import {
|
|
6
|
+
animatableLocalStyles,
|
|
7
|
+
visualProgramSchema, visualBoxSchema, visualElementSchema, visualImageSchema, visualMaskSchema, visualPathCommandSchema,
|
|
8
|
+
visualSurfaceSchema, visualTextDocumentSchema, visualTextFlowSchema, visualTextPaintSchema,
|
|
9
|
+
visualTextSchema, visualTextTypographySchema, visualTrackSchema, visualVideoSchema,
|
|
10
|
+
} from "@hypit/composition";
|
|
11
|
+
import { markupSurfaceHostFacetAbi } from "@hypit/markup";
|
|
12
|
+
import type {
|
|
13
|
+
RegisteredSurface,
|
|
14
|
+
SurfaceAttributeVocabulary,
|
|
15
|
+
SurfacePortVocabulary,
|
|
16
|
+
SurfaceVocabulary,
|
|
17
|
+
} from "@hypit/markup";
|
|
18
|
+
import { exactModelHostAbi } from "@hypit/model-kit";
|
|
19
|
+
import { loadNodePackageSelection, locateNodePackage } from "@hypit/package-loader-node";
|
|
20
|
+
import type { NodePackageLoadOptions } from "@hypit/package-loader-node";
|
|
21
|
+
import type { ValueSchema } from "@hypit/protocol";
|
|
22
|
+
import { VISUAL_STYLE_ENUM_VALUES_V1, VISUAL_STYLE_NAMES_V1 } from "@hypit/visual-ir";
|
|
23
|
+
|
|
24
|
+
import { videoCliDistribution } from "./distribution.js";
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* What a Source may write: the installed packages, and the Surfaces each one declares.
|
|
28
|
+
*
|
|
29
|
+
* The manifest is the authority; this prints it. A system you never inspected is a system you are
|
|
30
|
+
* about to invent, so the listing shows every scope and the project's own `packages/`, and a named
|
|
31
|
+
* package answers with its own Surfaces only, not with everything it happens to depend on.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
function assert(condition: unknown, message: string): asserts condition {
|
|
35
|
+
if (!condition) throw new Error(message);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async function nearestPackageRoot(start: string): Promise<string> {
|
|
39
|
+
let directory = resolve(start);
|
|
40
|
+
while (true) {
|
|
41
|
+
if (await stat(resolve(directory, "package.json")).then((item) => item.isFile(), () => false)) return directory;
|
|
42
|
+
const parent = dirname(directory);
|
|
43
|
+
if (parent === directory) return resolve(start);
|
|
44
|
+
directory = parent;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function loading(): NodePackageLoadOptions {
|
|
49
|
+
return videoCliDistribution.packageRoot === undefined ? {} : { fallbackRoots: [videoCliDistribution.packageRoot] };
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async function readJson<T>(path: string): Promise<T | undefined> {
|
|
53
|
+
try { return JSON.parse(await readFile(path, "utf8")) as T; } catch { return undefined; }
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ---------------------------------------------------------------------------------------------------
|
|
57
|
+
// Listing
|
|
58
|
+
|
|
59
|
+
export type PackageListing = {
|
|
60
|
+
readonly name: string;
|
|
61
|
+
readonly description?: string;
|
|
62
|
+
readonly tags: readonly string[];
|
|
63
|
+
readonly models?: readonly string[];
|
|
64
|
+
readonly unreadable?: string;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export async function listPackages(projectRoot: string): Promise<readonly PackageListing[]> {
|
|
68
|
+
// Every scope, and the project's own directory, from both the project's node_modules and the
|
|
69
|
+
// Distribution's: the packages a project does not carry are in the Distribution, and the ones it
|
|
70
|
+
// does are beside it.
|
|
71
|
+
const roots = [...new Set([
|
|
72
|
+
join(projectRoot, "node_modules"),
|
|
73
|
+
...(videoCliDistribution.packageRoot === undefined ? [] : [join(videoCliDistribution.packageRoot, "node_modules")]),
|
|
74
|
+
])];
|
|
75
|
+
const candidates: { readonly name: string; readonly directory: string }[] = [];
|
|
76
|
+
for (const modules of roots) {
|
|
77
|
+
const scopes = (await readdir(modules, { withFileTypes: true }).catch(() => []))
|
|
78
|
+
.filter((entry) => entry.isDirectory() && entry.name.startsWith("@"))
|
|
79
|
+
.map((entry) => entry.name)
|
|
80
|
+
.sort();
|
|
81
|
+
for (const scope of scopes) {
|
|
82
|
+
for (const inside of (await readdir(join(modules, scope)).catch(() => [] as string[])).sort()) {
|
|
83
|
+
const name = `${scope}/${inside}`;
|
|
84
|
+
if (!candidates.some((item) => item.name === name)) candidates.push({ name, directory: join(modules, scope, inside) });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// A project's own packages are its `packages/<name>/`, where the loader finds them by name whether
|
|
89
|
+
// or not a package manager linked them.
|
|
90
|
+
for (const entry of (await readdir(join(projectRoot, "packages")).catch(() => [] as string[])).sort()) {
|
|
91
|
+
const directory = join(projectRoot, "packages", entry);
|
|
92
|
+
const own = await readJson<{ readonly name?: string }>(join(directory, "package.json"));
|
|
93
|
+
if (own?.name !== undefined && !candidates.some((item) => item.name === own.name)) candidates.push({ name: own.name, directory });
|
|
94
|
+
}
|
|
95
|
+
const listing: PackageListing[] = [];
|
|
96
|
+
for (const { name, directory } of candidates) {
|
|
97
|
+
const manifest = await readJson<{ readonly hypit?: { readonly activation?: string }; readonly description?: string }>(join(directory, "package.json"));
|
|
98
|
+
if (manifest?.hypit?.activation === undefined) continue;
|
|
99
|
+
const tags: string[] = [];
|
|
100
|
+
const models: string[] = [];
|
|
101
|
+
let unreadable: string | undefined;
|
|
102
|
+
try {
|
|
103
|
+
for (const pack of await loadNodePackageSelection([name], projectRoot, loading())) {
|
|
104
|
+
for (const facet of pack.contribution.hostFacets ?? []) {
|
|
105
|
+
if (facet.abi === markupSurfaceHostFacetAbi) tags.push((facet.implementation as RegisteredSurface).tag);
|
|
106
|
+
else if (facet.abi === exactModelHostAbi) models.push(...(facet as { readonly offers?: readonly string[] }).offers ?? []);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
} catch (error) { unreadable = error instanceof Error ? error.message : String(error); }
|
|
110
|
+
listing.push({
|
|
111
|
+
name,
|
|
112
|
+
...(manifest.description === undefined ? {} : { description: manifest.description }),
|
|
113
|
+
tags: [...new Set(tags)].sort(),
|
|
114
|
+
...(models.length === 0 ? {} : { models: [...new Set(models)].sort() }),
|
|
115
|
+
...(unreadable === undefined ? {} : { unreadable }),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return listing;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// ---------------------------------------------------------------------------------------------------
|
|
122
|
+
// Surfaces
|
|
123
|
+
|
|
124
|
+
export type SurfaceListing = {
|
|
125
|
+
readonly package: string;
|
|
126
|
+
readonly module: RegisteredSurface["module"];
|
|
127
|
+
readonly surface: string;
|
|
128
|
+
readonly tag: string;
|
|
129
|
+
readonly mode: RegisteredSurface["mode"];
|
|
130
|
+
readonly outputs: RegisteredSurface["outputs"];
|
|
131
|
+
readonly vocabulary?: unknown;
|
|
132
|
+
readonly readme?: string;
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
function printableVocabulary(value: SurfaceVocabulary | undefined): unknown {
|
|
136
|
+
if (value === undefined) return undefined;
|
|
137
|
+
// The poster is a file the manifest opens; the listing names it and does not read it.
|
|
138
|
+
return { ...value, ...(value.preview === undefined ? {} : { preview: { mediaType: value.preview.mediaType, path: value.preview.path } }) };
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function readmePath(name: string, projectRoot: string): string | undefined {
|
|
142
|
+
try {
|
|
143
|
+
const located = locateNodePackage(name, {
|
|
144
|
+
from: join(projectRoot, "__hypit_vocabulary__.mjs"),
|
|
145
|
+
workspaceRoots: [projectRoot],
|
|
146
|
+
...(videoCliDistribution.packageRoot === undefined ? {} : { distributionRoots: [videoCliDistribution.packageRoot] }),
|
|
147
|
+
});
|
|
148
|
+
return join(located.root, "README.md");
|
|
149
|
+
} catch { return undefined; }
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export async function listSurfaces(projectRoot: string, packages: readonly string[], tags?: readonly string[]): Promise<readonly SurfaceListing[]> {
|
|
153
|
+
assert(packages.length > 0, "name at least one package");
|
|
154
|
+
const loaded = await loadNodePackageSelection(packages, projectRoot, loading());
|
|
155
|
+
const named = new Set(packages);
|
|
156
|
+
const wanted = tags === undefined ? undefined : new Set(tags);
|
|
157
|
+
const surfaces: SurfaceListing[] = [];
|
|
158
|
+
for (const pack of loaded) {
|
|
159
|
+
// Loading a package brings its dependencies with it; the answer is about the ones named.
|
|
160
|
+
if (!named.has(pack.specifier)) continue;
|
|
161
|
+
for (const facet of pack.contribution.hostFacets ?? []) {
|
|
162
|
+
if (facet.abi !== markupSurfaceHostFacetAbi) continue;
|
|
163
|
+
const surface = facet.implementation as RegisteredSurface;
|
|
164
|
+
if (wanted !== undefined && !wanted.has(surface.tag) && !wanted.has(surface.surface)) continue;
|
|
165
|
+
const readme = readmePath(pack.specifier, projectRoot);
|
|
166
|
+
surfaces.push({
|
|
167
|
+
package: pack.specifier,
|
|
168
|
+
module: surface.module,
|
|
169
|
+
surface: surface.surface,
|
|
170
|
+
tag: surface.tag,
|
|
171
|
+
mode: surface.mode,
|
|
172
|
+
outputs: surface.outputs,
|
|
173
|
+
...(surface.vocabulary === undefined ? {} : { vocabulary: printableVocabulary(surface.vocabulary) }),
|
|
174
|
+
...(readme === undefined ? {} : { readme }),
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return surfaces;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// ---------------------------------------------------------------------------------------------------
|
|
182
|
+
// Visual schema, for a component that draws
|
|
183
|
+
|
|
184
|
+
/** Render a declared value shape as prose an author can act on. */
|
|
185
|
+
export function describeSchema(schema: ValueSchema, indent = ""): string[] {
|
|
186
|
+
const step = `${indent} `;
|
|
187
|
+
switch (schema.kind) {
|
|
188
|
+
case "object": {
|
|
189
|
+
const lines: string[] = [];
|
|
190
|
+
for (const [name, field] of Object.entries(schema.fields)) {
|
|
191
|
+
const inner = describeSchema(field.schema, step);
|
|
192
|
+
lines.push(`${indent}${name}${field.optional === true ? " (optional)" : ""}: ${inner[0]!.trimStart()}`, ...inner.slice(1));
|
|
193
|
+
}
|
|
194
|
+
if (schema.allowUnknown === true) lines.push(`${indent}… further fields are admitted`);
|
|
195
|
+
return lines;
|
|
196
|
+
}
|
|
197
|
+
case "oneOf": {
|
|
198
|
+
const pinned = schema.variants.map((variant) => {
|
|
199
|
+
if (variant.kind !== "object") return undefined;
|
|
200
|
+
const literal = Object.entries(variant.fields).find(([, field]) => field.schema.kind === "literal");
|
|
201
|
+
return literal === undefined ? undefined : String((literal[1].schema as { value: unknown }).value);
|
|
202
|
+
});
|
|
203
|
+
return [pinned.every((value) => value !== undefined) ? `${indent}one of ${pinned.join(", ")}` : `${indent}one of ${schema.variants.length} shapes`];
|
|
204
|
+
}
|
|
205
|
+
case "array": return [`${indent}a list${schema.minItems === undefined ? "" : ` (at least ${schema.minItems})`} of:`, ...describeSchema(schema.items, step)];
|
|
206
|
+
case "string": return [schema.enum !== undefined ? `${indent}one of ${schema.enum.join(", ")}` : `${indent}${schema.minLength === undefined ? "text" : `text, at least ${schema.minLength} characters`}`];
|
|
207
|
+
case "number": {
|
|
208
|
+
const parts = [schema.integer === true ? "a whole number" : "a number"];
|
|
209
|
+
if (schema.minimum !== undefined) parts.push(`at least ${schema.minimum}`);
|
|
210
|
+
if (schema.maximum !== undefined) parts.push(`at most ${schema.maximum}`);
|
|
211
|
+
return [`${indent}${parts.join(", ")}`];
|
|
212
|
+
}
|
|
213
|
+
case "literal": return [`${indent}exactly ${JSON.stringify(schema.value)}`];
|
|
214
|
+
case "boolean": return [`${indent}true or false`];
|
|
215
|
+
case "null": return [`${indent}null`];
|
|
216
|
+
default: return [`${indent}${(schema as { kind: string }).kind}`];
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
const VISUAL_SHAPES: Readonly<Record<string, ValueSchema>> = {
|
|
221
|
+
"visual-track": visualTrackSchema,
|
|
222
|
+
"visual-element": visualElementSchema,
|
|
223
|
+
program: visualProgramSchema,
|
|
224
|
+
box: visualBoxSchema,
|
|
225
|
+
mask: visualMaskSchema,
|
|
226
|
+
text: visualTextSchema,
|
|
227
|
+
image: visualImageSchema,
|
|
228
|
+
video: visualVideoSchema,
|
|
229
|
+
surface: visualSurfaceSchema,
|
|
230
|
+
"text-flow": visualTextFlowSchema,
|
|
231
|
+
"text-typography": visualTextTypographySchema,
|
|
232
|
+
"text-paint": visualTextPaintSchema,
|
|
233
|
+
"text-document": visualTextDocumentSchema,
|
|
234
|
+
"path-command": visualPathCommandSchema,
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
// Each of these is refused somewhere in composition, or follows from how the emitted CSS is written.
|
|
238
|
+
const VISUAL_RULES = [
|
|
239
|
+
"A Present holds exactly one element with no `parent`; every other element names one, and it must be a box, mask or program.",
|
|
240
|
+
"`order` is unique across the whole Present, not among siblings.",
|
|
241
|
+
"A child's position is measured from its parent's box, not from the Canvas.",
|
|
242
|
+
"An animation carries at least two keyframes, and every keyframe of one animation declares the same properties; `atFrame` is Present-relative.",
|
|
243
|
+
"A plain text element provides exact ordered font artifacts and cannot combine them with raw `font`, `font-family`, `font-style`, `font-synthesis` or `font-weight` styles.",
|
|
244
|
+
"A text element using glyph Paint cannot also declare raw stroke or paint-order styles.",
|
|
245
|
+
"A media element's artifact media type must match image/video, and still images cannot carry sampling.",
|
|
246
|
+
"A Surface with still timing cannot carry sampling; frame-based Surface sampling must match its typed timing.",
|
|
247
|
+
"Mask roots must be direct children of one Present and both mask/content references must resolve to owned elements.",
|
|
248
|
+
] as const;
|
|
249
|
+
|
|
250
|
+
export function visualSchema(shape?: string): {
|
|
251
|
+
readonly shapes: readonly { readonly shape: string; readonly describes: string }[];
|
|
252
|
+
readonly animatableLocalStyles: readonly string[];
|
|
253
|
+
readonly styleNames: readonly string[];
|
|
254
|
+
readonly styleEnumValues: typeof VISUAL_STYLE_ENUM_VALUES_V1;
|
|
255
|
+
readonly rules: readonly string[];
|
|
256
|
+
} {
|
|
257
|
+
const asked = shape?.trim();
|
|
258
|
+
assert(asked === undefined || asked.length === 0 || Object.hasOwn(VISUAL_SHAPES, asked), `shape must be one of ${Object.keys(VISUAL_SHAPES).join(", ")}`);
|
|
259
|
+
const chosen = asked === undefined || asked.length === 0 ? Object.keys(VISUAL_SHAPES) : [asked];
|
|
260
|
+
return {
|
|
261
|
+
shapes: chosen.map((name) => ({ shape: name, describes: describeSchema(VISUAL_SHAPES[name]!).join("\n") })),
|
|
262
|
+
animatableLocalStyles: [...animatableLocalStyles],
|
|
263
|
+
styleNames: [...VISUAL_STYLE_NAMES_V1],
|
|
264
|
+
styleEnumValues: VISUAL_STYLE_ENUM_VALUES_V1,
|
|
265
|
+
rules: VISUAL_RULES,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// ---------------------------------------------------------------------------------------------------
|
|
270
|
+
// Command
|
|
271
|
+
|
|
272
|
+
function attributeLine(attribute: SurfaceAttributeVocabulary): string {
|
|
273
|
+
const shape = attribute.values !== undefined ? attribute.values.join(" | ")
|
|
274
|
+
: attribute.accepts !== undefined ? attribute.accepts.map((type) => type.name).join(" | ")
|
|
275
|
+
: attribute.kind;
|
|
276
|
+
return ` ${attribute.name}${attribute.required ? "" : "?"} ${shape} ${attribute.summary}`;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
function moduleSpecifier(surface: SurfaceListing): string {
|
|
280
|
+
return `${surface.module.name}@${surface.module.version}`;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
function sourceImport(surface: SurfaceListing, vocabulary: SurfaceVocabulary): string {
|
|
284
|
+
const prefixedTag = vocabulary.example.match(/<([A-Za-z_][A-Za-z0-9_.-]*):([A-Za-z_][A-Za-z0-9_.-]*)\b/u);
|
|
285
|
+
const alias = prefixedTag?.[2] === surface.tag ? prefixedTag[1] : undefined;
|
|
286
|
+
return alias === undefined
|
|
287
|
+
? `<import from="${moduleSpecifier(surface)}"/>`
|
|
288
|
+
: `<import as="${alias}" from="${moduleSpecifier(surface)}"/>`;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
function portLine(port: SurfacePortVocabulary): string {
|
|
292
|
+
const type = `${port.type.name} (${port.type.module.name}@${port.type.module.version})`;
|
|
293
|
+
return ` ${port.name} ${type} ${port.summary}`;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function surfaceText(surface: SurfaceListing): string {
|
|
297
|
+
const vocabulary = surface.vocabulary as SurfaceVocabulary | undefined;
|
|
298
|
+
const lines = [
|
|
299
|
+
` <${surface.tag}> ${surface.mode}`,
|
|
300
|
+
` package ${surface.package}`,
|
|
301
|
+
` module ${moduleSpecifier(surface)}`,
|
|
302
|
+
];
|
|
303
|
+
if (vocabulary !== undefined) {
|
|
304
|
+
lines.push(` import ${sourceImport(surface, vocabulary)}`);
|
|
305
|
+
lines.push(` ${vocabulary.summary}`);
|
|
306
|
+
if (vocabulary.appearance !== undefined) lines.push(` ${vocabulary.appearance}`);
|
|
307
|
+
if (vocabulary.attributes.length > 0) lines.push(" attributes", ...vocabulary.attributes.map(attributeLine));
|
|
308
|
+
for (const child of vocabulary.children ?? []) {
|
|
309
|
+
lines.push(` child <${child.tag}> (${child.cardinality}) ${child.summary}`, ...(child.attributes ?? []).map(attributeLine));
|
|
310
|
+
}
|
|
311
|
+
if (vocabulary.ports !== undefined && vocabulary.ports.length > 0) {
|
|
312
|
+
lines.push(" ports", ...vocabulary.ports.map(portLine));
|
|
313
|
+
}
|
|
314
|
+
lines.push(" example", ...vocabulary.example.split("\n").map((line) => ` ${line}`));
|
|
315
|
+
for (const note of vocabulary.notes ?? []) lines.push(` note: ${note}`);
|
|
316
|
+
}
|
|
317
|
+
if (surface.readme !== undefined) lines.push(` README ${surface.readme}`);
|
|
318
|
+
return lines.join("\n");
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export function writeVocabularyHelp(io: CliIo): void {
|
|
322
|
+
io.write([
|
|
323
|
+
"hypit vocabulary",
|
|
324
|
+
"What a Source may write. Prints installed package manifests; no Runtime Profile, no request, no state.",
|
|
325
|
+
"",
|
|
326
|
+
" hypit vocabulary every installed package with its tags and models",
|
|
327
|
+
" hypit vocabulary <package…> [--tag <tag>] the Surfaces a package declares: module, import, attributes, children, ports, example",
|
|
328
|
+
" hypit vocabulary --visual [<shape>] the value shapes and rules a drawing Producer must emit",
|
|
329
|
+
"",
|
|
330
|
+
"Read the package README the listing names before writing its elements. Add --json for a machine view.",
|
|
331
|
+
"",
|
|
332
|
+
].join("\n"));
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
export async function runVocabularyCli(argv: readonly string[], io: CliIo, cwd = process.cwd()): Promise<void> {
|
|
336
|
+
const rest = argv.slice(1);
|
|
337
|
+
if (rest.includes("--help")) { writeVocabularyHelp(io); return; }
|
|
338
|
+
const json = rest.includes("--json");
|
|
339
|
+
const words = rest.filter((item) => item !== "--json" && item !== "--debug" && item !== "--verbose" && item !== "--no-color");
|
|
340
|
+
const projectRoot = await nearestPackageRoot(cwd);
|
|
341
|
+
|
|
342
|
+
if (words[0] === "--visual") {
|
|
343
|
+
const shape = words[1];
|
|
344
|
+
assert(words.length <= 2, "hypit vocabulary --visual takes at most one shape name");
|
|
345
|
+
const schema = visualSchema(shape);
|
|
346
|
+
if (json) { io.write(`${JSON.stringify(schema, null, 2)}\n`); return; }
|
|
347
|
+
io.write(`${schema.shapes.map((item) => `${item.shape}\n${item.describes.split("\n").map((line) => ` ${line}`).join("\n")}`).join("\n\n")}\n\n`
|
|
348
|
+
+ `animatable local styles: ${schema.animatableLocalStyles.join(", ")}\nstyle names: ${schema.styleNames.join(", ")}\n\nrules\n${schema.rules.map((rule) => ` ${rule}`).join("\n")}\n`);
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
const tags: string[] = [];
|
|
353
|
+
const packages: string[] = [];
|
|
354
|
+
for (let index = 0; index < words.length; index += 1) {
|
|
355
|
+
const word = words[index]!;
|
|
356
|
+
if (word === "--tag") {
|
|
357
|
+
const value = words[index + 1];
|
|
358
|
+
assert(value !== undefined && !value.startsWith("--"), "--tag requires a value");
|
|
359
|
+
tags.push(value);
|
|
360
|
+
index += 1;
|
|
361
|
+
} else {
|
|
362
|
+
assert(!word.startsWith("--"), `unknown option ${word}`);
|
|
363
|
+
packages.push(word);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
if (packages.length === 0) {
|
|
368
|
+
assert(tags.length === 0, "--tag narrows a named package; name the package first");
|
|
369
|
+
const listing = await listPackages(projectRoot);
|
|
370
|
+
if (json) { io.write(`${JSON.stringify({ projectRoot, packages: listing }, null, 2)}\n`); return; }
|
|
371
|
+
assert(listing.length > 0, `no Hypit packages installed under ${projectRoot} or the Distribution`);
|
|
372
|
+
io.write(`${listing.map((item) => {
|
|
373
|
+
const parts = [item.name];
|
|
374
|
+
if (item.tags.length > 0) parts.push(`tags: ${item.tags.join(", ")}`);
|
|
375
|
+
if (item.models !== undefined) parts.push(`models: ${item.models.join(", ")}`);
|
|
376
|
+
if (item.unreadable !== undefined) parts.push(`unreadable: ${item.unreadable}`);
|
|
377
|
+
return `${parts.join("\n ")}${item.description === undefined ? "" : `\n ${item.description}`}`;
|
|
378
|
+
}).join("\n")}\n`);
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
const surfaces = await listSurfaces(projectRoot, packages, tags.length === 0 ? undefined : tags);
|
|
383
|
+
if (json) { io.write(`${JSON.stringify({ projectRoot, packages, surfaces }, null, 2)}\n`); return; }
|
|
384
|
+
assert(surfaces.length > 0, `${packages.join(", ")} ${packages.length === 1 ? "declares" : "declare"} no Markup Surface${tags.length === 0 ? "" : ` tagged ${tags.join(", ")}`}`);
|
|
385
|
+
io.write(`${surfaces.map(surfaceText).join("\n\n")}\n`);
|
|
386
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# `@hypit/visual-ir`
|
|
2
|
+
|
|
3
|
+
The terminal visual vocabulary includes structural elements and explicit renderer-program payloads.
|
|
4
|
+
HyperFrames renders both structural elements and its browser program format.
|
|
5
|
+
|
|
6
|
+
## Writing a visual program
|
|
7
|
+
|
|
8
|
+
`VISUAL_IR_V1` identifies the supported visual vocabulary. A component emits ordinary Track,
|
|
9
|
+
Present and element data through `@hypit/composition`. The exported constants
|
|
10
|
+
`VISUAL_STYLE_NAMES_V1` and `VISUAL_STYLE_ENUM_VALUES_V1` describe supported CSS-shaped declarations;
|
|
11
|
+
`assertVisualStyleV1` checks an individual property/value pair. Element schemas are exposed by
|
|
12
|
+
`hypit vocabulary --visual <kind>`.
|
|
13
|
+
|
|
14
|
+
Static style values are strings or numbers. Resource-bearing image, video and text elements carry
|
|
15
|
+
their actual artifacts or font references as fields. Parents are local to one Present, and child
|
|
16
|
+
coordinates are relative to their parent.
|
|
17
|
+
|
|
18
|
+
An element may have an `animation` with ordered `keyframes`. Each keyframe has `atFrame`, optional
|
|
19
|
+
`easing`, and `style`. `atFrame` is measured from the containing Present's start. Supported animated
|
|
20
|
+
properties are `opacity`, `transform`, `filter`, `backdrop-filter` and `clip-path`; easing is `linear`, `ease-in`,
|
|
21
|
+
`ease-out` or `ease-in-out`. A renderer can evaluate these values at any requested frame.
|
|
22
|
+
|
|
23
|
+
Video playback uses the element's separate `sampling` map. Its local target intervals select source
|
|
24
|
+
frame positions and rates, with explicit loops or held frames where wanted. Typography can carry
|
|
25
|
+
richer text layout and unit motion through the text-flow/path-text shapes.
|
|
26
|
+
|
|
27
|
+
For prepared pixels from another rendering tool, emit a `surface` element with a typed
|
|
28
|
+
CompositableSurfaceRef. Its resource, geometry, color/alpha and temporal metadata let composition
|
|
29
|
+
place and sample it through the same Track model. Local masks name their owned content and mask
|
|
30
|
+
children. Preparation that transforms another material receives that material as an explicit input.
|
|
31
|
+
|
|
32
|
+
A `program` element carries an explicit format, an object payload and referenced artifacts. The
|
|
33
|
+
rendering package owns that payload's language and execution. It can place owned structural children
|
|
34
|
+
inside a local program, retaining typed media and fonts. For browser HTML/CSS/JavaScript see
|
|
35
|
+
[HyperFrames](../hyperframes/README.md#local-browser-programs). This separates structural convenience
|
|
36
|
+
from the renderer's fuller composition capabilities.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hypit/visual-ir",
|
|
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/protocol": "workspace:*"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from "@hypit/protocol";
|
|
2
|
+
export { assertVisualStyleV1, VISUAL_IR_V1, VISUAL_STYLE_ENUM_VALUES_V1, VISUAL_STYLE_NAMES_V1 } from "./style.js";
|
|
3
|
+
export type * from "./style.js";
|
|
4
|
+
export const visualIrModuleRef = { name: "@hypit/visual-ir", version: "1" } as const;
|
|
5
|
+
export const visualIrManifest: ModuleManifest = { format: "hypit.module@1", name: visualIrModuleRef.name, version: visualIrModuleRef.version,
|
|
6
|
+
dependencies: [], types: [], capabilities: [], producers: [] };
|
|
7
|
+
export const visualIrDependency = { module: visualIrModuleRef } as const;
|