@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,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<dir>/<stem>.log`: a synchronously-written, rotating log file. Internal to the core host layer —
|
|
3
|
+
* not exported from `src/host/index.ts` or the package. Used for `core.log` (task 3.1 wires the
|
|
4
|
+
* daemon's own logger and stderr into it); `<stem>` is parameterised so the same code could serve
|
|
5
|
+
* another rotating file later.
|
|
6
|
+
*
|
|
7
|
+
* `formatLogLine` is the single place that builds the `[YYYY-MM-DD][HH:MM:SS][target][LEVEL]`
|
|
8
|
+
* header (design D3): both this file's entries and every stderr line the core writes go through it,
|
|
9
|
+
* so a person reading either sees the same format.
|
|
10
|
+
*/
|
|
11
|
+
import { closeSync, existsSync, mkdirSync, openSync, readdirSync, renameSync, statSync, unlinkSync, writeSync, } from 'node:fs';
|
|
12
|
+
import { join } from 'node:path';
|
|
13
|
+
/** The size at which `core.log` (and `app.log`) rotate, matching tauri-plugin-log. */
|
|
14
|
+
export const MAX_LOG_BYTES = 10 * 1024 * 1024;
|
|
15
|
+
/** How many rotated `<stem>_*.log` archives are kept; the oldest beyond this is deleted. */
|
|
16
|
+
export const MAX_LOG_ARCHIVES = 4;
|
|
17
|
+
/** `[`, `]` and the control characters U+0000–U+001F and U+007F: what a target may not contain. */
|
|
18
|
+
// eslint-disable-next-line no-control-regex
|
|
19
|
+
const TARGET_UNSAFE_RE = /[[\]\x00-\x1F\x7F]/g;
|
|
20
|
+
/**
|
|
21
|
+
* Builds one log entry: UTC, to the second, regardless of the process timezone. A multi-line
|
|
22
|
+
* `message` carries the header on its first line only; the rest is written verbatim, and one `\n`
|
|
23
|
+
* is appended, so a caller passes its message without a trailing newline of its own (one that
|
|
24
|
+
* ends in `\n` leaves an empty line after the entry).
|
|
25
|
+
*
|
|
26
|
+
* Each `[`, `]` and control character in `target` becomes `_`: a target comes partly from a model
|
|
27
|
+
* id, which is a folder name with no character rules (`model [Q4]`), and any of those would break
|
|
28
|
+
* the header the app splits entries on (`\[[^\]]*\]`, design D7) or split the header line itself.
|
|
29
|
+
*/
|
|
30
|
+
export function formatLogLine(date, target, level, message) {
|
|
31
|
+
const iso = date.toISOString();
|
|
32
|
+
const day = iso.slice(0, 10);
|
|
33
|
+
const time = iso.slice(11, 19);
|
|
34
|
+
return `[${day}][${time}][${target.replace(TARGET_UNSAFE_RE, '_')}][${level}] ${message}\n`;
|
|
35
|
+
}
|
|
36
|
+
/** `YYYY-MM-DD_HH-MM-SS`, UTC: the timestamp half of an archive's `<stem>_<...>.log` name. */
|
|
37
|
+
function archiveTimestamp(date) {
|
|
38
|
+
const iso = date.toISOString();
|
|
39
|
+
return `${iso.slice(0, 10)}_${iso.slice(11, 19).replace(/:/g, '-')}`;
|
|
40
|
+
}
|
|
41
|
+
const ARCHIVE_NAME_RE = /^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}\.log$/;
|
|
42
|
+
const realFs = {
|
|
43
|
+
mkdirSync,
|
|
44
|
+
existsSync,
|
|
45
|
+
statSync,
|
|
46
|
+
openSync,
|
|
47
|
+
writeSync,
|
|
48
|
+
closeSync,
|
|
49
|
+
renameSync,
|
|
50
|
+
unlinkSync,
|
|
51
|
+
readdirSync,
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Opens `<dir>/<stem>.log` for append, creating `dir` if needed, and returns a writer that rotates
|
|
55
|
+
* the file once an incoming entry would push it past `maxBytes` (default 10 MiB), keeping
|
|
56
|
+
* `maxArchives` (default 4) archives named `<stem>_YYYY-MM-DD_HH-MM-SS.log`.
|
|
57
|
+
*
|
|
58
|
+
* Never throws. An open or write failure, a rotation failure that leaves no writable file open, or
|
|
59
|
+
* any other error while writing an entry (a close that fails mid-rotation, say) writes one `WARN`
|
|
60
|
+
* line built by {@link formatLogLine} to `stderr` and disables the writer for good: every
|
|
61
|
+
* `write`/`close` call afterwards is a silent no-op. A failed rename that still leaves the
|
|
62
|
+
* *current* file writable is not one of these: the writer keeps appending to it and retries
|
|
63
|
+
* rotation on the next write; see {@link rotate}.
|
|
64
|
+
*/
|
|
65
|
+
export function openLogFile(dir, stem, options = {}) {
|
|
66
|
+
const now = options.now ?? (() => new Date());
|
|
67
|
+
const fs = options.fs ?? realFs;
|
|
68
|
+
const stderr = options.stderr ?? ((text) => void process.stderr.write(text));
|
|
69
|
+
const maxBytes = options.maxBytes ?? MAX_LOG_BYTES;
|
|
70
|
+
const maxArchives = options.maxArchives ?? MAX_LOG_ARCHIVES;
|
|
71
|
+
const path = join(dir, `${stem}.log`);
|
|
72
|
+
let fd;
|
|
73
|
+
let size = 0;
|
|
74
|
+
let disabled = false;
|
|
75
|
+
/** Fires the one-time warning and turns every later call into a no-op. Never throws. */
|
|
76
|
+
function disable(reason) {
|
|
77
|
+
if (disabled)
|
|
78
|
+
return;
|
|
79
|
+
disabled = true;
|
|
80
|
+
if (fd !== undefined) {
|
|
81
|
+
try {
|
|
82
|
+
fs.closeSync(fd);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
// already broken; nothing more to do
|
|
86
|
+
}
|
|
87
|
+
fd = undefined;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
stderr(formatLogLine(now(), 'core', 'WARN', `log file disabled: ${reason}`));
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// stderr itself is best-effort
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
98
|
+
fd = fs.openSync(path, 'a');
|
|
99
|
+
size = fs.statSync(path).size;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
disable(error.message);
|
|
103
|
+
}
|
|
104
|
+
function archivePath(date) {
|
|
105
|
+
return join(dir, `${stem}_${archiveTimestamp(date)}.log`);
|
|
106
|
+
}
|
|
107
|
+
function pruneArchives() {
|
|
108
|
+
const prefix = `${stem}_`;
|
|
109
|
+
const archives = fs
|
|
110
|
+
.readdirSync(dir)
|
|
111
|
+
.filter((name) => name.startsWith(prefix) && ARCHIVE_NAME_RE.test(name.slice(prefix.length)))
|
|
112
|
+
.sort()
|
|
113
|
+
.reverse(); // `<stem>_YYYY-MM-DD_HH-MM-SS.log` sorts lexicographically newest-first this way.
|
|
114
|
+
for (const name of archives.slice(maxArchives))
|
|
115
|
+
fs.unlinkSync(join(dir, name));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Closes the current descriptor, renames it to an archive name, and opens a fresh `<stem>.log`.
|
|
119
|
+
* Order matters: the descriptor is closed *before* the rename (a file open on Windows cannot be
|
|
120
|
+
* renamed by the process holding it), per design D4.
|
|
121
|
+
*
|
|
122
|
+
* Returns whether a writable file is open afterwards. A rename failure alone is not fatal — it
|
|
123
|
+
* leaves the active file in place under its old name, so this falls back to reopening *that*
|
|
124
|
+
* file and retries rotation on the next write. Only a failure that leaves nothing open (the
|
|
125
|
+
* fallback reopen also fails, or the freshly-renamed-to file cannot be opened) is fatal; the
|
|
126
|
+
* caller disables the writer for that.
|
|
127
|
+
*
|
|
128
|
+
* May throw — a failing close, say. `write` turns that into `disable`, so it is fatal too.
|
|
129
|
+
*/
|
|
130
|
+
function rotate() {
|
|
131
|
+
const current = fd;
|
|
132
|
+
if (current === undefined)
|
|
133
|
+
return false;
|
|
134
|
+
// Forgotten before the close, not after: a close that throws has still released the number
|
|
135
|
+
// (close(2) does, even on EIO), so `disable` must not close it again — by then it may be
|
|
136
|
+
// another file's descriptor.
|
|
137
|
+
fd = undefined;
|
|
138
|
+
fs.closeSync(current);
|
|
139
|
+
const target = archivePath(now());
|
|
140
|
+
try {
|
|
141
|
+
if (fs.existsSync(target))
|
|
142
|
+
fs.renameSync(target, `${target}.bak`);
|
|
143
|
+
fs.renameSync(path, target);
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
try {
|
|
147
|
+
fd = fs.openSync(path, 'a');
|
|
148
|
+
size = fs.statSync(path).size;
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
fd = fs.openSync(path, 'a');
|
|
157
|
+
size = 0;
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
try {
|
|
163
|
+
pruneArchives();
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
// Cleanup only — rotation itself already succeeded.
|
|
167
|
+
}
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
return {
|
|
171
|
+
write(target, level, message) {
|
|
172
|
+
if (disabled)
|
|
173
|
+
return;
|
|
174
|
+
// One guard around the whole entry, rotation included: whatever throws in here — a failed
|
|
175
|
+
// write, a close that fails mid-rotation, anything unforeseen — disables the writer with its
|
|
176
|
+
// one warning instead of reaching the caller (in the app daemon, a throw here would end the
|
|
177
|
+
// process). A failed rename is not a throw here: `rotate` recovers from it by itself.
|
|
178
|
+
try {
|
|
179
|
+
const entry = formatLogLine(now(), target, level, message);
|
|
180
|
+
const bytes = Buffer.byteLength(entry, 'utf8');
|
|
181
|
+
if (size > 0 && size + bytes > maxBytes && !rotate()) {
|
|
182
|
+
disable('rotation left no writable file');
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const openFd = fd;
|
|
186
|
+
if (openFd === undefined) {
|
|
187
|
+
// Unreachable: `disabled` (checked above) is the only state with no open `fd`, and a
|
|
188
|
+
// `rotate()` that returns `true` always leaves one open. Kept as a safety net, not a path
|
|
189
|
+
// any test drives.
|
|
190
|
+
disable('no open file');
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
fs.writeSync(openFd, entry);
|
|
194
|
+
size += bytes;
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
disable(error instanceof Error ? error.message : String(error));
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
close() {
|
|
201
|
+
if (disabled || fd === undefined)
|
|
202
|
+
return;
|
|
203
|
+
try {
|
|
204
|
+
fs.closeSync(fd);
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
// best effort — the descriptor may already be unusable
|
|
208
|
+
}
|
|
209
|
+
fd = undefined;
|
|
210
|
+
disabled = true;
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=log-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-file.js","sourceRoot":"","sources":["../../src/host/log-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `windows.enable-wsl` (change `add-tensorrt-llm-windows`, task 2.4, design D2): the one privileged
|
|
3
|
+
* thing Atomic Chat ever asks for on Windows. The app runs `atomic-chat-core.exe host-step exec
|
|
4
|
+
* <request>` through UAC; the executor runs exactly `wsl --install`, then `wsl --status`, which says
|
|
5
|
+
* whether a WSL 2 VM can start now or only after a restart.
|
|
6
|
+
*
|
|
7
|
+
* Bare `wsl --install`, not `wsl --install --no-distribution`: on a Windows without the WSL package
|
|
8
|
+
* `System32\wsl.exe` is an inbox stub that understands only the bare form — it answered "The Windows
|
|
9
|
+
* Subsystem for Linux is not installed" to `--install --no-distribution` and to `--update` alike in
|
|
10
|
+
* the live acceptance (build 26200). The cost, accepted by the owner (2026-10-02): Windows also
|
|
11
|
+
* installs its default Ubuntu distribution, which may open its own first-run console after the
|
|
12
|
+
* restart. Atomic Chat never uses it; its own distribution is still imported unelevated afterwards.
|
|
13
|
+
|
|
14
|
+
* It takes no parameter. Nothing a client, a request file or a person could choose reaches the
|
|
15
|
+
* elevated process: no distribution name, no path, no flag. And it never runs `wsl.exe` with a
|
|
16
|
+
* distribution (`-d`, `--exec`, `--import`, …): an elevated `wsl.exe` registers and starts
|
|
17
|
+
* distributions for the elevated token — another user, or another mount namespace of the same one —
|
|
18
|
+
* where the app would never find them (microsoft/WSL#9690). Importing is the unelevated core's job.
|
|
19
|
+
*
|
|
20
|
+
* When no restart is needed (the VM platform was already on), `wsl --install` does not exit: its last
|
|
21
|
+
* act is to start the Ubuntu it installed, whose first-run prompt waits for a user name in the
|
|
22
|
+
* executor's hidden console — until the install deadline (live, build 26200, 2026-10-05). So while it
|
|
23
|
+
* runs the executor asks `wsl --list --running`: a running distribution means the install is done and
|
|
24
|
+
* a WSL 2 VM has started, and the install's process tree is ended there. A distribution already
|
|
25
|
+
* running before the install would answer the same, so then the executor waits for the exit as before.
|
|
26
|
+
*
|
|
27
|
+
* Its outcome: `completed` when WSL answers `--status` right away, `reboot-required` when the install
|
|
28
|
+
* succeeded but WSL cannot start until Windows restarts (or the installer said so with 3010), `failed`
|
|
29
|
+
* with the installer's exit code and output otherwise. `wsl.exe` here is the bare name; the Windows
|
|
30
|
+
* executor's I/O resolves it to `%SystemRoot%\System32\wsl.exe`, never `PATH`.
|
|
31
|
+
*/
|
|
32
|
+
import type { EnableWslStepParameters, Sha256Digest } from '../../contracts/index.js';
|
|
33
|
+
export declare const ENABLE_WSL_RECIPE_ID = "windows.enable-wsl";
|
|
34
|
+
/** `ERROR_SUCCESS_REBOOT_REQUIRED`: the installer succeeded and Windows must restart before it applies. */
|
|
35
|
+
export declare const REBOOT_REQUIRED_EXIT_CODE = 3010;
|
|
36
|
+
/** The recipe as data: the three argv it runs, frozen, and what its digest is computed from. */
|
|
37
|
+
export declare const ENABLE_WSL_RECIPE: Readonly<{
|
|
38
|
+
recipe_id: "windows.enable-wsl";
|
|
39
|
+
install: readonly string[];
|
|
40
|
+
/** Asked before and while the install runs: exits 0 once a distribution runs. */
|
|
41
|
+
watch: readonly string[];
|
|
42
|
+
verify: readonly string[];
|
|
43
|
+
reboot_required_exit_code: 3010;
|
|
44
|
+
}>;
|
|
45
|
+
export declare const ENABLE_WSL_RECIPE_DIGEST: Sha256Digest;
|
|
46
|
+
/** The digest of the (empty) parameters: what a step and its receipt carry. */
|
|
47
|
+
export declare function enableWslParametersDigest(parameters: EnableWslStepParameters): Sha256Digest;
|
|
48
|
+
export declare const ENABLE_WSL_PARAMETERS_DIGEST: Sha256Digest;
|
|
49
|
+
export type EnableWslValidation = {
|
|
50
|
+
ok: true;
|
|
51
|
+
parameters: EnableWslStepParameters;
|
|
52
|
+
} | {
|
|
53
|
+
ok: false;
|
|
54
|
+
problems: string[];
|
|
55
|
+
};
|
|
56
|
+
/** The only valid parameters are none: any key at all is refused. */
|
|
57
|
+
export declare function validateEnableWslParameters(value: unknown): EnableWslValidation;
|
|
58
|
+
/** What the Windows provisioner binds a `windows.enable-wsl` step to (`EnableWslBinding`). */
|
|
59
|
+
export declare const ENABLE_WSL_BINDING: Readonly<{
|
|
60
|
+
recipe_id: "windows.enable-wsl";
|
|
61
|
+
recipe_digest: `sha256:${string}`;
|
|
62
|
+
parameters_digest: `sha256:${string}`;
|
|
63
|
+
}>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `windows.enable-wsl` (change `add-tensorrt-llm-windows`, task 2.4, design D2): the one privileged
|
|
3
|
+
* thing Atomic Chat ever asks for on Windows. The app runs `atomic-chat-core.exe host-step exec
|
|
4
|
+
* <request>` through UAC; the executor runs exactly `wsl --install`, then `wsl --status`, which says
|
|
5
|
+
* whether a WSL 2 VM can start now or only after a restart.
|
|
6
|
+
*
|
|
7
|
+
* Bare `wsl --install`, not `wsl --install --no-distribution`: on a Windows without the WSL package
|
|
8
|
+
* `System32\wsl.exe` is an inbox stub that understands only the bare form — it answered "The Windows
|
|
9
|
+
* Subsystem for Linux is not installed" to `--install --no-distribution` and to `--update` alike in
|
|
10
|
+
* the live acceptance (build 26200). The cost, accepted by the owner (2026-10-02): Windows also
|
|
11
|
+
* installs its default Ubuntu distribution, which may open its own first-run console after the
|
|
12
|
+
* restart. Atomic Chat never uses it; its own distribution is still imported unelevated afterwards.
|
|
13
|
+
|
|
14
|
+
* It takes no parameter. Nothing a client, a request file or a person could choose reaches the
|
|
15
|
+
* elevated process: no distribution name, no path, no flag. And it never runs `wsl.exe` with a
|
|
16
|
+
* distribution (`-d`, `--exec`, `--import`, …): an elevated `wsl.exe` registers and starts
|
|
17
|
+
* distributions for the elevated token — another user, or another mount namespace of the same one —
|
|
18
|
+
* where the app would never find them (microsoft/WSL#9690). Importing is the unelevated core's job.
|
|
19
|
+
*
|
|
20
|
+
* When no restart is needed (the VM platform was already on), `wsl --install` does not exit: its last
|
|
21
|
+
* act is to start the Ubuntu it installed, whose first-run prompt waits for a user name in the
|
|
22
|
+
* executor's hidden console — until the install deadline (live, build 26200, 2026-10-05). So while it
|
|
23
|
+
* runs the executor asks `wsl --list --running`: a running distribution means the install is done and
|
|
24
|
+
* a WSL 2 VM has started, and the install's process tree is ended there. A distribution already
|
|
25
|
+
* running before the install would answer the same, so then the executor waits for the exit as before.
|
|
26
|
+
*
|
|
27
|
+
* Its outcome: `completed` when WSL answers `--status` right away, `reboot-required` when the install
|
|
28
|
+
* succeeded but WSL cannot start until Windows restarts (or the installer said so with 3010), `failed`
|
|
29
|
+
* with the installer's exit code and output otherwise. `wsl.exe` here is the bare name; the Windows
|
|
30
|
+
* executor's I/O resolves it to `%SystemRoot%\System32\wsl.exe`, never `PATH`.
|
|
31
|
+
*/
|
|
32
|
+
import { canonicalDigest } from '../../runtime/environment/index.js';
|
|
33
|
+
export const ENABLE_WSL_RECIPE_ID = 'windows.enable-wsl';
|
|
34
|
+
/** `ERROR_SUCCESS_REBOOT_REQUIRED`: the installer succeeded and Windows must restart before it applies. */
|
|
35
|
+
export const REBOOT_REQUIRED_EXIT_CODE = 3010;
|
|
36
|
+
/** The recipe as data: the three argv it runs, frozen, and what its digest is computed from. */
|
|
37
|
+
export const ENABLE_WSL_RECIPE = Object.freeze({
|
|
38
|
+
recipe_id: ENABLE_WSL_RECIPE_ID,
|
|
39
|
+
install: Object.freeze(['wsl.exe', '--install']),
|
|
40
|
+
/** Asked before and while the install runs: exits 0 once a distribution runs. */
|
|
41
|
+
watch: Object.freeze(['wsl.exe', '--list', '--running']),
|
|
42
|
+
verify: Object.freeze(['wsl.exe', '--status']),
|
|
43
|
+
reboot_required_exit_code: REBOOT_REQUIRED_EXIT_CODE,
|
|
44
|
+
});
|
|
45
|
+
export const ENABLE_WSL_RECIPE_DIGEST = canonicalDigest({
|
|
46
|
+
recipe_id: ENABLE_WSL_RECIPE.recipe_id,
|
|
47
|
+
install: [...ENABLE_WSL_RECIPE.install],
|
|
48
|
+
watch: [...ENABLE_WSL_RECIPE.watch],
|
|
49
|
+
verify: [...ENABLE_WSL_RECIPE.verify],
|
|
50
|
+
reboot_required_exit_code: ENABLE_WSL_RECIPE.reboot_required_exit_code,
|
|
51
|
+
});
|
|
52
|
+
/** The digest of the (empty) parameters: what a step and its receipt carry. */
|
|
53
|
+
export function enableWslParametersDigest(parameters) {
|
|
54
|
+
return canonicalDigest(parameters);
|
|
55
|
+
}
|
|
56
|
+
export const ENABLE_WSL_PARAMETERS_DIGEST = enableWslParametersDigest({});
|
|
57
|
+
/** The only valid parameters are none: any key at all is refused. */
|
|
58
|
+
export function validateEnableWslParameters(value) {
|
|
59
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value)) {
|
|
60
|
+
return { ok: false, problems: ['parameters must be an object'] };
|
|
61
|
+
}
|
|
62
|
+
const keys = Object.keys(value);
|
|
63
|
+
return keys.length === 0
|
|
64
|
+
? { ok: true, parameters: {} }
|
|
65
|
+
: { ok: false, problems: [`windows.enable-wsl takes no parameters (got ${keys.sort().join(', ')})`] };
|
|
66
|
+
}
|
|
67
|
+
/** What the Windows provisioner binds a `windows.enable-wsl` step to (`EnableWslBinding`). */
|
|
68
|
+
export const ENABLE_WSL_BINDING = Object.freeze({
|
|
69
|
+
recipe_id: ENABLE_WSL_RECIPE_ID,
|
|
70
|
+
recipe_digest: ENABLE_WSL_RECIPE_DIGEST,
|
|
71
|
+
parameters_digest: ENABLE_WSL_PARAMETERS_DIGEST,
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=enable-wsl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable-wsl.js","sourceRoot":"","sources":["../../../src/host/recipes/enable-wsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAExD,2GAA2G;AAC3G,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAE7C,gGAAgG;AAChG,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,oBAAoB;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAsB;IACrE,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAsB;IAC7E,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAsB;IACnE,yBAAyB,EAAE,yBAAyB;CACrD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAiB,eAAe,CAAC;IACpE,SAAS,EAAE,iBAAiB,CAAC,SAAS;IACtC,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC;IACvC,KAAK,EAAE,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC;IACrC,yBAAyB,EAAE,iBAAiB,CAAC,yBAAyB;CACvE,CAAC,CAAA;AAEF,+EAA+E;AAC/E,MAAM,UAAU,yBAAyB,CAAC,UAAmC;IAC3E,OAAO,eAAe,CAAC,UAAU,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAiB,yBAAyB,CAAC,EAAE,CAAC,CAAA;AAKvF,qEAAqE;AACrE,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAA;IAClE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;QAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,+CAA+C,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AACzG,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,oBAAoB;IAC/B,aAAa,EAAE,wBAAwB;IACvC,iBAAiB,EAAE,4BAA4B;CAChD,CAAC,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The real I/O behind `executeHostStep` on Windows (change `add-tensorrt-llm-windows`, task 2.4,
|
|
3
|
+
* design D15), for a process UAC elevated. The Linux checks (`executor-io.ts`) trust a folder by its
|
|
4
|
+
* uid and mode bits; Windows has neither, so the same promise is kept with its owner and its ACL.
|
|
5
|
+
*
|
|
6
|
+
* The app writes `<step_id>.request.json` into a folder under the user's `%LOCALAPPDATA%` whose ACL
|
|
7
|
+
* grants access only to the user, `SYSTEM` and `Administrators`, then runs this executor elevated.
|
|
8
|
+
* Before the request is read and again before the result is written, the folder — and the request
|
|
9
|
+
* itself — must be:
|
|
10
|
+
*
|
|
11
|
+
* - a real directory (file), not a reparse point: a junction or a symlink could send the elevated
|
|
12
|
+
* write of `<step_id>.result.json` into a system folder;
|
|
13
|
+
* - owned by an account, not by a broad group (`Everyone`, `Users`, `Authenticated Users`, …);
|
|
14
|
+
* - writable by nobody but that owner, `SYSTEM`, `Administrators` and `CREATOR OWNER`: an `Allow`
|
|
15
|
+
* entry granting any write, delete or permission-changing right to anyone else refuses it.
|
|
16
|
+
*
|
|
17
|
+
* Owner and ACL are read by SID, never by name (names are localized): one PowerShell query per
|
|
18
|
+
* path, the path passed in an environment variable rather than spliced into the script. Every file
|
|
19
|
+
* the executor writes goes to a fresh temporary name created exclusively and is renamed into place.
|
|
20
|
+
*
|
|
21
|
+
* Commands: only `wsl.exe`, resolved to `%SystemRoot%\System32\wsl.exe`; anything else is refused —
|
|
22
|
+
* the only recipe that runs on Windows is `windows.enable-wsl`.
|
|
23
|
+
*/
|
|
24
|
+
import type { HostCommandOutput, HostStepExecutorDeps } from './executor.js';
|
|
25
|
+
/** One access rule as `Get-Acl` reports it, by SID. */
|
|
26
|
+
export interface WindowsAclRule {
|
|
27
|
+
sid: string;
|
|
28
|
+
allow: boolean;
|
|
29
|
+
rights: number;
|
|
30
|
+
}
|
|
31
|
+
/** A path's owner, ACL and whether it is a reparse point. */
|
|
32
|
+
export interface WindowsAcl {
|
|
33
|
+
reparse: boolean;
|
|
34
|
+
directory: boolean;
|
|
35
|
+
owner: string;
|
|
36
|
+
rules: WindowsAclRule[];
|
|
37
|
+
}
|
|
38
|
+
/** Why `acl` cannot be trusted for `what`, or null when it can. Pure. */
|
|
39
|
+
export declare function judgeWindowsAcl(acl: WindowsAcl, what: string, expect: 'directory' | 'file'): string | null;
|
|
40
|
+
/** `Get-Acl`'s answer, parsed; throws when PowerShell did not give one. */
|
|
41
|
+
export declare function parseWindowsAcl(output: HostCommandOutput): WindowsAcl;
|
|
42
|
+
/** The calls this module makes, injectable so a test fakes owners and ACLs it cannot create. */
|
|
43
|
+
export interface WindowsHostStepIo {
|
|
44
|
+
/** Runs one command, no shell; `env` is added to the inherited environment. */
|
|
45
|
+
exec(command: string, args: string[], options?: {
|
|
46
|
+
timeoutMs?: number;
|
|
47
|
+
env?: Record<string, string>;
|
|
48
|
+
console?: boolean;
|
|
49
|
+
/** With `console`: polled while it runs; true ends the process tree (`cutShort`, code 0). */
|
|
50
|
+
until?: () => Promise<boolean>;
|
|
51
|
+
}): Promise<HostCommandOutput>;
|
|
52
|
+
/** Whether `path` is a symlink/junction, a file, a directory, and its size. */
|
|
53
|
+
lstat(path: string): Promise<{
|
|
54
|
+
isSymbolicLink(): boolean;
|
|
55
|
+
isFile(): boolean;
|
|
56
|
+
isDirectory(): boolean;
|
|
57
|
+
size: number;
|
|
58
|
+
}>;
|
|
59
|
+
readFile(path: string): Promise<string>;
|
|
60
|
+
/** Creates `path` exclusively and writes `text`; never follows or replaces what is there. */
|
|
61
|
+
createExclusive(path: string, text: string): Promise<void>;
|
|
62
|
+
rename(from: string, to: string): Promise<void>;
|
|
63
|
+
remove(path: string): Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The executor's dependencies on a Windows machine. `env` gives `%SystemRoot%`, where the only
|
|
67
|
+
* command it runs — `wsl.exe` — and PowerShell live.
|
|
68
|
+
*/
|
|
69
|
+
export declare function windowsHostStepDeps(env: NodeJS.ProcessEnv, io?: WindowsHostStepIo): HostStepExecutorDeps;
|