@atomic-chat/core 0.5.1 → 0.13.2
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 +22 -0
- package/dist/app-daemon.js +20 -67
- package/dist/app-daemon.js.map +1 -1
- package/dist/backend/advisor/advisor.d.ts +132 -0
- package/dist/backend/advisor/advisor.js +537 -0
- package/dist/backend/advisor/advisor.js.map +1 -0
- package/dist/backend/advisor/index.d.ts +6 -0
- package/dist/backend/advisor/index.js +7 -0
- package/dist/backend/advisor/index.js.map +1 -0
- package/dist/backend/advisor/policy.d.ts +81 -0
- package/dist/backend/advisor/policy.js +154 -0
- package/dist/backend/advisor/policy.js.map +1 -0
- package/dist/backend/catalog/archive.d.ts +21 -7
- package/dist/backend/catalog/archive.js +57 -17
- package/dist/backend/catalog/archive.js.map +1 -1
- package/dist/backend/catalog/bundled-manifest-baseline.js +42 -26
- package/dist/backend/catalog/bundled-manifest-baseline.js.map +1 -1
- package/dist/backend/catalog/cuda-family.d.ts +12 -2
- package/dist/backend/catalog/cuda-family.js +30 -7
- package/dist/backend/catalog/cuda-family.js.map +1 -1
- package/dist/backend/catalog/index.d.ts +5 -0
- package/dist/backend/catalog/index.js +5 -0
- package/dist/backend/catalog/index.js.map +1 -1
- package/dist/backend/catalog/manifest.d.ts +5 -3
- package/dist/backend/catalog/manifest.js +12 -9
- package/dist/backend/catalog/manifest.js.map +1 -1
- package/dist/backend/catalog/migrate.d.ts +8 -6
- package/dist/backend/catalog/migrate.js +26 -15
- package/dist/backend/catalog/migrate.js.map +1 -1
- package/dist/backend/catalog/prism-catalog.d.ts +42 -0
- package/dist/backend/catalog/prism-catalog.js +101 -0
- package/dist/backend/catalog/prism-catalog.js.map +1 -0
- package/dist/backend/catalog/prism-manifest-baseline.d.ts +2 -0
- package/dist/backend/catalog/prism-manifest-baseline.js +11 -0
- package/dist/backend/catalog/prism-manifest-baseline.js.map +1 -0
- package/dist/backend/catalog/prism-manifest-baseline.json +134 -0
- package/dist/backend/catalog/prism-manifest.d.ts +90 -0
- package/dist/backend/catalog/prism-manifest.js +171 -0
- package/dist/backend/catalog/prism-manifest.js.map +1 -0
- package/dist/backend/catalog/turboquant-catalog.d.ts +60 -0
- package/dist/backend/catalog/turboquant-catalog.js +162 -0
- package/dist/backend/catalog/turboquant-catalog.js.map +1 -0
- package/dist/backend/catalog/turboquant-index.d.ts +104 -0
- package/dist/backend/catalog/turboquant-index.js +260 -0
- package/dist/backend/catalog/turboquant-index.js.map +1 -0
- package/dist/backend/index.d.ts +1 -0
- package/dist/backend/index.js +1 -0
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/install/runtime-backend.d.ts +6 -6
- package/dist/backend/install/runtime-backend.js +23 -20
- package/dist/backend/install/runtime-backend.js.map +1 -1
- package/dist/backend/install/service.d.ts +106 -5
- package/dist/backend/install/service.js +247 -21
- package/dist/backend/install/service.js.map +1 -1
- package/dist/backend/installed/bundled.d.ts +19 -0
- package/dist/backend/installed/bundled.js +45 -0
- package/dist/backend/installed/bundled.js.map +1 -0
- package/dist/backend/installed/index.d.ts +1 -0
- package/dist/backend/installed/index.js +1 -0
- package/dist/backend/installed/index.js.map +1 -1
- package/dist/backend/installed/installed.js +3 -0
- package/dist/backend/installed/installed.js.map +1 -1
- package/dist/backend/optimal/optimal-cache.d.ts +27 -8
- package/dist/backend/optimal/optimal-cache.js +38 -19
- package/dist/backend/optimal/optimal-cache.js.map +1 -1
- package/dist/backend/optimal/optimal-store.js +1 -1
- package/dist/backend/optimal/optimal-store.js.map +1 -1
- package/dist/backend/select/categories.d.ts +2 -1
- package/dist/backend/select/categories.js +8 -1
- package/dist/backend/select/categories.js.map +1 -1
- package/dist/backend/select/features.d.ts +13 -5
- package/dist/backend/select/features.js +36 -6
- package/dist/backend/select/features.js.map +1 -1
- package/dist/backend/select/index.d.ts +2 -0
- package/dist/backend/select/index.js +2 -0
- package/dist/backend/select/index.js.map +1 -1
- package/dist/backend/select/prism.d.ts +54 -0
- package/dist/backend/select/prism.js +212 -0
- package/dist/backend/select/prism.js.map +1 -0
- package/dist/backend/select/recovery.d.ts +4 -2
- package/dist/backend/select/recovery.js +17 -5
- package/dist/backend/select/recovery.js.map +1 -1
- package/dist/backend/select/tiers.d.ts +20 -11
- package/dist/backend/select/tiers.js +49 -11
- package/dist/backend/select/tiers.js.map +1 -1
- package/dist/backend/select/turboquant-tiers.d.ts +45 -0
- package/dist/backend/select/turboquant-tiers.js +114 -0
- package/dist/backend/select/turboquant-tiers.js.map +1 -0
- package/dist/backend/types.d.ts +6 -69
- package/dist/cli/commands/backends.d.ts +10 -0
- package/dist/cli/commands/backends.js +142 -0
- package/dist/cli/commands/backends.js.map +1 -0
- package/dist/cli/commands/hardware.d.ts +13 -0
- package/dist/cli/commands/hardware.js +71 -0
- package/dist/cli/commands/hardware.js.map +1 -0
- package/dist/cli/commands/host-step.d.ts +28 -0
- package/dist/cli/commands/host-step.js +67 -0
- package/dist/cli/commands/host-step.js.map +1 -0
- package/dist/cli/commands/index.d.ts +4 -1
- package/dist/cli/commands/index.js +4 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/serve.js +4 -4
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/shared.d.ts +6 -1
- package/dist/cli/commands/shared.js +7 -0
- package/dist/cli/commands/shared.js.map +1 -1
- package/dist/cli/io.d.ts +11 -0
- package/dist/cli/io.js +28 -3
- package/dist/cli/io.js.map +1 -1
- package/dist/cli/launch.js +2 -2
- package/dist/cli/launch.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.js +11 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/client/control-client.d.ts +128 -7
- package/dist/client/control-client.js +211 -12
- package/dist/client/control-client.js.map +1 -1
- package/dist/cloud/registry.js +9 -1
- package/dist/cloud/registry.js.map +1 -1
- package/dist/config/paths.d.ts +137 -0
- package/dist/config/paths.js +163 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/contracts/backend-advisor.d.ts +225 -0
- package/dist/contracts/backend-advisor.js +14 -0
- package/dist/contracts/backend-advisor.js.map +1 -0
- package/dist/contracts/control-api.d.ts +7 -1
- package/dist/contracts/control-api.js +7 -1
- package/dist/contracts/control-api.js.map +1 -1
- package/dist/contracts/decision.d.ts +394 -0
- package/dist/contracts/decision.js +69 -0
- package/dist/contracts/decision.js.map +1 -0
- package/dist/contracts/diffusion.d.ts +62 -9
- package/dist/contracts/embedding.d.ts +103 -0
- package/dist/contracts/embedding.js +24 -0
- package/dist/contracts/embedding.js.map +1 -0
- package/dist/contracts/engine-builds.d.ts +108 -0
- package/dist/contracts/engine-builds.js +11 -0
- package/dist/contracts/engine-builds.js.map +1 -0
- package/dist/contracts/engines.d.ts +157 -0
- package/dist/contracts/engines.js +50 -0
- package/dist/contracts/engines.js.map +1 -0
- package/dist/contracts/environment.d.ts +774 -0
- package/dist/contracts/environment.js +116 -0
- package/dist/contracts/environment.js.map +1 -0
- package/dist/contracts/errors.d.ts +43 -2
- package/dist/contracts/errors.js +41 -0
- package/dist/contracts/errors.js.map +1 -1
- package/dist/contracts/events.d.ts +82 -4
- package/dist/contracts/hardware.d.ts +79 -6
- package/dist/contracts/hardware.js +9 -5
- package/dist/contracts/hardware.js.map +1 -1
- package/dist/contracts/index.d.ts +8 -0
- package/dist/contracts/index.js +8 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/model-compatibility.d.ts +97 -0
- package/dist/contracts/model-compatibility.js +6 -0
- package/dist/contracts/model-compatibility.js.map +1 -0
- package/dist/contracts/model-setup.d.ts +115 -0
- package/dist/contracts/model-setup.js +33 -0
- package/dist/contracts/model-setup.js.map +1 -0
- package/dist/contracts/model-yml.d.ts +14 -0
- package/dist/contracts/model-yml.js +1 -0
- package/dist/contracts/model-yml.js.map +1 -1
- package/dist/contracts/session.d.ts +45 -2
- package/dist/contracts/session.js +14 -1
- package/dist/contracts/session.js.map +1 -1
- package/dist/contracts/settings.d.ts +44 -1
- package/dist/contracts/settings.js.map +1 -1
- package/dist/core/atomic-core.d.ts +44 -5
- package/dist/core/atomic-core.js +24 -0
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +517 -23
- package/dist/core/create.js.map +1 -1
- package/dist/core/gpu/index.d.ts +6 -0
- package/dist/core/gpu/index.js +7 -0
- package/dist/core/gpu/index.js.map +1 -0
- package/dist/core/gpu/policy.d.ts +68 -0
- package/dist/core/gpu/policy.js +99 -0
- package/dist/core/gpu/policy.js.map +1 -0
- package/dist/core/gpu/residency.d.ts +44 -0
- package/dist/core/gpu/residency.js +101 -0
- package/dist/core/gpu/residency.js.map +1 -0
- package/dist/core/gpu-residency.d.ts +39 -0
- package/dist/core/gpu-residency.js +32 -0
- package/dist/core/gpu-residency.js.map +1 -0
- package/dist/core/index.d.ts +1 -1
- package/dist/core/managed-engines.d.ts +207 -0
- package/dist/core/managed-engines.js +579 -0
- package/dist/core/managed-engines.js.map +1 -0
- package/dist/core/managed-environment.d.ts +72 -0
- package/dist/core/managed-environment.js +218 -0
- package/dist/core/managed-environment.js.map +1 -0
- package/dist/core/model-setup/index.d.ts +4 -0
- package/dist/core/model-setup/index.js +5 -0
- package/dist/core/model-setup/index.js.map +1 -0
- package/dist/core/model-setup/plan.d.ts +56 -0
- package/dist/core/model-setup/plan.js +158 -0
- package/dist/core/model-setup/plan.js.map +1 -0
- package/dist/core/model-setup/service.d.ts +92 -0
- package/dist/core/model-setup/service.js +329 -0
- package/dist/core/model-setup/service.js.map +1 -0
- package/dist/core/model-setup/store.d.ts +29 -0
- package/dist/core/model-setup/store.js +116 -0
- package/dist/core/model-setup/store.js.map +1 -0
- package/dist/core/model-setup/wiring.d.ts +59 -0
- package/dist/core/model-setup/wiring.js +132 -0
- package/dist/core/model-setup/wiring.js.map +1 -0
- package/dist/core/prism.d.ts +36 -0
- package/dist/core/prism.js +42 -0
- package/dist/core/prism.js.map +1 -0
- package/dist/core/public-server.d.ts +7 -0
- package/dist/core/public-server.js +2 -0
- package/dist/core/public-server.js.map +1 -1
- package/dist/core/sessions.d.ts +6 -1
- package/dist/core/sessions.js +18 -14
- package/dist/core/sessions.js.map +1 -1
- package/dist/core/types.d.ts +27 -1
- package/dist/core/types.js.map +1 -1
- package/dist/decision/args.d.ts +110 -0
- package/dist/decision/args.js +126 -0
- package/dist/decision/args.js.map +1 -0
- package/dist/decision/backoff.d.ts +25 -0
- package/dist/decision/backoff.js +33 -0
- package/dist/decision/backoff.js.map +1 -0
- package/dist/decision/engine-candidates.d.ts +52 -0
- package/dist/decision/engine-candidates.js +138 -0
- package/dist/decision/engine-candidates.js.map +1 -0
- package/dist/decision/engine-fallback.d.ts +41 -0
- package/dist/decision/engine-fallback.js +57 -0
- package/dist/decision/engine-fallback.js.map +1 -0
- package/dist/decision/engine-version.d.ts +27 -0
- package/dist/decision/engine-version.js +54 -0
- package/dist/decision/engine-version.js.map +1 -0
- package/dist/decision/engine.d.ts +114 -0
- package/dist/decision/engine.js +253 -0
- package/dist/decision/engine.js.map +1 -0
- package/dist/decision/http.d.ts +36 -0
- package/dist/decision/http.js +73 -0
- package/dist/decision/http.js.map +1 -0
- package/dist/decision/index.d.ts +20 -0
- package/dist/decision/index.js +21 -0
- package/dist/decision/index.js.map +1 -0
- package/dist/decision/model-facts.d.ts +32 -0
- package/dist/decision/model-facts.js +40 -0
- package/dist/decision/model-facts.js.map +1 -0
- package/dist/decision/outcome.d.ts +35 -0
- package/dist/decision/outcome.js +105 -0
- package/dist/decision/outcome.js.map +1 -0
- package/dist/decision/process.d.ts +67 -0
- package/dist/decision/process.js +133 -0
- package/dist/decision/process.js.map +1 -0
- package/dist/decision/readiness.d.ts +74 -0
- package/dist/decision/readiness.js +165 -0
- package/dist/decision/readiness.js.map +1 -0
- package/dist/decision/request.d.ts +11 -0
- package/dist/decision/request.js +56 -0
- package/dist/decision/request.js.map +1 -0
- package/dist/decision/service.d.ts +202 -0
- package/dist/decision/service.js +711 -0
- package/dist/decision/service.js.map +1 -0
- package/dist/decision/upstream-version.d.ts +23 -0
- package/dist/decision/upstream-version.js +34 -0
- package/dist/decision/upstream-version.js.map +1 -0
- package/dist/decision/wiring.d.ts +67 -0
- package/dist/decision/wiring.js +101 -0
- package/dist/decision/wiring.js.map +1 -0
- package/dist/diffusion/args.d.ts +4 -2
- package/dist/diffusion/args.js +10 -3
- package/dist/diffusion/args.js.map +1 -1
- package/dist/diffusion/image-job.js +1 -1
- package/dist/diffusion/image-job.js.map +1 -1
- package/dist/diffusion/install.d.ts +35 -11
- package/dist/diffusion/install.js +74 -49
- package/dist/diffusion/install.js.map +1 -1
- package/dist/diffusion/job-kind.d.ts +33 -7
- package/dist/diffusion/jobs.d.ts +6 -1
- package/dist/diffusion/jobs.js +60 -18
- package/dist/diffusion/jobs.js.map +1 -1
- package/dist/diffusion/parse.d.ts +1 -2
- package/dist/diffusion/parse.js +1 -13
- package/dist/diffusion/parse.js.map +1 -1
- package/dist/diffusion/progress.js +3 -0
- package/dist/diffusion/progress.js.map +1 -1
- package/dist/diffusion/server-process.d.ts +6 -0
- package/dist/diffusion/server-process.js +3 -2
- package/dist/diffusion/server-process.js.map +1 -1
- package/dist/diffusion/service.d.ts +52 -6
- package/dist/diffusion/service.js +215 -40
- package/dist/diffusion/service.js.map +1 -1
- package/dist/diffusion/session.d.ts +27 -3
- package/dist/diffusion/session.js +108 -17
- package/dist/diffusion/session.js.map +1 -1
- package/dist/diffusion/state.d.ts +19 -1
- package/dist/diffusion/state.js +10 -0
- package/dist/diffusion/state.js.map +1 -1
- package/dist/diffusion/tracker.d.ts +15 -1
- package/dist/diffusion/tracker.js +32 -6
- package/dist/diffusion/tracker.js.map +1 -1
- package/dist/diffusion/types.d.ts +7 -0
- package/dist/diffusion/types.js +11 -0
- package/dist/diffusion/types.js.map +1 -1
- package/dist/diffusion/video-estimate.d.ts +214 -0
- package/dist/diffusion/video-estimate.js +402 -0
- package/dist/diffusion/video-estimate.js.map +1 -0
- package/dist/diffusion/video-eta.d.ts +90 -0
- package/dist/diffusion/video-eta.js +248 -0
- package/dist/diffusion/video-eta.js.map +1 -0
- package/dist/diffusion/video-history.d.ts +45 -0
- package/dist/diffusion/video-history.js +121 -0
- package/dist/diffusion/video-history.js.map +1 -0
- package/dist/diffusion/video-job.d.ts +13 -5
- package/dist/diffusion/video-job.js +42 -15
- package/dist/diffusion/video-job.js.map +1 -1
- package/dist/diffusion/video-recipe.js +3 -0
- package/dist/diffusion/video-recipe.js.map +1 -1
- package/dist/diffusion/video-tiling.d.ts +54 -0
- package/dist/diffusion/video-tiling.js +70 -0
- package/dist/diffusion/video-tiling.js.map +1 -0
- package/dist/diffusion/wiring.d.ts +14 -1
- package/dist/diffusion/wiring.js +7 -0
- package/dist/diffusion/wiring.js.map +1 -1
- package/dist/downloads/protocol.d.ts +3 -8
- package/dist/downloads/protocol.js.map +1 -1
- package/dist/embedding/args.d.ts +39 -0
- package/dist/embedding/args.js +46 -0
- package/dist/embedding/args.js.map +1 -0
- package/dist/embedding/engine.d.ts +50 -0
- package/dist/embedding/engine.js +100 -0
- package/dist/embedding/engine.js.map +1 -0
- package/dist/embedding/ffmpeg.d.ts +18 -0
- package/dist/embedding/ffmpeg.js +63 -0
- package/dist/embedding/ffmpeg.js.map +1 -0
- package/dist/embedding/index.d.ts +16 -0
- package/dist/embedding/index.js +17 -0
- package/dist/embedding/index.js.map +1 -0
- package/dist/embedding/model-facts.d.ts +51 -0
- package/dist/embedding/model-facts.js +84 -0
- package/dist/embedding/model-facts.js.map +1 -0
- package/dist/embedding/process.d.ts +66 -0
- package/dist/embedding/process.js +131 -0
- package/dist/embedding/process.js.map +1 -0
- package/dist/embedding/readiness.d.ts +56 -0
- package/dist/embedding/readiness.js +114 -0
- package/dist/embedding/readiness.js.map +1 -0
- package/dist/embedding/request.d.ts +43 -0
- package/dist/embedding/request.js +285 -0
- package/dist/embedding/request.js.map +1 -0
- package/dist/embedding/service.d.ts +152 -0
- package/dist/embedding/service.js +602 -0
- package/dist/embedding/service.js.map +1 -0
- package/dist/embedding/wiring.d.ts +51 -0
- package/dist/embedding/wiring.js +79 -0
- package/dist/embedding/wiring.js.map +1 -0
- package/dist/engine-builds/builds.d.ts +54 -0
- package/dist/engine-builds/builds.js +151 -0
- package/dist/engine-builds/builds.js.map +1 -0
- package/dist/engine-builds/index.d.ts +10 -0
- package/dist/engine-builds/index.js +11 -0
- package/dist/engine-builds/index.js.map +1 -0
- package/dist/engine-builds/install.d.ts +42 -0
- package/dist/engine-builds/install.js +100 -0
- package/dist/engine-builds/install.js.map +1 -0
- package/dist/engine-builds/manifest.d.ts +121 -0
- package/dist/engine-builds/manifest.js +254 -0
- package/dist/engine-builds/manifest.js.map +1 -0
- package/dist/engine-builds/order.d.ts +24 -0
- package/dist/engine-builds/order.js +44 -0
- package/dist/engine-builds/order.js.map +1 -0
- package/dist/engine-builds/select.d.ts +123 -0
- package/dist/engine-builds/select.js +223 -0
- package/dist/engine-builds/select.js.map +1 -0
- package/dist/engine-builds/service.d.ts +123 -0
- package/dist/engine-builds/service.js +392 -0
- package/dist/engine-builds/service.js.map +1 -0
- package/dist/engines/descriptor-order.d.ts +28 -0
- package/dist/engines/descriptor-order.js +60 -0
- package/dist/engines/descriptor-order.js.map +1 -0
- package/dist/engines/engine-build.d.ts +23 -0
- package/dist/engines/engine-build.js +58 -0
- package/dist/engines/engine-build.js.map +1 -0
- package/dist/engines/index.d.ts +10 -0
- package/dist/engines/index.js +11 -0
- package/dist/engines/index.js.map +1 -0
- package/dist/engines/llamacpp.d.ts +71 -0
- package/dist/engines/llamacpp.js +176 -0
- package/dist/engines/llamacpp.js.map +1 -0
- package/dist/engines/managed.d.ts +49 -0
- package/dist/engines/managed.js +88 -0
- package/dist/engines/managed.js.map +1 -0
- package/dist/engines/service.d.ts +46 -0
- package/dist/engines/service.js +61 -0
- package/dist/engines/service.js.map +1 -0
- package/dist/engines/versions.d.ts +65 -0
- package/dist/engines/versions.js +259 -0
- package/dist/engines/versions.js.map +1 -0
- package/dist/hardware/cpu-flags.d.ts +44 -0
- package/dist/hardware/cpu-flags.js +206 -0
- package/dist/hardware/cpu-flags.js.map +1 -0
- package/dist/hardware/drm-sysfs.d.ts +51 -0
- package/dist/hardware/drm-sysfs.js +67 -0
- package/dist/hardware/drm-sysfs.js.map +1 -0
- package/dist/hardware/facts.d.ts +42 -0
- package/dist/hardware/facts.js +92 -0
- package/dist/hardware/facts.js.map +1 -0
- package/dist/hardware/index.d.ts +19 -3
- package/dist/hardware/index.js +19 -3
- package/dist/hardware/index.js.map +1 -1
- package/dist/hardware/merge.d.ts +55 -0
- package/dist/hardware/merge.js +141 -0
- package/dist/hardware/merge.js.map +1 -0
- package/dist/hardware/nvidia-smi.d.ts +43 -0
- package/dist/hardware/nvidia-smi.js +118 -0
- package/dist/hardware/nvidia-smi.js.map +1 -0
- package/dist/hardware/probe-common.d.ts +72 -0
- package/dist/hardware/probe-common.js +106 -0
- package/dist/hardware/probe-common.js.map +1 -0
- package/dist/hardware/probe-darwin.d.ts +20 -0
- package/dist/hardware/probe-darwin.js +76 -0
- package/dist/hardware/probe-darwin.js.map +1 -0
- package/dist/hardware/probe-linux.d.ts +9 -0
- package/dist/hardware/probe-linux.js +133 -0
- package/dist/hardware/probe-linux.js.map +1 -0
- package/dist/hardware/probe-windows.d.ts +7 -0
- package/dist/hardware/probe-windows.js +50 -0
- package/dist/hardware/probe-windows.js.map +1 -0
- package/dist/hardware/probe.d.ts +16 -0
- package/dist/hardware/probe.js +65 -0
- package/dist/hardware/probe.js.map +1 -0
- package/dist/hardware/service.d.ts +60 -0
- package/dist/hardware/service.js +114 -0
- package/dist/hardware/service.js.map +1 -0
- package/dist/hardware/vulkan.d.ts +47 -0
- package/dist/hardware/vulkan.js +148 -0
- package/dist/hardware/vulkan.js.map +1 -0
- package/dist/hardware/windows-video.d.ts +97 -0
- package/dist/hardware/windows-video.js +214 -0
- package/dist/hardware/windows-video.js.map +1 -0
- package/dist/host/app-daemon.d.ts +47 -0
- package/dist/host/app-daemon.js +146 -0
- package/dist/host/app-daemon.js.map +1 -0
- package/dist/host/index.d.ts +5 -3
- package/dist/host/index.js +5 -3
- package/dist/host/index.js.map +1 -1
- package/dist/host/log-file.d.ts +74 -0
- package/dist/host/log-file.js +214 -0
- package/dist/host/log-file.js.map +1 -0
- package/dist/host/recipes/enable-wsl.d.ts +63 -0
- package/dist/host/recipes/enable-wsl.js +73 -0
- package/dist/host/recipes/enable-wsl.js.map +1 -0
- package/dist/host/recipes/executor-io-windows.d.ts +69 -0
- package/dist/host/recipes/executor-io-windows.js +235 -0
- package/dist/host/recipes/executor-io-windows.js.map +1 -0
- package/dist/host/recipes/executor-io.d.ts +80 -0
- package/dist/host/recipes/executor-io.js +211 -0
- package/dist/host/recipes/executor-io.js.map +1 -0
- package/dist/host/recipes/executor.d.ts +81 -0
- package/dist/host/recipes/executor.js +678 -0
- package/dist/host/recipes/executor.js.map +1 -0
- package/dist/host/recipes/guest-executor.d.ts +29 -0
- package/dist/host/recipes/guest-executor.js +76 -0
- package/dist/host/recipes/guest-executor.js.map +1 -0
- package/dist/host/recipes/index.d.ts +16 -0
- package/dist/host/recipes/index.js +17 -0
- package/dist/host/recipes/index.js.map +1 -0
- package/dist/host/recipes/install-container-runtime.d.ts +389 -0
- package/dist/host/recipes/install-container-runtime.js +796 -0
- package/dist/host/recipes/install-container-runtime.js.map +1 -0
- package/dist/host/recipes/openpgp.d.ts +23 -0
- package/dist/host/recipes/openpgp.js +153 -0
- package/dist/host/recipes/openpgp.js.map +1 -0
- package/dist/host/recipes/request-file.d.ts +96 -0
- package/dist/host/recipes/request-file.js +103 -0
- package/dist/host/recipes/request-file.js.map +1 -0
- package/dist/lock/process-journal.d.ts +5 -2
- package/dist/lock/process-journal.js.map +1 -1
- package/dist/models/capabilities.d.ts +7 -0
- package/dist/models/capabilities.js +17 -1
- package/dist/models/capabilities.js.map +1 -1
- package/dist/models/compatibility/index.d.ts +10 -0
- package/dist/models/compatibility/index.js +11 -0
- package/dist/models/compatibility/index.js.map +1 -0
- package/dist/models/compatibility/inspect.d.ts +19 -0
- package/dist/models/compatibility/inspect.js +59 -0
- package/dist/models/compatibility/inspect.js.map +1 -0
- package/dist/models/compatibility/resolve.d.ts +59 -0
- package/dist/models/compatibility/resolve.js +219 -0
- package/dist/models/compatibility/resolve.js.map +1 -0
- package/dist/models/compatibility/rules-baseline.d.ts +2 -0
- package/dist/models/compatibility/rules-baseline.js +10 -0
- package/dist/models/compatibility/rules-baseline.js.map +1 -0
- package/dist/models/compatibility/rules-baseline.json +292 -0
- package/dist/models/compatibility/rules-service.d.ts +36 -0
- package/dist/models/compatibility/rules-service.js +109 -0
- package/dist/models/compatibility/rules-service.js.map +1 -0
- package/dist/models/compatibility/rules.d.ts +81 -0
- package/dist/models/compatibility/rules.js +164 -0
- package/dist/models/compatibility/rules.js.map +1 -0
- package/dist/models/compatibility/service.d.ts +59 -0
- package/dist/models/compatibility/service.js +137 -0
- package/dist/models/compatibility/service.js.map +1 -0
- package/dist/models/decision-checkpoint.d.ts +22 -0
- package/dist/models/decision-checkpoint.js +33 -0
- package/dist/models/decision-checkpoint.js.map +1 -0
- package/dist/models/gguf/classify.d.ts +27 -1
- package/dist/models/gguf/classify.js +78 -2
- package/dist/models/gguf/classify.js.map +1 -1
- package/dist/models/gguf/index.d.ts +1 -0
- package/dist/models/gguf/index.js +1 -0
- package/dist/models/gguf/index.js.map +1 -1
- package/dist/models/gguf/tensors.d.ts +56 -0
- package/dist/models/gguf/tensors.js +236 -0
- package/dist/models/gguf/tensors.js.map +1 -0
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.js +2 -0
- package/dist/models/index.js.map +1 -1
- package/dist/router/resolve.d.ts +7 -1
- package/dist/router/resolve.js +14 -1
- package/dist/router/resolve.js.map +1 -1
- package/dist/runtime/container/argv.d.ts +88 -0
- package/dist/runtime/container/argv.js +406 -0
- package/dist/runtime/container/argv.js.map +1 -0
- package/dist/runtime/container/docker-binary.d.ts +4 -0
- package/dist/runtime/container/docker-binary.js +34 -0
- package/dist/runtime/container/docker-binary.js.map +1 -0
- package/dist/runtime/container/env.d.ts +17 -0
- package/dist/runtime/container/env.js +52 -0
- package/dist/runtime/container/env.js.map +1 -0
- package/dist/runtime/container/exec.d.ts +27 -0
- package/dist/runtime/container/exec.js +79 -0
- package/dist/runtime/container/exec.js.map +1 -0
- package/dist/runtime/container/execution-journal.d.ts +55 -0
- package/dist/runtime/container/execution-journal.js +167 -0
- package/dist/runtime/container/execution-journal.js.map +1 -0
- package/dist/runtime/container/heartbeat.d.ts +47 -0
- package/dist/runtime/container/heartbeat.js +78 -0
- package/dist/runtime/container/heartbeat.js.map +1 -0
- package/dist/runtime/container/index.d.ts +30 -0
- package/dist/runtime/container/index.js +31 -0
- package/dist/runtime/container/index.js.map +1 -0
- package/dist/runtime/container/operations.d.ts +40 -0
- package/dist/runtime/container/operations.js +233 -0
- package/dist/runtime/container/operations.js.map +1 -0
- package/dist/runtime/container/pull.d.ts +48 -0
- package/dist/runtime/container/pull.js +280 -0
- package/dist/runtime/container/pull.js.map +1 -0
- package/dist/runtime/container/reconcile.d.ts +34 -0
- package/dist/runtime/container/reconcile.js +79 -0
- package/dist/runtime/container/reconcile.js.map +1 -0
- package/dist/runtime/container/types.d.ts +124 -0
- package/dist/runtime/container/types.js +2 -0
- package/dist/runtime/container/types.js.map +1 -0
- package/dist/runtime/container/watchdog.d.ts +114 -0
- package/dist/runtime/container/watchdog.js +418 -0
- package/dist/runtime/container/watchdog.js.map +1 -0
- package/dist/runtime/container/wiring.d.ts +78 -0
- package/dist/runtime/container/wiring.js +92 -0
- package/dist/runtime/container/wiring.js.map +1 -0
- package/dist/runtime/container/wsl-exec.d.ts +13 -0
- package/dist/runtime/container/wsl-exec.js +18 -0
- package/dist/runtime/container/wsl-exec.js.map +1 -0
- package/dist/runtime/environment/cached-document.d.ts +128 -0
- package/dist/runtime/environment/cached-document.js +218 -0
- package/dist/runtime/environment/cached-document.js.map +1 -0
- package/dist/runtime/environment/canonical-json.d.ts +78 -0
- package/dist/runtime/environment/canonical-json.js +86 -0
- package/dist/runtime/environment/canonical-json.js.map +1 -0
- package/dist/runtime/environment/descriptor-provider.d.ts +121 -0
- package/dist/runtime/environment/descriptor-provider.js +159 -0
- package/dist/runtime/environment/descriptor-provider.js.map +1 -0
- package/dist/runtime/environment/descriptor.d.ts +35 -0
- package/dist/runtime/environment/descriptor.js +239 -0
- package/dist/runtime/environment/descriptor.js.map +1 -0
- package/dist/runtime/environment/diagnostics.d.ts +50 -0
- package/dist/runtime/environment/diagnostics.js +114 -0
- package/dist/runtime/environment/diagnostics.js.map +1 -0
- package/dist/runtime/environment/document-fields.d.ts +39 -0
- package/dist/runtime/environment/document-fields.js +96 -0
- package/dist/runtime/environment/document-fields.js.map +1 -0
- package/dist/runtime/environment/environment-manifest-provider.d.ts +65 -0
- package/dist/runtime/environment/environment-manifest-provider.js +89 -0
- package/dist/runtime/environment/environment-manifest-provider.js.map +1 -0
- package/dist/runtime/environment/environment-manifest.d.ts +35 -0
- package/dist/runtime/environment/environment-manifest.js +131 -0
- package/dist/runtime/environment/environment-manifest.js.map +1 -0
- package/dist/runtime/environment/guest-host.d.ts +43 -0
- package/dist/runtime/environment/guest-host.js +88 -0
- package/dist/runtime/environment/guest-host.js.map +1 -0
- package/dist/runtime/environment/host-exec.d.ts +38 -0
- package/dist/runtime/environment/host-exec.js +145 -0
- package/dist/runtime/environment/host-exec.js.map +1 -0
- package/dist/runtime/environment/host-step-failure.d.ts +33 -0
- package/dist/runtime/environment/host-step-failure.js +34 -0
- package/dist/runtime/environment/host-step-failure.js.map +1 -0
- package/dist/runtime/environment/index.d.ts +56 -0
- package/dist/runtime/environment/index.js +57 -0
- package/dist/runtime/environment/index.js.map +1 -0
- package/dist/runtime/environment/installations.d.ts +25 -0
- package/dist/runtime/environment/installations.js +70 -0
- package/dist/runtime/environment/installations.js.map +1 -0
- package/dist/runtime/environment/inventory.d.ts +42 -0
- package/dist/runtime/environment/inventory.js +57 -0
- package/dist/runtime/environment/inventory.js.map +1 -0
- package/dist/runtime/environment/linux-blockers.d.ts +130 -0
- package/dist/runtime/environment/linux-blockers.js +251 -0
- package/dist/runtime/environment/linux-blockers.js.map +1 -0
- package/dist/runtime/environment/linux-docker-facts.d.ts +200 -0
- package/dist/runtime/environment/linux-docker-facts.js +342 -0
- package/dist/runtime/environment/linux-docker-facts.js.map +1 -0
- package/dist/runtime/environment/linux-docker-network.d.ts +80 -0
- package/dist/runtime/environment/linux-docker-network.js +195 -0
- package/dist/runtime/environment/linux-docker-network.js.map +1 -0
- package/dist/runtime/environment/linux-host.d.ts +22 -0
- package/dist/runtime/environment/linux-host.js +98 -0
- package/dist/runtime/environment/linux-host.js.map +1 -0
- package/dist/runtime/environment/linux-plan.d.ts +126 -0
- package/dist/runtime/environment/linux-plan.js +392 -0
- package/dist/runtime/environment/linux-plan.js.map +1 -0
- package/dist/runtime/environment/linux-probe.d.ts +245 -0
- package/dist/runtime/environment/linux-probe.js +315 -0
- package/dist/runtime/environment/linux-probe.js.map +1 -0
- package/dist/runtime/environment/linux-provisioner.d.ts +102 -0
- package/dist/runtime/environment/linux-provisioner.js +734 -0
- package/dist/runtime/environment/linux-provisioner.js.map +1 -0
- package/dist/runtime/environment/provisioner-descriptors.d.ts +17 -0
- package/dist/runtime/environment/provisioner-descriptors.js +62 -0
- package/dist/runtime/environment/provisioner-descriptors.js.map +1 -0
- package/dist/runtime/environment/recovery.d.ts +74 -0
- package/dist/runtime/environment/recovery.js +121 -0
- package/dist/runtime/environment/recovery.js.map +1 -0
- package/dist/runtime/environment/rootfs-download.d.ts +2 -0
- package/dist/runtime/environment/rootfs-download.js +47 -0
- package/dist/runtime/environment/rootfs-download.js.map +1 -0
- package/dist/runtime/environment/service.d.ts +280 -0
- package/dist/runtime/environment/service.js +776 -0
- package/dist/runtime/environment/service.js.map +1 -0
- package/dist/runtime/environment/state.d.ts +163 -0
- package/dist/runtime/environment/state.js +479 -0
- package/dist/runtime/environment/state.js.map +1 -0
- package/dist/runtime/environment/store-models.d.ts +19 -0
- package/dist/runtime/environment/store-models.js +30 -0
- package/dist/runtime/environment/store-models.js.map +1 -0
- package/dist/runtime/environment/store.d.ts +210 -0
- package/dist/runtime/environment/store.js +438 -0
- package/dist/runtime/environment/store.js.map +1 -0
- package/dist/runtime/environment/windows-environment-record.d.ts +48 -0
- package/dist/runtime/environment/windows-environment-record.js +89 -0
- package/dist/runtime/environment/windows-environment-record.js.map +1 -0
- package/dist/runtime/environment/windows-forwarding.d.ts +27 -0
- package/dist/runtime/environment/windows-forwarding.js +84 -0
- package/dist/runtime/environment/windows-forwarding.js.map +1 -0
- package/dist/runtime/environment/windows-guest-setup.d.ts +48 -0
- package/dist/runtime/environment/windows-guest-setup.js +157 -0
- package/dist/runtime/environment/windows-guest-setup.js.map +1 -0
- package/dist/runtime/environment/windows-host.d.ts +46 -0
- package/dist/runtime/environment/windows-host.js +163 -0
- package/dist/runtime/environment/windows-host.js.map +1 -0
- package/dist/runtime/environment/windows-plan.d.ts +78 -0
- package/dist/runtime/environment/windows-plan.js +216 -0
- package/dist/runtime/environment/windows-plan.js.map +1 -0
- package/dist/runtime/environment/windows-probe.d.ts +135 -0
- package/dist/runtime/environment/windows-probe.js +261 -0
- package/dist/runtime/environment/windows-probe.js.map +1 -0
- package/dist/runtime/environment/windows-provisioner.d.ts +113 -0
- package/dist/runtime/environment/windows-provisioner.js +782 -0
- package/dist/runtime/environment/windows-provisioner.js.map +1 -0
- package/dist/runtime/environment/wiring.d.ts +117 -0
- package/dist/runtime/environment/wiring.js +354 -0
- package/dist/runtime/environment/wiring.js.map +1 -0
- package/dist/runtime/foundation-models/runtime.d.ts +8 -0
- package/dist/runtime/foundation-models/runtime.js +5 -2
- package/dist/runtime/foundation-models/runtime.js.map +1 -1
- package/dist/runtime/llamacpp/args.d.ts +10 -1
- package/dist/runtime/llamacpp/args.js +43 -7
- package/dist/runtime/llamacpp/args.js.map +1 -1
- package/dist/runtime/llamacpp/fit-margin.d.ts +46 -0
- package/dist/runtime/llamacpp/fit-margin.js +47 -0
- package/dist/runtime/llamacpp/fit-margin.js.map +1 -0
- package/dist/runtime/llamacpp/index.d.ts +1 -0
- package/dist/runtime/llamacpp/index.js +1 -0
- package/dist/runtime/llamacpp/index.js.map +1 -1
- package/dist/runtime/llamacpp/load-plan.d.ts +23 -1
- package/dist/runtime/llamacpp/load-plan.js +82 -1
- package/dist/runtime/llamacpp/load-plan.js.map +1 -1
- package/dist/runtime/llamacpp/policy.d.ts +16 -0
- package/dist/runtime/llamacpp/policy.js +20 -0
- package/dist/runtime/llamacpp/policy.js.map +1 -1
- package/dist/runtime/llamacpp/probe.d.ts +21 -1
- package/dist/runtime/llamacpp/probe.js +32 -6
- package/dist/runtime/llamacpp/probe.js.map +1 -1
- package/dist/runtime/llamacpp/runtime.d.ts +56 -1
- package/dist/runtime/llamacpp/runtime.js +142 -15
- package/dist/runtime/llamacpp/runtime.js.map +1 -1
- package/dist/runtime/managed-engines/index.d.ts +8 -0
- package/dist/runtime/managed-engines/index.js +9 -0
- package/dist/runtime/managed-engines/index.js.map +1 -0
- package/dist/runtime/managed-engines/runtime.d.ts +140 -0
- package/dist/runtime/managed-engines/runtime.js +402 -0
- package/dist/runtime/managed-engines/runtime.js.map +1 -0
- package/dist/runtime/managed-engines/spec.d.ts +70 -0
- package/dist/runtime/managed-engines/spec.js +39 -0
- package/dist/runtime/managed-engines/spec.js.map +1 -0
- package/dist/runtime/managed-models/check.d.ts +50 -0
- package/dist/runtime/managed-models/check.js +157 -0
- package/dist/runtime/managed-models/check.js.map +1 -0
- package/dist/runtime/managed-models/compatibility.d.ts +256 -0
- package/dist/runtime/managed-models/compatibility.js +594 -0
- package/dist/runtime/managed-models/compatibility.js.map +1 -0
- package/dist/runtime/managed-models/delete.d.ts +15 -0
- package/dist/runtime/managed-models/delete.js +60 -0
- package/dist/runtime/managed-models/delete.js.map +1 -0
- package/dist/runtime/managed-models/guest-files.d.ts +8 -0
- package/dist/runtime/managed-models/guest-files.js +49 -0
- package/dist/runtime/managed-models/guest-files.js.map +1 -0
- package/dist/runtime/managed-models/index.d.ts +17 -0
- package/dist/runtime/managed-models/index.js +18 -0
- package/dist/runtime/managed-models/index.js.map +1 -0
- package/dist/runtime/managed-models/location.d.ts +22 -0
- package/dist/runtime/managed-models/location.js +53 -0
- package/dist/runtime/managed-models/location.js.map +1 -0
- package/dist/runtime/managed-models/migrate.d.ts +30 -0
- package/dist/runtime/managed-models/migrate.js +119 -0
- package/dist/runtime/managed-models/migrate.js.map +1 -0
- package/dist/runtime/managed-models/model-dir.d.ts +36 -0
- package/dist/runtime/managed-models/model-dir.js +136 -0
- package/dist/runtime/managed-models/model-dir.js.map +1 -0
- package/dist/runtime/managed-models/quant-format.d.ts +71 -0
- package/dist/runtime/managed-models/quant-format.js +299 -0
- package/dist/runtime/managed-models/quant-format.js.map +1 -0
- package/dist/runtime/managed-models/registry.d.ts +26 -0
- package/dist/runtime/managed-models/registry.js +66 -0
- package/dist/runtime/managed-models/registry.js.map +1 -0
- package/dist/runtime/managed-text/adapter.d.ts +266 -0
- package/dist/runtime/managed-text/adapter.js +96 -0
- package/dist/runtime/managed-text/adapter.js.map +1 -0
- package/dist/runtime/managed-text/backend-target.d.ts +3 -0
- package/dist/runtime/managed-text/backend-target.js +52 -0
- package/dist/runtime/managed-text/backend-target.js.map +1 -0
- package/dist/runtime/managed-text/deployment.d.ts +14 -0
- package/dist/runtime/managed-text/deployment.js +32 -0
- package/dist/runtime/managed-text/deployment.js.map +1 -0
- package/dist/runtime/managed-text/engine-cache.d.ts +15 -0
- package/dist/runtime/managed-text/engine-cache.js +64 -0
- package/dist/runtime/managed-text/engine-cache.js.map +1 -0
- package/dist/runtime/managed-text/gateway.d.ts +158 -0
- package/dist/runtime/managed-text/gateway.js +535 -0
- package/dist/runtime/managed-text/gateway.js.map +1 -0
- package/dist/runtime/managed-text/generation-defaults.d.ts +23 -0
- package/dist/runtime/managed-text/generation-defaults.js +51 -0
- package/dist/runtime/managed-text/generation-defaults.js.map +1 -0
- package/dist/runtime/managed-text/index.d.ts +26 -0
- package/dist/runtime/managed-text/index.js +27 -0
- package/dist/runtime/managed-text/index.js.map +1 -0
- package/dist/runtime/managed-text/lifecycle.d.ts +276 -0
- package/dist/runtime/managed-text/lifecycle.js +859 -0
- package/dist/runtime/managed-text/lifecycle.js.map +1 -0
- package/dist/runtime/managed-text/load-policy.d.ts +47 -0
- package/dist/runtime/managed-text/load-policy.js +111 -0
- package/dist/runtime/managed-text/load-policy.js.map +1 -0
- package/dist/runtime/managed-text/mount-source.d.ts +14 -0
- package/dist/runtime/managed-text/mount-source.js +18 -0
- package/dist/runtime/managed-text/mount-source.js.map +1 -0
- package/dist/runtime/managed-text/readiness.d.ts +13 -0
- package/dist/runtime/managed-text/readiness.js +24 -0
- package/dist/runtime/managed-text/readiness.js.map +1 -0
- package/dist/runtime/managed-text/request-rules.d.ts +18 -0
- package/dist/runtime/managed-text/request-rules.js +62 -0
- package/dist/runtime/managed-text/request-rules.js.map +1 -0
- package/dist/runtime/managed-text/types.d.ts +88 -0
- package/dist/runtime/managed-text/types.js +12 -0
- package/dist/runtime/managed-text/types.js.map +1 -0
- package/dist/runtime/managed-text/wsl-deployment.d.ts +24 -0
- package/dist/runtime/managed-text/wsl-deployment.js +70 -0
- package/dist/runtime/managed-text/wsl-deployment.js.map +1 -0
- package/dist/runtime/mlx/errors.d.ts +6 -1
- package/dist/runtime/mlx/errors.js +7 -2
- package/dist/runtime/mlx/errors.js.map +1 -1
- package/dist/runtime/mlx/runtime.d.ts +36 -1
- package/dist/runtime/mlx/runtime.js +85 -4
- package/dist/runtime/mlx/runtime.js.map +1 -1
- package/dist/runtime/shared/backend-output.d.ts +23 -0
- package/dist/runtime/shared/backend-output.js +32 -0
- package/dist/runtime/shared/backend-output.js.map +1 -0
- package/dist/runtime/shared/bounded-output.d.ts +24 -0
- package/dist/runtime/shared/bounded-output.js +63 -0
- package/dist/runtime/shared/bounded-output.js.map +1 -0
- package/dist/runtime/shared/external-sessions.js +9 -1
- package/dist/runtime/shared/external-sessions.js.map +1 -1
- package/dist/runtime/shared/gpu-occupancy.d.ts +60 -0
- package/dist/runtime/shared/gpu-occupancy.js +10 -0
- package/dist/runtime/shared/gpu-occupancy.js.map +1 -0
- package/dist/runtime/shared/index.d.ts +4 -0
- package/dist/runtime/shared/index.js +4 -0
- package/dist/runtime/shared/index.js.map +1 -1
- package/dist/runtime/shared/local-runtime.d.ts +35 -0
- package/dist/runtime/shared/ports.d.ts +6 -0
- package/dist/runtime/shared/ports.js +12 -1
- package/dist/runtime/shared/ports.js.map +1 -1
- package/dist/runtime/shared/process.d.ts +11 -0
- package/dist/runtime/shared/process.js +20 -0
- package/dist/runtime/shared/process.js.map +1 -1
- package/dist/runtime/shared/redact-args.d.ts +7 -0
- package/dist/runtime/shared/redact-args.js +26 -0
- package/dist/runtime/shared/redact-args.js.map +1 -0
- package/dist/runtime/shared/sidecar.d.ts +15 -0
- package/dist/runtime/shared/sidecar.js +43 -8
- package/dist/runtime/shared/sidecar.js.map +1 -1
- package/dist/runtime/tensorrt-llm/adapter.d.ts +250 -0
- package/dist/runtime/tensorrt-llm/adapter.js +1011 -0
- package/dist/runtime/tensorrt-llm/adapter.js.map +1 -0
- package/dist/runtime/tensorrt-llm/check.d.ts +12 -0
- package/dist/runtime/tensorrt-llm/check.js +21 -0
- package/dist/runtime/tensorrt-llm/check.js.map +1 -0
- package/dist/runtime/tensorrt-llm/compatibility.d.ts +100 -0
- package/dist/runtime/tensorrt-llm/compatibility.js +181 -0
- package/dist/runtime/tensorrt-llm/compatibility.js.map +1 -0
- package/dist/runtime/tensorrt-llm/engine.d.ts +3 -0
- package/dist/runtime/tensorrt-llm/engine.js +24 -0
- package/dist/runtime/tensorrt-llm/engine.js.map +1 -0
- package/dist/runtime/tensorrt-llm/host-facts.d.ts +55 -0
- package/dist/runtime/tensorrt-llm/host-facts.js +87 -0
- package/dist/runtime/tensorrt-llm/host-facts.js.map +1 -0
- package/dist/runtime/tensorrt-llm/index.d.ts +30 -0
- package/dist/runtime/tensorrt-llm/index.js +31 -0
- package/dist/runtime/tensorrt-llm/index.js.map +1 -0
- package/dist/runtime/tensorrt-llm/installation.d.ts +23 -0
- package/dist/runtime/tensorrt-llm/installation.js +53 -0
- package/dist/runtime/tensorrt-llm/installation.js.map +1 -0
- package/dist/runtime/tensorrt-llm/kv-cache.d.ts +25 -0
- package/dist/runtime/tensorrt-llm/kv-cache.js +28 -0
- package/dist/runtime/tensorrt-llm/kv-cache.js.map +1 -0
- package/dist/runtime/tensorrt-llm/prelaunch.d.ts +20 -0
- package/dist/runtime/tensorrt-llm/prelaunch.js +168 -0
- package/dist/runtime/tensorrt-llm/prelaunch.js.map +1 -0
- package/dist/runtime/tensorrt-llm/route-policy.d.ts +19 -0
- package/dist/runtime/tensorrt-llm/route-policy.js +17 -0
- package/dist/runtime/tensorrt-llm/route-policy.js.map +1 -0
- package/dist/runtime/tensorrt-llm/settings.d.ts +7 -0
- package/dist/runtime/tensorrt-llm/settings.js +48 -0
- package/dist/runtime/tensorrt-llm/settings.js.map +1 -0
- package/dist/runtime/vllm/adapter.d.ts +46 -0
- package/dist/runtime/vllm/adapter.js +425 -0
- package/dist/runtime/vllm/adapter.js.map +1 -0
- package/dist/runtime/vllm/engine.d.ts +16 -0
- package/dist/runtime/vllm/engine.js +37 -0
- package/dist/runtime/vllm/engine.js.map +1 -0
- package/dist/runtime/vllm/index.d.ts +11 -0
- package/dist/runtime/vllm/index.js +12 -0
- package/dist/runtime/vllm/index.js.map +1 -0
- package/dist/runtime/vllm/memory.d.ts +69 -0
- package/dist/runtime/vllm/memory.js +123 -0
- package/dist/runtime/vllm/memory.js.map +1 -0
- package/dist/runtime/vllm/settings.d.ts +52 -0
- package/dist/runtime/vllm/settings.js +151 -0
- package/dist/runtime/vllm/settings.js.map +1 -0
- package/dist/runtime/wsl/guest-paths.d.ts +33 -0
- package/dist/runtime/wsl/guest-paths.js +83 -0
- package/dist/runtime/wsl/guest-paths.js.map +1 -0
- package/dist/runtime/wsl/guest-scope.d.ts +14 -0
- package/dist/runtime/wsl/guest-scope.js +98 -0
- package/dist/runtime/wsl/guest-scope.js.map +1 -0
- package/dist/runtime/wsl/index.d.ts +12 -0
- package/dist/runtime/wsl/index.js +13 -0
- package/dist/runtime/wsl/index.js.map +1 -0
- package/dist/runtime/wsl/keeper.d.ts +29 -0
- package/dist/runtime/wsl/keeper.js +48 -0
- package/dist/runtime/wsl/keeper.js.map +1 -0
- package/dist/runtime/wsl/transport.d.ts +106 -0
- package/dist/runtime/wsl/transport.js +181 -0
- package/dist/runtime/wsl/transport.js.map +1 -0
- package/dist/server/control/index.d.ts +1 -1
- package/dist/server/control/router.js +15 -0
- package/dist/server/control/router.js.map +1 -1
- package/dist/server/control/routes/backends.js +26 -0
- package/dist/server/control/routes/backends.js.map +1 -1
- package/dist/server/control/routes/decision.d.ts +10 -0
- package/dist/server/control/routes/decision.js +43 -0
- package/dist/server/control/routes/decision.js.map +1 -0
- package/dist/server/control/routes/diffusion-video.js +4 -0
- package/dist/server/control/routes/diffusion-video.js.map +1 -1
- package/dist/server/control/routes/diffusion.d.ts +1 -1
- package/dist/server/control/routes/diffusion.js +4 -9
- package/dist/server/control/routes/diffusion.js.map +1 -1
- package/dist/server/control/routes/embedding.d.ts +9 -0
- package/dist/server/control/routes/embedding.js +43 -0
- package/dist/server/control/routes/embedding.js.map +1 -0
- package/dist/server/control/routes/engine-builds.d.ts +14 -0
- package/dist/server/control/routes/engine-builds.js +82 -0
- package/dist/server/control/routes/engine-builds.js.map +1 -0
- package/dist/server/control/routes/engines.d.ts +17 -0
- package/dist/server/control/routes/engines.js +152 -0
- package/dist/server/control/routes/engines.js.map +1 -0
- package/dist/server/control/routes/environments.d.ts +16 -0
- package/dist/server/control/routes/environments.js +207 -0
- package/dist/server/control/routes/environments.js.map +1 -0
- package/dist/server/control/routes/hardware.d.ts +1 -1
- package/dist/server/control/routes/hardware.js +11 -6
- package/dist/server/control/routes/hardware.js.map +1 -1
- package/dist/server/control/routes/model-setups.d.ts +11 -0
- package/dist/server/control/routes/model-setups.js +55 -0
- package/dist/server/control/routes/model-setups.js.map +1 -0
- package/dist/server/control/routes/models.d.ts +3 -2
- package/dist/server/control/routes/models.js +45 -2
- package/dist/server/control/routes/models.js.map +1 -1
- package/dist/server/control/types.d.ts +167 -9
- package/dist/server/control/types.js.map +1 -1
- package/dist/server/http.d.ts +9 -1
- package/dist/server/http.js +51 -1
- package/dist/server/http.js.map +1 -1
- package/dist/server/public/decision-preview.d.ts +17 -0
- package/dist/server/public/decision-preview.js +119 -0
- package/dist/server/public/decision-preview.js.map +1 -0
- package/dist/server/public/decision.d.ts +32 -0
- package/dist/server/public/decision.js +135 -0
- package/dist/server/public/decision.js.map +1 -0
- package/dist/server/public/embedding.d.ts +31 -0
- package/dist/server/public/embedding.js +126 -0
- package/dist/server/public/embedding.js.map +1 -0
- package/dist/server/public/errors.d.ts +2 -1
- package/dist/server/public/errors.js +5 -2
- package/dist/server/public/errors.js.map +1 -1
- package/dist/server/public/forward.js +75 -3
- package/dist/server/public/forward.js.map +1 -1
- package/dist/server/public/gates.d.ts +13 -0
- package/dist/server/public/gates.js +37 -14
- package/dist/server/public/gates.js.map +1 -1
- package/dist/server/public/index.d.ts +5 -2
- package/dist/server/public/index.js +14 -1
- package/dist/server/public/index.js.map +1 -1
- package/dist/server/public/listing.d.ts +13 -2
- package/dist/server/public/listing.js +33 -9
- package/dist/server/public/listing.js.map +1 -1
- package/dist/server/public/policy.d.ts +9 -0
- package/dist/server/public/policy.js +68 -0
- package/dist/server/public/policy.js.map +1 -0
- package/dist/server/public/responses.js +10 -0
- package/dist/server/public/responses.js.map +1 -1
- package/dist/server/public/trace.d.ts +2 -2
- package/dist/server/public/trace.js +6 -2
- package/dist/server/public/trace.js.map +1 -1
- package/dist/server/public/types.d.ts +84 -1
- package/dist/settings/decision.d.ts +15 -0
- package/dist/settings/decision.js +88 -0
- package/dist/settings/decision.js.map +1 -0
- package/dist/settings/embedding.d.ts +12 -0
- package/dist/settings/embedding.js +82 -0
- package/dist/settings/embedding.js.map +1 -0
- package/dist/settings/index.d.ts +2 -0
- package/dist/settings/index.js +2 -0
- package/dist/settings/index.js.map +1 -1
- package/dist/settings/schema/atomic-prism.json +433 -0
- package/dist/settings/schema/tensorrt-llm.json +253 -0
- package/dist/settings/schema/vllm.json +273 -0
- package/dist/settings/schema.js +58 -0
- package/dist/settings/schema.js.map +1 -1
- package/dist/settings/store.d.ts +13 -2
- package/dist/settings/store.js +44 -0
- package/dist/settings/store.js.map +1 -1
- package/dist/util/index.d.ts +1 -0
- package/dist/util/index.js +1 -0
- package/dist/util/index.js.map +1 -1
- package/dist/util/result.d.ts +19 -0
- package/dist/util/result.js +15 -0
- package/dist/util/result.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
- package/src/settings/schema/atomic-prism.json +433 -0
- package/src/settings/schema/tensorrt-llm.json +253 -0
- package/src/settings/schema/vllm.json +273 -0
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The compatibility check every managed engine shares (change `add-vllm-runtime`, design D7; spec
|
|
3
|
+
* `managed-model-store`, "Проверка совместимости одинакова по форме для всех managed-движков"):
|
|
4
|
+
* whether a Hugging Face checkpoint can run on one engine on this host, computed entirely from what
|
|
5
|
+
* the caller already has — `config.json`, `hf_quant_config.json` when the repository carries one, the
|
|
6
|
+
* revision's file listing, that engine's pinned `RuntimeDescriptor`, the host's `GpuFacts[]` and its
|
|
7
|
+
* `MemAvailable`/`MemTotal` (`HostMemory`) — before a single byte of the checkpoint is downloaded.
|
|
8
|
+
*
|
|
9
|
+
* The skeleton is the same for every engine; two things are the engine's own, passed in as a
|
|
10
|
+
* `ManagedCheckEngine`: `memoryNeed`, what the checkpoint needs on a card by that engine's own
|
|
11
|
+
* memory rule (TensorRT-LLM: its KV reserve divided by the free-memory fraction plus its runtime and
|
|
12
|
+
* activations; vLLM: weights plus KV in bytes plus its overhead), and `checkpointProblems`, shapes of
|
|
13
|
+
* a supported architecture the engine's loader cannot read. The engine's descriptor decides the rest:
|
|
14
|
+
* its architectures and its format matrix. Neither the hooks nor the adapter are the same thing — the
|
|
15
|
+
* check runs with no Docker and no load lifecycle at all.
|
|
16
|
+
*
|
|
17
|
+
* This is the pure verdict only: it never touches the network or the filesystem. `selectLaunchGpu` is
|
|
18
|
+
* exported on its own because a load picks the same card the same way.
|
|
19
|
+
*
|
|
20
|
+
* Check order: GGUF is rejected outright before anything else (spec: "for GGUF there is
|
|
21
|
+
* llama.cpp"), then a curated match's `inventory_digest` is verified — an integrity gate that is
|
|
22
|
+
* independent of whether the checkpoint would otherwise load, so a tampered curated listing is
|
|
23
|
+
* reported as `MANAGED_METADATA_INVALID` rather than whatever compatibility error the tampered
|
|
24
|
+
* files happen to also trigger. Only then: quantization format recognised by the shared naming rule,
|
|
25
|
+
* architecture supported, the engine's checkpoint problems, format present in this descriptor's own
|
|
26
|
+
* matrix, the file listing has at least one weight file, the format's compute-capability rule
|
|
27
|
+
* (minimum and exclusion list) — everything above is genuinely static, true or false regardless of
|
|
28
|
+
* what else is running on the host — and finally the engine's memory need against the selected
|
|
29
|
+
* card's free memory.
|
|
30
|
+
*
|
|
31
|
+
* `checkCheckpoint` runs every check as one call, for the check route's single live snapshot. The
|
|
32
|
+
* load path cannot: a pre-launch check runs before the previous session on the very same card is
|
|
33
|
+
* stopped, so reading that card's free memory then would refuse a same-card model switch outright.
|
|
34
|
+
* `checkCheckpointFiles` is every check above the memory line, and `checkCheckpointMemory` is the
|
|
35
|
+
* memory line alone, so a load can run the first before stopping the previous session and the second
|
|
36
|
+
* after it, against a freshly re-probed card.
|
|
37
|
+
*/
|
|
38
|
+
import { AtomicCoreError } from '../../contracts/index.js';
|
|
39
|
+
import { inventoryDigest } from '../environment/index.js';
|
|
40
|
+
import { describeUnrecognizedQuantization, isGgufCheckpoint, kvCacheQuantAlgo, MIXED_PRECISION, quantizationComponents, quantizationFormat, } from './quant-format.js';
|
|
41
|
+
/**
|
|
42
|
+
* `model.layers.12.mlp.experts.7.w1.weight` → `model.layers.*.mlp.experts.*.w1.weight`: a large MoE
|
|
43
|
+
* index (DeepSeek-V3: ~90k names) folds to a few hundred, and no shape check here looks at indices.
|
|
44
|
+
*/
|
|
45
|
+
export function normalizeWeightName(name) {
|
|
46
|
+
return name.replace(/(?<=^|\.)\d+(?=\.|$)/g, '*');
|
|
47
|
+
}
|
|
48
|
+
/** Folded and de-duplicated tensor names, in a stable order. */
|
|
49
|
+
export function normalizeWeightNames(names) {
|
|
50
|
+
return [...new Set([...names].map(normalizeWeightName))].sort();
|
|
51
|
+
}
|
|
52
|
+
/** A safetensors header larger than this is not a header this core reads (real ones are KB to a few MB). */
|
|
53
|
+
const MAX_SAFETENSORS_HEADER_BYTES = 100 * 1024 * 1024;
|
|
54
|
+
/** The header length a `.safetensors` file's first 8 bytes declare (little-endian u64); `undefined` if implausible. */
|
|
55
|
+
export function safetensorsHeaderLength(prefix) {
|
|
56
|
+
if (prefix.length < 8)
|
|
57
|
+
return undefined;
|
|
58
|
+
const length = new DataView(prefix.buffer, prefix.byteOffset, 8).getBigUint64(0, true);
|
|
59
|
+
return length > 0n && length <= BigInt(MAX_SAFETENSORS_HEADER_BYTES) ? Number(length) : undefined;
|
|
60
|
+
}
|
|
61
|
+
/** The tensor names a parsed safetensors header lists (its keys, minus `__metadata__`); `undefined` if it is not an object. */
|
|
62
|
+
export function safetensorsTensorNames(header) {
|
|
63
|
+
if (header === null || typeof header !== 'object' || Array.isArray(header))
|
|
64
|
+
return undefined;
|
|
65
|
+
return Object.keys(header).filter((key) => key !== '__metadata__');
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The card a load runs on, and the card `POST /models/:provider/check` computes against when the
|
|
69
|
+
* caller names none — one function for both, so a verdict and a launch can never be about different
|
|
70
|
+
* cards (spec `tensorrt-llm-runtime` "Выбор карты и настройки провайдера", design D12b). `gpu_id`
|
|
71
|
+
* when given and present on the host; otherwise the card with the most FREE memory right now, ties
|
|
72
|
+
* broken by the most TOTAL memory, and a full tie by the order `nvidia-smi` lists the cards in (its
|
|
73
|
+
* own index, stable on a host), so equal cards always resolve the same way. `null` only when the host
|
|
74
|
+
* has no GPU at all.
|
|
75
|
+
*
|
|
76
|
+
* Free memory, not total: on a desktop with two equal cards the first is usually holding the
|
|
77
|
+
* desktop and a browser, and "the biggest card" would send the model there to run out of memory
|
|
78
|
+
* while the second card sits idle. Placement may therefore change between loads as the cards' load
|
|
79
|
+
* changes; the engine cache is keyed by model, not by card, so that only moves where it runs.
|
|
80
|
+
* Compute capability is deliberately not a filter here: the spec's rule is memory only, and a card
|
|
81
|
+
* the checkpoint's format cannot run on gets an honest `MODEL_INCOMPATIBLE` naming the other cards
|
|
82
|
+
* it would fit on (`fits_other_gpus`).
|
|
83
|
+
*
|
|
84
|
+
* A unified-memory card (`total_vram_bytes: null`) ranks by the host's memory — `MemAvailable` as
|
|
85
|
+
* its free memory and `MemTotal` as its total — the same figure `freeMemoryBytes` compares its
|
|
86
|
+
* memory need against.
|
|
87
|
+
*/
|
|
88
|
+
export function selectLaunchGpu(gpus, host, gpuId) {
|
|
89
|
+
if (gpuId !== undefined) {
|
|
90
|
+
const requested = gpus.find((gpu) => gpu.gpu_id === gpuId);
|
|
91
|
+
if (requested !== undefined)
|
|
92
|
+
return requested;
|
|
93
|
+
}
|
|
94
|
+
if (gpus.length === 0)
|
|
95
|
+
return null;
|
|
96
|
+
// Strictly greater only: on a full tie the earlier card stays, i.e. nvidia-smi's own order.
|
|
97
|
+
const ranksAbove = (gpu, best) => {
|
|
98
|
+
const free = freeMemoryBytes(gpu, host) - freeMemoryBytes(best, host);
|
|
99
|
+
return free !== 0 ? free > 0 : totalMemoryBytes(gpu, host) > totalMemoryBytes(best, host);
|
|
100
|
+
};
|
|
101
|
+
return gpus.reduce((best, gpu) => (ranksAbove(gpu, best) ? gpu : best));
|
|
102
|
+
}
|
|
103
|
+
const SAFETENSORS_SUFFIX = '.safetensors';
|
|
104
|
+
const LEGACY_WEIGHT_SUFFIXES = ['.bin', '.pth'];
|
|
105
|
+
/** `model.safetensors`, or a sharded `model-00001-of-00003.safetensors` (any digit width). */
|
|
106
|
+
const MODEL_SHARD_PATTERN = /^model(-\d+-of-\d+)?\.safetensors$/i;
|
|
107
|
+
/** A file at the root of the listing: a variant subfolder, an ONNX export, ... never counts as a weight. */
|
|
108
|
+
function isRootLevel(path) {
|
|
109
|
+
return !path.includes('/');
|
|
110
|
+
}
|
|
111
|
+
function isPreferredShard(path) {
|
|
112
|
+
return isRootLevel(path) && MODEL_SHARD_PATTERN.test(path);
|
|
113
|
+
}
|
|
114
|
+
function isAnySafetensors(path) {
|
|
115
|
+
return isRootLevel(path) && path.toLowerCase().endsWith(SAFETENSORS_SUFFIX);
|
|
116
|
+
}
|
|
117
|
+
function isLegacyWeightFile(path) {
|
|
118
|
+
if (!isRootLevel(path))
|
|
119
|
+
return false;
|
|
120
|
+
const lower = path.toLowerCase();
|
|
121
|
+
return LEGACY_WEIGHT_SUFFIXES.some((suffix) => lower.endsWith(suffix));
|
|
122
|
+
}
|
|
123
|
+
const sumSizes = (files) => files.reduce((sum, file) => sum + file.size, 0);
|
|
124
|
+
/**
|
|
125
|
+
* The files that count as checkpoint weights. Root-level files only. Prefers the standard
|
|
126
|
+
* `model[-NNNNN-of-MMMMM].safetensors` shard naming when present — which also excludes a
|
|
127
|
+
* `consolidated*.safetensors` sitting next to it (Mistral's own releases ship both, covering the
|
|
128
|
+
* exact same weights, for their own inference stack; counting both would double the checkpoint's
|
|
129
|
+
* real size) — because that naming alone identifies the checkpoint's real weights unambiguously.
|
|
130
|
+
* When no file matches that preferred naming, every other root-level `*.safetensors` file is
|
|
131
|
+
* selected instead, `consolidated*` included: this is the *only* branch a `consolidated`-only
|
|
132
|
+
* repository (no HF shard naming at all) ever reaches, so its `consolidated.safetensors` has to
|
|
133
|
+
* count here. Only when there is no safetensors file at all does a legacy `*.bin`/`*.pth` checkpoint
|
|
134
|
+
* count, so a checkpoint this engine cannot load (it only reads safetensors) still gets an honest,
|
|
135
|
+
* non-zero total rather than a silent `0` that would let `checkModelCompatibilityFiles` report `ok`
|
|
136
|
+
* on any card. No file matches any of these rules for an empty selection, which `weightBytes` turns
|
|
137
|
+
* into `0` and `checkModelCompatibilityFiles` itself turns into `MODEL_INCOMPATIBLE`, never a false
|
|
138
|
+
* `ok`.
|
|
139
|
+
*/
|
|
140
|
+
function selectWeightFiles(files) {
|
|
141
|
+
const preferredShards = files.filter((file) => isPreferredShard(file.path));
|
|
142
|
+
if (preferredShards.length > 0)
|
|
143
|
+
return preferredShards;
|
|
144
|
+
const anySafetensors = files.filter((file) => isAnySafetensors(file.path));
|
|
145
|
+
if (anySafetensors.length > 0)
|
|
146
|
+
return anySafetensors;
|
|
147
|
+
return files.filter((file) => isLegacyWeightFile(file.path));
|
|
148
|
+
}
|
|
149
|
+
/** The weight files whose safetensors headers hold the checkpoint's tensor names (legacy `.bin`/`.pth` excluded). */
|
|
150
|
+
export function weightSafetensorsFiles(files) {
|
|
151
|
+
return selectWeightFiles(files).filter((file) => file.path.toLowerCase().endsWith(SAFETENSORS_SUFFIX));
|
|
152
|
+
}
|
|
153
|
+
/** Weight bytes for the memory check: the sum of `selectWeightFiles(files)`. */
|
|
154
|
+
export function weightBytes(files) {
|
|
155
|
+
return sumSizes(selectWeightFiles(files));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* A finite, positive number read from `configJson[key]`; `undefined` for anything else (missing,
|
|
159
|
+
* the wrong type, zero, negative, `NaN`/`Infinity`) — every field the KV-cache formula below needs
|
|
160
|
+
* is a strictly positive count or dimension, and treating `0` or a negative value as "present" would
|
|
161
|
+
* size a KV cache of zero or negative bytes, silently passing a check that should have fallen back.
|
|
162
|
+
*/
|
|
163
|
+
export function positiveNumberField(configJson, key) {
|
|
164
|
+
const value = configJson[key];
|
|
165
|
+
return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : undefined;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* The architecture fields a transformer's KV-cache size is computed from, with the two standard
|
|
169
|
+
* fallbacks: `num_key_value_heads` falls back to `num_attention_heads` (plain multi-head attention —
|
|
170
|
+
* every attention head is its own KV head, the GQA/MQA field simply absent) and `head_dim` falls
|
|
171
|
+
* back to `hidden_size / num_attention_heads` (the standard derivation, for a config that does not
|
|
172
|
+
* spell `head_dim` out explicitly). `undefined` when `config.json` lacks what even the fallbacks
|
|
173
|
+
* need — `kvCacheBytes` then has nothing to compute from, and `kvCacheReserveBytes` falls back to
|
|
174
|
+
* the older weight-proportional rule.
|
|
175
|
+
*/
|
|
176
|
+
export function readKvCacheShape(rootConfigJson) {
|
|
177
|
+
// A VLM-style config (Qwen3.5+, Gemma 4, Mistral 3) keeps the language model's shape on
|
|
178
|
+
// `text_config`; the top level then has no `num_hidden_layers` at all.
|
|
179
|
+
const textConfig = rootConfigJson.text_config;
|
|
180
|
+
const configJson = positiveNumberField(rootConfigJson, 'num_hidden_layers') === undefined &&
|
|
181
|
+
typeof textConfig === 'object' &&
|
|
182
|
+
textConfig !== null &&
|
|
183
|
+
!Array.isArray(textConfig)
|
|
184
|
+
? textConfig
|
|
185
|
+
: rootConfigJson;
|
|
186
|
+
const numHiddenLayers = attentionLayerCount(configJson);
|
|
187
|
+
const numAttentionHeads = positiveNumberField(configJson, 'num_attention_heads');
|
|
188
|
+
const numKeyValueHeads = positiveNumberField(configJson, 'num_key_value_heads') ?? numAttentionHeads;
|
|
189
|
+
const hiddenSize = positiveNumberField(configJson, 'hidden_size');
|
|
190
|
+
const headDim = positiveNumberField(configJson, 'head_dim') ??
|
|
191
|
+
(hiddenSize !== undefined && numAttentionHeads !== undefined ? hiddenSize / numAttentionHeads : undefined);
|
|
192
|
+
if (numHiddenLayers === undefined || numKeyValueHeads === undefined || headDim === undefined) {
|
|
193
|
+
return undefined;
|
|
194
|
+
}
|
|
195
|
+
return { numHiddenLayers, numKeyValueHeads, headDim };
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Layers that keep a per-token KV cache. A hybrid config lists `layer_types`; its
|
|
199
|
+
* `linear_attention` layers (Qwen3.5's Gated DeltaNet) hold a fixed-size state instead, so only the
|
|
200
|
+
* rest count. Sliding-window layers still count in full, which over-reserves for them on purpose.
|
|
201
|
+
*/
|
|
202
|
+
function attentionLayerCount(configJson) {
|
|
203
|
+
const total = positiveNumberField(configJson, 'num_hidden_layers');
|
|
204
|
+
const layerTypes = configJson.layer_types;
|
|
205
|
+
if (total === undefined || !Array.isArray(layerTypes) || layerTypes.length !== total)
|
|
206
|
+
return total;
|
|
207
|
+
const attention = layerTypes.filter((type) => type !== 'linear_attention').length;
|
|
208
|
+
return attention > 0 ? attention : total;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* The KV cache's own footprint for one sequence at `contextLength` tokens:
|
|
212
|
+
* `2 × num_hidden_layers × num_key_value_heads × head_dim × kv_dtype_bytes × context_length` — one
|
|
213
|
+
* K tensor and one V tensor (the leading `2`) per layer, each holding `context_length` tokens of
|
|
214
|
+
* `num_key_value_heads × head_dim` values at `kv_dtype_bytes` each. `kv_dtype_bytes` is `1` when
|
|
215
|
+
* `kvCacheQuantAlgo` names `FP8`, else `2` (`bf16`/`fp16`, this engine's other supported weight
|
|
216
|
+
* dtypes). `undefined` when `config.json` lacks the architecture fields `readKvCacheShape` needs.
|
|
217
|
+
*/
|
|
218
|
+
export function kvCacheBytes(configJson, hfQuantConfigJson, contextLength) {
|
|
219
|
+
const shape = readKvCacheShape(configJson);
|
|
220
|
+
if (shape === undefined)
|
|
221
|
+
return undefined;
|
|
222
|
+
const kvDtypeBytes = kvCacheQuantAlgo(configJson, hfQuantConfigJson)?.toUpperCase() === 'FP8' ? 1 : 2;
|
|
223
|
+
return 2 * shape.numHiddenLayers * shape.numKeyValueHeads * shape.headDim * kvDtypeBytes * contextLength;
|
|
224
|
+
}
|
|
225
|
+
/** A card with no VRAM figure of its own (GB10/DGX Spark, design D13): its memory is the host's. */
|
|
226
|
+
export function isUnifiedMemory(gpu) {
|
|
227
|
+
return gpu.total_vram_bytes === null;
|
|
228
|
+
}
|
|
229
|
+
/** Free memory to compare against for one card: `MemAvailable` for a unified-memory card (design D13). */
|
|
230
|
+
export function freeMemoryBytes(gpu, host) {
|
|
231
|
+
return isUnifiedMemory(gpu) ? host.availableBytes : (gpu.free_vram_bytes ?? 0);
|
|
232
|
+
}
|
|
233
|
+
/** A card's size, for ranking only: `MemTotal` for a unified-memory card (design D13). */
|
|
234
|
+
export function totalMemoryBytes(gpu, host) {
|
|
235
|
+
return isUnifiedMemory(gpu) ? host.totalBytes : (gpu.total_vram_bytes ?? 0);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Numeric compare of two `"major.minor[.patch...]"` compute-capability strings, `a - b`'s sign.
|
|
239
|
+
* `NaN` when either side has a non-numeric component (an unparseable `compute_capability`) —
|
|
240
|
+
* callers must never treat a `NaN` result as "not less than", which would fail open.
|
|
241
|
+
*/
|
|
242
|
+
function compareComputeCapability(a, b) {
|
|
243
|
+
const partsA = a.split('.').map((part) => Number.parseInt(part, 10));
|
|
244
|
+
const partsB = b.split('.').map((part) => Number.parseInt(part, 10));
|
|
245
|
+
const length = Math.max(partsA.length, partsB.length);
|
|
246
|
+
for (let index = 0; index < length; index += 1) {
|
|
247
|
+
const da = partsA[index] ?? 0;
|
|
248
|
+
const db = partsB[index] ?? 0;
|
|
249
|
+
if (da !== db)
|
|
250
|
+
return da - db;
|
|
251
|
+
}
|
|
252
|
+
return 0;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Whether `actual` meets `min`. `false` whenever `compareComputeCapability` cannot parse either
|
|
256
|
+
* side (`NaN`): an unparseable compute capability is treated as incompatible, never as "compatible
|
|
257
|
+
* by default" — `NaN < 0` is `false`, so comparing the raw sign directly would fail open.
|
|
258
|
+
*/
|
|
259
|
+
function computeCapabilityAtLeast(actual, min) {
|
|
260
|
+
const compared = compareComputeCapability(actual, min);
|
|
261
|
+
return !Number.isNaN(compared) && compared >= 0;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* The descriptor's rule for `format`. A `mixed_precision` checkpoint needs every one of its per-layer
|
|
265
|
+
* formats (`quantizationComponents`) to have a row, and a card has to clear all of them: the highest
|
|
266
|
+
* minimum and every exclusion. Any per-layer format without a row fails the whole checkpoint closed.
|
|
267
|
+
*/
|
|
268
|
+
function formatRequirement(descriptor, format, hfQuantConfigJson) {
|
|
269
|
+
const components = quantizationComponents(format, hfQuantConfigJson);
|
|
270
|
+
if (components.length === 0)
|
|
271
|
+
return { ok: false, missing: null };
|
|
272
|
+
let minimum;
|
|
273
|
+
const excluded = new Set();
|
|
274
|
+
for (const component of components) {
|
|
275
|
+
const row = descriptor.quantization.find((entry) => entry.format === component);
|
|
276
|
+
if (row === undefined)
|
|
277
|
+
return { ok: false, missing: component };
|
|
278
|
+
if (minimum === undefined || compareComputeCapability(row.min_compute_capability, minimum) > 0) {
|
|
279
|
+
minimum = row.min_compute_capability;
|
|
280
|
+
}
|
|
281
|
+
for (const capability of row.excluded_compute_capabilities)
|
|
282
|
+
excluded.add(capability);
|
|
283
|
+
}
|
|
284
|
+
return {
|
|
285
|
+
ok: true,
|
|
286
|
+
requirement: {
|
|
287
|
+
min_compute_capability: minimum,
|
|
288
|
+
excluded_compute_capabilities: [...excluded],
|
|
289
|
+
},
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
/** `mixed_precision (fp8 + nvfp4)` for a mixed checkpoint, the format itself otherwise. */
|
|
293
|
+
function formatLabel(format, hfQuantConfigJson) {
|
|
294
|
+
if (format !== MIXED_PRECISION)
|
|
295
|
+
return format;
|
|
296
|
+
const components = quantizationComponents(format, hfQuantConfigJson);
|
|
297
|
+
return components.length === 0 ? format : `${format} (${components.join(' + ')})`;
|
|
298
|
+
}
|
|
299
|
+
/** Whether a checkpoint with `requirement` is loadable on `gpu`. */
|
|
300
|
+
function formatAllowedOnGpu(requirement, gpu) {
|
|
301
|
+
if (!computeCapabilityAtLeast(gpu.compute_capability, requirement.min_compute_capability))
|
|
302
|
+
return false;
|
|
303
|
+
return !requirement.excluded_compute_capabilities.includes(gpu.compute_capability);
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Every other GPU (not `selected`) the checkpoint would fit on: architecture-independent, the
|
|
307
|
+
* format's CC rule plus free memory, each card measured by its own kind of reserve (`needOn`).
|
|
308
|
+
*/
|
|
309
|
+
function fitsOtherGpus(gpus, selected, requirement, needOn, hostMemory) {
|
|
310
|
+
if (requirement === null)
|
|
311
|
+
return [];
|
|
312
|
+
return gpus
|
|
313
|
+
.filter((gpu) => gpu.gpu_id !== selected.gpu_id)
|
|
314
|
+
.filter((gpu) => formatAllowedOnGpu(requirement, gpu))
|
|
315
|
+
.filter((gpu) => needOn(gpu) <= freeMemoryBytes(gpu, hostMemory))
|
|
316
|
+
.map((gpu) => gpu.gpu_id);
|
|
317
|
+
}
|
|
318
|
+
/** `exactOptionalPropertyTypes` needs `sha256` omitted, not set to `undefined`, when there is none. */
|
|
319
|
+
function toInventoryFile(file) {
|
|
320
|
+
return file.sha256 === null
|
|
321
|
+
? { path: file.path, bytes: file.size }
|
|
322
|
+
: { path: file.path, bytes: file.size, sha256: file.sha256 };
|
|
323
|
+
}
|
|
324
|
+
function readArchitectures(configJson) {
|
|
325
|
+
const value = configJson.architectures;
|
|
326
|
+
return Array.isArray(value) ? value.filter((entry) => typeof entry === 'string') : [];
|
|
327
|
+
}
|
|
328
|
+
function buildCompatibility(context, verdict, fitsOther, kvReserveBasis) {
|
|
329
|
+
return {
|
|
330
|
+
architectures: context.architectures,
|
|
331
|
+
quantization_format: context.quantizationFormat,
|
|
332
|
+
weight_bytes: context.weightBytesTotal,
|
|
333
|
+
checked_gpu_id: context.selected.gpu_id,
|
|
334
|
+
curated: context.curated,
|
|
335
|
+
unified_memory: isUnifiedMemory(context.selected),
|
|
336
|
+
fits_other_gpus: fitsOther,
|
|
337
|
+
...(kvReserveBasis === undefined ? {} : { kv_reserve_basis: kvReserveBasis }),
|
|
338
|
+
verdict,
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Throws `AtomicCoreError` for two caller-input problems that are never a fact about the checkpoint
|
|
343
|
+
* itself: `INVALID_ARGUMENT` when the file listing names `hf_quant_config.json` while
|
|
344
|
+
* `hf_quant_config_json` is `null` (the caller said the file exists but did not send its content, so
|
|
345
|
+
* the format naming rule cannot be trusted), and `MANAGED_PREREQUISITE_BLOCKED` when the host has no
|
|
346
|
+
* GPU at all (`gpus` empty — the same code, and the same host condition, `runtime.ts`'s own
|
|
347
|
+
* `selectLaunchGpu` check already answers with for a real load; task 2.16w round 1, finding 11:
|
|
348
|
+
* an absent or failing `nvidia-smi` is a missing prerequisite, not a malformed request).
|
|
349
|
+
* `inventoryDigest` can also throw `AtomicCoreError('MANAGED_METADATA_INVALID', …)` for a curated
|
|
350
|
+
* match whose file listing is itself malformed (an empty or repeated path, a NUL byte, a
|
|
351
|
+
* non-integer size — see `src/runtime/environment/inventory.ts`), before this function gets a
|
|
352
|
+
* chance to compare digests. Every other input, however incompatible, is a normal `verdict.ok: false`
|
|
353
|
+
* answer, never a thrown error (design D12: the point of this check is to hand back numbers, not to
|
|
354
|
+
* fail the request).
|
|
355
|
+
*
|
|
356
|
+
* Every check above the memory line: GGUF, the curated digest, the quantization format, the
|
|
357
|
+
* architecture, the format's presence in this descriptor and its compute-capability rule. None of
|
|
358
|
+
* these can change by evicting whatever session currently holds the selected card, so all of them
|
|
359
|
+
* run before `stopPrevious` on the load path (task 2.16w round 1, finding 1). `fits_other_gpus` on a
|
|
360
|
+
* compute-capability failure is still computed here (`memory` sizes the reserve needed to report it),
|
|
361
|
+
* using whichever `gpus`/`hostMemory` snapshot the caller passed in — informational only,
|
|
362
|
+
* about *other* cards the eviction race does not touch.
|
|
363
|
+
*/
|
|
364
|
+
export function checkCheckpointFiles(input, descriptor, gpus, hostMemory, engine) {
|
|
365
|
+
if (input.files.some((file) => file.path === 'hf_quant_config.json') &&
|
|
366
|
+
input.hf_quant_config_json === null) {
|
|
367
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', 'The file listing includes hf_quant_config.json but hf_quant_config_json was not provided.');
|
|
368
|
+
}
|
|
369
|
+
const selected = selectLaunchGpu(gpus, hostMemory, input.gpu_id);
|
|
370
|
+
if (selected === null) {
|
|
371
|
+
throw new AtomicCoreError('MANAGED_PREREQUISITE_BLOCKED', `No NVIDIA GPU was found on this machine, so ${engine.engineId} compatibility cannot be checked.`);
|
|
372
|
+
}
|
|
373
|
+
const architectures = readArchitectures(input.config_json);
|
|
374
|
+
const gguf = isGgufCheckpoint(input.files);
|
|
375
|
+
const format = gguf ? null : quantizationFormat(input.config_json, input.hf_quant_config_json);
|
|
376
|
+
const weightBytesTotal = weightBytes(input.files);
|
|
377
|
+
const curatedEntry = descriptor.curated_models.find((model) => model.repository === input.repository && model.revision === input.revision);
|
|
378
|
+
const context = {
|
|
379
|
+
architectures,
|
|
380
|
+
quantizationFormat: format,
|
|
381
|
+
weightBytesTotal,
|
|
382
|
+
selected,
|
|
383
|
+
curated: curatedEntry !== undefined,
|
|
384
|
+
};
|
|
385
|
+
// Integrity gate first: a curated repository/revision match whose files do not hash to the
|
|
386
|
+
// pinned inventory_digest is reported as tampered metadata, not as whatever ordinary
|
|
387
|
+
// compatibility error those files happen to also trigger.
|
|
388
|
+
if (curatedEntry !== undefined) {
|
|
389
|
+
const actualDigest = inventoryDigest(input.files.map(toInventoryFile));
|
|
390
|
+
if (actualDigest !== curatedEntry.inventory_digest) {
|
|
391
|
+
return {
|
|
392
|
+
ok: false,
|
|
393
|
+
verdict: buildCompatibility({ ...context, curated: false }, {
|
|
394
|
+
ok: false,
|
|
395
|
+
error: {
|
|
396
|
+
code: 'MANAGED_METADATA_INVALID',
|
|
397
|
+
message: 'The submitted file listing does not match the curated inventory digest.',
|
|
398
|
+
details: `expected=${curatedEntry.inventory_digest} actual=${actualDigest}`,
|
|
399
|
+
},
|
|
400
|
+
}, []),
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
if (gguf) {
|
|
405
|
+
return {
|
|
406
|
+
ok: false,
|
|
407
|
+
verdict: buildCompatibility(context, {
|
|
408
|
+
ok: false,
|
|
409
|
+
error: {
|
|
410
|
+
code: 'MODEL_INCOMPATIBLE',
|
|
411
|
+
message: `GGUF checkpoints are not supported by ${engine.engineId}; use the llama.cpp provider for GGUF.`,
|
|
412
|
+
},
|
|
413
|
+
}, []),
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
if (format === null) {
|
|
417
|
+
return {
|
|
418
|
+
ok: false,
|
|
419
|
+
verdict: buildCompatibility(context, {
|
|
420
|
+
ok: false,
|
|
421
|
+
error: {
|
|
422
|
+
code: 'MODEL_INCOMPATIBLE',
|
|
423
|
+
message: `Unsupported quantization format: ${describeUnrecognizedQuantization(input.config_json, input.hf_quant_config_json)}.`,
|
|
424
|
+
details: `repository=${input.repository} revision=${input.revision}`,
|
|
425
|
+
},
|
|
426
|
+
}, []),
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
const architecture = architectures.length > 0 ? architectures[0] : undefined;
|
|
430
|
+
if (architecture === undefined || !descriptor.supported_architectures.includes(architecture)) {
|
|
431
|
+
return {
|
|
432
|
+
ok: false,
|
|
433
|
+
verdict: buildCompatibility(context, {
|
|
434
|
+
ok: false,
|
|
435
|
+
error: {
|
|
436
|
+
code: 'MODEL_INCOMPATIBLE',
|
|
437
|
+
message: architecture === undefined
|
|
438
|
+
? 'config.json does not declare an architecture.'
|
|
439
|
+
: `Unsupported architecture: ${architecture}.`,
|
|
440
|
+
...(architecture !== undefined ? { details: architecture } : {}),
|
|
441
|
+
},
|
|
442
|
+
}, []),
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
const shapeProblem = engine.checkpointProblems(architecture, input.config_json, input.weight_names);
|
|
446
|
+
if (shapeProblem !== null) {
|
|
447
|
+
return {
|
|
448
|
+
ok: false,
|
|
449
|
+
verdict: buildCompatibility(context, { ok: false, error: { code: 'MODEL_INCOMPATIBLE', ...shapeProblem } }, []),
|
|
450
|
+
};
|
|
451
|
+
}
|
|
452
|
+
const resolution = formatRequirement(descriptor, format, input.hf_quant_config_json);
|
|
453
|
+
if (!resolution.ok) {
|
|
454
|
+
const missing = resolution.missing;
|
|
455
|
+
return {
|
|
456
|
+
ok: false,
|
|
457
|
+
verdict: buildCompatibility(context, {
|
|
458
|
+
ok: false,
|
|
459
|
+
error: {
|
|
460
|
+
code: 'MODEL_INCOMPATIBLE',
|
|
461
|
+
message: missing === null
|
|
462
|
+
? `Unsupported quantization format: "${format}" does not name the format of its layers.`
|
|
463
|
+
: missing === format
|
|
464
|
+
? `Unsupported quantization format: ${engine.engineId} does not support "${format}" (it is not part of this engine's descriptor).`
|
|
465
|
+
: `Unsupported quantization format: "${format}" has layers in "${missing}", which ${engine.engineId} does not support (it is not part of this engine's descriptor).`,
|
|
466
|
+
details: missing ?? format,
|
|
467
|
+
},
|
|
468
|
+
}, []),
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
const formatSupport = resolution.requirement;
|
|
472
|
+
const label = formatLabel(format, input.hf_quant_config_json);
|
|
473
|
+
if (weightBytesTotal === 0) {
|
|
474
|
+
return {
|
|
475
|
+
ok: false,
|
|
476
|
+
verdict: buildCompatibility(context, {
|
|
477
|
+
ok: false,
|
|
478
|
+
error: {
|
|
479
|
+
code: 'MODEL_INCOMPATIBLE',
|
|
480
|
+
message: 'No checkpoint weight files were found in the file listing.',
|
|
481
|
+
},
|
|
482
|
+
}, []),
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
// Known from here on: architecture and format are both fine, so any card whose own CC clears
|
|
486
|
+
// this format and has room is a real alternative — compute it once and reuse it in both CC-failure
|
|
487
|
+
// branches below, so a caller whose selected card fails on CC still sees a card that would work
|
|
488
|
+
// (spec: "report which other host cards it would fit").
|
|
489
|
+
const checkpoint = {
|
|
490
|
+
weightBytesTotal,
|
|
491
|
+
configJson: input.config_json,
|
|
492
|
+
hfQuantConfigJson: input.hf_quant_config_json,
|
|
493
|
+
};
|
|
494
|
+
const needOn = (gpu) => engine.memoryNeed(gpu, checkpoint, hostMemory);
|
|
495
|
+
const basis = needOn(selected).kvReserveBasis;
|
|
496
|
+
const fitsOther = fitsOtherGpus(gpus, selected, formatSupport, (gpu) => needOn(gpu).neededBytes, hostMemory);
|
|
497
|
+
if (!computeCapabilityAtLeast(selected.compute_capability, formatSupport.min_compute_capability)) {
|
|
498
|
+
return {
|
|
499
|
+
ok: false,
|
|
500
|
+
verdict: buildCompatibility(context, {
|
|
501
|
+
ok: false,
|
|
502
|
+
error: {
|
|
503
|
+
code: 'MODEL_INCOMPATIBLE',
|
|
504
|
+
message: `Format ${label} requires compute capability ${formatSupport.min_compute_capability} or newer.`,
|
|
505
|
+
details: `required=${formatSupport.min_compute_capability} actual=${selected.compute_capability}`,
|
|
506
|
+
},
|
|
507
|
+
}, fitsOther, basis),
|
|
508
|
+
};
|
|
509
|
+
}
|
|
510
|
+
if (formatSupport.excluded_compute_capabilities.includes(selected.compute_capability)) {
|
|
511
|
+
return {
|
|
512
|
+
ok: false,
|
|
513
|
+
verdict: buildCompatibility(context, {
|
|
514
|
+
ok: false,
|
|
515
|
+
error: {
|
|
516
|
+
code: 'MODEL_INCOMPATIBLE',
|
|
517
|
+
message: `Format ${label} is not supported by this engine release on compute capability ${selected.compute_capability}.`,
|
|
518
|
+
details: `format=${format} compute_capability=${selected.compute_capability}`,
|
|
519
|
+
},
|
|
520
|
+
}, fitsOther, basis),
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
return {
|
|
524
|
+
ok: true,
|
|
525
|
+
resolved: {
|
|
526
|
+
architectures,
|
|
527
|
+
quantizationFormat: format,
|
|
528
|
+
weightBytesTotal,
|
|
529
|
+
selected,
|
|
530
|
+
curated: context.curated,
|
|
531
|
+
configJson: input.config_json,
|
|
532
|
+
hfQuantConfigJson: input.hf_quant_config_json,
|
|
533
|
+
},
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* The memory line alone (task 2.16w round 1, finding 1): whether `resolved.weightBytesTotal` plus
|
|
538
|
+
* the KV-cache reserve fits the selected card's free memory. Callers pass a fresh `gpus`/
|
|
539
|
+
* `hostMemory` snapshot — the load path's `beforeCreate` hook re-probes the host after
|
|
540
|
+
* `stopPrevious` has run, so this sees whatever that freed, never a snapshot taken before it — and
|
|
541
|
+
* this function re-reads the free-memory figure for `resolved.selected.gpu_id` from *that* fresh
|
|
542
|
+
* `gpus`, rather than trusting `resolved.selected`'s own (possibly stale) copy: that stale copy is
|
|
543
|
+
* only a fallback for the case `gpus` no longer lists the card at all (it disappeared), which
|
|
544
|
+
* `runtime.ts`'s own `beforeCreate` hook checks for and reports as `MANAGED_PREREQUISITE_BLOCKED`
|
|
545
|
+
* before ever calling this. This never picks a *different* card — the caller already committed to
|
|
546
|
+
* this exact one (`checkModelCompatibilityFiles`, or a load's own `selectLaunchGpu`).
|
|
547
|
+
*/
|
|
548
|
+
export function checkCheckpointMemory(resolved, descriptor, gpus, hostMemory, engine) {
|
|
549
|
+
const selected = gpus.find((gpu) => gpu.gpu_id === resolved.selected.gpu_id) ?? resolved.selected;
|
|
550
|
+
const context = {
|
|
551
|
+
architectures: resolved.architectures,
|
|
552
|
+
quantizationFormat: resolved.quantizationFormat,
|
|
553
|
+
weightBytesTotal: resolved.weightBytesTotal,
|
|
554
|
+
selected,
|
|
555
|
+
curated: resolved.curated,
|
|
556
|
+
};
|
|
557
|
+
const checkpoint = {
|
|
558
|
+
weightBytesTotal: resolved.weightBytesTotal,
|
|
559
|
+
configJson: resolved.configJson,
|
|
560
|
+
hfQuantConfigJson: resolved.hfQuantConfigJson,
|
|
561
|
+
};
|
|
562
|
+
const needOn = (gpu) => engine.memoryNeed(gpu, checkpoint, hostMemory);
|
|
563
|
+
const need = needOn(selected);
|
|
564
|
+
const basis = need.kvReserveBasis;
|
|
565
|
+
const freeBytes = freeMemoryBytes(selected, hostMemory);
|
|
566
|
+
const resolution = formatRequirement(descriptor, resolved.quantizationFormat, resolved.hfQuantConfigJson);
|
|
567
|
+
const fitsOther = fitsOtherGpus(gpus, selected, resolution.ok ? resolution.requirement : null, (gpu) => needOn(gpu).neededBytes, hostMemory);
|
|
568
|
+
if (need.neededBytes > freeBytes) {
|
|
569
|
+
return buildCompatibility(context, {
|
|
570
|
+
ok: false,
|
|
571
|
+
error: {
|
|
572
|
+
code: 'MODEL_INCOMPATIBLE',
|
|
573
|
+
message: 'The checkpoint, the engine runtime memory and the KV-cache reserve do not fit the selected GPU: ' +
|
|
574
|
+
`they need ${gib(need.neededBytes)} GiB, ${gib(freeBytes)} GiB is free.`,
|
|
575
|
+
details: `${need.details} free_bytes=${freeBytes}`,
|
|
576
|
+
},
|
|
577
|
+
}, fitsOther, basis);
|
|
578
|
+
}
|
|
579
|
+
return buildCompatibility(context, { ok: true }, fitsOther, basis);
|
|
580
|
+
}
|
|
581
|
+
/** Bytes as GiB with one decimal, for a message a person reads. */
|
|
582
|
+
const gib = (bytes) => (bytes / 1024 ** 3).toFixed(1);
|
|
583
|
+
/**
|
|
584
|
+
* The full verdict: `checkCheckpointFiles` then, if it passed, `checkCheckpointMemory` — for the check
|
|
585
|
+
* route's single live snapshot, where there is no previous session on the selected card to evict
|
|
586
|
+
* first. The load path runs the two separately instead (see the file banner).
|
|
587
|
+
*/
|
|
588
|
+
export function checkCheckpoint(input, descriptor, gpus, hostMemory, engine) {
|
|
589
|
+
const files = checkCheckpointFiles(input, descriptor, gpus, hostMemory, engine);
|
|
590
|
+
if (!files.ok)
|
|
591
|
+
return files.verdict;
|
|
592
|
+
return checkCheckpointMemory(files.resolved, descriptor, gpus, hostMemory, engine);
|
|
593
|
+
}
|
|
594
|
+
//# sourceMappingURL=compatibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../../src/runtime/managed-models/compatibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ManagedScopePaths } from '../../config/index.js';
|
|
2
|
+
import type { ModelFileOps } from './guest-files.js';
|
|
3
|
+
export interface DeletedManagedModelFiles {
|
|
4
|
+
freedBytes: number;
|
|
5
|
+
engineCachesRemoved: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* `files` (change `add-tensorrt-llm-windows`, task 2.8): on Windows the model and its caches are in the
|
|
9
|
+
* WSL guest, and are sized and removed by commands there (`guestModelFiles`) — all caches and the model
|
|
10
|
+
* in one call each, the caches listed first. Without it, the walk below, as on Linux.
|
|
11
|
+
*/
|
|
12
|
+
export declare function deleteManagedModelFiles(paths: ManagedScopePaths, model: {
|
|
13
|
+
id: string;
|
|
14
|
+
dir: string;
|
|
15
|
+
}, files?: ModelFileOps): Promise<DeletedManagedModelFiles>;
|