@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,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `POST /atomic/v1/models/:provider/check` for every managed engine (spec `managed-model-store`,
|
|
3
|
+
* "Проверка совместимости одинакова по форме для всех managed-движков"; change `add-vllm-runtime`,
|
|
4
|
+
* task 2.3): wires the pure `checkCheckpoint` (`compatibility.ts`) to the pinned descriptor of that
|
|
5
|
+
* engine's ready installation — or, "если движок не установлен", that engine's latest accepted cached
|
|
6
|
+
* descriptor (`descriptors.cachedForNewSetup(engine)`), never another engine's — and to the host's
|
|
7
|
+
* GPUs and memory. Never fetches: `descriptorForCheck` below only ever reads
|
|
8
|
+
* `forInstallation`/`cachedForNewSetup`, both cache-only (`descriptor-provider.ts`), and `hostFacts`
|
|
9
|
+
* is the check route's own Docker-free probe — matching the spec's "Core MUST NOT обращаться в сеть
|
|
10
|
+
* при проверке".
|
|
11
|
+
*
|
|
12
|
+
* Body validation lives here, not in the pure module: `checkCheckpoint` trusts its typed input
|
|
13
|
+
* completely, so an HTTP body that does not even shape up as one is refused with `INVALID_ARGUMENT`
|
|
14
|
+
* before it ever reaches that function, the same way `routes/environments.ts` validates its own
|
|
15
|
+
* request bodies.
|
|
16
|
+
*/
|
|
17
|
+
import { AtomicCoreError } from '../../contracts/index.js';
|
|
18
|
+
import { checkCheckpoint, normalizeWeightNames } from './compatibility.js';
|
|
19
|
+
const invalid = (why, details) => {
|
|
20
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', why, details);
|
|
21
|
+
};
|
|
22
|
+
const object = (value, at) => typeof value === 'object' && value !== null && !Array.isArray(value)
|
|
23
|
+
? value
|
|
24
|
+
: invalid(`${at} must be an object.`);
|
|
25
|
+
const known = (source, at, keys) => {
|
|
26
|
+
const extra = Object.keys(source).filter((key) => !keys.includes(key));
|
|
27
|
+
if (extra.length > 0)
|
|
28
|
+
invalid(`${at} has fields this core does not know.`, extra.sort().join(', '));
|
|
29
|
+
};
|
|
30
|
+
const nonEmptyString = (value, at) => typeof value === 'string' && value !== '' ? value : invalid(`${at} must be a non-empty string.`);
|
|
31
|
+
const jsonObject = (value, at) => object(value, at);
|
|
32
|
+
const nullableJsonObject = (value, at) => value === null || value === undefined ? null : object(value, at);
|
|
33
|
+
const fileSize = (value, at) => typeof value === 'number' && Number.isFinite(value) && value >= 0
|
|
34
|
+
? value
|
|
35
|
+
: invalid(`${at} must be a non-negative number.`);
|
|
36
|
+
const fileSha256 = (value, at) => {
|
|
37
|
+
if (value === null || value === undefined)
|
|
38
|
+
return null;
|
|
39
|
+
if (typeof value === 'string')
|
|
40
|
+
return value;
|
|
41
|
+
return invalid(`${at} must be a string or null.`);
|
|
42
|
+
};
|
|
43
|
+
const checkpointFile = (value, at) => {
|
|
44
|
+
const raw = object(value, at);
|
|
45
|
+
return {
|
|
46
|
+
path: nonEmptyString(raw['path'], `${at}.path`),
|
|
47
|
+
size: fileSize(raw['size'], `${at}.size`),
|
|
48
|
+
sha256: fileSha256(raw['sha256'], `${at}.sha256`),
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
const files = (value, at) => Array.isArray(value)
|
|
52
|
+
? value.map((entry, index) => checkpointFile(entry, `${at}[${index}]`))
|
|
53
|
+
: invalid(`${at} must be an array.`);
|
|
54
|
+
const optionalGpuId = (value) => {
|
|
55
|
+
if (value === undefined)
|
|
56
|
+
return undefined;
|
|
57
|
+
if (typeof value === 'string')
|
|
58
|
+
return value;
|
|
59
|
+
return invalid('gpu_id must be a string.');
|
|
60
|
+
};
|
|
61
|
+
/** Folded and de-duplicated here as well, so a caller that sends the raw index keys costs no more. */
|
|
62
|
+
const optionalWeightNames = (value) => {
|
|
63
|
+
if (value === undefined || value === null)
|
|
64
|
+
return undefined;
|
|
65
|
+
if (!Array.isArray(value))
|
|
66
|
+
return invalid('weight_names must be an array of strings.');
|
|
67
|
+
return normalizeWeightNames(value.map((name, index) => nonEmptyString(name, `weight_names[${index}]`)));
|
|
68
|
+
};
|
|
69
|
+
/** `INVALID_ARGUMENT` for anything that does not shape up as `ModelCheckInput`; every field the spec names. */
|
|
70
|
+
export function parseModelCheckInput(body) {
|
|
71
|
+
const raw = object(body, 'the request');
|
|
72
|
+
known(raw, 'the request', [
|
|
73
|
+
'repository',
|
|
74
|
+
'revision',
|
|
75
|
+
'config_json',
|
|
76
|
+
'hf_quant_config_json',
|
|
77
|
+
'files',
|
|
78
|
+
'gpu_id',
|
|
79
|
+
'weight_names',
|
|
80
|
+
]);
|
|
81
|
+
const gpuId = optionalGpuId(raw['gpu_id']);
|
|
82
|
+
const weightNames = optionalWeightNames(raw['weight_names']);
|
|
83
|
+
return {
|
|
84
|
+
repository: nonEmptyString(raw['repository'], 'repository'),
|
|
85
|
+
revision: nonEmptyString(raw['revision'], 'revision'),
|
|
86
|
+
config_json: jsonObject(raw['config_json'], 'config_json'),
|
|
87
|
+
hf_quant_config_json: nullableJsonObject(raw['hf_quant_config_json'], 'hf_quant_config_json'),
|
|
88
|
+
files: files(raw['files'], 'files'),
|
|
89
|
+
...(gpuId === undefined ? {} : { gpu_id: gpuId }),
|
|
90
|
+
...(weightNames === undefined ? {} : { weight_names: weightNames }),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The descriptor to check against: the `ready` installation of `engineId` with its pinned descriptor
|
|
95
|
+
* when there is one, else that engine's latest accepted cached descriptor — spec "по закреплённому
|
|
96
|
+
* дескриптору установки этого движка (или по актуальному дескриптору этого движка, если движок не
|
|
97
|
+
* установлен)". Throws the descriptor provider's own `MANAGED_METADATA_INVALID` when neither is
|
|
98
|
+
* available (nothing has ever been cached for this engine).
|
|
99
|
+
*/
|
|
100
|
+
export async function descriptorForCheck(engineId, deps) {
|
|
101
|
+
const ours = (await deps.installations.list())
|
|
102
|
+
.map((record) => record.installation)
|
|
103
|
+
.filter((installation) => installation.engine_id === engineId);
|
|
104
|
+
const ready = ours.find((installation) => installation.status === 'ready' && installation.active_descriptor_id !== null);
|
|
105
|
+
const resolved = ready !== undefined
|
|
106
|
+
? await deps.descriptors.forInstallation(ready.active_descriptor_id)
|
|
107
|
+
: await deps.descriptors.cachedForNewSetup(engineId);
|
|
108
|
+
if (resolved.kind !== 'available')
|
|
109
|
+
throw resolved.error;
|
|
110
|
+
return resolved.descriptor;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The full route for one engine: validate, resolve the descriptor and host facts (in parallel), then
|
|
114
|
+
* the pure check. Without an explicit `gpu_id` in the request, checks against the card a real load
|
|
115
|
+
* would pick — the provider's own stored `gpu_id` setting, falling back to `selectLaunchGpu`'s "most
|
|
116
|
+
* free memory, then most total memory" rule only when nothing is saved or the saved card is gone
|
|
117
|
+
* (design D12b of change `add-tensorrt-llm-linux`) — so the verdict and the launch cannot be about
|
|
118
|
+
* different cards.
|
|
119
|
+
*/
|
|
120
|
+
export async function checkManagedModel(engine, body, deps) {
|
|
121
|
+
const input = parseModelCheckInput(body);
|
|
122
|
+
const [descriptor, facts] = await Promise.all([descriptorForCheck(engine.engineId, deps), deps.hostFacts()]);
|
|
123
|
+
const settings = deps.settings();
|
|
124
|
+
const gpuId = input.gpu_id ?? engine.gpuIdOf(settings) ?? undefined;
|
|
125
|
+
const verdict = checkCheckpoint({ ...input, ...(gpuId === undefined ? {} : { gpu_id: gpuId }) }, descriptor, facts.gpus, facts.memory, engine.checkEngineOf(settings));
|
|
126
|
+
return deps.wslVm === undefined ? verdict : withVmMemoryWarning(verdict, facts.memory, await deps.wslVm());
|
|
127
|
+
}
|
|
128
|
+
const GIB = 1024 ** 3;
|
|
129
|
+
const gib = (bytes) => `${(bytes / GIB).toFixed(1)} GiB`;
|
|
130
|
+
/**
|
|
131
|
+
* On Windows the weights are read into the WSL VM, whose memory is by default half of the RAM (design
|
|
132
|
+
* D11): fewer bytes of VM than of weights is a warning — they stream, slower — never a refusal, which
|
|
133
|
+
* would cut off models that do run.
|
|
134
|
+
*/
|
|
135
|
+
function withVmMemoryWarning(verdict, memory, vm) {
|
|
136
|
+
if (!verdict.verdict.ok || memory.totalBytes <= 0 || memory.totalBytes >= verdict.weight_bytes)
|
|
137
|
+
return verdict;
|
|
138
|
+
const setting = vm.memory_setting === null
|
|
139
|
+
? 'It is not set in %UserProfile%\\.wslconfig, so WSL uses half of this computer’s memory.'
|
|
140
|
+
: `%UserProfile%\\.wslconfig sets it to ${vm.memory_setting}.`;
|
|
141
|
+
return {
|
|
142
|
+
...verdict,
|
|
143
|
+
warnings: [
|
|
144
|
+
{
|
|
145
|
+
code: 'wsl-vm-memory',
|
|
146
|
+
message: `The WSL VM has ${gib(memory.totalBytes)} of memory, less than this model’s ${gib(verdict.weight_bytes)} of weights: ` +
|
|
147
|
+
`it should still load, but more slowly. ${setting} You can raise it with memory= in the [wsl2] section of that file, then run wsl --shutdown.`,
|
|
148
|
+
params: {
|
|
149
|
+
vm_memory_bytes: String(memory.totalBytes),
|
|
150
|
+
weight_bytes: String(verdict.weight_bytes),
|
|
151
|
+
wslconfig_memory: vm.memory_setting ?? '',
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/runtime/managed-models/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG1D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAwB1E,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAS,EAAE;IACvD,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,EAAU,EAA2B,EAAE,CACrE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClE,CAAC,CAAE,KAAiC;IACpC,CAAC,CAAE,OAAO,CAAC,GAAG,EAAE,qBAAqB,CAAW,CAAA;AAEpD,MAAM,KAAK,GAAG,CAAC,MAA+B,EAAE,EAAU,EAAE,IAAuB,EAAQ,EAAE;IAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,EAAE,sCAAsC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACrG,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAU,EAAU,EAAE,CAC5D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAW,CAAA;AAE7G,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAU,EAAc,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAEhF,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAE,EAAU,EAAqB,EAAE,CAC3E,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAElE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAU,EAAU,EAAE,CACtD,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;IAC/D,CAAC,CAAC,KAAK;IACP,CAAC,CAAE,OAAO,CAAC,GAAG,EAAE,iCAAiC,CAAW,CAAA;AAEhE,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAU,EAAiB,EAAE;IAC/D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,OAAO,CAAC,GAAG,EAAE,4BAA4B,CAAU,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAU,EAAkB,EAAE;IACpE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC7B,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC;QAC/C,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC;QACzC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC;KAClD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,EAAU,EAAoB,EAAE,CAC7D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IACvE,CAAC,CAAE,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAW,CAAA;AAEnD,MAAM,aAAa,GAAG,CAAC,KAAc,EAAsB,EAAE;IAC3D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,OAAO,CAAC,0BAA0B,CAAU,CAAA;AACrD,CAAC,CAAA;AAED,sGAAsG;AACtG,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAwB,EAAE;IACnE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,2CAA2C,CAAU,CAAA;IAC/F,OAAO,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;AACzG,CAAC,CAAA;AAED,+GAA+G;AAC/G,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IACvC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE;QACxB,YAAY;QACZ,UAAU;QACV,aAAa;QACb,sBAAsB;QACtB,OAAO;QACP,QAAQ;QACR,cAAc;KACf,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAA;IAC5D,OAAO;QACL,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC3D,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;QACrD,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;QAC1D,oBAAoB,EAAE,kBAAkB,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;QAC7F,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QACnC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACjD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;KACpE,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAA2D;IAE3D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC3C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;SACpC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY,CAAC,oBAAoB,KAAK,IAAI,CAChG,CAAA;IACD,MAAM,QAAQ,GACZ,KAAK,KAAK,SAAS;QACjB,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,oBAA8B,CAAC;QAC9E,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;QAAE,MAAM,QAAQ,CAAC,KAAK,CAAA;IACvD,OAAO,QAAQ,CAAC,UAAU,CAAA;AAC5B,CAAC;AAWD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA+B,EAC/B,IAAa,EACb,IAAoB;IAEpB,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5G,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAA;IACnE,MAAM,OAAO,GAAG,eAAe,CAC7B,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAC/D,UAAU,EACV,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAC/B,CAAA;IACD,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;AAC5G,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAA;AACrB,MAAM,GAAG,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;AAExE;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,OAA2B,EAC3B,MAAkB,EAClB,EAAqC;IAErC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY;QAC5F,OAAO,OAAO,CAAA;IAChB,MAAM,OAAO,GACX,EAAE,CAAC,cAAc,KAAK,IAAI;QACxB,CAAC,CAAC,yFAAyF;QAC3F,CAAC,CAAC,wCAAwC,EAAE,CAAC,cAAc,GAAG,CAAA;IAClE,OAAO;QACL,GAAG,OAAO;QACV,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,eAAe;gBACrB,OAAO,EACL,kBAAkB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,sCAAsC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe;oBACtH,0CAA0C,OAAO,6FAA6F;gBAChJ,MAAM,EAAE;oBACN,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC1C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC1C,gBAAgB,EAAE,EAAE,CAAC,cAAc,IAAI,EAAE;iBAC1C;aACF;SACF;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,256 @@
|
|
|
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 type { GpuFacts, ModelCompatibility, RuntimeDescriptor } from '../../contracts/index.js';
|
|
39
|
+
import type { JsonObject } from './quant-format.js';
|
|
40
|
+
/** One file of the revision's listing, as the route contract carries it (spec `managed-model-store`). */
|
|
41
|
+
export interface CheckpointFile {
|
|
42
|
+
/** Repository-relative, forward slashes, as Hugging Face spells it. */
|
|
43
|
+
path: string;
|
|
44
|
+
size: number;
|
|
45
|
+
/** The repository's own published digest, or `null` when it has none (a non-LFS file). */
|
|
46
|
+
sha256: string | null;
|
|
47
|
+
}
|
|
48
|
+
/** Input to `checkCheckpoint`, matching what `POST /models/:provider/check` accepts. */
|
|
49
|
+
export interface ModelCheckInput {
|
|
50
|
+
repository: string;
|
|
51
|
+
revision: string;
|
|
52
|
+
config_json: JsonObject;
|
|
53
|
+
/** `null` when the repository does not carry the file at all. */
|
|
54
|
+
hf_quant_config_json: JsonObject | null;
|
|
55
|
+
files: CheckpointFile[];
|
|
56
|
+
/** Omitted or not found on this host falls back to `selectLaunchGpu`'s "most free memory" rule. */
|
|
57
|
+
gpu_id?: string;
|
|
58
|
+
/**
|
|
59
|
+
* The checkpoint's tensor names, read from the headers of its weight `.safetensors` files (never
|
|
60
|
+
* from `model.safetensors.index.json`, which can be stale or another model's), with numeric path
|
|
61
|
+
* segments optionally folded to `*` (`normalizeWeightName`). Omitted when the caller could not
|
|
62
|
+
* read the headers or predates the field: the checks that need tensor names are then skipped,
|
|
63
|
+
* never failed.
|
|
64
|
+
*/
|
|
65
|
+
weight_names?: string[];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* `model.layers.12.mlp.experts.7.w1.weight` → `model.layers.*.mlp.experts.*.w1.weight`: a large MoE
|
|
69
|
+
* index (DeepSeek-V3: ~90k names) folds to a few hundred, and no shape check here looks at indices.
|
|
70
|
+
*/
|
|
71
|
+
export declare function normalizeWeightName(name: string): string;
|
|
72
|
+
/** Folded and de-duplicated tensor names, in a stable order. */
|
|
73
|
+
export declare function normalizeWeightNames(names: Iterable<string>): string[];
|
|
74
|
+
/** The header length a `.safetensors` file's first 8 bytes declare (little-endian u64); `undefined` if implausible. */
|
|
75
|
+
export declare function safetensorsHeaderLength(prefix: Uint8Array): number | undefined;
|
|
76
|
+
/** The tensor names a parsed safetensors header lists (its keys, minus `__metadata__`); `undefined` if it is not an object. */
|
|
77
|
+
export declare function safetensorsTensorNames(header: unknown): string[] | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Architectures whose MoE layers TensorRT-LLM builds with `DeepseekV3Gate`, which refuses to load
|
|
80
|
+
* without an `e_score_correction_bias` tensor next to the router weight (TensorRT-LLM v1.3.0rc29,
|
|
81
|
+
* `_torch/models/modeling_deepseekv3.py` `DeepseekV3Gate.load_weights`; `modeling_glm.py` builds
|
|
82
|
+
* `Glm4Moe` with the same gate). `NemotronH*` also uses the gate, but only in its MoE layers, and a
|
|
83
|
+
* dense Nemotron-H has none, so it is not listed: a rule here must never refuse a model that loads.
|
|
84
|
+
*/
|
|
85
|
+
/**
|
|
86
|
+
* The host's own memory, from `/proc/meminfo`: what a unified-memory card (design D13, GB10/DGX
|
|
87
|
+
* Spark — `nvidia-smi` reports no memory of its own) has instead of VRAM. `availableBytes` is
|
|
88
|
+
* `MemAvailable`, what such a card has free; `totalBytes` is `MemTotal`, its size. Either is `0`
|
|
89
|
+
* when the file could not be read — the safe direction: a unified-memory card then under-reports.
|
|
90
|
+
*/
|
|
91
|
+
export interface HostMemory {
|
|
92
|
+
availableBytes: number;
|
|
93
|
+
totalBytes: number;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The card a load runs on, and the card `POST /models/:provider/check` computes against when the
|
|
97
|
+
* caller names none — one function for both, so a verdict and a launch can never be about different
|
|
98
|
+
* cards (spec `tensorrt-llm-runtime` "Выбор карты и настройки провайдера", design D12b). `gpu_id`
|
|
99
|
+
* when given and present on the host; otherwise the card with the most FREE memory right now, ties
|
|
100
|
+
* broken by the most TOTAL memory, and a full tie by the order `nvidia-smi` lists the cards in (its
|
|
101
|
+
* own index, stable on a host), so equal cards always resolve the same way. `null` only when the host
|
|
102
|
+
* has no GPU at all.
|
|
103
|
+
*
|
|
104
|
+
* Free memory, not total: on a desktop with two equal cards the first is usually holding the
|
|
105
|
+
* desktop and a browser, and "the biggest card" would send the model there to run out of memory
|
|
106
|
+
* while the second card sits idle. Placement may therefore change between loads as the cards' load
|
|
107
|
+
* changes; the engine cache is keyed by model, not by card, so that only moves where it runs.
|
|
108
|
+
* Compute capability is deliberately not a filter here: the spec's rule is memory only, and a card
|
|
109
|
+
* the checkpoint's format cannot run on gets an honest `MODEL_INCOMPATIBLE` naming the other cards
|
|
110
|
+
* it would fit on (`fits_other_gpus`).
|
|
111
|
+
*
|
|
112
|
+
* A unified-memory card (`total_vram_bytes: null`) ranks by the host's memory — `MemAvailable` as
|
|
113
|
+
* its free memory and `MemTotal` as its total — the same figure `freeMemoryBytes` compares its
|
|
114
|
+
* memory need against.
|
|
115
|
+
*/
|
|
116
|
+
export declare function selectLaunchGpu(gpus: readonly GpuFacts[], host: HostMemory, gpuId?: string): GpuFacts | null;
|
|
117
|
+
/** The weight files whose safetensors headers hold the checkpoint's tensor names (legacy `.bin`/`.pth` excluded). */
|
|
118
|
+
export declare function weightSafetensorsFiles(files: readonly CheckpointFile[]): readonly CheckpointFile[];
|
|
119
|
+
/** Weight bytes for the memory check: the sum of `selectWeightFiles(files)`. */
|
|
120
|
+
export declare function weightBytes(files: readonly CheckpointFile[]): number;
|
|
121
|
+
/**
|
|
122
|
+
* A finite, positive number read from `configJson[key]`; `undefined` for anything else (missing,
|
|
123
|
+
* the wrong type, zero, negative, `NaN`/`Infinity`) — every field the KV-cache formula below needs
|
|
124
|
+
* is a strictly positive count or dimension, and treating `0` or a negative value as "present" would
|
|
125
|
+
* size a KV cache of zero or negative bytes, silently passing a check that should have fallen back.
|
|
126
|
+
*/
|
|
127
|
+
export declare function positiveNumberField(configJson: JsonObject, key: string): number | undefined;
|
|
128
|
+
export interface KvCacheShape {
|
|
129
|
+
numHiddenLayers: number;
|
|
130
|
+
numKeyValueHeads: number;
|
|
131
|
+
headDim: number;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* The architecture fields a transformer's KV-cache size is computed from, with the two standard
|
|
135
|
+
* fallbacks: `num_key_value_heads` falls back to `num_attention_heads` (plain multi-head attention —
|
|
136
|
+
* every attention head is its own KV head, the GQA/MQA field simply absent) and `head_dim` falls
|
|
137
|
+
* back to `hidden_size / num_attention_heads` (the standard derivation, for a config that does not
|
|
138
|
+
* spell `head_dim` out explicitly). `undefined` when `config.json` lacks what even the fallbacks
|
|
139
|
+
* need — `kvCacheBytes` then has nothing to compute from, and `kvCacheReserveBytes` falls back to
|
|
140
|
+
* the older weight-proportional rule.
|
|
141
|
+
*/
|
|
142
|
+
export declare function readKvCacheShape(rootConfigJson: JsonObject): KvCacheShape | undefined;
|
|
143
|
+
/**
|
|
144
|
+
* The KV cache's own footprint for one sequence at `contextLength` tokens:
|
|
145
|
+
* `2 × num_hidden_layers × num_key_value_heads × head_dim × kv_dtype_bytes × context_length` — one
|
|
146
|
+
* K tensor and one V tensor (the leading `2`) per layer, each holding `context_length` tokens of
|
|
147
|
+
* `num_key_value_heads × head_dim` values at `kv_dtype_bytes` each. `kv_dtype_bytes` is `1` when
|
|
148
|
+
* `kvCacheQuantAlgo` names `FP8`, else `2` (`bf16`/`fp16`, this engine's other supported weight
|
|
149
|
+
* dtypes). `undefined` when `config.json` lacks the architecture fields `readKvCacheShape` needs.
|
|
150
|
+
*/
|
|
151
|
+
export declare function kvCacheBytes(configJson: JsonObject, hfQuantConfigJson: JsonObject | null, contextLength: number): number | undefined;
|
|
152
|
+
/** A card with no VRAM figure of its own (GB10/DGX Spark, design D13): its memory is the host's. */
|
|
153
|
+
export declare function isUnifiedMemory(gpu: GpuFacts): boolean;
|
|
154
|
+
/** Free memory to compare against for one card: `MemAvailable` for a unified-memory card (design D13). */
|
|
155
|
+
export declare function freeMemoryBytes(gpu: GpuFacts, host: HostMemory): number;
|
|
156
|
+
/** A card's size, for ranking only: `MemTotal` for a unified-memory card (design D13). */
|
|
157
|
+
export declare function totalMemoryBytes(gpu: GpuFacts, host: HostMemory): number;
|
|
158
|
+
/** How an engine sized a KV-cache reserve — carried into `ModelCompatibility.kv_reserve_basis`. */
|
|
159
|
+
export type KvReserveBasis = 'config' | 'weight_fraction';
|
|
160
|
+
/** The checkpoint as an engine's memory rule sees it. */
|
|
161
|
+
export interface CheckpointMemoryInputs {
|
|
162
|
+
weightBytesTotal: number;
|
|
163
|
+
configJson: JsonObject;
|
|
164
|
+
hfQuantConfigJson: JsonObject | null;
|
|
165
|
+
}
|
|
166
|
+
/** What a checkpoint needs on one card by an engine's own memory rule. */
|
|
167
|
+
export interface MemoryNeed {
|
|
168
|
+
neededBytes: number;
|
|
169
|
+
/** How the engine sized its KV cache, when it says (`kv_reserve_basis` of the verdict). */
|
|
170
|
+
kvReserveBasis?: KvReserveBasis;
|
|
171
|
+
/** `key=value` numbers for a refusal's `details`; the skeleton appends `free_bytes=…`. */
|
|
172
|
+
details: string;
|
|
173
|
+
}
|
|
174
|
+
/** A reason a supported architecture's checkpoint still cannot load on this engine. */
|
|
175
|
+
export interface CheckpointProblem {
|
|
176
|
+
message: string;
|
|
177
|
+
details: string;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* What one engine adds to the shared skeleton (design D7): its id for messages, its loader's
|
|
181
|
+
* checkpoint quirks and its memory rule. Part of the engine's spec, never of its adapter.
|
|
182
|
+
*/
|
|
183
|
+
export interface ManagedCheckEngine {
|
|
184
|
+
/** `tensorrt-llm`, `vllm`: the provider id, in messages. */
|
|
185
|
+
engineId: string;
|
|
186
|
+
checkpointProblems(architecture: string, configJson: JsonObject, weightNames: readonly string[] | undefined): CheckpointProblem | null;
|
|
187
|
+
memoryNeed(gpu: GpuFacts, checkpoint: CheckpointMemoryInputs, hostMemory: HostMemory): MemoryNeed;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Everything `checkCheckpointMemory` needs about the checkpoint once every non-memory check has passed.
|
|
191
|
+
* `configJson`/`hfQuantConfigJson` travel here (rather than being re-passed alongside `sizing`)
|
|
192
|
+
* because they are exactly `input.config_json`/`input.hf_quant_config_json` as
|
|
193
|
+
* `checkCheckpointFiles` already read them — carrying its own copy here means
|
|
194
|
+
* `checkCheckpointMemory` can never be called with a `config.json` that disagrees with the one the rest
|
|
195
|
+
* of the verdict was computed from.
|
|
196
|
+
*/
|
|
197
|
+
export interface ResolvedCheckpoint {
|
|
198
|
+
architectures: string[];
|
|
199
|
+
/** Never null here: `checkCheckpointFiles` only returns this once a format was recognised. */
|
|
200
|
+
quantizationFormat: string;
|
|
201
|
+
weightBytesTotal: number;
|
|
202
|
+
selected: GpuFacts;
|
|
203
|
+
curated: boolean;
|
|
204
|
+
configJson: JsonObject;
|
|
205
|
+
hfQuantConfigJson: JsonObject | null;
|
|
206
|
+
}
|
|
207
|
+
export type FilesCheckResult = {
|
|
208
|
+
ok: true;
|
|
209
|
+
resolved: ResolvedCheckpoint;
|
|
210
|
+
} | {
|
|
211
|
+
ok: false;
|
|
212
|
+
verdict: ModelCompatibility;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Throws `AtomicCoreError` for two caller-input problems that are never a fact about the checkpoint
|
|
216
|
+
* itself: `INVALID_ARGUMENT` when the file listing names `hf_quant_config.json` while
|
|
217
|
+
* `hf_quant_config_json` is `null` (the caller said the file exists but did not send its content, so
|
|
218
|
+
* the format naming rule cannot be trusted), and `MANAGED_PREREQUISITE_BLOCKED` when the host has no
|
|
219
|
+
* GPU at all (`gpus` empty — the same code, and the same host condition, `runtime.ts`'s own
|
|
220
|
+
* `selectLaunchGpu` check already answers with for a real load; task 2.16w round 1, finding 11:
|
|
221
|
+
* an absent or failing `nvidia-smi` is a missing prerequisite, not a malformed request).
|
|
222
|
+
* `inventoryDigest` can also throw `AtomicCoreError('MANAGED_METADATA_INVALID', …)` for a curated
|
|
223
|
+
* match whose file listing is itself malformed (an empty or repeated path, a NUL byte, a
|
|
224
|
+
* non-integer size — see `src/runtime/environment/inventory.ts`), before this function gets a
|
|
225
|
+
* chance to compare digests. Every other input, however incompatible, is a normal `verdict.ok: false`
|
|
226
|
+
* answer, never a thrown error (design D12: the point of this check is to hand back numbers, not to
|
|
227
|
+
* fail the request).
|
|
228
|
+
*
|
|
229
|
+
* Every check above the memory line: GGUF, the curated digest, the quantization format, the
|
|
230
|
+
* architecture, the format's presence in this descriptor and its compute-capability rule. None of
|
|
231
|
+
* these can change by evicting whatever session currently holds the selected card, so all of them
|
|
232
|
+
* run before `stopPrevious` on the load path (task 2.16w round 1, finding 1). `fits_other_gpus` on a
|
|
233
|
+
* compute-capability failure is still computed here (`memory` sizes the reserve needed to report it),
|
|
234
|
+
* using whichever `gpus`/`hostMemory` snapshot the caller passed in — informational only,
|
|
235
|
+
* about *other* cards the eviction race does not touch.
|
|
236
|
+
*/
|
|
237
|
+
export declare function checkCheckpointFiles(input: ModelCheckInput, descriptor: RuntimeDescriptor, gpus: readonly GpuFacts[], hostMemory: HostMemory, engine: ManagedCheckEngine): FilesCheckResult;
|
|
238
|
+
/**
|
|
239
|
+
* The memory line alone (task 2.16w round 1, finding 1): whether `resolved.weightBytesTotal` plus
|
|
240
|
+
* the KV-cache reserve fits the selected card's free memory. Callers pass a fresh `gpus`/
|
|
241
|
+
* `hostMemory` snapshot — the load path's `beforeCreate` hook re-probes the host after
|
|
242
|
+
* `stopPrevious` has run, so this sees whatever that freed, never a snapshot taken before it — and
|
|
243
|
+
* this function re-reads the free-memory figure for `resolved.selected.gpu_id` from *that* fresh
|
|
244
|
+
* `gpus`, rather than trusting `resolved.selected`'s own (possibly stale) copy: that stale copy is
|
|
245
|
+
* only a fallback for the case `gpus` no longer lists the card at all (it disappeared), which
|
|
246
|
+
* `runtime.ts`'s own `beforeCreate` hook checks for and reports as `MANAGED_PREREQUISITE_BLOCKED`
|
|
247
|
+
* before ever calling this. This never picks a *different* card — the caller already committed to
|
|
248
|
+
* this exact one (`checkModelCompatibilityFiles`, or a load's own `selectLaunchGpu`).
|
|
249
|
+
*/
|
|
250
|
+
export declare function checkCheckpointMemory(resolved: ResolvedCheckpoint, descriptor: RuntimeDescriptor, gpus: readonly GpuFacts[], hostMemory: HostMemory, engine: ManagedCheckEngine): ModelCompatibility;
|
|
251
|
+
/**
|
|
252
|
+
* The full verdict: `checkCheckpointFiles` then, if it passed, `checkCheckpointMemory` — for the check
|
|
253
|
+
* route's single live snapshot, where there is no previous session on the selected card to evict
|
|
254
|
+
* first. The load path runs the two separately instead (see the file banner).
|
|
255
|
+
*/
|
|
256
|
+
export declare function checkCheckpoint(input: ModelCheckInput, descriptor: RuntimeDescriptor, gpus: readonly GpuFacts[], hostMemory: HostMemory, engine: ManagedCheckEngine): ModelCompatibility;
|