@atomic-chat/core 0.13.2 → 0.17.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/README.md +1 -1
- package/dist/backend/advisor/advisor.d.ts +8 -7
- package/dist/backend/advisor/advisor.js +17 -25
- package/dist/backend/advisor/advisor.js.map +1 -1
- package/dist/backend/catalog/index.d.ts +4 -2
- package/dist/backend/catalog/index.js +4 -2
- package/dist/backend/catalog/index.js.map +1 -1
- package/dist/backend/catalog/manifest.d.ts +5 -51
- package/dist/backend/catalog/manifest.js +5 -93
- package/dist/backend/catalog/manifest.js.map +1 -1
- package/dist/backend/catalog/upstream-releases-baseline.d.ts +2 -0
- package/dist/backend/catalog/upstream-releases-baseline.js +12 -0
- package/dist/backend/catalog/upstream-releases-baseline.js.map +1 -0
- package/dist/backend/catalog/upstream-releases-baseline.json +101 -0
- package/dist/backend/catalog/upstream-releases-catalog.d.ts +54 -0
- package/dist/backend/catalog/upstream-releases-catalog.js +148 -0
- package/dist/backend/catalog/upstream-releases-catalog.js.map +1 -0
- package/dist/backend/catalog/upstream-releases.d.ts +75 -0
- package/dist/backend/catalog/upstream-releases.js +155 -0
- package/dist/backend/catalog/upstream-releases.js.map +1 -0
- package/dist/backend/install/service.d.ts +7 -4
- package/dist/backend/install/service.js +4 -4
- package/dist/backend/install/service.js.map +1 -1
- package/dist/cli/commands/serve.js +10 -28
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.js +0 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/client/control-client.d.ts +7 -19
- package/dist/client/control-client.js +9 -29
- package/dist/client/control-client.js.map +1 -1
- package/dist/cloud/registry.d.ts +14 -1
- package/dist/cloud/registry.js +73 -2
- package/dist/cloud/registry.js.map +1 -1
- package/dist/config/paths.d.ts +4 -3
- package/dist/config/paths.js +15 -14
- package/dist/config/paths.js.map +1 -1
- package/dist/contracts/diffusion.d.ts +45 -18
- package/dist/contracts/diffusion.js +1 -1
- package/dist/contracts/diffusion.js.map +1 -1
- package/dist/contracts/engines.d.ts +1 -1
- package/dist/contracts/engines.js +2 -0
- package/dist/contracts/engines.js.map +1 -1
- package/dist/contracts/errors.d.ts +1 -3
- package/dist/contracts/errors.js +16 -0
- package/dist/contracts/errors.js.map +1 -1
- package/dist/contracts/events.d.ts +11 -6
- package/dist/contracts/index.d.ts +1 -1
- package/dist/contracts/index.js +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/media.d.ts +186 -0
- package/dist/contracts/media.js +55 -0
- package/dist/contracts/media.js.map +1 -0
- package/dist/contracts/session.d.ts +10 -1
- package/dist/contracts/session.js +10 -0
- package/dist/contracts/session.js.map +1 -1
- package/dist/contracts/settings.d.ts +36 -1
- package/dist/contracts/settings.js.map +1 -1
- package/dist/core/atomic-core.d.ts +7 -5
- package/dist/core/atomic-core.js +1 -0
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +48 -58
- package/dist/core/create.js.map +1 -1
- package/dist/core/managed-engines.js +2 -0
- package/dist/core/managed-engines.js.map +1 -1
- package/dist/core/prism.d.ts +23 -6
- package/dist/core/prism.js +45 -0
- package/dist/core/prism.js.map +1 -1
- package/dist/core/public-server.js +3 -2
- package/dist/core/public-server.js.map +1 -1
- package/dist/core/types.d.ts +11 -0
- package/dist/core/types.js.map +1 -1
- package/dist/decision/process.d.ts +4 -0
- package/dist/decision/process.js +10 -1
- package/dist/decision/process.js.map +1 -1
- package/dist/diffusion/args.d.ts +3 -2
- package/dist/diffusion/args.js +21 -4
- package/dist/diffusion/args.js.map +1 -1
- package/dist/diffusion/compat.d.ts +1 -1
- package/dist/diffusion/compat.js +6 -2
- package/dist/diffusion/compat.js.map +1 -1
- package/dist/diffusion/gallery.d.ts +24 -3
- package/dist/diffusion/gallery.js +151 -21
- package/dist/diffusion/gallery.js.map +1 -1
- package/dist/diffusion/index.d.ts +3 -0
- package/dist/diffusion/index.js +3 -0
- package/dist/diffusion/index.js.map +1 -1
- package/dist/diffusion/jobs.d.ts +6 -1
- package/dist/diffusion/jobs.js +10 -1
- package/dist/diffusion/jobs.js.map +1 -1
- package/dist/diffusion/media-header.d.ts +22 -0
- package/dist/diffusion/media-header.js +149 -0
- package/dist/diffusion/media-header.js.map +1 -0
- package/dist/diffusion/parse.d.ts +3 -1
- package/dist/diffusion/parse.js +36 -0
- package/dist/diffusion/parse.js.map +1 -1
- package/dist/diffusion/recipe.d.ts +10 -1
- package/dist/diffusion/recipe.js +85 -21
- package/dist/diffusion/recipe.js.map +1 -1
- package/dist/diffusion/remote-job.d.ts +76 -0
- package/dist/diffusion/remote-job.js +643 -0
- package/dist/diffusion/remote-job.js.map +1 -0
- package/dist/diffusion/remote-store.d.ts +38 -0
- package/dist/diffusion/remote-store.js +91 -0
- package/dist/diffusion/remote-store.js.map +1 -0
- package/dist/diffusion/service.d.ts +9 -1
- package/dist/diffusion/service.js +49 -9
- package/dist/diffusion/service.js.map +1 -1
- package/dist/diffusion/state.d.ts +13 -1
- package/dist/diffusion/state.js +8 -0
- package/dist/diffusion/state.js.map +1 -1
- package/dist/diffusion/tracker.d.ts +6 -0
- package/dist/diffusion/tracker.js +11 -0
- package/dist/diffusion/tracker.js.map +1 -1
- package/dist/diffusion/validate.js +2 -2
- package/dist/diffusion/validate.js.map +1 -1
- package/dist/diffusion/video-gallery.d.ts +11 -4
- package/dist/diffusion/video-gallery.js +62 -25
- package/dist/diffusion/video-gallery.js.map +1 -1
- package/dist/diffusion/video-history.js +4 -1
- package/dist/diffusion/video-history.js.map +1 -1
- package/dist/diffusion/video-recipe.js +58 -25
- package/dist/diffusion/video-recipe.js.map +1 -1
- package/dist/diffusion/wiring.d.ts +3 -0
- package/dist/diffusion/wiring.js +1 -0
- package/dist/diffusion/wiring.js.map +1 -1
- package/dist/diffusion/workflow.d.ts +8 -2
- package/dist/diffusion/workflow.js +13 -5
- package/dist/diffusion/workflow.js.map +1 -1
- package/dist/downloads/downloader.d.ts +6 -1
- package/dist/downloads/downloader.js +12 -1
- package/dist/downloads/downloader.js.map +1 -1
- package/dist/embedding/process.d.ts +4 -0
- package/dist/embedding/process.js +10 -1
- package/dist/embedding/process.js.map +1 -1
- package/dist/media/adapters/a1111.d.ts +32 -0
- package/dist/media/adapters/a1111.js +207 -0
- package/dist/media/adapters/a1111.js.map +1 -0
- package/dist/media/adapters/aimlapi-videos.d.ts +34 -0
- package/dist/media/adapters/aimlapi-videos.js +172 -0
- package/dist/media/adapters/aimlapi-videos.js.map +1 -0
- package/dist/media/adapters/dashscope-image.d.ts +26 -0
- package/dist/media/adapters/dashscope-image.js +160 -0
- package/dist/media/adapters/dashscope-image.js.map +1 -0
- package/dist/media/adapters/dashscope-video.d.ts +47 -0
- package/dist/media/adapters/dashscope-video.js +251 -0
- package/dist/media/adapters/dashscope-video.js.map +1 -0
- package/dist/media/adapters/gemini-image.d.ts +27 -0
- package/dist/media/adapters/gemini-image.js +181 -0
- package/dist/media/adapters/gemini-image.js.map +1 -0
- package/dist/media/adapters/gemini-veo.d.ts +39 -0
- package/dist/media/adapters/gemini-veo.js +196 -0
- package/dist/media/adapters/gemini-veo.js.map +1 -0
- package/dist/media/adapters/hf-images.d.ts +85 -0
- package/dist/media/adapters/hf-images.js +439 -0
- package/dist/media/adapters/hf-images.js.map +1 -0
- package/dist/media/adapters/hf-videos.d.ts +44 -0
- package/dist/media/adapters/hf-videos.js +265 -0
- package/dist/media/adapters/hf-videos.js.map +1 -0
- package/dist/media/adapters/minimax-image.d.ts +26 -0
- package/dist/media/adapters/minimax-image.js +111 -0
- package/dist/media/adapters/minimax-image.js.map +1 -0
- package/dist/media/adapters/minimax-video-v2.d.ts +34 -0
- package/dist/media/adapters/minimax-video-v2.js +191 -0
- package/dist/media/adapters/minimax-video-v2.js.map +1 -0
- package/dist/media/adapters/minimax-video.d.ts +28 -0
- package/dist/media/adapters/minimax-video.js +155 -0
- package/dist/media/adapters/minimax-video.js.map +1 -0
- package/dist/media/adapters/mistral-agent-image.d.ts +33 -0
- package/dist/media/adapters/mistral-agent-image.js +108 -0
- package/dist/media/adapters/mistral-agent-image.js.map +1 -0
- package/dist/media/adapters/nvidia-genai.d.ts +28 -0
- package/dist/media/adapters/nvidia-genai.js +182 -0
- package/dist/media/adapters/nvidia-genai.js.map +1 -0
- package/dist/media/adapters/openai-images.d.ts +23 -0
- package/dist/media/adapters/openai-images.js +164 -0
- package/dist/media/adapters/openai-images.js.map +1 -0
- package/dist/media/adapters/openai-videos.d.ts +34 -0
- package/dist/media/adapters/openai-videos.js +175 -0
- package/dist/media/adapters/openai-videos.js.map +1 -0
- package/dist/media/adapters/openrouter-images.d.ts +25 -0
- package/dist/media/adapters/openrouter-images.js +161 -0
- package/dist/media/adapters/openrouter-images.js.map +1 -0
- package/dist/media/adapters/openrouter-videos.d.ts +43 -0
- package/dist/media/adapters/openrouter-videos.js +208 -0
- package/dist/media/adapters/openrouter-videos.js.map +1 -0
- package/dist/media/adapters/registry.d.ts +7 -0
- package/dist/media/adapters/registry.js +45 -0
- package/dist/media/adapters/registry.js.map +1 -0
- package/dist/media/adapters/types.d.ts +133 -0
- package/dist/media/adapters/types.js +15 -0
- package/dist/media/adapters/types.js.map +1 -0
- package/dist/media/adapters/xai-images.d.ts +19 -0
- package/dist/media/adapters/xai-images.js +83 -0
- package/dist/media/adapters/xai-images.js.map +1 -0
- package/dist/media/adapters/xai-videos.d.ts +29 -0
- package/dist/media/adapters/xai-videos.js +148 -0
- package/dist/media/adapters/xai-videos.js.map +1 -0
- package/dist/media/catalog-baseline.d.ts +2 -0
- package/dist/media/catalog-baseline.js +10 -0
- package/dist/media/catalog-baseline.js.map +1 -0
- package/dist/media/catalog-baseline.json +1819 -0
- package/dist/media/catalog-service.d.ts +42 -0
- package/dist/media/catalog-service.js +111 -0
- package/dist/media/catalog-service.js.map +1 -0
- package/dist/media/catalog.d.ts +50 -0
- package/dist/media/catalog.js +315 -0
- package/dist/media/catalog.js.map +1 -0
- package/dist/media/http.d.ts +125 -0
- package/dist/media/http.js +308 -0
- package/dist/media/http.js.map +1 -0
- package/dist/media/index.d.ts +14 -0
- package/dist/media/index.js +15 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/mask.d.ts +12 -0
- package/dist/media/mask.js +57 -0
- package/dist/media/mask.js.map +1 -0
- package/dist/media/service.d.ts +42 -0
- package/dist/media/service.js +144 -0
- package/dist/media/service.js.map +1 -0
- package/dist/models/compatibility/inspect.d.ts +11 -2
- package/dist/models/compatibility/inspect.js +44 -13
- package/dist/models/compatibility/inspect.js.map +1 -1
- package/dist/models/compatibility/service.d.ts +3 -0
- package/dist/models/compatibility/service.js +1 -0
- package/dist/models/compatibility/service.js.map +1 -1
- package/dist/models/gguf/tensors.d.ts +1 -0
- package/dist/models/gguf/tensors.js +4 -1
- package/dist/models/gguf/tensors.js.map +1 -1
- package/dist/models/hf.d.ts +3 -16
- package/dist/models/hf.js +4 -42
- package/dist/models/hf.js.map +1 -1
- package/dist/router/resolve.d.ts +15 -4
- package/dist/router/resolve.js +25 -3
- package/dist/router/resolve.js.map +1 -1
- package/dist/runtime/environment/linux-provisioner.js +7 -67
- package/dist/runtime/environment/linux-provisioner.js.map +1 -1
- package/dist/runtime/environment/runtime-removal-plan.d.ts +19 -0
- package/dist/runtime/environment/runtime-removal-plan.js +74 -0
- package/dist/runtime/environment/runtime-removal-plan.js.map +1 -0
- package/dist/runtime/environment/windows-provisioner.js +20 -4
- package/dist/runtime/environment/windows-provisioner.js.map +1 -1
- package/dist/runtime/managed-engines/spec.d.ts +2 -2
- package/dist/runtime/managed-engines/spec.js +6 -0
- package/dist/runtime/managed-engines/spec.js.map +1 -1
- package/dist/runtime/managed-models/compatibility.d.ts +10 -0
- package/dist/runtime/managed-models/compatibility.js +18 -0
- package/dist/runtime/managed-models/compatibility.js.map +1 -1
- package/dist/runtime/managed-text/adapter.d.ts +17 -0
- package/dist/runtime/managed-text/adapter.js.map +1 -1
- package/dist/runtime/managed-text/lifecycle.d.ts +8 -0
- package/dist/runtime/managed-text/lifecycle.js +38 -1
- package/dist/runtime/managed-text/lifecycle.js.map +1 -1
- package/dist/runtime/managed-text/readiness.d.ts +21 -1
- package/dist/runtime/managed-text/readiness.js +64 -0
- package/dist/runtime/managed-text/readiness.js.map +1 -1
- package/dist/runtime/managed-text/request-rules.d.ts +9 -7
- package/dist/runtime/managed-text/request-rules.js +58 -2
- package/dist/runtime/managed-text/request-rules.js.map +1 -1
- package/dist/runtime/managed-text/setting-values.d.ts +9 -0
- package/dist/runtime/managed-text/setting-values.js +44 -0
- package/dist/runtime/managed-text/setting-values.js.map +1 -0
- package/dist/runtime/sglang/adapter.d.ts +50 -0
- package/dist/runtime/sglang/adapter.js +393 -0
- package/dist/runtime/sglang/adapter.js.map +1 -0
- package/dist/runtime/sglang/engine.d.ts +16 -0
- package/dist/runtime/sglang/engine.js +38 -0
- package/dist/runtime/sglang/engine.js.map +1 -0
- package/dist/runtime/sglang/index.d.ts +11 -0
- package/dist/runtime/sglang/index.js +12 -0
- package/dist/runtime/sglang/index.js.map +1 -0
- package/dist/runtime/sglang/memory.d.ts +64 -0
- package/dist/runtime/sglang/memory.js +90 -0
- package/dist/runtime/sglang/memory.js.map +1 -0
- package/dist/runtime/sglang/settings.d.ts +49 -0
- package/dist/runtime/sglang/settings.js +118 -0
- package/dist/runtime/sglang/settings.js.map +1 -0
- package/dist/runtime/shared/external-sessions.js +1 -0
- package/dist/runtime/shared/external-sessions.js.map +1 -1
- package/dist/runtime/shared/ports.d.ts +10 -0
- package/dist/runtime/shared/ports.js +30 -0
- package/dist/runtime/shared/ports.js.map +1 -1
- package/dist/runtime/tensorrt-llm/adapter.d.ts +1 -4
- package/dist/runtime/tensorrt-llm/adapter.js +28 -11
- package/dist/runtime/tensorrt-llm/adapter.js.map +1 -1
- package/dist/runtime/tensorrt-llm/check.js +1 -0
- package/dist/runtime/tensorrt-llm/check.js.map +1 -1
- package/dist/runtime/tensorrt-llm/compatibility.d.ts +30 -6
- package/dist/runtime/tensorrt-llm/compatibility.js +41 -9
- package/dist/runtime/tensorrt-llm/compatibility.js.map +1 -1
- package/dist/runtime/tensorrt-llm/cuda-graphs.d.ts +32 -0
- package/dist/runtime/tensorrt-llm/cuda-graphs.js +33 -0
- package/dist/runtime/tensorrt-llm/cuda-graphs.js.map +1 -0
- package/dist/runtime/tensorrt-llm/engine.js +11 -5
- package/dist/runtime/tensorrt-llm/engine.js.map +1 -1
- package/dist/runtime/tensorrt-llm/kv-cache.d.ts +16 -0
- package/dist/runtime/tensorrt-llm/kv-cache.js +21 -1
- package/dist/runtime/tensorrt-llm/kv-cache.js.map +1 -1
- package/dist/runtime/vllm/adapter.js +2 -47
- package/dist/runtime/vllm/adapter.js.map +1 -1
- package/dist/runtime/vllm/memory.js +3 -16
- package/dist/runtime/vllm/memory.js.map +1 -1
- package/dist/runtime/vllm/settings.d.ts +7 -0
- package/dist/runtime/vllm/settings.js +2 -30
- package/dist/runtime/vllm/settings.js.map +1 -1
- package/dist/server/control/router.js +5 -4
- package/dist/server/control/router.js.map +1 -1
- package/dist/server/control/routes/media.d.ts +9 -0
- package/dist/server/control/routes/media.js +24 -0
- package/dist/server/control/routes/media.js.map +1 -0
- package/dist/server/control/routes/model-compatibility.d.ts +9 -0
- package/dist/server/control/routes/model-compatibility.js +31 -0
- package/dist/server/control/routes/model-compatibility.js.map +1 -0
- package/dist/server/control/types.d.ts +18 -20
- package/dist/server/http.js +15 -2
- package/dist/server/http.js.map +1 -1
- package/dist/server/public/gates.d.ts +6 -1
- package/dist/server/public/gates.js +7 -3
- package/dist/server/public/gates.js.map +1 -1
- package/dist/server/public/images-params.js +18 -1
- package/dist/server/public/images-params.js.map +1 -1
- package/dist/server/public/images.d.ts +11 -2
- package/dist/server/public/images.js +73 -9
- package/dist/server/public/images.js.map +1 -1
- package/dist/server/public/index.d.ts +1 -0
- package/dist/server/public/index.js +16 -7
- package/dist/server/public/index.js.map +1 -1
- package/dist/server/public/listing.js +1 -0
- package/dist/server/public/listing.js.map +1 -1
- package/dist/server/public/remote-media.d.ts +51 -0
- package/dist/server/public/remote-media.js +225 -0
- package/dist/server/public/remote-media.js.map +1 -0
- package/dist/server/public/responses.js +4 -2
- package/dist/server/public/responses.js.map +1 -1
- package/dist/server/public/static-assets.generated.js +1 -1
- package/dist/server/public/static-assets.generated.js.map +1 -1
- package/dist/server/public/trace.js +2 -0
- package/dist/server/public/trace.js.map +1 -1
- package/dist/server/public/types.d.ts +12 -1
- package/dist/server/public/videos-params.js +13 -3
- package/dist/server/public/videos-params.js.map +1 -1
- package/dist/server/public/videos.d.ts +1 -0
- package/dist/server/public/videos.js +21 -3
- package/dist/server/public/videos.js.map +1 -1
- package/dist/settings/schema/llamacpp-upstream.json +9 -0
- package/dist/settings/schema/sglang.json +251 -0
- package/dist/settings/schema.js +27 -1
- package/dist/settings/schema.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -6
- package/src/settings/schema/llamacpp-upstream.json +9 -0
- package/src/settings/schema/sglang.json +251 -0
- package/dist/backend/catalog/bundled-manifest-baseline.d.ts +0 -2
- package/dist/backend/catalog/bundled-manifest-baseline.js +0 -65
- package/dist/backend/catalog/bundled-manifest-baseline.js.map +0 -1
- package/dist/contracts/model-setup.d.ts +0 -115
- package/dist/contracts/model-setup.js +0 -33
- package/dist/contracts/model-setup.js.map +0 -1
- package/dist/core/model-setup/index.d.ts +0 -4
- package/dist/core/model-setup/index.js +0 -5
- package/dist/core/model-setup/index.js.map +0 -1
- package/dist/core/model-setup/plan.d.ts +0 -56
- package/dist/core/model-setup/plan.js +0 -158
- package/dist/core/model-setup/plan.js.map +0 -1
- package/dist/core/model-setup/service.d.ts +0 -92
- package/dist/core/model-setup/service.js +0 -329
- package/dist/core/model-setup/service.js.map +0 -1
- package/dist/core/model-setup/store.d.ts +0 -29
- package/dist/core/model-setup/store.js +0 -116
- package/dist/core/model-setup/store.js.map +0 -1
- package/dist/core/model-setup/wiring.d.ts +0 -59
- package/dist/core/model-setup/wiring.js +0 -132
- package/dist/core/model-setup/wiring.js.map +0 -1
- package/dist/server/control/routes/model-setups.d.ts +0 -11
- package/dist/server/control/routes/model-setups.js +0 -55
- package/dist/server/control/routes/model-setups.js.map +0 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { diffusionError } from './errors.js';
|
|
8
8
|
import { MAX_BATCH } from './types.js';
|
|
9
|
-
import { usesMask, usesReferences, videoWorkflowsForFamily, workflowOf, workflowsForSpec, } from './workflow.js';
|
|
9
|
+
import { isQwenImage21, usesMask, usesReferences, videoWorkflowsForFamily, workflowOf, workflowsForSpec, } from './workflow.js';
|
|
10
10
|
/** `data:image/png;base64,....` → the base64 part. A plain payload is returned unchanged. */
|
|
11
11
|
export function stripDataUrl(value) {
|
|
12
12
|
if (!value.startsWith('data:'))
|
|
@@ -92,7 +92,7 @@ export async function validateRequest(request, spec, deps) {
|
|
|
92
92
|
const workflow = workflowOf(request);
|
|
93
93
|
if (workflow === 'create')
|
|
94
94
|
return;
|
|
95
|
-
if (spec.family
|
|
95
|
+
if (isQwenImage21(spec.family) && usesReferences(workflow) && spec.files.llmVision === undefined)
|
|
96
96
|
throw diffusionError('SIDE_FILE_MISSING', 'Qwen Image 2.1 editing needs its Qwen3-VL vision projector.', 'Load the model with llmVision so sd.cpp receives --llm_vision.');
|
|
97
97
|
if (!workflowsForSpec(spec).includes(workflow))
|
|
98
98
|
throw diffusionError('UNSUPPORTED_WORKFLOW', `This model cannot run the ${workflow} workflow.`, spec.family);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/diffusion/validate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/diffusion/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The video gallery on disk: `<videoOutputDir>/<jobId>.webm` with its recipe as `<jobId>.json`
|
|
2
|
+
* The video gallery on disk: `<videoOutputDir>/<jobId>.webm` (or `.mp4`, a provider's clip) with its recipe as `<jobId>.json`
|
|
3
3
|
* beside it, a `<jobId>.thumb.png` poster once the app rendered one, and the same `.flags.json`
|
|
4
4
|
* as the image gallery, in its own folder. The core has no video decoder (AGENTS.md rule 8): it
|
|
5
5
|
* checks the container's magic, writes the bytes as they came, and reads everything it knows about
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
* A `.webm` without a parseable sidecar is somebody else's: it is never listed and never deleted,
|
|
9
9
|
* even when it sits in the folder under a name that looks like ours.
|
|
10
10
|
*/
|
|
11
|
-
import type { GalleryFlags, GalleryListOptions, GalleryVideoItem, VideoGalleryPage, VideoRecipe } from '../contracts/index.js';
|
|
11
|
+
import type { GalleryFlags, GalleryListOptions, GalleryVideoItem, VideoGalleryPage, VideoOutputFormat, VideoRecipe } from '../contracts/index.js';
|
|
12
12
|
import type { GalleryLogger } from './gallery.js';
|
|
13
13
|
export declare const VIDEO_SUFFIX = ".webm";
|
|
14
|
+
/** The file each container is stored as; WebM first, every local clip is one. */
|
|
15
|
+
export declare const VIDEO_SUFFIXES: Readonly<Record<VideoOutputFormat, string>>;
|
|
14
16
|
export declare const POSTER_SUFFIX = ".thumb.png";
|
|
15
17
|
/** The app's poster is a small PNG; anything larger is not one. */
|
|
16
18
|
export declare const MAX_POSTER_BYTES: number;
|
|
@@ -28,7 +30,9 @@ export declare const VIDEO_WRITE_MESSAGES: {
|
|
|
28
30
|
};
|
|
29
31
|
/** `^[a-f0-9]{32}$`: the job id, which is also the file stem. */
|
|
30
32
|
export declare function isValidVideoId(id: string): boolean;
|
|
31
|
-
export declare function videoPath(dir: string, id: string): string;
|
|
33
|
+
export declare function videoPath(dir: string, id: string, format?: VideoOutputFormat): string;
|
|
34
|
+
/** Whether `bytes` are in the container `format` names. */
|
|
35
|
+
export declare function isVideoOf(format: VideoOutputFormat, bytes: Buffer): boolean;
|
|
32
36
|
export declare function videoRecipePath(dir: string, id: string): string;
|
|
33
37
|
export declare function videoPosterPath(dir: string, id: string): string;
|
|
34
38
|
/**
|
|
@@ -39,7 +43,10 @@ export declare class VideoGallery {
|
|
|
39
43
|
private readonly log;
|
|
40
44
|
private readonly flagsLock;
|
|
41
45
|
constructor(log?: GalleryLogger);
|
|
42
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Write the sidecar, then the clip in the container its recipe names, and answer the item with the
|
|
48
|
+
* bytes (the facade streams them).
|
|
49
|
+
*/
|
|
43
50
|
save(dir: string, recipe: VideoRecipe, webm: Buffer): Promise<{
|
|
44
51
|
item: GalleryVideoItem;
|
|
45
52
|
bytes: Buffer;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The video gallery on disk: `<videoOutputDir>/<jobId>.webm` with its recipe as `<jobId>.json`
|
|
2
|
+
* The video gallery on disk: `<videoOutputDir>/<jobId>.webm` (or `.mp4`, a provider's clip) with its recipe as `<jobId>.json`
|
|
3
3
|
* beside it, a `<jobId>.thumb.png` poster once the app rendered one, and the same `.flags.json`
|
|
4
4
|
* as the image gallery, in its own folder. The core has no video decoder (AGENTS.md rule 8): it
|
|
5
5
|
* checks the container's magic, writes the bytes as they came, and reads everything it knows about
|
|
@@ -13,10 +13,14 @@ import { dirname, join } from 'node:path';
|
|
|
13
13
|
import { isWithin } from './containment.js';
|
|
14
14
|
import { diffusionError, ioError } from './errors.js';
|
|
15
15
|
import { readFlags, writeAtomic, writeFlags } from './gallery.js';
|
|
16
|
+
import { isMp4 } from './media-header.js';
|
|
16
17
|
import { AsyncMutex } from './mutex.js';
|
|
17
18
|
import { isPng, parseHeader } from './png.js';
|
|
18
19
|
import { parseVideoRecipe, RECIPE_SIDECAR_SUFFIX, serializeVideoRecipe } from './video-recipe.js';
|
|
19
20
|
export const VIDEO_SUFFIX = '.webm';
|
|
21
|
+
/** The file each container is stored as; WebM first, every local clip is one. */
|
|
22
|
+
export const VIDEO_SUFFIXES = { webm: '.webm', mp4: '.mp4' };
|
|
23
|
+
const FORMATS = Object.keys(VIDEO_SUFFIXES);
|
|
20
24
|
export const POSTER_SUFFIX = '.thumb.png';
|
|
21
25
|
/** The app's poster is a small PNG; anything larger is not one. */
|
|
22
26
|
export const MAX_POSTER_BYTES = 16 * 1024 * 1024;
|
|
@@ -51,8 +55,12 @@ export const VIDEO_WRITE_MESSAGES = {
|
|
|
51
55
|
export function isValidVideoId(id) {
|
|
52
56
|
return /^[a-f0-9]{32}$/.test(id);
|
|
53
57
|
}
|
|
54
|
-
export function videoPath(dir, id) {
|
|
55
|
-
return join(dir, `${id}${
|
|
58
|
+
export function videoPath(dir, id, format = 'webm') {
|
|
59
|
+
return join(dir, `${id}${VIDEO_SUFFIXES[format]}`);
|
|
60
|
+
}
|
|
61
|
+
/** Whether `bytes` are in the container `format` names. */
|
|
62
|
+
export function isVideoOf(format, bytes) {
|
|
63
|
+
return format === 'mp4' ? isMp4(bytes) : isWebm(bytes);
|
|
56
64
|
}
|
|
57
65
|
export function videoRecipePath(dir, id) {
|
|
58
66
|
return join(dir, `${id}${RECIPE_SIDECAR_SUFFIX}`);
|
|
@@ -69,6 +77,18 @@ function checkedVideoPath(dir, id) {
|
|
|
69
77
|
return path;
|
|
70
78
|
}
|
|
71
79
|
const isFile = (path) => stat(path).then((s) => s.isFile(), () => false);
|
|
80
|
+
/** The clip an id names, whichever container it is in; the WebM path when there is none. */
|
|
81
|
+
async function locateVideo(dir, id) {
|
|
82
|
+
const webm = checkedVideoPath(dir, id);
|
|
83
|
+
for (const format of FORMATS) {
|
|
84
|
+
const path = format === 'webm' ? webm : videoPath(dir, id, format);
|
|
85
|
+
if (await isFile(path))
|
|
86
|
+
return { path, exists: true };
|
|
87
|
+
}
|
|
88
|
+
return { path: webm, exists: false };
|
|
89
|
+
}
|
|
90
|
+
/** A clip's length: what its recipe recorded, else its frames over its rate. */
|
|
91
|
+
const clipSeconds = (recipe) => recipe.durationSecs ?? (recipe.fps > 0 ? recipe.frameCount / recipe.fps : 0);
|
|
72
92
|
async function readRecipe(dir, id) {
|
|
73
93
|
const text = await readFile(videoRecipePath(dir, id), 'utf8').catch(() => undefined);
|
|
74
94
|
return text === undefined ? undefined : parseVideoRecipe(text);
|
|
@@ -87,7 +107,7 @@ async function itemFromRecipe(dir, id, path, recipe, flags) {
|
|
|
87
107
|
height: recipe.height,
|
|
88
108
|
fps: recipe.fps,
|
|
89
109
|
frameCount: recipe.frameCount,
|
|
90
|
-
durationSecs: recipe
|
|
110
|
+
durationSecs: clipSeconds(recipe),
|
|
91
111
|
sizeBytes: meta.size,
|
|
92
112
|
createdAtMs: recipe.createdAtMs,
|
|
93
113
|
pinned: flag?.pinned ?? false,
|
|
@@ -97,19 +117,30 @@ async function itemFromRecipe(dir, id, path, recipe, flags) {
|
|
|
97
117
|
}
|
|
98
118
|
async function itemFromPath(dir, id, path, flags) {
|
|
99
119
|
const recipe = await readRecipe(dir, id);
|
|
100
|
-
|
|
120
|
+
// The file must be the container the recipe says: a stray `.mp4` beside a WebM's sidecar is not ours.
|
|
121
|
+
if (!recipe || !path.endsWith(VIDEO_SUFFIXES[recipe.outputFormat]))
|
|
122
|
+
return undefined;
|
|
123
|
+
return itemFromRecipe(dir, id, path, recipe, flags);
|
|
101
124
|
}
|
|
102
125
|
/** Every owned clip, newest first. */
|
|
103
126
|
async function scan(dir, flags) {
|
|
104
127
|
const names = await readdir(dir).catch(() => []);
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
128
|
+
const files = new Map();
|
|
129
|
+
for (const format of FORMATS) {
|
|
130
|
+
const suffix = VIDEO_SUFFIXES[format];
|
|
131
|
+
for (const name of names) {
|
|
132
|
+
if (!name.endsWith(suffix))
|
|
133
|
+
continue;
|
|
134
|
+
const id = name.slice(0, -suffix.length);
|
|
135
|
+
if (isValidVideoId(id) && !files.has(id))
|
|
136
|
+
files.set(id, join(dir, name));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const ids = [...files.keys()];
|
|
109
140
|
const items = [];
|
|
110
141
|
for (let at = 0; at < ids.length; at += SCAN_CONCURRENCY) {
|
|
111
142
|
const batch = ids.slice(at, at + SCAN_CONCURRENCY);
|
|
112
|
-
const found = await Promise.all(batch.map((id) => itemFromPath(dir, id,
|
|
143
|
+
const found = await Promise.all(batch.map((id) => itemFromPath(dir, id, files.get(id), flags)));
|
|
113
144
|
for (const item of found)
|
|
114
145
|
if (item)
|
|
115
146
|
items.push(item);
|
|
@@ -126,15 +157,21 @@ export class VideoGallery {
|
|
|
126
157
|
constructor(log = () => { }) {
|
|
127
158
|
this.log = log;
|
|
128
159
|
}
|
|
129
|
-
/**
|
|
160
|
+
/**
|
|
161
|
+
* Write the sidecar, then the clip in the container its recipe names, and answer the item with the
|
|
162
|
+
* bytes (the facade streams them).
|
|
163
|
+
*/
|
|
130
164
|
async save(dir, recipe, webm) {
|
|
131
165
|
await mkdir(dir, { recursive: true }).catch((error) => {
|
|
132
166
|
throw ioError('Could not create the videos folder.', error);
|
|
133
167
|
});
|
|
134
168
|
const id = recipe.jobId;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
169
|
+
checkedVideoPath(dir, id);
|
|
170
|
+
const path = videoPath(dir, id, recipe.outputFormat);
|
|
171
|
+
if (!isVideoOf(recipe.outputFormat, webm))
|
|
172
|
+
throw diffusionError('INVALID_OUTPUT', recipe.outputFormat === 'mp4'
|
|
173
|
+
? 'The provider returned something that is not an MP4.'
|
|
174
|
+
: 'The video engine returned something that is not a WebM.');
|
|
138
175
|
// The sidecar first: a clip without one is foreign, so a crash between the two leaves nothing listed.
|
|
139
176
|
await writeAtomic(videoRecipePath(dir, id), serializeVideoRecipe(recipe), VIDEO_WRITE_MESSAGES);
|
|
140
177
|
await writeAtomic(path, webm, VIDEO_WRITE_MESSAGES);
|
|
@@ -148,7 +185,7 @@ export class VideoGallery {
|
|
|
148
185
|
height: recipe.height,
|
|
149
186
|
fps: recipe.fps,
|
|
150
187
|
frameCount: recipe.frameCount,
|
|
151
|
-
durationSecs: recipe
|
|
188
|
+
durationSecs: clipSeconds(recipe),
|
|
152
189
|
sizeBytes: webm.length,
|
|
153
190
|
createdAtMs: recipe.createdAtMs,
|
|
154
191
|
pinned: flag?.pinned ?? false,
|
|
@@ -160,8 +197,8 @@ export class VideoGallery {
|
|
|
160
197
|
}
|
|
161
198
|
/** The poster the app rendered from the first frame: a PNG with a readable header, kept as is. */
|
|
162
199
|
async setPoster(dir, id, png) {
|
|
163
|
-
const path =
|
|
164
|
-
if (!
|
|
200
|
+
const { path, exists } = await locateVideo(dir, id);
|
|
201
|
+
if (!exists || (await readRecipe(dir, id)) === undefined)
|
|
165
202
|
throw diffusionError('JOB_NOT_FOUND', 'That video is no longer in the gallery.');
|
|
166
203
|
if (png.length > MAX_POSTER_BYTES)
|
|
167
204
|
throw diffusionError('INVALID_REQUEST', 'The poster is too large.', `${png.length} bytes`);
|
|
@@ -176,8 +213,8 @@ export class VideoGallery {
|
|
|
176
213
|
return item;
|
|
177
214
|
}
|
|
178
215
|
async get(dir, id) {
|
|
179
|
-
const path =
|
|
180
|
-
if (!
|
|
216
|
+
const { path, exists } = await locateVideo(dir, id);
|
|
217
|
+
if (!exists)
|
|
181
218
|
return null;
|
|
182
219
|
const flags = await this.flagsLock.run(() => readFlags(dir));
|
|
183
220
|
return (await itemFromPath(dir, id, path, flags)) ?? null;
|
|
@@ -194,8 +231,8 @@ export class VideoGallery {
|
|
|
194
231
|
const flags = await readFlags(dir);
|
|
195
232
|
let changed = false;
|
|
196
233
|
for (const id of ids) {
|
|
197
|
-
const path =
|
|
198
|
-
if (
|
|
234
|
+
const { path, exists } = await locateVideo(dir, id);
|
|
235
|
+
if (exists) {
|
|
199
236
|
if ((await readRecipe(dir, id)) === undefined) {
|
|
200
237
|
this.log('warn', `refusing to delete foreign video ${id}`);
|
|
201
238
|
continue;
|
|
@@ -215,8 +252,8 @@ export class VideoGallery {
|
|
|
215
252
|
}
|
|
216
253
|
setFlags(dir, id, update) {
|
|
217
254
|
return this.flagsLock.run(async () => {
|
|
218
|
-
const path =
|
|
219
|
-
if (!
|
|
255
|
+
const { path, exists } = await locateVideo(dir, id);
|
|
256
|
+
if (!exists)
|
|
220
257
|
throw diffusionError('JOB_NOT_FOUND', 'That video is no longer in the gallery.');
|
|
221
258
|
const flags = await readFlags(dir);
|
|
222
259
|
const entry = { ...(flags.get(id) ?? { pinned: false, archived: false }) };
|
|
@@ -238,8 +275,8 @@ export class VideoGallery {
|
|
|
238
275
|
}
|
|
239
276
|
/** Byte-for-byte copy of the clip; the recipe stays behind with the gallery. */
|
|
240
277
|
async export(dir, id, target) {
|
|
241
|
-
const path =
|
|
242
|
-
if (!
|
|
278
|
+
const { path, exists } = await locateVideo(dir, id);
|
|
279
|
+
if (!exists)
|
|
243
280
|
throw diffusionError('JOB_NOT_FOUND', 'That video is no longer in the gallery.');
|
|
244
281
|
await mkdir(dirname(target), { recursive: true }).catch((error) => {
|
|
245
282
|
throw ioError('Could not create the destination folder.', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-gallery.js","sourceRoot":"","sources":["../../src/diffusion/video-gallery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"video-gallery.js","sourceRoot":"","sources":["../../src/diffusion/video-gallery.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,10 @@ export function recipeInput(input, recipe) {
|
|
|
37
37
|
*/
|
|
38
38
|
export function historyRecipes(recipes, input) {
|
|
39
39
|
return recipes
|
|
40
|
-
.filter((recipe) =>
|
|
40
|
+
.filter((recipe) =>
|
|
41
|
+
// A provider's clip says nothing about this machine.
|
|
42
|
+
recipe.engine.kind !== 'remote' &&
|
|
43
|
+
recipe.model.family === input.family &&
|
|
41
44
|
recipe.engine.backend === input.backend &&
|
|
42
45
|
recipe.engine.offload === input.offload &&
|
|
43
46
|
!recipe.engine.cpuFallback &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-history.js","sourceRoot":"","sources":["../../src/diffusion/video-history.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3F,iDAAiD;AACjD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAC9B,6EAA6E;AAC7E,MAAM,CAAC,MAAM,wBAAwB,GAA8B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAE5E;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAyB,EAAE,MAAmB;IACxE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IACjD,MAAM,IAAI,GAAuB;QAC/B,GAAG,IAAI;QACP,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAA;IACD,IAAI,CAAC,KAAK,CAAC,YAAY;QAAE,OAAO,IAAI,CAAA;IACpC,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC3C,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAA+B,EAAE,KAAyB;IACvF,OAAO,OAAO;SACX,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"video-history.js","sourceRoot":"","sources":["../../src/diffusion/video-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* order of `ImageRecipe`'s sibling, so a clip copied anywhere can be reproduced. The parser is as
|
|
5
5
|
* strict as `parseRecipe`, because it decides whether a `.webm` in the folder is ours.
|
|
6
6
|
*/
|
|
7
|
+
import { orderedEngine, parseRecipeEngine } from './recipe.js';
|
|
7
8
|
import { VIDEO_WORKFLOWS } from './workflow.js';
|
|
8
9
|
export const RECIPE_SIDECAR_SUFFIX = '.json';
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const OFFLOADS = ['none', 'group', 'model'];
|
|
10
|
+
const OUTPUT_FORMATS = ['webm', 'mp4'];
|
|
11
|
+
const REMOTE_VIDEO_STRINGS = ['resolution', 'aspectRatio', 'size'];
|
|
12
12
|
const isObject = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
13
13
|
const isWhole = (value) => typeof value === 'number' && Number.isInteger(value) && value >= 0;
|
|
14
14
|
/** Seeds as `parseRecipe` takes them: an `i64` as a double sees it. */
|
|
@@ -47,19 +47,55 @@ export function serializeVideoRecipe(recipe) {
|
|
|
47
47
|
displayName: recipe.model.displayName,
|
|
48
48
|
filename: recipe.model.filename,
|
|
49
49
|
},
|
|
50
|
-
engine:
|
|
51
|
-
kind: recipe.engine.kind,
|
|
52
|
-
backend: recipe.engine.backend,
|
|
53
|
-
tag: recipe.engine.tag,
|
|
54
|
-
offload: recipe.engine.offload,
|
|
55
|
-
cpuFallback: recipe.engine.cpuFallback,
|
|
56
|
-
},
|
|
50
|
+
engine: orderedEngine(recipe.engine),
|
|
57
51
|
createdAtMs: recipe.createdAtMs,
|
|
58
52
|
durationMs: recipe.durationMs,
|
|
59
53
|
...(recipe.decodeMs === undefined ? {} : { decodeMs: recipe.decodeMs }),
|
|
54
|
+
...(recipe.durationSecs === undefined ? {} : { durationSecs: recipe.durationSecs }),
|
|
55
|
+
...(recipe.remote === undefined ? {} : { remote: orderedRemoteVideo(recipe.remote) }),
|
|
60
56
|
};
|
|
61
57
|
return `${JSON.stringify(ordered, null, 2)}\n`;
|
|
62
58
|
}
|
|
59
|
+
function orderedRemoteVideo(options) {
|
|
60
|
+
const out = {};
|
|
61
|
+
if (options.durationSecs !== undefined)
|
|
62
|
+
out.durationSecs = options.durationSecs;
|
|
63
|
+
for (const key of REMOTE_VIDEO_STRINGS)
|
|
64
|
+
if (options[key] !== undefined)
|
|
65
|
+
out[key] = options[key];
|
|
66
|
+
if (options.generateAudio !== undefined)
|
|
67
|
+
out.generateAudio = options.generateAudio;
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
/** A remote clip's extra settings, or `undefined` when the value is not such an object. */
|
|
71
|
+
function parseRemoteVideo(value) {
|
|
72
|
+
if (value === undefined || value === null)
|
|
73
|
+
return null;
|
|
74
|
+
if (!isObject(value))
|
|
75
|
+
return undefined;
|
|
76
|
+
const out = {};
|
|
77
|
+
const duration = value['durationSecs'];
|
|
78
|
+
if (duration !== undefined && duration !== null) {
|
|
79
|
+
if (!isNumber(duration))
|
|
80
|
+
return undefined;
|
|
81
|
+
out.durationSecs = duration;
|
|
82
|
+
}
|
|
83
|
+
for (const key of REMOTE_VIDEO_STRINGS) {
|
|
84
|
+
const item = value[key];
|
|
85
|
+
if (item === undefined || item === null)
|
|
86
|
+
continue;
|
|
87
|
+
if (!isString(item))
|
|
88
|
+
return undefined;
|
|
89
|
+
out[key] = item;
|
|
90
|
+
}
|
|
91
|
+
const audio = value['generateAudio'];
|
|
92
|
+
if (audio !== undefined && audio !== null) {
|
|
93
|
+
if (typeof audio !== 'boolean')
|
|
94
|
+
return undefined;
|
|
95
|
+
out.generateAudio = audio;
|
|
96
|
+
}
|
|
97
|
+
return out;
|
|
98
|
+
}
|
|
63
99
|
/** The recipe out of a sidecar, or `undefined` when the text is not one. */
|
|
64
100
|
export function parseVideoRecipe(text) {
|
|
65
101
|
let raw;
|
|
@@ -76,6 +112,8 @@ export function parseVideoRecipe(text) {
|
|
|
76
112
|
const guidance = optional(raw['guidance'], isNumber);
|
|
77
113
|
const samplingMethod = optional(raw['samplingMethod'], isString);
|
|
78
114
|
const flowShift = optional(raw['flowShift'], isNumber);
|
|
115
|
+
const parsedEngine = parseRecipeEngine(engine);
|
|
116
|
+
const remote = parseRemoteVideo(raw['remote']);
|
|
79
117
|
const ok = isString(raw['jobId']) &&
|
|
80
118
|
isString(raw['prompt']) &&
|
|
81
119
|
isWhole(raw['width']) &&
|
|
@@ -87,23 +125,20 @@ export function parseVideoRecipe(text) {
|
|
|
87
125
|
isNumber(raw['cfgScale']) &&
|
|
88
126
|
isI64(raw['seed']) &&
|
|
89
127
|
among(raw['workflow'], VIDEO_WORKFLOWS) &&
|
|
90
|
-
raw['outputFormat']
|
|
128
|
+
among(raw['outputFormat'], OUTPUT_FORMATS) &&
|
|
91
129
|
isString(model['modelId']) &&
|
|
92
130
|
isString(model['family']) &&
|
|
93
131
|
isString(model['displayName']) &&
|
|
94
132
|
isString(model['filename']) &&
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
isString(engine['tag']) &&
|
|
98
|
-
among(engine['offload'], OFFLOADS) &&
|
|
99
|
-
typeof engine['cpuFallback'] === 'boolean' &&
|
|
133
|
+
parsedEngine !== undefined &&
|
|
134
|
+
remote !== undefined &&
|
|
100
135
|
isWhole(raw['createdAtMs']) &&
|
|
101
136
|
isWhole(raw['durationMs']) &&
|
|
102
137
|
negativePrompt !== undefined &&
|
|
103
138
|
guidance !== undefined &&
|
|
104
139
|
samplingMethod !== undefined &&
|
|
105
140
|
flowShift !== undefined;
|
|
106
|
-
if (!ok)
|
|
141
|
+
if (!ok || parsedEngine === undefined || remote === undefined)
|
|
107
142
|
return undefined;
|
|
108
143
|
return {
|
|
109
144
|
jobId: raw['jobId'],
|
|
@@ -121,24 +156,22 @@ export function parseVideoRecipe(text) {
|
|
|
121
156
|
samplingMethod,
|
|
122
157
|
flowShift,
|
|
123
158
|
workflow: raw['workflow'],
|
|
124
|
-
outputFormat: '
|
|
159
|
+
outputFormat: raw['outputFormat'],
|
|
125
160
|
model: {
|
|
126
161
|
modelId: model['modelId'],
|
|
127
162
|
family: model['family'],
|
|
128
163
|
displayName: model['displayName'],
|
|
129
164
|
filename: model['filename'],
|
|
130
165
|
},
|
|
131
|
-
engine:
|
|
132
|
-
kind: engine['kind'],
|
|
133
|
-
backend: engine['backend'],
|
|
134
|
-
tag: engine['tag'],
|
|
135
|
-
offload: engine['offload'],
|
|
136
|
-
cpuFallback: engine['cpuFallback'],
|
|
137
|
-
},
|
|
166
|
+
engine: parsedEngine,
|
|
138
167
|
createdAtMs: raw['createdAtMs'],
|
|
139
168
|
durationMs: raw['durationMs'],
|
|
140
169
|
// Older clips have none; a malformed one is dropped rather than the clip.
|
|
141
170
|
...(isWhole(raw['decodeMs']) ? { decodeMs: raw['decodeMs'] } : {}),
|
|
171
|
+
...(isNumber(raw['durationSecs']) && raw['durationSecs'] >= 0
|
|
172
|
+
? { durationSecs: raw['durationSecs'] }
|
|
173
|
+
: {}),
|
|
174
|
+
...(remote === null ? {} : { remote }),
|
|
142
175
|
};
|
|
143
176
|
}
|
|
144
177
|
//# sourceMappingURL=video-recipe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-recipe.js","sourceRoot":"","sources":["../../src/diffusion/video-recipe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"video-recipe.js","sourceRoot":"","sources":["../../src/diffusion/video-recipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import type { CoreEvents, HardwareInfoResponse, SystemInfo } from '../contracts/
|
|
|
8
8
|
import type { ProcessJournal } from '../lock/index.js';
|
|
9
9
|
import type { BackendOutputSink, GpuClaimHook } from '../runtime/shared/index.js';
|
|
10
10
|
import { DiffusionService } from './service.js';
|
|
11
|
+
import type { RemoteMediaGateway } from './remote-job.js';
|
|
11
12
|
import type { DiffusionServiceDeps } from './service.js';
|
|
12
13
|
export interface WireDiffusionOptions {
|
|
13
14
|
layout: DataLayout;
|
|
@@ -25,6 +26,8 @@ export interface WireDiffusionOptions {
|
|
|
25
26
|
env?: NodeJS.ProcessEnv;
|
|
26
27
|
/** Core's GPU residency (task 2.15), asked before every `sd-server` spawn. */
|
|
27
28
|
claimGpu?: GpuClaimHook;
|
|
29
|
+
/** Cloud and self-hosted providers' image and video models. */
|
|
30
|
+
remoteMedia?: RemoteMediaGateway;
|
|
28
31
|
/** Test seams, straight through to the service. */
|
|
29
32
|
overrides?: Pick<DiffusionServiceDeps, 'http' | 'spawn' | 'timings' | 'idleTickMs' | 'now' | 'sleep' | 'drawSeed'>;
|
|
30
33
|
}
|
package/dist/diffusion/wiring.js
CHANGED
|
@@ -36,6 +36,7 @@ export function wireDiffusion(options) {
|
|
|
36
36
|
...(options.platform ? { platform: options.platform } : {}),
|
|
37
37
|
...(options.env ? { env: options.env } : {}),
|
|
38
38
|
...(options.claimGpu ? { claimGpu: options.claimGpu } : {}),
|
|
39
|
+
...(options.remoteMedia ? { remoteMedia: options.remoteMedia } : {}),
|
|
39
40
|
...(options.backendOutput ? { backendOutput: options.backendOutput } : {}),
|
|
40
41
|
...options.overrides,
|
|
41
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/diffusion/wiring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/diffusion/wiring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AA2B/C,8GAA8G;AAC9G,MAAM,UAAU,gBAAgB,CAC9B,OAA+C,EAC/C,UAAkB,EAClB,MAAoB,IAAI,CAAC,GAAG;IAE5B,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CACrC,OAAO,CAAC,GAAG,CAAC;YACV,WAAW,EAAE,UAAU;YACvB,GAAG;YACH,gBAAgB,EAAE,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI;YACrD,GAAG;YACH,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,OAAO;YACjB,IAAI;YACJ,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;SAC1C,CAAC;QACJ,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;KACrC,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,QAElC;IACC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;QAC/B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;QAC/B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;QAC9D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,OAAO,CAAC,SAAS;KACrB,CAAC,CAAA;IACF,OAAO,CAAC,KAAK,EAAE,CAAA;IACf,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -17,12 +17,18 @@ export declare function usesReferences(workflow: ImageWorkflowId): boolean;
|
|
|
17
17
|
* `upscale` is a re-detail pass that keeps most of the enlarged source.
|
|
18
18
|
*/
|
|
19
19
|
export declare function defaultStrength(workflow: ImageWorkflowId): number;
|
|
20
|
+
/**
|
|
21
|
+
* Qwen Image 2.1 and its 8-step Turbo checkpoint: one architecture, the same text encoder, vision
|
|
22
|
+
* projector and VAE, so the same workflows and the same engine floor.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isQwenImage21(family: string): boolean;
|
|
20
25
|
/**
|
|
21
26
|
* img2img and masking are generic in sd.cpp (the init image is VAE-encoded and noised to `strength`,
|
|
22
27
|
* a mask blends latents), so the established base families get them; a distilled model such as
|
|
23
28
|
* Krea 2 Turbo keeps to its verified Create. Reference-guided generation and instruction edits need
|
|
24
|
-
* a model trained on reference images: FLUX.2 Klein and Qwen Image 2.1, which
|
|
25
|
-
*
|
|
29
|
+
* a model trained on reference images: FLUX.2 Klein and Qwen Image 2.1 (Turbo included, which the
|
|
30
|
+
* official checkpoint trains for editing), which also needs its vision projector loaded
|
|
31
|
+
* (`workflowsForSpec`). Anything else, video families included, only creates.
|
|
26
32
|
*/
|
|
27
33
|
export declare function workflowsForFamily(family: string): ImageWorkflowId[];
|
|
28
34
|
/** The workflows the loaded server can actually run: Qwen Image 2.1 without `llmVision` only creates. */
|