@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 @@
|
|
|
1
|
+
{"version":3,"file":"linux-plan.js","sourceRoot":"","sources":["../../../src/runtime/environment/linux-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a Linux machine can already do, read without changing any of it.
|
|
3
|
+
*
|
|
4
|
+
* The answer this produces decides whether Atomic Chat asks for a password at all. A machine that
|
|
5
|
+
* already runs containers on its GPU — which describes most people who would want this engine — is
|
|
6
|
+
* adopted exactly as it is: no packages, no daemon restart, no prompt. Everything else is a list of
|
|
7
|
+
* what would have to be added, shown before the system asks for authorization. Turning these facts
|
|
8
|
+
* into that verdict is `assessLinux` in `./linux-plan.js`; this file only reads the machine.
|
|
9
|
+
*
|
|
10
|
+
* Nothing here runs a container or writes a file. The one check that would — starting a container
|
|
11
|
+
* with a GPU attached — pulls an image, so it belongs to provisioning and is reported as `not-run`
|
|
12
|
+
* until somebody has run it.
|
|
13
|
+
*
|
|
14
|
+
* A fact that could not be read is not a fact. Every probe that fails lands in `unknown`, and an
|
|
15
|
+
* unknown prerequisite blocks the setup instead of being assumed present: guessing wrong here means
|
|
16
|
+
* asking for a password to install something that is already there, or claiming a machine is ready
|
|
17
|
+
* and failing halfway through a sixteen-gigabyte download.
|
|
18
|
+
*/
|
|
19
|
+
import type { GpuFacts, LinuxDockerInstallMethod, LinuxPackageFamily } from '../../contracts/index.js';
|
|
20
|
+
import { type LinuxRoute } from './linux-docker-network.js';
|
|
21
|
+
export interface CommandOutput {
|
|
22
|
+
/** Null when the binary is not on the machine at all. */
|
|
23
|
+
code: number | null;
|
|
24
|
+
stdout: string;
|
|
25
|
+
stderr: string;
|
|
26
|
+
}
|
|
27
|
+
export interface LinuxProbeDeps {
|
|
28
|
+
/**
|
|
29
|
+
* `env`, when given, is an *overlay* on the environment this call would otherwise inherit — never
|
|
30
|
+
* a full replacement. Every other inherited variable (`PATH`, locale, ...) stays; a key mapped to
|
|
31
|
+
* a string sets it, a key mapped to `undefined` strips it. Used to keep a stray `DOCKER_HOST`/
|
|
32
|
+
* `DOCKER_CONTEXT`/`DOCKER_TLS_VERIFY`/`DOCKER_CERT_PATH` from steering the forced system-socket
|
|
33
|
+
* `docker info` call anywhere else, without discarding the rest of the environment the command
|
|
34
|
+
* would normally need (round 2, item 10 — the earlier wording here said "replaces", which is not
|
|
35
|
+
* what a caller should implement: `hostExec` in `host-exec.ts` merges this onto `process.env`, or
|
|
36
|
+
* onto its own configured base environment, rather than substituting it wholesale).
|
|
37
|
+
*/
|
|
38
|
+
exec: (command: string, args: string[], env?: Record<string, string | undefined>) => Promise<CommandOutput>;
|
|
39
|
+
/**
|
|
40
|
+
* The file's text. Contract (round 4, item D): resolve `null` **only** when the file does not
|
|
41
|
+
* exist (`ENOENT`); **reject** on every other failure (`EACCES`, `EISDIR`, `EIO`, ...). This probe
|
|
42
|
+
* relies on the difference for `/etc/docker/daemon.json`: `null` reads as "nothing configured
|
|
43
|
+
* yet", a rejection as "exists but unreadable", which blocks rather than planning a runtime change
|
|
44
|
+
* over a file nobody could read. An implementation that maps every error to `null` silently turns
|
|
45
|
+
* a locked-down file into "not configured". This module ships no default implementation; the
|
|
46
|
+
* caller that wires `probeLinux` to the real filesystem owns this contract.
|
|
47
|
+
*/
|
|
48
|
+
readFile: (path: string) => Promise<string | null>;
|
|
49
|
+
/**
|
|
50
|
+
* For a socket, a directory, or a flag file such as `/run/ostree-booted`; never its contents.
|
|
51
|
+
* Resolves `false` only when the path is not there (`ENOENT`/`ENOTDIR`) and rejects on every other
|
|
52
|
+
* failure (`EACCES`, `EIO`, ...), the same contract as `readFile`: a check that could not run is an
|
|
53
|
+
* unread fact, not an absent path.
|
|
54
|
+
*/
|
|
55
|
+
pathExists: (path: string) => Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* Free space at one path, computed however the caller likes (`statfs`, a platform API, ...).
|
|
58
|
+
* Always called with a path this probe has already confirmed exists (`freeDiskBytes` itself does
|
|
59
|
+
* not need to walk up to find one) — see `nearestExistingAncestor` in `probeLinux`.
|
|
60
|
+
*/
|
|
61
|
+
freeDiskBytes: (path: string) => Promise<number | null>;
|
|
62
|
+
}
|
|
63
|
+
export interface LinuxProbeOptions {
|
|
64
|
+
/** The account core is running as. Used only to label a plan step, never to gate access (D2). */
|
|
65
|
+
user: string;
|
|
66
|
+
/** `$XDG_RUNTIME_DIR`, supplied by the caller — never read from `process.env` here. Null when unset. */
|
|
67
|
+
xdgRuntimeDir: string | null;
|
|
68
|
+
}
|
|
69
|
+
export interface LinuxDistribution {
|
|
70
|
+
id: string;
|
|
71
|
+
/** `VERSION_ID`, or `BUILD_ID` (Arch/Manjaro/EndeavourOS, Debian testing/sid) when there is no
|
|
72
|
+
* `VERSION_ID` at all, or `''` when the file has neither — which then matches no install recipe
|
|
73
|
+
* (item 1: a rolling-release host is never mistaken for one with no distribution at all). */
|
|
74
|
+
version_id: string;
|
|
75
|
+
/** `ID_LIKE`, space-separated, lowercase. Empty when the file has none. */
|
|
76
|
+
id_like: string[];
|
|
77
|
+
family: LinuxPackageFamily;
|
|
78
|
+
}
|
|
79
|
+
/** The account this probe ran as, from `id -nG` / `getent group docker` — diagnostic only. */
|
|
80
|
+
export interface DockerGroupFacts {
|
|
81
|
+
/**
|
|
82
|
+
* The account is listed in the `docker` group's members. `'unknown'` when `getent` itself could
|
|
83
|
+
* not answer *and* this session's own groups (`id -nG`) do not already show it either — a probe
|
|
84
|
+
* that cannot read `/etc/group` has not learned "not a member", so this must not be reported as a
|
|
85
|
+
* confident `false` (round 2, item 9). `getent`'s own exit `2` ("no such key": the `docker` group
|
|
86
|
+
* does not exist on this system at all) is different — that is a real, definitive answer, not a
|
|
87
|
+
* failure to read anything, so it reports `false` rather than `'unknown'` (round 3, ruling 7).
|
|
88
|
+
*/
|
|
89
|
+
configured: boolean | 'unknown';
|
|
90
|
+
/** ...and this login session already carries it (`id -nG`); a group change needs a fresh login. */
|
|
91
|
+
effective: boolean;
|
|
92
|
+
}
|
|
93
|
+
export interface DockerFacts {
|
|
94
|
+
cli: boolean;
|
|
95
|
+
daemon_reachable: boolean;
|
|
96
|
+
/** The daemon's own id, so a later check can tell it is still the same daemon. */
|
|
97
|
+
engine_identity: string | null;
|
|
98
|
+
version: string | null;
|
|
99
|
+
install_method: LinuxDockerInstallMethod | null;
|
|
100
|
+
/**
|
|
101
|
+
* The installed engine package's version (`dpkg-query`'s `${Version}`, `rpm -q`'s own
|
|
102
|
+
* name-version-release string, or `pacman -Q docker`), independent of whether the daemon can be
|
|
103
|
+
* reached. Diagnostic only since task 2.23 (it used to decide Docker's CDI-on-by-default). Null
|
|
104
|
+
* when no package database confirms a version (including for `docker-desktop`/`snap`/
|
|
105
|
+
* `podman-docker`/rootless, which this never looks at — only `docker-ce`/`docker.io`/`moby-engine`).
|
|
106
|
+
*/
|
|
107
|
+
engine_version: string | null;
|
|
108
|
+
/**
|
|
109
|
+
* The GPU can reach a container: `nvidia-ctk cdi list` names an `nvidia.com/gpu` device (task
|
|
110
|
+
* 2.23, F-5) — never a runtime named `nvidia` on its own. Only meaningful when `daemon_reachable`
|
|
111
|
+
* (it is `false` without an answer); `gpu_runtime_from_config` is the same signal read without
|
|
112
|
+
* the daemon.
|
|
113
|
+
*/
|
|
114
|
+
gpu_runtime: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* The same CDI evidence as `gpu_runtime`, independent of the daemon answering: `nvidia-ctk cdi
|
|
117
|
+
* list` reads the spec directories itself. What `effectiveGpuRuntime` uses when the daemon could
|
|
118
|
+
* not be reached, so a plan never skips the spec on a guess (item 3).
|
|
119
|
+
*/
|
|
120
|
+
gpu_runtime_from_config: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* A runtime named `nvidia` is registered: loaded by the daemon when it answered (`Runtimes`),
|
|
123
|
+
* otherwise `daemon.json`'s own `runtimes.nvidia`. Decides only whether the plan runs `nvidia-ctk
|
|
124
|
+
* runtime configure`; it never makes the GPU runtime ready by itself (F-5).
|
|
125
|
+
*/
|
|
126
|
+
nvidia_runtime: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* `/etc/docker/daemon.json` sets `bip` or `default-address-pools`, replacing Docker's own default
|
|
129
|
+
* address pools (F-4); `'unknown'` when the file exists but could not be read or parsed.
|
|
130
|
+
*/
|
|
131
|
+
address_pools_configured: boolean | 'unknown';
|
|
132
|
+
/**
|
|
133
|
+
* `/etc/docker/daemon.json` exists but this probe could not use it: reading it failed (`readFile`
|
|
134
|
+
* rejected — `EACCES` on a `0600` file, a directory at that path, ...) or its contents did not
|
|
135
|
+
* parse as JSON. `assessLinux` must not plan `nvidia-ctk runtime configure` in this state — it
|
|
136
|
+
* would be writing next to a file it cannot even read back — and blocks with an instruction to fix
|
|
137
|
+
* the file by hand instead (round 2 item 6; round 3 item 2; round 4 item C). Neither the runtime
|
|
138
|
+
* entry nor the CDI setting is assumed behind an unreadable file (round 4, item A).
|
|
139
|
+
*/
|
|
140
|
+
daemon_json_unreadable: boolean;
|
|
141
|
+
/** SELinux is enforcing for containers: mounts of our directories need the `:z` label (D15). */
|
|
142
|
+
selinux: boolean;
|
|
143
|
+
docker_root_dir: string | null;
|
|
144
|
+
containers_running: number;
|
|
145
|
+
/** `systemctl is-active docker`. `'unknown'` only when the check itself could not run. */
|
|
146
|
+
service_active: boolean | 'unknown';
|
|
147
|
+
/** `docker info`'s own `ServerErrors`, surfaced for diagnostics (item 17). */
|
|
148
|
+
server_errors: string[];
|
|
149
|
+
}
|
|
150
|
+
export interface LinuxFacts {
|
|
151
|
+
/** `uname -m`, `arm64` normalised to `aarch64`. Null when the command did not answer with `0`. */
|
|
152
|
+
architecture: string | null;
|
|
153
|
+
distribution: LinuxDistribution | null;
|
|
154
|
+
/** `/run/ostree-booted` exists: an rpm-ostree host (Silverblue, Kinoite, Bazzite, ...). */
|
|
155
|
+
immutable_os: boolean;
|
|
156
|
+
/**
|
|
157
|
+
* The host runs systemd: `/run/systemd/system` exists, the `sd_booted()` test. `false` on a
|
|
158
|
+
* container whose PID 1 is not an init system; null when the check itself failed, which is then
|
|
159
|
+
* the unread fact `init-system` in `unknown`.
|
|
160
|
+
*/
|
|
161
|
+
systemd: boolean | null;
|
|
162
|
+
driver_version: string | null;
|
|
163
|
+
gpus: GpuFacts[];
|
|
164
|
+
docker: DockerFacts;
|
|
165
|
+
/** Diagnostic only — never gates readiness (spec: access is `docker info` answering, not group
|
|
166
|
+
* membership). 2.6 reads this to tell "daemon active, this session just needs to relogin" apart
|
|
167
|
+
* from "the daemon is not reachable at all" (item 2). */
|
|
168
|
+
docker_group: DockerGroupFacts;
|
|
169
|
+
/**
|
|
170
|
+
* The full `nvidia-container-toolkit` package is installed, by the distribution's package database
|
|
171
|
+
* (F-5) — `nvidia-container-toolkit-base` alone does not count, although it answers `nvidia-ctk
|
|
172
|
+
* --version` too. On a family without a known package database, the CLI answering is the signal.
|
|
173
|
+
*/
|
|
174
|
+
toolkit_installed: boolean;
|
|
175
|
+
/**
|
|
176
|
+
* `/proc/net/route` (the main IPv4 table Docker checks its pools against), every route but the
|
|
177
|
+
* default one — destination in CIDR form and interface; null when the table could not be read
|
|
178
|
+
* (F-4). Never blocks.
|
|
179
|
+
*/
|
|
180
|
+
routes: LinuxRoute[] | null;
|
|
181
|
+
free_disk_bytes: number | null;
|
|
182
|
+
/**
|
|
183
|
+
* The path `free_disk_bytes` is for: `docker.docker_root_dir` when `docker info` answered,
|
|
184
|
+
* otherwise `/var/lib/docker`, Docker's default. Always the path the image would land in, never
|
|
185
|
+
* the nearest existing ancestor the space was actually read at on a clean host (task 2.22,
|
|
186
|
+
* R-core-6). Set even when the read failed; `free_disk_bytes` is null then.
|
|
187
|
+
*/
|
|
188
|
+
free_disk_path: string;
|
|
189
|
+
/** Named checks whose answer could not be read. Each one blocks, none is assumed. */
|
|
190
|
+
unknown: string[];
|
|
191
|
+
}
|
|
192
|
+
/** `/etc/os-release` is `KEY=value`, values optionally quoted. */
|
|
193
|
+
export declare function parseOsRelease(text: string | null): LinuxDistribution | null;
|
|
194
|
+
/** `uname -m`: normalise the one alias (`arm64`, common outside Linux) to the Linux spelling. */
|
|
195
|
+
export declare function normalizeArchitecture(raw: string): string;
|
|
196
|
+
/**
|
|
197
|
+
* `nvidia-smi --query-gpu=uuid,name,compute_cap,memory.total,memory.free,driver_version
|
|
198
|
+
* --format=csv,noheader,nounits`: one line per device, memory in MiB.
|
|
199
|
+
*
|
|
200
|
+
* A unified-memory card (GB10/DGX Spark) reports `[N/A]` for both memory columns instead of a
|
|
201
|
+
* number (captured on a DGX Spark-class host, driver 595.71.05), so those fields come out `null`
|
|
202
|
+
* rather than a wrong number — the model-compatibility check reads that as "compare against host
|
|
203
|
+
* memory instead" (design D13). A header line (`uuid, name, ...`, from a query without `noheader`)
|
|
204
|
+
* is not a card.
|
|
205
|
+
*/
|
|
206
|
+
export declare function parseNvidiaSmi(output: CommandOutput | null): {
|
|
207
|
+
driver_version: string | null;
|
|
208
|
+
gpus: GpuFacts[];
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Parses `docker` from `id -nG` (this session's groups) and `getent group docker` (its members).
|
|
212
|
+
*
|
|
213
|
+
* `effective` (this session's own groups) is always a real answer on its own. For `configured`:
|
|
214
|
+
* `getent` exiting `2` ("no such key" — the `docker` group does not exist on this system at all) is
|
|
215
|
+
* itself a real, definitive answer, so that reads as `false`, not `'unknown'` (round 3, ruling 7).
|
|
216
|
+
* Any other failure (a different exit code, or the binary not being on the machine) proves nothing
|
|
217
|
+
* either way, so it falls back to `'unknown'` unless `effective` already confirmed membership on its
|
|
218
|
+
* own — this session already showing `docker` in `id -nG` needs no corroboration from `getent`
|
|
219
|
+
* (round 2, item 9).
|
|
220
|
+
*/
|
|
221
|
+
export declare function parseDockerGroup(sessionGroups: CommandOutput | null, groupEntry: CommandOutput | null, user: string): DockerGroupFacts;
|
|
222
|
+
/**
|
|
223
|
+
* `systemctl is-active docker`: exits `0` and prints `active` only when the unit is really up.
|
|
224
|
+
*
|
|
225
|
+
* Known gap, documented rather than closed here (round 2 finding, "socket-activation note"): a host
|
|
226
|
+
* where `docker.socket` is active but `docker.service` itself is only started on first connection
|
|
227
|
+
* (`systemctl is-active docker` answering `inactive` right up until something dials the socket)
|
|
228
|
+
* would read as not active here, even though a real connection would in fact start it. Closing this
|
|
229
|
+
* needs a second `systemctl is-active docker.socket` call and a decision about how it interacts with
|
|
230
|
+
* every branch that reads `service_active` (`assessLinux`'s access-only/relogin path and
|
|
231
|
+
* `buildInstallPlan`'s `enable-docker-service`/`restart-docker` steps) — left for task 2.6 to decide
|
|
232
|
+
* against the actual wiring rather than guessed at here.
|
|
233
|
+
*/
|
|
234
|
+
export declare function parseServiceActive(output: CommandOutput | null): boolean | 'unknown';
|
|
235
|
+
/**
|
|
236
|
+
* Walks a path up to the nearest existing ancestor (`/var/lib/docker` → `/var/lib` → `/var` → `/`),
|
|
237
|
+
* so a free-space check on a not-yet-installed `DockerRootDir` lands somewhere real instead of
|
|
238
|
+
* failing outright (item 7: a clean machine has no `/var/lib/docker` yet).
|
|
239
|
+
*/
|
|
240
|
+
export declare function nearestExistingAncestor(pathExists: LinuxProbeDeps['pathExists'], path: string): Promise<string>;
|
|
241
|
+
/**
|
|
242
|
+
* Read the machine. Every command here is read-only; none of them installs, starts, enables or
|
|
243
|
+
* pulls anything.
|
|
244
|
+
*/
|
|
245
|
+
export declare function probeLinux(deps: LinuxProbeDeps, options: LinuxProbeOptions): Promise<LinuxFacts>;
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a Linux machine can already do, read without changing any of it.
|
|
3
|
+
*
|
|
4
|
+
* The answer this produces decides whether Atomic Chat asks for a password at all. A machine that
|
|
5
|
+
* already runs containers on its GPU — which describes most people who would want this engine — is
|
|
6
|
+
* adopted exactly as it is: no packages, no daemon restart, no prompt. Everything else is a list of
|
|
7
|
+
* what would have to be added, shown before the system asks for authorization. Turning these facts
|
|
8
|
+
* into that verdict is `assessLinux` in `./linux-plan.js`; this file only reads the machine.
|
|
9
|
+
*
|
|
10
|
+
* Nothing here runs a container or writes a file. The one check that would — starting a container
|
|
11
|
+
* with a GPU attached — pulls an image, so it belongs to provisioning and is reported as `not-run`
|
|
12
|
+
* until somebody has run it.
|
|
13
|
+
*
|
|
14
|
+
* A fact that could not be read is not a fact. Every probe that fails lands in `unknown`, and an
|
|
15
|
+
* unknown prerequisite blocks the setup instead of being assumed present: guessing wrong here means
|
|
16
|
+
* asking for a password to install something that is already there, or claiming a machine is ready
|
|
17
|
+
* and failing halfway through a sixteen-gigabyte download.
|
|
18
|
+
*/
|
|
19
|
+
import { cdiListsNvidiaGpu, daemonJsonNvidiaRuntimeEvidence, detectDockerInstallMethod, detectEngineVersion, fullToolkitInstalled, PACMAN_PACKAGE_CANDIDATES, parseDockerInfo, TOOLKIT_PACKAGE, } from './linux-docker-facts.js';
|
|
20
|
+
import { daemonJsonSetsAddressPools, parseProcNetRoute } from './linux-docker-network.js';
|
|
21
|
+
/** `/etc/os-release` is `KEY=value`, values optionally quoted. */
|
|
22
|
+
export function parseOsRelease(text) {
|
|
23
|
+
if (text === null)
|
|
24
|
+
return null;
|
|
25
|
+
const fields = new Map();
|
|
26
|
+
for (const line of text.split('\n')) {
|
|
27
|
+
const match = /^([A-Z_]+)=(.*)$/.exec(line.trim());
|
|
28
|
+
if (match === null)
|
|
29
|
+
continue;
|
|
30
|
+
const value = match[2]
|
|
31
|
+
.trim()
|
|
32
|
+
.replace(/^"(.*)"$/, '$1')
|
|
33
|
+
.replace(/^'(.*)'$/, '$1');
|
|
34
|
+
fields.set(match[1], value);
|
|
35
|
+
}
|
|
36
|
+
const id = fields.get('ID');
|
|
37
|
+
if (id === undefined || id === '')
|
|
38
|
+
return null;
|
|
39
|
+
// Arch, Manjaro and EndeavourOS ship no VERSION_ID at all (rolling release); Debian testing/sid
|
|
40
|
+
// has none either. BUILD_ID is Arch's nearest equivalent; when even that is absent, '' matches no
|
|
41
|
+
// install recipe (item 1) rather than making the whole distribution look unread.
|
|
42
|
+
const versionId = fields.get('VERSION_ID') ?? fields.get('BUILD_ID') ?? '';
|
|
43
|
+
const idLike = (fields.get('ID_LIKE') ?? '')
|
|
44
|
+
.split(/\s+/)
|
|
45
|
+
.map((entry) => entry.toLowerCase())
|
|
46
|
+
.filter(Boolean);
|
|
47
|
+
return {
|
|
48
|
+
id: id.toLowerCase(),
|
|
49
|
+
version_id: versionId,
|
|
50
|
+
id_like: idLike,
|
|
51
|
+
family: packageFamilyFor(id.toLowerCase(), idLike),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const APT_FAMILY = new Set(['debian', 'ubuntu']);
|
|
55
|
+
const DNF_FAMILY = new Set(['fedora', 'rhel', 'centos', 'rocky', 'almalinux']);
|
|
56
|
+
const PACMAN_FAMILY = new Set(['arch', 'manjaro', 'endeavouros']);
|
|
57
|
+
/** `ID` first, `ID_LIKE` as a fallback for a derivative distribution (e.g. Linux Mint, Nobara). */
|
|
58
|
+
function packageFamilyFor(id, idLike) {
|
|
59
|
+
if (APT_FAMILY.has(id) || idLike.some((entry) => APT_FAMILY.has(entry)))
|
|
60
|
+
return 'apt';
|
|
61
|
+
if (DNF_FAMILY.has(id) || idLike.some((entry) => DNF_FAMILY.has(entry)))
|
|
62
|
+
return 'dnf';
|
|
63
|
+
if (PACMAN_FAMILY.has(id) || idLike.some((entry) => PACMAN_FAMILY.has(entry)))
|
|
64
|
+
return 'pacman';
|
|
65
|
+
return 'other';
|
|
66
|
+
}
|
|
67
|
+
/** `uname -m`: normalise the one alias (`arm64`, common outside Linux) to the Linux spelling. */
|
|
68
|
+
export function normalizeArchitecture(raw) {
|
|
69
|
+
const trimmed = raw.trim();
|
|
70
|
+
return trimmed === 'arm64' ? 'aarch64' : trimmed;
|
|
71
|
+
}
|
|
72
|
+
const MIB = 1024 * 1024;
|
|
73
|
+
/**
|
|
74
|
+
* One memory cell in MiB, as bytes: a plain number (`nounits`) or one followed by ` MiB` (a query
|
|
75
|
+
* without `nounits`). Anything else — `[N/A]`/`N/A` on a unified-memory card, `[Not Supported]`, an
|
|
76
|
+
* empty cell — is `null`, never `0`: `Number('')` is `0`, and a zero read as a size would refuse
|
|
77
|
+
* every model for "no memory" instead of taking the unified-memory branch (design D13), while a
|
|
78
|
+
* `NaN` from `Number('32607 MiB')` would turn a discrete card into a unified-memory one.
|
|
79
|
+
*/
|
|
80
|
+
function mibCellBytes(cell) {
|
|
81
|
+
const match = /^(\d+(?:\.\d+)?)(?:\s*MiB)?$/.exec(cell);
|
|
82
|
+
return match === null ? null : Number(match[1]) * MIB;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* `nvidia-smi --query-gpu=uuid,name,compute_cap,memory.total,memory.free,driver_version
|
|
86
|
+
* --format=csv,noheader,nounits`: one line per device, memory in MiB.
|
|
87
|
+
*
|
|
88
|
+
* A unified-memory card (GB10/DGX Spark) reports `[N/A]` for both memory columns instead of a
|
|
89
|
+
* number (captured on a DGX Spark-class host, driver 595.71.05), so those fields come out `null`
|
|
90
|
+
* rather than a wrong number — the model-compatibility check reads that as "compare against host
|
|
91
|
+
* memory instead" (design D13). A header line (`uuid, name, ...`, from a query without `noheader`)
|
|
92
|
+
* is not a card.
|
|
93
|
+
*/
|
|
94
|
+
export function parseNvidiaSmi(output) {
|
|
95
|
+
if (output === null || output.code !== 0)
|
|
96
|
+
return { driver_version: null, gpus: [] };
|
|
97
|
+
const gpus = [];
|
|
98
|
+
let driver = null;
|
|
99
|
+
for (const line of output.stdout.split('\n')) {
|
|
100
|
+
const cells = line.split(',').map((cell) => cell.trim());
|
|
101
|
+
if (cells.length < 6 || cells[0] === '' || cells[0] === 'uuid')
|
|
102
|
+
continue;
|
|
103
|
+
driver = cells[5];
|
|
104
|
+
gpus.push({
|
|
105
|
+
gpu_id: cells[0],
|
|
106
|
+
name: cells[1],
|
|
107
|
+
compute_capability: cells[2],
|
|
108
|
+
total_vram_bytes: mibCellBytes(cells[3]),
|
|
109
|
+
free_vram_bytes: mibCellBytes(cells[4]),
|
|
110
|
+
driver_version: driver,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return { driver_version: driver, gpus };
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Parses `docker` from `id -nG` (this session's groups) and `getent group docker` (its members).
|
|
117
|
+
*
|
|
118
|
+
* `effective` (this session's own groups) is always a real answer on its own. For `configured`:
|
|
119
|
+
* `getent` exiting `2` ("no such key" — the `docker` group does not exist on this system at all) is
|
|
120
|
+
* itself a real, definitive answer, so that reads as `false`, not `'unknown'` (round 3, ruling 7).
|
|
121
|
+
* Any other failure (a different exit code, or the binary not being on the machine) proves nothing
|
|
122
|
+
* either way, so it falls back to `'unknown'` unless `effective` already confirmed membership on its
|
|
123
|
+
* own — this session already showing `docker` in `id -nG` needs no corroboration from `getent`
|
|
124
|
+
* (round 2, item 9).
|
|
125
|
+
*/
|
|
126
|
+
export function parseDockerGroup(sessionGroups, groupEntry, user) {
|
|
127
|
+
const effective = sessionGroups !== null && sessionGroups.code === 0 && sessionGroups.stdout.split(/\s+/).includes('docker');
|
|
128
|
+
if (groupEntry !== null && groupEntry.code === 2) {
|
|
129
|
+
return { configured: effective, effective };
|
|
130
|
+
}
|
|
131
|
+
if (groupEntry === null || groupEntry.code !== 0) {
|
|
132
|
+
return { configured: effective ? true : 'unknown', effective };
|
|
133
|
+
}
|
|
134
|
+
const members = (groupEntry.stdout.split(':')[3] ?? '').trim().split(',').filter(Boolean);
|
|
135
|
+
return { configured: effective || members.includes(user), effective };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* `systemctl is-active docker`: exits `0` and prints `active` only when the unit is really up.
|
|
139
|
+
*
|
|
140
|
+
* Known gap, documented rather than closed here (round 2 finding, "socket-activation note"): a host
|
|
141
|
+
* where `docker.socket` is active but `docker.service` itself is only started on first connection
|
|
142
|
+
* (`systemctl is-active docker` answering `inactive` right up until something dials the socket)
|
|
143
|
+
* would read as not active here, even though a real connection would in fact start it. Closing this
|
|
144
|
+
* needs a second `systemctl is-active docker.socket` call and a decision about how it interacts with
|
|
145
|
+
* every branch that reads `service_active` (`assessLinux`'s access-only/relogin path and
|
|
146
|
+
* `buildInstallPlan`'s `enable-docker-service`/`restart-docker` steps) — left for task 2.6 to decide
|
|
147
|
+
* against the actual wiring rather than guessed at here.
|
|
148
|
+
*/
|
|
149
|
+
export function parseServiceActive(output) {
|
|
150
|
+
if (output === null || output.code === null)
|
|
151
|
+
return 'unknown';
|
|
152
|
+
return output.code === 0 && output.stdout.trim() === 'active';
|
|
153
|
+
}
|
|
154
|
+
/** Where Docker Engine keeps images unless configured otherwise: the disk check's path before it answers. */
|
|
155
|
+
const DEFAULT_DOCKER_ROOT_DIR = '/var/lib/docker';
|
|
156
|
+
const DOCKER_SOCKET = 'unix:///var/run/docker.sock';
|
|
157
|
+
// The forced-socket query must never be steered by a leftover remote/TLS context (item 17).
|
|
158
|
+
const STRIP_DOCKER_ENV = {
|
|
159
|
+
DOCKER_HOST: undefined,
|
|
160
|
+
DOCKER_CONTEXT: undefined,
|
|
161
|
+
DOCKER_TLS_VERIFY: undefined,
|
|
162
|
+
DOCKER_CERT_PATH: undefined,
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* Walks a path up to the nearest existing ancestor (`/var/lib/docker` → `/var/lib` → `/var` → `/`),
|
|
166
|
+
* so a free-space check on a not-yet-installed `DockerRootDir` lands somewhere real instead of
|
|
167
|
+
* failing outright (item 7: a clean machine has no `/var/lib/docker` yet).
|
|
168
|
+
*/
|
|
169
|
+
export async function nearestExistingAncestor(pathExists, path) {
|
|
170
|
+
const segments = path.split('/').filter(Boolean);
|
|
171
|
+
for (let end = segments.length; end >= 0; end--) {
|
|
172
|
+
const candidate = `/${segments.slice(0, end).join('/')}`;
|
|
173
|
+
if (await pathExists(candidate).catch(() => false))
|
|
174
|
+
return candidate;
|
|
175
|
+
}
|
|
176
|
+
return '/';
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* `readFile` collapses "does not exist" (`ENOENT`) and every other failure (`EACCES` on a `0600`
|
|
180
|
+
* file, a directory where a file was expected, ...) into the same `null` when a caller blanket-
|
|
181
|
+
* catches it — which is correct for `/etc/os-release` (never expected to be permission-restricted)
|
|
182
|
+
* but wrong for `/etc/docker/daemon.json`, which a hardened host may deliberately lock down. This
|
|
183
|
+
* distinguishes them: `{ text: null, unreadable: false }` only for a `readFile` that itself resolved
|
|
184
|
+
* `null` (this repo's convention for "not there"); a `readFile` that *rejects* is a real read error,
|
|
185
|
+
* reported as `{ text: null, unreadable: true }` rather than silently folded into "not configured"
|
|
186
|
+
* (round 3, item 2).
|
|
187
|
+
*/
|
|
188
|
+
async function readDaemonJson(readFile) {
|
|
189
|
+
try {
|
|
190
|
+
return { text: await readFile('/etc/docker/daemon.json'), unreadable: false };
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return { text: null, unreadable: true };
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Read the machine. Every command here is read-only; none of them installs, starts, enables or
|
|
198
|
+
* pulls anything.
|
|
199
|
+
*/
|
|
200
|
+
export async function probeLinux(deps, options) {
|
|
201
|
+
const unknown = [];
|
|
202
|
+
const osRelease = await deps.readFile('/etc/os-release').catch(() => null);
|
|
203
|
+
const distribution = parseOsRelease(osRelease);
|
|
204
|
+
if (distribution === null)
|
|
205
|
+
unknown.push('distribution');
|
|
206
|
+
const [unameM, smi, dockerVersion, dockerInfo, ctk, cdiList, dpkgQuery, rpmQuery, pacmanQuery, snapList, immutableOs, systemd, sessionGroups, groupEntry, serviceActive, daemonJsonRead, toolkitQuery, routeTable,] = await Promise.all([
|
|
207
|
+
deps.exec('uname', ['-m']),
|
|
208
|
+
deps.exec('nvidia-smi', [
|
|
209
|
+
'--query-gpu=uuid,name,compute_cap,memory.total,memory.free,driver_version',
|
|
210
|
+
'--format=csv,noheader,nounits',
|
|
211
|
+
]),
|
|
212
|
+
deps.exec('docker', ['--version']),
|
|
213
|
+
// `-H` pins the query to the system socket as the current user, overriding both DOCKER_HOST
|
|
214
|
+
// and an active DOCKER_CONTEXT; the explicit env override also strips it and TLS settings from
|
|
215
|
+
// the child process rather than relying on the flag alone (spec: access is decided by calling
|
|
216
|
+
// the daemon, never by a user context or group membership).
|
|
217
|
+
deps.exec('docker', ['-H', DOCKER_SOCKET, 'info', '--format', '{{json .}}'], STRIP_DOCKER_ENV),
|
|
218
|
+
deps.exec('nvidia-ctk', ['--version']),
|
|
219
|
+
deps.exec('nvidia-ctk', ['cdi', 'list']),
|
|
220
|
+
// `${Version}` (round 3, ruling 5) feeds `detectEngineVersion`; install-method detection itself
|
|
221
|
+
// only ever reads the first two columns (`installedDpkgPackages`).
|
|
222
|
+
deps.exec('dpkg-query', [
|
|
223
|
+
'-W',
|
|
224
|
+
'-f',
|
|
225
|
+
'${db:Status-Abbrev} ${Package} ${Version}\n',
|
|
226
|
+
'docker-ce',
|
|
227
|
+
'docker.io',
|
|
228
|
+
'moby-engine',
|
|
229
|
+
'podman-docker',
|
|
230
|
+
'docker-desktop',
|
|
231
|
+
]),
|
|
232
|
+
deps.exec('rpm', ['-q', 'docker-ce', 'docker.io', 'moby-engine', 'podman-docker', 'docker-desktop']),
|
|
233
|
+
// Read-only query; Arch's own `docker` package is not one `dpkg-query`/`rpm -q` ever see, and
|
|
234
|
+
// this is also `engine_version`'s only source there (round 3, item 1/ruling 5). `docker-desktop`
|
|
235
|
+
// is Docker Desktop's package name on Arch (round 4, item E).
|
|
236
|
+
// Only on a pacman-family distribution: elsewhere a `pacman` on PATH can be something unrelated
|
|
237
|
+
// entirely (Debian's /usr/games/pacman), and there is no Arch package to ask about (round 5, item 3).
|
|
238
|
+
distribution?.family === 'pacman'
|
|
239
|
+
? deps.exec('pacman', ['-Q', ...PACMAN_PACKAGE_CANDIDATES])
|
|
240
|
+
: Promise.resolve(null),
|
|
241
|
+
deps.exec('snap', ['list', 'docker']),
|
|
242
|
+
deps.pathExists('/run/ostree-booted').catch(() => false),
|
|
243
|
+
deps.pathExists('/run/systemd/system').catch(() => null),
|
|
244
|
+
deps.exec('id', ['-nG']),
|
|
245
|
+
deps.exec('getent', ['group', 'docker']),
|
|
246
|
+
deps.exec('systemctl', ['is-active', 'docker']),
|
|
247
|
+
readDaemonJson(deps.readFile),
|
|
248
|
+
// The full toolkit, by its own package (F-5): `nvidia-ctk --version` answers for `-base` alone.
|
|
249
|
+
// One package name per query, so `-base` can never match it as a prefix.
|
|
250
|
+
distribution?.family === 'apt'
|
|
251
|
+
? deps.exec('dpkg-query', ['-W', '-f', '${db:Status-Abbrev} ${Package}\n', TOOLKIT_PACKAGE])
|
|
252
|
+
: distribution?.family === 'dnf'
|
|
253
|
+
? deps.exec('rpm', ['-q', TOOLKIT_PACKAGE])
|
|
254
|
+
: distribution?.family === 'pacman'
|
|
255
|
+
? deps.exec('pacman', ['-Q', TOOLKIT_PACKAGE])
|
|
256
|
+
: Promise.resolve(null),
|
|
257
|
+
deps.readFile('/proc/net/route').catch(() => null),
|
|
258
|
+
]);
|
|
259
|
+
if (unameM.code !== 0)
|
|
260
|
+
unknown.push('architecture');
|
|
261
|
+
if (systemd === null)
|
|
262
|
+
unknown.push('init-system');
|
|
263
|
+
const architecture = unameM.code === 0 ? normalizeArchitecture(unameM.stdout) : null;
|
|
264
|
+
const nvidia = parseNvidiaSmi(smi);
|
|
265
|
+
if (smi.code === null)
|
|
266
|
+
unknown.push('nvidia-driver');
|
|
267
|
+
const cli = dockerVersion.code === 0;
|
|
268
|
+
const info = parseDockerInfo(cli ? dockerInfo : null, cdiList);
|
|
269
|
+
const serviceActiveParsed = parseServiceActive(serviceActive);
|
|
270
|
+
const rootlessSocketPresent = options.xdgRuntimeDir !== null &&
|
|
271
|
+
(await deps.pathExists(`${options.xdgRuntimeDir}/docker.sock`).catch(() => false));
|
|
272
|
+
const installMethod = detectDockerInstallMethod(info, { dockerVersion, dpkgQuery, rpmQuery, pacmanQuery, snapList }, rootlessSocketPresent, serviceActiveParsed);
|
|
273
|
+
const engineVersion = detectEngineVersion(dpkgQuery, rpmQuery, pacmanQuery);
|
|
274
|
+
const daemonJsonEvidence = daemonJsonNvidiaRuntimeEvidence(daemonJsonRead);
|
|
275
|
+
// Before anything is installed there is no DockerRootDir yet; check the nearest ancestor that
|
|
276
|
+
// does exist instead of failing outright on a path that is not there yet (item 7).
|
|
277
|
+
const diskCheckTarget = info.docker_root_dir ?? DEFAULT_DOCKER_ROOT_DIR;
|
|
278
|
+
const diskCheckPath = await nearestExistingAncestor(deps.pathExists, diskCheckTarget);
|
|
279
|
+
const disk = await deps.freeDiskBytes(diskCheckPath).catch(() => null);
|
|
280
|
+
if (disk === null)
|
|
281
|
+
unknown.push('free-disk');
|
|
282
|
+
return {
|
|
283
|
+
architecture,
|
|
284
|
+
distribution,
|
|
285
|
+
immutable_os: immutableOs,
|
|
286
|
+
systemd,
|
|
287
|
+
driver_version: nvidia.driver_version,
|
|
288
|
+
gpus: nvidia.gpus,
|
|
289
|
+
docker: {
|
|
290
|
+
cli,
|
|
291
|
+
daemon_reachable: info.daemon_reachable,
|
|
292
|
+
engine_identity: info.engine_identity,
|
|
293
|
+
version: info.version,
|
|
294
|
+
install_method: installMethod,
|
|
295
|
+
engine_version: engineVersion,
|
|
296
|
+
gpu_runtime: info.gpu_runtime,
|
|
297
|
+
gpu_runtime_from_config: cdiListsNvidiaGpu(cdiList),
|
|
298
|
+
nvidia_runtime: info.daemon_reachable ? info.nvidia_runtime : daemonJsonEvidence === 'configured',
|
|
299
|
+
address_pools_configured: daemonJsonSetsAddressPools(daemonJsonRead),
|
|
300
|
+
daemon_json_unreadable: daemonJsonEvidence === 'unreadable',
|
|
301
|
+
selinux: info.selinux,
|
|
302
|
+
docker_root_dir: info.docker_root_dir,
|
|
303
|
+
containers_running: info.containers_running,
|
|
304
|
+
service_active: serviceActiveParsed,
|
|
305
|
+
server_errors: info.server_errors,
|
|
306
|
+
},
|
|
307
|
+
docker_group: parseDockerGroup(sessionGroups, groupEntry, options.user),
|
|
308
|
+
toolkit_installed: fullToolkitInstalled(distribution?.family ?? null, ctk, toolkitQuery),
|
|
309
|
+
routes: parseProcNetRoute(routeTable),
|
|
310
|
+
free_disk_bytes: disk,
|
|
311
|
+
free_disk_path: diskCheckTarget,
|
|
312
|
+
unknown,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
//# sourceMappingURL=linux-probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linux-probe.js","sourceRoot":"","sources":["../../../src/runtime/environment/linux-probe.ts"],"names":[],"mappings":"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"}
|