@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,425 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `vllm` engine's `ManagedTextAdapter` (change `add-vllm-runtime`, task 3.2, design D8; spec
|
|
3
|
+
* `vllm-runtime`): how core runs `vllm serve` from the `vllm/vllm-openai` image on the shared
|
|
4
|
+
* managed-text lifecycle.
|
|
5
|
+
*
|
|
6
|
+
* - **argv**: `vllm serve <model> --served-model-name <id> --host 0.0.0.0 --port 8000
|
|
7
|
+
* --max-model-len <ctx> --max-num-seqs <n> --gpu-memory-utilization <U>
|
|
8
|
+
* --override-generation-config {"max_new_tokens":<cap>, …sampling defaults}`,
|
|
9
|
+
* `--limit-mm-per-prompt {"image":0,"video":0}` for a multimodal checkpoint, the further options the
|
|
10
|
+
* settings set (`--max-num-batched-tokens`, `--no-enable-prefix-caching`, `--cpu-offload-gb`,
|
|
11
|
+
* `--dtype`, `--seed`, `--async-scheduling`, `--kv-cache-memory-bytes` when the KV cache size is
|
|
12
|
+
* set), plus `--enforce-eager` when CUDA graphs are off,
|
|
13
|
+
* `--kv-cache-dtype fp8` on compute capability 8.9 and newer, and the family's tool-call and
|
|
14
|
+
* reasoning parsers. `U` is core's (`plan`, from the card as it stands right before the container
|
|
15
|
+
* is created, design D9): vLLM's default share of the card's *total* memory would refuse to start on
|
|
16
|
+
* any desktop whose card is partly taken. Within `U`, vLLM sizes the KV cache itself — it knows every
|
|
17
|
+
* model's KV shape, hybrid ones included — unless the KV cache size setting fixes it. Never `--trust-remote-code` (no code from a model repository runs), `--enable-log-requests`
|
|
18
|
+
* (prompts would land in the logs core serves) or `--api-key` (the session gateway checks the key).
|
|
19
|
+
* - **env**: usage stats off (`VLLM_NO_USAGE_STATS`, `DO_NOT_TRACK`), Hugging Face offline (every file
|
|
20
|
+
* is already in the store), and every compile cache — vLLM's own, Triton's, inductor's, FlashInfer's
|
|
21
|
+
* — under the engine cache, so a second start of the same model reuses the first one's work.
|
|
22
|
+
* - **readiness** `GET /health`; **routes** chat completions, completions and the model list;
|
|
23
|
+
* requests capped at the output setting, refused for tools without a parser, structured output the
|
|
24
|
+
* family does not declare, and images (a cap the client did not ask for comes from the launch's
|
|
25
|
+
* default, so a long prompt is not refused for the room a written cap would take); vLLM's context overflow answered as OpenAI's
|
|
26
|
+
* `context_length_exceeded` with both numbers.
|
|
27
|
+
*
|
|
28
|
+
* Log lines, exit wording and error bodies follow vLLM 0.31's source (`test/helpers/vllm-log-fixtures.ts`);
|
|
29
|
+
* the live run of task 6.1 confirms or replaces them.
|
|
30
|
+
*/
|
|
31
|
+
import { AtomicCoreError } from '../../contracts/index.js';
|
|
32
|
+
import { MANAGED_TEXT_ADAPTER_CONTRACT_VERSION, ManagedRequestRefusal, asksForStructuredOutput, asksForTools, reasoningIntoContent, thinkingRequested, } from '../managed-text/index.js';
|
|
33
|
+
import { validateVllmSettings } from './settings.js';
|
|
34
|
+
const GiB = 1024 ** 3;
|
|
35
|
+
/** The port `vllm serve` listens on inside its container. */
|
|
36
|
+
export const VLLM_CONTAINER_PORT = 8000;
|
|
37
|
+
/** Below this much card memory, `cuda_graphs: auto` runs eager: graphs cost memory a small card needs. */
|
|
38
|
+
export const VLLM_CUDA_GRAPHS_MIN_VRAM_BYTES = 12 * GiB;
|
|
39
|
+
function isPlan(value) {
|
|
40
|
+
if (value === null || typeof value !== 'object')
|
|
41
|
+
return false;
|
|
42
|
+
const plan = value;
|
|
43
|
+
return ((plan['kvCacheMemoryBytes'] === null ||
|
|
44
|
+
(typeof plan['kvCacheMemoryBytes'] === 'number' &&
|
|
45
|
+
Number.isInteger(plan['kvCacheMemoryBytes']) &&
|
|
46
|
+
plan['kvCacheMemoryBytes'] > 0)) &&
|
|
47
|
+
typeof plan['gpuMemoryUtilization'] === 'number' &&
|
|
48
|
+
plan['gpuMemoryUtilization'] > 0 &&
|
|
49
|
+
plan['gpuMemoryUtilization'] <= 1 &&
|
|
50
|
+
typeof plan['multimodal'] === 'boolean');
|
|
51
|
+
}
|
|
52
|
+
/** Compute capability 8.9 (Ada) and newer: FP8 KV cache. Unknown or older: the model's own precision. */
|
|
53
|
+
function supportsFp8Kv(computeCapability) {
|
|
54
|
+
if (computeCapability === null || computeCapability === undefined)
|
|
55
|
+
return false;
|
|
56
|
+
const [major, minor] = computeCapability.split('.').map((part) => Number.parseInt(part, 10));
|
|
57
|
+
if (major === undefined || Number.isNaN(major))
|
|
58
|
+
return false;
|
|
59
|
+
return major > 8 || (major === 8 && (minor ?? 0) >= 9);
|
|
60
|
+
}
|
|
61
|
+
function eager(context) {
|
|
62
|
+
const mode = context.settings.cuda_graphs;
|
|
63
|
+
if (mode === 'on')
|
|
64
|
+
return false;
|
|
65
|
+
if (mode === 'off')
|
|
66
|
+
return true;
|
|
67
|
+
// A unified-memory card has the host's memory: never the small-card case.
|
|
68
|
+
if (context.unifiedMemory)
|
|
69
|
+
return false;
|
|
70
|
+
const total = context.gpuTotalVramBytes ?? null;
|
|
71
|
+
return total === null || total < VLLM_CUDA_GRAPHS_MIN_VRAM_BYTES;
|
|
72
|
+
}
|
|
73
|
+
/** Every compile cache of the engine, under the engine cache (`ManagedLaunchContext.engineCachePath`). */
|
|
74
|
+
function cacheEnv(cache) {
|
|
75
|
+
return {
|
|
76
|
+
VLLM_CACHE_ROOT: `${cache}/vllm`,
|
|
77
|
+
TRITON_CACHE_DIR: `${cache}/triton`,
|
|
78
|
+
TORCHINDUCTOR_CACHE_DIR: `${cache}/inductor`,
|
|
79
|
+
FLASHINFER_WORKSPACE_BASE: `${cache}/flashinfer`,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export function buildVllmLaunch(context) {
|
|
83
|
+
if (!isPlan(context.plan)) {
|
|
84
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', 'A vLLM launch needs core’s memory plan (KV cache bytes and memory share), computed right before the container is created.');
|
|
85
|
+
}
|
|
86
|
+
const { settings, family } = context;
|
|
87
|
+
const argv = [
|
|
88
|
+
'vllm',
|
|
89
|
+
'serve',
|
|
90
|
+
context.modelPath,
|
|
91
|
+
'--served-model-name',
|
|
92
|
+
context.modelId,
|
|
93
|
+
'--host',
|
|
94
|
+
'0.0.0.0',
|
|
95
|
+
'--port',
|
|
96
|
+
String(VLLM_CONTAINER_PORT),
|
|
97
|
+
'--max-model-len',
|
|
98
|
+
String(settings.context_length),
|
|
99
|
+
'--max-num-seqs',
|
|
100
|
+
String(settings.max_num_seqs),
|
|
101
|
+
'--gpu-memory-utilization',
|
|
102
|
+
String(Number(context.plan.gpuMemoryUtilization.toFixed(4))),
|
|
103
|
+
// The output cap for a request that names none: vLLM's own default, so a long prompt keeps the
|
|
104
|
+
// room it has (a cap written into every request would make vLLM refuse input + cap > context).
|
|
105
|
+
'--override-generation-config',
|
|
106
|
+
JSON.stringify({ max_new_tokens: settings.max_output_tokens, ...settings.generation }),
|
|
107
|
+
];
|
|
108
|
+
if (context.plan.kvCacheMemoryBytes !== null) {
|
|
109
|
+
argv.push('--kv-cache-memory-bytes', String(context.plan.kvCacheMemoryBytes));
|
|
110
|
+
}
|
|
111
|
+
if (settings.max_num_batched_tokens !== null) {
|
|
112
|
+
argv.push('--max-num-batched-tokens', String(settings.max_num_batched_tokens));
|
|
113
|
+
}
|
|
114
|
+
if (!settings.enable_prefix_caching)
|
|
115
|
+
argv.push('--no-enable-prefix-caching');
|
|
116
|
+
if (settings.cpu_offload_gb > 0)
|
|
117
|
+
argv.push('--cpu-offload-gb', String(settings.cpu_offload_gb));
|
|
118
|
+
if (settings.dtype !== 'auto')
|
|
119
|
+
argv.push('--dtype', settings.dtype);
|
|
120
|
+
if (settings.seed !== null)
|
|
121
|
+
argv.push('--seed', String(settings.seed));
|
|
122
|
+
if (settings.async_scheduling)
|
|
123
|
+
argv.push('--async-scheduling');
|
|
124
|
+
if (context.plan.multimodal)
|
|
125
|
+
argv.push('--limit-mm-per-prompt', JSON.stringify({ image: 0, video: 0 }));
|
|
126
|
+
if (eager(context))
|
|
127
|
+
argv.push('--enforce-eager');
|
|
128
|
+
if (settings.kv_cache_dtype === 'fp8' && supportsFp8Kv(context.gpuComputeCapability)) {
|
|
129
|
+
argv.push('--kv-cache-dtype', 'fp8');
|
|
130
|
+
}
|
|
131
|
+
if (family?.tool_parser)
|
|
132
|
+
argv.push('--enable-auto-tool-choice', '--tool-call-parser', family.tool_parser);
|
|
133
|
+
if (family?.reasoning_parser)
|
|
134
|
+
argv.push('--reasoning-parser', family.reasoning_parser);
|
|
135
|
+
return {
|
|
136
|
+
engine: { container_port: VLLM_CONTAINER_PORT },
|
|
137
|
+
argv,
|
|
138
|
+
env: {
|
|
139
|
+
VLLM_NO_USAGE_STATS: '1',
|
|
140
|
+
DO_NOT_TRACK: '1',
|
|
141
|
+
HF_HUB_OFFLINE: '1',
|
|
142
|
+
TRANSFORMERS_OFFLINE: '1',
|
|
143
|
+
...cacheEnv(context.engineCachePath),
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/** A base for engine start-up, imports and the first graph compilation; more per GiB of weights. */
|
|
148
|
+
export const VLLM_READINESS_BASE_MS = 10 * 60_000;
|
|
149
|
+
export const VLLM_READINESS_PER_GIB_MS = 20_000;
|
|
150
|
+
export function vllmReadinessTimeoutMs(weightBytes, settings) {
|
|
151
|
+
if (settings.load_timeout_seconds !== null)
|
|
152
|
+
return settings.load_timeout_seconds * 1000;
|
|
153
|
+
return Math.ceil(VLLM_READINESS_BASE_MS + (weightBytes / GiB) * VLLM_READINESS_PER_GIB_MS);
|
|
154
|
+
}
|
|
155
|
+
// ---------------------------------------------------------------------------------------------
|
|
156
|
+
// Exit classification
|
|
157
|
+
// ---------------------------------------------------------------------------------------------
|
|
158
|
+
const OOM = /CUDA out of memory\. Tried to allocate ([\d.]+) ?(GiB|MiB|KiB).*?of which ([\d.]+) ?(GiB|MiB|KiB|bytes) is free/;
|
|
159
|
+
// vLLM 0.31 names the device (`on device cuda:0 (6.89/8.0 GiB)`); earlier releases did not.
|
|
160
|
+
const FREE_BELOW_SHARE = /Free memory on device(?: [^\s(]+)? \(([\d.]+)\/([\d.]+) GiB\) on startup is less than desired GPU memory utilization \(([\d.]+), ([\d.]+) GiB\)/;
|
|
161
|
+
const KV_TOO_SMALL = /max seq len \((\d+)\).*?\(([\d.]+) GiB KV cache is needed, which is larger than the available KV cache memory \(([\d.]+) GiB\)\.(?: Based on the available memory, the estimated maximum model length is (\d+)\.)?/;
|
|
162
|
+
const UNSUPPORTED_ARCHITECTURE = /Model architectures \[([^\]]*)\] are not supported for now/;
|
|
163
|
+
const ANY_OOM = /out of memory/i;
|
|
164
|
+
const toGiB = (amount, unit) => unit === 'GiB'
|
|
165
|
+
? amount
|
|
166
|
+
: unit === 'MiB'
|
|
167
|
+
? amount / 1024
|
|
168
|
+
: unit === 'KiB'
|
|
169
|
+
? amount / 1024 ** 2
|
|
170
|
+
: amount / GiB;
|
|
171
|
+
const round = (value) => Math.round(value * 100) / 100;
|
|
172
|
+
export function classifyVllmExit(log, exitCode) {
|
|
173
|
+
const kv = KV_TOO_SMALL.exec(log);
|
|
174
|
+
if (kv !== null) {
|
|
175
|
+
const maxModelLen = Number(kv[1]);
|
|
176
|
+
const fits = kv[4] === undefined ? null : Number(kv[4]);
|
|
177
|
+
return {
|
|
178
|
+
kind: 'out-of-memory',
|
|
179
|
+
message: `The context length ${maxModelLen} does not fit the KV cache: it needs ${kv[2]} GiB, ${kv[3]} GiB is available` +
|
|
180
|
+
(fits === null ? '.' : `, which holds ${fits} tokens. Lower the context length or free GPU memory.`),
|
|
181
|
+
numbers: {
|
|
182
|
+
max_model_len: maxModelLen,
|
|
183
|
+
kv_needed_gib: Number(kv[2]),
|
|
184
|
+
kv_available_gib: Number(kv[3]),
|
|
185
|
+
...(fits === null ? {} : { kv_cache_tokens: fits }),
|
|
186
|
+
},
|
|
187
|
+
excerpt: kv[0],
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
const free = FREE_BELOW_SHARE.exec(log);
|
|
191
|
+
if (free !== null) {
|
|
192
|
+
return {
|
|
193
|
+
kind: 'out-of-memory',
|
|
194
|
+
message: `The GPU had ${free[1]} GiB of ${free[2]} GiB free once vLLM had started, less than the ${free[4]} GiB ` +
|
|
195
|
+
`the model's weights and KV cache need. Free GPU memory, or lower the context length or concurrent requests.`,
|
|
196
|
+
numbers: {
|
|
197
|
+
free_gib: Number(free[1]),
|
|
198
|
+
total_gib: Number(free[2]),
|
|
199
|
+
utilization: Number(free[3]),
|
|
200
|
+
requested_gib: Number(free[4]),
|
|
201
|
+
},
|
|
202
|
+
excerpt: free[0],
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
const oom = OOM.exec(log);
|
|
206
|
+
if (oom !== null) {
|
|
207
|
+
const tried = round(toGiB(Number(oom[1]), oom[2]));
|
|
208
|
+
const left = round(toGiB(Number(oom[3]), oom[4]));
|
|
209
|
+
return {
|
|
210
|
+
kind: 'out-of-memory',
|
|
211
|
+
message: `The GPU ran out of memory: vLLM tried to allocate ${oom[1]} ${oom[2]} with ${oom[3]} ${oom[4]} free.`,
|
|
212
|
+
numbers: { requested_gib: tried, free_gib: left },
|
|
213
|
+
excerpt: oom[0],
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
const arch = UNSUPPORTED_ARCHITECTURE.exec(log);
|
|
217
|
+
if (arch !== null) {
|
|
218
|
+
return {
|
|
219
|
+
kind: 'unsupported-model',
|
|
220
|
+
message: `This vLLM release cannot run the model's architecture: ${arch[1]?.replace(/'/g, '')}.`,
|
|
221
|
+
excerpt: arch[0],
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
if (ANY_OOM.test(log)) {
|
|
225
|
+
return { kind: 'out-of-memory', message: 'The GPU ran out of memory while vLLM started.' };
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
kind: 'other',
|
|
229
|
+
message: `vLLM exited${exitCode === null ? '' : ` with code ${exitCode}`} before it was ready.`,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
// ---------------------------------------------------------------------------------------------
|
|
233
|
+
// Capabilities, routes, request and response rewrites
|
|
234
|
+
// ---------------------------------------------------------------------------------------------
|
|
235
|
+
export function vllmCapabilities(context) {
|
|
236
|
+
const family = context.family;
|
|
237
|
+
return {
|
|
238
|
+
tools: Boolean(family?.tool_parser),
|
|
239
|
+
reasoning: Boolean(family?.reasoning_parser),
|
|
240
|
+
structured_output: family?.structured_output === true,
|
|
241
|
+
vision: false,
|
|
242
|
+
embeddings: false,
|
|
243
|
+
responses: false,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
export const VLLM_ROUTES = [
|
|
247
|
+
{ method: 'POST', path: '/v1/chat/completions' },
|
|
248
|
+
{ method: 'POST', path: '/v1/completions' },
|
|
249
|
+
{ method: 'GET', path: '/v1/models' },
|
|
250
|
+
];
|
|
251
|
+
export const VLLM_REWRITABLE_ROUTES = [
|
|
252
|
+
{ method: 'POST', path: '/v1/chat/completions' },
|
|
253
|
+
{ method: 'POST', path: '/v1/completions' },
|
|
254
|
+
];
|
|
255
|
+
const REWRITABLE = new Set(VLLM_REWRITABLE_ROUTES.map((route) => route.path));
|
|
256
|
+
function positive(body, key) {
|
|
257
|
+
if (!(key in body) || body[key] === null)
|
|
258
|
+
return { present: false, value: 0 };
|
|
259
|
+
const value = body[key];
|
|
260
|
+
if (typeof value !== 'number' || !Number.isInteger(value) || value <= 0) {
|
|
261
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', `${key} must be a positive integer.`);
|
|
262
|
+
}
|
|
263
|
+
return { present: true, value };
|
|
264
|
+
}
|
|
265
|
+
/** Any message part that is not text: an image, a video, audio — none of which this engine accepts here. */
|
|
266
|
+
const MEDIA_PART = new Set([
|
|
267
|
+
'image_url',
|
|
268
|
+
'input_image',
|
|
269
|
+
'image',
|
|
270
|
+
'video_url',
|
|
271
|
+
'video',
|
|
272
|
+
'input_audio',
|
|
273
|
+
'audio_url',
|
|
274
|
+
]);
|
|
275
|
+
function carriesMedia(body) {
|
|
276
|
+
const messages = body['messages'];
|
|
277
|
+
if (!Array.isArray(messages))
|
|
278
|
+
return false;
|
|
279
|
+
return messages.some((message) => {
|
|
280
|
+
const content = message !== null && typeof message === 'object' ? message.content : null;
|
|
281
|
+
return (Array.isArray(content) &&
|
|
282
|
+
content.some((part) => part !== null &&
|
|
283
|
+
typeof part === 'object' &&
|
|
284
|
+
MEDIA_PART.has(String(part.type))));
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Caps the output a request asks for at `max_output_tokens` (one key, as the client sent it); a
|
|
289
|
+
* request that asks for none is capped by vLLM's launch default instead. Refuses what the session cannot do with `:1337`'s own wording
|
|
290
|
+
* and code: tools without a parser, structured output the family does not declare, images.
|
|
291
|
+
*/
|
|
292
|
+
export function vllmRewriteRequestBody(route, body, settings, capabilities) {
|
|
293
|
+
if (!REWRITABLE.has(route))
|
|
294
|
+
return body;
|
|
295
|
+
if (typeof body !== 'object' || body === null || Array.isArray(body))
|
|
296
|
+
return body;
|
|
297
|
+
const client = body;
|
|
298
|
+
const model = typeof client['model'] === 'string' ? `The model '${client['model']}'` : 'This model';
|
|
299
|
+
if (carriesMedia(client)) {
|
|
300
|
+
throw new ManagedRequestRefusal(`${model} does not support images.`, 'unsupported_capability');
|
|
301
|
+
}
|
|
302
|
+
if (capabilities !== undefined) {
|
|
303
|
+
if (!capabilities.tools && asksForTools(client)) {
|
|
304
|
+
throw new ManagedRequestRefusal(`${model} does not support tool calling.`, 'unsupported_capability');
|
|
305
|
+
}
|
|
306
|
+
if (!capabilities.structured_output && asksForStructuredOutput(client)) {
|
|
307
|
+
throw new ManagedRequestRefusal(`${model} does not support structured output.`, 'unsupported_capability');
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
const cap = settings.max_output_tokens;
|
|
311
|
+
if (route === '/v1/completions') {
|
|
312
|
+
const field = positive(client, 'max_tokens');
|
|
313
|
+
return field.present ? { ...client, max_tokens: Math.min(field.value, cap) } : client;
|
|
314
|
+
}
|
|
315
|
+
const legacy = positive(client, 'max_tokens');
|
|
316
|
+
const modern = positive(client, 'max_completion_tokens');
|
|
317
|
+
const asked = [legacy, modern].filter((field) => field.present).map((field) => field.value);
|
|
318
|
+
// Nothing asked: vLLM's launch default (`--override-generation-config`) caps it, within the room left.
|
|
319
|
+
if (asked.length === 0)
|
|
320
|
+
return client;
|
|
321
|
+
const rest = { ...client };
|
|
322
|
+
delete rest['max_tokens'];
|
|
323
|
+
delete rest['max_completion_tokens'];
|
|
324
|
+
rest[modern.present ? 'max_completion_tokens' : 'max_tokens'] = Math.min(cap, ...asked);
|
|
325
|
+
return rest;
|
|
326
|
+
}
|
|
327
|
+
/** vLLM's 400 wording for a request over the context, current and older, with the limit and the request. */
|
|
328
|
+
const OVERFLOW = [
|
|
329
|
+
/maximum context length is (\d+) tokens\. However, your request has (\d+) input tokens/,
|
|
330
|
+
/maximum context length is (\d+) tokens\. However, you requested (\d+) tokens/,
|
|
331
|
+
/maximum context length is (\d+) tokens and your request has (\d+) input tokens/,
|
|
332
|
+
];
|
|
333
|
+
function errorMessage(body) {
|
|
334
|
+
try {
|
|
335
|
+
const parsed = JSON.parse(body);
|
|
336
|
+
const message = parsed.error?.message ?? parsed.message;
|
|
337
|
+
return typeof message === 'string' ? message : '';
|
|
338
|
+
}
|
|
339
|
+
catch {
|
|
340
|
+
return '';
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
/** vLLM's context overflow as OpenAI's `context_length_exceeded`; anything else relayed as it is. */
|
|
344
|
+
export function mapVllmContextLengthError(status, body) {
|
|
345
|
+
if (status !== 400)
|
|
346
|
+
return null;
|
|
347
|
+
const message = errorMessage(body);
|
|
348
|
+
for (const pattern of OVERFLOW) {
|
|
349
|
+
const match = pattern.exec(message);
|
|
350
|
+
if (match === null)
|
|
351
|
+
continue;
|
|
352
|
+
const limit = Number(match[1]);
|
|
353
|
+
const requested = Number(match[2]);
|
|
354
|
+
return {
|
|
355
|
+
error: {
|
|
356
|
+
message: `This model's maximum context length is ${limit} tokens, but the request has ${requested} tokens. Shorten the conversation or the requested output.`,
|
|
357
|
+
type: 'invalid_request_error',
|
|
358
|
+
param: 'messages',
|
|
359
|
+
code: 'context_length_exceeded',
|
|
360
|
+
},
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
return null;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Reasoning parsers that may file a no-thinking reply under `reasoning_content` (design D8: the same
|
|
367
|
+
* hook as TensorRT-LLM's; the live run of task 6.1 confirms which of vLLM 0.31's do).
|
|
368
|
+
*/
|
|
369
|
+
export const VLLM_REASONING_AT_START_PARSERS = new Set(['qwen3']);
|
|
370
|
+
export function vllmRewriteResponseFor(route, requestBody, family) {
|
|
371
|
+
if (route !== '/v1/chat/completions')
|
|
372
|
+
return null;
|
|
373
|
+
const parser = family?.reasoning_parser ?? null;
|
|
374
|
+
if (parser === null || !VLLM_REASONING_AT_START_PARSERS.has(parser))
|
|
375
|
+
return null;
|
|
376
|
+
return thinkingRequested(requestBody) ? null : reasoningIntoContent;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* `initializing-engine` from the first line that shows vLLM working on the model: reading weights,
|
|
380
|
+
* profiling memory, compiling, capturing CUDA graphs. Before them the load stays in
|
|
381
|
+
* `starting-container` (Python, CUDA and the API server coming up).
|
|
382
|
+
*/
|
|
383
|
+
const STAGE_MARKERS = [
|
|
384
|
+
{ stage: 'initializing-engine', pattern: /Starting to load model/ },
|
|
385
|
+
{ stage: 'initializing-engine', pattern: /Loading safetensors checkpoint shards/ },
|
|
386
|
+
{ stage: 'initializing-engine', pattern: /Model loading took/ },
|
|
387
|
+
{ stage: 'initializing-engine', pattern: /Compiling a graph for dynamic shape/ },
|
|
388
|
+
{ stage: 'initializing-engine', pattern: /Available KV cache memory/ },
|
|
389
|
+
{ stage: 'initializing-engine', pattern: /Capturing CUDA graphs/ },
|
|
390
|
+
];
|
|
391
|
+
export const vllmAdapter = {
|
|
392
|
+
id: 'vllm',
|
|
393
|
+
contractVersion: MANAGED_TEXT_ADAPTER_CONTRACT_VERSION,
|
|
394
|
+
readiness: { path: '/health', expectedStatus: 200 },
|
|
395
|
+
routes: VLLM_ROUTES,
|
|
396
|
+
rewritableRoutes: VLLM_REWRITABLE_ROUTES,
|
|
397
|
+
stageMarkers: STAGE_MARKERS,
|
|
398
|
+
validateSettings: (raw) => validateVllmSettings((raw ?? {})),
|
|
399
|
+
buildLaunch: buildVllmLaunch,
|
|
400
|
+
readinessTimeoutMs: vllmReadinessTimeoutMs,
|
|
401
|
+
classifyExit: classifyVllmExit,
|
|
402
|
+
capabilities: vllmCapabilities,
|
|
403
|
+
rewriteRequestBody: vllmRewriteRequestBody,
|
|
404
|
+
rewriteResponseFor: vllmRewriteResponseFor,
|
|
405
|
+
mapErrorResponse: (_route, status, body) => mapVllmContextLengthError(status, body),
|
|
406
|
+
// Everything vLLM is started with — the output cap too, its default for a request that names none;
|
|
407
|
+
// only the load timeout is a load's alone.
|
|
408
|
+
restartKey: (settings) => [
|
|
409
|
+
settings.context_length,
|
|
410
|
+
settings.max_output_tokens,
|
|
411
|
+
settings.max_num_seqs,
|
|
412
|
+
settings.kv_cache_memory_gib,
|
|
413
|
+
settings.gpu_memory_utilization,
|
|
414
|
+
settings.cuda_graphs,
|
|
415
|
+
settings.kv_cache_dtype,
|
|
416
|
+
settings.max_num_batched_tokens,
|
|
417
|
+
settings.enable_prefix_caching,
|
|
418
|
+
settings.cpu_offload_gb,
|
|
419
|
+
settings.dtype,
|
|
420
|
+
settings.seed,
|
|
421
|
+
settings.async_scheduling,
|
|
422
|
+
JSON.stringify(settings.generation),
|
|
423
|
+
],
|
|
424
|
+
};
|
|
425
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/runtime/vllm/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ManagedEngineSpec } from '../managed-engines/spec.js';
|
|
2
|
+
import type { ManagedTextCapabilities } from '../managed-text/index.js';
|
|
3
|
+
import type { SessionRoutePolicy } from '../shared/index.js';
|
|
4
|
+
import { type VllmSettings } from './settings.js';
|
|
5
|
+
export declare const VLLM_ENGINE_ID = "vllm";
|
|
6
|
+
/**
|
|
7
|
+
* What the public server (`:1337`) must know about a `vllm` session to route it honestly: only the
|
|
8
|
+
* routes the adapter declares, tool calls and JSON output only as the session can, and vLLM's context
|
|
9
|
+
* overflow answered as `context_length_exceeded`. `null` capabilities (a session the core did not
|
|
10
|
+
* start) keep the routes and the mapping and leave tools and JSON output to the engine.
|
|
11
|
+
*/
|
|
12
|
+
export declare function vllmRoutePolicy(capabilities: ManagedTextCapabilities | null, limits?: {
|
|
13
|
+
contextLength: number;
|
|
14
|
+
maxOutputTokens: number;
|
|
15
|
+
} | null): SessionRoutePolicy;
|
|
16
|
+
export declare const VLLM_ENGINE: ManagedEngineSpec<VllmSettings>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vLLM as a managed engine (change `add-vllm-runtime`, task 3.4, design D3): its adapter, settings,
|
|
3
|
+
* memory rule and launch plan, route policy, and its descriptor in conf (`runtimes/vllm.json`, read
|
|
4
|
+
* only once conf main publishes it — until then the provider is unsupported, design D15).
|
|
5
|
+
*/
|
|
6
|
+
import { defaultDescriptorUrl } from '../environment/index.js';
|
|
7
|
+
import { VLLM_ROUTES, mapVllmContextLengthError, vllmAdapter } from './adapter.js';
|
|
8
|
+
import { vllmCheckEngine, vllmLaunchPlan } from './memory.js';
|
|
9
|
+
import { vllmSettings } from './settings.js';
|
|
10
|
+
export const VLLM_ENGINE_ID = 'vllm';
|
|
11
|
+
/**
|
|
12
|
+
* What the public server (`:1337`) must know about a `vllm` session to route it honestly: only the
|
|
13
|
+
* routes the adapter declares, tool calls and JSON output only as the session can, and vLLM's context
|
|
14
|
+
* overflow answered as `context_length_exceeded`. `null` capabilities (a session the core did not
|
|
15
|
+
* start) keep the routes and the mapping and leave tools and JSON output to the engine.
|
|
16
|
+
*/
|
|
17
|
+
export function vllmRoutePolicy(capabilities, limits = null) {
|
|
18
|
+
return {
|
|
19
|
+
routes: VLLM_ROUTES,
|
|
20
|
+
tools: capabilities?.tools ?? true,
|
|
21
|
+
structuredOutput: capabilities?.structured_output ?? true,
|
|
22
|
+
mapError: mapVllmContextLengthError,
|
|
23
|
+
...(limits === null ? {} : limits),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export const VLLM_ENGINE = {
|
|
27
|
+
engine_id: VLLM_ENGINE_ID,
|
|
28
|
+
provider: VLLM_ENGINE_ID,
|
|
29
|
+
label: 'vLLM',
|
|
30
|
+
descriptor: { engine_id: VLLM_ENGINE_ID, label: 'vLLM', url: defaultDescriptorUrl(VLLM_ENGINE_ID) },
|
|
31
|
+
adapter: vllmAdapter,
|
|
32
|
+
settings: vllmSettings,
|
|
33
|
+
check: vllmCheckEngine,
|
|
34
|
+
launchPlan: vllmLaunchPlan,
|
|
35
|
+
routePolicy: vllmRoutePolicy,
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/runtime/vllm/engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAI9D,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAA;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,YAA4C,EAC5C,SAAoE,IAAI;IAExE,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI;QAClC,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,IAAI,IAAI;QACzD,QAAQ,EAAE,yBAAyB;QACnC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;KACnC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,cAAc,CAAC,EAAE;IACnG,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;IACtB,KAAK,EAAE,eAAe;IACtB,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,eAAe;CAC7B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `vllm` provider (change `add-vllm-runtime`): its settings (`settings.ts`), the
|
|
3
|
+
* `ManagedTextAdapter` for `vllm serve` (`adapter.ts`), its memory model (`memory.ts`) and its spec in
|
|
4
|
+
* the managed engine registry (`engine.ts`).
|
|
5
|
+
*
|
|
6
|
+
* Public API of this module is exported from this file only.
|
|
7
|
+
*/
|
|
8
|
+
export * from './settings.js';
|
|
9
|
+
export * from './adapter.js';
|
|
10
|
+
export * from './memory.js';
|
|
11
|
+
export * from './engine.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `vllm` provider (change `add-vllm-runtime`): its settings (`settings.ts`), the
|
|
3
|
+
* `ManagedTextAdapter` for `vllm serve` (`adapter.ts`), its memory model (`memory.ts`) and its spec in
|
|
4
|
+
* the managed engine registry (`engine.ts`).
|
|
5
|
+
*
|
|
6
|
+
* Public API of this module is exported from this file only.
|
|
7
|
+
*/
|
|
8
|
+
export * from './settings.js';
|
|
9
|
+
export * from './adapter.js';
|
|
10
|
+
export * from './memory.js';
|
|
11
|
+
export * from './engine.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/vllm/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vLLM's memory, decided by core (change `add-vllm-runtime`, task 3.3, design D9; spec `vllm-runtime`,
|
|
3
|
+
* "Память vLLM задаёт core"). vLLM takes a share of the card's *total* memory (`--gpu-memory-
|
|
4
|
+
* utilization`, 0.92 by default) and, before it starts, refuses to run when the card's free memory —
|
|
5
|
+
* measured after its own CUDA context exists — is below that share; so on any desktop whose card holds
|
|
6
|
+
* a display and a browser, its default fails at start. Core instead:
|
|
7
|
+
*
|
|
8
|
+
* - gives vLLM (unless the memory share setting fixes it) the share of the card that is free right
|
|
9
|
+
* before the container is created, less a margin larger than vLLM's own CUDA context: `min(0.95, (free − 1.5 GiB) / total)` (on a card with
|
|
10
|
+
* the host's memory, never more than half of it). Within that share vLLM places the weights and
|
|
11
|
+
* activations and gives the rest to the KV cache, sized by vLLM itself — it knows every model's KV
|
|
12
|
+
* shape, hybrid ones (Qwen3.5's linear attention) included. Core passes `--kv-cache-memory-bytes`
|
|
13
|
+
* only when the KV cache size setting fixes it. (Core sized the KV cache in bytes at first, from the
|
|
14
|
+
* attention layers only; for Qwen3.5 that was a third of what vLLM needs, and every load failed —
|
|
15
|
+
* Windows acceptance, 2026-10-06. The 1.5 GiB margin comes from the same run: the context took 0.87
|
|
16
|
+
* GiB under WSL on an RTX 4070 Laptop, more than the first 512 MiB.)
|
|
17
|
+
* - checks, before any container, that the weights, an estimate of the KV cache (context × concurrent
|
|
18
|
+
* requests × the model's per-token KV bytes over its attention layers, or the KV cache size setting)
|
|
19
|
+
* and vLLM's own overhead fit the free memory — the same rule the compatibility check
|
|
20
|
+
* (`POST /models/vllm/check`) applies. It is an estimate for the verdict and the refusal before a
|
|
21
|
+
* container; it no longer sizes anything vLLM runs with.
|
|
22
|
+
*
|
|
23
|
+
* The overhead (~2 GiB: CUDA context, activations, sampler, graphs) and the margins are first
|
|
24
|
+
* estimates; the live run of task 6.1 records the numbers (`summary.json`).
|
|
25
|
+
*/
|
|
26
|
+
import type { GpuFacts } from '../../contracts/index.js';
|
|
27
|
+
import { type CheckpointMemoryInputs, type HostMemory, type JsonObject, type KvReserveBasis, type ManagedCheckEngine, type MemoryNeed } from '../managed-models/index.js';
|
|
28
|
+
import type { VllmLaunchPlan } from './adapter.js';
|
|
29
|
+
import type { VllmSettings } from './settings.js';
|
|
30
|
+
/** What vLLM holds beyond weights and KV cache: CUDA context, activations, sampler, graphs. */
|
|
31
|
+
export declare const VLLM_ENGINE_OVERHEAD_BYTES: number;
|
|
32
|
+
/** Counted as needed in the memory check: what other processes may still take meanwhile. */
|
|
33
|
+
export declare const VLLM_FREE_MEMORY_MARGIN_BYTES: number;
|
|
34
|
+
/**
|
|
35
|
+
* Left out of the share vLLM is given: more than vLLM's own CUDA context, which already holds memory
|
|
36
|
+
* when vLLM checks the share at start (0.87 GiB under WSL on an RTX 4070 Laptop, 2026-10-06).
|
|
37
|
+
*/
|
|
38
|
+
export declare const VLLM_START_CHECK_MARGIN_BYTES: number;
|
|
39
|
+
/** The highest share of a card vLLM is ever given. */
|
|
40
|
+
export declare const VLLM_MAX_GPU_MEMORY_UTILIZATION = 0.95;
|
|
41
|
+
/** On a card with the host's memory: contexts the KV cache holds, as for TensorRT-LLM (design D9). */
|
|
42
|
+
export declare const VLLM_UNIFIED_KV_CONTEXTS = 2;
|
|
43
|
+
/** The tokens the KV cache estimate covers: context × requests (two contexts on unified memory). */
|
|
44
|
+
export declare function vllmKvTokens(settings: VllmSettings, unifiedMemory: boolean): number;
|
|
45
|
+
/**
|
|
46
|
+
* The KV cache the memory check counts: the KV cache size setting when set, else an estimate from the
|
|
47
|
+
* model's attention layers — and whether the model's shape sized it. vLLM sizes its own KV cache
|
|
48
|
+
* unless the setting fixes it, so this only feeds the check's verdict.
|
|
49
|
+
*/
|
|
50
|
+
export declare function vllmKvCacheBytes(checkpoint: {
|
|
51
|
+
configJson: JsonObject;
|
|
52
|
+
hfQuantConfigJson: JsonObject | null;
|
|
53
|
+
weightBytesTotal?: number;
|
|
54
|
+
}, settings: VllmSettings, gpu: GpuFacts, unifiedMemory: boolean): {
|
|
55
|
+
bytes: number;
|
|
56
|
+
basis: KvReserveBasis;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* vLLM's memory rule on `gpu`: weights on the card + KV cache in bytes + its own overhead (CUDA context
|
|
60
|
+
* included) + a margin for what other processes may take meanwhile; on a card with the host's memory,
|
|
61
|
+
* whatever of `MemAvailable` lies beyond half the host's memory counts as needed too.
|
|
62
|
+
*/
|
|
63
|
+
export declare function vllmMemoryNeed(gpu: GpuFacts, checkpoint: CheckpointMemoryInputs, settings: VllmSettings, host: HostMemory): MemoryNeed;
|
|
64
|
+
/** `--gpu-memory-utilization` from the card as it stands now (see the file banner). */
|
|
65
|
+
export declare function vllmGpuMemoryUtilization(gpu: GpuFacts, host: HostMemory): number;
|
|
66
|
+
/** The launch plan `beforeCreate` hands the adapter, from the card re-probed right before the container. */
|
|
67
|
+
export declare function vllmLaunchPlan(settings: VllmSettings, checkpoint: CheckpointMemoryInputs, gpu: GpuFacts, host: HostMemory): VllmLaunchPlan;
|
|
68
|
+
/** The check skeleton's hooks for vLLM: its memory rule, and no checkpoint quirks of its own. */
|
|
69
|
+
export declare function vllmCheckEngine(settings: VllmSettings): ManagedCheckEngine;
|