@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,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Getting a runtime descriptor onto disk and keeping the right one in play (openspec change
|
|
3
|
+
* `add-tensorrt-llm-linux`, task 2.3; spec `runtime-descriptor-catalog`, "Core получает и кэширует
|
|
4
|
+
* дескриптор", "Установка закрепляет свой дескриптор", "Минимальные версии соблюдаются"; design D7).
|
|
5
|
+
*
|
|
6
|
+
* `descriptor.ts` (task 2.1) only checks shape; this file decides which bytes ever reach it, and
|
|
7
|
+
* what happens to the result. Two rules shape the whole thing:
|
|
8
|
+
*
|
|
9
|
+
* - A descriptor is accepted only when it parses AND its `minimum_core_version` is no higher than
|
|
10
|
+
* this build's own `CORE_VERSION`. An accepted descriptor is cached forever, keyed by its own
|
|
11
|
+
* `descriptor_id` — conf's own rule is that a `descriptor_id`'s content never changes, so the
|
|
12
|
+
* cached copy is exactly as good as a fresh fetch would be, on every later read.
|
|
13
|
+
* - An existing installation is pinned to the `descriptor_id` it was set up with
|
|
14
|
+
* (`RuntimeInstallation.active_descriptor_id`). `forInstallation` only ever reads that one
|
|
15
|
+
* descriptor back off the cache; it never calls `fetch`, so a new release published in conf
|
|
16
|
+
* cannot change, or even touch, an installed engine. `forNewSetup` is the only path that talks
|
|
17
|
+
* to the network, and only for a setup that has not pinned anything yet.
|
|
18
|
+
*
|
|
19
|
+
* How a document is fetched, accepted and cached — the version gate, the `file://`/`https://`-only
|
|
20
|
+
* override, the lock-free atomic cache writes, "a failed cache write is not fatal" — is the shared
|
|
21
|
+
* mechanism in `cached-document.ts` (change `extract-environment-manifest`, design D3), which the
|
|
22
|
+
* environment manifest uses too. This file only says which document it is and turns the
|
|
23
|
+
* mechanism's answer into this provider's API and messages. Nothing here ever removes a cache entry,
|
|
24
|
+
* which is exactly why an installation's pinned descriptor survives a new release.
|
|
25
|
+
*
|
|
26
|
+
* One descriptor per engine (change `add-vllm-runtime`, design D2; spec `runtime-descriptor-catalog`,
|
|
27
|
+
* "Core получает и кэширует дескриптор"): every engine core has an adapter for has its own source
|
|
28
|
+
* (`runtimes/<engine_id>.json`), its own override `ATOMIC_RUNTIME_DESCRIPTOR_URL_<ENGINE>` (the
|
|
29
|
+
* legacy `ATOMIC_RUNTIME_DESCRIPTOR_URL` still moves `tensorrt-llm`'s) and its own "last accepted"
|
|
30
|
+
* pointer `descriptors/latest-<engine_id>.json`. The cache by `descriptor_id` stays one folder, so
|
|
31
|
+
* `forInstallation(id)` does not need to know the engine. A document whose `engine_id` is not the
|
|
32
|
+
* engine it was fetched for is rejected on receipt, like any invalid document; one engine's source
|
|
33
|
+
* being unreachable never touches another's answer.
|
|
34
|
+
*/
|
|
35
|
+
import { AtomicCoreError } from '../../contracts/index.js';
|
|
36
|
+
import type { RuntimeDescriptor } from '../../contracts/index.js';
|
|
37
|
+
import { type DocumentCacheFs, type DocumentFetch } from './cached-document.js';
|
|
38
|
+
/** The legacy override: still moves the `tensorrt-llm` source (e2e, `docs/`, manual checks). */
|
|
39
|
+
export declare const RUNTIME_DESCRIPTOR_URL_ENV = "ATOMIC_RUNTIME_DESCRIPTOR_URL";
|
|
40
|
+
/** `ATOMIC_RUNTIME_DESCRIPTOR_URL_<ENGINE>`: the engine id upper-cased, `-` as `_`. */
|
|
41
|
+
export declare function runtimeDescriptorUrlEnv(engineId: string): string;
|
|
42
|
+
/** The variables that override one engine's source, in the order they win. */
|
|
43
|
+
export declare function runtimeDescriptorUrlEnvs(engineId: string): string[];
|
|
44
|
+
/** The TensorRT-LLM engine: the first managed engine, and the one the legacy pointer and variable mean. */
|
|
45
|
+
export declare const TENSORRT_LLM_ENGINE_ID = "tensorrt-llm";
|
|
46
|
+
/** conf main, the published TensorRT-LLM descriptor (controller ruling for task 2.3). */
|
|
47
|
+
export declare const DEFAULT_TENSORRT_LLM_DESCRIPTOR_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/tensorrt-llm.json";
|
|
48
|
+
/** conf main's published descriptor of one engine: `runtimes/<engine_id>.json`. */
|
|
49
|
+
export declare function defaultDescriptorUrl(engineId: string): string;
|
|
50
|
+
/** Where one engine's descriptor comes from: its id, the name messages use, and conf main's file. */
|
|
51
|
+
export interface DescriptorSource {
|
|
52
|
+
engine_id: string;
|
|
53
|
+
/** "TensorRT-LLM", "vLLM": the engine in messages. */
|
|
54
|
+
label: string;
|
|
55
|
+
url: string;
|
|
56
|
+
}
|
|
57
|
+
export declare const TENSORRT_LLM_DESCRIPTOR_SOURCE: DescriptorSource;
|
|
58
|
+
/** One way of fetching the descriptor document; `timeoutMs` is the hard budget to honour. */
|
|
59
|
+
export type DescriptorFetch = DocumentFetch;
|
|
60
|
+
/** A transport over a `fetch`-compatible function with an abort-on-timeout, matching the manifest's. */
|
|
61
|
+
export declare function descriptorFetchFromFetch(fetchImpl: typeof fetch): DescriptorFetch;
|
|
62
|
+
export interface DescriptorProviderOptions {
|
|
63
|
+
/** Where the override variables are read from; the real process env in production. */
|
|
64
|
+
env: Record<string, string | undefined>;
|
|
65
|
+
fetch: DescriptorFetch;
|
|
66
|
+
/** Reads a `file://…` override; rejects when the file does not exist or cannot be read. */
|
|
67
|
+
readFile: (path: string) => Promise<string>;
|
|
68
|
+
fs?: DocumentCacheFs;
|
|
69
|
+
/** The shared per-user managed root (`managedSharedRoot`); both scopes share one cache. */
|
|
70
|
+
root: string;
|
|
71
|
+
/** This build's own version; defaults to `CORE_VERSION`. A test pins it to check the gate. */
|
|
72
|
+
coreVersion?: string;
|
|
73
|
+
/** The engines core has an adapter for, each with its source; defaults to TensorRT-LLM alone. */
|
|
74
|
+
engines?: readonly DescriptorSource[] | undefined;
|
|
75
|
+
timeoutMs?: number;
|
|
76
|
+
/** A rejected source scheme or a failed cache write is never fatal; this is where it is reported. */
|
|
77
|
+
onWarn?: (message: string) => void;
|
|
78
|
+
}
|
|
79
|
+
export type DescriptorProviderResult = {
|
|
80
|
+
kind: 'available';
|
|
81
|
+
descriptor: RuntimeDescriptor;
|
|
82
|
+
/**
|
|
83
|
+
* `forNewSetup` only: `remote` — accepted from this fetch; `cache` — the fallback to the last
|
|
84
|
+
* accepted one. What `POST /engines/versions` reports as its source (change `unify-engine-lifecycle`).
|
|
85
|
+
*/
|
|
86
|
+
source?: 'remote' | 'cache';
|
|
87
|
+
} | {
|
|
88
|
+
kind: 'unsupported';
|
|
89
|
+
error: AtomicCoreError;
|
|
90
|
+
};
|
|
91
|
+
/** Give the descriptor provider a clear API: one path for a pinned installation, one for a fresh setup. */
|
|
92
|
+
export interface RuntimeDescriptorProvider {
|
|
93
|
+
/** The engines this provider has a source for, in registration order. */
|
|
94
|
+
readonly engines: readonly DescriptorSource[];
|
|
95
|
+
/**
|
|
96
|
+
* The descriptor a fresh setup of `engineId` (or a probe before one) would use. Fetches from that
|
|
97
|
+
* engine's source; on any failure to obtain a newly *accepted* descriptor — network failure, an
|
|
98
|
+
* invalid document, another engine's document, or one that needs a newer core than this build —
|
|
99
|
+
* falls back to that engine's latest previously accepted descriptor in the cache, without ever
|
|
100
|
+
* surfacing that fallback as an error. `fetch` is never called by anything else in this provider.
|
|
101
|
+
*/
|
|
102
|
+
forNewSetup(engineId: string): Promise<DescriptorProviderResult>;
|
|
103
|
+
/**
|
|
104
|
+
* The exact descriptor a pinned installation was set up with. Reads the cache only — this never
|
|
105
|
+
* calls `fetch` or `readFile`, so a release published in conf after this installation exists
|
|
106
|
+
* cannot change what it resolves to, or even be noticed by this call.
|
|
107
|
+
*/
|
|
108
|
+
forInstallation(descriptorId: string): Promise<DescriptorProviderResult>;
|
|
109
|
+
/**
|
|
110
|
+
* What `forNewSetup(engineId)` would answer if it could not reach the network at all: that
|
|
111
|
+
* engine's latest previously accepted descriptor in the cache, or `unsupported` when nothing has
|
|
112
|
+
* ever been accepted for it. Network-free like `forInstallation` — never calls `fetch` or
|
|
113
|
+
* `readFile` — so a caller that only wants to know "what governs this engine right now" (the
|
|
114
|
+
* compatibility check, the snapshot's `minimum_app_version`) never pays for, or waits on, a fetch.
|
|
115
|
+
*/
|
|
116
|
+
cachedForNewSetup(engineId: string): Promise<DescriptorProviderResult>;
|
|
117
|
+
}
|
|
118
|
+
/** `minimum_core_version` no higher than this build's own version (design D7, numeric semver compare). */
|
|
119
|
+
export declare function descriptorMeetsCoreVersion(descriptor: RuntimeDescriptor, coreVersion: string): boolean;
|
|
120
|
+
/** Build the provider. Construction does no I/O; every network or disk access happens per call. */
|
|
121
|
+
export declare function createRuntimeDescriptorProvider(options: DescriptorProviderOptions): RuntimeDescriptorProvider;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Getting a runtime descriptor onto disk and keeping the right one in play (openspec change
|
|
3
|
+
* `add-tensorrt-llm-linux`, task 2.3; spec `runtime-descriptor-catalog`, "Core получает и кэширует
|
|
4
|
+
* дескриптор", "Установка закрепляет свой дескриптор", "Минимальные версии соблюдаются"; design D7).
|
|
5
|
+
*
|
|
6
|
+
* `descriptor.ts` (task 2.1) only checks shape; this file decides which bytes ever reach it, and
|
|
7
|
+
* what happens to the result. Two rules shape the whole thing:
|
|
8
|
+
*
|
|
9
|
+
* - A descriptor is accepted only when it parses AND its `minimum_core_version` is no higher than
|
|
10
|
+
* this build's own `CORE_VERSION`. An accepted descriptor is cached forever, keyed by its own
|
|
11
|
+
* `descriptor_id` — conf's own rule is that a `descriptor_id`'s content never changes, so the
|
|
12
|
+
* cached copy is exactly as good as a fresh fetch would be, on every later read.
|
|
13
|
+
* - An existing installation is pinned to the `descriptor_id` it was set up with
|
|
14
|
+
* (`RuntimeInstallation.active_descriptor_id`). `forInstallation` only ever reads that one
|
|
15
|
+
* descriptor back off the cache; it never calls `fetch`, so a new release published in conf
|
|
16
|
+
* cannot change, or even touch, an installed engine. `forNewSetup` is the only path that talks
|
|
17
|
+
* to the network, and only for a setup that has not pinned anything yet.
|
|
18
|
+
*
|
|
19
|
+
* How a document is fetched, accepted and cached — the version gate, the `file://`/`https://`-only
|
|
20
|
+
* override, the lock-free atomic cache writes, "a failed cache write is not fatal" — is the shared
|
|
21
|
+
* mechanism in `cached-document.ts` (change `extract-environment-manifest`, design D3), which the
|
|
22
|
+
* environment manifest uses too. This file only says which document it is and turns the
|
|
23
|
+
* mechanism's answer into this provider's API and messages. Nothing here ever removes a cache entry,
|
|
24
|
+
* which is exactly why an installation's pinned descriptor survives a new release.
|
|
25
|
+
*
|
|
26
|
+
* One descriptor per engine (change `add-vllm-runtime`, design D2; spec `runtime-descriptor-catalog`,
|
|
27
|
+
* "Core получает и кэширует дескриптор"): every engine core has an adapter for has its own source
|
|
28
|
+
* (`runtimes/<engine_id>.json`), its own override `ATOMIC_RUNTIME_DESCRIPTOR_URL_<ENGINE>` (the
|
|
29
|
+
* legacy `ATOMIC_RUNTIME_DESCRIPTOR_URL` still moves `tensorrt-llm`'s) and its own "last accepted"
|
|
30
|
+
* pointer `descriptors/latest-<engine_id>.json`. The cache by `descriptor_id` stays one folder, so
|
|
31
|
+
* `forInstallation(id)` does not need to know the engine. A document whose `engine_id` is not the
|
|
32
|
+
* engine it was fetched for is rejected on receipt, like any invalid document; one engine's source
|
|
33
|
+
* being unreachable never touches another's answer.
|
|
34
|
+
*/
|
|
35
|
+
import { AtomicCoreError } from '../../contracts/index.js';
|
|
36
|
+
import { managedSharedPaths } from '../../config/index.js';
|
|
37
|
+
import { createCachedDocuments, documentFetchFromFetch, meetsCoreVersion, } from './cached-document.js';
|
|
38
|
+
import { parseRuntimeDescriptor } from './descriptor.js';
|
|
39
|
+
/** The legacy override: still moves the `tensorrt-llm` source (e2e, `docs/`, manual checks). */
|
|
40
|
+
export const RUNTIME_DESCRIPTOR_URL_ENV = 'ATOMIC_RUNTIME_DESCRIPTOR_URL';
|
|
41
|
+
/** `ATOMIC_RUNTIME_DESCRIPTOR_URL_<ENGINE>`: the engine id upper-cased, `-` as `_`. */
|
|
42
|
+
export function runtimeDescriptorUrlEnv(engineId) {
|
|
43
|
+
return `${RUNTIME_DESCRIPTOR_URL_ENV}_${engineId.toUpperCase().replace(/-/g, '_')}`;
|
|
44
|
+
}
|
|
45
|
+
/** The variables that override one engine's source, in the order they win. */
|
|
46
|
+
export function runtimeDescriptorUrlEnvs(engineId) {
|
|
47
|
+
return engineId === TENSORRT_LLM_ENGINE_ID
|
|
48
|
+
? [runtimeDescriptorUrlEnv(engineId), RUNTIME_DESCRIPTOR_URL_ENV]
|
|
49
|
+
: [runtimeDescriptorUrlEnv(engineId)];
|
|
50
|
+
}
|
|
51
|
+
/** The TensorRT-LLM engine: the first managed engine, and the one the legacy pointer and variable mean. */
|
|
52
|
+
export const TENSORRT_LLM_ENGINE_ID = 'tensorrt-llm';
|
|
53
|
+
/** conf main, the published TensorRT-LLM descriptor (controller ruling for task 2.3). */
|
|
54
|
+
export const DEFAULT_TENSORRT_LLM_DESCRIPTOR_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/tensorrt-llm.json';
|
|
55
|
+
/** conf main's published descriptor of one engine: `runtimes/<engine_id>.json`. */
|
|
56
|
+
export function defaultDescriptorUrl(engineId) {
|
|
57
|
+
return `https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/${engineId}.json`;
|
|
58
|
+
}
|
|
59
|
+
export const TENSORRT_LLM_DESCRIPTOR_SOURCE = {
|
|
60
|
+
engine_id: TENSORRT_LLM_ENGINE_ID,
|
|
61
|
+
label: 'TensorRT-LLM',
|
|
62
|
+
url: DEFAULT_TENSORRT_LLM_DESCRIPTOR_URL,
|
|
63
|
+
};
|
|
64
|
+
/** A transport over a `fetch`-compatible function with an abort-on-timeout, matching the manifest's. */
|
|
65
|
+
export function descriptorFetchFromFetch(fetchImpl) {
|
|
66
|
+
return documentFetchFromFetch(fetchImpl, 'Runtime descriptor');
|
|
67
|
+
}
|
|
68
|
+
const noSource = (engineId) => new AtomicCoreError('MANAGED_METADATA_INVALID', `This core has no runtime descriptor source for ${engineId}.`);
|
|
69
|
+
const noDescriptorAvailable = (label) => new AtomicCoreError('MANAGED_METADATA_INVALID', `No ${label} runtime descriptor is available: the network is unreachable or it is not published yet, and nothing has been cached.`);
|
|
70
|
+
const noCachedDescriptor = (label) => new AtomicCoreError('MANAGED_METADATA_INVALID', `No ${label} runtime descriptor has been cached yet.`);
|
|
71
|
+
const updateRequired = (label, descriptorId) => new AtomicCoreError('MANAGED_METADATA_INVALID', `This ${label} engine release requires a newer version of Atomic Chat; update required.`, descriptorId);
|
|
72
|
+
const missingPinnedDescriptor = (descriptorId) => new AtomicCoreError('MANAGED_METADATA_INVALID', 'The runtime descriptor this installation was set up with is no longer cached.', descriptorId);
|
|
73
|
+
/** `minimum_core_version` no higher than this build's own version (design D7, numeric semver compare). */
|
|
74
|
+
export function descriptorMeetsCoreVersion(descriptor, coreVersion) {
|
|
75
|
+
return meetsCoreVersion(descriptor.minimum_core_version, coreVersion);
|
|
76
|
+
}
|
|
77
|
+
/** Build the provider. Construction does no I/O; every network or disk access happens per call. */
|
|
78
|
+
export function createRuntimeDescriptorProvider(options) {
|
|
79
|
+
const paths = managedSharedPaths(options.root);
|
|
80
|
+
const engines = options.engines ?? [TENSORRT_LLM_DESCRIPTOR_SOURCE];
|
|
81
|
+
const shared = {
|
|
82
|
+
env: options.env,
|
|
83
|
+
fetch: options.fetch,
|
|
84
|
+
readFile: options.readFile,
|
|
85
|
+
...(options.fs === undefined ? {} : { fs: options.fs }),
|
|
86
|
+
...(options.coreVersion === undefined ? {} : { coreVersion: options.coreVersion }),
|
|
87
|
+
...(options.timeoutMs === undefined ? {} : { timeoutMs: options.timeoutMs }),
|
|
88
|
+
...(options.onWarn === undefined ? {} : { onWarn: options.onWarn }),
|
|
89
|
+
};
|
|
90
|
+
const documentsOf = (source) => createCachedDocuments({
|
|
91
|
+
label: `${source.label} runtime descriptor`,
|
|
92
|
+
urlEnv: runtimeDescriptorUrlEnvs(source.engine_id),
|
|
93
|
+
parse: (input) => {
|
|
94
|
+
const descriptor = parseRuntimeDescriptor(input);
|
|
95
|
+
if (descriptor.engine_id !== source.engine_id) {
|
|
96
|
+
throw new Error(`descriptor ${descriptor.descriptor_id} is for ${descriptor.engine_id}, not ${source.engine_id}`);
|
|
97
|
+
}
|
|
98
|
+
return descriptor;
|
|
99
|
+
},
|
|
100
|
+
idField: 'descriptor_id',
|
|
101
|
+
id: (descriptor) => descriptor.descriptor_id,
|
|
102
|
+
minimumCoreVersion: (descriptor) => descriptor.minimum_core_version,
|
|
103
|
+
cacheDir: paths.descriptorsDir,
|
|
104
|
+
cacheFile: paths.descriptorFile,
|
|
105
|
+
latestFile: paths.descriptorLatestFileFor(source.engine_id),
|
|
106
|
+
...(source.engine_id === TENSORRT_LLM_ENGINE_ID
|
|
107
|
+
? { legacyLatestFiles: [paths.descriptorLatestFile] }
|
|
108
|
+
: {}),
|
|
109
|
+
}, { ...shared, url: source.url });
|
|
110
|
+
const byEngine = new Map(engines.map((source) => [source.engine_id, { source, documents: documentsOf(source) }]));
|
|
111
|
+
// Any engine's parse accepts any descriptor for the cache-by-id read: a pinned installation names
|
|
112
|
+
// its own descriptor, and `forInstallation` never needs to know which engine that is.
|
|
113
|
+
const anyDocuments = createCachedDocuments({
|
|
114
|
+
label: 'Runtime descriptor',
|
|
115
|
+
urlEnv: [],
|
|
116
|
+
parse: parseRuntimeDescriptor,
|
|
117
|
+
idField: 'descriptor_id',
|
|
118
|
+
id: (descriptor) => descriptor.descriptor_id,
|
|
119
|
+
minimumCoreVersion: (descriptor) => descriptor.minimum_core_version,
|
|
120
|
+
cacheDir: paths.descriptorsDir,
|
|
121
|
+
cacheFile: paths.descriptorFile,
|
|
122
|
+
latestFile: paths.descriptorLatestFile,
|
|
123
|
+
}, { ...shared, url: '' });
|
|
124
|
+
return {
|
|
125
|
+
engines,
|
|
126
|
+
async forNewSetup(engineId) {
|
|
127
|
+
const entry = byEngine.get(engineId);
|
|
128
|
+
if (entry === undefined)
|
|
129
|
+
return { kind: 'unsupported', error: noSource(engineId) };
|
|
130
|
+
const latest = await entry.documents.latest();
|
|
131
|
+
switch (latest.kind) {
|
|
132
|
+
case 'fresh':
|
|
133
|
+
return { kind: 'available', descriptor: latest.document, source: 'remote' };
|
|
134
|
+
case 'cached':
|
|
135
|
+
return { kind: 'available', descriptor: latest.document, source: 'cache' };
|
|
136
|
+
case 'too-new':
|
|
137
|
+
return { kind: 'unsupported', error: updateRequired(entry.source.label, latest.id) };
|
|
138
|
+
case 'none':
|
|
139
|
+
return { kind: 'unsupported', error: noDescriptorAvailable(entry.source.label) };
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
async forInstallation(descriptorId) {
|
|
143
|
+
const cached = await anyDocuments.cached(descriptorId);
|
|
144
|
+
if (cached !== null)
|
|
145
|
+
return { kind: 'available', descriptor: cached };
|
|
146
|
+
return { kind: 'unsupported', error: missingPinnedDescriptor(descriptorId) };
|
|
147
|
+
},
|
|
148
|
+
async cachedForNewSetup(engineId) {
|
|
149
|
+
const entry = byEngine.get(engineId);
|
|
150
|
+
if (entry === undefined)
|
|
151
|
+
return { kind: 'unsupported', error: noSource(engineId) };
|
|
152
|
+
const previous = await entry.documents.latestCached();
|
|
153
|
+
if (previous !== null)
|
|
154
|
+
return { kind: 'available', descriptor: previous };
|
|
155
|
+
return { kind: 'unsupported', error: noCachedDescriptor(entry.source.label) };
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=descriptor-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptor-provider.js","sourceRoot":"","sources":["../../../src/runtime/environment/descriptor-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading a runtime descriptor: the metadata that says which container image an engine runs, what
|
|
3
|
+
* the host needs first, and what that release can load. Shape follows
|
|
4
|
+
* `atomic-chat-conf/runtimes/schema.json`, the source of truth for what a published descriptor
|
|
5
|
+
* contains; this parser is the core's own trust boundary for it (conf CI enforces the schema, this
|
|
6
|
+
* enforces it again on the wire, since a descriptor arrives over HTTPS and is never trusted blind).
|
|
7
|
+
*
|
|
8
|
+
* Two rules shape this file, both from the schema's own description. A descriptor carries data and
|
|
9
|
+
* only data — no command, no argv, no script — because the argv belongs to the compiled adapter
|
|
10
|
+
* inside this binary; the descriptor may only name an adapter id. (Which distributions core may
|
|
11
|
+
* install a container runtime on is the environment manifest's, `environment-manifest.ts`.) And every image is pinned by digest: a descriptor that names a tag is
|
|
12
|
+
* refused, because a tag can be repointed by whoever owns the registry and a qualification result
|
|
13
|
+
* is about exact bytes.
|
|
14
|
+
*
|
|
15
|
+
* Scope for this task (openspec change `add-tensorrt-llm-linux`, task 2.1): only the pure shape
|
|
16
|
+
* validator that proves the parser accepts the real `runtimes/tensorrt-llm.json` fixture. It does
|
|
17
|
+
* not yet check a descriptor's `adapter_id` against a compiled adapter registry (design D9's
|
|
18
|
+
* `ManagedTextAdapter` registry does not exist until task 2.12) — that check, HTTPS fetching,
|
|
19
|
+
* on-disk caching and `descriptor_id` pinning are task 2.2's `src/runtime/environment/*`.
|
|
20
|
+
*/
|
|
21
|
+
import type { RuntimeDescriptor, RuntimeDescriptorSummary } from '../../contracts/index.js';
|
|
22
|
+
/**
|
|
23
|
+
* Validate one descriptor's shape against `atomic-chat-conf/runtimes/schema.json`. Throws
|
|
24
|
+
* `AtomicCoreError('MANAGED_METADATA_INVALID', ...)` naming the first field that does not fit.
|
|
25
|
+
*
|
|
26
|
+
* Does not check `adapter_id` against a compiled adapter registry. A descriptor carrying `recipes`
|
|
27
|
+
* is refused as an unknown field: install recipes are the environment manifest's.
|
|
28
|
+
*/
|
|
29
|
+
export declare function parseRuntimeDescriptor(input: unknown): RuntimeDescriptor;
|
|
30
|
+
/**
|
|
31
|
+
* The client-facing part of a descriptor (task 2.22): its id and engine, the notices exactly as
|
|
32
|
+
* published, the curated checkpoints and the supported architectures. Fresh copies, so nothing that
|
|
33
|
+
* holds the summary can reach into the descriptor it came from.
|
|
34
|
+
*/
|
|
35
|
+
export declare function summarizeRuntimeDescriptor(descriptor: RuntimeDescriptor): RuntimeDescriptorSummary;
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading a runtime descriptor: the metadata that says which container image an engine runs, what
|
|
3
|
+
* the host needs first, and what that release can load. Shape follows
|
|
4
|
+
* `atomic-chat-conf/runtimes/schema.json`, the source of truth for what a published descriptor
|
|
5
|
+
* contains; this parser is the core's own trust boundary for it (conf CI enforces the schema, this
|
|
6
|
+
* enforces it again on the wire, since a descriptor arrives over HTTPS and is never trusted blind).
|
|
7
|
+
*
|
|
8
|
+
* Two rules shape this file, both from the schema's own description. A descriptor carries data and
|
|
9
|
+
* only data — no command, no argv, no script — because the argv belongs to the compiled adapter
|
|
10
|
+
* inside this binary; the descriptor may only name an adapter id. (Which distributions core may
|
|
11
|
+
* install a container runtime on is the environment manifest's, `environment-manifest.ts`.) And every image is pinned by digest: a descriptor that names a tag is
|
|
12
|
+
* refused, because a tag can be repointed by whoever owns the registry and a qualification result
|
|
13
|
+
* is about exact bytes.
|
|
14
|
+
*
|
|
15
|
+
* Scope for this task (openspec change `add-tensorrt-llm-linux`, task 2.1): only the pure shape
|
|
16
|
+
* validator that proves the parser accepts the real `runtimes/tensorrt-llm.json` fixture. It does
|
|
17
|
+
* not yet check a descriptor's `adapter_id` against a compiled adapter registry (design D9's
|
|
18
|
+
* `ManagedTextAdapter` registry does not exist until task 2.12) — that check, HTTPS fetching,
|
|
19
|
+
* on-disk caching and `descriptor_id` pinning are task 2.2's `src/runtime/environment/*`.
|
|
20
|
+
*/
|
|
21
|
+
import { DOCUMENT_ID, DOCUMENT_ID_LABEL, DOCUMENT_SEMVER, documentFields } from './document-fields.js';
|
|
22
|
+
const DIGEST = /^sha256:[0-9a-f]{64}$/;
|
|
23
|
+
/** NVML's `major.minor`, e.g. `8.9` or `12.0`. */
|
|
24
|
+
const CAPABILITY = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/;
|
|
25
|
+
/** NVIDIA display driver version: 2 or 3 dot-separated components, e.g. `590.44.01`. */
|
|
26
|
+
const DRIVER_VERSION = /^[0-9]+\.[0-9]+(\.[0-9]+)?$/;
|
|
27
|
+
/** HF `config.json` `architectures` entries and `model_families` keys, e.g. `LlamaForCausalLM` or
|
|
28
|
+
* `Qwen3_5ForConditionalGeneration` (Qwen3.5 and later spell the version with an underscore). */
|
|
29
|
+
const ARCHITECTURE_NAME = /^[A-Z][A-Za-z0-9_]*$/;
|
|
30
|
+
/** A bare parser name: no flags, no paths, no leading dash — the adapter passes it as one argv value. */
|
|
31
|
+
const PARSER_NAME = /^[a-z0-9][a-z0-9_.-]*$/;
|
|
32
|
+
// The patterns below are copied character-for-character from
|
|
33
|
+
// `atomic-chat-conf/runtimes/schema.json`'s `definitions`, so this parser's trust boundary is at
|
|
34
|
+
// least as strict as what conf CI already enforced on the published document. Do not relax one of
|
|
35
|
+
// these without updating the schema first — the descriptor is untrusted network input, and a field
|
|
36
|
+
// like a repository ends up in `docker` argv (task 2.8), so a pattern miss here is not cosmetic.
|
|
37
|
+
// `id` and `semver` are shared with the environment manifest (`document-fields.ts`).
|
|
38
|
+
/** `#/definitions/imageRepository`: no `@digest`, no `:tag` after the last path segment. */
|
|
39
|
+
const IMAGE_REPOSITORY = /^[a-z0-9.-]+(:[0-9]+)?(\/[a-z0-9._-]+)+$/;
|
|
40
|
+
/** `curatedModel.repository`: a Hugging Face `owner/name`. */
|
|
41
|
+
const CURATED_REPOSITORY = /^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
42
|
+
/** `curatedModel.revision`: an immutable 40-character Hugging Face commit sha. */
|
|
43
|
+
const REVISION = /^[0-9a-f]{40}$/;
|
|
44
|
+
/** `quantizationEntry.format`: lowercase with underscores, e.g. `fp8_block_scales`. */
|
|
45
|
+
const QUANTIZATION_FORMAT = /^[a-z0-9_]+$/;
|
|
46
|
+
// A newer catalog announces itself with `schema_version`, never with a field this build would
|
|
47
|
+
// ignore: silently dropping a field could mean ignoring an exclusion that matters. That is also why
|
|
48
|
+
// a descriptor still carrying `recipes` (the `r1` shape) is refused outright, not read around: the
|
|
49
|
+
// distribution list moved to the environment manifest (change `extract-environment-manifest`, D6).
|
|
50
|
+
const { fail, object, known, text, boolean, pattern, list, strings, unique, bytes } = documentFields('runtime descriptor');
|
|
51
|
+
const digest = (value, at) => pattern(DIGEST, 'a sha256 digest')(value, at);
|
|
52
|
+
const capability = pattern(CAPABILITY, 'a major.minor compute capability');
|
|
53
|
+
const driverVersion = pattern(DRIVER_VERSION, 'a driver version');
|
|
54
|
+
const architectureName = pattern(ARCHITECTURE_NAME, 'an architecture class name');
|
|
55
|
+
const id = pattern(DOCUMENT_ID, DOCUMENT_ID_LABEL);
|
|
56
|
+
const semver = pattern(DOCUMENT_SEMVER, 'a semver version (major.minor.patch)');
|
|
57
|
+
const imageRepository = pattern(IMAGE_REPOSITORY, 'a bare image repository');
|
|
58
|
+
const curatedRepository = pattern(CURATED_REPOSITORY, 'a Hugging Face owner/name repository');
|
|
59
|
+
const revision = pattern(REVISION, 'a 40-character hex commit sha');
|
|
60
|
+
const quantizationFormat = pattern(QUANTIZATION_FORMAT, 'a lowercase quantization format');
|
|
61
|
+
const parserName = (value, at) => {
|
|
62
|
+
if (value === null)
|
|
63
|
+
return null;
|
|
64
|
+
return pattern(PARSER_NAME, 'a bare parser name')(value, at);
|
|
65
|
+
};
|
|
66
|
+
const PLATFORM_IMAGE_KEYS = ['repository', 'digest'];
|
|
67
|
+
const PLATFORMS = ['linux/amd64', 'linux/arm64'];
|
|
68
|
+
/**
|
|
69
|
+
* `imageRepository` (schema): a bare repository — no `:tag`, no `@digest`, lowercase, one or more
|
|
70
|
+
* `/`-separated path segments, an optional `:port` right after the host. The digest field pins the
|
|
71
|
+
* bytes; the pattern alone is what stops a value like `-v /:/host` from reaching `docker` argv
|
|
72
|
+
* (task 2.8) disguised as a repository — the old ad hoc "does it contain `@`/`:`" check missed it.
|
|
73
|
+
*/
|
|
74
|
+
const platformImage = (value, at) => {
|
|
75
|
+
const entry = object(value, at);
|
|
76
|
+
known(entry, at, PLATFORM_IMAGE_KEYS);
|
|
77
|
+
return {
|
|
78
|
+
repository: imageRepository(entry['repository'], `${at}.repository`),
|
|
79
|
+
digest: digest(entry['digest'], `${at}.digest`),
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
/** Required for every platform this release supports: `linux/amd64` and `linux/arm64`, no more. */
|
|
83
|
+
const platformImageMap = (value, at) => {
|
|
84
|
+
const map = object(value, at);
|
|
85
|
+
known(map, at, PLATFORMS);
|
|
86
|
+
for (const platform of PLATFORMS) {
|
|
87
|
+
if (!(platform in map))
|
|
88
|
+
fail(`${at} is missing ${platform}`);
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
'linux/amd64': platformImage(map['linux/amd64'], `${at}["linux/amd64"]`),
|
|
92
|
+
'linux/arm64': platformImage(map['linux/arm64'], `${at}["linux/arm64"]`),
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* A compute-capability string as an `[major, minor]` tuple, comparable with `<`/`>` the way the
|
|
97
|
+
* schema's own driver-version comparison is defined: componentwise, not lexicographically (`"9.0"`
|
|
98
|
+
* must sort below `"12.0"`).
|
|
99
|
+
*/
|
|
100
|
+
const capabilityTuple = (value) => {
|
|
101
|
+
const [major = '0', minor = '0'] = value.split('.');
|
|
102
|
+
return [Number(major), Number(minor)];
|
|
103
|
+
};
|
|
104
|
+
const capabilityBelowOrEqual = (a, b) => a[0] < b[0] || (a[0] === b[0] && a[1] <= b[1]);
|
|
105
|
+
const QUANTIZATION_KEYS = ['format', 'min_compute_capability', 'excluded_compute_capabilities'];
|
|
106
|
+
const quantizationEntry = (value, at) => {
|
|
107
|
+
const entry = object(value, at);
|
|
108
|
+
known(entry, at, QUANTIZATION_KEYS);
|
|
109
|
+
const format = quantizationFormat(entry['format'], `${at}.format`);
|
|
110
|
+
const minCapability = capability(entry['min_compute_capability'], `${at}.min_compute_capability`);
|
|
111
|
+
const excluded = strings(entry['excluded_compute_capabilities'], `${at}.excluded_compute_capabilities`).map((value, i) => capability(value, `${at}.excluded_compute_capabilities[${i}]`));
|
|
112
|
+
unique(excluded, `${at}.excluded_compute_capabilities`, 'a compute capability');
|
|
113
|
+
const min = capabilityTuple(minCapability);
|
|
114
|
+
for (const excludedValue of excluded) {
|
|
115
|
+
// design D17 / conf task 1.4: an excluded capability that is not above the format's own
|
|
116
|
+
// minimum is not a gap in the support matrix, it is a contradiction — the format would need to
|
|
117
|
+
// be unsupported at its own floor.
|
|
118
|
+
if (capabilityBelowOrEqual(capabilityTuple(excludedValue), min)) {
|
|
119
|
+
fail(`${at}.excluded_compute_capabilities has an entry not above min_compute_capability`, `${excludedValue} <= ${minCapability}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return { format, min_compute_capability: minCapability, excluded_compute_capabilities: excluded };
|
|
123
|
+
};
|
|
124
|
+
const MODEL_FAMILY_KEYS = ['tool_parser', 'reasoning_parser', 'structured_output'];
|
|
125
|
+
const modelFamilyEntry = (value, at) => {
|
|
126
|
+
const entry = object(value, at);
|
|
127
|
+
known(entry, at, MODEL_FAMILY_KEYS);
|
|
128
|
+
return {
|
|
129
|
+
tool_parser: parserName(entry['tool_parser'], `${at}.tool_parser`),
|
|
130
|
+
reasoning_parser: parserName(entry['reasoning_parser'], `${at}.reasoning_parser`),
|
|
131
|
+
structured_output: boolean(entry['structured_output'], `${at}.structured_output`),
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
const modelFamilies = (value, at) => {
|
|
135
|
+
const map = object(value, at);
|
|
136
|
+
const result = {};
|
|
137
|
+
for (const [key, entry] of Object.entries(map)) {
|
|
138
|
+
architectureName(key, `${at} key "${key}"`);
|
|
139
|
+
result[key] = modelFamilyEntry(entry, `${at}["${key}"]`);
|
|
140
|
+
}
|
|
141
|
+
return result;
|
|
142
|
+
};
|
|
143
|
+
const CURATED_MODEL_KEYS = ['repository', 'revision', 'inventory_digest', 'vram_tier_bytes', 'note'];
|
|
144
|
+
const curatedModel = (value, at) => {
|
|
145
|
+
const entry = object(value, at);
|
|
146
|
+
known(entry, at, CURATED_MODEL_KEYS);
|
|
147
|
+
return {
|
|
148
|
+
repository: curatedRepository(entry['repository'], `${at}.repository`),
|
|
149
|
+
revision: revision(entry['revision'], `${at}.revision`),
|
|
150
|
+
inventory_digest: digest(entry['inventory_digest'], `${at}.inventory_digest`),
|
|
151
|
+
// Schema minimum is 1: a curated entry with 0 would claim every card, however small, fits it.
|
|
152
|
+
vram_tier_bytes: bytes(entry['vram_tier_bytes'], `${at}.vram_tier_bytes`, 1),
|
|
153
|
+
note: text(entry['note'], `${at}.note`),
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
const DESCRIPTOR_KEYS = [
|
|
157
|
+
'schema_version',
|
|
158
|
+
'descriptor_id',
|
|
159
|
+
'engine_id',
|
|
160
|
+
'adapter_id',
|
|
161
|
+
'adapter_contract_version',
|
|
162
|
+
'image',
|
|
163
|
+
'probe_image',
|
|
164
|
+
'minimum_core_version',
|
|
165
|
+
'minimum_app_version',
|
|
166
|
+
'minimum_driver_version',
|
|
167
|
+
'minimum_compute_capability',
|
|
168
|
+
'supported_architectures',
|
|
169
|
+
'quantization',
|
|
170
|
+
'model_families',
|
|
171
|
+
'curated_models',
|
|
172
|
+
'download_bytes',
|
|
173
|
+
'required_disk_bytes',
|
|
174
|
+
'notices',
|
|
175
|
+
'exclusions',
|
|
176
|
+
];
|
|
177
|
+
/**
|
|
178
|
+
* Validate one descriptor's shape against `atomic-chat-conf/runtimes/schema.json`. Throws
|
|
179
|
+
* `AtomicCoreError('MANAGED_METADATA_INVALID', ...)` naming the first field that does not fit.
|
|
180
|
+
*
|
|
181
|
+
* Does not check `adapter_id` against a compiled adapter registry. A descriptor carrying `recipes`
|
|
182
|
+
* is refused as an unknown field: install recipes are the environment manifest's.
|
|
183
|
+
*/
|
|
184
|
+
export function parseRuntimeDescriptor(input) {
|
|
185
|
+
const raw = object(input, 'the descriptor');
|
|
186
|
+
known(raw, 'the descriptor', DESCRIPTOR_KEYS);
|
|
187
|
+
if (raw['schema_version'] !== 1) {
|
|
188
|
+
fail('schema_version is not 1', JSON.stringify(raw['schema_version']));
|
|
189
|
+
}
|
|
190
|
+
if (raw['adapter_contract_version'] !== 1) {
|
|
191
|
+
fail('adapter_contract_version is not 1', JSON.stringify(raw['adapter_contract_version']));
|
|
192
|
+
}
|
|
193
|
+
const architectures = strings(raw['supported_architectures'], 'supported_architectures').map((value, i) => architectureName(value, `supported_architectures[${i}]`));
|
|
194
|
+
if (architectures.length === 0)
|
|
195
|
+
fail('supported_architectures is empty');
|
|
196
|
+
unique(architectures, 'supported_architectures', 'an architecture');
|
|
197
|
+
const quantization = list(raw['quantization'], 'quantization').map((item, i) => quantizationEntry(item, `quantization[${i}]`));
|
|
198
|
+
if (quantization.length === 0)
|
|
199
|
+
fail('quantization is empty');
|
|
200
|
+
unique(quantization.map((q) => q.format), 'quantization', 'a format');
|
|
201
|
+
const curated = list(raw['curated_models'], 'curated_models').map((item, i) => curatedModel(item, `curated_models[${i}]`));
|
|
202
|
+
unique(curated.map((m) => `${m.repository}@${m.revision}`), 'curated_models', 'a model revision');
|
|
203
|
+
return {
|
|
204
|
+
schema_version: 1,
|
|
205
|
+
descriptor_id: id(raw['descriptor_id'], 'descriptor_id'),
|
|
206
|
+
engine_id: id(raw['engine_id'], 'engine_id'),
|
|
207
|
+
adapter_id: id(raw['adapter_id'], 'adapter_id'),
|
|
208
|
+
adapter_contract_version: 1,
|
|
209
|
+
image: platformImageMap(raw['image'], 'image'),
|
|
210
|
+
probe_image: platformImageMap(raw['probe_image'], 'probe_image'),
|
|
211
|
+
minimum_core_version: semver(raw['minimum_core_version'], 'minimum_core_version'),
|
|
212
|
+
minimum_app_version: semver(raw['minimum_app_version'], 'minimum_app_version'),
|
|
213
|
+
minimum_driver_version: driverVersion(raw['minimum_driver_version'], 'minimum_driver_version'),
|
|
214
|
+
minimum_compute_capability: capability(raw['minimum_compute_capability'], 'minimum_compute_capability'),
|
|
215
|
+
supported_architectures: architectures,
|
|
216
|
+
quantization,
|
|
217
|
+
model_families: modelFamilies(raw['model_families'], 'model_families'),
|
|
218
|
+
curated_models: curated,
|
|
219
|
+
download_bytes: bytes(raw['download_bytes'], 'download_bytes'),
|
|
220
|
+
required_disk_bytes: bytes(raw['required_disk_bytes'], 'required_disk_bytes'),
|
|
221
|
+
notices: strings(raw['notices'], 'notices'),
|
|
222
|
+
exclusions: strings(raw['exclusions'], 'exclusions'),
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* The client-facing part of a descriptor (task 2.22): its id and engine, the notices exactly as
|
|
227
|
+
* published, the curated checkpoints and the supported architectures. Fresh copies, so nothing that
|
|
228
|
+
* holds the summary can reach into the descriptor it came from.
|
|
229
|
+
*/
|
|
230
|
+
export function summarizeRuntimeDescriptor(descriptor) {
|
|
231
|
+
return {
|
|
232
|
+
descriptor_id: descriptor.descriptor_id,
|
|
233
|
+
engine_id: descriptor.engine_id,
|
|
234
|
+
notices: [...descriptor.notices],
|
|
235
|
+
curated_models: descriptor.curated_models.map((model) => ({ ...model })),
|
|
236
|
+
supported_architectures: [...descriptor.supported_architectures],
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../../src/runtime/environment/descriptor.ts"],"names":[],"mappings":"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"}
|