@atomic-chat/core 0.13.6 → 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 +5 -5
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +43 -59
- 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 +21 -6
- package/dist/core/prism.js +44 -0
- package/dist/core/prism.js.map +1 -1
- package/dist/core/types.d.ts +0 -5
- package/dist/core/types.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 +6 -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/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/downloads/downloader.d.ts +1 -18
- package/dist/downloads/downloader.js +1 -45
- package/dist/downloads/downloader.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/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/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/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 +4 -3
- 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 +14 -20
- package/dist/server/control/types.js.map +1 -1
- package/dist/server/http.js +15 -2
- package/dist/server/http.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.js +7 -1
- 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 +5 -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 +1 -5
- 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/core/tensorrt-llm.d.ts +0 -169
- package/dist/core/tensorrt-llm.js +0 -428
- package/dist/core/tensorrt-llm.js.map +0 -1
- package/dist/downloads/segmented.d.ts +0 -40
- package/dist/downloads/segmented.js +0 -170
- package/dist/downloads/segmented.js.map +0 -1
- package/dist/runtime/tensorrt-llm/delete.d.ts +0 -15
- package/dist/runtime/tensorrt-llm/delete.js +0 -60
- package/dist/runtime/tensorrt-llm/delete.js.map +0 -1
- package/dist/runtime/tensorrt-llm/guest-files.d.ts +0 -8
- package/dist/runtime/tensorrt-llm/guest-files.js +0 -49
- package/dist/runtime/tensorrt-llm/guest-files.js.map +0 -1
- package/dist/runtime/tensorrt-llm/location.d.ts +0 -20
- package/dist/runtime/tensorrt-llm/location.js +0 -48
- package/dist/runtime/tensorrt-llm/location.js.map +0 -1
- package/dist/runtime/tensorrt-llm/model-dir.d.ts +0 -38
- package/dist/runtime/tensorrt-llm/model-dir.js +0 -137
- package/dist/runtime/tensorrt-llm/model-dir.js.map +0 -1
- package/dist/runtime/tensorrt-llm/quant-format.d.ts +0 -65
- package/dist/runtime/tensorrt-llm/quant-format.js +0 -189
- package/dist/runtime/tensorrt-llm/quant-format.js.map +0 -1
- package/dist/runtime/tensorrt-llm/registry.d.ts +0 -26
- package/dist/runtime/tensorrt-llm/registry.js +0 -68
- package/dist/runtime/tensorrt-llm/registry.js.map +0 -1
- package/dist/runtime/tensorrt-llm/runtime.d.ts +0 -130
- package/dist/runtime/tensorrt-llm/runtime.js +0 -395
- package/dist/runtime/tensorrt-llm/runtime.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
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remote media: the image and video models cloud providers and self-hosted servers offer through the
|
|
3
|
+
* core (ADR 2026-10-13-remote-media-shares-the-diffusion-job-table). The catalog shapes are conf's
|
|
4
|
+
* `providers/media.json` as the core serves it (snake_case, like the cloud provider routes); what a
|
|
5
|
+
* generation request carries for a remote model sits in the camelCase diffusion requests
|
|
6
|
+
* (`target`, `remote`).
|
|
7
|
+
*/
|
|
8
|
+
/** The adapters the core has: one per media API it speaks. */
|
|
9
|
+
export declare const MEDIA_DIALECTS: readonly ["openai-images", "xai-images", "openrouter-images", "gemini-image", "minimax-image", "dashscope-image", "hf-images", "nvidia-genai", "mistral-agent-image", "a1111", "openai-videos", "openrouter-videos", "xai-videos", "gemini-veo", "minimax-video", "minimax-video-v2", "dashscope-video", "aimlapi-videos", "hf-videos"];
|
|
10
|
+
export type MediaDialect = (typeof MEDIA_DIALECTS)[number];
|
|
11
|
+
export type MediaKind = 'image' | 'video';
|
|
12
|
+
/** Which kind of media each dialect makes. */
|
|
13
|
+
export declare const MEDIA_DIALECT_KIND: Readonly<Record<MediaDialect, MediaKind>>;
|
|
14
|
+
/** What a remote image model can be asked to do; a subset of `ImageWorkflowId`. */
|
|
15
|
+
export declare const REMOTE_IMAGE_WORKFLOWS: readonly ["create", "transform", "inpaint", "reference", "edit"];
|
|
16
|
+
export type RemoteImageWorkflow = (typeof REMOTE_IMAGE_WORKFLOWS)[number];
|
|
17
|
+
export declare const REMOTE_VIDEO_WORKFLOWS: readonly ["create", "image-to-video"];
|
|
18
|
+
export type RemoteVideoWorkflow = (typeof REMOTE_VIDEO_WORKFLOWS)[number];
|
|
19
|
+
/** A closed list of values a control offers, with the one it starts on. */
|
|
20
|
+
export interface MediaChoice {
|
|
21
|
+
values: string[];
|
|
22
|
+
default?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface MediaNumberRange {
|
|
25
|
+
min: number;
|
|
26
|
+
max: number;
|
|
27
|
+
default?: number;
|
|
28
|
+
step?: number;
|
|
29
|
+
}
|
|
30
|
+
/** Pixel size: a list of `WxH` (and `auto`), or a free range on a grid. */
|
|
31
|
+
export type MediaSizeParam = {
|
|
32
|
+
kind: 'enum';
|
|
33
|
+
values: string[];
|
|
34
|
+
default?: string;
|
|
35
|
+
} | {
|
|
36
|
+
kind: 'range';
|
|
37
|
+
min: number;
|
|
38
|
+
max: number;
|
|
39
|
+
multiple: number;
|
|
40
|
+
default_width?: number;
|
|
41
|
+
default_height?: number;
|
|
42
|
+
};
|
|
43
|
+
/** What the generation form offers for an image model; a missing key is a hidden control. */
|
|
44
|
+
export interface MediaImageParams {
|
|
45
|
+
size?: MediaSizeParam;
|
|
46
|
+
aspect_ratios?: MediaChoice;
|
|
47
|
+
resolutions?: MediaChoice;
|
|
48
|
+
n?: {
|
|
49
|
+
max: number;
|
|
50
|
+
};
|
|
51
|
+
seed?: boolean;
|
|
52
|
+
negative_prompt?: boolean;
|
|
53
|
+
quality?: MediaChoice;
|
|
54
|
+
background?: MediaChoice;
|
|
55
|
+
output_format?: MediaChoice;
|
|
56
|
+
steps?: MediaNumberRange;
|
|
57
|
+
cfg?: MediaNumberRange;
|
|
58
|
+
guidance?: MediaNumberRange;
|
|
59
|
+
strength?: MediaNumberRange;
|
|
60
|
+
/** The server lists samplers live (`MediaModelDescriptor.samplers`). */
|
|
61
|
+
sampler?: boolean;
|
|
62
|
+
max_input_images?: number;
|
|
63
|
+
}
|
|
64
|
+
/** Clip length in seconds: a list of values, or a range. */
|
|
65
|
+
export interface MediaDurations {
|
|
66
|
+
values?: number[];
|
|
67
|
+
min?: number;
|
|
68
|
+
max?: number;
|
|
69
|
+
default?: number;
|
|
70
|
+
}
|
|
71
|
+
export interface MediaVideoParams {
|
|
72
|
+
durations?: MediaDurations;
|
|
73
|
+
resolutions?: MediaChoice;
|
|
74
|
+
aspect_ratios?: MediaChoice;
|
|
75
|
+
sizes?: MediaChoice;
|
|
76
|
+
/** The model can generate sound; the form offers a switch. */
|
|
77
|
+
audio?: boolean;
|
|
78
|
+
seed?: boolean;
|
|
79
|
+
negative_prompt?: boolean;
|
|
80
|
+
/** Image to video also takes a last frame. */
|
|
81
|
+
last_frame?: boolean;
|
|
82
|
+
}
|
|
83
|
+
export type MediaModelOptions = Record<string, string | number | boolean>;
|
|
84
|
+
interface MediaModelCommon {
|
|
85
|
+
id: string;
|
|
86
|
+
name: string;
|
|
87
|
+
description?: string;
|
|
88
|
+
/** The adapter that serves this model (the model's own, else its provider section's). */
|
|
89
|
+
api: MediaDialect;
|
|
90
|
+
/** Offered as soon as the provider is connected. */
|
|
91
|
+
default?: boolean;
|
|
92
|
+
options?: MediaModelOptions;
|
|
93
|
+
/** `catalog`: conf names it. `live`: only the provider's listing does; the dialect's defaults apply. */
|
|
94
|
+
source: 'catalog' | 'live';
|
|
95
|
+
}
|
|
96
|
+
export interface ImageModelDescriptor extends MediaModelCommon {
|
|
97
|
+
kind: 'image';
|
|
98
|
+
workflows: RemoteImageWorkflow[];
|
|
99
|
+
params: MediaImageParams;
|
|
100
|
+
/** Samplers the server listed, when `params.sampler` is set (A1111/Forge). */
|
|
101
|
+
samplers?: string[];
|
|
102
|
+
}
|
|
103
|
+
export interface VideoModelDescriptor extends MediaModelCommon {
|
|
104
|
+
kind: 'video';
|
|
105
|
+
workflows: RemoteVideoWorkflow[];
|
|
106
|
+
params: MediaVideoParams;
|
|
107
|
+
}
|
|
108
|
+
export type MediaModelDescriptor = ImageModelDescriptor | VideoModelDescriptor;
|
|
109
|
+
export interface MediaDialectDefaults {
|
|
110
|
+
kind: MediaKind;
|
|
111
|
+
workflows: string[];
|
|
112
|
+
params: MediaImageParams | MediaVideoParams;
|
|
113
|
+
}
|
|
114
|
+
/** One provider's media, as `GET /atomic/v1/media/catalog` answers it. */
|
|
115
|
+
export interface MediaProviderSection {
|
|
116
|
+
image?: {
|
|
117
|
+
api: MediaDialect;
|
|
118
|
+
models: ImageModelDescriptor[];
|
|
119
|
+
};
|
|
120
|
+
video?: {
|
|
121
|
+
api: MediaDialect;
|
|
122
|
+
models: VideoModelDescriptor[];
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/** `GET /atomic/v1/media/catalog`. */
|
|
126
|
+
export interface MediaCatalogView {
|
|
127
|
+
catalog_version: number;
|
|
128
|
+
/** `live` when the conf document was fetched, `cache` from disk, `baseline` the bundled copy. */
|
|
129
|
+
origin: 'live' | 'cache' | 'baseline';
|
|
130
|
+
dialects: Partial<Record<MediaDialect, MediaDialectDefaults>>;
|
|
131
|
+
providers: Record<string, MediaProviderSection>;
|
|
132
|
+
}
|
|
133
|
+
/** `GET /atomic/v1/media/providers/:provider/models?kind=`: the catalog's models plus the live listing. */
|
|
134
|
+
export interface MediaProviderModels {
|
|
135
|
+
provider: string;
|
|
136
|
+
kind: MediaKind;
|
|
137
|
+
/** The adapter the provider's media of this kind go through; null when it has none. */
|
|
138
|
+
api: MediaDialect | null;
|
|
139
|
+
models: MediaModelDescriptor[];
|
|
140
|
+
/** Whether the provider was asked live; false for adapters without a listing. */
|
|
141
|
+
live: boolean;
|
|
142
|
+
/** Why the live listing failed; the catalog's models are still answered. */
|
|
143
|
+
error?: {
|
|
144
|
+
code: string;
|
|
145
|
+
message: string;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
/** One enabled media model in a provider registration. */
|
|
149
|
+
export interface CloudProviderMediaModel {
|
|
150
|
+
id: string;
|
|
151
|
+
kind: MediaKind;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* The media part of `PUT /atomic/v1/cloud/providers/:provider`. Absent keeps what is stored, `null`
|
|
155
|
+
* clears it. `image_api` / `video_api` name the adapter for a provider the catalog does not know
|
|
156
|
+
* (a custom server); absent, the catalog's applies.
|
|
157
|
+
*/
|
|
158
|
+
export interface CloudProviderMedia {
|
|
159
|
+
image_api?: MediaDialect | null;
|
|
160
|
+
video_api?: MediaDialect | null;
|
|
161
|
+
models: CloudProviderMediaModel[];
|
|
162
|
+
}
|
|
163
|
+
/** Which provider and model a generation request is for; absent on a request for the local model. */
|
|
164
|
+
export interface MediaTarget {
|
|
165
|
+
provider: string;
|
|
166
|
+
model: string;
|
|
167
|
+
}
|
|
168
|
+
/** Image settings only a remote model takes; every one optional, the model's default otherwise. */
|
|
169
|
+
export interface RemoteImageOptions {
|
|
170
|
+
/** `auto` or `WxH`, for a model whose size is a list; a range model uses `width`/`height`. */
|
|
171
|
+
size?: string;
|
|
172
|
+
aspectRatio?: string;
|
|
173
|
+
resolution?: string;
|
|
174
|
+
quality?: string;
|
|
175
|
+
background?: string;
|
|
176
|
+
outputFormat?: string;
|
|
177
|
+
}
|
|
178
|
+
export interface RemoteVideoOptions {
|
|
179
|
+
durationSecs?: number;
|
|
180
|
+
resolution?: string;
|
|
181
|
+
aspectRatio?: string;
|
|
182
|
+
/** `WxH`, for a model whose size is a list. */
|
|
183
|
+
size?: string;
|
|
184
|
+
generateAudio?: boolean;
|
|
185
|
+
}
|
|
186
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remote media: the image and video models cloud providers and self-hosted servers offer through the
|
|
3
|
+
* core (ADR 2026-10-13-remote-media-shares-the-diffusion-job-table). The catalog shapes are conf's
|
|
4
|
+
* `providers/media.json` as the core serves it (snake_case, like the cloud provider routes); what a
|
|
5
|
+
* generation request carries for a remote model sits in the camelCase diffusion requests
|
|
6
|
+
* (`target`, `remote`).
|
|
7
|
+
*/
|
|
8
|
+
/** The adapters the core has: one per media API it speaks. */
|
|
9
|
+
export const MEDIA_DIALECTS = [
|
|
10
|
+
'openai-images',
|
|
11
|
+
'xai-images',
|
|
12
|
+
'openrouter-images',
|
|
13
|
+
'gemini-image',
|
|
14
|
+
'minimax-image',
|
|
15
|
+
'dashscope-image',
|
|
16
|
+
'hf-images',
|
|
17
|
+
'nvidia-genai',
|
|
18
|
+
'mistral-agent-image',
|
|
19
|
+
'a1111',
|
|
20
|
+
'openai-videos',
|
|
21
|
+
'openrouter-videos',
|
|
22
|
+
'xai-videos',
|
|
23
|
+
'gemini-veo',
|
|
24
|
+
'minimax-video',
|
|
25
|
+
'minimax-video-v2',
|
|
26
|
+
'dashscope-video',
|
|
27
|
+
'aimlapi-videos',
|
|
28
|
+
'hf-videos',
|
|
29
|
+
];
|
|
30
|
+
/** Which kind of media each dialect makes. */
|
|
31
|
+
export const MEDIA_DIALECT_KIND = {
|
|
32
|
+
'openai-images': 'image',
|
|
33
|
+
'xai-images': 'image',
|
|
34
|
+
'openrouter-images': 'image',
|
|
35
|
+
'gemini-image': 'image',
|
|
36
|
+
'minimax-image': 'image',
|
|
37
|
+
'dashscope-image': 'image',
|
|
38
|
+
'hf-images': 'image',
|
|
39
|
+
'nvidia-genai': 'image',
|
|
40
|
+
'mistral-agent-image': 'image',
|
|
41
|
+
'a1111': 'image',
|
|
42
|
+
'openai-videos': 'video',
|
|
43
|
+
'openrouter-videos': 'video',
|
|
44
|
+
'xai-videos': 'video',
|
|
45
|
+
'gemini-veo': 'video',
|
|
46
|
+
'minimax-video': 'video',
|
|
47
|
+
'minimax-video-v2': 'video',
|
|
48
|
+
'dashscope-video': 'video',
|
|
49
|
+
'aimlapi-videos': 'video',
|
|
50
|
+
'hf-videos': 'video',
|
|
51
|
+
};
|
|
52
|
+
/** What a remote image model can be asked to do; a subset of `ImageWorkflowId`. */
|
|
53
|
+
export const REMOTE_IMAGE_WORKFLOWS = ['create', 'transform', 'inpaint', 'reference', 'edit'];
|
|
54
|
+
export const REMOTE_VIDEO_WORKFLOWS = ['create', 'image-to-video'];
|
|
55
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/contracts/media.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,eAAe;IACf,YAAY;IACZ,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,qBAAqB;IACrB,OAAO;IACP,eAAe;IACf,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;CACH,CAAA;AAKV,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAA8C;IAC3E,eAAe,EAAE,OAAO;IACxB,YAAY,EAAE,OAAO;IACrB,mBAAmB,EAAE,OAAO;IAC5B,cAAc,EAAE,OAAO;IACvB,eAAe,EAAE,OAAO;IACxB,iBAAiB,EAAE,OAAO;IAC1B,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,OAAO;IACvB,qBAAqB,EAAE,OAAO;IAC9B,OAAO,EAAE,OAAO;IAChB,eAAe,EAAE,OAAO;IACxB,mBAAmB,EAAE,OAAO;IAC5B,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,OAAO;IACrB,eAAe,EAAE,OAAO;IACxB,kBAAkB,EAAE,OAAO;IAC3B,iBAAiB,EAAE,OAAO;IAC1B,gBAAgB,EAAE,OAAO;IACzB,WAAW,EAAE,OAAO;CACrB,CAAA;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAU,CAAA;AAGtG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAU,CAAA"}
|
|
@@ -11,7 +11,16 @@
|
|
|
11
11
|
* (`PQ2_0`, `PTQ1_0`, the Hadamard transform). It shares the GGUF model tree with the two other
|
|
12
12
|
* llama.cpp providers and never becomes the default for an ordinary model.
|
|
13
13
|
*/
|
|
14
|
-
export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' |
|
|
14
|
+
export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | ManagedProviderId;
|
|
15
|
+
/**
|
|
16
|
+
* The managed engines — each one a container core runs from a model of the managed model store — in
|
|
17
|
+
* the order their registry lists them (change `add-sglang-runtime`, D1). The one list every place
|
|
18
|
+
* that must tell a managed provider from the others reads, rather than naming them one by one; the
|
|
19
|
+
* managed engine registry refuses, at startup, an engine missing from it.
|
|
20
|
+
*/
|
|
21
|
+
export declare const MANAGED_PROVIDER_IDS: readonly ["tensorrt-llm", "vllm", "sglang"];
|
|
22
|
+
export type ManagedProviderId = (typeof MANAGED_PROVIDER_IDS)[number];
|
|
23
|
+
export declare function isManagedProviderId(provider: string): provider is ManagedProviderId;
|
|
15
24
|
export interface RuntimeDeviceInfo {
|
|
16
25
|
/** Backends in load order, deduped, e.g. ["CUDA", "CPU"]. */
|
|
17
26
|
loaded_backends: string[];
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
* and by the Rust agent (`core_sessions` mirror). Byte-identical with
|
|
4
4
|
* src-tauri/plugins/tauri-plugin-llamacpp-upstream/guest-js/types.ts:122-132 and state.rs:9-23.
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* The managed engines — each one a container core runs from a model of the managed model store — in
|
|
8
|
+
* the order their registry lists them (change `add-sglang-runtime`, D1). The one list every place
|
|
9
|
+
* that must tell a managed provider from the others reads, rather than naming them one by one; the
|
|
10
|
+
* managed engine registry refuses, at startup, an engine missing from it.
|
|
11
|
+
*/
|
|
12
|
+
export const MANAGED_PROVIDER_IDS = ['tensorrt-llm', 'vllm', 'sglang'];
|
|
13
|
+
export function isManagedProviderId(provider) {
|
|
14
|
+
return MANAGED_PROVIDER_IDS.includes(provider);
|
|
15
|
+
}
|
|
6
16
|
/**
|
|
7
17
|
* Stage of a managed-runtime model load, reported on `session:load-progress` (spec
|
|
8
18
|
* `tensorrt-llm-runtime`, design D8): `stopping-previous` evicts whatever currently holds the GPU,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAG/E,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAQ,oBAA0C,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACvE,CAAC;AA8CD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,OAAO;CACC,CAAA"}
|
|
@@ -123,7 +123,42 @@ export interface VllmProviderConfig {
|
|
|
123
123
|
kv_cache_dtype: 'auto' | 'fp8';
|
|
124
124
|
load_timeout_seconds: number;
|
|
125
125
|
}
|
|
126
|
-
|
|
126
|
+
/**
|
|
127
|
+
* `sglang` (change `add-sglang-runtime`, spec `sglang-runtime`, design D6): stored values. `0` and `''`
|
|
128
|
+
* are "not set" and reach the engine as nothing: SGLang's own value, or core's own memory share.
|
|
129
|
+
*/
|
|
130
|
+
export interface SglangProviderConfig {
|
|
131
|
+
/** The card's UUID; `''` picks the card with the most free memory at load time. */
|
|
132
|
+
gpu_id: string;
|
|
133
|
+
context_length: number;
|
|
134
|
+
/** Enforced per request by the session gateway and the engine's default output limit. */
|
|
135
|
+
max_output_tokens: number;
|
|
136
|
+
/** `--max-running-requests`: requests served at once. */
|
|
137
|
+
max_running_requests: number;
|
|
138
|
+
/** `--mem-fraction-static`; `0` (auto) lets core compute it from the card's free memory. */
|
|
139
|
+
mem_fraction_static: number;
|
|
140
|
+
/** `--max-total-tokens`, the KV cache in tokens; `0` lets SGLang size it from its share. */
|
|
141
|
+
max_total_tokens: number;
|
|
142
|
+
/** `auto` (graphs captured up to `max_running_requests`), `on` (SGLang's own) or `off`. */
|
|
143
|
+
cuda_graphs: 'auto' | 'on' | 'off';
|
|
144
|
+
/** `auto` (the model's own precision) or `fp8` (Ada and newer; ignored on older cards). */
|
|
145
|
+
kv_cache_dtype: 'auto' | 'fp8';
|
|
146
|
+
load_timeout_seconds: number;
|
|
147
|
+
/** `false` passes `--disable-radix-cache`. */
|
|
148
|
+
enable_prefix_caching: boolean;
|
|
149
|
+
/** `--chunked-prefill-size`; `0` leaves SGLang's own. */
|
|
150
|
+
chunked_prefill_size: number;
|
|
151
|
+
dtype: 'auto' | 'float16' | 'bfloat16' | 'float32';
|
|
152
|
+
/** `--random-seed`; `0` leaves SGLang's own. */
|
|
153
|
+
seed: number;
|
|
154
|
+
/** Sampling defaults for a request that sets none; `''` is the model's own. */
|
|
155
|
+
default_temperature: string;
|
|
156
|
+
default_top_p: string;
|
|
157
|
+
default_top_k: string;
|
|
158
|
+
default_min_p: string;
|
|
159
|
+
default_repetition_penalty: string;
|
|
160
|
+
}
|
|
161
|
+
export type ProviderSettings<P extends LocalProviderId> = P extends 'mlx' ? MlxConfig : P extends 'foundation-models' ? FoundationModelsConfig : P extends 'tensorrt-llm' ? TensorrtLlmProviderConfig : P extends 'vllm' ? VllmProviderConfig : P extends 'sglang' ? SglangProviderConfig : LlamacppConfig;
|
|
127
162
|
/** UI descriptor of one setting (mirrors the app's SettingComponentProps). */
|
|
128
163
|
export interface SettingDescriptor {
|
|
129
164
|
key: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoNH,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,OAAO;IACzB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;CACpB,CAAA"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* whose stop must never take control down with it.
|
|
11
11
|
*/
|
|
12
12
|
import type { ReadyLine } from '../contracts/index.js';
|
|
13
|
-
import type { LlamacppProviderId, LocalApiServerState, LocalProviderId, RemoteAccessStatus, SessionInfo, UnloadResult } from '../contracts/index.js';
|
|
13
|
+
import type { LlamacppProviderId, LocalApiServerState, LocalProviderId, ManagedProviderId, RemoteAccessStatus, SessionInfo, UnloadResult } from '../contracts/index.js';
|
|
14
14
|
import type { DataLayout } from '../config/index.js';
|
|
15
15
|
import type { DecisionService } from '../decision/index.js';
|
|
16
16
|
import type { EmbeddingService } from '../embedding/index.js';
|
|
@@ -77,7 +77,7 @@ export interface AtomicCoreParts {
|
|
|
77
77
|
telemetry?: TelemetryControl | undefined;
|
|
78
78
|
}
|
|
79
79
|
export declare class AtomicCore {
|
|
80
|
-
readonly version = "0.
|
|
80
|
+
readonly version = "0.17.0";
|
|
81
81
|
private lifecycle;
|
|
82
82
|
private shutdownPromise;
|
|
83
83
|
/** Whether the app's API screen is watching; previews are collected only then. */
|
|
@@ -136,14 +136,14 @@ export declare class AtomicCore {
|
|
|
136
136
|
readyLine(): ReadyLine;
|
|
137
137
|
/**
|
|
138
138
|
* The per-provider model listing (task 2.16w round 1, finding 2): `ModelRegistry` for every
|
|
139
|
-
* llama.cpp/MLX provider, `ManagedModelRegistry` for a managed one (`
|
|
139
|
+
* llama.cpp/MLX provider, `ManagedModelRegistry` for a managed one (`MANAGED_PROVIDER_IDS`) — the
|
|
140
140
|
* same scan of the managed model store for every one of them, fresh on every `list()`, so a model
|
|
141
141
|
* the app finishes downloading appears with no restart, the same guarantee the llama.cpp registry
|
|
142
142
|
* already gives. `unknownProvider` when this core does not offer the provider at all (a managed one
|
|
143
143
|
* off Linux and Windows, for instance).
|
|
144
144
|
*/
|
|
145
|
-
registry(provider?: Exclude<LocalProviderId,
|
|
146
|
-
registry(provider:
|
|
145
|
+
registry(provider?: Exclude<LocalProviderId, ManagedProviderId>): ModelRegistry;
|
|
146
|
+
registry(provider: ManagedProviderId): ManagedModelRegistry;
|
|
147
147
|
registry(provider: LocalProviderId): ModelRegistry | ManagedModelRegistry;
|
|
148
148
|
runtime(provider?: LocalProviderId): LocalRuntime;
|
|
149
149
|
/** A llama.cpp runtime, for what only llama.cpp has (devices, runtime device info, context size). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomic-core.js","sourceRoot":"","sources":["../../src/core/atomic-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"atomic-core.js","sourceRoot":"","sources":["../../src/core/atomic-core.ts"],"names":[],"mappings":"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"}
|
package/dist/core/create.js
CHANGED
|
@@ -20,12 +20,13 @@ import { TRANSCRIPTION_MODEL_ID } from '../speculative/index.js';
|
|
|
20
20
|
import { ApiKeyStore, ChatGptAuth } from '../credentials/index.js';
|
|
21
21
|
import { CloudRegistry, listSubscriptionModels } from '../cloud/index.js';
|
|
22
22
|
import { HardwareService, nodeProbeDeps, probeSystemInfo, probeUnifiedMemory } from '../hardware/index.js';
|
|
23
|
-
import { BackendAdvisor, BackendService, PrismCatalogService, TurboquantCatalogService,
|
|
23
|
+
import { BackendAdvisor, BackendService, PrismCatalogService, TurboquantCatalogService, UpstreamReleasesCatalogService, upstreamManifestForTag, ensureBackend, ensureTurboquantCudart, ensureUpstreamCudart, OptimalBackendStore, readRuntimeSettings, resolveBackendExe, selectInstalledBackend, } from '../backend/index.js';
|
|
24
24
|
import { noticeEngineInstall, wireDecision } from '../decision/index.js';
|
|
25
25
|
import { EngineBuildEngine, EnginesService, LlamacppEngine, ManagedEngine, hostEngines, } from '../engines/index.js';
|
|
26
26
|
import { DEFAULT_ENVIRONMENT_ID } from '../runtime/environment/index.js';
|
|
27
27
|
import { noticeEmbeddingEngineInstall, wireEmbedding } from '../embedding/index.js';
|
|
28
28
|
import { wireDiffusion } from '../diffusion/index.js';
|
|
29
|
+
import { MEDIA_ADAPTERS, MediaCatalogService, MediaService } from '../media/index.js';
|
|
29
30
|
import { EngineBuildsService, EngineManifestSource, IDLE_ENGINE_HOST, manifestKinds, } from '../engine-builds/index.js';
|
|
30
31
|
import { Downloader, availableDiskSpace, defaultAvailableSpace, policyFetchFor } from '../downloads/index.js';
|
|
31
32
|
import { lanAddresses, reapTunnelOrphan, wireRemoteAccess } from '../remote-access/index.js';
|
|
@@ -33,8 +34,7 @@ import { ClientRegistry, CLIENT_EXPIRY_MS, ControlServer } from '../server/index
|
|
|
33
34
|
import { captureReport, createCoreReporter, processFailureReport, reportCoreEvents, } from '../telemetry/index.js';
|
|
34
35
|
import { CORE_VERSION } from '../version.js';
|
|
35
36
|
import { wireManagedEnvironment } from './managed-environment.js';
|
|
36
|
-
import { compatibilityFor,
|
|
37
|
-
import { currentPrismPack, wirePrismCompatibility } from './prism.js';
|
|
37
|
+
import { compatibilityFor, removeLegacyPrismSetups, wirePrismCompatibility } from './prism.js';
|
|
38
38
|
import { DIFFUSION_GPU_PROVIDER, wireGpuResidency } from './gpu-residency.js';
|
|
39
39
|
import { reapOrphans } from './reap-orphans.js';
|
|
40
40
|
import { sessionsOf, unknownProvider } from './sessions.js';
|
|
@@ -141,7 +141,6 @@ export async function createAtomicCore(options, construct) {
|
|
|
141
141
|
// One downloader per core process: it owns the active-task table that `cancel` works from, so
|
|
142
142
|
// two of them would each know only half of what is running.
|
|
143
143
|
const downloader = new Downloader({
|
|
144
|
-
...(options.downloadStreams !== undefined ? { streams: options.downloadStreams } : {}),
|
|
145
144
|
dataFolder: layout.root,
|
|
146
145
|
platform: process.platform,
|
|
147
146
|
fetch: options.fetch ?? fetch,
|
|
@@ -239,7 +238,6 @@ export async function createAtomicCore(options, construct) {
|
|
|
239
238
|
const optimalStore = await OptimalBackendStore.open(layout.core.optimalBackend, (provider, state) => {
|
|
240
239
|
emitter.emit('backend:optimal-changed', { provider, ...state });
|
|
241
240
|
});
|
|
242
|
-
const manifestCache = new ManifestSessionCache();
|
|
243
241
|
const capabilities = new ModelCapabilityService({
|
|
244
242
|
layout,
|
|
245
243
|
registry: (provider) => registries.get(provider),
|
|
@@ -260,11 +258,19 @@ export async function createAtomicCore(options, construct) {
|
|
|
260
258
|
platform,
|
|
261
259
|
log: (level, message) => log(level, message),
|
|
262
260
|
});
|
|
263
|
-
// Test hooks (docs/contracts.md "Test hooks"): where the
|
|
264
|
-
// model
|
|
261
|
+
// Test hooks (docs/contracts.md "Test hooks"): where the upstream release list, the PrismML
|
|
262
|
+
// manifest and the model rules are read from. Unset in production.
|
|
263
|
+
const upstreamReleasesUrl = env['ATOMIC_LLAMACPP_UPSTREAM_RELEASES_URL'];
|
|
265
264
|
const prismManifestUrl = env['ATOMIC_PRISM_MANIFEST_URL'];
|
|
266
265
|
const prismRulesUrl = env['ATOMIC_PRISM_MODEL_RULES_URL'];
|
|
267
|
-
|
|
266
|
+
// One release list for the advisor and the installs, so a catalog and the download it leads to
|
|
267
|
+
// read the same hashes.
|
|
268
|
+
const upstreamCatalog = new UpstreamReleasesCatalogService({
|
|
269
|
+
layout,
|
|
270
|
+
fetchFor,
|
|
271
|
+
...(upstreamReleasesUrl ? { url: upstreamReleasesUrl } : {}),
|
|
272
|
+
log,
|
|
273
|
+
});
|
|
268
274
|
const prismCatalog = new PrismCatalogService({
|
|
269
275
|
layout,
|
|
270
276
|
fetchFor,
|
|
@@ -286,7 +292,6 @@ export async function createAtomicCore(options, construct) {
|
|
|
286
292
|
env,
|
|
287
293
|
log,
|
|
288
294
|
});
|
|
289
|
-
const allowPrismCandidates = () => settings.get('atomic-prism')['allow_candidate_builds'] === true;
|
|
290
295
|
const advisors = new Map();
|
|
291
296
|
const backendAdvisor = (provider) => {
|
|
292
297
|
const existing = advisors.get(provider);
|
|
@@ -300,10 +305,10 @@ export async function createAtomicCore(options, construct) {
|
|
|
300
305
|
optimalStore,
|
|
301
306
|
emit: (name, payload) => emitter.emit(name, payload),
|
|
302
307
|
fetchFor,
|
|
303
|
-
|
|
308
|
+
upstreamCatalog,
|
|
304
309
|
turboquantCatalog,
|
|
305
310
|
prismCatalog,
|
|
306
|
-
allowCandidateBuilds:
|
|
311
|
+
allowCandidateBuilds: () => settings.get(provider)['allow_candidate_builds'] === true,
|
|
307
312
|
// The Windows tier check runs `--list-devices` on the installed pack of that tier.
|
|
308
313
|
listDevices: async (installed) => {
|
|
309
314
|
const exePath = await resolveBackendExe(layout, provider, installed.version, installed.backend);
|
|
@@ -347,22 +352,12 @@ export async function createAtomicCore(options, construct) {
|
|
|
347
352
|
];
|
|
348
353
|
},
|
|
349
354
|
},
|
|
350
|
-
readManifest: async (proxy) => {
|
|
351
|
-
const cached = manifestCache.get();
|
|
352
|
-
if (cached)
|
|
353
|
-
return cached;
|
|
354
|
-
return fetchLiveManifest({
|
|
355
|
-
cache: manifestCache,
|
|
356
|
-
transports: [manifestTransportFromFetch('core fetch', fetchFor(proxy))],
|
|
357
|
-
onWarn: (message) => log('warn', message),
|
|
358
|
-
});
|
|
359
|
-
},
|
|
355
|
+
readManifest: async (tag, proxy) => upstreamManifestForTag((await upstreamCatalog.catalog({ proxy: proxy ?? null })).catalog, tag),
|
|
360
356
|
});
|
|
361
357
|
backendServices.set(provider, created);
|
|
362
358
|
return created;
|
|
363
359
|
};
|
|
364
|
-
//
|
|
365
|
-
// installs that a cancel works from. The records survive a restart as `interrupted`.
|
|
360
|
+
// `POST /models/compatibility` by `model_id`: the verdict is read from the registered file on disk.
|
|
366
361
|
const modelFile = async (provider, modelId) => {
|
|
367
362
|
const registry = registries.get(provider);
|
|
368
363
|
if (!(registry instanceof ModelRegistry))
|
|
@@ -373,31 +368,22 @@ export async function createAtomicCore(options, construct) {
|
|
|
373
368
|
...(yml.model_sha256 ? { sha256: yml.model_sha256 } : {}),
|
|
374
369
|
};
|
|
375
370
|
};
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
fetchFor,
|
|
393
|
-
newId: () => randomUUID(),
|
|
394
|
-
...(hfEndpoint ? { hfEndpoint } : {}),
|
|
395
|
-
env,
|
|
396
|
-
platform,
|
|
397
|
-
...(platform === 'linux' ? { rocmProbe: () => probeLinuxRocmHost() } : {}),
|
|
398
|
-
log,
|
|
399
|
-
};
|
|
400
|
-
const modelSetups = wireModelSetups(modelSetupDeps);
|
|
371
|
+
// Cloud and self-hosted providers' image and video models (ADR
|
|
372
|
+
// 2026-10-13-remote-media-shares-the-diffusion-job-table). `ATOMIC_MEDIA_CATALOG_URL` is a test hook
|
|
373
|
+
// (docs/contracts.md "Test hooks"): an https or file URL of the catalog to read instead of conf's.
|
|
374
|
+
const mediaCatalogUrl = env['ATOMIC_MEDIA_CATALOG_URL'];
|
|
375
|
+
const media = new MediaService({
|
|
376
|
+
catalog: new MediaCatalogService({
|
|
377
|
+
cachePath: layout.core.mediaCatalogCache,
|
|
378
|
+
fetch: options.fetch ?? fetch,
|
|
379
|
+
...(mediaCatalogUrl ? { url: mediaCatalogUrl } : {}),
|
|
380
|
+
log,
|
|
381
|
+
}),
|
|
382
|
+
providers: () => cloud.routing(),
|
|
383
|
+
adapters: MEDIA_ADAPTERS,
|
|
384
|
+
fetch: options.fetch ?? fetch,
|
|
385
|
+
log: runtimeLog,
|
|
386
|
+
});
|
|
401
387
|
const diffusion = wireDiffusion({
|
|
402
388
|
layout,
|
|
403
389
|
journal,
|
|
@@ -408,6 +394,7 @@ export async function createAtomicCore(options, construct) {
|
|
|
408
394
|
platform,
|
|
409
395
|
env,
|
|
410
396
|
claimGpu: gpuResidency.hook(DIFFUSION_GPU_PROVIDER),
|
|
397
|
+
remoteMedia: media,
|
|
411
398
|
...(options.diffusion ? { overrides: options.diffusion } : {}),
|
|
412
399
|
...(options.backendOutput ? { backendOutput: options.backendOutput } : {}),
|
|
413
400
|
});
|
|
@@ -682,16 +669,9 @@ export async function createAtomicCore(options, construct) {
|
|
|
682
669
|
},
|
|
683
670
|
embed: (provider, modelId, input, ubatchSize) => embeddings.embed(provider, modelId, input, ubatchSize),
|
|
684
671
|
},
|
|
685
|
-
|
|
686
|
-
compatibility: (request) => compatibilityFor(
|
|
687
|
-
plan: (request) => modelSetups.plan(request),
|
|
672
|
+
modelCompatibility: {
|
|
673
|
+
compatibility: (request) => compatibilityFor({ compatibility: prismCompatibility, modelFile }, request),
|
|
688
674
|
families: () => prismCompatibility.families(),
|
|
689
|
-
start: (request) => modelSetups.start(request),
|
|
690
|
-
list: () => modelSetups.list(),
|
|
691
|
-
get: (setupId) => modelSetups.get(setupId),
|
|
692
|
-
cancel: (setupId) => modelSetups.cancel(setupId),
|
|
693
|
-
resume: (setupId, opts) => modelSetups.resume(setupId, opts),
|
|
694
|
-
snapshot: () => modelSetups.snapshot(),
|
|
695
675
|
},
|
|
696
676
|
managedModelChecks,
|
|
697
677
|
...(managedModelDelete !== null ? { managedModelDelete } : {}),
|
|
@@ -772,6 +752,10 @@ export async function createAtomicCore(options, construct) {
|
|
|
772
752
|
upsert: (input) => cloud.upsert(input),
|
|
773
753
|
remove: (provider) => cloud.remove(provider),
|
|
774
754
|
},
|
|
755
|
+
media: {
|
|
756
|
+
catalog: () => media.catalogView(),
|
|
757
|
+
providerModels: (provider, kind) => media.providerModels(provider, kind),
|
|
758
|
+
},
|
|
775
759
|
chatgpt: {
|
|
776
760
|
status: () => chatgpt.status(),
|
|
777
761
|
reload: () => chatgpt.reload(),
|
|
@@ -865,8 +849,8 @@ export async function createAtomicCore(options, construct) {
|
|
|
865
849
|
// Before the first load (design D5): downloaded engine builds no newer than the installer's, the
|
|
866
850
|
// ones a session kept on the last install, the leftovers of an interrupted install.
|
|
867
851
|
await engineBuilds.startupCleanup();
|
|
868
|
-
//
|
|
869
|
-
await
|
|
852
|
+
// Bonsai setup records an older core left; the core no longer downloads models, so none resumes.
|
|
853
|
+
await removeLegacyPrismSetups(layout.core.dir).catch((e) => warn(`removing the old model setup records: ${String(e)}`));
|
|
870
854
|
// A tunnel is worse to orphan than a backend: it keeps a public URL pointed at a local port.
|
|
871
855
|
await reapTunnelOrphan(layout.core.remoteAccessTunnel, { log: warn });
|
|
872
856
|
// Atomic Chat 2.0.40 journalled its tunnel at the data root and reaped it at its own startup; the
|