@hypit/hypit 0.1.4 → 0.1.6
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/README.md +4 -2
- package/dist/public/caption.d.ts +206 -183
- package/dist/public/composition.d.ts +25 -3
- package/dist/public/endpoint-kit.d.ts +24 -2
- package/dist/public/generation.d.ts +5 -1
- package/dist/public/hyperframes.d.ts +19 -1
- package/dist/public/narrative.d.ts +17 -3
- package/dist/public/performance.d.ts +1590 -0
- package/dist/public/program-space.d.ts +179 -32
- package/dist/public/runtime-kit.d.ts +21 -8
- package/dist/public/sound.d.ts +822 -0
- package/dist/public/speech.d.ts +41 -0
- package/dist/public/studio-adapter.d.ts +77 -15
- package/dist/public/temporal-markup.d.ts +9 -44
- package/dist/public/temporal.d.ts +37 -28
- package/dist/public/{semantic-track.d.ts → timeline.d.ts} +62 -49
- package/examples/README.md +18 -10
- package/examples/minimal-author-package/packages/example-component/preview/preview.svml +19 -12
- package/examples/minimal-author-package/packages/example-component/src/component.ts +5 -5
- package/examples/minimal-author-package/packages/example-component/src/fragment.ts +3 -5
- package/examples/minimal-author-package/packages/example-component/src/manifest.ts +8 -10
- package/examples/minimal-author-package/packages/example-component/src/surface.ts +2 -2
- package/examples/provider-package/README.md +78 -0
- package/examples/provider-package/hypit.runtime.json +12 -0
- package/examples/provider-package/packages/provider-images/package.json +11 -0
- package/examples/provider-package/packages/provider-images/src/activation.ts +24 -0
- package/examples/provider-package/packages/provider-images/src/provider.ts +122 -0
- package/examples/provider-package/packages/provider-images/tsconfig.json +9 -0
- package/examples/semantic-composition/README.md +8 -1
- package/examples/semantic-composition/chat.svml +6 -5
- package/examples/semantic-composition/hypit.runtime.json +1 -1
- package/examples/semantic-composition/packages/chat-scene/README.md +3 -3
- package/examples/semantic-composition/packages/chat-scene/src/activation.ts +18 -21
- package/examples/semantic-composition/packages/chat-scene/src/render.ts +4 -4
- package/examples/semantic-composition/packages/performance-styles/README.md +42 -0
- package/examples/semantic-composition/packages/performance-styles/package.json +25 -0
- package/examples/semantic-composition/packages/performance-styles/src/activation.ts +57 -0
- package/examples/semantic-composition/packages/performance-styles/src/render.ts +54 -0
- package/examples/semantic-composition/packages/performance-styles/src/studio.ts +28 -0
- package/examples/semantic-composition/packages/performance-styles/tsconfig.json +18 -0
- package/examples/semantic-composition/packages/responsive-explainer/README.md +16 -9
- package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +12 -12
- package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +5 -5
- package/examples/semantic-composition/packages/sound-styles/README.md +36 -0
- package/examples/semantic-composition/packages/sound-styles/package.json +25 -0
- package/examples/semantic-composition/packages/sound-styles/src/activation.ts +53 -0
- package/examples/semantic-composition/packages/sound-styles/src/render.ts +14 -0
- package/examples/semantic-composition/packages/sound-styles/tsconfig.json +18 -0
- package/package.json +35 -15
- package/packages/audio-track/README.md +20 -13
- package/packages/audio-track/package.json +1 -1
- package/packages/audio-track/src/component.ts +4 -4
- package/packages/audio-track/src/fragment.ts +6 -5
- package/packages/audio-track/src/index.ts +1 -1
- package/packages/audio-track/src/manifest.ts +17 -16
- package/packages/audio-track/src/program.ts +21 -25
- package/packages/audio-track/src/surface.ts +19 -18
- package/packages/audio-track-studio/README.md +23 -0
- package/packages/audio-track-studio/src/index.ts +28 -17
- package/packages/author-kit/README.md +1 -1
- package/packages/background-removal/README.md +4 -7
- package/packages/browser-capture/package.json +1 -1
- package/packages/build-result/README.md +11 -0
- package/packages/build-result/src/decode.ts +2 -0
- package/packages/build-result/src/execution-log.ts +17 -0
- package/packages/build-result/src/index.ts +1 -0
- package/packages/build-result/src/store.ts +14 -1
- package/packages/build-result/src/types.ts +3 -0
- package/packages/build-result-s3/src/repository.ts +4 -0
- package/packages/caption/README.md +61 -73
- package/packages/caption/package.json +3 -2
- package/packages/caption/src/activation.ts +2 -2
- package/packages/caption/src/component.ts +20 -5
- package/packages/caption/src/display.ts +3 -18
- package/packages/caption/src/fragment.ts +3 -7
- package/packages/caption/src/index.ts +6 -5
- package/packages/caption/src/manifest.ts +29 -46
- package/packages/caption/src/style.ts +24 -135
- package/packages/caption/src/surface.ts +12 -92
- package/packages/caption/src/temporalize.ts +18 -53
- package/packages/caption/src/types.ts +8 -35
- package/packages/caption/src/visibility.ts +23 -0
- package/packages/caption-fine/README.md +21 -9
- package/packages/caption-fine/package.json +4 -2
- package/packages/caption-fine/src/component.ts +3 -3
- package/packages/caption-fine/src/fragment.ts +7 -19
- package/packages/caption-fine/src/index.ts +2 -0
- package/packages/caption-fine/src/manifest.ts +26 -17
- package/packages/caption-fine/src/recipe.ts +7 -0
- package/packages/caption-fine/src/render.ts +14 -13
- package/packages/caption-fine/src/schedule.ts +39 -35
- package/packages/caption-fine/src/style.ts +10 -9
- package/packages/caption-fine/src/surface.ts +62 -35
- package/packages/caption-fine/src/types.ts +2 -0
- package/packages/caption-fine-studio/README.md +24 -2
- package/packages/caption-fine-studio/package.json +3 -1
- package/packages/caption-fine-studio/src/activation.ts +3 -3
- package/packages/caption-fine-studio/src/index.ts +54 -42
- package/packages/cli/README.md +57 -4
- package/packages/cli/package.json +1 -0
- package/packages/cli/src/arguments.ts +25 -6
- package/packages/cli/src/build-planning.ts +3 -2
- package/packages/cli/src/command.ts +6 -0
- package/packages/cli/src/commands/environment.ts +28 -18
- package/packages/cli/src/commands/execution.ts +81 -26
- package/packages/cli/src/commands/results.ts +7 -11
- package/packages/cli/src/index.ts +2 -2
- package/packages/cli/src/machine-view.ts +3 -2
- package/packages/cli/src/main.ts +34 -42
- package/packages/cli/src/observation.ts +7 -1
- package/packages/cli/src/output.ts +65 -23
- package/packages/cli/src/view.ts +66 -19
- package/packages/comment-sticker/README.md +3 -3
- package/packages/comment-sticker/package.json +1 -1
- package/packages/comment-sticker/src/component.ts +4 -4
- package/packages/comment-sticker/src/fragment.ts +5 -4
- package/packages/comment-sticker/src/manifest.ts +7 -6
- package/packages/comment-sticker/src/program.ts +9 -9
- package/packages/comment-sticker/src/surface.ts +6 -7
- package/packages/composition/README.md +21 -0
- package/packages/composition/src/audio-presentation.ts +44 -0
- package/packages/composition/src/index.ts +3 -0
- package/packages/composition/src/schema.ts +8 -3
- package/packages/composition/src/track.ts +15 -1
- package/packages/credential-store-env/README.md +1 -1
- package/packages/deck-track/README.md +3 -3
- package/packages/deck-track/package.json +1 -1
- package/packages/deck-track/src/component.ts +5 -5
- package/packages/deck-track/src/fragment.ts +6 -5
- package/packages/deck-track/src/lower.ts +12 -12
- package/packages/deck-track/src/manifest.ts +8 -7
- package/packages/deck-track/src/program.ts +13 -16
- package/packages/deck-track/src/surface.ts +9 -10
- package/packages/driver-node/src/driver.ts +41 -3
- package/packages/elevenlabs-speech/README.md +27 -0
- package/packages/{provider-xiaomi-mimo → elevenlabs-speech}/package.json +5 -8
- package/packages/elevenlabs-speech/src/activation.ts +26 -0
- package/packages/elevenlabs-speech/src/fragment.ts +11 -0
- package/packages/elevenlabs-speech/src/index.ts +111 -0
- package/packages/elevenlabs-speech/src/surface.ts +167 -0
- package/packages/endpoint-kit/README.md +24 -0
- package/packages/endpoint-kit/src/index.ts +7 -1
- package/packages/film/README.md +12 -7
- package/packages/film/package.json +1 -1
- package/packages/film/src/component.ts +4 -4
- package/packages/film/src/fragment.ts +6 -5
- package/packages/film/src/manifest.ts +11 -10
- package/packages/film/src/program.ts +5 -5
- package/packages/film/src/recipe.ts +2 -1
- package/packages/film/src/surface.ts +10 -7
- package/packages/film-studio/package.json +1 -1
- package/packages/film-studio/src/index.ts +2 -2
- package/packages/fishaudio-speech/README.md +33 -0
- package/packages/fishaudio-speech/package.json +21 -0
- package/packages/fishaudio-speech/src/activation.ts +32 -0
- package/packages/fishaudio-speech/src/fragment.ts +11 -0
- package/packages/fishaudio-speech/src/index.ts +156 -0
- package/packages/fishaudio-speech/src/surface.ts +192 -0
- package/packages/generation/README.md +11 -1
- package/packages/generation/src/mapping.ts +28 -30
- package/packages/gpt-image/README.md +1 -2
- package/packages/grok-imagine/README.md +1 -2
- package/packages/hyperframes/README.md +7 -3
- package/packages/hyperframes/src/browser-program.ts +11 -2
- package/packages/hyperframes/src/document.ts +15 -2
- package/packages/interview-emoji-reveal/README.md +4 -4
- package/packages/interview-emoji-reveal/package.json +1 -1
- package/packages/interview-emoji-reveal/src/component.ts +4 -4
- package/packages/interview-emoji-reveal/src/fragment.ts +6 -5
- package/packages/interview-emoji-reveal/src/manifest.ts +9 -8
- package/packages/interview-emoji-reveal/src/program.ts +14 -14
- package/packages/interview-emoji-reveal/src/surface.ts +8 -9
- package/packages/media-execution/README.md +7 -3
- package/packages/media-execution/src/audio-presentation.ts +23 -0
- package/packages/media-execution/src/execute.ts +2 -0
- package/packages/media-pipeline/README.md +7 -3
- package/packages/media-pipeline/src/audio-plan.ts +4 -1
- package/packages/media-pipeline/src/component.ts +16 -2
- package/packages/media-pipeline/src/manifest.ts +3 -1
- package/packages/media-pipeline/src/types.ts +2 -1
- package/packages/media-track/README.md +14 -47
- package/packages/media-track/package.json +1 -1
- package/packages/media-track/preview/preview.svml +5 -5
- package/packages/media-track/src/author.ts +12 -6
- package/packages/media-track/src/component.ts +10 -16
- package/packages/media-track/src/fragment.ts +8 -7
- package/packages/media-track/src/index.ts +3 -1
- package/packages/media-track/src/lower.ts +7 -7
- package/packages/media-track/src/manifest.ts +16 -38
- package/packages/media-track/src/program.ts +62 -67
- package/packages/media-track/src/sampling.ts +6 -6
- package/packages/media-track/src/sequence.ts +8 -8
- package/packages/media-track/src/surface.ts +25 -43
- package/packages/media-track-studio/README.md +9 -0
- package/packages/media-track-studio/src/index.ts +16 -11
- package/packages/mimo-speech/README.md +1 -1
- package/packages/minimax-h3/README.md +1 -1
- package/packages/nano-banana/README.md +1 -1
- package/packages/narrative/README.md +23 -1
- package/packages/narrative/src/identity.ts +11 -0
- package/packages/narrative/src/index.ts +3 -0
- package/packages/narrative/src/schema.ts +28 -27
- package/packages/narrative/src/selection.ts +52 -0
- package/packages/narrative/src/types.ts +2 -0
- package/packages/package-loader-node/README.md +30 -0
- package/packages/package-loader-node/package.json +5 -2
- package/packages/package-loader-node/src/distribution-resolution.ts +10 -3
- package/packages/package-loader-node/src/index.ts +1 -0
- package/packages/package-loader-node/src/loader.ts +12 -15
- package/packages/package-loader-node/src/location.ts +27 -1
- package/packages/package-loader-node/src/module-scope.ts +183 -0
- package/packages/package-loader-node/src/types.ts +4 -0
- package/packages/performance/README.md +83 -0
- package/packages/performance/package.json +30 -0
- package/packages/performance/src/activation.ts +11 -0
- package/packages/performance/src/component.ts +46 -0
- package/packages/performance/src/index.ts +6 -0
- package/packages/performance/src/manifest.ts +53 -0
- package/packages/{media-track/src/performance.ts → performance/src/media.ts} +9 -10
- package/packages/performance/src/program.ts +51 -0
- package/packages/performance/src/style.ts +35 -0
- package/packages/performance/src/surface.ts +99 -0
- package/packages/performance-studio/README.md +25 -0
- package/packages/performance-studio/package.json +21 -0
- package/packages/performance-studio/src/activation.ts +6 -0
- package/packages/performance-studio/src/index.ts +84 -0
- package/packages/program-space/README.md +9 -18
- package/packages/program-space/src/activation.ts +1 -5
- package/packages/program-space/src/index.ts +2 -11
- package/packages/program-space/src/surface.ts +1 -20
- package/packages/project-context-node/README.md +20 -0
- package/packages/project-context-node/package.json +10 -0
- package/packages/project-context-node/src/index.ts +3 -0
- package/packages/{cli → project-context-node}/src/runtime-selection.ts +7 -2
- package/packages/provider-hyperframes-local/README.md +43 -15
- package/packages/provider-hyperframes-local/src/activation.ts +4 -3
- package/packages/provider-hyperframes-local/src/capture-process.ts +26 -4
- package/packages/provider-hyperframes-local/src/capture.ts +96 -26
- package/packages/provider-hyperframes-local/src/concurrency.ts +86 -0
- package/packages/provider-hyperframes-local/src/opaque-capture.ts +92 -0
- package/packages/provider-hyperframes-local/src/options.ts +2 -0
- package/packages/provider-hyperframes-local/src/program.ts +6 -3
- package/packages/provider-hyperframes-local/src/progress.ts +53 -0
- package/packages/provider-hyperframes-local/src/provider.ts +18 -5
- package/packages/provider-hyperframes-local/src/render.ts +48 -7
- package/packages/provider-hypihub/README.md +48 -17
- package/packages/provider-hypihub/package.json +2 -0
- package/packages/provider-hypihub/src/mapping.ts +31 -7
- package/packages/provider-hypihub/src/oauth.ts +6 -0
- package/packages/provider-hypihub/src/provider.ts +25 -13
- package/packages/provider-hypihub/src/routes.ts +1 -2
- package/packages/provider-hypihub/src/upload.ts +2 -0
- package/packages/provider-media-local/README.md +3 -4
- package/packages/provider-whisperx-local/src/program.ts +1 -0
- package/packages/provider-whisperx-local/src/provider.ts +3 -0
- package/packages/ranking/README.md +8 -6
- package/packages/ranking/package.json +1 -1
- package/packages/ranking/src/component.ts +6 -6
- package/packages/ranking/src/fragment.ts +11 -7
- package/packages/ranking/src/manifest.ts +21 -14
- package/packages/ranking/src/render.ts +22 -26
- package/packages/ranking/src/schedule.ts +16 -19
- package/packages/ranking/src/surface.ts +12 -13
- package/packages/ranking-studio/README.md +18 -0
- package/packages/ranking-studio/src/index.ts +61 -9
- package/packages/render-hyperframes/README.md +7 -7
- package/packages/render-hyperframes/package.json +1 -1
- package/packages/render-hyperframes/src/component.ts +11 -1
- package/packages/render-hyperframes/src/fragment.ts +7 -4
- package/packages/render-hyperframes/src/manifest.ts +4 -4
- package/packages/render-hyperframes/src/surface.ts +6 -6
- package/packages/runtime/README.md +8 -1
- package/packages/runtime/src/execution.ts +15 -4
- package/packages/runtime/src/index.ts +2 -1
- package/packages/runtime/src/log.ts +51 -0
- package/packages/runtime/src/types.ts +5 -8
- package/packages/runtime-host-node/README.md +30 -0
- package/packages/runtime-host-node/package.json +1 -0
- package/packages/runtime-host-node/src/index.ts +24 -9
- package/packages/runtime-host-node/src/packages.ts +47 -50
- package/packages/runtime-kit/README.md +5 -0
- package/packages/runtime-kit/src/index.ts +3 -1
- package/packages/runtime-local/README.md +109 -4
- package/packages/runtime-local/src/config.ts +202 -56
- package/packages/runtime-local/src/control.ts +9 -1
- package/packages/runtime-local/src/executor.ts +66 -0
- package/packages/runtime-local/src/host.ts +37 -17
- package/packages/runtime-local/src/log.ts +48 -0
- package/packages/runtime-local/src/programs.ts +2 -1
- package/packages/runtime-local/src/result-writer.ts +2 -0
- package/packages/runtime-local/src/runtime.ts +8 -6
- package/packages/runtime-local/src/supervisor.ts +142 -0
- package/packages/runtime-local/src/types.ts +9 -2
- package/packages/runtime-local/src/worker-process.ts +7 -24
- package/packages/runtime-local/src/worker.ts +55 -83
- package/packages/screen-overlay/README.md +3 -3
- package/packages/screen-overlay/package.json +1 -1
- package/packages/screen-overlay/src/component.ts +3 -3
- package/packages/screen-overlay/src/fragment.ts +5 -4
- package/packages/screen-overlay/src/manifest.ts +7 -6
- package/packages/screen-overlay/src/program.ts +9 -9
- package/packages/screen-overlay/src/surface.ts +6 -7
- package/packages/script/README.md +30 -5
- package/packages/script/src/manifest.ts +4 -3
- package/packages/script/src/narrative.ts +1 -0
- package/packages/script/src/parser.ts +45 -6
- package/packages/script/src/surface.ts +4 -3
- package/packages/script/src/types.ts +1 -1
- package/packages/script-studio/package.json +9 -3
- package/packages/script-studio/src/index.ts +2 -0
- package/packages/script-studio/src/projection.ts +105 -0
- package/packages/seedance/README.md +30 -1
- package/packages/seedance/src/index.ts +18 -7
- package/packages/seedance/src/surface.ts +17 -4
- package/packages/seedance-kits/README.md +7 -1
- package/packages/seedream/README.md +1 -1
- package/packages/sound/README.md +81 -0
- package/packages/sound/package.json +25 -0
- package/packages/sound/src/activation.ts +11 -0
- package/packages/sound/src/component.ts +28 -0
- package/packages/sound/src/index.ts +5 -0
- package/packages/sound/src/manifest.ts +47 -0
- package/packages/sound/src/program.ts +84 -0
- package/packages/sound/src/style.ts +34 -0
- package/packages/sound/src/surface.ts +90 -0
- package/packages/sound-studio/README.md +22 -0
- package/packages/sound-studio/package.json +20 -0
- package/packages/sound-studio/src/activation.ts +6 -0
- package/packages/sound-studio/src/index.ts +74 -0
- package/packages/speech/README.md +2 -2
- package/packages/speech-alignment/src/local.ts +8 -0
- package/packages/speech-alignment/src/locate.ts +1 -1
- package/packages/store-sqlite/README.md +7 -0
- package/packages/store-sqlite/src/store.ts +84 -83
- package/packages/studio/INSPECTOR.md +15 -2
- package/packages/studio/LOCALIZATION.md +98 -0
- package/packages/studio/README.md +101 -14
- package/packages/studio/locales/en.json +197 -0
- package/packages/studio/locales/zh-CN.json +191 -0
- package/packages/studio/package.json +8 -7
- package/packages/studio/src/companion-assembly.ts +1 -0
- package/packages/studio/src/domain.ts +1 -1
- package/packages/studio/src/fallback-companions.ts +3 -3
- package/packages/studio/src/feedback-server.ts +51 -0
- package/packages/studio/src/feedback-store.ts +66 -0
- package/packages/studio/src/feedback.ts +60 -0
- package/packages/studio/src/localization-node.ts +46 -0
- package/packages/studio/src/localization.ts +85 -0
- package/packages/studio/src/parameter-values.ts +43 -1
- package/packages/studio/src/parameters.ts +114 -24
- package/packages/studio/src/preview/render.ts +5 -1
- package/packages/studio/src/preview/runtime-shim.ts +49 -3
- package/packages/studio/src/programme.ts +14 -30
- package/packages/studio/src/server.ts +10 -6
- package/packages/studio/src/shared.ts +4 -2
- package/packages/studio/src/snapshot.ts +21 -132
- package/packages/studio/src/studio-preflight.ts +3 -3
- package/packages/studio/src/studio-registry.ts +50 -6
- package/packages/studio/src/style.css +223 -50
- package/packages/studio/src/ui/artifact-name.ts +8 -6
- package/packages/studio/src/ui/artifact-preview.ts +5 -4
- package/packages/studio/src/ui/code.ts +17 -16
- package/packages/studio/src/ui/comments.ts +234 -0
- package/packages/studio/src/ui/dropdown.ts +68 -0
- package/packages/studio/src/ui/i18n.ts +109 -0
- package/packages/studio/src/ui/icons.ts +6 -0
- package/packages/studio/src/ui/library.ts +76 -65
- package/packages/studio/src/ui/main.ts +223 -211
- package/packages/studio/src/ui/overlay.ts +12 -8
- package/packages/studio/src/ui/scrub-preview.ts +110 -0
- package/packages/studio/src/ui/stage.ts +93 -29
- package/packages/studio/src/ui/timeline.ts +190 -118
- package/packages/studio/start.ts +41 -22
- package/packages/studio-adapter/README.md +130 -11
- package/packages/studio-adapter/src/index.ts +100 -13
- package/packages/temporal/README.md +6 -6
- package/packages/temporal/package.json +1 -1
- package/packages/temporal/src/component.ts +5 -6
- package/packages/temporal/src/index.ts +8 -6
- package/packages/temporal/src/location.ts +11 -11
- package/packages/temporal/src/projection.ts +19 -19
- package/packages/temporal/src/rational.ts +4 -4
- package/packages/temporal-markup/EDITING.md +2 -2
- package/packages/temporal-markup/README.md +27 -11
- package/packages/temporal-markup/package.json +1 -1
- package/packages/temporal-markup/src/index.ts +20 -25
- package/packages/temporal-markup/src/space.ts +10 -41
- package/packages/timeline/README.md +31 -0
- package/packages/{semantic-track → timeline}/package.json +1 -1
- package/packages/timeline/src/activation.ts +8 -0
- package/packages/timeline/src/component.ts +24 -0
- package/packages/timeline/src/identity.ts +60 -0
- package/packages/timeline/src/index.ts +6 -0
- package/packages/{semantic-track → timeline}/src/location.ts +20 -20
- package/packages/timeline/src/manifest.ts +39 -0
- package/packages/{semantic-track → timeline}/src/projection.ts +14 -14
- package/packages/timeline/src/types.ts +24 -0
- package/packages/timeline-author/README.md +68 -0
- package/packages/{speech-track → timeline-author}/package.json +6 -4
- package/packages/timeline-author/src/activation.ts +22 -0
- package/packages/{speech-track → timeline-author}/src/component.ts +15 -13
- package/packages/{speech-track → timeline-author}/src/fragment.ts +14 -23
- package/packages/timeline-author/src/index.ts +7 -0
- package/packages/timeline-author/src/manifest.ts +78 -0
- package/packages/timeline-author/src/program.ts +107 -0
- package/packages/timeline-author/src/surface.ts +46 -0
- package/packages/timeline-author/src/types.ts +6 -0
- package/packages/typography-track/README.md +4 -4
- package/packages/typography-track/package.json +1 -1
- package/packages/typography-track/src/component.ts +4 -4
- package/packages/typography-track/src/fragment.ts +4 -3
- package/packages/typography-track/src/manifest.ts +11 -9
- package/packages/typography-track/src/program.ts +15 -15
- package/packages/typography-track/src/surface.ts +17 -18
- package/packages/video-cli/README.md +4 -1
- package/packages/video-cli/package.json +2 -1
- package/packages/video-cli/src/creation.ts +14 -4
- package/packages/video-cli/src/index.ts +1 -1
- package/packages/video-cli/src/studio-distribution.ts +2 -1
- package/packages/volcengine-matting/README.md +3 -3
- package/packages/whisperx/README.md +1 -1
- package/services/whisperx/README.md +14 -0
- package/services/whisperx/pyproject.toml +2 -0
- package/services/whisperx/uv.lock +20 -20
- package/packages/provider-hyperframes-aws-lambda/README.md +0 -30
- package/packages/provider-hyperframes-aws-lambda/package.json +0 -30
- package/packages/provider-hyperframes-aws-lambda/src/activation.ts +0 -97
- package/packages/provider-hyperframes-aws-lambda/src/client.ts +0 -114
- package/packages/provider-hyperframes-aws-lambda/src/index.ts +0 -21
- package/packages/provider-hyperframes-aws-lambda/src/provider.ts +0 -522
- package/packages/provider-kie/README.md +0 -134
- package/packages/provider-kie/package.json +0 -43
- package/packages/provider-kie/src/activation.ts +0 -71
- package/packages/provider-kie/src/index.ts +0 -10
- package/packages/provider-kie/src/mapping.ts +0 -182
- package/packages/provider-kie/src/provider.ts +0 -657
- package/packages/provider-kie/src/routes.ts +0 -150
- package/packages/provider-xiaomi-mimo/README.md +0 -32
- package/packages/provider-xiaomi-mimo/src/activation.ts +0 -57
- package/packages/provider-xiaomi-mimo/src/index.ts +0 -5
- package/packages/provider-xiaomi-mimo/src/provider.ts +0 -214
- package/packages/runtime/src/environment.ts +0 -6
- package/packages/semantic-track/README.md +0 -21
- package/packages/semantic-track/src/activation.ts +0 -8
- package/packages/semantic-track/src/component.ts +0 -24
- package/packages/semantic-track/src/identity.ts +0 -58
- package/packages/semantic-track/src/index.ts +0 -6
- package/packages/semantic-track/src/manifest.ts +0 -38
- package/packages/semantic-track/src/types.ts +0 -26
- package/packages/speech-track/README.md +0 -51
- package/packages/speech-track/src/activation.ts +0 -19
- package/packages/speech-track/src/index.ts +0 -7
- package/packages/speech-track/src/manifest.ts +0 -73
- package/packages/speech-track/src/program.ts +0 -64
- package/packages/speech-track/src/surface.ts +0 -35
- package/packages/speech-track/src/types.ts +0 -6
- package/packages/speech-track-studio/README.md +0 -3
- package/packages/speech-track-studio/package.json +0 -14
- package/packages/speech-track-studio/src/activation.ts +0 -7
- package/packages/speech-track-studio/src/index.ts +0 -40
- /package/packages/{cli → project-context-node}/src/project-context.ts +0 -0
- /package/packages/{speech-track → timeline-author}/preview/Track.png +0 -0
|
@@ -0,0 +1,822 @@
|
|
|
1
|
+
/** Opaque identity for one admitted byte resource. Equal bytes may have different identities. */
|
|
2
|
+
type ResourceId = `res_${string}`;
|
|
3
|
+
type RecordId = string;
|
|
4
|
+
type LogicalOutputId = string;
|
|
5
|
+
type NeedId = string;
|
|
6
|
+
type StepId = string;
|
|
7
|
+
type CommandId = string;
|
|
8
|
+
type ModuleRef = {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly version: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* A Type is its owning Module and its name, and nothing else is compared. Two Types whose values
|
|
14
|
+
* carry identical shapes are distinct, so one is refused where the other is declared — there is no
|
|
15
|
+
* structural fallback to fall back to.
|
|
16
|
+
*/
|
|
17
|
+
type TypeRef = {
|
|
18
|
+
readonly module: ModuleRef;
|
|
19
|
+
readonly name: string;
|
|
20
|
+
};
|
|
21
|
+
type ProducerRef = {
|
|
22
|
+
readonly module: ModuleRef;
|
|
23
|
+
readonly name: string;
|
|
24
|
+
};
|
|
25
|
+
type CapabilityRef = {
|
|
26
|
+
readonly module: ModuleRef;
|
|
27
|
+
readonly name: string;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
type CanonicalValue = null | boolean | number | string | readonly CanonicalValue[] | {
|
|
31
|
+
readonly [key: string]: CanonicalValue;
|
|
32
|
+
};
|
|
33
|
+
type BlobRef = {
|
|
34
|
+
readonly kind: "blob";
|
|
35
|
+
/** One admitted resource instance. Equal bytes admitted twice keep distinct identities. */
|
|
36
|
+
readonly resource: ResourceId;
|
|
37
|
+
readonly size: number;
|
|
38
|
+
readonly mediaType: string;
|
|
39
|
+
};
|
|
40
|
+
type StoredValue = {
|
|
41
|
+
readonly kind: "inline";
|
|
42
|
+
readonly value: CanonicalValue;
|
|
43
|
+
} | BlobRef;
|
|
44
|
+
type ValueSchema = {
|
|
45
|
+
readonly kind: "null";
|
|
46
|
+
} | {
|
|
47
|
+
readonly kind: "boolean";
|
|
48
|
+
} | {
|
|
49
|
+
readonly kind: "number";
|
|
50
|
+
readonly integer?: boolean;
|
|
51
|
+
readonly minimum?: number;
|
|
52
|
+
readonly maximum?: number;
|
|
53
|
+
} | {
|
|
54
|
+
readonly kind: "string";
|
|
55
|
+
readonly enum?: readonly string[];
|
|
56
|
+
readonly minLength?: number;
|
|
57
|
+
readonly maxLength?: number;
|
|
58
|
+
/** UI-neutral semantic format shared by authoring, validation and tools. */
|
|
59
|
+
readonly format?: "color";
|
|
60
|
+
} | {
|
|
61
|
+
readonly kind: "literal";
|
|
62
|
+
readonly value: CanonicalValue;
|
|
63
|
+
} | {
|
|
64
|
+
readonly kind: "array";
|
|
65
|
+
readonly items: ValueSchema;
|
|
66
|
+
readonly minItems?: number;
|
|
67
|
+
readonly maxItems?: number;
|
|
68
|
+
} | {
|
|
69
|
+
readonly kind: "object";
|
|
70
|
+
readonly fields: Readonly<Record<string, ObjectFieldSchema>>;
|
|
71
|
+
readonly allowUnknown?: boolean;
|
|
72
|
+
} | {
|
|
73
|
+
readonly kind: "oneOf";
|
|
74
|
+
readonly variants: readonly ValueSchema[];
|
|
75
|
+
} | {
|
|
76
|
+
readonly kind: "blob";
|
|
77
|
+
readonly mediaTypes?: readonly string[];
|
|
78
|
+
readonly maxBytes?: number;
|
|
79
|
+
};
|
|
80
|
+
type ObjectFieldSchema = {
|
|
81
|
+
readonly schema: ValueSchema;
|
|
82
|
+
readonly optional?: boolean;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
type ModuleDependency = {
|
|
86
|
+
readonly module: ModuleRef;
|
|
87
|
+
};
|
|
88
|
+
type TypeDeclaration = {
|
|
89
|
+
readonly name: string;
|
|
90
|
+
};
|
|
91
|
+
type PortDeclaration = {
|
|
92
|
+
readonly name: string;
|
|
93
|
+
readonly type: TypeRef;
|
|
94
|
+
};
|
|
95
|
+
type NeedPortDeclaration = {
|
|
96
|
+
readonly name: string;
|
|
97
|
+
readonly capability: CapabilityRef;
|
|
98
|
+
readonly returns: TypeRef;
|
|
99
|
+
};
|
|
100
|
+
type CapabilityDeclaration = {
|
|
101
|
+
readonly name: string;
|
|
102
|
+
readonly returns: TypeRef;
|
|
103
|
+
};
|
|
104
|
+
type ProducerDeclaration = {
|
|
105
|
+
readonly name: string;
|
|
106
|
+
readonly inputs: readonly PortDeclaration[];
|
|
107
|
+
readonly outputs: readonly PortDeclaration[];
|
|
108
|
+
readonly needs: readonly NeedPortDeclaration[];
|
|
109
|
+
};
|
|
110
|
+
type ModuleManifest = {
|
|
111
|
+
readonly format: "hypit.module@1";
|
|
112
|
+
readonly name: string;
|
|
113
|
+
readonly version: string;
|
|
114
|
+
readonly dependencies: readonly ModuleDependency[];
|
|
115
|
+
readonly types: readonly TypeDeclaration[];
|
|
116
|
+
readonly capabilities: readonly CapabilityDeclaration[];
|
|
117
|
+
readonly producers: readonly ProducerDeclaration[];
|
|
118
|
+
};
|
|
119
|
+
type ResolvedModule = {
|
|
120
|
+
readonly manifest: ModuleManifest;
|
|
121
|
+
};
|
|
122
|
+
type ResolvedModuleClosure = {
|
|
123
|
+
readonly format: "hypit.closure@1";
|
|
124
|
+
readonly modules: readonly ResolvedModule[];
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
type SourceRange = {
|
|
128
|
+
readonly start: number;
|
|
129
|
+
readonly end: number;
|
|
130
|
+
};
|
|
131
|
+
/** One typed value in the graph; semantic validation happens at the Host admission boundary. */
|
|
132
|
+
type TypedRecord = {
|
|
133
|
+
readonly id: RecordId;
|
|
134
|
+
readonly type: TypeRef;
|
|
135
|
+
readonly value: StoredValue;
|
|
136
|
+
};
|
|
137
|
+
type Need = {
|
|
138
|
+
readonly id: NeedId;
|
|
139
|
+
readonly capability: CapabilityRef;
|
|
140
|
+
readonly returns: TypeRef;
|
|
141
|
+
readonly constraints: CanonicalValue;
|
|
142
|
+
readonly result: RecordId;
|
|
143
|
+
};
|
|
144
|
+
type NeedBinding = {
|
|
145
|
+
readonly id: NeedId;
|
|
146
|
+
readonly result: RecordId;
|
|
147
|
+
};
|
|
148
|
+
type BuildTarget = {
|
|
149
|
+
readonly output: LogicalOutputId;
|
|
150
|
+
};
|
|
151
|
+
type BuildOutputBinding = {
|
|
152
|
+
readonly output: LogicalOutputId;
|
|
153
|
+
readonly record: RecordId;
|
|
154
|
+
readonly type: TypeRef;
|
|
155
|
+
};
|
|
156
|
+
type ProducerStep = {
|
|
157
|
+
readonly id: StepId;
|
|
158
|
+
readonly producer: ProducerRef;
|
|
159
|
+
readonly inputs: Readonly<Record<string, RecordId>>;
|
|
160
|
+
readonly outputs: Readonly<Record<string, RecordId>>;
|
|
161
|
+
readonly needs: Readonly<Record<string, NeedBinding>>;
|
|
162
|
+
};
|
|
163
|
+
type BuildGoal = {
|
|
164
|
+
readonly record: RecordId;
|
|
165
|
+
readonly type: TypeRef;
|
|
166
|
+
};
|
|
167
|
+
type BuildPlan = {
|
|
168
|
+
readonly format: "hypit.plan@1";
|
|
169
|
+
readonly steps: readonly ProducerStep[];
|
|
170
|
+
readonly goals: readonly BuildGoal[];
|
|
171
|
+
/** Every Logical Output reached by the selected execution, independent of how it was supplied. */
|
|
172
|
+
readonly outputBindings: readonly BuildOutputBinding[];
|
|
173
|
+
};
|
|
174
|
+
type LinkedProgram = {
|
|
175
|
+
readonly closure: ResolvedModuleClosure;
|
|
176
|
+
readonly records: readonly TypedRecord[];
|
|
177
|
+
};
|
|
178
|
+
type StepState = {
|
|
179
|
+
readonly id: StepId;
|
|
180
|
+
readonly status: "pending" | "complete";
|
|
181
|
+
};
|
|
182
|
+
type InvokeProducerCommand = {
|
|
183
|
+
readonly kind: "invoke-producer";
|
|
184
|
+
readonly id: CommandId;
|
|
185
|
+
readonly step: StepId;
|
|
186
|
+
readonly producer: ProducerRef;
|
|
187
|
+
readonly inputs: Readonly<Record<string, RecordId>>;
|
|
188
|
+
};
|
|
189
|
+
type FulfillNeedCommand = {
|
|
190
|
+
readonly kind: "fulfill-need";
|
|
191
|
+
readonly id: CommandId;
|
|
192
|
+
readonly need: Need;
|
|
193
|
+
};
|
|
194
|
+
type CoreCommand = InvokeProducerCommand | FulfillNeedCommand;
|
|
195
|
+
type BuildDiagnostic = {
|
|
196
|
+
readonly code: string;
|
|
197
|
+
readonly message: string;
|
|
198
|
+
readonly subject?: string;
|
|
199
|
+
};
|
|
200
|
+
/** Materialized read/execution view. Durable Stores persist Definition + Facts, never this object. */
|
|
201
|
+
type BuildState = {
|
|
202
|
+
readonly format: "hypit.build@1";
|
|
203
|
+
readonly program: LinkedProgram;
|
|
204
|
+
readonly plan: BuildPlan;
|
|
205
|
+
readonly targets: readonly BuildTarget[];
|
|
206
|
+
readonly status: "active" | "complete" | "failed";
|
|
207
|
+
readonly records: readonly TypedRecord[];
|
|
208
|
+
readonly steps: readonly StepState[];
|
|
209
|
+
readonly needs: readonly Need[];
|
|
210
|
+
readonly outstanding: readonly CoreCommand[];
|
|
211
|
+
readonly diagnostics: readonly BuildDiagnostic[];
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
type FragmentInputRef = {
|
|
215
|
+
readonly kind: "fragment-input";
|
|
216
|
+
readonly name: string;
|
|
217
|
+
};
|
|
218
|
+
type FragmentOperationRef = {
|
|
219
|
+
readonly kind: "fragment-operation";
|
|
220
|
+
readonly operation: string;
|
|
221
|
+
};
|
|
222
|
+
type FragmentValueRef = FragmentInputRef | FragmentOperationRef;
|
|
223
|
+
type FragmentOperationResult = {
|
|
224
|
+
readonly kind: "output";
|
|
225
|
+
readonly name: string;
|
|
226
|
+
} | {
|
|
227
|
+
readonly kind: "need";
|
|
228
|
+
readonly name: string;
|
|
229
|
+
};
|
|
230
|
+
type FragmentOperation = {
|
|
231
|
+
readonly id: string;
|
|
232
|
+
readonly producer: ProducerRef;
|
|
233
|
+
readonly inputs: Readonly<Record<string, FragmentValueRef>>;
|
|
234
|
+
readonly result: FragmentOperationResult;
|
|
235
|
+
};
|
|
236
|
+
type FragmentExport = {
|
|
237
|
+
readonly name: string;
|
|
238
|
+
readonly type: TypeRef;
|
|
239
|
+
readonly root: FragmentOperationRef;
|
|
240
|
+
};
|
|
241
|
+
type GraphFragment = {
|
|
242
|
+
readonly format: "hypit.fragment@1";
|
|
243
|
+
readonly id: string;
|
|
244
|
+
readonly inputs: readonly {
|
|
245
|
+
readonly name: string;
|
|
246
|
+
readonly type: TypeRef;
|
|
247
|
+
}[];
|
|
248
|
+
readonly operations: readonly FragmentOperation[];
|
|
249
|
+
readonly exports: readonly FragmentExport[];
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
/** A reference to an authored fact that already exists in the Linked Program. */
|
|
253
|
+
type AuthorRecordRef = {
|
|
254
|
+
readonly kind: "record";
|
|
255
|
+
readonly id: string;
|
|
256
|
+
};
|
|
257
|
+
/** A symbolic reference to one public export of another component instance. */
|
|
258
|
+
type AuthorComponentOutputRef = {
|
|
259
|
+
readonly kind: "component-output";
|
|
260
|
+
readonly component: string;
|
|
261
|
+
readonly output: string;
|
|
262
|
+
};
|
|
263
|
+
type AuthorValueRef = AuthorRecordRef | AuthorComponentOutputRef;
|
|
264
|
+
/**
|
|
265
|
+
* One author-visible component call. `outputs` binds every public Fragment export to a Logical Output.
|
|
266
|
+
*/
|
|
267
|
+
type AuthorComponent = {
|
|
268
|
+
readonly id: string;
|
|
269
|
+
readonly fragment: string;
|
|
270
|
+
readonly inputs: Readonly<Record<string, AuthorValueRef>>;
|
|
271
|
+
readonly outputs: Readonly<Record<string, string>>;
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
type SourceAssetRequest = {
|
|
275
|
+
readonly from: string;
|
|
276
|
+
readonly mediaType: string;
|
|
277
|
+
/** Package-owned bytes admitted by the compiler before a Workspace is consulted. */
|
|
278
|
+
readonly bytes?: Uint8Array;
|
|
279
|
+
readonly range?: SourceRange;
|
|
280
|
+
};
|
|
281
|
+
type ResolvedSourceAsset = {
|
|
282
|
+
readonly artifact: BlobRef;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
/** A semantic source dependency requested by a Frontend or package-owned Surface. */
|
|
286
|
+
type AuthorSourceAssetRequest = SourceAssetRequest;
|
|
287
|
+
type ResolvedAuthorSourceAsset = ResolvedSourceAsset;
|
|
288
|
+
/**
|
|
289
|
+
* One author-visible identity whose uniqueness is part of a domain's public
|
|
290
|
+
* contract. The Frontend only carries the declaration; the owning Surface
|
|
291
|
+
* chooses the Type namespace and the Source closure enforces it generically.
|
|
292
|
+
*/
|
|
293
|
+
type AuthorSourceIdentity = {
|
|
294
|
+
readonly namespace: TypeRef;
|
|
295
|
+
readonly id: string;
|
|
296
|
+
};
|
|
297
|
+
type Awaitable$1<T> = T | Promise<T>;
|
|
298
|
+
|
|
299
|
+
type MarkupReference = {
|
|
300
|
+
readonly kind: "reference";
|
|
301
|
+
readonly path: string;
|
|
302
|
+
};
|
|
303
|
+
type MarkupAttributeValue = string | MarkupReference;
|
|
304
|
+
type StructuredText = {
|
|
305
|
+
readonly kind: "text";
|
|
306
|
+
readonly value: string;
|
|
307
|
+
readonly range: SourceRange;
|
|
308
|
+
};
|
|
309
|
+
type StructuredElement = {
|
|
310
|
+
readonly kind: "element";
|
|
311
|
+
readonly name: string;
|
|
312
|
+
readonly attributes: Readonly<Record<string, MarkupAttributeValue>>;
|
|
313
|
+
/** Exact ranges of literal/reference values in the opening tag. */
|
|
314
|
+
readonly attributeValueRanges?: Readonly<Record<string, SourceRange>>;
|
|
315
|
+
readonly children: readonly StructuredNode[];
|
|
316
|
+
readonly range: SourceRange;
|
|
317
|
+
};
|
|
318
|
+
type StructuredNode = StructuredText | StructuredElement;
|
|
319
|
+
type SurfaceRecordDraft = {
|
|
320
|
+
readonly id: string;
|
|
321
|
+
readonly type: TypeRef;
|
|
322
|
+
readonly value: StoredValue;
|
|
323
|
+
readonly range: SourceRange;
|
|
324
|
+
};
|
|
325
|
+
/** Source-local diagnostics are removed before the component enters semantic elaboration. */
|
|
326
|
+
type SurfaceComponentDraft = AuthorComponent & {
|
|
327
|
+
readonly range: SourceRange;
|
|
328
|
+
};
|
|
329
|
+
type SurfaceDecodeOutput = {
|
|
330
|
+
readonly records: readonly SurfaceRecordDraft[];
|
|
331
|
+
readonly components: readonly SurfaceComponentDraft[];
|
|
332
|
+
readonly fragments: readonly GraphFragment[];
|
|
333
|
+
/** Domain-owned public identities that must be unique in the Source closure. */
|
|
334
|
+
readonly identities?: readonly AuthorSourceIdentity[];
|
|
335
|
+
/**
|
|
336
|
+
* Public source bindings contributed by this Surface invocation. Omit to
|
|
337
|
+
* publish every generated binding; use an explicit list to keep plumbing
|
|
338
|
+
* addressable inside the source without exposing it from the source.
|
|
339
|
+
*/
|
|
340
|
+
readonly exports?: readonly string[];
|
|
341
|
+
};
|
|
342
|
+
type StructuredSurfaceInput = {
|
|
343
|
+
readonly sourceName: string;
|
|
344
|
+
readonly element: StructuredElement;
|
|
345
|
+
/**
|
|
346
|
+
* Resolve an explicitly written author reference. Imported record values are
|
|
347
|
+
* available because their source has already been compiled and admitted.
|
|
348
|
+
* A component output has a ref and Type but no compile-time Record value.
|
|
349
|
+
*/
|
|
350
|
+
readonly resolveReference: (path: string) => SurfaceResolvedReference | undefined;
|
|
351
|
+
readonly resolveAsset: (request: AuthorSourceAssetRequest) => Awaitable$1<ResolvedAuthorSourceAsset>;
|
|
352
|
+
};
|
|
353
|
+
type SurfaceResolvedReference = {
|
|
354
|
+
readonly path: string;
|
|
355
|
+
readonly ref: AuthorValueRef;
|
|
356
|
+
readonly type: TypeRef;
|
|
357
|
+
readonly record?: TypedRecord;
|
|
358
|
+
};
|
|
359
|
+
type StructuredSurfaceHandler = (input: StructuredSurfaceInput) => Awaitable$1<SurfaceDecodeOutput>;
|
|
360
|
+
type SurfaceAttributeKind = "identifier" | "literal" | "reference" | "expression";
|
|
361
|
+
type SurfaceRecipePropertyVocabulary = {
|
|
362
|
+
readonly name: string;
|
|
363
|
+
readonly required: boolean;
|
|
364
|
+
readonly summary: string;
|
|
365
|
+
/** The author value's public structure; it contains no editor presentation. */
|
|
366
|
+
readonly schema?: ValueSchema;
|
|
367
|
+
readonly values?: readonly string[];
|
|
368
|
+
/** Decoded author default; when a schema is present this value conforms to that public structure. */
|
|
369
|
+
readonly fallback?: CanonicalValue;
|
|
370
|
+
};
|
|
371
|
+
type SurfaceAttributeVocabulary = {
|
|
372
|
+
readonly name: string;
|
|
373
|
+
readonly kind: SurfaceAttributeKind;
|
|
374
|
+
readonly required: boolean;
|
|
375
|
+
readonly summary: string;
|
|
376
|
+
readonly values?: readonly string[];
|
|
377
|
+
readonly accepts?: readonly TypeRef[];
|
|
378
|
+
readonly recipe?: readonly SurfaceRecipePropertyVocabulary[];
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
/** Author-time closure: bound references become ordinary graph edges at each Use. */
|
|
382
|
+
type SoundStyle = {
|
|
383
|
+
readonly fragment: GraphFragment;
|
|
384
|
+
readonly bindings: Readonly<Record<string, {
|
|
385
|
+
readonly type: SurfaceResolvedReference["type"];
|
|
386
|
+
readonly ref: SurfaceResolvedReference["ref"];
|
|
387
|
+
}>>;
|
|
388
|
+
};
|
|
389
|
+
declare function soundStyle(fragment: GraphFragment, bindings?: SoundStyle["bindings"]): SoundStyle;
|
|
390
|
+
|
|
391
|
+
type Awaitable<T> = T | Promise<T>;
|
|
392
|
+
type TypeValidatorContext = {
|
|
393
|
+
readonly type: TypeRef;
|
|
394
|
+
readonly value: StoredValue;
|
|
395
|
+
};
|
|
396
|
+
type TypeValidatorHandler = (context: TypeValidatorContext) => void | Promise<void>;
|
|
397
|
+
type ProducerHandlerResult = {
|
|
398
|
+
readonly outputs: Readonly<Record<string, StoredValue>>;
|
|
399
|
+
readonly needs: Readonly<Record<string, CanonicalValue>>;
|
|
400
|
+
};
|
|
401
|
+
/**
|
|
402
|
+
* Pure compute context. Artifact bytes, credentials, network and stores are deliberately absent;
|
|
403
|
+
* those effects must cross an explicit Need into a Provider.
|
|
404
|
+
*/
|
|
405
|
+
type ProducerHandlerContext = {
|
|
406
|
+
readonly command: InvokeProducerCommand;
|
|
407
|
+
readonly producer: ProducerRef;
|
|
408
|
+
readonly inputs: Readonly<Record<string, TypedRecord>>;
|
|
409
|
+
};
|
|
410
|
+
type ProducerHandler = (context: ProducerHandlerContext) => Awaitable<ProducerHandlerResult>;
|
|
411
|
+
/** Enumerable deterministic Producer handler owned by its package. */
|
|
412
|
+
type ProducerFacet = {
|
|
413
|
+
readonly producer: ProducerRef;
|
|
414
|
+
readonly handler: ProducerHandler;
|
|
415
|
+
};
|
|
416
|
+
/** One input whose value will exist only after an upstream Build step has run. */
|
|
417
|
+
type PlannedNeedInput = {
|
|
418
|
+
readonly input: string;
|
|
419
|
+
readonly record: string;
|
|
420
|
+
readonly sourceStep?: string;
|
|
421
|
+
/** Capability-owned semantic role when the value represents media, such as image or audio. */
|
|
422
|
+
readonly role?: string;
|
|
423
|
+
};
|
|
424
|
+
/**
|
|
425
|
+
* The complete support-relevant request known before external work starts. Values produced later
|
|
426
|
+
* are represented by input slots; their eventual StoredValues are execution bindings, not missing
|
|
427
|
+
* author intent. A slot may be a Resource or a structured value.
|
|
428
|
+
*/
|
|
429
|
+
type PlannedNeedSpecification = {
|
|
430
|
+
readonly constraints: CanonicalValue;
|
|
431
|
+
readonly pendingInputs: readonly PlannedNeedInput[];
|
|
432
|
+
};
|
|
433
|
+
/** Package-owned, presentation-neutral reading of one request. */
|
|
434
|
+
type PlannedNeedPresentation = {
|
|
435
|
+
readonly fields: Readonly<Record<string, readonly CanonicalValue[]>>;
|
|
436
|
+
readonly references: Readonly<Record<string, number>>;
|
|
437
|
+
};
|
|
438
|
+
type PlannedNeedFacet = {
|
|
439
|
+
readonly producer: ProducerRef;
|
|
440
|
+
readonly port: string;
|
|
441
|
+
readonly capability: CapabilityRef;
|
|
442
|
+
plan(input: {
|
|
443
|
+
readonly state: BuildState;
|
|
444
|
+
readonly step: string;
|
|
445
|
+
readonly port: string;
|
|
446
|
+
}): PlannedNeedSpecification | undefined;
|
|
447
|
+
present?(specification: PlannedNeedSpecification): PlannedNeedPresentation;
|
|
448
|
+
};
|
|
449
|
+
/** Package-owned semantic validator. */
|
|
450
|
+
type TypeValidatorFacet = {
|
|
451
|
+
readonly type: TypeRef;
|
|
452
|
+
readonly handler: TypeValidatorHandler;
|
|
453
|
+
};
|
|
454
|
+
/** Trusted deterministic implementation package; it selects no Provider or Runtime infrastructure. */
|
|
455
|
+
type ComponentPackage = {
|
|
456
|
+
readonly producers?: readonly ProducerFacet[];
|
|
457
|
+
readonly validators?: readonly TypeValidatorFacet[];
|
|
458
|
+
/** Planning knowledge owned by the package that declares the external request. */
|
|
459
|
+
readonly plannedNeeds?: readonly PlannedNeedFacet[];
|
|
460
|
+
};
|
|
461
|
+
|
|
462
|
+
type MediaRational = {
|
|
463
|
+
readonly numerator: number;
|
|
464
|
+
readonly denominator: number;
|
|
465
|
+
};
|
|
466
|
+
type SynchronizedMedia = {
|
|
467
|
+
readonly timeline: {
|
|
468
|
+
readonly frameRate: MediaRational;
|
|
469
|
+
readonly frameCount: number;
|
|
470
|
+
};
|
|
471
|
+
readonly visual?: {
|
|
472
|
+
readonly artifact: BlobRef;
|
|
473
|
+
readonly width: number;
|
|
474
|
+
readonly height: number;
|
|
475
|
+
};
|
|
476
|
+
readonly audio?: {
|
|
477
|
+
readonly artifact: BlobRef;
|
|
478
|
+
};
|
|
479
|
+
};
|
|
480
|
+
|
|
481
|
+
type ProgramSpace = {
|
|
482
|
+
/** Author-visible identity of this film time axis. */
|
|
483
|
+
readonly id: string;
|
|
484
|
+
readonly durationSec: number;
|
|
485
|
+
readonly frameRate: {
|
|
486
|
+
readonly numerator: number;
|
|
487
|
+
readonly denominator: number;
|
|
488
|
+
};
|
|
489
|
+
};
|
|
490
|
+
|
|
491
|
+
/** Gain and audibility are measured on the complete 48 kHz program clock. */
|
|
492
|
+
type AudioSampleSpan = {
|
|
493
|
+
readonly startSample: number;
|
|
494
|
+
readonly endSampleExclusive: number;
|
|
495
|
+
};
|
|
496
|
+
type AudioGainPoint = {
|
|
497
|
+
readonly sample: number;
|
|
498
|
+
readonly gain: number;
|
|
499
|
+
};
|
|
500
|
+
type AudioPresentation = {
|
|
501
|
+
/** Linear interpolation; hold the first/last gain outside the supplied points. */
|
|
502
|
+
readonly gainEnvelope?: readonly AudioGainPoint[];
|
|
503
|
+
/** Half-open audible regions; omission means the complete target, [] means silence. */
|
|
504
|
+
readonly audibility?: readonly AudioSampleSpan[];
|
|
505
|
+
};
|
|
506
|
+
|
|
507
|
+
type AudioClip = AudioPresentation & {
|
|
508
|
+
readonly id: string;
|
|
509
|
+
/** Optional domain entity implemented by this renderer Clip. */
|
|
510
|
+
readonly subjectId?: string;
|
|
511
|
+
/** Bytes only. Exact duration belongs to source.sampleFrames, not duplicated floating metadata. */
|
|
512
|
+
readonly artifact: BlobRef;
|
|
513
|
+
/** Exact audible placement in the canonical 48 kHz ProgramSpace sample domain. */
|
|
514
|
+
readonly target: {
|
|
515
|
+
readonly startSample: number;
|
|
516
|
+
readonly endSampleExclusive: number;
|
|
517
|
+
};
|
|
518
|
+
/** Exact sampling interval in one canonical 48 kHz stereo WAV Artifact. */
|
|
519
|
+
readonly source: {
|
|
520
|
+
readonly sampleFrames: number;
|
|
521
|
+
readonly startSample: number;
|
|
522
|
+
readonly endSampleExclusive: number;
|
|
523
|
+
readonly loop: boolean;
|
|
524
|
+
/** Offset inside the effective source interval used only when looping. */
|
|
525
|
+
readonly phaseSample: number;
|
|
526
|
+
};
|
|
527
|
+
readonly playbackRate: number;
|
|
528
|
+
readonly pitch: "preserve";
|
|
529
|
+
readonly gain: number;
|
|
530
|
+
readonly fadeInSamples: number;
|
|
531
|
+
readonly fadeOutSamples: number;
|
|
532
|
+
};
|
|
533
|
+
type AudioTrack = {
|
|
534
|
+
readonly kind: "audio";
|
|
535
|
+
/** ProgramSpace identity this terminal placement was rendered against. */
|
|
536
|
+
readonly programSpaceId: string;
|
|
537
|
+
readonly id: string;
|
|
538
|
+
readonly clips: readonly AudioClip[];
|
|
539
|
+
};
|
|
540
|
+
|
|
541
|
+
/**
|
|
542
|
+
* One author-selected contiguous excerpt. Script is one possible producer;
|
|
543
|
+
* generation and speech packages consume this shared value without importing
|
|
544
|
+
* Script's parser or source representation.
|
|
545
|
+
*/
|
|
546
|
+
type NarrativeExcerpt = {
|
|
547
|
+
readonly kind: "segment";
|
|
548
|
+
/** Author-visible `<script id>` that owns this Segment. */
|
|
549
|
+
readonly narrativeId: string;
|
|
550
|
+
readonly id: string;
|
|
551
|
+
readonly tokenStart: number;
|
|
552
|
+
readonly tokenEndExclusive: number;
|
|
553
|
+
};
|
|
554
|
+
|
|
555
|
+
/** One authored Script token located in one normalized Take's local frame domain. */
|
|
556
|
+
type SemanticTakeToken = {
|
|
557
|
+
readonly tokenId: string;
|
|
558
|
+
readonly segmentId: string;
|
|
559
|
+
readonly text: string;
|
|
560
|
+
readonly startAnchorId: string;
|
|
561
|
+
readonly endAnchorId: string;
|
|
562
|
+
readonly startFrame: number;
|
|
563
|
+
readonly endFrameExclusive: number;
|
|
564
|
+
};
|
|
565
|
+
/**
|
|
566
|
+
* A self-contained semantic media product. Media bytes remain ordinary BlobRefs
|
|
567
|
+
* inside SynchronizedMedia; the authored word surface and its local frame
|
|
568
|
+
* coordinates travel with this Take instead of requiring a second Script edge.
|
|
569
|
+
*/
|
|
570
|
+
type SemanticTake = {
|
|
571
|
+
/** Author-visible Script identity carried through every semantic projection. */
|
|
572
|
+
readonly narrativeId: string;
|
|
573
|
+
readonly media: SynchronizedMedia;
|
|
574
|
+
readonly segment: {
|
|
575
|
+
readonly segmentId: string;
|
|
576
|
+
readonly startAnchorId: string;
|
|
577
|
+
readonly endAnchorId: string;
|
|
578
|
+
readonly startFrame: number;
|
|
579
|
+
readonly endFrameExclusive: number;
|
|
580
|
+
};
|
|
581
|
+
readonly tokens: readonly SemanticTakeToken[];
|
|
582
|
+
readonly anchors: readonly {
|
|
583
|
+
readonly identity: string;
|
|
584
|
+
readonly frame: number;
|
|
585
|
+
}[];
|
|
586
|
+
};
|
|
587
|
+
|
|
588
|
+
type TimelineItem = {
|
|
589
|
+
readonly take: SemanticTake;
|
|
590
|
+
readonly startFrame: number;
|
|
591
|
+
};
|
|
592
|
+
/** One complete film time range, with prepared material placed where it belongs. */
|
|
593
|
+
type Timeline = ProgramSpace & {
|
|
594
|
+
readonly narrativeId?: string;
|
|
595
|
+
readonly items: readonly TimelineItem[];
|
|
596
|
+
};
|
|
597
|
+
|
|
598
|
+
/** Exact author duration. Decimal source spelling is reduced before reaching this value. */
|
|
599
|
+
type TemporalDuration = {
|
|
600
|
+
readonly unit: "frames";
|
|
601
|
+
readonly value: number;
|
|
602
|
+
} | {
|
|
603
|
+
readonly unit: "milliseconds";
|
|
604
|
+
readonly value: number;
|
|
605
|
+
} | {
|
|
606
|
+
readonly unit: "seconds";
|
|
607
|
+
readonly numerator: number;
|
|
608
|
+
readonly denominator: number;
|
|
609
|
+
};
|
|
610
|
+
/** A single projected boundary before it is resolved into ProgramSpace. */
|
|
611
|
+
type TemporalInstantExpression = {
|
|
612
|
+
readonly ref: "program.start";
|
|
613
|
+
readonly offset?: TemporalDuration;
|
|
614
|
+
} | {
|
|
615
|
+
readonly ref: "program.end";
|
|
616
|
+
readonly offset?: TemporalDuration;
|
|
617
|
+
} | {
|
|
618
|
+
readonly ref: "selection.start";
|
|
619
|
+
readonly offset?: TemporalDuration;
|
|
620
|
+
} | {
|
|
621
|
+
readonly ref: "selection.end";
|
|
622
|
+
readonly offset?: TemporalDuration;
|
|
623
|
+
} | {
|
|
624
|
+
readonly ref: "segment.start";
|
|
625
|
+
readonly offset?: TemporalDuration;
|
|
626
|
+
} | {
|
|
627
|
+
readonly ref: "segment.end";
|
|
628
|
+
readonly offset?: TemporalDuration;
|
|
629
|
+
} | {
|
|
630
|
+
readonly ref: "moment.cue";
|
|
631
|
+
readonly offset?: TemporalDuration;
|
|
632
|
+
} | {
|
|
633
|
+
readonly ref: "absolute";
|
|
634
|
+
readonly at: TemporalDuration;
|
|
635
|
+
readonly offset?: TemporalDuration;
|
|
636
|
+
};
|
|
637
|
+
/** Runtime dependency used to resolve an Instant. This is not its authoring authority. */
|
|
638
|
+
type TemporalSource = {
|
|
639
|
+
readonly spaceId: string;
|
|
640
|
+
/** Present when the boundary originates in a Script. */
|
|
641
|
+
readonly narrativeId?: string;
|
|
642
|
+
readonly kind: "program" | "selection" | "segment" | "moment";
|
|
643
|
+
readonly id: string;
|
|
644
|
+
};
|
|
645
|
+
/**
|
|
646
|
+
* The author-owned inverse of one projected Instant. Runtime dependencies and
|
|
647
|
+
* author authority are deliberately separate: an expression may read an
|
|
648
|
+
* anchor while remaining writable only at its author parameter.
|
|
649
|
+
*/
|
|
650
|
+
type TemporalInstantAuthority = {
|
|
651
|
+
readonly kind: "semantic";
|
|
652
|
+
readonly boundary: "start" | "end" | "cue";
|
|
653
|
+
} | {
|
|
654
|
+
readonly kind: "parameter";
|
|
655
|
+
readonly binding: string;
|
|
656
|
+
readonly relation: "direct" | "after-start" | "before-end";
|
|
657
|
+
} | {
|
|
658
|
+
readonly kind: "fixed";
|
|
659
|
+
};
|
|
660
|
+
type FrameSpan = {
|
|
661
|
+
readonly startFrame: number;
|
|
662
|
+
readonly endFrameExclusive: number;
|
|
663
|
+
};
|
|
664
|
+
type ProjectedInstant = {
|
|
665
|
+
readonly id: string;
|
|
666
|
+
readonly subjectId: string;
|
|
667
|
+
readonly source: TemporalSource;
|
|
668
|
+
readonly projection: TemporalInstantExpression;
|
|
669
|
+
readonly authority: TemporalInstantAuthority;
|
|
670
|
+
readonly frame: number;
|
|
671
|
+
};
|
|
672
|
+
type ProjectedWindow = {
|
|
673
|
+
readonly id: string;
|
|
674
|
+
readonly subjectId: string;
|
|
675
|
+
readonly start: ProjectedInstant;
|
|
676
|
+
readonly end: ProjectedInstant;
|
|
677
|
+
readonly span: FrameSpan;
|
|
678
|
+
};
|
|
679
|
+
/** Public projection protocol composed from two independently traced Instants. */
|
|
680
|
+
type TemporalWindow = ProjectedWindow;
|
|
681
|
+
|
|
682
|
+
type SoundUse = {
|
|
683
|
+
readonly window: TemporalWindow;
|
|
684
|
+
readonly audio: AudioTrack;
|
|
685
|
+
};
|
|
686
|
+
type SoundSet = {
|
|
687
|
+
readonly uses: readonly SoundUse[];
|
|
688
|
+
};
|
|
689
|
+
type SoundGain = {
|
|
690
|
+
readonly gain: number;
|
|
691
|
+
readonly endGain: number;
|
|
692
|
+
};
|
|
693
|
+
declare function soundWindow(timeline: Timeline, window: TemporalWindow): AudioSampleSpan;
|
|
694
|
+
declare function intersectAudioSpans(left: readonly AudioSampleSpan[], right: readonly AudioSampleSpan[]): AudioSampleSpan[];
|
|
695
|
+
/** Default source choice is declaration order, independently of the order of Use rules. */
|
|
696
|
+
declare function ordinarySound(timeline: Timeline, window: TemporalWindow, gain?: SoundGain): AudioTrack;
|
|
697
|
+
/** Explicit source selection for project Styles, with its original placement/sampling retained. */
|
|
698
|
+
declare function sourceSound(timeline: Timeline, window: TemporalWindow, segment: NarrativeExcerpt, gain?: SoundGain): AudioTrack;
|
|
699
|
+
declare function appendSoundUse(set: SoundSet, window: TemporalWindow, audio: AudioTrack): SoundSet;
|
|
700
|
+
/** Resolve presentation coverage without changing original targets, source clocks or envelopes. */
|
|
701
|
+
declare function resolveSound(timeline: Timeline, id: string, set: SoundSet): AudioTrack;
|
|
702
|
+
|
|
703
|
+
declare const soundComponent: ComponentPackage;
|
|
704
|
+
|
|
705
|
+
declare const decodeSoundTrackSurface: StructuredSurfaceHandler;
|
|
706
|
+
declare const ordinarySoundFragment: GraphFragment;
|
|
707
|
+
declare const decodeSoundStyleSurface: StructuredSurfaceHandler;
|
|
708
|
+
|
|
709
|
+
declare const soundModuleRef: {
|
|
710
|
+
readonly name: "@hypit/sound";
|
|
711
|
+
readonly version: "1";
|
|
712
|
+
};
|
|
713
|
+
declare const soundTypes: Record<"style" | "set" | "header" | "gain", TypeRef>;
|
|
714
|
+
declare const soundProducers: Record<"create" | "append" | "resolve" | "ordinary", ProducerRef>;
|
|
715
|
+
declare const ordinaryInputs: {
|
|
716
|
+
name: string;
|
|
717
|
+
type: TypeRef;
|
|
718
|
+
}[];
|
|
719
|
+
declare const soundManifest: ModuleManifest;
|
|
720
|
+
declare const soundMarkupSurfaces: readonly [{
|
|
721
|
+
readonly name: "style";
|
|
722
|
+
readonly tag: "Style";
|
|
723
|
+
readonly mode: "structured";
|
|
724
|
+
readonly outputs: readonly [TypeRef, TypeRef];
|
|
725
|
+
readonly vocabulary: {
|
|
726
|
+
readonly summary: "Presents existing Timeline sound, choosing the last declared active audio source. Gain may change linearly across each Use.";
|
|
727
|
+
readonly example: "<sound:Style id=\"fade-in\" gain=\"0\" end-gain=\"1\"/>";
|
|
728
|
+
readonly attributes: readonly [{
|
|
729
|
+
readonly name: "id";
|
|
730
|
+
readonly kind: "identifier";
|
|
731
|
+
readonly required: true;
|
|
732
|
+
readonly summary: "Style name.";
|
|
733
|
+
}, {
|
|
734
|
+
readonly name: "gain";
|
|
735
|
+
readonly kind: "literal";
|
|
736
|
+
readonly required: false;
|
|
737
|
+
readonly summary: "Linear gain at the beginning of a Use; defaults to 1. Zero silences the presentation.";
|
|
738
|
+
}, {
|
|
739
|
+
readonly name: "end-gain";
|
|
740
|
+
readonly kind: "literal";
|
|
741
|
+
readonly required: false;
|
|
742
|
+
readonly summary: "Linear gain at the end of a Use; defaults to gain. The original Use interval owns the ramp.";
|
|
743
|
+
}];
|
|
744
|
+
};
|
|
745
|
+
}, {
|
|
746
|
+
readonly name: "track";
|
|
747
|
+
readonly tag: "Track";
|
|
748
|
+
readonly mode: "structured";
|
|
749
|
+
readonly outputs: readonly [{
|
|
750
|
+
module: {
|
|
751
|
+
readonly name: "@hypit/composition";
|
|
752
|
+
readonly version: "1";
|
|
753
|
+
};
|
|
754
|
+
name: string;
|
|
755
|
+
}, TypeRef, TypeRef, {
|
|
756
|
+
module: {
|
|
757
|
+
readonly name: "@hypit/temporal";
|
|
758
|
+
readonly version: "1";
|
|
759
|
+
};
|
|
760
|
+
name: string;
|
|
761
|
+
}, {
|
|
762
|
+
module: {
|
|
763
|
+
readonly name: "@hypit/temporal";
|
|
764
|
+
readonly version: "1";
|
|
765
|
+
};
|
|
766
|
+
name: string;
|
|
767
|
+
}, {
|
|
768
|
+
module: {
|
|
769
|
+
readonly name: "@hypit/temporal";
|
|
770
|
+
readonly version: "1";
|
|
771
|
+
};
|
|
772
|
+
name: string;
|
|
773
|
+
}, {
|
|
774
|
+
module: {
|
|
775
|
+
readonly name: "@hypit/temporal";
|
|
776
|
+
readonly version: "1";
|
|
777
|
+
};
|
|
778
|
+
name: string;
|
|
779
|
+
}];
|
|
780
|
+
readonly vocabulary: {
|
|
781
|
+
readonly summary: "Presents Timeline sound through ordered Uses. Later Uses replace earlier presentation locally without restarting source playback or gain curves.";
|
|
782
|
+
readonly example: "<sound:Track id=\"voice\" timeline={program.timeline}><sound:Use style={normal}/><sound:Use at=\"0f\" for=\"2s\" style={fade-in}/></sound:Track>";
|
|
783
|
+
readonly attributes: readonly [{
|
|
784
|
+
readonly name: "id";
|
|
785
|
+
readonly kind: "identifier";
|
|
786
|
+
readonly required: true;
|
|
787
|
+
readonly summary: "Sound presentation name.";
|
|
788
|
+
}, {
|
|
789
|
+
readonly name: "timeline";
|
|
790
|
+
readonly kind: "reference";
|
|
791
|
+
readonly required: true;
|
|
792
|
+
readonly accepts: readonly [{
|
|
793
|
+
module: {
|
|
794
|
+
readonly name: "@hypit/timeline";
|
|
795
|
+
readonly version: "1";
|
|
796
|
+
};
|
|
797
|
+
name: string;
|
|
798
|
+
}];
|
|
799
|
+
readonly summary: "Complete film time and placed sources.";
|
|
800
|
+
}];
|
|
801
|
+
readonly children: readonly [{
|
|
802
|
+
readonly tag: "Use";
|
|
803
|
+
readonly cardinality: "many";
|
|
804
|
+
readonly summary: "Last matching Use wins, including silence. No time selector covers the complete Timeline.";
|
|
805
|
+
readonly attributes: readonly [{
|
|
806
|
+
readonly name: "id";
|
|
807
|
+
readonly kind: "identifier";
|
|
808
|
+
readonly required: false;
|
|
809
|
+
readonly summary: "Optional occurrence identity.";
|
|
810
|
+
}, {
|
|
811
|
+
readonly name: "style";
|
|
812
|
+
readonly kind: "reference";
|
|
813
|
+
readonly required: true;
|
|
814
|
+
readonly accepts: readonly [TypeRef];
|
|
815
|
+
readonly summary: "Ordinary or project-authored sound Style. Explicit source bindings belong to the Style.";
|
|
816
|
+
}, ...SurfaceAttributeVocabulary[]];
|
|
817
|
+
}];
|
|
818
|
+
};
|
|
819
|
+
}];
|
|
820
|
+
|
|
821
|
+
export { appendSoundUse, decodeSoundStyleSurface, decodeSoundTrackSurface, intersectAudioSpans, ordinaryInputs, ordinarySound, ordinarySoundFragment, resolveSound, soundComponent, soundManifest, soundMarkupSurfaces, soundModuleRef, soundProducers, soundStyle, soundTypes, soundWindow, sourceSound };
|
|
822
|
+
export type { SoundGain, SoundSet, SoundStyle, SoundUse };
|