@hypit/hypit 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +26 -0
- package/README.md +203 -0
- package/README.zh-CN.md +195 -0
- package/bin/hypit.mjs +46 -0
- package/dist/public/artifact.d.ts +75 -0
- package/dist/public/author-kit.d.ts +559 -0
- package/dist/public/browser-capture.d.ts +56 -0
- package/dist/public/caption.d.ts +751 -0
- package/dist/public/composition.d.ts +672 -0
- package/dist/public/endpoint-kit.d.ts +366 -0
- package/dist/public/generation.d.ts +591 -0
- package/dist/public/hyperframes.d.ts +774 -0
- package/dist/public/media.d.ts +708 -0
- package/dist/public/model-kit.d.ts +523 -0
- package/dist/public/narrative.d.ts +315 -0
- package/dist/public/program-space.d.ts +193 -0
- package/dist/public/runtime-kit.d.ts +427 -0
- package/dist/public/semantic-track.d.ts +418 -0
- package/dist/public/spatial.d.ts +1193 -0
- package/dist/public/speech.d.ts +391 -0
- package/dist/public/studio-adapter.d.ts +686 -0
- package/dist/public/svs.d.ts +311 -0
- package/dist/public/temporal-markup.d.ts +343 -0
- package/dist/public/temporal.d.ts +497 -0
- package/dist/public/text.d.ts +817 -0
- package/dist/public/visual-ir.d.ts +98 -0
- package/docs/public/hypit-logo-dark.svg +36 -0
- package/docs/public/hypit-logo-light.svg +38 -0
- package/examples/README.md +24 -0
- package/examples/minimal-author-package/README.md +18 -0
- package/examples/minimal-author-package/packages/example-component/README.md +44 -0
- package/examples/minimal-author-package/packages/example-component/package.json +27 -0
- package/examples/minimal-author-package/packages/example-component/preview/Box.png +0 -0
- package/examples/minimal-author-package/packages/example-component/preview/build.svrun +6 -0
- package/examples/minimal-author-package/packages/example-component/preview/preview.svml +47 -0
- package/examples/minimal-author-package/packages/example-component/preview/recipes.svs +8 -0
- package/examples/minimal-author-package/packages/example-component/src/activation.ts +10 -0
- package/examples/minimal-author-package/packages/example-component/src/component.ts +44 -0
- package/examples/minimal-author-package/packages/example-component/src/fragment.ts +32 -0
- package/examples/minimal-author-package/packages/example-component/src/index.ts +6 -0
- package/examples/minimal-author-package/packages/example-component/src/manifest.ts +82 -0
- package/examples/minimal-author-package/packages/example-component/src/style.ts +13 -0
- package/examples/minimal-author-package/packages/example-component/src/surface.ts +41 -0
- package/examples/minimal-author-package/packages/example-component/src/temporal.ts +6 -0
- package/examples/minimal-author-package/packages/example-component/tsconfig.json +18 -0
- package/examples/semantic-composition/README.md +35 -0
- package/examples/semantic-composition/chat.svml +25 -0
- package/examples/semantic-composition/chat.svrun +6 -0
- package/examples/semantic-composition/chat.svs +4 -0
- package/examples/semantic-composition/hypit.runtime.json +8 -0
- package/examples/semantic-composition/packages/chat-scene/README.md +29 -0
- package/examples/semantic-composition/packages/chat-scene/package.json +11 -0
- package/examples/semantic-composition/packages/chat-scene/src/activation.ts +112 -0
- package/examples/semantic-composition/packages/chat-scene/src/render.ts +64 -0
- package/examples/semantic-composition/packages/chat-scene/tsconfig.json +18 -0
- package/examples/semantic-composition/packages/responsive-explainer/README.md +45 -0
- package/examples/semantic-composition/packages/responsive-explainer/package.json +11 -0
- package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +90 -0
- package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +68 -0
- package/examples/semantic-composition/packages/responsive-explainer/tsconfig.json +18 -0
- package/package.json +259 -7
- package/packages/artifact/README.md +10 -0
- package/packages/artifact/package.json +16 -0
- package/packages/artifact/src/activation.ts +8 -0
- package/packages/artifact/src/index.ts +24 -0
- package/packages/audio-track/README.md +43 -0
- package/packages/audio-track/package.json +36 -0
- package/packages/audio-track/src/activation.ts +20 -0
- package/packages/audio-track/src/component.ts +40 -0
- package/packages/audio-track/src/fragment.ts +63 -0
- package/packages/audio-track/src/index.ts +7 -0
- package/packages/audio-track/src/manifest.ts +151 -0
- package/packages/audio-track/src/program.ts +254 -0
- package/packages/audio-track/src/surface.ts +187 -0
- package/packages/audio-track/src/types.ts +62 -0
- package/packages/audio-track-studio/README.md +3 -0
- package/packages/audio-track-studio/package.json +14 -0
- package/packages/audio-track-studio/src/activation.ts +7 -0
- package/packages/audio-track-studio/src/index.ts +72 -0
- package/packages/author-kit/README.md +31 -0
- package/packages/author-kit/package.json +16 -0
- package/packages/author-kit/src/index.ts +59 -0
- package/packages/background-removal/README.md +29 -0
- package/packages/background-removal/package.json +16 -0
- package/packages/background-removal/src/activation.ts +18 -0
- package/packages/background-removal/src/component.ts +32 -0
- package/packages/background-removal/src/fragment.ts +18 -0
- package/packages/background-removal/src/index.ts +6 -0
- package/packages/background-removal/src/manifest.ts +45 -0
- package/packages/background-removal/src/program.ts +19 -0
- package/packages/background-removal/src/surface.ts +27 -0
- package/packages/background-removal/src/types.ts +5 -0
- package/packages/browser-capture/README.md +82 -0
- package/packages/browser-capture/package.json +15 -0
- package/packages/browser-capture/src/browser.ts +19 -0
- package/packages/browser-capture/src/index.ts +198 -0
- package/packages/build-result/package.json +13 -0
- package/packages/build-result/src/decode.ts +286 -0
- package/packages/build-result/src/index.ts +25 -0
- package/packages/build-result/src/store.ts +505 -0
- package/packages/build-result/src/types.ts +354 -0
- package/packages/build-result/src/writer.ts +184 -0
- package/packages/build-result-fs/README.md +29 -0
- package/packages/build-result-fs/package.json +17 -0
- package/packages/build-result-fs/src/activation.ts +62 -0
- package/packages/build-result-fs/src/index.ts +1 -0
- package/packages/build-result-kit/README.md +10 -0
- package/packages/build-result-kit/package.json +15 -0
- package/packages/build-result-kit/src/index.ts +144 -0
- package/packages/build-result-s3/README.md +49 -0
- package/packages/build-result-s3/package.json +19 -0
- package/packages/build-result-s3/src/activation.ts +71 -0
- package/packages/build-result-s3/src/client.ts +254 -0
- package/packages/build-result-s3/src/index.ts +4 -0
- package/packages/build-result-s3/src/repository.ts +361 -0
- package/packages/caption/README.md +77 -0
- package/packages/caption/package.json +28 -0
- package/packages/caption/src/activation.ts +17 -0
- package/packages/caption/src/component.ts +38 -0
- package/packages/caption/src/display.ts +111 -0
- package/packages/caption/src/error.ts +9 -0
- package/packages/caption/src/fragment.ts +26 -0
- package/packages/caption/src/index.ts +33 -0
- package/packages/caption/src/manifest.ts +97 -0
- package/packages/caption/src/style.ts +170 -0
- package/packages/caption/src/surface.ts +96 -0
- package/packages/caption/src/temporalize.ts +124 -0
- package/packages/caption/src/types.ts +71 -0
- package/packages/caption-fine/README.md +108 -0
- package/packages/caption-fine/package.json +30 -0
- package/packages/caption-fine/preview/Track.png +0 -0
- package/packages/caption-fine/src/activation.ts +32 -0
- package/packages/caption-fine/src/component.ts +58 -0
- package/packages/caption-fine/src/fragment.ts +112 -0
- package/packages/caption-fine/src/index.ts +19 -0
- package/packages/caption-fine/src/manifest.ts +383 -0
- package/packages/caption-fine/src/recipe.ts +120 -0
- package/packages/caption-fine/src/render.ts +1133 -0
- package/packages/caption-fine/src/schedule.ts +126 -0
- package/packages/caption-fine/src/spacing.ts +69 -0
- package/packages/caption-fine/src/style.ts +370 -0
- package/packages/caption-fine/src/surface.ts +152 -0
- package/packages/caption-fine/src/types.ts +191 -0
- package/packages/caption-fine-studio/README.md +3 -0
- package/packages/caption-fine-studio/package.json +15 -0
- package/packages/caption-fine-studio/src/activation.ts +7 -0
- package/packages/caption-fine-studio/src/index.ts +163 -0
- package/packages/cli/README.md +51 -0
- package/packages/cli/package.json +33 -0
- package/packages/cli/src/arguments.ts +605 -0
- package/packages/cli/src/build-planning.ts +460 -0
- package/packages/cli/src/command.ts +202 -0
- package/packages/cli/src/commands/environment.ts +391 -0
- package/packages/cli/src/commands/execution.ts +321 -0
- package/packages/cli/src/commands/results.ts +187 -0
- package/packages/cli/src/commands/types.ts +9 -0
- package/packages/cli/src/distribution.ts +74 -0
- package/packages/cli/src/index.ts +30 -0
- package/packages/cli/src/machine-view.ts +28 -0
- package/packages/cli/src/main.ts +654 -0
- package/packages/cli/src/oauth.ts +228 -0
- package/packages/cli/src/observation.ts +203 -0
- package/packages/cli/src/output.ts +1007 -0
- package/packages/cli/src/paths.ts +7 -0
- package/packages/cli/src/project-context.ts +38 -0
- package/packages/cli/src/reachability.ts +91 -0
- package/packages/cli/src/result-export.ts +148 -0
- package/packages/cli/src/result-query.ts +46 -0
- package/packages/cli/src/run-file.ts +186 -0
- package/packages/cli/src/runtime-port.ts +13 -0
- package/packages/cli/src/runtime-selection.ts +94 -0
- package/packages/cli/src/runtime-view.ts +15 -0
- package/packages/cli/src/source-discovery.ts +150 -0
- package/packages/cli/src/source-packages.ts +91 -0
- package/packages/cli/src/view.ts +228 -0
- package/packages/comment-sticker/README.md +41 -0
- package/packages/comment-sticker/package.json +29 -0
- package/packages/comment-sticker/preview/Track.png +0 -0
- package/packages/comment-sticker/src/activation.ts +32 -0
- package/packages/comment-sticker/src/author.ts +148 -0
- package/packages/comment-sticker/src/component.ts +97 -0
- package/packages/comment-sticker/src/fragment.ts +124 -0
- package/packages/comment-sticker/src/index.ts +8 -0
- package/packages/comment-sticker/src/manifest.ts +373 -0
- package/packages/comment-sticker/src/program.ts +610 -0
- package/packages/comment-sticker/src/surface.ts +172 -0
- package/packages/comment-sticker/src/types.ts +109 -0
- package/packages/comment-sticker-studio/README.md +3 -0
- package/packages/comment-sticker-studio/package.json +14 -0
- package/packages/comment-sticker-studio/src/activation.ts +7 -0
- package/packages/comment-sticker-studio/src/index.ts +132 -0
- package/packages/compiler-markup-node/README.md +12 -0
- package/packages/compiler-markup-node/package.json +22 -0
- package/packages/compiler-markup-node/src/index.ts +59 -0
- package/packages/compiler-node/README.md +60 -0
- package/packages/compiler-node/package.json +25 -0
- package/packages/compiler-node/src/compiler.ts +207 -0
- package/packages/compiler-node/src/error.ts +11 -0
- package/packages/compiler-node/src/graph-query.ts +51 -0
- package/packages/compiler-node/src/index.ts +27 -0
- package/packages/compiler-node/src/modules.ts +107 -0
- package/packages/compiler-node/src/run.ts +355 -0
- package/packages/component-kit/README.md +97 -0
- package/packages/component-kit/package.json +13 -0
- package/packages/component-kit/src/index.ts +155 -0
- package/packages/composition/README.md +53 -0
- package/packages/composition/package.json +29 -0
- package/packages/composition/src/activation.ts +3 -0
- package/packages/composition/src/component.ts +10 -0
- package/packages/composition/src/index.ts +18 -0
- package/packages/composition/src/manifest.ts +13 -0
- package/packages/composition/src/schema.ts +194 -0
- package/packages/composition/src/track.ts +1403 -0
- package/packages/core/README.md +22 -0
- package/packages/core/package.json +13 -0
- package/packages/core/src/error.ts +12 -0
- package/packages/core/src/graph.ts +341 -0
- package/packages/core/src/index.ts +32 -0
- package/packages/core/src/link.ts +240 -0
- package/packages/core/src/machine.ts +60 -0
- package/packages/core/src/plan.ts +504 -0
- package/packages/core/src/reducer.ts +428 -0
- package/packages/core/src/reference.ts +25 -0
- package/packages/core/src/slice.ts +108 -0
- package/packages/credential-store-env/README.md +11 -0
- package/packages/credential-store-env/package.json +17 -0
- package/packages/credential-store-env/src/activation.ts +25 -0
- package/packages/credential-store-env/src/index.ts +23 -0
- package/packages/credential-store-os/README.md +13 -0
- package/packages/credential-store-os/package.json +22 -0
- package/packages/credential-store-os/runtime/windows-credential.ps1 +59 -0
- package/packages/credential-store-os/src/activation.ts +32 -0
- package/packages/credential-store-os/src/index.ts +2 -0
- package/packages/credential-store-os/src/store.ts +196 -0
- package/packages/deck-track/README.md +52 -0
- package/packages/deck-track/package.json +35 -0
- package/packages/deck-track/preview/DepthStack.png +0 -0
- package/packages/deck-track/src/activation.ts +32 -0
- package/packages/deck-track/src/author.ts +217 -0
- package/packages/deck-track/src/component.ts +86 -0
- package/packages/deck-track/src/fragment.ts +148 -0
- package/packages/deck-track/src/index.ts +16 -0
- package/packages/deck-track/src/lower.ts +370 -0
- package/packages/deck-track/src/manifest.ts +438 -0
- package/packages/deck-track/src/program.ts +367 -0
- package/packages/deck-track/src/surface.ts +286 -0
- package/packages/deck-track/src/types.ts +119 -0
- package/packages/deck-track-studio/README.md +3 -0
- package/packages/deck-track-studio/package.json +14 -0
- package/packages/deck-track-studio/src/activation.ts +7 -0
- package/packages/deck-track-studio/src/index.ts +134 -0
- package/packages/driver-node/README.md +23 -0
- package/packages/driver-node/package.json +18 -0
- package/packages/driver-node/src/driver.ts +616 -0
- package/packages/driver-node/src/index.ts +10 -0
- package/packages/driver-node/src/planning.ts +67 -0
- package/packages/driver-node/src/registry.ts +234 -0
- package/packages/driver-node/src/resources.ts +36 -0
- package/packages/driver-node/src/types.ts +69 -0
- package/packages/elaborator/README.md +74 -0
- package/packages/elaborator/package.json +16 -0
- package/packages/elaborator/src/author.ts +308 -0
- package/packages/elaborator/src/fragment.ts +505 -0
- package/packages/elaborator/src/frontend-facet.ts +30 -0
- package/packages/elaborator/src/index.ts +78 -0
- package/packages/elaborator/src/source.ts +608 -0
- package/packages/endpoint-kit/README.md +111 -0
- package/packages/endpoint-kit/package.json +14 -0
- package/packages/endpoint-kit/src/index.ts +488 -0
- package/packages/estimate/README.md +32 -0
- package/packages/estimate/package.json +20 -0
- package/packages/estimate/src/activation.ts +11 -0
- package/packages/estimate/src/index.ts +16 -0
- package/packages/estimate/src/manifest.ts +34 -0
- package/packages/estimate/src/policy.ts +70 -0
- package/packages/estimate/src/program.ts +196 -0
- package/packages/estimate/src/types.ts +15 -0
- package/packages/film/README.md +49 -0
- package/packages/film/package.json +34 -0
- package/packages/film/src/activation.ts +16 -0
- package/packages/film/src/component.ts +61 -0
- package/packages/film/src/fragment.ts +83 -0
- package/packages/film/src/index.ts +11 -0
- package/packages/film/src/manifest.ts +152 -0
- package/packages/film/src/program.ts +110 -0
- package/packages/film/src/recipe.ts +24 -0
- package/packages/film/src/surface.ts +146 -0
- package/packages/film/src/types.ts +26 -0
- package/packages/film-studio/package.json +16 -0
- package/packages/film-studio/src/activation.ts +8 -0
- package/packages/film-studio/src/index.ts +17 -0
- package/packages/fonts-open/README.md +77 -0
- package/packages/fonts-open/package.json +130 -0
- package/packages/fonts-open/src/activation.ts +30 -0
- package/packages/fonts-open/src/catalog.ts +317 -0
- package/packages/fonts-open/src/index.ts +13 -0
- package/packages/fonts-open/src/manifest.ts +83 -0
- package/packages/fonts-open/src/surface.ts +239 -0
- package/packages/generation/README.md +19 -0
- package/packages/generation/package.json +23 -0
- package/packages/generation/src/activation.ts +9 -0
- package/packages/generation/src/component.ts +77 -0
- package/packages/generation/src/identity.ts +80 -0
- package/packages/generation/src/index.ts +79 -0
- package/packages/generation/src/manifest.ts +65 -0
- package/packages/generation/src/mapping.ts +231 -0
- package/packages/generation/src/ports.ts +222 -0
- package/packages/generation/src/request.ts +427 -0
- package/packages/generation/src/schema.ts +62 -0
- package/packages/generation/src/types.ts +17 -0
- package/packages/gpt-image/README.md +54 -0
- package/packages/gpt-image/package.json +34 -0
- package/packages/gpt-image/src/activation.ts +39 -0
- package/packages/gpt-image/src/fragment.ts +101 -0
- package/packages/gpt-image/src/index.ts +203 -0
- package/packages/gpt-image/src/surface.ts +194 -0
- package/packages/gpt-image-kits/README.md +44 -0
- package/packages/gpt-image-kits/kits/phone-ugc-v1.svs +34 -0
- package/packages/gpt-image-kits/package.json +15 -0
- package/packages/grok-imagine/README.md +21 -0
- package/packages/grok-imagine/package.json +21 -0
- package/packages/grok-imagine/src/activation.ts +29 -0
- package/packages/grok-imagine/src/index.ts +174 -0
- package/packages/grok-imagine/src/surface.ts +149 -0
- package/packages/host/README.md +5 -0
- package/packages/host/package.json +10 -0
- package/packages/host/src/facet.ts +6 -0
- package/packages/host/src/frontend.ts +56 -0
- package/packages/host/src/index.ts +9 -0
- package/packages/hyperframes/README.md +69 -0
- package/packages/hyperframes/package.json +36 -0
- package/packages/hyperframes/src/activation.ts +8 -0
- package/packages/hyperframes/src/browser-program.ts +79 -0
- package/packages/hyperframes/src/component.ts +32 -0
- package/packages/hyperframes/src/document.ts +827 -0
- package/packages/hyperframes/src/fragment.ts +32 -0
- package/packages/hyperframes/src/index.ts +13 -0
- package/packages/hyperframes/src/manifest.ts +67 -0
- package/packages/hyperframes/src/project.ts +118 -0
- package/packages/hyperframes/src/text.ts +1179 -0
- package/packages/hyperframes/src/types.ts +38 -0
- package/packages/image-compose/README.md +25 -0
- package/packages/image-compose/package.json +18 -0
- package/packages/image-compose/src/activation.ts +21 -0
- package/packages/image-compose/src/component.ts +100 -0
- package/packages/image-compose/src/fragment.ts +54 -0
- package/packages/image-compose/src/index.ts +10 -0
- package/packages/image-compose/src/manifest.ts +119 -0
- package/packages/image-compose/src/program.ts +75 -0
- package/packages/image-compose/src/surface.ts +83 -0
- package/packages/image-compose/src/types.ts +22 -0
- package/packages/image-transform/README.md +29 -0
- package/packages/image-transform/package.json +21 -0
- package/packages/image-transform/src/activation.ts +33 -0
- package/packages/image-transform/src/component.ts +67 -0
- package/packages/image-transform/src/fragment.ts +25 -0
- package/packages/image-transform/src/index.ts +13 -0
- package/packages/image-transform/src/manifest.ts +209 -0
- package/packages/image-transform/src/program.ts +23 -0
- package/packages/image-transform/src/surface.ts +216 -0
- package/packages/image-transform/src/types.ts +20 -0
- package/packages/interview-emoji-reveal/README.md +39 -0
- package/packages/interview-emoji-reveal/package.json +23 -0
- package/packages/interview-emoji-reveal/preview/Track.png +0 -0
- package/packages/interview-emoji-reveal/src/activation.ts +14 -0
- package/packages/interview-emoji-reveal/src/component.ts +45 -0
- package/packages/interview-emoji-reveal/src/fragment.ts +62 -0
- package/packages/interview-emoji-reveal/src/index.ts +16 -0
- package/packages/interview-emoji-reveal/src/manifest.ts +174 -0
- package/packages/interview-emoji-reveal/src/program.ts +242 -0
- package/packages/interview-emoji-reveal/src/style.ts +47 -0
- package/packages/interview-emoji-reveal/src/surface.ts +110 -0
- package/packages/interview-emoji-reveal/src/types.ts +52 -0
- package/packages/markup/README.md +81 -0
- package/packages/markup/package.json +16 -0
- package/packages/markup/src/element.ts +39 -0
- package/packages/markup/src/error.ts +20 -0
- package/packages/markup/src/frontend.ts +518 -0
- package/packages/markup/src/host-facet.ts +115 -0
- package/packages/markup/src/index.ts +25 -0
- package/packages/markup/src/registry.ts +83 -0
- package/packages/markup/src/syntax.ts +271 -0
- package/packages/markup/src/types.ts +246 -0
- package/packages/media/README.md +37 -0
- package/packages/media/package.json +19 -0
- package/packages/media/src/activation.ts +38 -0
- package/packages/media/src/component.ts +16 -0
- package/packages/media/src/frame-range.ts +33 -0
- package/packages/media/src/identity.ts +227 -0
- package/packages/media/src/index.ts +15 -0
- package/packages/media/src/manifest.ts +122 -0
- package/packages/media/src/render.ts +140 -0
- package/packages/media/src/schema.ts +69 -0
- package/packages/media/src/surface.ts +150 -0
- package/packages/media/src/types.ts +121 -0
- package/packages/media-execution/README.md +28 -0
- package/packages/media-execution/package.json +17 -0
- package/packages/media-execution/src/execute.ts +1322 -0
- package/packages/media-execution/src/index.ts +16 -0
- package/packages/media-execution/src/probe.ts +315 -0
- package/packages/media-execution/src/surface.ts +286 -0
- package/packages/media-execution/src/toolchain.ts +81 -0
- package/packages/media-execution/src/webp.ts +200 -0
- package/packages/media-pipeline/README.md +113 -0
- package/packages/media-pipeline/package.json +27 -0
- package/packages/media-pipeline/src/activation.ts +47 -0
- package/packages/media-pipeline/src/audio-plan.ts +113 -0
- package/packages/media-pipeline/src/component.ts +373 -0
- package/packages/media-pipeline/src/fragment.ts +167 -0
- package/packages/media-pipeline/src/index.ts +46 -0
- package/packages/media-pipeline/src/manifest.ts +653 -0
- package/packages/media-pipeline/src/operations.ts +248 -0
- package/packages/media-pipeline/src/selection.ts +110 -0
- package/packages/media-pipeline/src/surface.ts +389 -0
- package/packages/media-pipeline/src/types.ts +175 -0
- package/packages/media-track/README.md +197 -0
- package/packages/media-track/package.json +29 -0
- package/packages/media-track/preview/Track.png +0 -0
- package/packages/media-track/preview/build.svrun +5 -0
- package/packages/media-track/preview/flush.png +0 -0
- package/packages/media-track/preview/preview.svml +47 -0
- package/packages/media-track/preview/recipes.svs +23 -0
- package/packages/media-track/preview/rounded.png +0 -0
- package/packages/media-track/src/activation.ts +20 -0
- package/packages/media-track/src/author.ts +317 -0
- package/packages/media-track/src/component.ts +162 -0
- package/packages/media-track/src/fragment.ts +57 -0
- package/packages/media-track/src/index.ts +65 -0
- package/packages/media-track/src/layers.ts +308 -0
- package/packages/media-track/src/lower.ts +335 -0
- package/packages/media-track/src/manifest.ts +624 -0
- package/packages/media-track/src/motion.ts +387 -0
- package/packages/media-track/src/performance.ts +37 -0
- package/packages/media-track/src/presentation.ts +35 -0
- package/packages/media-track/src/program.ts +565 -0
- package/packages/media-track/src/sampling.ts +118 -0
- package/packages/media-track/src/sequence.ts +403 -0
- package/packages/media-track/src/sounds.ts +71 -0
- package/packages/media-track/src/surface.ts +668 -0
- package/packages/media-track/src/types.ts +311 -0
- package/packages/media-track-studio/README.md +3 -0
- package/packages/media-track-studio/package.json +15 -0
- package/packages/media-track-studio/src/activation.ts +7 -0
- package/packages/media-track-studio/src/index.ts +235 -0
- package/packages/mimo-speech/README.md +33 -0
- package/packages/mimo-speech/package.json +21 -0
- package/packages/mimo-speech/src/activation.ts +32 -0
- package/packages/mimo-speech/src/fragment.ts +11 -0
- package/packages/mimo-speech/src/index.ts +160 -0
- package/packages/mimo-speech/src/surface.ts +193 -0
- package/packages/minimax-h3/README.md +21 -0
- package/packages/minimax-h3/package.json +21 -0
- package/packages/minimax-h3/src/activation.ts +14 -0
- package/packages/minimax-h3/src/index.ts +188 -0
- package/packages/minimax-h3/src/surface.ts +87 -0
- package/packages/model-kit/README.md +52 -0
- package/packages/model-kit/package.json +19 -0
- package/packages/model-kit/src/index.ts +728 -0
- package/packages/nano-banana/README.md +23 -0
- package/packages/nano-banana/package.json +21 -0
- package/packages/nano-banana/src/activation.ts +14 -0
- package/packages/nano-banana/src/index.ts +172 -0
- package/packages/nano-banana/src/surface.ts +120 -0
- package/packages/narrative/README.md +7 -0
- package/packages/narrative/package.json +17 -0
- package/packages/narrative/src/activation.ts +7 -0
- package/packages/narrative/src/component.ts +33 -0
- package/packages/narrative/src/identity.ts +131 -0
- package/packages/narrative/src/index.ts +11 -0
- package/packages/narrative/src/manifest.ts +30 -0
- package/packages/narrative/src/schema.ts +89 -0
- package/packages/narrative/src/types.ts +141 -0
- package/packages/package-loader-node/README.md +23 -0
- package/packages/package-loader-node/package.json +15 -0
- package/packages/package-loader-node/src/contribution.ts +97 -0
- package/packages/package-loader-node/src/distribution-resolution.ts +146 -0
- package/packages/package-loader-node/src/index.ts +27 -0
- package/packages/package-loader-node/src/loader.ts +301 -0
- package/packages/package-loader-node/src/location.ts +279 -0
- package/packages/package-loader-node/src/types.ts +60 -0
- package/packages/program-space/README.md +20 -0
- package/packages/program-space/package.json +17 -0
- package/packages/program-space/src/activation.ts +19 -0
- package/packages/program-space/src/index.ts +107 -0
- package/packages/program-space/src/surface.ts +55 -0
- package/packages/protocol/README.md +11 -0
- package/packages/protocol/package.json +10 -0
- package/packages/protocol/src/build-id.ts +52 -0
- package/packages/protocol/src/build.ts +265 -0
- package/packages/protocol/src/canonical.ts +37 -0
- package/packages/protocol/src/error.ts +11 -0
- package/packages/protocol/src/identity.ts +59 -0
- package/packages/protocol/src/index.ts +9 -0
- package/packages/protocol/src/module.ts +67 -0
- package/packages/protocol/src/value.ts +88 -0
- package/packages/provider-hyperframes-aws-lambda/README.md +30 -0
- package/packages/provider-hyperframes-aws-lambda/package.json +30 -0
- package/packages/provider-hyperframes-aws-lambda/src/activation.ts +97 -0
- package/packages/provider-hyperframes-aws-lambda/src/client.ts +114 -0
- package/packages/provider-hyperframes-aws-lambda/src/index.ts +21 -0
- package/packages/provider-hyperframes-aws-lambda/src/provider.ts +522 -0
- package/packages/provider-hyperframes-local/README.md +129 -0
- package/packages/provider-hyperframes-local/package.json +34 -0
- package/packages/provider-hyperframes-local/src/activation.ts +107 -0
- package/packages/provider-hyperframes-local/src/capture-process.ts +110 -0
- package/packages/provider-hyperframes-local/src/capture-worker.ts +17 -0
- package/packages/provider-hyperframes-local/src/capture.ts +184 -0
- package/packages/provider-hyperframes-local/src/index.ts +10 -0
- package/packages/provider-hyperframes-local/src/options.ts +19 -0
- package/packages/provider-hyperframes-local/src/output.ts +73 -0
- package/packages/provider-hyperframes-local/src/process.ts +83 -0
- package/packages/provider-hyperframes-local/src/program.ts +58 -0
- package/packages/provider-hyperframes-local/src/provider.ts +62 -0
- package/packages/provider-hyperframes-local/src/render.ts +114 -0
- package/packages/provider-hyperframes-local/src/sampling.ts +89 -0
- package/packages/provider-hypihub/README.md +143 -0
- package/packages/provider-hypihub/package.json +26 -0
- package/packages/provider-hypihub/src/activation.ts +91 -0
- package/packages/provider-hypihub/src/index.ts +2 -0
- package/packages/provider-hypihub/src/mapping.ts +145 -0
- package/packages/provider-hypihub/src/oauth.ts +113 -0
- package/packages/provider-hypihub/src/provider.ts +566 -0
- package/packages/provider-hypihub/src/routes.ts +134 -0
- package/packages/provider-hypihub/src/upload.ts +402 -0
- package/packages/provider-image-opencv-local/README.md +16 -0
- package/packages/provider-image-opencv-local/package.json +27 -0
- package/packages/provider-image-opencv-local/runtime/raster_execute.py +299 -0
- package/packages/provider-image-opencv-local/src/activation.ts +61 -0
- package/packages/provider-image-opencv-local/src/deployment.ts +68 -0
- package/packages/provider-image-opencv-local/src/index.ts +2 -0
- package/packages/provider-image-opencv-local/src/program.ts +60 -0
- package/packages/provider-image-opencv-local/src/provider.ts +155 -0
- package/packages/provider-kie/README.md +134 -0
- package/packages/provider-kie/package.json +43 -0
- package/packages/provider-kie/src/activation.ts +71 -0
- package/packages/provider-kie/src/index.ts +10 -0
- package/packages/provider-kie/src/mapping.ts +182 -0
- package/packages/provider-kie/src/provider.ts +657 -0
- package/packages/provider-kie/src/routes.ts +150 -0
- package/packages/provider-media-local/README.md +58 -0
- package/packages/provider-media-local/package.json +28 -0
- package/packages/provider-media-local/src/activation.ts +65 -0
- package/packages/provider-media-local/src/index.ts +2 -0
- package/packages/provider-media-local/src/program.ts +19 -0
- package/packages/provider-media-local/src/provider.ts +150 -0
- package/packages/provider-whisperx-local/README.md +44 -0
- package/packages/provider-whisperx-local/package.json +27 -0
- package/packages/provider-whisperx-local/src/activation.ts +93 -0
- package/packages/provider-whisperx-local/src/index.ts +5 -0
- package/packages/provider-whisperx-local/src/program.ts +157 -0
- package/packages/provider-whisperx-local/src/provider.ts +191 -0
- package/packages/provider-xiaomi-mimo/README.md +32 -0
- package/packages/provider-xiaomi-mimo/package.json +24 -0
- package/packages/provider-xiaomi-mimo/src/activation.ts +57 -0
- package/packages/provider-xiaomi-mimo/src/index.ts +5 -0
- package/packages/provider-xiaomi-mimo/src/provider.ts +214 -0
- package/packages/ranking/README.md +67 -0
- package/packages/ranking/package.json +33 -0
- package/packages/ranking/preview/Column.svg +29 -0
- package/packages/ranking/preview/TierBoard.png +0 -0
- package/packages/ranking/preview/TierBoard.svg +36 -0
- package/packages/ranking/preview/TopThree.png +0 -0
- package/packages/ranking/src/activation.ts +38 -0
- package/packages/ranking/src/component.ts +271 -0
- package/packages/ranking/src/fragment.ts +206 -0
- package/packages/ranking/src/index.ts +26 -0
- package/packages/ranking/src/manifest.ts +807 -0
- package/packages/ranking/src/render.ts +698 -0
- package/packages/ranking/src/schedule.ts +895 -0
- package/packages/ranking/src/style.ts +272 -0
- package/packages/ranking/src/surface.ts +322 -0
- package/packages/ranking/src/tier.ts +176 -0
- package/packages/ranking/src/types.ts +277 -0
- package/packages/ranking-studio/README.md +3 -0
- package/packages/ranking-studio/package.json +14 -0
- package/packages/ranking-studio/src/activation.ts +7 -0
- package/packages/ranking-studio/src/index.ts +255 -0
- package/packages/raster/README.md +7 -0
- package/packages/raster/package.json +14 -0
- package/packages/raster/src/activation.ts +7 -0
- package/packages/raster/src/index.ts +7 -0
- package/packages/raster/src/manifest.ts +14 -0
- package/packages/raster/src/program.ts +128 -0
- package/packages/raster/src/schema.ts +53 -0
- package/packages/raster/src/types.ts +61 -0
- package/packages/render-hyperframes/README.md +58 -0
- package/packages/render-hyperframes/package.json +33 -0
- package/packages/render-hyperframes/src/activation.ts +18 -0
- package/packages/render-hyperframes/src/component.ts +37 -0
- package/packages/render-hyperframes/src/fragment.ts +73 -0
- package/packages/render-hyperframes/src/index.ts +6 -0
- package/packages/render-hyperframes/src/manifest.ts +100 -0
- package/packages/render-hyperframes/src/product.ts +29 -0
- package/packages/render-hyperframes/src/surface.ts +65 -0
- package/packages/resource-store-fs/README.md +13 -0
- package/packages/resource-store-fs/package.json +14 -0
- package/packages/resource-store-fs/src/index.ts +2 -0
- package/packages/resource-store-fs/src/store.ts +154 -0
- package/packages/resource-store-s3/README.md +15 -0
- package/packages/resource-store-s3/package.json +15 -0
- package/packages/resource-store-s3/src/client.ts +138 -0
- package/packages/resource-store-s3/src/index.ts +10 -0
- package/packages/resource-store-s3/src/store.ts +258 -0
- package/packages/run/README.md +23 -0
- package/packages/run/package.json +16 -0
- package/packages/run/src/candidate.ts +33 -0
- package/packages/run/src/facet.ts +59 -0
- package/packages/run/src/frontend-facet.ts +23 -0
- package/packages/run/src/frontend.ts +62 -0
- package/packages/run/src/graph.ts +65 -0
- package/packages/run/src/index.ts +33 -0
- package/packages/run/src/registry.ts +24 -0
- package/packages/run/src/resolve.ts +213 -0
- package/packages/run/src/types.ts +147 -0
- package/packages/run-markup/README.md +60 -0
- package/packages/run-markup/package.json +22 -0
- package/packages/run-markup/src/activation.ts +10 -0
- package/packages/run-markup/src/frontend.ts +16 -0
- package/packages/run-markup/src/index.ts +5 -0
- package/packages/run-markup/src/syntax.ts +304 -0
- package/packages/runtime/README.md +39 -0
- package/packages/runtime/package.json +15 -0
- package/packages/runtime/src/capacity.ts +51 -0
- package/packages/runtime/src/catalog.ts +30 -0
- package/packages/runtime/src/credentials.ts +124 -0
- package/packages/runtime/src/environment.ts +6 -0
- package/packages/runtime/src/execution.ts +125 -0
- package/packages/runtime/src/index.ts +24 -0
- package/packages/runtime/src/operations.ts +99 -0
- package/packages/runtime/src/scheduler.ts +281 -0
- package/packages/runtime/src/submission.ts +24 -0
- package/packages/runtime/src/types.ts +157 -0
- package/packages/runtime-host-node/README.md +25 -0
- package/packages/runtime-host-node/package.json +19 -0
- package/packages/runtime-host-node/src/index.ts +421 -0
- package/packages/runtime-host-node/src/packages.ts +158 -0
- package/packages/runtime-kit/README.md +42 -0
- package/packages/runtime-kit/package.json +16 -0
- package/packages/runtime-kit/src/index.ts +307 -0
- package/packages/runtime-kit/src/request-deadline.ts +17 -0
- package/packages/runtime-local/README.md +119 -0
- package/packages/runtime-local/package.json +33 -0
- package/packages/runtime-local/src/actions.ts +20 -0
- package/packages/runtime-local/src/config.ts +1229 -0
- package/packages/runtime-local/src/control.ts +120 -0
- package/packages/runtime-local/src/credentials.ts +61 -0
- package/packages/runtime-local/src/host.ts +174 -0
- package/packages/runtime-local/src/index.ts +36 -0
- package/packages/runtime-local/src/process-control.ts +59 -0
- package/packages/runtime-local/src/process-logs.ts +33 -0
- package/packages/runtime-local/src/programs.ts +441 -0
- package/packages/runtime-local/src/result-writer.ts +246 -0
- package/packages/runtime-local/src/runtime.ts +342 -0
- package/packages/runtime-local/src/types.ts +100 -0
- package/packages/runtime-local/src/worker-process.ts +343 -0
- package/packages/runtime-local/src/worker.ts +449 -0
- package/packages/screen-overlay/README.md +17 -0
- package/packages/screen-overlay/package.json +31 -0
- package/packages/screen-overlay/preview/Track.png +0 -0
- package/packages/screen-overlay/src/activation.ts +15 -0
- package/packages/screen-overlay/src/component.ts +20 -0
- package/packages/screen-overlay/src/fragment.ts +40 -0
- package/packages/screen-overlay/src/index.ts +7 -0
- package/packages/screen-overlay/src/manifest.ts +305 -0
- package/packages/screen-overlay/src/program.ts +321 -0
- package/packages/screen-overlay/src/surface.ts +90 -0
- package/packages/screen-overlay/src/types.ts +69 -0
- package/packages/screen-overlay-studio/README.md +3 -0
- package/packages/screen-overlay-studio/package.json +14 -0
- package/packages/screen-overlay-studio/src/activation.ts +7 -0
- package/packages/screen-overlay-studio/src/index.ts +80 -0
- package/packages/script/README.md +137 -0
- package/packages/script/package.json +22 -0
- package/packages/script/src/activation.ts +20 -0
- package/packages/script/src/edit.ts +174 -0
- package/packages/script/src/error.ts +13 -0
- package/packages/script/src/format.ts +83 -0
- package/packages/script/src/index.ts +20 -0
- package/packages/script/src/lexical.ts +133 -0
- package/packages/script/src/manifest.ts +95 -0
- package/packages/script/src/narrative.ts +232 -0
- package/packages/script/src/parser.ts +850 -0
- package/packages/script/src/surface.ts +132 -0
- package/packages/script/src/types.ts +125 -0
- package/packages/script-studio/package.json +13 -0
- package/packages/script-studio/src/activation.ts +8 -0
- package/packages/script-studio/src/index.ts +61 -0
- package/packages/seedance/README.md +19 -0
- package/packages/seedance/package.json +22 -0
- package/packages/seedance/src/activation.ts +38 -0
- package/packages/seedance/src/fragment.ts +46 -0
- package/packages/seedance/src/index.ts +329 -0
- package/packages/seedance/src/surface.ts +355 -0
- package/packages/seedance-kits/README.md +153 -0
- package/packages/seedance-kits/kits/broll-v1.svs +52 -0
- package/packages/seedance-kits/kits/call-v1.svs +55 -0
- package/packages/seedance-kits/kits/camera-reference-v1.svs +9 -0
- package/packages/seedance-kits/kits/motion-reference-v1.svs +9 -0
- package/packages/seedance-kits/kits/podcast-v1.svs +55 -0
- package/packages/seedance-kits/kits/speaker-v1.svs +136 -0
- package/packages/seedance-kits/kits/street-interview-v1.svs +49 -0
- package/packages/seedance-kits/package.json +24 -0
- package/packages/seedream/README.md +21 -0
- package/packages/seedream/package.json +21 -0
- package/packages/seedream/src/activation.ts +12 -0
- package/packages/seedream/src/index.ts +162 -0
- package/packages/seedream/src/surface.ts +84 -0
- package/packages/semantic-take-adjust/package.json +21 -0
- package/packages/semantic-take-adjust/src/activation.ts +22 -0
- package/packages/semantic-take-adjust/src/component.ts +31 -0
- package/packages/semantic-take-adjust/src/fragment.ts +24 -0
- package/packages/semantic-take-adjust/src/index.ts +12 -0
- package/packages/semantic-take-adjust/src/manifest.ts +57 -0
- package/packages/semantic-take-adjust/src/program.ts +49 -0
- package/packages/semantic-take-adjust/src/surface.ts +96 -0
- package/packages/semantic-take-adjust/src/types.ts +9 -0
- package/packages/semantic-track/README.md +21 -0
- package/packages/semantic-track/package.json +22 -0
- package/packages/semantic-track/src/activation.ts +8 -0
- package/packages/semantic-track/src/component.ts +24 -0
- package/packages/semantic-track/src/identity.ts +58 -0
- package/packages/semantic-track/src/index.ts +6 -0
- package/packages/semantic-track/src/location.ts +81 -0
- package/packages/semantic-track/src/manifest.ts +38 -0
- package/packages/semantic-track/src/projection.ts +71 -0
- package/packages/semantic-track/src/types.ts +26 -0
- package/packages/source/README.md +13 -0
- package/packages/source/package.json +13 -0
- package/packages/source/src/header.ts +80 -0
- package/packages/source/src/index.ts +17 -0
- package/packages/source/src/unit.ts +38 -0
- package/packages/spatial/README.md +77 -0
- package/packages/spatial/package.json +24 -0
- package/packages/spatial/src/activation.ts +43 -0
- package/packages/spatial/src/author.ts +59 -0
- package/packages/spatial/src/component.ts +45 -0
- package/packages/spatial/src/fragment.ts +36 -0
- package/packages/spatial/src/geometry.ts +238 -0
- package/packages/spatial/src/index.ts +37 -0
- package/packages/spatial/src/manifest.ts +341 -0
- package/packages/spatial/src/region-timeline.ts +69 -0
- package/packages/spatial/src/schema.ts +47 -0
- package/packages/spatial/src/surface.ts +319 -0
- package/packages/spatial/src/types.ts +101 -0
- package/packages/speech/README.md +16 -0
- package/packages/speech/package.json +19 -0
- package/packages/speech/src/activation.ts +7 -0
- package/packages/speech/src/component.ts +43 -0
- package/packages/speech/src/identity.ts +73 -0
- package/packages/speech/src/index.ts +6 -0
- package/packages/speech/src/manifest.ts +30 -0
- package/packages/speech/src/materialize.ts +103 -0
- package/packages/speech/src/schema.ts +42 -0
- package/packages/speech/src/types.ts +54 -0
- package/packages/speech-alignment/README.md +29 -0
- package/packages/speech-alignment/package.json +25 -0
- package/packages/speech-alignment/src/activation.ts +8 -0
- package/packages/speech-alignment/src/align.ts +235 -0
- package/packages/speech-alignment/src/component.ts +37 -0
- package/packages/speech-alignment/src/error.ts +9 -0
- package/packages/speech-alignment/src/index.ts +7 -0
- package/packages/speech-alignment/src/local.ts +64 -0
- package/packages/speech-alignment/src/locate.ts +473 -0
- package/packages/speech-alignment/src/manifest.ts +37 -0
- package/packages/speech-alignment/src/normalize.ts +79 -0
- package/packages/speech-alignment/src/types.ts +30 -0
- package/packages/speech-evidence/README.md +3 -0
- package/packages/speech-evidence/package.json +16 -0
- package/packages/speech-evidence/src/activation.ts +3 -0
- package/packages/speech-evidence/src/index.ts +102 -0
- package/packages/speech-track/README.md +51 -0
- package/packages/speech-track/package.json +28 -0
- package/packages/speech-track/preview/Track.png +0 -0
- package/packages/speech-track/src/activation.ts +19 -0
- package/packages/speech-track/src/component.ts +45 -0
- package/packages/speech-track/src/fragment.ts +74 -0
- package/packages/speech-track/src/index.ts +7 -0
- package/packages/speech-track/src/manifest.ts +73 -0
- package/packages/speech-track/src/program.ts +64 -0
- package/packages/speech-track/src/surface.ts +35 -0
- package/packages/speech-track/src/types.ts +6 -0
- package/packages/speech-track-studio/README.md +3 -0
- package/packages/speech-track-studio/package.json +14 -0
- package/packages/speech-track-studio/src/activation.ts +7 -0
- package/packages/speech-track-studio/src/index.ts +40 -0
- package/packages/store-sqlite/README.md +14 -0
- package/packages/store-sqlite/package.json +18 -0
- package/packages/store-sqlite/src/index.ts +2 -0
- package/packages/store-sqlite/src/store.ts +1101 -0
- package/packages/studio/README.md +125 -0
- package/packages/studio/index.html +10 -0
- package/packages/studio/package.json +50 -0
- package/packages/studio/src/build-library.ts +281 -0
- package/packages/studio/src/companion-assembly.ts +39 -0
- package/packages/studio/src/compile.ts +166 -0
- package/packages/studio/src/domain.ts +139 -0
- package/packages/studio/src/execute.ts +57 -0
- package/packages/studio/src/fallback-companions.ts +98 -0
- package/packages/studio/src/observe.ts +202 -0
- package/packages/studio/src/parameter-values.ts +81 -0
- package/packages/studio/src/parameters.ts +550 -0
- package/packages/studio/src/preview/render.ts +51 -0
- package/packages/studio/src/preview/runtime-shim.ts +184 -0
- package/packages/studio/src/programme.ts +276 -0
- package/packages/studio/src/run.ts +85 -0
- package/packages/studio/src/server.ts +725 -0
- package/packages/studio/src/session.ts +111 -0
- package/packages/studio/src/shared.ts +315 -0
- package/packages/studio/src/snapshot.ts +454 -0
- package/packages/studio/src/source-transaction.ts +57 -0
- package/packages/studio/src/storyboard.ts +133 -0
- package/packages/studio/src/studio-preflight.ts +198 -0
- package/packages/studio/src/studio-registry.ts +406 -0
- package/packages/studio/src/studio-trace.ts +136 -0
- package/packages/studio/src/style.css +1525 -0
- package/packages/studio/src/surface-preview.ts +35 -0
- package/packages/studio/src/temporal-graph.ts +227 -0
- package/packages/studio/src/ui/code.ts +450 -0
- package/packages/studio/src/ui/icons.ts +51 -0
- package/packages/studio/src/ui/library.ts +378 -0
- package/packages/studio/src/ui/main.ts +1001 -0
- package/packages/studio/src/ui/markers.ts +152 -0
- package/packages/studio/src/ui/material-preview.ts +176 -0
- package/packages/studio/src/ui/overlay.ts +144 -0
- package/packages/studio/src/ui/resize.ts +74 -0
- package/packages/studio/src/ui/selection.ts +178 -0
- package/packages/studio/src/ui/stage.ts +231 -0
- package/packages/studio/src/ui/syntax.ts +195 -0
- package/packages/studio/src/ui/timeline.ts +1041 -0
- package/packages/studio/src/ui/writeback.ts +10 -0
- package/packages/studio/src/ui/zoom.ts +129 -0
- package/packages/studio/start.ts +143 -0
- package/packages/studio-adapter/README.md +186 -0
- package/packages/studio-adapter/package.json +14 -0
- package/packages/studio-adapter/src/index.ts +850 -0
- package/packages/svs/README.md +37 -0
- package/packages/svs/package.json +21 -0
- package/packages/svs/src/activation.ts +11 -0
- package/packages/svs/src/format.ts +16 -0
- package/packages/svs/src/frontend.ts +33 -0
- package/packages/svs/src/index.ts +5 -0
- package/packages/svs/src/manifest.ts +17 -0
- package/packages/svs/src/parser.ts +279 -0
- package/packages/svs/src/types.ts +26 -0
- package/packages/temporal/README.md +31 -0
- package/packages/temporal/package.json +20 -0
- package/packages/temporal/src/activation.ts +9 -0
- package/packages/temporal/src/component.ts +68 -0
- package/packages/temporal/src/index.ts +110 -0
- package/packages/temporal/src/location.ts +67 -0
- package/packages/temporal/src/projection.ts +280 -0
- package/packages/temporal/src/rational.ts +80 -0
- package/packages/temporal/src/sample.ts +43 -0
- package/packages/temporal/src/schedule.ts +52 -0
- package/packages/temporal/src/types.ts +124 -0
- package/packages/temporal-markup/README.md +75 -0
- package/packages/temporal-markup/package.json +18 -0
- package/packages/temporal-markup/src/index.ts +537 -0
- package/packages/temporal-markup/src/space.ts +59 -0
- package/packages/text/README.md +59 -0
- package/packages/text/package.json +21 -0
- package/packages/text/src/activation.ts +33 -0
- package/packages/text/src/component.ts +72 -0
- package/packages/text/src/fragment.ts +57 -0
- package/packages/text/src/frontend.ts +39 -0
- package/packages/text/src/index.ts +27 -0
- package/packages/text/src/manifest.ts +170 -0
- package/packages/text/src/program.ts +418 -0
- package/packages/text/src/surface.ts +212 -0
- package/packages/text/src/svs.ts +189 -0
- package/packages/text/src/types.ts +82 -0
- package/packages/transport-aws-lambda/README.md +20 -0
- package/packages/transport-aws-lambda/package.json +14 -0
- package/packages/transport-aws-lambda/src/index.ts +131 -0
- package/packages/typography-track/README.md +50 -0
- package/packages/typography-track/package.json +34 -0
- package/packages/typography-track/preview/Mask.png +0 -0
- package/packages/typography-track/preview/Track.png +0 -0
- package/packages/typography-track/src/activation.ts +36 -0
- package/packages/typography-track/src/component.ts +93 -0
- package/packages/typography-track/src/fragment.ts +30 -0
- package/packages/typography-track/src/index.ts +11 -0
- package/packages/typography-track/src/manifest.ts +556 -0
- package/packages/typography-track/src/program.ts +622 -0
- package/packages/typography-track/src/surface.ts +842 -0
- package/packages/typography-track/src/types.ts +109 -0
- package/packages/typography-track-studio/README.md +3 -0
- package/packages/typography-track-studio/package.json +14 -0
- package/packages/typography-track-studio/src/activation.ts +7 -0
- package/packages/typography-track-studio/src/index.ts +116 -0
- package/packages/validation/README.md +11 -0
- package/packages/validation/package.json +15 -0
- package/packages/validation/src/index.ts +100 -0
- package/packages/video-cli/README.md +181 -0
- package/packages/video-cli/package.json +37 -0
- package/packages/video-cli/src/capture.ts +174 -0
- package/packages/video-cli/src/cli.ts +109 -0
- package/packages/video-cli/src/compiler.ts +32 -0
- package/packages/video-cli/src/creation.ts +449 -0
- package/packages/video-cli/src/distribution.ts +88 -0
- package/packages/video-cli/src/index.ts +50 -0
- package/packages/video-cli/src/media.ts +701 -0
- package/packages/video-cli/src/package-selection.ts +34 -0
- package/packages/video-cli/src/process.ts +71 -0
- package/packages/video-cli/src/studio-distribution.ts +19 -0
- package/packages/video-cli/src/transcript.ts +71 -0
- package/packages/video-cli/src/vocabulary.ts +386 -0
- package/packages/visual-ir/README.md +36 -0
- package/packages/visual-ir/package.json +16 -0
- package/packages/visual-ir/src/activation.ts +3 -0
- package/packages/visual-ir/src/index.ts +7 -0
- package/packages/visual-ir/src/style.ts +222 -0
- package/packages/volcengine-matting/README.md +89 -0
- package/packages/volcengine-matting/package.json +16 -0
- package/packages/volcengine-matting/src/activation.ts +13 -0
- package/packages/volcengine-matting/src/index.ts +45 -0
- package/packages/volcengine-matting/src/surface.ts +48 -0
- package/packages/whisperx/README.md +34 -0
- package/packages/whisperx/package.json +28 -0
- package/packages/whisperx/src/activation.ts +18 -0
- package/packages/whisperx/src/component.ts +64 -0
- package/packages/whisperx/src/evidence.ts +69 -0
- package/packages/whisperx/src/fragment.ts +76 -0
- package/packages/whisperx/src/index.ts +14 -0
- package/packages/whisperx/src/manifest.ts +92 -0
- package/packages/whisperx/src/surface.ts +90 -0
- package/packages/whisperx/src/transcript.ts +97 -0
- package/packages/whisperx/src/types.ts +9 -0
- package/packages/workspace/README.md +4 -0
- package/packages/workspace/package.json +14 -0
- package/packages/workspace/src/index.ts +38 -0
- package/packages/workspace-fs-node/README.md +13 -0
- package/packages/workspace-fs-node/package.json +15 -0
- package/packages/workspace-fs-node/src/index.ts +6 -0
- package/packages/workspace-fs-node/src/workspace.ts +226 -0
- package/packages/yt-dlp/README.md +31 -0
- package/packages/yt-dlp/package.json +10 -0
- package/packages/yt-dlp/src/download.ts +104 -0
- package/packages/yt-dlp/src/index.ts +1 -0
- package/services/image-opencv/README.md +33 -0
- package/services/image-opencv/package.json +14 -0
- package/services/image-opencv/pyproject.toml +13 -0
- package/services/image-opencv/uv.lock +56 -0
- package/services/whisperx/README.md +82 -0
- package/services/whisperx/package.json +15 -0
- package/services/whisperx/pyproject.toml +26 -0
- package/services/whisperx/src/hypit_whisperx_service/__init__.py +6 -0
- package/services/whisperx/src/hypit_whisperx_service/__main__.py +29 -0
- package/services/whisperx/src/hypit_whisperx_service/application.py +88 -0
- package/services/whisperx/src/hypit_whisperx_service/audio.py +66 -0
- package/services/whisperx/src/hypit_whisperx_service/check.py +35 -0
- package/services/whisperx/src/hypit_whisperx_service/config.py +81 -0
- package/services/whisperx/src/hypit_whisperx_service/engine.py +173 -0
- package/services/whisperx/src/hypit_whisperx_service/prepare.py +19 -0
- package/services/whisperx/src/hypit_whisperx_service/resources.py +41 -0
- package/services/whisperx/src/hypit_whisperx_service/server.py +101 -0
- package/services/whisperx/uv.lock +3381 -0
- package/services/yt-dlp/README.md +19 -0
- package/services/yt-dlp/package.json +14 -0
- package/services/yt-dlp/pyproject.toml +13 -0
- package/services/yt-dlp/uv.lock +23 -0
- package/index.js +0 -1
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import type { CanonicalValue, TypeRef } from "@hypit/protocol";
|
|
2
|
+
import type {
|
|
3
|
+
RunBuildRecord,
|
|
4
|
+
RunCandidateDeclaration,
|
|
5
|
+
RunDocument,
|
|
6
|
+
RunFragmentInstance,
|
|
7
|
+
RunImport,
|
|
8
|
+
RunProvidedFile,
|
|
9
|
+
RunProvidedValue,
|
|
10
|
+
RunSatisfaction,
|
|
11
|
+
RunTarget,
|
|
12
|
+
} from "@hypit/run";
|
|
13
|
+
import {
|
|
14
|
+
parseStructuredElement,
|
|
15
|
+
skipTextTrivia,
|
|
16
|
+
} from "@hypit/markup";
|
|
17
|
+
import type {
|
|
18
|
+
MarkupSource,
|
|
19
|
+
StructuredElement,
|
|
20
|
+
} from "@hypit/markup";
|
|
21
|
+
|
|
22
|
+
export class RunSyntaxError extends Error {
|
|
23
|
+
readonly code: string;
|
|
24
|
+
readonly offset: number;
|
|
25
|
+
readonly sourceName: string | undefined;
|
|
26
|
+
readonly line: number | undefined;
|
|
27
|
+
readonly column: number | undefined;
|
|
28
|
+
|
|
29
|
+
constructor(code: string, message: string, offset: number, sourceName?: string, source?: string) {
|
|
30
|
+
const before = source === undefined ? undefined : source.slice(0, offset);
|
|
31
|
+
const line = before === undefined ? undefined : before.split("\n").length;
|
|
32
|
+
const column = before === undefined ? undefined : [...(before.split("\n").at(-1) ?? "")].length + 1;
|
|
33
|
+
super(sourceName === undefined || line === undefined ? message : `${sourceName}:${line}:${column}: ${message}`);
|
|
34
|
+
this.name = "RunSyntaxError";
|
|
35
|
+
this.code = code;
|
|
36
|
+
this.offset = offset;
|
|
37
|
+
this.sourceName = sourceName;
|
|
38
|
+
this.line = line;
|
|
39
|
+
this.column = column;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function fail(element: StructuredElement, code: string, message: string): never {
|
|
44
|
+
throw new RunSyntaxError(code, message, element.range.start);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function elements(element: StructuredElement): readonly StructuredElement[] {
|
|
48
|
+
const result: StructuredElement[] = [];
|
|
49
|
+
for (const child of element.children) {
|
|
50
|
+
if (child.kind === "text") {
|
|
51
|
+
if (child.value.trim().length > 0) fail(element, "RUN_TEXT", `<${element.name}> only accepts elements`);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
result.push(child);
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function exactAttributes(element: StructuredElement, allowed: readonly string[]): void {
|
|
60
|
+
const unknown = Object.keys(element.attributes).filter((name) => !allowed.includes(name));
|
|
61
|
+
if (unknown.length > 0) fail(element, "RUN_ATTRIBUTE", `<${element.name}> does not accept ${unknown[0]}`);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function stringAttribute(element: StructuredElement, name: string, required = true): string | undefined {
|
|
65
|
+
const value = element.attributes[name];
|
|
66
|
+
if (value === undefined) {
|
|
67
|
+
if (required) fail(element, "RUN_ATTRIBUTE", `<${element.name}> requires ${name}`);
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
if (typeof value !== "string") fail(element, "RUN_ATTRIBUTE", `<${element.name}> ${name} must be a string`);
|
|
71
|
+
const normalized = value.trim();
|
|
72
|
+
if (normalized.length === 0) fail(element, "RUN_ATTRIBUTE", `<${element.name}> ${name} must not be empty`);
|
|
73
|
+
return normalized;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function empty(element: StructuredElement): void {
|
|
77
|
+
if (elements(element).length > 0) fail(element, "RUN_CHILD", `<${element.name}> must be empty`);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function parseTypeRef(value: string): TypeRef {
|
|
81
|
+
const hash = value.lastIndexOf("#");
|
|
82
|
+
const version = hash <= 0 ? -1 : value.lastIndexOf("@", hash);
|
|
83
|
+
if (hash <= 0 || version <= 0 || version === hash - 1 || hash === value.length - 1) {
|
|
84
|
+
throw new Error(`Type ${value} must use package@version#Type`);
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
module: { name: value.slice(0, version), version: value.slice(version + 1, hash) },
|
|
88
|
+
name: value.slice(hash + 1),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function authorDeclaration(element: StructuredElement): { readonly source: string } {
|
|
93
|
+
exactAttributes(element, ["source"]);
|
|
94
|
+
empty(element);
|
|
95
|
+
return { source: stringAttribute(element, "source")! };
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function importDeclaration(element: StructuredElement): RunImport {
|
|
99
|
+
exactAttributes(element, ["from", "as"]);
|
|
100
|
+
empty(element);
|
|
101
|
+
return { from: stringAttribute(element, "from")!, as: stringAttribute(element, "as")! };
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function target(element: StructuredElement): RunTarget {
|
|
105
|
+
exactAttributes(element, ["output"]);
|
|
106
|
+
empty(element);
|
|
107
|
+
return { output: stringAttribute(element, "output")! };
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function provided(element: StructuredElement): RunProvidedValue {
|
|
111
|
+
exactAttributes(element, ["id", "type", "from"]);
|
|
112
|
+
empty(element);
|
|
113
|
+
let type: TypeRef;
|
|
114
|
+
try {
|
|
115
|
+
type = parseTypeRef(stringAttribute(element, "type")!);
|
|
116
|
+
} catch (error) {
|
|
117
|
+
fail(element, "RUN_TYPE", error instanceof Error ? error.message : String(error));
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
kind: "provided",
|
|
121
|
+
id: stringAttribute(element, "id")!,
|
|
122
|
+
type,
|
|
123
|
+
from: stringAttribute(element, "from")!,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function file(element: StructuredElement): RunProvidedFile {
|
|
128
|
+
exactAttributes(element, ["id", "type", "from", "media-type"]);
|
|
129
|
+
empty(element);
|
|
130
|
+
let type: TypeRef;
|
|
131
|
+
try {
|
|
132
|
+
type = parseTypeRef(stringAttribute(element, "type")!);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
fail(element, "RUN_TYPE", error instanceof Error ? error.message : String(error));
|
|
135
|
+
}
|
|
136
|
+
const mediaType = stringAttribute(element, "media-type")!;
|
|
137
|
+
if (!/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/iu.test(mediaType)) {
|
|
138
|
+
fail(element, "RUN_MEDIA_TYPE", "<file> media-type must be a concrete MIME media type");
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
kind: "file",
|
|
142
|
+
id: stringAttribute(element, "id")!,
|
|
143
|
+
type,
|
|
144
|
+
from: stringAttribute(element, "from")!,
|
|
145
|
+
mediaType,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function buildRecord(element: StructuredElement): RunBuildRecord {
|
|
150
|
+
exactAttributes(element, ["id", "build", "output"]);
|
|
151
|
+
empty(element);
|
|
152
|
+
return {
|
|
153
|
+
kind: "build-record",
|
|
154
|
+
id: stringAttribute(element, "id")!,
|
|
155
|
+
build: stringAttribute(element, "build")!,
|
|
156
|
+
output: stringAttribute(element, "output")!,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function scalar(value: string): CanonicalValue {
|
|
161
|
+
if (value === "true") return true;
|
|
162
|
+
if (value === "false") return false;
|
|
163
|
+
if (value === "null") return null;
|
|
164
|
+
if (/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/u.test(value)) {
|
|
165
|
+
const number = Number(value);
|
|
166
|
+
if (Number.isFinite(number)) return number;
|
|
167
|
+
}
|
|
168
|
+
return value;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function fragment(element: StructuredElement): RunFragmentInstance {
|
|
172
|
+
exactAttributes(element, ["id", "using"]);
|
|
173
|
+
const using = stringAttribute(element, "using")!;
|
|
174
|
+
const separator = using.indexOf(":");
|
|
175
|
+
if (separator <= 0 || separator === using.length - 1) {
|
|
176
|
+
fail(element, "RUN_FRAGMENT_REF", `<fragment> using must be alias:fragment`);
|
|
177
|
+
}
|
|
178
|
+
const inputs: RunFragmentInstance["inputs"][number][] = [];
|
|
179
|
+
const exports: string[] = [];
|
|
180
|
+
for (const child of elements(element)) {
|
|
181
|
+
if (child.name === "input") {
|
|
182
|
+
exactAttributes(child, ["name", "from", "value"]);
|
|
183
|
+
empty(child);
|
|
184
|
+
const name = stringAttribute(child, "name")!;
|
|
185
|
+
const from = stringAttribute(child, "from", false);
|
|
186
|
+
const value = stringAttribute(child, "value", false);
|
|
187
|
+
if ((from === undefined) === (value === undefined)) {
|
|
188
|
+
fail(child, "RUN_FRAGMENT_INPUT", `<input> ${name} requires exactly one of from or value`);
|
|
189
|
+
}
|
|
190
|
+
inputs.push(from === undefined ? { name, value: scalar(value!) } : { name, from });
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
if (child.name === "export") {
|
|
194
|
+
exactAttributes(child, ["name"]);
|
|
195
|
+
empty(child);
|
|
196
|
+
exports.push(stringAttribute(child, "name")!);
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
fail(child, "RUN_CHILD", `<fragment> does not accept <${child.name}>`);
|
|
200
|
+
}
|
|
201
|
+
unique(inputs.map((item) => item.name), `${stringAttribute(element, "id")} Fragment input`, element);
|
|
202
|
+
unique(exports, `${stringAttribute(element, "id")} Fragment export`, element);
|
|
203
|
+
return {
|
|
204
|
+
kind: "fragment",
|
|
205
|
+
id: stringAttribute(element, "id")!,
|
|
206
|
+
using: { alias: using.slice(0, separator), name: using.slice(separator + 1) },
|
|
207
|
+
inputs,
|
|
208
|
+
...(exports.length === 0 ? {} : { exports }),
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
function satisfaction(element: StructuredElement): RunSatisfaction {
|
|
213
|
+
exactAttributes(element, ["output", "candidate"]);
|
|
214
|
+
empty(element);
|
|
215
|
+
return {
|
|
216
|
+
output: stringAttribute(element, "output")!,
|
|
217
|
+
candidate: stringAttribute(element, "candidate")!,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
function unique(values: readonly string[], subject: string, element: StructuredElement): void {
|
|
222
|
+
const seen = new Set<string>();
|
|
223
|
+
for (const value of values) {
|
|
224
|
+
if (seen.has(value)) fail(element, "RUN_DUPLICATE", `${subject} repeats ${value}`);
|
|
225
|
+
seen.add(value);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/** Parse only the public Run language. No package code, Runtime or Provider executes here. */
|
|
230
|
+
function parseRunDocumentBody(name: string, text: string): RunDocument {
|
|
231
|
+
const source: MarkupSource = { name, text };
|
|
232
|
+
const start = skipTextTrivia(source, 0);
|
|
233
|
+
const parsed = parseStructuredElement(source, start);
|
|
234
|
+
const end = skipTextTrivia(source, parsed.nextOffset);
|
|
235
|
+
if (end !== text.length) throw new RunSyntaxError("RUN_TRAILING", "Only trivia may follow </svrun>", end);
|
|
236
|
+
const root = parsed.element;
|
|
237
|
+
if (root.name !== "svrun") fail(root, "RUN_ROOT", "Run document root must be <svrun>");
|
|
238
|
+
exactAttributes(root, ["version"]);
|
|
239
|
+
if (stringAttribute(root, "version") !== "1") fail(root, "RUN_VERSION", "Only .svrun version 1 is supported");
|
|
240
|
+
|
|
241
|
+
let author: { readonly source: string } | undefined;
|
|
242
|
+
const imports: RunImport[] = [];
|
|
243
|
+
const targets: RunTarget[] = [];
|
|
244
|
+
const candidates: RunCandidateDeclaration[] = [];
|
|
245
|
+
const satisfactions: RunSatisfaction[] = [];
|
|
246
|
+
const satisfiedOutputs = new Set<string>();
|
|
247
|
+
let bodyStarted = false;
|
|
248
|
+
for (const child of elements(root)) {
|
|
249
|
+
if (child.name === "author") {
|
|
250
|
+
if (bodyStarted || author !== undefined || imports.length > 0) {
|
|
251
|
+
fail(child, "RUN_AUTHOR_ORDER", "<author> must be the first and only Author declaration");
|
|
252
|
+
}
|
|
253
|
+
author = authorDeclaration(child);
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
if (child.name === "import") {
|
|
257
|
+
if (bodyStarted) fail(child, "RUN_IMPORT_ORDER", "Run imports must form the opening prologue");
|
|
258
|
+
if (author === undefined) fail(child, "RUN_AUTHOR_ORDER", "<author> must precede Run imports");
|
|
259
|
+
imports.push(importDeclaration(child));
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
bodyStarted = true;
|
|
263
|
+
if (author === undefined) fail(child, "RUN_AUTHOR_MISSING", "<svrun> requires an opening <author> declaration");
|
|
264
|
+
if (child.name === "target") targets.push(target(child));
|
|
265
|
+
else if (child.name === "value") candidates.push(provided(child));
|
|
266
|
+
else if (child.name === "file") candidates.push(file(child));
|
|
267
|
+
else if (child.name === "build-record") candidates.push(buildRecord(child));
|
|
268
|
+
else if (child.name === "fragment") candidates.push(fragment(child));
|
|
269
|
+
else if (child.name === "satisfy") {
|
|
270
|
+
const item = satisfaction(child);
|
|
271
|
+
if (satisfiedOutputs.has(item.output)) {
|
|
272
|
+
fail(child, "RUN_SATISFACTION_DUPLICATE", `<satisfy> repeats output ${item.output}`);
|
|
273
|
+
}
|
|
274
|
+
satisfiedOutputs.add(item.output);
|
|
275
|
+
satisfactions.push(item);
|
|
276
|
+
}
|
|
277
|
+
else fail(child, "RUN_CHILD", `<svrun> does not accept <${child.name}>`);
|
|
278
|
+
}
|
|
279
|
+
if (author === undefined) fail(root, "RUN_AUTHOR_MISSING", "<svrun> requires exactly one <author> declaration");
|
|
280
|
+
|
|
281
|
+
unique(imports.map((item) => item.as), "Run import alias", root);
|
|
282
|
+
unique(candidates.map((item) => item.id), "Candidate declaration", root);
|
|
283
|
+
unique(targets.map((item) => item.output), "Run target", root);
|
|
284
|
+
if (targets.length === 0) fail(root, "RUN_TARGETS", "<svrun> requires at least one <target>");
|
|
285
|
+
return {
|
|
286
|
+
format: "hypit.run-document@1",
|
|
287
|
+
author,
|
|
288
|
+
imports,
|
|
289
|
+
targets,
|
|
290
|
+
candidates,
|
|
291
|
+
satisfactions,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
export function parseRunDocument(name: string, text: string): RunDocument {
|
|
296
|
+
try {
|
|
297
|
+
return parseRunDocumentBody(name, text);
|
|
298
|
+
} catch (error) {
|
|
299
|
+
if (error instanceof RunSyntaxError && error.sourceName === undefined) {
|
|
300
|
+
throw new RunSyntaxError(error.code, error.message, error.offset, name, text);
|
|
301
|
+
}
|
|
302
|
+
throw error;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# `@hypit/runtime`
|
|
2
|
+
|
|
3
|
+
Environment neutral execution contracts around Core.
|
|
4
|
+
|
|
5
|
+
The package defines the small ports used by a runtime:
|
|
6
|
+
|
|
7
|
+
* `BuildStore` keeps one active Build definition and its accepted facts until the Result is saved and active state is removed.
|
|
8
|
+
* `OperationStore` keeps asynchronous external work only while the owning Build is active.
|
|
9
|
+
* `PendingBuildStore` owns the short submission transaction before the Build becomes active.
|
|
10
|
+
* `BuildExecutionStore` owns active scheduling facts, a stop request, the immutable decision, attention and shared capacity reservations.
|
|
11
|
+
* `ResourceStore` is the transient byte gateway used during Provider execution.
|
|
12
|
+
* `CredentialStore` resolves secrets outside source and build state.
|
|
13
|
+
* `RuntimeCommandExecutor` turns the commands regenerated by Core into component or endpoint calls.
|
|
14
|
+
* `LocalBuildScheduler` runs ready commands concurrently while respecting declared resource limits.
|
|
15
|
+
|
|
16
|
+
These contracts do not define historical Build Results or choose a provider or source language. The default local
|
|
17
|
+
implementation lives in `@hypit/runtime-local`; Node component and endpoint execution lives in
|
|
18
|
+
`@hypit/driver-node`.
|
|
19
|
+
|
|
20
|
+
The scheduler never changes graph meaning. Targets and candidates are fixed before execution, and
|
|
21
|
+
resource limits only control when an already selected command may run.
|
|
22
|
+
|
|
23
|
+
Resource I/O accepts an optional `ResourceIOOptions` with an `AbortSignal`. The selected store owns
|
|
24
|
+
stopping its transport and closing its streams before the call rejects. A caller passing a stream
|
|
25
|
+
to `putStream` or `writeStream` uses the same signal for its producer, so a pending chunk can also
|
|
26
|
+
be interrupted. Cancellation affects the current transfer; completed resources remain available.
|
|
27
|
+
An execution deadline belongs to its caller and is passed through this ordinary I/O interface.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
A Build's `stop` records `user-cancelled` or `execution-failed` and an optional reason. The first
|
|
31
|
+
cause is retained. Runtime stops launching work, saves the attempt's outcome, completed Outputs and
|
|
32
|
+
available Operation receipts, then releases its local reservations. Pending remote work can remain
|
|
33
|
+
pending in the Result: ending local execution does not assert that a cloud task was cancelled.
|
|
34
|
+
A later attempt is a new Build with explicit Run Candidates for reusable Outputs or retrieved files.
|
|
35
|
+
|
|
36
|
+
Capacity claims describe occupancy; action rate budgets describe admissions over time. An asynchronous
|
|
37
|
+
Operation holds its declared occupancy while Runtime manages the remote task. Its submit, poll and
|
|
38
|
+
collect actions can have separate concurrency and rate limits. Waiting claims park until a resource
|
|
39
|
+
release or their next eligible time; polling does not require rematerializing the whole Build.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hypit/runtime",
|
|
3
|
+
"version": "0.0.0-dev",
|
|
4
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
5
|
+
"private": true,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.ts"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@hypit/build-result-kit": "workspace:*",
|
|
12
|
+
"@hypit/core": "workspace:*",
|
|
13
|
+
"@hypit/protocol": "workspace:*"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** A shared resource: occupancy when periodMs is absent, a replenishing rate budget otherwise. */
|
|
2
|
+
export type CapacityResourceClaim = {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly limit: number;
|
|
5
|
+
/** Number of units held by this Command; ordinary requests occupy one. */
|
|
6
|
+
readonly units?: number;
|
|
7
|
+
/** Replenish `limit` units per period, with a burst of at most `limit`. Rate units are not returned. */
|
|
8
|
+
readonly periodMs?: number;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export function capacityUnits(resource: CapacityResourceClaim): number {
|
|
12
|
+
const units = resource.units ?? 1;
|
|
13
|
+
if (resource.id.trim().length === 0 || !Number.isSafeInteger(resource.limit) || resource.limit < 1
|
|
14
|
+
|| !Number.isSafeInteger(units) || units < 1) {
|
|
15
|
+
throw new Error(`Capacity ${resource.id} requires a positive integer limit and units`);
|
|
16
|
+
}
|
|
17
|
+
if (units > resource.limit) {
|
|
18
|
+
throw new Error(`Capacity ${resource.id} request needs ${units} units but its limit is ${resource.limit}`);
|
|
19
|
+
}
|
|
20
|
+
if (resource.periodMs !== undefined && (!Number.isSafeInteger(resource.periodMs) || resource.periodMs < 1)) {
|
|
21
|
+
throw new Error(`Resource ${resource.id} periodMs must be a positive integer`);
|
|
22
|
+
}
|
|
23
|
+
return units;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** Capacity held by one executing Command, including a pending external Operation. */
|
|
27
|
+
export type CapacityReservation = {
|
|
28
|
+
readonly build: string;
|
|
29
|
+
readonly command: string;
|
|
30
|
+
readonly resources: readonly CapacityResourceClaim[];
|
|
31
|
+
readonly createdAt: number;
|
|
32
|
+
readonly lifetime?: "action" | "operation";
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type CapacityAcquireRequest = {
|
|
36
|
+
readonly lifetime?: "action" | "operation";
|
|
37
|
+
readonly build: string;
|
|
38
|
+
readonly command: string;
|
|
39
|
+
readonly resources: readonly CapacityResourceClaim[];
|
|
40
|
+
readonly now: number;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export type CapacityAcquire =
|
|
44
|
+
| { readonly status: "acquired"; readonly reservation: CapacityReservation }
|
|
45
|
+
| {
|
|
46
|
+
readonly status: "blocked";
|
|
47
|
+
/** Absent when only a resource release can make this work ready. */
|
|
48
|
+
readonly availableAt?: number;
|
|
49
|
+
readonly reason: "resource-in-flight" | "rate-limit";
|
|
50
|
+
readonly resource: string;
|
|
51
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
LogicalOutputRef,
|
|
3
|
+
} from "@hypit/protocol";
|
|
4
|
+
|
|
5
|
+
export type BuildPublishedOutput = {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly ref: LogicalOutputRef;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type BuildCatalogDescriptor = {
|
|
11
|
+
readonly source: {
|
|
12
|
+
readonly path: string;
|
|
13
|
+
};
|
|
14
|
+
readonly run?: {
|
|
15
|
+
readonly path: string;
|
|
16
|
+
};
|
|
17
|
+
readonly publishedOutputs: readonly BuildPublishedOutput[];
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export type BuildCatalogEntry = BuildCatalogDescriptor & {
|
|
21
|
+
readonly build: string;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** Host presentation index only. It is never Build truth. */
|
|
25
|
+
export type BuildCatalog = {
|
|
26
|
+
record(build: string, descriptor: BuildCatalogDescriptor): Promise<BuildCatalogEntry>;
|
|
27
|
+
read(build: string): Promise<BuildCatalogEntry | undefined>;
|
|
28
|
+
/** Result manifests own finished presentation; Runtime Catalog covers active execution only. */
|
|
29
|
+
remove?(build: string): Promise<void>;
|
|
30
|
+
};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export type CredentialRef = {
|
|
2
|
+
/** CredentialStore implementation name, for example env, os or aws-default. */
|
|
3
|
+
readonly store: string;
|
|
4
|
+
/** Store-local opaque lookup key. It is configuration, never the secret value. */
|
|
5
|
+
readonly key: string;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type CredentialValue = {
|
|
9
|
+
/** Opaque secret revealed only to the selected Endpoint invocation. */
|
|
10
|
+
readonly secret: string;
|
|
11
|
+
readonly expiresAt?: number;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type OAuth2Credential = {
|
|
15
|
+
readonly format: "hypit.oauth2-credential@1";
|
|
16
|
+
readonly accessToken: string;
|
|
17
|
+
readonly refreshToken?: string;
|
|
18
|
+
readonly expiresAt?: number;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export function encodeOAuth2Credential(value: Omit<OAuth2Credential, "format">): string {
|
|
22
|
+
assert(value.accessToken.length > 0, "OAuth access token is empty");
|
|
23
|
+
if (value.refreshToken !== undefined) assert(value.refreshToken.length > 0, "OAuth refresh token is empty");
|
|
24
|
+
if (value.expiresAt !== undefined) assert(Number.isFinite(value.expiresAt), "OAuth expiry is invalid");
|
|
25
|
+
return JSON.stringify({ format: "hypit.oauth2-credential@1", ...value } satisfies OAuth2Credential);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function decodeOAuth2Credential(secret: string): OAuth2Credential | undefined {
|
|
29
|
+
let value: unknown;
|
|
30
|
+
try { value = JSON.parse(secret); } catch { return undefined; }
|
|
31
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) return undefined;
|
|
32
|
+
const candidate = value as Partial<OAuth2Credential>;
|
|
33
|
+
if (candidate.format !== "hypit.oauth2-credential@1"
|
|
34
|
+
|| typeof candidate.accessToken !== "string" || candidate.accessToken.length === 0
|
|
35
|
+
|| (candidate.refreshToken !== undefined
|
|
36
|
+
&& (typeof candidate.refreshToken !== "string" || candidate.refreshToken.length === 0))
|
|
37
|
+
|| (candidate.expiresAt !== undefined
|
|
38
|
+
&& (typeof candidate.expiresAt !== "number" || !Number.isFinite(candidate.expiresAt)))) return undefined;
|
|
39
|
+
return candidate as OAuth2Credential;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Host-facing way to acquire one credential; Provider-specific values stay in its Endpoint package. */
|
|
43
|
+
export type CredentialAcquisition = {
|
|
44
|
+
readonly kind: "oauth2-pkce";
|
|
45
|
+
readonly authorizationEndpoint: string;
|
|
46
|
+
readonly tokenEndpoint: string;
|
|
47
|
+
readonly clientId: string;
|
|
48
|
+
readonly scopes: readonly string[];
|
|
49
|
+
/** Maximum duration of the service-owned token exchange after browser authorization returns. */
|
|
50
|
+
readonly requestTimeoutMs: number;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export type CredentialStore = {
|
|
54
|
+
resolve(ref: CredentialRef): Promise<CredentialValue | undefined>;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export type WritableCredentialStore = CredentialStore & {
|
|
58
|
+
owns(ref: CredentialRef): boolean;
|
|
59
|
+
put(ref: CredentialRef, value: CredentialValue): Promise<void>;
|
|
60
|
+
delete(ref: CredentialRef): Promise<boolean>;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
function assert(condition: unknown, message: string): asserts condition {
|
|
64
|
+
if (!condition) throw new Error(message);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function credentialRef(store: string, key: string): CredentialRef {
|
|
68
|
+
const value = { store, key };
|
|
69
|
+
verifyCredentialRef(value);
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function verifyCredentialRef(ref: CredentialRef): void {
|
|
74
|
+
assert(ref.store.trim().length > 0, "CredentialRef store is empty");
|
|
75
|
+
assert(ref.key.trim().length > 0, "CredentialRef key is empty");
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function isWritableCredentialStore(value: CredentialStore): value is WritableCredentialStore {
|
|
79
|
+
return "owns" in value && typeof value.owns === "function"
|
|
80
|
+
&& "put" in value && typeof value.put === "function"
|
|
81
|
+
&& "delete" in value && typeof value.delete === "function";
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export async function writableCredentialStore(
|
|
85
|
+
store: CredentialStore,
|
|
86
|
+
ref: CredentialRef,
|
|
87
|
+
): Promise<WritableCredentialStore | undefined> {
|
|
88
|
+
verifyCredentialRef(ref);
|
|
89
|
+
if (store instanceof CompositeCredentialStore) return await store.writable(ref);
|
|
90
|
+
return isWritableCredentialStore(store) && store.owns(ref) ? store : undefined;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Compose independently selected stores without a central store-name registry. Every implementation
|
|
95
|
+
* sees the exact CredentialRef and must decline names it does not own. Ambiguous ownership fails.
|
|
96
|
+
*/
|
|
97
|
+
export class CompositeCredentialStore implements CredentialStore {
|
|
98
|
+
readonly #stores: readonly CredentialStore[];
|
|
99
|
+
|
|
100
|
+
constructor(stores: readonly CredentialStore[]) {
|
|
101
|
+
this.#stores = [...stores];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
async resolve(ref: CredentialRef): Promise<CredentialValue | undefined> {
|
|
105
|
+
verifyCredentialRef(ref);
|
|
106
|
+
const resolved = (await Promise.all(this.#stores.map(async (store) => await store.resolve(ref))))
|
|
107
|
+
.filter((value): value is CredentialValue => value !== undefined);
|
|
108
|
+
assert(resolved.length <= 1, `CredentialRef store ${ref.store} is implemented more than once`);
|
|
109
|
+
return resolved[0];
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async writable(ref: CredentialRef): Promise<WritableCredentialStore | undefined> {
|
|
113
|
+
verifyCredentialRef(ref);
|
|
114
|
+
const candidates: WritableCredentialStore[] = [];
|
|
115
|
+
for (const store of this.#stores) {
|
|
116
|
+
if (!isWritableCredentialStore(store)) continue;
|
|
117
|
+
// A read cannot prove ownership for a missing key. Writable implementations therefore expose
|
|
118
|
+
// an optional structural ownership predicate rather than a framework registry.
|
|
119
|
+
if (store.owns(ref)) candidates.push(store);
|
|
120
|
+
}
|
|
121
|
+
assert(candidates.length <= 1, `CredentialRef store ${ref.store} has several writable owners`);
|
|
122
|
+
return candidates[0];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type RuntimeEnvironmentStore = {
|
|
2
|
+
/** Select this literal normalized configuration, changing it only when no Runtime work is active. */
|
|
3
|
+
use(config: string): Promise<void>;
|
|
4
|
+
/** Refuse work when this Runtime instance was assembled from a different active configuration. */
|
|
5
|
+
assert(config: string): Promise<void>;
|
|
6
|
+
};
|