@atomic-chat/core 0.5.1 → 0.13.6
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 +46 -5
- package/dist/core/atomic-core.js +25 -0
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +523 -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 +38 -0
- package/dist/core/prism.js +43 -0
- package/dist/core/prism.js.map +1 -0
- package/dist/core/public-server.d.ts +7 -0
- package/dist/core/public-server.js +5 -2
- 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/tensorrt-llm.d.ts +169 -0
- package/dist/core/tensorrt-llm.js +428 -0
- package/dist/core/tensorrt-llm.js.map +1 -0
- package/dist/core/types.d.ts +43 -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 +71 -0
- package/dist/decision/process.js +142 -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 +7 -4
- package/dist/diffusion/args.js +31 -7
- package/dist/diffusion/args.js.map +1 -1
- package/dist/diffusion/compat.d.ts +1 -1
- package/dist/diffusion/compat.js +6 -2
- package/dist/diffusion/compat.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 +64 -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 +21 -1
- package/dist/diffusion/tracker.js +43 -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/validate.js +2 -2
- package/dist/diffusion/validate.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/diffusion/workflow.d.ts +8 -2
- package/dist/diffusion/workflow.js +13 -5
- package/dist/diffusion/workflow.js.map +1 -1
- package/dist/downloads/downloader.d.ts +22 -0
- package/dist/downloads/downloader.js +57 -2
- package/dist/downloads/downloader.js.map +1 -1
- package/dist/downloads/protocol.d.ts +3 -8
- package/dist/downloads/protocol.js.map +1 -1
- package/dist/downloads/segmented.d.ts +40 -0
- package/dist/downloads/segmented.js +170 -0
- package/dist/downloads/segmented.js.map +1 -0
- 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 +70 -0
- package/dist/embedding/process.js +140 -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 +28 -0
- package/dist/models/compatibility/inspect.js +90 -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 +62 -0
- package/dist/models/compatibility/service.js +138 -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 +57 -0
- package/dist/models/gguf/tensors.js +239 -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 +283 -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 +284 -0
- package/dist/runtime/managed-text/lifecycle.js +896 -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 +33 -0
- package/dist/runtime/managed-text/readiness.js +88 -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 +16 -0
- package/dist/runtime/shared/ports.js +42 -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 +247 -0
- package/dist/runtime/tensorrt-llm/adapter.js +1028 -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 +22 -0
- package/dist/runtime/tensorrt-llm/check.js.map +1 -0
- package/dist/runtime/tensorrt-llm/compatibility.d.ts +124 -0
- package/dist/runtime/tensorrt-llm/compatibility.js +213 -0
- package/dist/runtime/tensorrt-llm/compatibility.js.map +1 -0
- package/dist/runtime/tensorrt-llm/cuda-graphs.d.ts +32 -0
- package/dist/runtime/tensorrt-llm/cuda-graphs.js +33 -0
- package/dist/runtime/tensorrt-llm/cuda-graphs.js.map +1 -0
- package/dist/runtime/tensorrt-llm/delete.d.ts +15 -0
- package/dist/runtime/tensorrt-llm/delete.js +60 -0
- package/dist/runtime/tensorrt-llm/delete.js.map +1 -0
- package/dist/runtime/tensorrt-llm/engine.d.ts +3 -0
- package/dist/runtime/tensorrt-llm/engine.js +30 -0
- package/dist/runtime/tensorrt-llm/engine.js.map +1 -0
- package/dist/runtime/tensorrt-llm/guest-files.d.ts +8 -0
- package/dist/runtime/tensorrt-llm/guest-files.js +49 -0
- package/dist/runtime/tensorrt-llm/guest-files.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 +41 -0
- package/dist/runtime/tensorrt-llm/kv-cache.js +48 -0
- package/dist/runtime/tensorrt-llm/kv-cache.js.map +1 -0
- package/dist/runtime/tensorrt-llm/location.d.ts +20 -0
- package/dist/runtime/tensorrt-llm/location.js +48 -0
- package/dist/runtime/tensorrt-llm/location.js.map +1 -0
- package/dist/runtime/tensorrt-llm/model-dir.d.ts +38 -0
- package/dist/runtime/tensorrt-llm/model-dir.js +137 -0
- package/dist/runtime/tensorrt-llm/model-dir.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/quant-format.d.ts +65 -0
- package/dist/runtime/tensorrt-llm/quant-format.js +189 -0
- package/dist/runtime/tensorrt-llm/quant-format.js.map +1 -0
- package/dist/runtime/tensorrt-llm/registry.d.ts +26 -0
- package/dist/runtime/tensorrt-llm/registry.js +68 -0
- package/dist/runtime/tensorrt-llm/registry.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/runtime.d.ts +130 -0
- package/dist/runtime/tensorrt-llm/runtime.js +395 -0
- package/dist/runtime/tensorrt-llm/runtime.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 +16 -1
- 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 +172 -10
- 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 +18 -0
- package/dist/server/public/gates.js +41 -14
- package/dist/server/public/gates.js.map +1 -1
- package/dist/server/public/index.d.ts +6 -2
- package/dist/server/public/index.js +23 -7
- 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 +91 -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 +2 -2
- 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,428 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition of the `tensorrt-llm` provider for `create.ts` (task 2.14): offered only on Linux, on
|
|
3
|
+
* the managed-text lifecycle built over the core's one Docker executor and journal — the startup
|
|
4
|
+
* handle the managed environment (task 2.6) wires, reconciles and hands its setup and removal too,
|
|
5
|
+
* never a second pair — the desktop deployment, this scope's managed paths,
|
|
6
|
+
* `selinuxDataRoot = <data>`, and the public server's live trusted-hosts array.
|
|
7
|
+
*
|
|
8
|
+
* What it shares with the managed environment rather than duplicating: the installation records
|
|
9
|
+
* (`InstallationStore`, the one reader of that format), the Linux machine (`LinuxHost`, which is the
|
|
10
|
+
* `ATOMIC_MANAGED_TEST_HOST` stand-in machine in the e2e suite, so that hook is read in one place),
|
|
11
|
+
* and, the other way round, `unloadEngineSessions`: a removal of the engine holds its loads off and
|
|
12
|
+
* unloads its loaded model first, through `tensorrtLlmSessionUnloader` and the facade's own unload.
|
|
13
|
+
*
|
|
14
|
+
* `wireTensorrtLlmModelCheck` (task 2.16) composes `POST /models/tensorrt-llm/check`'s deps
|
|
15
|
+
* separately from the runtime above: it shares the installation records, the descriptor provider and
|
|
16
|
+
* `LinuxHost.probeDeps`, but deliberately never touches `containers`/Docker (`check.ts`'s own file
|
|
17
|
+
* banner explains why) and is offered even when the runtime itself would refuse every load.
|
|
18
|
+
*
|
|
19
|
+
* `tensorrtLlmModelDeleter` (task 2.24) is `DELETE /models/tensorrt-llm/:id`: the same hold-and-unload
|
|
20
|
+
* through the facade as the engine removal's unloader, for one model, then its files.
|
|
21
|
+
*/
|
|
22
|
+
import { AtomicCoreError } from '../contracts/index.js';
|
|
23
|
+
import { RECONCILE_BUDGET_MS, RECONCILE_CALL_TIMEOUT_MS, RECONCILE_STARTUP_STOP_TIMEOUT_SECONDS, createDockerExec, guestRealpath, reconcileExecutions, } from '../runtime/container/index.js';
|
|
24
|
+
import { guestProbeDeps, localhostForwardingError, parseWslConfig, TENSORRT_LLM_ENGINE_ID, } from '../runtime/environment/index.js';
|
|
25
|
+
import { ManagedTextAdapterRegistry, ManagedTextLifecycle, createDesktopManagedDeployment, createWslManagedDeployment, } from '../runtime/managed-text/index.js';
|
|
26
|
+
import { TensorrtLlmModelRegistry, TensorrtLlmRuntime, checkTensorrtLlmModel, containerPlatformFor, deleteTensorrtLlmModelFiles, guestModelFiles, guestModelsRoot, linuxModelLocation, probeTensorrtLlmGpus, probeTensorrtLlmGpusAndMemory, probeTensorrtLlmHost, readTensorrtLlmModel, resolveReadyInstallation, tensorrtLlmAdapter, windowsModelLocation, } from '../runtime/tensorrt-llm/index.js';
|
|
27
|
+
import { ensureGuestScope, guestScopePaths, WSL_LOCALHOST_MOUNT, } from '../runtime/wsl/index.js';
|
|
28
|
+
/** The recorded distribution and its transport; null before the import. */
|
|
29
|
+
async function windowsDistribution(context) {
|
|
30
|
+
const record = await context.records.read();
|
|
31
|
+
return record === null ? null : { record, transport: context.wsl.distribution(record.distribution.name) };
|
|
32
|
+
}
|
|
33
|
+
async function windowsGuest(context, layout) {
|
|
34
|
+
const record = await context.records.read();
|
|
35
|
+
if (record === null)
|
|
36
|
+
return null;
|
|
37
|
+
const name = record.distribution.name;
|
|
38
|
+
const key = await context.scopeKey();
|
|
39
|
+
return {
|
|
40
|
+
record,
|
|
41
|
+
transport: context.wsl.distribution(name),
|
|
42
|
+
key,
|
|
43
|
+
paths: guestScopePaths(layout.managed, name, key, context.mount),
|
|
44
|
+
modelsRoot: (context.mount ?? WSL_LOCALHOST_MOUNT).hostPath(name, guestModelsRoot(key)),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const notImported = () => new AtomicCoreError('MANAGED_ADAPTER_UNAVAILABLE', 'TensorRT-LLM runs in Atomic Chat’s WSL distribution, which is not set up on this computer yet.');
|
|
48
|
+
/** Windows on x64 only: no WSL GPU path for ARM (spec `tensorrt-llm-desktop`). */
|
|
49
|
+
const windowsX64 = (platform, arch, context) => platform === 'win32' && arch === 'x64' && context !== undefined;
|
|
50
|
+
/** The provider, or null where it is not offered: everywhere but Linux and Windows x64. */
|
|
51
|
+
export function wireTensorrtLlm(options) {
|
|
52
|
+
if (options.windows !== undefined && windowsX64(options.platform, options.arch, options.windows)) {
|
|
53
|
+
return wireWindowsTensorrtLlm(options, options.windows);
|
|
54
|
+
}
|
|
55
|
+
if (options.platform !== 'linux')
|
|
56
|
+
return null;
|
|
57
|
+
const adapters = new ManagedTextAdapterRegistry();
|
|
58
|
+
adapters.register(tensorrtLlmAdapter);
|
|
59
|
+
const deployment = createDesktopManagedDeployment();
|
|
60
|
+
/** The lifecycle and the executor it was built over: the load path's probe asks the same one. */
|
|
61
|
+
let built = null;
|
|
62
|
+
// Asked at every load, through the handle: a host with no docker CLI when core started gets one
|
|
63
|
+
// from the setup's privileged step, and the next load finds it (the handle wires it then).
|
|
64
|
+
const lifecycle = async () => {
|
|
65
|
+
if (built !== null)
|
|
66
|
+
return built.lifecycle;
|
|
67
|
+
const containers = await options.containers.resolve();
|
|
68
|
+
if (containers === null)
|
|
69
|
+
return null;
|
|
70
|
+
// Two loads that raced here built nothing twice: the first to resume assigns, the second reuses.
|
|
71
|
+
built ??= {
|
|
72
|
+
exec: containers.exec,
|
|
73
|
+
lifecycle: new ManagedTextLifecycle({
|
|
74
|
+
provider: 'tensorrt-llm',
|
|
75
|
+
adapters,
|
|
76
|
+
exec: containers.exec,
|
|
77
|
+
deployment,
|
|
78
|
+
journal: containers.journal,
|
|
79
|
+
paths: options.layout.managed,
|
|
80
|
+
instanceId: options.instanceId,
|
|
81
|
+
scope: options.scope,
|
|
82
|
+
allowedHosts: options.trustedHosts,
|
|
83
|
+
selinuxDataRoot: options.layout.root,
|
|
84
|
+
emit: options.emit,
|
|
85
|
+
log: options.log,
|
|
86
|
+
...(options.containerUser === null ? {} : { containerUser: options.containerUser }),
|
|
87
|
+
}),
|
|
88
|
+
};
|
|
89
|
+
return built.lifecycle;
|
|
90
|
+
};
|
|
91
|
+
const platform = containerPlatformFor(options.arch);
|
|
92
|
+
return new TensorrtLlmRuntime({
|
|
93
|
+
lifecycle,
|
|
94
|
+
readyInstallation: () => resolveReadyInstallation({
|
|
95
|
+
installations: options.installations,
|
|
96
|
+
descriptors: options.descriptors,
|
|
97
|
+
platform,
|
|
98
|
+
}),
|
|
99
|
+
// Probed fresh at every load, never read off the environment snapshot: that view is only as new
|
|
100
|
+
// as the last setup or removal probe (and empty after a restart), while a card can disappear
|
|
101
|
+
// between two loads (spec "Выбранная карта исчезла"). An unanswered `docker info` refuses the load.
|
|
102
|
+
// Through the lifecycle's own executor: `TensorrtLlmRuntime` asks for host facts only once the
|
|
103
|
+
// lifecycle resolved, so it is always there (final review T-288 removed a dead fallback).
|
|
104
|
+
hostFacts: () => probeTensorrtLlmHost({
|
|
105
|
+
exec: options.host.probeDeps.exec,
|
|
106
|
+
docker: built.exec,
|
|
107
|
+
nvidiaSmi: 'nvidia-smi',
|
|
108
|
+
readFile: options.host.probeDeps.readFile,
|
|
109
|
+
}),
|
|
110
|
+
model: (modelId) => readTensorrtLlmModel(options.layout.provider('tensorrt-llm').modelsDir, modelId),
|
|
111
|
+
settings: options.settings,
|
|
112
|
+
...(options.claimGpu ? { claimGpu: options.claimGpu } : {}),
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* The Windows provider (change `add-tensorrt-llm-windows`, tasks 2.6–2.8): the same lifecycle and
|
|
117
|
+
* runtime as Linux, over the WSL guest — the core's one executor (the guest's docker, from the handle),
|
|
118
|
+
* this scope's folder in the guest for heartbeats, caches and the watchdog, the WSL deployment (a port
|
|
119
|
+
* Docker picks, forwarding checked), `realpath` in the guest, uid 1000 for the container, the
|
|
120
|
+
* distribution held while a model loads or is loaded; the host facts of a load read in the guest
|
|
121
|
+
* (its `nvidia-smi`, the VM's memory); models under the scope's guest root.
|
|
122
|
+
*/
|
|
123
|
+
function wireWindowsTensorrtLlm(options, context) {
|
|
124
|
+
const adapters = new ManagedTextAdapterRegistry();
|
|
125
|
+
adapters.register(tensorrtLlmAdapter);
|
|
126
|
+
let built = null;
|
|
127
|
+
const lifecycle = async () => {
|
|
128
|
+
if (built !== null)
|
|
129
|
+
return built.lifecycle;
|
|
130
|
+
const guest = await windowsGuest(context, options.layout);
|
|
131
|
+
if (guest === null)
|
|
132
|
+
throw notImported();
|
|
133
|
+
const containers = await options.containers.resolve();
|
|
134
|
+
if (containers === null)
|
|
135
|
+
return null;
|
|
136
|
+
await ensureGuestScope(guest.transport, guest.key);
|
|
137
|
+
const deployment = windowsDeployment(context, guest, containers.exec);
|
|
138
|
+
const name = guest.record.distribution.name;
|
|
139
|
+
built ??= {
|
|
140
|
+
exec: containers.exec,
|
|
141
|
+
guest,
|
|
142
|
+
lifecycle: new ManagedTextLifecycle({
|
|
143
|
+
provider: 'tensorrt-llm',
|
|
144
|
+
adapters,
|
|
145
|
+
exec: containers.exec,
|
|
146
|
+
deployment,
|
|
147
|
+
journal: containers.journal,
|
|
148
|
+
paths: guest.paths,
|
|
149
|
+
instanceId: options.instanceId,
|
|
150
|
+
scope: options.scope,
|
|
151
|
+
allowedHosts: options.trustedHosts,
|
|
152
|
+
// SELinux is not enforcing in Atomic Chat's Ubuntu guest; never used, but must be in the guest.
|
|
153
|
+
selinuxDataRoot: guest.paths.root,
|
|
154
|
+
emit: options.emit,
|
|
155
|
+
log: options.log,
|
|
156
|
+
createContainerDeps: { realpath: guestRealpath(guest.transport) },
|
|
157
|
+
containerUser: { uid: 1000, gid: 1000 },
|
|
158
|
+
keeper: context.keeper(name),
|
|
159
|
+
}),
|
|
160
|
+
};
|
|
161
|
+
return built.lifecycle;
|
|
162
|
+
};
|
|
163
|
+
const platform = containerPlatformFor(options.arch);
|
|
164
|
+
return new TensorrtLlmRuntime({
|
|
165
|
+
lifecycle,
|
|
166
|
+
readyInstallation: () => resolveReadyInstallation({
|
|
167
|
+
installations: options.installations,
|
|
168
|
+
descriptors: options.descriptors,
|
|
169
|
+
platform,
|
|
170
|
+
}),
|
|
171
|
+
hostFacts: () => {
|
|
172
|
+
const current = built;
|
|
173
|
+
const deps = guestProbeDeps(current.guest.transport);
|
|
174
|
+
return probeTensorrtLlmHost({
|
|
175
|
+
exec: deps.exec,
|
|
176
|
+
docker: current.exec,
|
|
177
|
+
nvidiaSmi: 'nvidia-smi',
|
|
178
|
+
readFile: deps.readFile,
|
|
179
|
+
});
|
|
180
|
+
},
|
|
181
|
+
model: async (modelId) => {
|
|
182
|
+
const guest = await windowsGuest(context, options.layout);
|
|
183
|
+
if (guest === null)
|
|
184
|
+
throw notImported();
|
|
185
|
+
return readTensorrtLlmModel(guest.modelsRoot, modelId);
|
|
186
|
+
},
|
|
187
|
+
settings: options.settings,
|
|
188
|
+
...(options.claimGpu ? { claimGpu: options.claimGpu } : {}),
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* The WSL deployment of one guest (task 2.7): its mounts through the context's mount, the engine probed
|
|
193
|
+
* inside the guest as root, and the forwarding error built from `.wslconfig` as it reads at that moment.
|
|
194
|
+
*/
|
|
195
|
+
export function windowsDeployment(context, guest, exec) {
|
|
196
|
+
return createWslManagedDeployment({
|
|
197
|
+
distribution: guest.record.distribution.name,
|
|
198
|
+
...(context.mount === undefined ? {} : { mount: context.mount }),
|
|
199
|
+
exec,
|
|
200
|
+
runInGuest: (argv) => guest.transport.exec(argv, { user: 'root', timeoutMs: 10_000 }),
|
|
201
|
+
forwardingError: async () => localhostForwardingError(parseWslConfig(await context.host.probeDeps.readWslConfig().catch(() => null))),
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
/** The retried reconcile's executor where the wired one already is the guest's (Windows). */
|
|
205
|
+
export const wiredExec = (wired) => wired.exec;
|
|
206
|
+
/**
|
|
207
|
+
* `GET /models/tensorrt-llm/location` (change `add-tensorrt-llm-windows`, task 2.8): `<data>/tensorrt-llm/models`
|
|
208
|
+
* on Linux; the scope's folder in the WSL guest on Windows (`MANAGED_ADAPTER_UNAVAILABLE` before the import).
|
|
209
|
+
*/
|
|
210
|
+
export function tensorrtLlmModelLocation(platform, layout, windows) {
|
|
211
|
+
if (platform === 'win32' && windows !== undefined) {
|
|
212
|
+
return () => windowsModelLocation({
|
|
213
|
+
records: windows.records,
|
|
214
|
+
scopeKey: windows.scopeKey,
|
|
215
|
+
transport: (name) => windows.wsl.distribution(name),
|
|
216
|
+
volumeFreeBytes: (path) => windows.host.freeDiskBytes(path),
|
|
217
|
+
...(windows.mount === undefined ? {} : { mount: windows.mount }),
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
return () => linuxModelLocation(layout.provider('tensorrt-llm').modelsDir);
|
|
221
|
+
}
|
|
222
|
+
/** The `tensorrt-llm` model registry: the data folder's root on Linux, the guest root (once it exists) on Windows. */
|
|
223
|
+
export function tensorrtLlmModelRegistry(platform, layout, windows) {
|
|
224
|
+
if (platform === 'win32' && windows !== undefined) {
|
|
225
|
+
return new TensorrtLlmModelRegistry(async () => (await windowsGuest(windows, layout))?.modelsRoot ?? null);
|
|
226
|
+
}
|
|
227
|
+
return new TensorrtLlmModelRegistry(layout.provider('tensorrt-llm').modelsDir);
|
|
228
|
+
}
|
|
229
|
+
/** `windowsModelFiles` bound to one context and layout: the deleter's `windowsFiles` on Windows. */
|
|
230
|
+
export function windowsModelFilesFor(windows, layout) {
|
|
231
|
+
return () => windowsModelFiles(windows, layout);
|
|
232
|
+
}
|
|
233
|
+
/** Windows: where a model's files and caches are, and how to size and remove them (in the guest). */
|
|
234
|
+
export async function windowsModelFiles(windows, layout) {
|
|
235
|
+
const guest = await windowsGuest(windows, layout);
|
|
236
|
+
if (guest === null)
|
|
237
|
+
throw notImported();
|
|
238
|
+
return { paths: guest.paths, files: guestModelFiles(guest.transport, windows.mount) };
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* `POST /models/tensorrt-llm/check` (task 2.16): `null` off Linux, where the provider is not offered
|
|
242
|
+
* at all. Available even when the engine is not installed yet — the check falls back to the latest
|
|
243
|
+
* cached descriptor itself (`check.ts`) — and never asks Docker anything, unlike `wireTensorrtLlm`'s
|
|
244
|
+
* own `hostFacts` above.
|
|
245
|
+
*/
|
|
246
|
+
export function wireTensorrtLlmModelCheck(platform, options) {
|
|
247
|
+
const windows = options.windows;
|
|
248
|
+
if (windows !== undefined && windowsX64(platform, options.arch ?? 'x64', windows)) {
|
|
249
|
+
return (body) => checkTensorrtLlmModel(body, {
|
|
250
|
+
installations: options.installations,
|
|
251
|
+
descriptors: options.descriptors,
|
|
252
|
+
// The guest's cards and the WSL VM's memory once the distribution exists (design D11); before
|
|
253
|
+
// that, the cards Windows sees, with no memory to compare against.
|
|
254
|
+
hostFacts: async () => {
|
|
255
|
+
const guest = await windowsDistribution(windows);
|
|
256
|
+
if (guest === null) {
|
|
257
|
+
const gpus = await probeTensorrtLlmGpus({
|
|
258
|
+
exec: windows.host.probeDeps.exec,
|
|
259
|
+
nvidiaSmi: `${windows.host.probeDeps.systemRoot}\\System32\\nvidia-smi.exe`,
|
|
260
|
+
});
|
|
261
|
+
return { gpus, memory: { availableBytes: 0, totalBytes: 0 } };
|
|
262
|
+
}
|
|
263
|
+
const deps = guestProbeDeps(guest.transport);
|
|
264
|
+
return probeTensorrtLlmGpusAndMemory({
|
|
265
|
+
exec: deps.exec,
|
|
266
|
+
nvidiaSmi: 'nvidia-smi',
|
|
267
|
+
readFile: deps.readFile,
|
|
268
|
+
});
|
|
269
|
+
},
|
|
270
|
+
settings: options.settings,
|
|
271
|
+
wslVm: async () => ({
|
|
272
|
+
memory_setting: parseWslConfig(await windows.host.probeDeps.readWslConfig().catch(() => null))
|
|
273
|
+
.memory,
|
|
274
|
+
}),
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
if (platform !== 'linux')
|
|
278
|
+
return null;
|
|
279
|
+
return (body) => checkTensorrtLlmModel(body, {
|
|
280
|
+
installations: options.installations,
|
|
281
|
+
descriptors: options.descriptors,
|
|
282
|
+
hostFacts: () => probeTensorrtLlmGpusAndMemory({
|
|
283
|
+
exec: options.host.probeDeps.exec,
|
|
284
|
+
nvidiaSmi: 'nvidia-smi',
|
|
285
|
+
readFile: options.host.probeDeps.readFile,
|
|
286
|
+
}),
|
|
287
|
+
settings: options.settings,
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* What GPU residency must see of the containers a previous core left (task 2.15; carry-forward from
|
|
292
|
+
* 2.12/2.14): startup reconcile could not confirm them stopped — the stop went unconfirmed, a docker
|
|
293
|
+
* call failed, or its time budget ran out — so they may still be running and holding a GPU. Which one
|
|
294
|
+
* is not recorded, so each holds every card, as `stop-unconfirmed`, under its engine id and container
|
|
295
|
+
* id, with the remedy a refusal names. Evicting one runs the reconcile again, bounded like the startup
|
|
296
|
+
* one (a short deadline per docker call, a short `--time`, a total budget), over this scope's journal
|
|
297
|
+
* only — this instance's own records are never touched — and it is released only once Docker confirms
|
|
298
|
+
* it gone.
|
|
299
|
+
*/
|
|
300
|
+
export function leftoverContainers(options) {
|
|
301
|
+
let latest = null;
|
|
302
|
+
const unresolved = (result) => [
|
|
303
|
+
...result.unconfirmed,
|
|
304
|
+
...result.failed,
|
|
305
|
+
...result.skipped,
|
|
306
|
+
];
|
|
307
|
+
const boundedExec = options.exec ??
|
|
308
|
+
((wired) => createDockerExec({
|
|
309
|
+
dockerPath: wired.dockerPath,
|
|
310
|
+
dockerConfigDir: options.dockerConfigDir,
|
|
311
|
+
timeoutMs: RECONCILE_CALL_TIMEOUT_MS,
|
|
312
|
+
}));
|
|
313
|
+
const retry = async (wired) => {
|
|
314
|
+
const budget = new AbortController();
|
|
315
|
+
const budgetMs = options.budgetMs ?? RECONCILE_BUDGET_MS;
|
|
316
|
+
if (budgetMs <= 0)
|
|
317
|
+
budget.abort();
|
|
318
|
+
const timer = setTimeout(() => budget.abort(), Math.max(budgetMs, 0));
|
|
319
|
+
timer.unref?.();
|
|
320
|
+
try {
|
|
321
|
+
return await reconcileExecutions(wired.journal, options.instanceId, boundedExec(wired), options.log, RECONCILE_STARTUP_STOP_TIMEOUT_SECONDS, budget.signal);
|
|
322
|
+
}
|
|
323
|
+
finally {
|
|
324
|
+
clearTimeout(timer);
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
return () => {
|
|
328
|
+
const wired = options.containers.current();
|
|
329
|
+
if (wired === null)
|
|
330
|
+
return [];
|
|
331
|
+
return unresolved(latest ?? wired.reconciled).map((record) => ({
|
|
332
|
+
provider: record.engine_id,
|
|
333
|
+
model_id: record.container_id,
|
|
334
|
+
cards: 'all',
|
|
335
|
+
auxiliary: false,
|
|
336
|
+
state: 'stop-unconfirmed',
|
|
337
|
+
remedy: `Start Docker, or remove container ${record.container_id} yourself ` +
|
|
338
|
+
`(docker rm -f ${record.container_id}); the next load retries the stop.`,
|
|
339
|
+
evict: async () => {
|
|
340
|
+
latest = await retry(wired);
|
|
341
|
+
if (unresolved(latest).some((left) => left.container_id === record.container_id)) {
|
|
342
|
+
throw new Error(`Docker did not confirm container ${record.container_id} stopped.`);
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
}));
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* The managed environment's `unloadEngineSessions` (spec "Удаление при загруженной модели"): before
|
|
350
|
+
* a removal touches the engine's image, loads of `tensorrt-llm` are held off (`holdOffLoads`) and
|
|
351
|
+
* every model holding a card is unloaded with its container's stop confirmed — through the facade's
|
|
352
|
+
* own `unload`, as a client's unload or GPU residency would, so each model's cross-process claim is
|
|
353
|
+
* released and a load still pending is cancelled rather than queued behind (final review M-1). The
|
|
354
|
+
* hold lasts until the removal calls `release`. An unconfirmed stop rejects with
|
|
355
|
+
* `MANAGED_STOP_UNCONFIRMED`, which fails the removal with nothing removed, and lifts the hold at
|
|
356
|
+
* once. `runtime` and `sessions` are read at removal time: the provider is registered after the
|
|
357
|
+
* environment is wired, and the facade after both.
|
|
358
|
+
*/
|
|
359
|
+
export function tensorrtLlmSessionUnloader(runtime, sessions) {
|
|
360
|
+
return async (engineId) => {
|
|
361
|
+
if (engineId !== TENSORRT_LLM_ENGINE_ID)
|
|
362
|
+
return { unloaded: 0 };
|
|
363
|
+
const provider = runtime();
|
|
364
|
+
if (!(provider instanceof TensorrtLlmRuntime))
|
|
365
|
+
return { unloaded: 0 };
|
|
366
|
+
const release = provider.holdOffLoads();
|
|
367
|
+
try {
|
|
368
|
+
const facade = sessions();
|
|
369
|
+
const models = provider.residentModels();
|
|
370
|
+
for (const modelId of models) {
|
|
371
|
+
facade.cancelLoad(TENSORRT_LLM_ENGINE_ID, modelId);
|
|
372
|
+
const result = await facade.unload(TENSORRT_LLM_ENGINE_ID, modelId);
|
|
373
|
+
if (!result.success) {
|
|
374
|
+
throw new AtomicCoreError('MANAGED_STOP_UNCONFIRMED', result.error ?? `The unload of ${modelId} failed.`, modelId);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
return { unloaded: models.length, release };
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
release();
|
|
381
|
+
throw error;
|
|
382
|
+
}
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* `DELETE /models/tensorrt-llm/:id` (task 2.24, design D12a, spec `tensorrt-llm-models` "Модель
|
|
387
|
+
* удаляется через core"). The id must be one the registry lists — exactly, never percent-decoded or
|
|
388
|
+
* resolved as a path — else `MODEL_NOT_FOUND`: a client's wrong id is an error, not a success. Loads
|
|
389
|
+
* of that model are held off for the whole deletion; a load in flight is cancelled and the model
|
|
390
|
+
* unloaded through the facade, as a client's unload would be, so its cross-process claim is released.
|
|
391
|
+
* Only once Docker confirmed the stop are the files touched; an unconfirmed stop rejects with
|
|
392
|
+
* `MANAGED_STOP_UNCONFIRMED` and removes nothing.
|
|
393
|
+
*/
|
|
394
|
+
export function tensorrtLlmModelDeleter(options) {
|
|
395
|
+
return async (modelId) => {
|
|
396
|
+
const provider = options.runtime();
|
|
397
|
+
if (!(provider instanceof TensorrtLlmRuntime)) {
|
|
398
|
+
throw new AtomicCoreError('PROVIDER_NOT_FOUND', 'tensorrt-llm is not available in this build.', TENSORRT_LLM_ENGINE_ID);
|
|
399
|
+
}
|
|
400
|
+
const model = (await options.registry.list()).find((entry) => entry.id === modelId);
|
|
401
|
+
if (model === undefined) {
|
|
402
|
+
throw new AtomicCoreError('MODEL_NOT_FOUND', `No tensorrt-llm model has the id '${modelId}'.`, modelId);
|
|
403
|
+
}
|
|
404
|
+
const release = provider.holdOffModel(modelId);
|
|
405
|
+
try {
|
|
406
|
+
const facade = options.sessions();
|
|
407
|
+
const cancelled = facade.cancelLoad(TENSORRT_LLM_ENGINE_ID, modelId);
|
|
408
|
+
const result = await facade.unload(TENSORRT_LLM_ENGINE_ID, modelId);
|
|
409
|
+
if (!result.success || provider.residentModels().includes(modelId)) {
|
|
410
|
+
throw new AtomicCoreError('MANAGED_STOP_UNCONFIRMED', result.error ?? `The container of ${modelId} did not confirm its stop; nothing was deleted.`, modelId);
|
|
411
|
+
}
|
|
412
|
+
const guest = options.windowsFiles === undefined ? null : await options.windowsFiles();
|
|
413
|
+
const files = guest === null
|
|
414
|
+
? await deleteTensorrtLlmModelFiles(options.paths, model)
|
|
415
|
+
: await deleteTensorrtLlmModelFiles(guest.paths, model, guest.files);
|
|
416
|
+
return {
|
|
417
|
+
model_id: modelId,
|
|
418
|
+
was_loaded: cancelled || result.was_loaded === true,
|
|
419
|
+
freed_bytes: files.freedBytes,
|
|
420
|
+
engine_caches_removed: files.engineCachesRemoved,
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
finally {
|
|
424
|
+
release();
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
//# sourceMappingURL=tensorrt-llm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tensorrt-llm.js","sourceRoot":"","sources":["../../src/core/tensorrt-llm.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import type { LocalProviderId } from '../contracts/index.js';
|
|
2
2
|
import type { LoadOptions } from '../runtime/llamacpp/index.js';
|
|
3
|
-
import type { LocalLoadOptions } from '../runtime/index.js';
|
|
3
|
+
import type { BackendOutputSink, LocalLoadOptions } from '../runtime/index.js';
|
|
4
|
+
import type { WireDecisionOptions } from '../decision/index.js';
|
|
5
|
+
import type { WireEmbeddingOptions } from '../embedding/index.js';
|
|
4
6
|
import type { WireDiffusionOptions } from '../diffusion/index.js';
|
|
7
|
+
import type { HardwareProbeResult } from '../hardware/index.js';
|
|
5
8
|
import type { Prober, TunnelSpawner, TunnelTimings } from '../remote-access/index.js';
|
|
6
9
|
import type { TelemetryControl } from '../telemetry/index.js';
|
|
7
10
|
export type CoreLogger = (level: 'info' | 'warn' | 'error', message: string) => void;
|
|
11
|
+
export type { BackendOutputSink };
|
|
8
12
|
export interface AtomicCoreOptions {
|
|
9
13
|
ownerScope?: 'app' | 'cli';
|
|
10
14
|
/** Explicit data folder; otherwise resolved like the app does (PLAN.md §8.2 "Data folder"). */
|
|
@@ -25,8 +29,37 @@ export interface AtomicCoreOptions {
|
|
|
25
29
|
};
|
|
26
30
|
/** Test seams of the image-generation service (a fake engine, short timings). */
|
|
27
31
|
diffusion?: WireDiffusionOptions['overrides'];
|
|
32
|
+
/** Test seams of the decision module (a fake engine, installed packs, the `-h` probe). */
|
|
33
|
+
decision?: WireDecisionOptions['overrides'];
|
|
34
|
+
/** Test seams of the embedding module (a fake engine, installed packs). */
|
|
35
|
+
embedding?: WireEmbeddingOptions['overrides'];
|
|
36
|
+
/** Test seam of the hardware probe: a canned answer instead of the shell tools and sysfs. */
|
|
37
|
+
hardware?: {
|
|
38
|
+
probe?: () => Promise<HardwareProbeResult>;
|
|
39
|
+
};
|
|
28
40
|
/** The platform runtimes are offered for (macOS-only engines are not registered elsewhere). Test seam. */
|
|
29
41
|
platform?: NodeJS.Platform;
|
|
42
|
+
/**
|
|
43
|
+
* Test seam: the docker CLI managed text runtimes run on Linux. Omitted, it is resolved from the
|
|
44
|
+
* system directories (`/usr/bin`, `/usr/local/bin`, `/bin`), never `PATH`; `null` means none.
|
|
45
|
+
*/
|
|
46
|
+
dockerPath?: string | null;
|
|
47
|
+
/**
|
|
48
|
+
* The host's keyring for the public API (a terminal that hands every client its own key), read for
|
|
49
|
+
* every request: a client must present one of these, and a revoked key is refused on the next
|
|
50
|
+
* request. An empty list refuses every client; `undefined` keeps `server.api_key`.
|
|
51
|
+
*/
|
|
52
|
+
publicApiKeys?: () => readonly string[] | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Parallel byte-range streams for a hash-pinned file of at least 32 MiB (at most 4); one when
|
|
55
|
+
* unset. A server without ranges falls back to one stream.
|
|
56
|
+
*/
|
|
57
|
+
downloadStreams?: number;
|
|
58
|
+
/**
|
|
59
|
+
* How long reading a remote GGUF header for a model check may take in all (a terminal that must not
|
|
60
|
+
* hang on a slow or broken mirror); past it the check goes on without the header. Unset waits.
|
|
61
|
+
*/
|
|
62
|
+
remoteGgufTimeoutMs?: number;
|
|
30
63
|
fetch?: typeof fetch;
|
|
31
64
|
env?: NodeJS.ProcessEnv;
|
|
32
65
|
/** 'owner' takes the instance lock; 'auto' is the same today — attaching is the CLI's job. */
|
|
@@ -35,6 +68,15 @@ export interface AtomicCoreOptions {
|
|
|
35
68
|
/** 0 (the default) picks a free port and publishes it in the lock. */
|
|
36
69
|
controlPort?: number;
|
|
37
70
|
logger?: CoreLogger;
|
|
71
|
+
/**
|
|
72
|
+
* Every stdout/stderr line an engine prints, for the life of its session — llama.cpp (both
|
|
73
|
+
* providers), MLX, Foundation Models and `sd-server`. In addition to whatever `logPath`/`verbose`
|
|
74
|
+
* already route for one load, never instead; without it, engine output goes nowhere new and never
|
|
75
|
+
* reaches `logger`. The app's daemon wires this to its `core.log`. A sink that throws is ignored,
|
|
76
|
+
* after one `warn` through `logger` per engine session.
|
|
77
|
+
* `cloudflared` output never reaches this sink: it carries the remote-access tunnel's public URL.
|
|
78
|
+
*/
|
|
79
|
+
backendOutput?: BackendOutputSink;
|
|
38
80
|
/**
|
|
39
81
|
* Where failures worth an issue go, and what `/atomic/v1/telemetry` drives. A host that owns its
|
|
40
82
|
* process (the app's daemon, the CLI) builds one with `createCoreReporter` so start-up failures are
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AA0FA,MAAM,CAAC,MAAM,cAAc,GAAoB,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The decision process's argv, environment and thread count. Pure.
|
|
3
|
+
*
|
|
4
|
+
* Built here and never through the chat `args.ts`: that builder serves chat and embedding sessions
|
|
5
|
+
* (a GGUF without a chat head gets `--embedding --pooling mean`), and none of its flags mean anything
|
|
6
|
+
* to `--decision`, which ignores most of them with a warning. The argv follows DECISION.md:
|
|
7
|
+
*
|
|
8
|
+
* llama-server --decision -m <gguf | checkpoint dir> [--decision-spec <file>] [-a <id>]
|
|
9
|
+
* [--decision-convert-cache <dir> --decision-convert-type <f16|f32>] --device none -t <n>
|
|
10
|
+
* --host 127.0.0.1 --port <p> --no-webui [--decision-allow-uncalibrated]
|
|
11
|
+
*
|
|
12
|
+
* The key travels in `LLAMA_API_KEY`, never in argv, where any local user could read it with `ps`.
|
|
13
|
+
*
|
|
14
|
+
* `-t` is always passed. The engine's precedence (atomic-llama-cpp-turboquant `server-decision.cpp`,
|
|
15
|
+
* `engine-laya.cpp`): the laya engine runs with `-t`, or without it llama.cpp's own default
|
|
16
|
+
* (`common_cpu_get_num_math`: the performance cores on Apple silicon and on hybrid Linux x86, the
|
|
17
|
+
* physical cores elsewhere, uncapped). A spec's `plan.n_threads` is never applied: the engine only
|
|
18
|
+
* warns when it differs from the thread count it runs with, because logits are bitwise stable only
|
|
19
|
+
* for a fixed count. So leaving `-t` out would not hand the choice to the spec, only to llama.cpp,
|
|
20
|
+
* and would lose the cap below.
|
|
21
|
+
*/
|
|
22
|
+
import type { DecisionConvertType } from '../contracts/index.js';
|
|
23
|
+
/** The environment variable the server's auth middleware reads (as `--api-key`), the fork's and upstream's. */
|
|
24
|
+
export declare const DECISION_API_KEY_ENV = "LLAMA_API_KEY";
|
|
25
|
+
/**
|
|
26
|
+
* Where checkpoint folders are converted to, relative to the data folder. Ours rather than the
|
|
27
|
+
* engine's default (the OS user cache): it goes away with the app's data and does not depend on
|
|
28
|
+
* `LLAMA_CACHE`. The engine never deletes old entries; the decision service does.
|
|
29
|
+
*/
|
|
30
|
+
export declare const DECISION_CONVERT_CACHE_DIR: string;
|
|
31
|
+
/**
|
|
32
|
+
* A configured file as an absolute path: absolute as given, relative against the data folder, empty
|
|
33
|
+
* as `undefined`. The core invents no folder for decision models; the app decides where they live.
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveDataPath(dataFolder: string, configured: string): string | undefined;
|
|
36
|
+
/** Loopback only: the public server forwards to it, nothing else should reach it. */
|
|
37
|
+
export declare const DECISION_HOST = "127.0.0.1";
|
|
38
|
+
/**
|
|
39
|
+
* Ceiling of the automatic thread count. The laya encoder is one CPU graph per request, and the chat
|
|
40
|
+
* model runs beside it; past eight threads the decision model mostly competes with the chat model
|
|
41
|
+
* (plan KPI K8) instead of getting faster. An explicit `threads` setting is not capped.
|
|
42
|
+
*/
|
|
43
|
+
export declare const MAX_AUTO_THREADS = 8;
|
|
44
|
+
export interface DecisionLaunchSpec {
|
|
45
|
+
modelPath: string;
|
|
46
|
+
/** `--decision-spec`; omitted when empty. */
|
|
47
|
+
specPath?: string;
|
|
48
|
+
/** `-a`; omitted when empty (the engine then answers with the file name). */
|
|
49
|
+
modelId?: string;
|
|
50
|
+
/**
|
|
51
|
+
* `modelPath` is a checkpoint folder: where the engine caches its conversion and in which type.
|
|
52
|
+
* Passed in argv, never through `LLAMA_ARG_DECISION_*`, which `withoutDecisionEnv` strips.
|
|
53
|
+
*/
|
|
54
|
+
convert?: {
|
|
55
|
+
cacheDir: string;
|
|
56
|
+
type: DecisionConvertType;
|
|
57
|
+
};
|
|
58
|
+
threads: number;
|
|
59
|
+
port: number;
|
|
60
|
+
allowUncalibrated?: boolean;
|
|
61
|
+
}
|
|
62
|
+
export declare function buildDecisionArgs(spec: DecisionLaunchSpec): string[];
|
|
63
|
+
/** What an upstream decision GGUF is started with, beyond the model and the port. */
|
|
64
|
+
export interface UpstreamDecisionLaunch {
|
|
65
|
+
/** `--mmproj`, for a model that reads images. */
|
|
66
|
+
mmprojPath?: string;
|
|
67
|
+
/** `-c`, and `-b`: the decision outputs are read from one batch, so it holds the whole prompt. */
|
|
68
|
+
ctxSize: number;
|
|
69
|
+
/** `-ub` too (laya, kev, clef): their scores come out of the embeddings, one ubatch for the prompt. */
|
|
70
|
+
wholePromptUbatch: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The argv of stock llama.cpp (b11370 on) for a GGUF with `<arch>.decision.type`: no decision flag,
|
|
74
|
+
* the server reads the type from the file and serves `/v1/systemone` (and turns on embedding mode
|
|
75
|
+
* itself where the type needs it). No `--device none`: upstream decision models run up to 27B
|
|
76
|
+
* parameters, and the server's own fitting puts them on the GPU when there is room.
|
|
77
|
+
*
|
|
78
|
+
* llama-server -m <gguf> [--mmproj <file>] [-a <id>] -c <n> -b <n> [-ub <n>] -t <n>
|
|
79
|
+
* --host 127.0.0.1 --port <p> --no-webui
|
|
80
|
+
*/
|
|
81
|
+
export declare function buildUpstreamDecisionArgs(spec: Pick<DecisionLaunchSpec, 'modelPath' | 'modelId' | 'threads' | 'port'>, upstream: UpstreamDecisionLaunch): string[];
|
|
82
|
+
/** The variables the core adds to the inherited environment. */
|
|
83
|
+
export declare function decisionEnv(apiKey: string): Record<string, string>;
|
|
84
|
+
/** The engine reads its `--decision-*` flags from these variables too (DECISION.md, Flags). */
|
|
85
|
+
export declare const DECISION_ENV_PREFIX = "LLAMA_ARG_DECISION_";
|
|
86
|
+
/**
|
|
87
|
+
* The inherited environment without `LLAMA_ARG_DECISION_*`: a stray `LLAMA_ARG_DECISION_DEBUG` in the
|
|
88
|
+
* owner's environment would turn on request logging and raw logits, and `…_QUEUE` or `…_PLAN` would
|
|
89
|
+
* change what the core asked for. The core states every decision flag it wants in argv. Matched
|
|
90
|
+
* without case, as Windows names are.
|
|
91
|
+
*/
|
|
92
|
+
export declare function withoutDecisionEnv(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
93
|
+
export interface ThreadFacts {
|
|
94
|
+
/** `settings.decision.threads`; 0 = automatic. */
|
|
95
|
+
setting: number;
|
|
96
|
+
/** Physical cores (`SystemInfo.cpu.core_count`). */
|
|
97
|
+
physicalCores: number;
|
|
98
|
+
/** Performance cores, when the hardware facts know them. */
|
|
99
|
+
performanceCores?: number;
|
|
100
|
+
/**
|
|
101
|
+
* A hybrid CPU whose performance-core count is unknown. Apple silicon counts its efficiency cores
|
|
102
|
+
* as physical cores; ggml threads that land there hold every other thread up, so half the physical
|
|
103
|
+
* count (the P-cores on the base M1–M3 parts) is the safe guess.
|
|
104
|
+
*/
|
|
105
|
+
hybrid?: boolean;
|
|
106
|
+
}
|
|
107
|
+
/** `-t`: the setting when given, else the performance cores (or a guess at them), 1 … `MAX_AUTO_THREADS`. */
|
|
108
|
+
export declare function decisionThreads(facts: ThreadFacts): number;
|
|
109
|
+
/** The argv as the log shows it: the model path kept (it is not a secret), nothing else to hide. */
|
|
110
|
+
export declare function commandSummary(exe: string, argv: readonly string[]): string;
|