@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
|
@@ -60,7 +60,7 @@ export type AuthorCheckOutput = {
|
|
|
60
60
|
readonly assets: number;
|
|
61
61
|
readonly modules: number;
|
|
62
62
|
readonly outputCount: number;
|
|
63
|
-
readonly outputs
|
|
63
|
+
readonly outputs?: readonly {
|
|
64
64
|
readonly name: string;
|
|
65
65
|
readonly type: string;
|
|
66
66
|
}[];
|
|
@@ -82,6 +82,7 @@ export type RunCheckOutput = {
|
|
|
82
82
|
readonly targets: readonly string[];
|
|
83
83
|
readonly candidates: number;
|
|
84
84
|
readonly satisfactions: number;
|
|
85
|
+
readonly historicalOutputCount?: number;
|
|
85
86
|
readonly steps?: number;
|
|
86
87
|
readonly unresolvedHistoricalOutputs?: readonly {
|
|
87
88
|
readonly candidate: string;
|
|
@@ -94,7 +95,7 @@ export type RunCheckOutput = {
|
|
|
94
95
|
export type PlanPreflight = {
|
|
95
96
|
readonly ok: boolean;
|
|
96
97
|
readonly capabilityCount: number;
|
|
97
|
-
readonly capabilities
|
|
98
|
+
readonly capabilities?: readonly string[];
|
|
98
99
|
readonly omittedCapabilities?: number;
|
|
99
100
|
readonly diagnosticCount: number;
|
|
100
101
|
readonly diagnostics: readonly CliDiagnostic[];
|
|
@@ -119,7 +120,7 @@ export type PlanOutput = {
|
|
|
119
120
|
readonly run: string;
|
|
120
121
|
readonly targetCount: number;
|
|
121
122
|
readonly targets: readonly string[];
|
|
122
|
-
readonly steps
|
|
123
|
+
readonly steps?: number;
|
|
123
124
|
readonly requestCount: number;
|
|
124
125
|
readonly requestIssueCount: number;
|
|
125
126
|
/** Present when a Runtime Profile was selected. */
|
|
@@ -128,19 +129,45 @@ export type PlanOutput = {
|
|
|
128
129
|
readonly unresolvedRequestCount?: number;
|
|
129
130
|
readonly unsupportedRequestCount?: number;
|
|
130
131
|
readonly choiceCount: number;
|
|
131
|
-
readonly choices
|
|
132
|
+
readonly choices?: readonly { readonly output: string; readonly candidate: string }[];
|
|
132
133
|
readonly omittedChoices?: number;
|
|
133
134
|
readonly unreached?: readonly { readonly output: string; readonly operation: string }[];
|
|
134
135
|
readonly omittedUnreached?: number;
|
|
135
136
|
/** Present only when a Runtime Profile was selected; the Endpoint and price page behind each capability. */
|
|
136
137
|
readonly providers?: readonly PlanProvider[];
|
|
137
|
-
readonly omittedProviders?: number;
|
|
138
138
|
/** Every external request the Build will make, in step order, with its parameters when known. */
|
|
139
139
|
readonly needs?: readonly PlanNeed[];
|
|
140
|
-
readonly omittedNeeds?: number;
|
|
141
140
|
readonly preflight?: PlanPreflight;
|
|
142
141
|
};
|
|
143
142
|
|
|
143
|
+
/** Output scope is independent of encoding. Limits apply to expanded detail, not demanded work. */
|
|
144
|
+
export function createPlanOutput(plan: PlanOutput, options: { readonly verbose: boolean; readonly limit: number }): PlanOutput {
|
|
145
|
+
const { steps, choices = [], unreached = [], preflight, ...summary } = plan;
|
|
146
|
+
const limit = options.limit;
|
|
147
|
+
return {
|
|
148
|
+
...summary,
|
|
149
|
+
...(options.verbose ? {
|
|
150
|
+
steps,
|
|
151
|
+
choices: choices.slice(0, limit),
|
|
152
|
+
...(choices.length <= limit ? {} : { omittedChoices: choices.length - limit }),
|
|
153
|
+
unreached: unreached.slice(0, limit),
|
|
154
|
+
...(unreached.length <= limit ? {} : { omittedUnreached: unreached.length - limit }),
|
|
155
|
+
} : {}),
|
|
156
|
+
...(preflight === undefined ? {} : { preflight: {
|
|
157
|
+
ok: preflight.ok,
|
|
158
|
+
capabilityCount: preflight.capabilityCount,
|
|
159
|
+
diagnosticCount: preflight.diagnosticCount,
|
|
160
|
+
diagnostics: preflight.diagnostics,
|
|
161
|
+
...(options.verbose ? {
|
|
162
|
+
capabilities: preflight.capabilities?.slice(0, limit) ?? [],
|
|
163
|
+
...((preflight.capabilities?.length ?? 0) <= limit ? {} : {
|
|
164
|
+
omittedCapabilities: preflight.capabilities!.length - limit,
|
|
165
|
+
}),
|
|
166
|
+
} : {}),
|
|
167
|
+
} }),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
144
171
|
export type PricingEntry = PlanProvider & {
|
|
145
172
|
readonly pricingDocuments?: readonly PricingDocument[];
|
|
146
173
|
readonly pricingError?: string;
|
|
@@ -310,7 +337,7 @@ function renderAuthorCheck(
|
|
|
310
337
|
verbose: boolean,
|
|
311
338
|
): string {
|
|
312
339
|
const lines = [heading("success", "Source is valid", io, colors), ""];
|
|
313
|
-
const readable = view.machine.outputs;
|
|
340
|
+
const readable = view.machine.outputs ?? [];
|
|
314
341
|
lines.push(...facts([
|
|
315
342
|
["Source", shortPath(view.machine.source)],
|
|
316
343
|
["Outputs", String(view.machine.outputCount)],
|
|
@@ -350,8 +377,7 @@ function renderRunCheck(
|
|
|
350
377
|
verbose: boolean,
|
|
351
378
|
): string {
|
|
352
379
|
const lines = [heading("success", "Run source is valid", io, colors), ""];
|
|
353
|
-
const reuse =
|
|
354
|
-
+ (view.machine.omittedHistoricalOutputs ?? 0);
|
|
380
|
+
const reuse = view.machine.historicalOutputCount ?? 0;
|
|
355
381
|
const targetSummary = view.machine.targets.length === 0
|
|
356
382
|
? String(view.machine.targetCount)
|
|
357
383
|
: view.machine.targets.join(", ")
|
|
@@ -433,7 +459,7 @@ function needSummaryText(needs: readonly PlanNeed[]): string {
|
|
|
433
459
|
const pendingCount = first.pending.length;
|
|
434
460
|
if (pendingCount > 0) parts.push(`${pendingCount === 1 ? "input" : `${pendingCount} inputs`} produced during Build`);
|
|
435
461
|
if (first.issue !== undefined) parts.push(`could not inspect: ${first.issue}`);
|
|
436
|
-
return parts.length === 0 ? "
|
|
462
|
+
return parts.length === 0 ? "request summary unavailable" : parts.join(" · ");
|
|
437
463
|
}
|
|
438
464
|
|
|
439
465
|
/** One line per distinct request shape, counted; the step names when only one request has that shape. */
|
|
@@ -489,6 +515,7 @@ function renderPlan(
|
|
|
489
515
|
["Run", shortPath(view.machine.run)],
|
|
490
516
|
["Targets", targetSummary],
|
|
491
517
|
["Requests", String(view.machine.requestCount)],
|
|
518
|
+
...(view.machine.choiceCount === 0 ? [] : [["Run choices", String(view.machine.choiceCount)] as const]),
|
|
492
519
|
...(view.machine.requestIssueCount === 0 ? [] : [["Request issues", String(view.machine.requestIssueCount)] as const]),
|
|
493
520
|
...((view.machine.providerRequestCount ?? 0) === 0 ? [] : [["Provider requests", String(view.machine.providerRequestCount)] as const]),
|
|
494
521
|
...((view.machine.localRequestCount ?? 0) === 0 ? [] : [["Local requests", String(view.machine.localRequestCount)] as const]),
|
|
@@ -497,7 +524,7 @@ function renderPlan(
|
|
|
497
524
|
...(view.machine.preflight === undefined ? [] : [[
|
|
498
525
|
"Preflight", view.machine.preflight.ok ? "ready" : "needs attention",
|
|
499
526
|
] as const]),
|
|
500
|
-
...(verbose ? [["Steps", String(view.machine.steps)] as const]
|
|
527
|
+
...(!verbose || view.machine.steps === undefined ? [] : [["Steps", String(view.machine.steps)] as const]),
|
|
501
528
|
], colors));
|
|
502
529
|
if (view.machine.providers !== undefined) {
|
|
503
530
|
if (view.machine.providers.length > 0) lines.push("", colors.strong("Providers and price pages"));
|
|
@@ -531,9 +558,6 @@ function renderPlan(
|
|
|
531
558
|
const requests = new Set(group.map((provider) => provider.request));
|
|
532
559
|
lines.push(...groupedNeedLines((view.machine.needs ?? []).filter((need) => requests.has(need.request)), colors, verbose));
|
|
533
560
|
}
|
|
534
|
-
if ((view.machine.omittedProviders ?? 0) > 0) {
|
|
535
|
-
lines.push(` ${colors.dim(`${view.machine.omittedProviders} more requests · use --limit <count>`)}`);
|
|
536
|
-
}
|
|
537
561
|
} else if (view.machine.requestCount > 0) {
|
|
538
562
|
const byCapability = new Map<string, PlanNeed[]>();
|
|
539
563
|
for (const need of view.machine.needs ?? []) {
|
|
@@ -559,9 +583,9 @@ function renderPlan(
|
|
|
559
583
|
}
|
|
560
584
|
if (view.machine.preflight !== undefined
|
|
561
585
|
&& (view.machine.preflight.diagnostics.length > 0
|
|
562
|
-
|| (verbose && view.machine.preflight.capabilities
|
|
586
|
+
|| (verbose && (view.machine.preflight.capabilities?.length ?? 0) > 0))) {
|
|
563
587
|
lines.push("", colors.strong("Runtime preflight"));
|
|
564
|
-
if (verbose) for (const capability of view.machine.preflight.capabilities) lines.push(` ${colors.accent(capability)}`);
|
|
588
|
+
if (verbose) for (const capability of view.machine.preflight.capabilities ?? []) lines.push(` ${colors.accent(capability)}`);
|
|
565
589
|
if (verbose && (view.machine.preflight.omittedCapabilities ?? 0) > 0) {
|
|
566
590
|
lines.push(` ${colors.dim(`${view.machine.preflight.omittedCapabilities} more capabilities · use --limit <count>`)}`);
|
|
567
591
|
}
|
|
@@ -578,9 +602,9 @@ function renderPlan(
|
|
|
578
602
|
lines.push(` ${colors.dim(`${capabilityCount} demanded Endpoint ${capabilityCount === 1 ? "capability" : "capabilities"} checked.`)}`);
|
|
579
603
|
}
|
|
580
604
|
}
|
|
581
|
-
if (view.machine.choices
|
|
605
|
+
if (verbose && (view.machine.choices?.length ?? 0) > 0) {
|
|
582
606
|
lines.push("", colors.strong("Run choices"));
|
|
583
|
-
for (const selection of view.machine.choices) {
|
|
607
|
+
for (const selection of view.machine.choices ?? []) {
|
|
584
608
|
const status = colors.success(glyph(io, "✓", "+"));
|
|
585
609
|
lines.push(` ${status} ${colors.accent(selection.output)} ← ${selection.candidate}`);
|
|
586
610
|
}
|
|
@@ -774,23 +798,27 @@ function commandHelp(topic: string, colors: Palette): readonly string[] | undefi
|
|
|
774
798
|
colors.dim("Validate one self-described Author Source or Run Source without executing it."),
|
|
775
799
|
"",
|
|
776
800
|
" hypit check <source> [--workspace <workspace>] [--asset-root <directory>]",
|
|
801
|
+
" --verbose lists exported names/types and historical references.",
|
|
777
802
|
],
|
|
778
803
|
doctor: [
|
|
779
804
|
colors.accent(colors.strong("hypit doctor")),
|
|
780
805
|
colors.dim("Diagnose project Results and, when selected or supplied, one Runtime Profile."),
|
|
781
806
|
"",
|
|
782
|
-
" hypit doctor [--runtime <profile>] [--workspace <project>]",
|
|
807
|
+
" hypit doctor [--runtime <profile>] [--workspace <project>] [--endpoint <instance>]",
|
|
783
808
|
" A positional Profile is also accepted in place of --runtime.",
|
|
809
|
+
" Repeat --endpoint <instance> to limit the operation to chosen services; omission covers the Profile.",
|
|
784
810
|
" Without a Runtime Profile, checks only the project's selected Result Store.",
|
|
785
811
|
],
|
|
786
812
|
plan: [
|
|
787
813
|
colors.accent(colors.strong("hypit plan")),
|
|
788
|
-
colors.dim("
|
|
814
|
+
colors.dim("Show targets, demanded requests and their readiness without executing them."),
|
|
789
815
|
"",
|
|
790
816
|
" hypit plan <run-source> [--runtime <profile>] [--workspace <workspace>] [--asset-root <directory>]",
|
|
791
817
|
"",
|
|
792
818
|
"With --runtime, plan also preflights only the demanded deployment slice and names the Provider",
|
|
793
819
|
"and price page behind each external request.",
|
|
820
|
+
"--verbose expands Run choices and unreached declarations. --limit bounds that detail,",
|
|
821
|
+
"while all demanded requests and diagnostics remain visible in both text and JSON.",
|
|
794
822
|
"Planning never starts external work.",
|
|
795
823
|
],
|
|
796
824
|
pricing: [
|
|
@@ -823,13 +851,14 @@ function commandHelp(topic: string, colors: Palette): readonly string[] | undefi
|
|
|
823
851
|
" hypit runtime init [<profile>] [--workspace <project>] create and select a starter Profile",
|
|
824
852
|
" hypit runtime use <profile> [--workspace <project>] select the project Profile",
|
|
825
853
|
" hypit runtime unset [--workspace <project>] remove only that selection",
|
|
826
|
-
" hypit runtime up [<profile>]
|
|
854
|
+
" hypit runtime up [<profile>] [--endpoint <instance>] prepare helpers, then start the Worker",
|
|
827
855
|
" hypit runtime status [<profile>] inspect the local Worker, active Builds and programs",
|
|
828
856
|
" hypit runtime logs [<profile>] [--lines <count>]",
|
|
829
857
|
" hypit runtime down [<profile>] stop the Worker; external programs keep running",
|
|
830
858
|
"",
|
|
831
859
|
"The project is resolved first. Selection is read only from that project's .hypit/runtime.",
|
|
832
860
|
"All runtime actions accept --workspace <project>; operational actions also accept --runtime <profile>.",
|
|
861
|
+
"For up, repeat --endpoint <instance> to prepare only chosen services; omission prepares the Profile.",
|
|
833
862
|
"No Profile filename discovery or parent-project inheritance is performed.",
|
|
834
863
|
"Remote Endpoints such as HypiHub are not started by this command; use doctor to test them.",
|
|
835
864
|
],
|
|
@@ -841,7 +870,8 @@ function commandHelp(topic: string, colors: Palette): readonly string[] | undefi
|
|
|
841
870
|
" hypit packages install <package@exact-version>",
|
|
842
871
|
"",
|
|
843
872
|
"The package is reused by every project and later session on this machine.",
|
|
844
|
-
"npm owns
|
|
873
|
+
"Each exact version has its own installation; npm owns package.json and package-lock.json.",
|
|
874
|
+
"Preparation reports its install.log for live output and later diagnosis.",
|
|
845
875
|
],
|
|
846
876
|
programs: [
|
|
847
877
|
colors.accent(colors.strong("hypit programs")),
|
|
@@ -851,6 +881,7 @@ function commandHelp(topic: string, colors: Palette): readonly string[] | undefi
|
|
|
851
881
|
" hypit programs status [--runtime <profile>] [--workspace <project>]",
|
|
852
882
|
" hypit programs down [--runtime <profile>] [--workspace <project>]",
|
|
853
883
|
" A positional Profile is also accepted in place of --runtime.",
|
|
884
|
+
" Repeat --endpoint <instance> to limit the operation to chosen services; omission covers the Profile.",
|
|
854
885
|
],
|
|
855
886
|
activity: [
|
|
856
887
|
colors.accent(colors.strong("hypit activity")),
|
|
@@ -874,6 +905,14 @@ function commandHelp(topic: string, colors: Palette): readonly string[] | undefi
|
|
|
874
905
|
"",
|
|
875
906
|
" hypit builds [--workspace <project>] [--limit <count>] [--before <build-id>]",
|
|
876
907
|
],
|
|
908
|
+
logs: [
|
|
909
|
+
colors.accent(colors.strong("hypit logs")),
|
|
910
|
+
colors.dim("Read Build execution evidence; finished logs need only the project Result Repository."),
|
|
911
|
+
"",
|
|
912
|
+
" hypit logs <build-id> [--workspace <project>] [--runtime <profile>] [--lines <count>]",
|
|
913
|
+
" --lines <count> show the last N records (default 50)",
|
|
914
|
+
" runtime logs reads the Worker process log instead",
|
|
915
|
+
],
|
|
877
916
|
status: [
|
|
878
917
|
colors.accent(colors.strong("hypit status")),
|
|
879
918
|
colors.dim("Show one Build now, or keep watching it without owning execution."),
|
|
@@ -887,6 +926,8 @@ function commandHelp(topic: string, colors: Palette): readonly string[] | undefi
|
|
|
887
926
|
colors.dim("Inspect one project-owned Build Result and its public Outputs."),
|
|
888
927
|
"",
|
|
889
928
|
" hypit inspect <build-id> [--output <name>] [--limit <count>] [--workspace <project>]",
|
|
929
|
+
" Defaults to targets and highlighted Outputs. --verbose expands other available Outputs.",
|
|
930
|
+
" --output selects one exact name; --limit bounds expanded lists.",
|
|
890
931
|
],
|
|
891
932
|
get: [
|
|
892
933
|
colors.accent(colors.strong("hypit get")),
|
|
@@ -958,6 +999,7 @@ export function writeCliHelp(io: CliIo, topic?: string): void {
|
|
|
958
999
|
colors.strong("Results"),
|
|
959
1000
|
row("builds", "list Results newest first"),
|
|
960
1001
|
row("history <output>", "find one named Output across Builds"),
|
|
1002
|
+
row("logs <build-id> [--lines <count>]", "read saved Build execution phases and diagnostics"),
|
|
961
1003
|
row("status <build-id> [--watch]", "show current work and Result facts"),
|
|
962
1004
|
row("inspect <build-id>", "inspect one Result"),
|
|
963
1005
|
row("get <build-id> --output <name> --to <path>", "export one Build Output"),
|
|
@@ -969,7 +1011,7 @@ export function writeCliHelp(io: CliIo, topic?: string): void {
|
|
|
969
1011
|
row("runtime up|status|logs|down", "prepare and manage the local Build Runtime"),
|
|
970
1012
|
row("programs up|status|down", "manage declared external programs only"),
|
|
971
1013
|
row("packages install|status", "manage pinned upstream packages in the machine home"),
|
|
972
|
-
row("activity [--watch]", "
|
|
1014
|
+
row("activity [--watch]", "show active Builds and their current phases"),
|
|
973
1015
|
row("cancel <build-id>", "withdraw one active Build"),
|
|
974
1016
|
row("paths", "show physical state locations"),
|
|
975
1017
|
row("auth status|login|logout", "manage Endpoint credentials"),
|
package/packages/cli/src/view.ts
CHANGED
|
@@ -46,15 +46,27 @@ export type CliBuildResultView = {
|
|
|
46
46
|
readonly targets: readonly string[];
|
|
47
47
|
readonly omittedTargets?: number;
|
|
48
48
|
readonly outputs: readonly CliOutputView[];
|
|
49
|
+
readonly outputCount: number;
|
|
50
|
+
/** Available Outputs outside the selected inspection scope. */
|
|
51
|
+
readonly otherOutputCount?: number;
|
|
49
52
|
readonly omittedOutputs?: number;
|
|
50
53
|
readonly failure?: string;
|
|
51
|
-
readonly operations?: BuildResultManifest["operations"]
|
|
54
|
+
readonly operations?: readonly Pick<NonNullable<BuildResultManifest["operations"]>[number],
|
|
55
|
+
"endpoint" | "status" | "receipt" | "failure">[];
|
|
56
|
+
readonly executionLog?: BuildResultManifest["executionLog"];
|
|
52
57
|
readonly omittedOperations?: number;
|
|
53
58
|
};
|
|
54
59
|
|
|
55
60
|
export type CliBuildStatusView = {
|
|
56
61
|
readonly id: string;
|
|
57
62
|
readonly title?: string;
|
|
63
|
+
readonly targets?: readonly string[];
|
|
64
|
+
readonly failure?: string;
|
|
65
|
+
readonly commands?: readonly {
|
|
66
|
+
readonly id?: string;
|
|
67
|
+
readonly endpoint: string;
|
|
68
|
+
readonly progress: NonNullable<BuildView["commands"]>[number]["progress"];
|
|
69
|
+
}[];
|
|
58
70
|
readonly work: {
|
|
59
71
|
readonly state: "unknown" | "submitting" | "working" | "done";
|
|
60
72
|
readonly outcome?: "complete" | "failed" | "cancelled";
|
|
@@ -68,6 +80,7 @@ export type CliBuildStatusView = {
|
|
|
68
80
|
};
|
|
69
81
|
readonly attention?: { readonly message: string; readonly action?: string };
|
|
70
82
|
readonly operations?: readonly {
|
|
83
|
+
readonly count?: number;
|
|
71
84
|
readonly id?: string;
|
|
72
85
|
readonly receipt?: { readonly id: string; readonly url?: string };
|
|
73
86
|
readonly endpoint: string;
|
|
@@ -127,8 +140,8 @@ function orderedOutputNames(manifest: BuildResultManifest): readonly string[] {
|
|
|
127
140
|
const highlighted = new Set(manifest.highlightedOutputs ?? []);
|
|
128
141
|
const targets = new Set(manifest.targets);
|
|
129
142
|
return names.sort((left, right) => {
|
|
130
|
-
const leftRank =
|
|
131
|
-
const rightRank =
|
|
143
|
+
const leftRank = targets.has(left) ? 0 : highlighted.has(left) ? 1 : 2;
|
|
144
|
+
const rightRank = targets.has(right) ? 0 : highlighted.has(right) ? 1 : 2;
|
|
132
145
|
return leftRank - rightRank || left.localeCompare(right);
|
|
133
146
|
});
|
|
134
147
|
}
|
|
@@ -146,14 +159,24 @@ export function buildStatusView(options: {
|
|
|
146
159
|
readonly result?: BuildResultManifest;
|
|
147
160
|
readonly resultReadError?: string;
|
|
148
161
|
readonly verbose?: boolean;
|
|
149
|
-
readonly operationLimit?: number;
|
|
150
162
|
}): CliBuildStatusView {
|
|
151
163
|
const resultState = options.resultReadError !== undefined
|
|
152
164
|
? "unavailable" as const
|
|
153
165
|
: options.result?.outcome ?? (options.result === undefined ? "missing" as const : "open" as const);
|
|
154
166
|
const issue = options.runtime?.issue;
|
|
167
|
+
const operations = (options.runtime?.operations ?? options.result?.operations ?? [])
|
|
168
|
+
.filter((item) => options.verbose || item.status !== "completed");
|
|
155
169
|
return {
|
|
156
170
|
id: options.id,
|
|
171
|
+
...((options.runtime?.targets ?? options.result?.targets) === undefined ? {} : {
|
|
172
|
+
targets: options.runtime?.targets ?? options.result!.targets,
|
|
173
|
+
}),
|
|
174
|
+
...((options.result?.failure ?? options.runtime?.stop?.reason) === undefined ? {} : {
|
|
175
|
+
failure: options.result?.failure ?? options.runtime!.stop!.reason,
|
|
176
|
+
}),
|
|
177
|
+
...(options.runtime?.commands?.length ? { commands: options.runtime.commands.map((command) => ({
|
|
178
|
+
...(options.verbose ? { id: command.id } : {}), endpoint: command.endpoint, progress: command.progress,
|
|
179
|
+
})) } : {}),
|
|
157
180
|
...(options.result?.title === undefined ? {} : { title: options.result.title }),
|
|
158
181
|
work: {
|
|
159
182
|
state: workState(options.runtime, options.result),
|
|
@@ -176,13 +199,11 @@ export function buildStatusView(options: {
|
|
|
176
199
|
}
|
|
177
200
|
: { message: options.resultReadError! },
|
|
178
201
|
}),
|
|
179
|
-
...(
|
|
180
|
-
operations: (
|
|
181
|
-
.filter((item) => item.status !== "completed")
|
|
182
|
-
.slice(0, options.operationLimit ?? 20)
|
|
202
|
+
...(operations.length > 0 ? {
|
|
203
|
+
operations: groupOperationViews(operations
|
|
183
204
|
.map((item) => ({
|
|
184
|
-
...("operation" in item ? { id: item.operation } : item.id === undefined ? {} : { id: item.id }),
|
|
185
|
-
...(item.receipt === undefined ? {} : { receipt: item.receipt }),
|
|
205
|
+
...(!options.verbose ? {} : "operation" in item ? { id: item.operation } : item.id === undefined ? {} : { id: item.id }),
|
|
206
|
+
...(item.receipt === undefined || (!options.verbose && item.failure === undefined) ? {} : { receipt: item.receipt }),
|
|
186
207
|
endpoint: item.endpoint,
|
|
187
208
|
state: item.status,
|
|
188
209
|
...(item.progress === undefined ? {} : { progress: item.progress }),
|
|
@@ -190,23 +211,43 @@ export function buildStatusView(options: {
|
|
|
190
211
|
code: item.failure.code,
|
|
191
212
|
message: item.failure.message,
|
|
192
213
|
} }),
|
|
193
|
-
})),
|
|
194
|
-
}),
|
|
214
|
+
})), options.verbose === true),
|
|
215
|
+
} : {}),
|
|
195
216
|
};
|
|
196
217
|
}
|
|
197
218
|
|
|
219
|
+
function groupOperationViews(
|
|
220
|
+
operations: NonNullable<CliBuildStatusView["operations"]>,
|
|
221
|
+
verbose: boolean,
|
|
222
|
+
): NonNullable<CliBuildStatusView["operations"]> {
|
|
223
|
+
if (verbose) return operations;
|
|
224
|
+
const groups = new Map<string, { view: typeof operations[number]; count: number }>();
|
|
225
|
+
for (const operation of operations) {
|
|
226
|
+
const key = JSON.stringify(operation);
|
|
227
|
+
const existing = groups.get(key);
|
|
228
|
+
if (existing !== undefined) existing.count += 1;
|
|
229
|
+
else groups.set(key, { view: operation, count: 1 });
|
|
230
|
+
}
|
|
231
|
+
return [...groups.values()].map(({ view, count }) => count === 1 ? view : { ...view, count });
|
|
232
|
+
}
|
|
233
|
+
|
|
198
234
|
export async function buildResultView(
|
|
199
235
|
repository: BuildResultRepository,
|
|
200
236
|
manifest: BuildResultManifest,
|
|
201
|
-
options: { readonly projectRoot: string; readonly output?: string; readonly limit: number },
|
|
237
|
+
options: { readonly projectRoot: string; readonly output?: string; readonly limit: number; readonly verbose?: boolean },
|
|
202
238
|
): Promise<CliBuildResultView> {
|
|
203
239
|
if (options.output !== undefined && manifest.outputs[options.output] === undefined) {
|
|
204
240
|
throw new Error(`Build Result ${manifest.id} has no public Output ${options.output}`);
|
|
205
241
|
}
|
|
206
|
-
const
|
|
207
|
-
const
|
|
242
|
+
const available = orderedOutputNames(manifest);
|
|
243
|
+
const allNames = options.output !== undefined ? [options.output] : options.verbose ? available
|
|
244
|
+
: available.filter((name) => manifest.targets.includes(name) || manifest.highlightedOutputs?.includes(name));
|
|
245
|
+
const selected = options.verbose ? allNames.slice(0, options.limit) : allNames;
|
|
208
246
|
const outputs = await Promise.all(selected.map(async (name) =>
|
|
209
247
|
await outputView(repository, manifest, name)));
|
|
248
|
+
const operations = options.verbose ? manifest.operations ?? []
|
|
249
|
+
: (manifest.operations ?? []).filter((item) => item.failure !== undefined);
|
|
250
|
+
const selectedOperations = options.verbose ? operations.slice(0, options.limit) : operations;
|
|
210
251
|
return {
|
|
211
252
|
id: manifest.id,
|
|
212
253
|
...(manifest.title === undefined ? {} : { title: manifest.title }),
|
|
@@ -217,12 +258,18 @@ export async function buildResultView(
|
|
|
217
258
|
source: projectPath(manifest.source.path, options.projectRoot),
|
|
218
259
|
...(manifest.run === undefined ? {} : { run: projectPath(manifest.run.path, options.projectRoot) }),
|
|
219
260
|
targetCount: manifest.targets.length,
|
|
220
|
-
targets: manifest.targets
|
|
221
|
-
|
|
261
|
+
targets: manifest.targets,
|
|
262
|
+
outputCount: available.length,
|
|
222
263
|
outputs,
|
|
264
|
+
...(available.length === allNames.length ? {} : { otherOutputCount: available.length - allNames.length }),
|
|
223
265
|
...(selected.length === allNames.length ? {} : { omittedOutputs: allNames.length - selected.length }),
|
|
224
266
|
...(manifest.failure === undefined ? {} : { failure: manifest.failure }),
|
|
225
|
-
...(manifest.
|
|
226
|
-
...(
|
|
267
|
+
...(manifest.executionLog === undefined ? {} : { executionLog: manifest.executionLog }),
|
|
268
|
+
...(selectedOperations.length === 0 ? {} : { operations: selectedOperations.map((item) => options.verbose ? item : ({
|
|
269
|
+
endpoint: item.endpoint, status: item.status,
|
|
270
|
+
...(item.receipt === undefined ? {} : { receipt: item.receipt }),
|
|
271
|
+
...(item.failure === undefined ? {} : { failure: item.failure }),
|
|
272
|
+
})) }),
|
|
273
|
+
...(selectedOperations.length === operations.length ? {} : { omittedOperations: operations.length - selectedOperations.length }),
|
|
227
274
|
};
|
|
228
275
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# `@hypit/comment-sticker`
|
|
2
2
|
|
|
3
|
-
The Track Surface accepts `
|
|
4
|
-
|
|
3
|
+
The Track Surface accepts `timeline={program.timeline}`. The same Timeline supports authored
|
|
4
|
+
positions and, where prepared Takes supply evidence, Script Selections and Moments. Shared `at`
|
|
5
5
|
inputs accept a Moment or a time such as `2s`; `at` with `for` produces a Window where required.
|
|
6
6
|
|
|
7
7
|
An author package for timed social-comment cards. It publishes an ordinary `VisualTrack` containing
|
|
@@ -21,7 +21,7 @@ The author surface keeps the three independent concerns visible:
|
|
|
21
21
|
|
|
22
22
|
<comment:Style id="social-comment" recipe={styles.comment} font={fonts.ui}/>
|
|
23
23
|
|
|
24
|
-
<comment:Track id="comments" canvas={video.canvas}
|
|
24
|
+
<comment:Track id="comments" canvas={video.canvas} timeline={speech.timeline}>
|
|
25
25
|
<comment:Sticker
|
|
26
26
|
id="opening-comment"
|
|
27
27
|
comment={comment-copy}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@hypit/narrative": "workspace:*",
|
|
16
16
|
"@hypit/protocol": "workspace:*",
|
|
17
17
|
"@hypit/program-space": "workspace:*",
|
|
18
|
-
"@hypit/
|
|
18
|
+
"@hypit/timeline": "workspace:*",
|
|
19
19
|
"@hypit/spatial": "workspace:*",
|
|
20
20
|
"@hypit/svs": "workspace:*",
|
|
21
21
|
"@hypit/temporal": "workspace:*",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { Timeline } from "@hypit/timeline";
|
|
1
2
|
import type { ComponentPackage, ProducerHandlerContext } from "@hypit/component-kit";
|
|
2
3
|
import { canonicalize } from "@hypit/protocol";
|
|
3
4
|
import type { BlobRef, StoredValue } from "@hypit/protocol";
|
|
4
|
-
import type { ProgramSpace } from "@hypit/program-space";
|
|
5
5
|
import type { CanvasSpace, SpatialFrame } from "@hypit/spatial";
|
|
6
6
|
import type { Text } from "@hypit/text";
|
|
7
7
|
|
|
@@ -28,7 +28,7 @@ function common(inputs: Record<string, { readonly value: StoredValue } | undefin
|
|
|
28
28
|
return {
|
|
29
29
|
set: inline<CommentStickerSet>(inputs.set?.value, "CommentStickerSet"),
|
|
30
30
|
header: inline<CommentStickerHeader>(inputs.header?.value, "CommentStickerHeader"),
|
|
31
|
-
|
|
31
|
+
timeline: inline<Timeline>(inputs.timeline?.value, "Timeline"),
|
|
32
32
|
frame: inline<SpatialFrame>(inputs.frame?.value, "SpatialFrame"),
|
|
33
33
|
style: inline<CommentStickerStyle>(inputs.style?.value, "CommentStickerStyle"),
|
|
34
34
|
spec: inline<CommentStickerItemSpec>(inputs.spec?.value, "CommentStickerItemSpec"),
|
|
@@ -69,7 +69,7 @@ export const commentStickerComponent = {
|
|
|
69
69
|
handler: ({ inputs }: ProducerHandlerContext) => {
|
|
70
70
|
const values = common(inputs);
|
|
71
71
|
return { outputs: { set: output(appendProjectedCommentSticker(
|
|
72
|
-
values.set, values.header, values.
|
|
72
|
+
values.set, values.header, values.timeline, values.frame, values.style, values.spec, values.content, values.window,
|
|
73
73
|
avatar ? inline<BlobRef>(inputs.avatar?.value, "Comment Sticker avatar") : undefined,
|
|
74
74
|
)) }, needs: {} };
|
|
75
75
|
},
|
|
@@ -85,7 +85,7 @@ export const commentStickerComponent = {
|
|
|
85
85
|
producer: commentStickerProducers.render,
|
|
86
86
|
handler: ({ inputs }) => ({ outputs: { track: output(renderCommentSticker(
|
|
87
87
|
inline<CanvasSpace>(inputs.canvas?.value, "CanvasSpace"),
|
|
88
|
-
inline<
|
|
88
|
+
inline<Timeline>(inputs.timeline?.value, "Timeline"),
|
|
89
89
|
inline<CommentStickerProgram>(inputs.program?.value, "CommentStickerProgram"),
|
|
90
90
|
)) }, needs: {} }),
|
|
91
91
|
},
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { timelineTypes } from "@hypit/timeline";
|
|
2
|
+
|
|
2
3
|
import { artifactTypes } from "@hypit/artifact";
|
|
3
4
|
import { compositionTypes } from "@hypit/composition";
|
|
4
5
|
import { sealGraphFragment } from "@hypit/elaborator";
|
|
@@ -82,7 +83,7 @@ export function createCommentStickerFragment(items: readonly CommentStickerFragm
|
|
|
82
83
|
inputs: {
|
|
83
84
|
set: operation(current),
|
|
84
85
|
header: input("header"),
|
|
85
|
-
|
|
86
|
+
timeline: input("timeline"),
|
|
86
87
|
frame: input(item.frameName),
|
|
87
88
|
style: input(item.styleName),
|
|
88
89
|
window: input(item.windowName),
|
|
@@ -104,7 +105,7 @@ export function createCommentStickerFragment(items: readonly CommentStickerFragm
|
|
|
104
105
|
{
|
|
105
106
|
id: "comment:track",
|
|
106
107
|
producer: commentStickerProducers.render,
|
|
107
|
-
inputs: { canvas: input("canvas"),
|
|
108
|
+
inputs: { canvas: input("canvas"), timeline: input("timeline"), program: operation("comment:program") },
|
|
108
109
|
result: { kind: "output", name: "track" },
|
|
109
110
|
},
|
|
110
111
|
);
|
|
@@ -112,7 +113,7 @@ export function createCommentStickerFragment(items: readonly CommentStickerFragm
|
|
|
112
113
|
inputs: [
|
|
113
114
|
{ name: "canvas", type: spatialTypes.canvas },
|
|
114
115
|
{ name: "header", type: commentStickerTypes.header },
|
|
115
|
-
{ name: "
|
|
116
|
+
{ name: "timeline", type: timelineTypes.track },
|
|
116
117
|
...[...types].map(([inputName, type]) => ({ name: inputName, type })),
|
|
117
118
|
],
|
|
118
119
|
operations,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { timelineTypes } from "@hypit/timeline";
|
|
1
2
|
import { temporalContextAttributeVocabulary } from "@hypit/temporal-markup";
|
|
2
3
|
import { readFile } from "node:fs/promises";
|
|
3
4
|
|
|
@@ -5,9 +6,9 @@ import { artifactDependency, artifactTypes } from "@hypit/artifact";
|
|
|
5
6
|
import { compositionDependency, compositionTypes } from "@hypit/composition";
|
|
6
7
|
import { fontArtifactSchema, mediaDependency, mediaTypes } from "@hypit/media";
|
|
7
8
|
import { narrativeDependency } from "@hypit/narrative";
|
|
8
|
-
|
|
9
|
+
|
|
9
10
|
import type { ModuleManifest, ProducerRef, TypeRef, ValueSchema } from "@hypit/protocol";
|
|
10
|
-
import {
|
|
11
|
+
import { timelineDependency } from "@hypit/timeline";
|
|
11
12
|
import { spatialDependency, spatialFrameSchema, spatialTypes } from "@hypit/spatial";
|
|
12
13
|
import { svsRecipeType } from "@hypit/svs";
|
|
13
14
|
import { temporalDependency, temporalTypes } from "@hypit/temporal";
|
|
@@ -134,7 +135,7 @@ export const commentStickerProgramSchema: ValueSchema = object({
|
|
|
134
135
|
});
|
|
135
136
|
const appendInputs = [
|
|
136
137
|
{ name: "set", type: commentStickerTypes.set }, { name: "header", type: commentStickerTypes.header },
|
|
137
|
-
{ name: "
|
|
138
|
+
{ name: "timeline", type: timelineTypes.track },
|
|
138
139
|
{ name: "frame", type: spatialTypes.frame }, { name: "style", type: commentStickerTypes.style },
|
|
139
140
|
{ name: "spec", type: commentStickerTypes.itemSpec },
|
|
140
141
|
{ name: "content", type: commentStickerTypes.content }, { name: "window", type: temporalTypes.window },
|
|
@@ -311,7 +312,7 @@ export const commentStickerMarkupSurfaces = [
|
|
|
311
312
|
summary: "That Program rendered as one VisualTrack." },
|
|
312
313
|
],
|
|
313
314
|
example: `
|
|
314
|
-
<comment:Track id="comments" canvas={vertical}
|
|
315
|
+
<comment:Track id="comments" canvas={vertical} timeline={speech.timeline}>
|
|
315
316
|
<comment:Sticker id="one" frame={comment-frame} style={social} avatar={viewer-avatar}
|
|
316
317
|
author="@viewer" meta="Featured" during={story.selection.reaction}>
|
|
317
318
|
Wait, it pinned the caption to the word, not the second.
|
|
@@ -334,7 +335,7 @@ export const commentStickerManifest: ModuleManifest = {
|
|
|
334
335
|
format: "hypit.module@1",
|
|
335
336
|
name: commentStickerModuleRef.name,
|
|
336
337
|
version: commentStickerModuleRef.version,
|
|
337
|
-
dependencies: [artifactDependency, narrativeDependency,
|
|
338
|
+
dependencies: [artifactDependency, narrativeDependency, timelineDependency, spatialDependency, temporalDependency, mediaDependency, compositionDependency, textDependency],
|
|
338
339
|
types: [
|
|
339
340
|
{ name: commentStickerTypes.header.name },
|
|
340
341
|
{ name: commentStickerTypes.style.name },
|
|
@@ -366,7 +367,7 @@ export const commentStickerManifest: ModuleManifest = {
|
|
|
366
367
|
needs: [],
|
|
367
368
|
})),
|
|
368
369
|
{ name: commentStickerProducers.finalize.name, inputs: [{ name: "set", type: commentStickerTypes.set }, { name: "header", type: commentStickerTypes.header }], outputs: [{ name: "program", type: commentStickerTypes.program }], needs: [] },
|
|
369
|
-
{ name: commentStickerProducers.render.name, inputs: [{ name: "canvas", type: spatialTypes.canvas }, { name: "
|
|
370
|
+
{ name: commentStickerProducers.render.name, inputs: [{ name: "canvas", type: spatialTypes.canvas }, { name: "timeline", type: timelineTypes.track }, { name: "program", type: commentStickerTypes.program }], outputs: [{ name: "track", type: compositionTypes.visualTrack }], needs: [] },
|
|
370
371
|
],
|
|
371
372
|
};
|
|
372
373
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Timeline } from "@hypit/timeline";
|
|
1
2
|
import {
|
|
2
3
|
assertVisualTrackIdentity,
|
|
3
4
|
sealVisualTrack,
|
|
@@ -12,7 +13,6 @@ import type {
|
|
|
12
13
|
} from "@hypit/composition";
|
|
13
14
|
import { assertFontArtifactRef } from "@hypit/media";
|
|
14
15
|
import { assertProgramSpaceIdentity } from "@hypit/program-space";
|
|
15
|
-
import type { ProgramSpace } from "@hypit/program-space";
|
|
16
16
|
import { canonicalize, isResourceId } from "@hypit/protocol";
|
|
17
17
|
import type { BlobRef } from "@hypit/protocol";
|
|
18
18
|
import { assertCanvasSpace, assertSpatialFrame } from "@hypit/spatial";
|
|
@@ -195,7 +195,7 @@ export function assertCommentStickerSet(value: CommentStickerSet): void {
|
|
|
195
195
|
function realized(
|
|
196
196
|
set: CommentStickerSet,
|
|
197
197
|
header: CommentStickerHeader,
|
|
198
|
-
|
|
198
|
+
timeline: Timeline,
|
|
199
199
|
frame: SpatialFrame,
|
|
200
200
|
style: CommentStickerStyle,
|
|
201
201
|
spec: CommentStickerItemSpec,
|
|
@@ -229,7 +229,7 @@ function realized(
|
|
|
229
229
|
export function appendProjectedCommentSticker(
|
|
230
230
|
set: CommentStickerSet,
|
|
231
231
|
header: CommentStickerHeader,
|
|
232
|
-
|
|
232
|
+
timeline: Timeline,
|
|
233
233
|
frame: SpatialFrame,
|
|
234
234
|
style: CommentStickerStyle,
|
|
235
235
|
spec: CommentStickerItemSpec,
|
|
@@ -237,8 +237,8 @@ export function appendProjectedCommentSticker(
|
|
|
237
237
|
window: ProjectedWindow,
|
|
238
238
|
avatar?: BlobRef,
|
|
239
239
|
): CommentStickerSet {
|
|
240
|
-
assertTemporalWindowFor(window, { subjectId: spec.id, space });
|
|
241
|
-
return realized(set, header,
|
|
240
|
+
assertTemporalWindowFor(window, { subjectId: spec.id, space: timeline });
|
|
241
|
+
return realized(set, header, timeline, frame, style, spec, content, window, avatar);
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
export function assertCommentStickerProgram(value: CommentStickerProgram): void {
|
|
@@ -589,12 +589,12 @@ function stickerElements(item: CommentStickerItemProgram): readonly VisualElemen
|
|
|
589
589
|
return elements;
|
|
590
590
|
}
|
|
591
591
|
|
|
592
|
-
export function renderCommentSticker(canvas: CanvasSpace,
|
|
592
|
+
export function renderCommentSticker(canvas: CanvasSpace, timeline: Timeline, program: CommentStickerProgram): VisualTrack {
|
|
593
593
|
assertCanvasSpace(canvas);
|
|
594
|
-
assertProgramSpaceIdentity(
|
|
594
|
+
assertProgramSpaceIdentity(timeline);
|
|
595
595
|
assertCommentStickerProgram(program);
|
|
596
596
|
const track = sealVisualTrack({
|
|
597
|
-
programSpaceId:
|
|
597
|
+
programSpaceId: timeline.id,
|
|
598
598
|
visualIr: "hypit.visual-ir@1",
|
|
599
599
|
id: program.id,
|
|
600
600
|
presents: program.items.map((item) => ({
|
|
@@ -605,6 +605,6 @@ export function renderCommentSticker(canvas: CanvasSpace, space: ProgramSpace, p
|
|
|
605
605
|
elements: stickerElements(item),
|
|
606
606
|
})),
|
|
607
607
|
});
|
|
608
|
-
assertVisualTrackIdentity(track,
|
|
608
|
+
assertVisualTrackIdentity(track, timeline);
|
|
609
609
|
return track;
|
|
610
610
|
}
|