@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,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finding a `llama-server` that serves `--decision`: the I/O half of the engine gate.
|
|
3
|
+
*
|
|
4
|
+
* The gate has three steps, cheapest first. The release tag orders the installed packs
|
|
5
|
+
* (`engine-candidates.ts`); `llama-server -h` must list `--decision` (the same probe the llama.cpp
|
|
6
|
+
* runtime runs for `draft-dflash`, `runHelp`); and once the process runs,
|
|
7
|
+
* `/props.decision.api_version` must be 1 (`readiness.ts`). Only the first passing pack is used; a
|
|
8
|
+
* pack that passed `-h` but failed readiness is handed back through `reject` and skipped, so the next
|
|
9
|
+
* `resolve` finds a valid lower-ranked build (a newer tag on API version 2, a dev build with an
|
|
10
|
+
* unfinished decision API). The skip lasts until the file changes or the owner calls
|
|
11
|
+
* `forgetRejected` (a build was installed, the user asked for a load, the launch settings changed):
|
|
12
|
+
* a refusal can depend on the launch (the spec, the model), and a user who asks again gets a real
|
|
13
|
+
* second try.
|
|
14
|
+
*
|
|
15
|
+
* The packs are read from the TurboQuant provider's folder directly, not through the provider's
|
|
16
|
+
* settings: which provider runs chat has nothing to do with which binary can run the decision model.
|
|
17
|
+
* Probe results are remembered per executable, modification time and flag, so a start after an idle
|
|
18
|
+
* unload does not pay for `-h` again, and a pack replaced by an update is probed afresh.
|
|
19
|
+
*
|
|
20
|
+
* Only a help screen that ran to its end is evidence. A probe that timed out, could not start the
|
|
21
|
+
* process, or ended in a crash proves nothing about the build: when no build passed and one of them
|
|
22
|
+
* could not be checked, the start fails with the probe's own code (`MODEL_LOAD_TIMED_OUT`,
|
|
23
|
+
* `MODEL_LOAD_FAILED`, so the module is `failed` and the advice is a retry), never
|
|
24
|
+
* `DECISION_ENGINE_UNSUPPORTED` and its advice to install a build the user already has
|
|
25
|
+
* (ADR 2026-10-08-a-decision-probe-that-could-not-run-is-not-unsupported).
|
|
26
|
+
*
|
|
27
|
+
* A checkpoint folder needs one more flag, `--decision-convert-cache`: a build from before the
|
|
28
|
+
* converter lists `--decision` but fails the load of a folder with `MODEL_LOAD_FAILED`, and the
|
|
29
|
+
* search would never reach a build that can run it.
|
|
30
|
+
*
|
|
31
|
+
* An upstream decision GGUF (`<arch>.decision.type`, `dialect: 'upstream'`) is run by the stock
|
|
32
|
+
* llama.cpp provider instead. Upstream has no flag to probe, so its gate is the build number in the
|
|
33
|
+
* tag (`upstream-version.ts`): only packs at or above the model's floor are tried, newest first, and
|
|
34
|
+
* readiness (`/v1/models` lists `decisions`) has the last word, with the same `reject` skip.
|
|
35
|
+
*/
|
|
36
|
+
import type { DecisionDialect, DecisionEngineInfo, DecisionEngineProvider } from '../contracts/index.js';
|
|
37
|
+
import type { DataLayout } from '../config/index.js';
|
|
38
|
+
import type { InstalledEnginePack } from './engine-candidates.js';
|
|
39
|
+
/** The flag the `-h` output must contain. */
|
|
40
|
+
export declare const DECISION_FLAG = "--decision";
|
|
41
|
+
/** The flag a build that can convert a checkpoint folder (`-m DIR`) lists as well. */
|
|
42
|
+
export declare const DECISION_CONVERT_FLAG = "--decision-convert-cache";
|
|
43
|
+
/**
|
|
44
|
+
* The budget of one `-h`. The llama.cpp runtime's 5 s is too short here: a pack's first run after an
|
|
45
|
+
* install or an update can spend longer than that in the system's checks before `main`, and the
|
|
46
|
+
* answer is remembered, so a slow first probe is paid once.
|
|
47
|
+
*/
|
|
48
|
+
export declare const DECISION_PROBE_TIMEOUT_MS = 30000;
|
|
49
|
+
export interface EngineRequirements {
|
|
50
|
+
/** The engine the model needs; default `turboquant`. */
|
|
51
|
+
dialect?: DecisionDialect;
|
|
52
|
+
/** The model is a checkpoint folder: the build must also list `DECISION_CONVERT_FLAG`. */
|
|
53
|
+
checkpointDir?: boolean;
|
|
54
|
+
/** Upstream only: the oldest build that serves the model (`upstreamMinBuild`). */
|
|
55
|
+
minBuild?: number;
|
|
56
|
+
}
|
|
57
|
+
/** The TurboQuant provider: the one whose builds serve `--decision` and the router. */
|
|
58
|
+
export declare const DECISION_ENGINE_PROVIDER: "llamacpp";
|
|
59
|
+
/** The stock llama.cpp provider: its builds from b11370 on serve upstream decision GGUFs. */
|
|
60
|
+
export declare const UPSTREAM_DECISION_ENGINE_PROVIDER: "llamacpp-upstream";
|
|
61
|
+
/** Every provider an install of which may let a decision model start. */
|
|
62
|
+
export declare const DECISION_ENGINE_PROVIDERS: readonly DecisionEngineProvider[];
|
|
63
|
+
export interface EngineResolverDeps {
|
|
64
|
+
layout: DataLayout;
|
|
65
|
+
platform?: NodeJS.Platform;
|
|
66
|
+
env?: NodeJS.ProcessEnv;
|
|
67
|
+
/** Every installed pack of `provider` with its executable. Default: a scan of `<data>/<provider>/backends`. */
|
|
68
|
+
listPacks?: (provider: DecisionEngineProvider) => Promise<InstalledEnginePack[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Whether `exe -h` lists `flag` (`DECISION_FLAG`, `DECISION_CONVERT_FLAG`); rejects when the probe
|
|
71
|
+
* could not run or proved nothing (timed out, crashed).
|
|
72
|
+
*/
|
|
73
|
+
probe?: (exe: string, flag: string) => Promise<boolean>;
|
|
74
|
+
/** Modification time of a file, `undefined` when it does not exist. */
|
|
75
|
+
mtime?: (path: string) => Promise<number | undefined>;
|
|
76
|
+
/**
|
|
77
|
+
* The `llamacpp-upstream` build the user picked (`version_backend`, `b11463/win-vulkan-x64`): tried
|
|
78
|
+
* first when it can run the model (`orderUpstreamCandidates`).
|
|
79
|
+
*/
|
|
80
|
+
preferredUpstream?: () => string;
|
|
81
|
+
log?: (level: 'info' | 'warn' | 'debug', msg: string) => void;
|
|
82
|
+
}
|
|
83
|
+
export declare class DecisionEngineResolver {
|
|
84
|
+
private readonly deps;
|
|
85
|
+
private readonly probed;
|
|
86
|
+
/** `exe\0mtime` → why readiness refused it. A replaced file has a new mtime and is tried again. */
|
|
87
|
+
private readonly rejected;
|
|
88
|
+
private readonly platform;
|
|
89
|
+
private readonly env;
|
|
90
|
+
constructor(deps: EngineResolverDeps);
|
|
91
|
+
/**
|
|
92
|
+
* The engine to run: `enginePath` when given (it must still pass the probe), otherwise the first
|
|
93
|
+
* installed pack that does. `DECISION_ENGINE_UNSUPPORTED` names every pack it tried and why.
|
|
94
|
+
*/
|
|
95
|
+
resolve(enginePath?: string, needs?: EngineRequirements): Promise<DecisionEngineInfo>;
|
|
96
|
+
/**
|
|
97
|
+
* An upstream decision GGUF: `enginePath` when given (it only has to exist, and not be refused at
|
|
98
|
+
* readiness), otherwise the newest installed upstream pack at or above `minBuild`. Older packs are
|
|
99
|
+
* named in the error, which tells the user which build to update to.
|
|
100
|
+
*/
|
|
101
|
+
private resolveUpstream;
|
|
102
|
+
/**
|
|
103
|
+
* `exe` started and passed `-h`, but readiness refused it: skip it in every later `resolve` until
|
|
104
|
+
* the file changes. A file that is gone is not remembered.
|
|
105
|
+
*/
|
|
106
|
+
reject(exe: string, why: string): Promise<void>;
|
|
107
|
+
/** Every build refused at readiness is tried again by the next `resolve`. */
|
|
108
|
+
forgetRejected(): void;
|
|
109
|
+
/** `undefined` when `exe` lists every one of `flags`, otherwise why not. */
|
|
110
|
+
private check;
|
|
111
|
+
private probeHelp;
|
|
112
|
+
private packsOf;
|
|
113
|
+
private scan;
|
|
114
|
+
}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finding a `llama-server` that serves `--decision`: the I/O half of the engine gate.
|
|
3
|
+
*
|
|
4
|
+
* The gate has three steps, cheapest first. The release tag orders the installed packs
|
|
5
|
+
* (`engine-candidates.ts`); `llama-server -h` must list `--decision` (the same probe the llama.cpp
|
|
6
|
+
* runtime runs for `draft-dflash`, `runHelp`); and once the process runs,
|
|
7
|
+
* `/props.decision.api_version` must be 1 (`readiness.ts`). Only the first passing pack is used; a
|
|
8
|
+
* pack that passed `-h` but failed readiness is handed back through `reject` and skipped, so the next
|
|
9
|
+
* `resolve` finds a valid lower-ranked build (a newer tag on API version 2, a dev build with an
|
|
10
|
+
* unfinished decision API). The skip lasts until the file changes or the owner calls
|
|
11
|
+
* `forgetRejected` (a build was installed, the user asked for a load, the launch settings changed):
|
|
12
|
+
* a refusal can depend on the launch (the spec, the model), and a user who asks again gets a real
|
|
13
|
+
* second try.
|
|
14
|
+
*
|
|
15
|
+
* The packs are read from the TurboQuant provider's folder directly, not through the provider's
|
|
16
|
+
* settings: which provider runs chat has nothing to do with which binary can run the decision model.
|
|
17
|
+
* Probe results are remembered per executable, modification time and flag, so a start after an idle
|
|
18
|
+
* unload does not pay for `-h` again, and a pack replaced by an update is probed afresh.
|
|
19
|
+
*
|
|
20
|
+
* Only a help screen that ran to its end is evidence. A probe that timed out, could not start the
|
|
21
|
+
* process, or ended in a crash proves nothing about the build: when no build passed and one of them
|
|
22
|
+
* could not be checked, the start fails with the probe's own code (`MODEL_LOAD_TIMED_OUT`,
|
|
23
|
+
* `MODEL_LOAD_FAILED`, so the module is `failed` and the advice is a retry), never
|
|
24
|
+
* `DECISION_ENGINE_UNSUPPORTED` and its advice to install a build the user already has
|
|
25
|
+
* (ADR 2026-10-08-a-decision-probe-that-could-not-run-is-not-unsupported).
|
|
26
|
+
*
|
|
27
|
+
* A checkpoint folder needs one more flag, `--decision-convert-cache`: a build from before the
|
|
28
|
+
* converter lists `--decision` but fails the load of a folder with `MODEL_LOAD_FAILED`, and the
|
|
29
|
+
* search would never reach a build that can run it.
|
|
30
|
+
*
|
|
31
|
+
* An upstream decision GGUF (`<arch>.decision.type`, `dialect: 'upstream'`) is run by the stock
|
|
32
|
+
* llama.cpp provider instead. Upstream has no flag to probe, so its gate is the build number in the
|
|
33
|
+
* tag (`upstream-version.ts`): only packs at or above the model's floor are tried, newest first, and
|
|
34
|
+
* readiness (`/v1/models` lists `decisions`) has the last word, with the same `reject` skip.
|
|
35
|
+
*/
|
|
36
|
+
import { stat } from 'node:fs/promises';
|
|
37
|
+
import { dirname } from 'node:path';
|
|
38
|
+
import { AtomicCoreError } from '../contracts/index.js';
|
|
39
|
+
import { resolveBackendExe, scanInstalledBackends } from '../backend/index.js';
|
|
40
|
+
import { probeOutputTail, runHelp } from '../runtime/llamacpp/index.js';
|
|
41
|
+
import { buildProcessEnv, discoverCudaPaths, nodeCudaProbeEnv } from '../runtime/shared/index.js';
|
|
42
|
+
import { orderEngineCandidates, orderUpstreamCandidates } from './engine-candidates.js';
|
|
43
|
+
import { UPSTREAM_DECISION_MIN_BUILD } from './upstream-version.js';
|
|
44
|
+
/** The flag the `-h` output must contain. */
|
|
45
|
+
export const DECISION_FLAG = '--decision';
|
|
46
|
+
/** The flag a build that can convert a checkpoint folder (`-m DIR`) lists as well. */
|
|
47
|
+
export const DECISION_CONVERT_FLAG = '--decision-convert-cache';
|
|
48
|
+
/**
|
|
49
|
+
* The budget of one `-h`. The llama.cpp runtime's 5 s is too short here: a pack's first run after an
|
|
50
|
+
* install or an update can spend longer than that in the system's checks before `main`, and the
|
|
51
|
+
* answer is remembered, so a slow first probe is paid once.
|
|
52
|
+
*/
|
|
53
|
+
export const DECISION_PROBE_TIMEOUT_MS = 30_000;
|
|
54
|
+
const REFUSED_AT_READINESS = 'refused at readiness';
|
|
55
|
+
/** The TurboQuant provider: the one whose builds serve `--decision` and the router. */
|
|
56
|
+
export const DECISION_ENGINE_PROVIDER = 'llamacpp';
|
|
57
|
+
/** The stock llama.cpp provider: its builds from b11370 on serve upstream decision GGUFs. */
|
|
58
|
+
export const UPSTREAM_DECISION_ENGINE_PROVIDER = 'llamacpp-upstream';
|
|
59
|
+
/** Every provider an install of which may let a decision model start. */
|
|
60
|
+
export const DECISION_ENGINE_PROVIDERS = [
|
|
61
|
+
DECISION_ENGINE_PROVIDER,
|
|
62
|
+
UPSTREAM_DECISION_ENGINE_PROVIDER,
|
|
63
|
+
];
|
|
64
|
+
const defaultMtime = (path) => stat(path).then((s) => (s.isFile() ? s.mtimeMs : undefined), () => undefined);
|
|
65
|
+
export class DecisionEngineResolver {
|
|
66
|
+
deps;
|
|
67
|
+
probed = new Map();
|
|
68
|
+
/** `exe\0mtime` → why readiness refused it. A replaced file has a new mtime and is tried again. */
|
|
69
|
+
rejected = new Map();
|
|
70
|
+
platform;
|
|
71
|
+
env;
|
|
72
|
+
constructor(deps) {
|
|
73
|
+
this.deps = deps;
|
|
74
|
+
this.platform = deps.platform ?? process.platform;
|
|
75
|
+
this.env = deps.env ?? process.env;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The engine to run: `enginePath` when given (it must still pass the probe), otherwise the first
|
|
79
|
+
* installed pack that does. `DECISION_ENGINE_UNSUPPORTED` names every pack it tried and why.
|
|
80
|
+
*/
|
|
81
|
+
async resolve(enginePath = '', needs = {}) {
|
|
82
|
+
if (needs.dialect === 'upstream')
|
|
83
|
+
return this.resolveUpstream(enginePath, needs.minBuild ?? UPSTREAM_DECISION_MIN_BUILD);
|
|
84
|
+
const flags = needs.checkpointDir ? [DECISION_FLAG, DECISION_CONVERT_FLAG] : [DECISION_FLAG];
|
|
85
|
+
if (enginePath !== '') {
|
|
86
|
+
const refusal = await this.check(enginePath, flags);
|
|
87
|
+
if (refusal === undefined)
|
|
88
|
+
return explicitEngine(enginePath, 'turboquant');
|
|
89
|
+
const tried = [`${enginePath}: ${refusal.reason}`];
|
|
90
|
+
if (refusal.probeError)
|
|
91
|
+
throw notChecked(refusal.probeError, tried);
|
|
92
|
+
throw new AtomicCoreError('DECISION_ENGINE_UNSUPPORTED', 'The configured engine does not serve the decision model.', tried[0]);
|
|
93
|
+
}
|
|
94
|
+
const packs = await this.packsOf(DECISION_ENGINE_PROVIDER);
|
|
95
|
+
const tried = [];
|
|
96
|
+
let refusedAtReadiness = 0;
|
|
97
|
+
let unchecked;
|
|
98
|
+
for (const candidate of orderEngineCandidates(packs)) {
|
|
99
|
+
const refusal = await this.check(candidate.path, flags);
|
|
100
|
+
if (refusal === undefined)
|
|
101
|
+
return candidate.info;
|
|
102
|
+
if (refusal.reason.startsWith(REFUSED_AT_READINESS))
|
|
103
|
+
refusedAtReadiness++;
|
|
104
|
+
unchecked ??= refusal.probeError;
|
|
105
|
+
tried.push(`${candidate.info.version_backend}: ${refusal.reason}`);
|
|
106
|
+
}
|
|
107
|
+
// A build that could not be checked may be the one that serves the model.
|
|
108
|
+
if (unchecked)
|
|
109
|
+
throw notChecked(unchecked, tried);
|
|
110
|
+
// A build that lists `--decision` and was refused at readiness is already 1.7.0-like: telling the
|
|
111
|
+
// user to install 1.7.0 would send them after what they have.
|
|
112
|
+
throw new AtomicCoreError('DECISION_ENGINE_UNSUPPORTED', refusedAtReadiness > 0
|
|
113
|
+
? `No installed engine build can run the decision model: ${refusedAtReadiness} that list${refusedAtReadiness === 1 ? 's' : ''} ${DECISION_FLAG} ${refusedAtReadiness === 1 ? 'was' : 'were'} ${REFUSED_AT_READINESS}, not serving decision API version 1.`
|
|
114
|
+
: 'No installed engine build can run the decision model. Install TurboQuant 1.7.0 or newer.', tried.length > 0
|
|
115
|
+
? tried.join('\n')
|
|
116
|
+
: `no TurboQuant build in ${this.deps.layout.provider(DECISION_ENGINE_PROVIDER).backendsDir}`);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* An upstream decision GGUF: `enginePath` when given (it only has to exist, and not be refused at
|
|
120
|
+
* readiness), otherwise the newest installed upstream pack at or above `minBuild`. Older packs are
|
|
121
|
+
* named in the error, which tells the user which build to update to.
|
|
122
|
+
*/
|
|
123
|
+
async resolveUpstream(enginePath, minBuild) {
|
|
124
|
+
if (enginePath !== '') {
|
|
125
|
+
const refusal = await this.check(enginePath, []);
|
|
126
|
+
if (refusal === undefined)
|
|
127
|
+
return explicitEngine(enginePath, 'upstream');
|
|
128
|
+
throw new AtomicCoreError('DECISION_ENGINE_UNSUPPORTED', 'The configured engine does not serve the decision model.', `${enginePath}: ${refusal.reason}`);
|
|
129
|
+
}
|
|
130
|
+
const { eligible, tooOld } = orderUpstreamCandidates(await this.packsOf(UPSTREAM_DECISION_ENGINE_PROVIDER), minBuild, this.deps.preferredUpstream?.() ?? '');
|
|
131
|
+
const tried = [];
|
|
132
|
+
for (const candidate of eligible) {
|
|
133
|
+
const refusal = await this.check(candidate.path, []);
|
|
134
|
+
if (refusal === undefined)
|
|
135
|
+
return candidate.info;
|
|
136
|
+
tried.push(`${candidate.info.version_backend}: ${refusal.reason}`);
|
|
137
|
+
}
|
|
138
|
+
for (const pack of tooOld)
|
|
139
|
+
tried.push(`${pack.version}/${pack.backend}: older than b${minBuild}`);
|
|
140
|
+
throw new AtomicCoreError('DECISION_ENGINE_UNSUPPORTED', eligible.length > 0
|
|
141
|
+
? `No installed llama.cpp build can run the decision model: every build at b${minBuild} or newer was ${REFUSED_AT_READINESS}.`
|
|
142
|
+
: `No installed llama.cpp build can run the decision model. Update llama.cpp to b${minBuild} or newer.`, tried.length > 0
|
|
143
|
+
? tried.join('\n')
|
|
144
|
+
: `no llama.cpp build in ${this.deps.layout.provider(UPSTREAM_DECISION_ENGINE_PROVIDER).backendsDir}`);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* `exe` started and passed `-h`, but readiness refused it: skip it in every later `resolve` until
|
|
148
|
+
* the file changes. A file that is gone is not remembered.
|
|
149
|
+
*/
|
|
150
|
+
async reject(exe, why) {
|
|
151
|
+
const mtime = await (this.deps.mtime ?? defaultMtime)(exe);
|
|
152
|
+
if (mtime === undefined)
|
|
153
|
+
return;
|
|
154
|
+
this.rejected.set(`${exe}\u0000${mtime}`, why);
|
|
155
|
+
this.deps.log?.('debug', `decision engine ${exe} rejected at readiness: ${why}`);
|
|
156
|
+
}
|
|
157
|
+
/** Every build refused at readiness is tried again by the next `resolve`. */
|
|
158
|
+
forgetRejected() {
|
|
159
|
+
if (this.rejected.size === 0)
|
|
160
|
+
return;
|
|
161
|
+
this.rejected.clear();
|
|
162
|
+
this.deps.log?.('debug', 'decision engines refused at readiness will be tried again');
|
|
163
|
+
}
|
|
164
|
+
/** `undefined` when `exe` lists every one of `flags`, otherwise why not. */
|
|
165
|
+
async check(exe, flags) {
|
|
166
|
+
const mtime = await (this.deps.mtime ?? defaultMtime)(exe);
|
|
167
|
+
if (mtime === undefined)
|
|
168
|
+
return { reason: 'no such file' };
|
|
169
|
+
const key = `${exe}\u0000${mtime}`;
|
|
170
|
+
const refused = this.rejected.get(key);
|
|
171
|
+
if (refused !== undefined)
|
|
172
|
+
return { reason: `${REFUSED_AT_READINESS}: ${refused}` };
|
|
173
|
+
const probe = this.deps.probe ?? ((path, flag) => this.probeHelp(path, flag));
|
|
174
|
+
for (const flag of flags) {
|
|
175
|
+
const flagKey = `${key}\u0000${flag}`;
|
|
176
|
+
let supported = this.probed.get(flagKey);
|
|
177
|
+
if (supported === undefined) {
|
|
178
|
+
try {
|
|
179
|
+
supported = await probe(exe, flag);
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
// A probe that could not run is not remembered: the next start tries again.
|
|
183
|
+
const probeError = asProbeError(error);
|
|
184
|
+
const details = probeError.details ? ` (${probeError.details})` : '';
|
|
185
|
+
return { reason: `probe failed: ${probeError.message}${details}`, probeError };
|
|
186
|
+
}
|
|
187
|
+
this.probed.set(flagKey, supported);
|
|
188
|
+
this.deps.log?.('debug', `decision probe ${exe}: ${supported ? 'lists' : 'no'} ${flag}`);
|
|
189
|
+
}
|
|
190
|
+
if (!supported)
|
|
191
|
+
return { reason: `${flag} is not in its -h output` };
|
|
192
|
+
}
|
|
193
|
+
return undefined;
|
|
194
|
+
}
|
|
195
|
+
async probeHelp(exe, flag) {
|
|
196
|
+
const { env, cwd } = buildProcessEnv({
|
|
197
|
+
platform: this.platform,
|
|
198
|
+
baseEnv: this.env,
|
|
199
|
+
exeDir: dirname(exe),
|
|
200
|
+
cuda: discoverCudaPaths(nodeCudaProbeEnv(this.platform, this.env)),
|
|
201
|
+
userEnv: {},
|
|
202
|
+
});
|
|
203
|
+
const help = await runHelp(exe, env, cwd, { timeoutMs: DECISION_PROBE_TIMEOUT_MS });
|
|
204
|
+
const seconds = (help.elapsedMs / 1000).toFixed(1);
|
|
205
|
+
this.deps.log?.('debug', `decision probe ${exe}: -h finished in ${seconds}s`);
|
|
206
|
+
if (help.output.includes(flag))
|
|
207
|
+
return true;
|
|
208
|
+
// `-h` prints the help and exits 0. Anything else (a crash, a library that would not load) printed
|
|
209
|
+
// no help at all, and the flag missing from it proves nothing.
|
|
210
|
+
if (help.exit.code !== 0)
|
|
211
|
+
throw new AtomicCoreError('MODEL_LOAD_FAILED', 'llama-server -h did not finish normally.', `${exe} exited with ${describeExit(help.exit)} after ${seconds}s` +
|
|
212
|
+
`: ${probeOutputTail(help.output) || 'no output'}`);
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
packsOf(provider) {
|
|
216
|
+
return this.deps.listPacks ? this.deps.listPacks(provider) : this.scan(provider);
|
|
217
|
+
}
|
|
218
|
+
async scan(provider) {
|
|
219
|
+
const { layout } = this.deps;
|
|
220
|
+
const packs = [];
|
|
221
|
+
for (const pack of await scanInstalledBackends(layout, provider, this.platform)) {
|
|
222
|
+
const path = await resolveBackendExe(layout, provider, pack.version, pack.backend, this.platform);
|
|
223
|
+
if (path)
|
|
224
|
+
packs.push({ version: pack.version, backend: pack.backend, path });
|
|
225
|
+
}
|
|
226
|
+
return packs;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/** A probe failure as the core error it is; anything else thrown means the probe could not run. */
|
|
230
|
+
function asProbeError(error) {
|
|
231
|
+
if (error instanceof AtomicCoreError)
|
|
232
|
+
return error;
|
|
233
|
+
return new AtomicCoreError('MODEL_LOAD_FAILED', error instanceof Error ? error.message : String(error));
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* No build was shown to serve the model, and `cause` kept one from being checked: the start failed,
|
|
237
|
+
* with the probe's code, and every build tried is in the details.
|
|
238
|
+
*/
|
|
239
|
+
function notChecked(cause, tried) {
|
|
240
|
+
return new AtomicCoreError(cause.code, `Could not check whether the installed engine serves the decision model: ${cause.message}`, tried.join('\n'));
|
|
241
|
+
}
|
|
242
|
+
function describeExit(exit) {
|
|
243
|
+
if (exit.code !== null)
|
|
244
|
+
return `code ${exit.code}`;
|
|
245
|
+
if (exit.signal !== null)
|
|
246
|
+
return `signal ${exit.signal}`;
|
|
247
|
+
return 'an unknown status';
|
|
248
|
+
}
|
|
249
|
+
/** An explicit `engine_path`: nothing is known about it but the file and the dialect it is started for. */
|
|
250
|
+
function explicitEngine(path, dialect) {
|
|
251
|
+
return { path, version_backend: null, fork_version: null, version_gate: null, dialect, provider: null };
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/decision/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The HTTP the decision module needs against its own process: a GET or a POST of ready bytes, with a
|
|
3
|
+
* deadline over the whole exchange, an optional caller signal and the process's bearer key. Over the
|
|
4
|
+
* raw-socket client rather than the global `fetch`, which in the Bun-compiled binary honours
|
|
5
|
+
* `HTTP_PROXY` even for loopback (ADR 2026-09-15-proxied-downloads-use-a-raw-socket-client).
|
|
6
|
+
*
|
|
7
|
+
* The body is sent as given: callers that pass bytes through (the public route) never have them
|
|
8
|
+
* re-serialized, and callers that build a request serialize it once themselves.
|
|
9
|
+
*/
|
|
10
|
+
export interface DecisionHttpResponse {
|
|
11
|
+
status: number;
|
|
12
|
+
text: string;
|
|
13
|
+
}
|
|
14
|
+
export interface DecisionRequest {
|
|
15
|
+
method: 'GET' | 'POST';
|
|
16
|
+
/** Bearer key of the process; omitted for the public routes before it is known. */
|
|
17
|
+
apiKey?: string;
|
|
18
|
+
body?: string | Buffer;
|
|
19
|
+
contentType?: string;
|
|
20
|
+
timeoutMs: number;
|
|
21
|
+
/** The caller gave up (a client that left, a shutdown). */
|
|
22
|
+
signal?: AbortSignal;
|
|
23
|
+
}
|
|
24
|
+
export interface DecisionHttp {
|
|
25
|
+
request(url: string, init: DecisionRequest): Promise<DecisionHttpResponse>;
|
|
26
|
+
}
|
|
27
|
+
/** The deadline passed before the answer was complete. */
|
|
28
|
+
export declare class DecisionTimeoutError extends Error {
|
|
29
|
+
readonly timeoutMs: number;
|
|
30
|
+
constructor(timeoutMs: number);
|
|
31
|
+
}
|
|
32
|
+
/** The caller's signal fired first. */
|
|
33
|
+
export declare class DecisionAbortedError extends Error {
|
|
34
|
+
constructor();
|
|
35
|
+
}
|
|
36
|
+
export declare function createDecisionHttp(fetchImpl?: typeof fetch): DecisionHttp;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The HTTP the decision module needs against its own process: a GET or a POST of ready bytes, with a
|
|
3
|
+
* deadline over the whole exchange, an optional caller signal and the process's bearer key. Over the
|
|
4
|
+
* raw-socket client rather than the global `fetch`, which in the Bun-compiled binary honours
|
|
5
|
+
* `HTTP_PROXY` even for loopback (ADR 2026-09-15-proxied-downloads-use-a-raw-socket-client).
|
|
6
|
+
*
|
|
7
|
+
* The body is sent as given: callers that pass bytes through (the public route) never have them
|
|
8
|
+
* re-serialized, and callers that build a request serialize it once themselves.
|
|
9
|
+
*/
|
|
10
|
+
import { createPolicyFetch } from '../downloads/index.js';
|
|
11
|
+
/** The deadline passed before the answer was complete. */
|
|
12
|
+
export class DecisionTimeoutError extends Error {
|
|
13
|
+
timeoutMs;
|
|
14
|
+
constructor(timeoutMs) {
|
|
15
|
+
super(`the decision model did not answer within ${timeoutMs} ms`);
|
|
16
|
+
this.timeoutMs = timeoutMs;
|
|
17
|
+
this.name = 'DecisionTimeoutError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** The caller's signal fired first. */
|
|
21
|
+
export class DecisionAbortedError extends Error {
|
|
22
|
+
constructor() {
|
|
23
|
+
super('the decision request was abandoned by its caller');
|
|
24
|
+
this.name = 'DecisionAbortedError';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function createDecisionHttp(fetchImpl = createPolicyFetch({})) {
|
|
28
|
+
return {
|
|
29
|
+
async request(url, init) {
|
|
30
|
+
const controller = new AbortController();
|
|
31
|
+
let timedOut = false;
|
|
32
|
+
const timer = setTimeout(() => {
|
|
33
|
+
timedOut = true;
|
|
34
|
+
controller.abort();
|
|
35
|
+
}, init.timeoutMs);
|
|
36
|
+
const onAbort = () => controller.abort();
|
|
37
|
+
if (init.signal?.aborted)
|
|
38
|
+
controller.abort();
|
|
39
|
+
else
|
|
40
|
+
init.signal?.addEventListener('abort', onAbort, { once: true });
|
|
41
|
+
const headers = { accept: 'application/json' };
|
|
42
|
+
if (init.apiKey)
|
|
43
|
+
headers['authorization'] = `Bearer ${init.apiKey}`;
|
|
44
|
+
let body;
|
|
45
|
+
if (init.body !== undefined) {
|
|
46
|
+
body = Buffer.isBuffer(init.body) ? init.body : Buffer.from(init.body, 'utf8');
|
|
47
|
+
headers['content-type'] = init.contentType ?? 'application/json';
|
|
48
|
+
headers['content-length'] = String(body.length);
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
const response = await fetchImpl(url, {
|
|
52
|
+
method: init.method,
|
|
53
|
+
headers,
|
|
54
|
+
...(body !== undefined ? { body: new Uint8Array(body) } : {}),
|
|
55
|
+
signal: controller.signal,
|
|
56
|
+
});
|
|
57
|
+
return { status: response.status, text: await response.text() };
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (timedOut)
|
|
61
|
+
throw new DecisionTimeoutError(init.timeoutMs);
|
|
62
|
+
if (init.signal?.aborted)
|
|
63
|
+
throw new DecisionAbortedError();
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
clearTimeout(timer);
|
|
68
|
+
init.signal?.removeEventListener('abort', onAbort);
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/decision/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The decision model: one `llama-server --decision` process (TurboQuant fork ≥ 1.7.0) that answers
|
|
3
|
+
* calibrated probabilities in one forward pass, for the model router and TypeSafe-style questions.
|
|
4
|
+
* A module of its own, outside the sessions registry, like image generation
|
|
5
|
+
* (ADR 2026-09-30-the-decision-model-is-its-own-core-module). Wire types in `src/contracts/decision.ts`;
|
|
6
|
+
* the engine contract is `DECISION.md` in atomic-llama-cpp-turboquant.
|
|
7
|
+
*/
|
|
8
|
+
export * from './args.js';
|
|
9
|
+
export * from './backoff.js';
|
|
10
|
+
export * from './engine.js';
|
|
11
|
+
export * from './engine-candidates.js';
|
|
12
|
+
export * from './engine-fallback.js';
|
|
13
|
+
export * from './engine-version.js';
|
|
14
|
+
export * from './http.js';
|
|
15
|
+
export * from './outcome.js';
|
|
16
|
+
export * from './process.js';
|
|
17
|
+
export * from './readiness.js';
|
|
18
|
+
export * from './request.js';
|
|
19
|
+
export * from './service.js';
|
|
20
|
+
export * from './wiring.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The decision model: one `llama-server --decision` process (TurboQuant fork ≥ 1.7.0) that answers
|
|
3
|
+
* calibrated probabilities in one forward pass, for the model router and TypeSafe-style questions.
|
|
4
|
+
* A module of its own, outside the sessions registry, like image generation
|
|
5
|
+
* (ADR 2026-09-30-the-decision-model-is-its-own-core-module). Wire types in `src/contracts/decision.ts`;
|
|
6
|
+
* the engine contract is `DECISION.md` in atomic-llama-cpp-turboquant.
|
|
7
|
+
*/
|
|
8
|
+
export * from './args.js';
|
|
9
|
+
export * from './backoff.js';
|
|
10
|
+
export * from './engine.js';
|
|
11
|
+
export * from './engine-candidates.js';
|
|
12
|
+
export * from './engine-fallback.js';
|
|
13
|
+
export * from './engine-version.js';
|
|
14
|
+
export * from './http.js';
|
|
15
|
+
export * from './outcome.js';
|
|
16
|
+
export * from './process.js';
|
|
17
|
+
export * from './readiness.js';
|
|
18
|
+
export * from './request.js';
|
|
19
|
+
export * from './service.js';
|
|
20
|
+
export * from './wiring.js';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decision/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a decision model file says about how to run it: which engine (the `DecisionDialect`), and for an
|
|
3
|
+
* upstream GGUF its decision type and trained context. Read from the GGUF header only, before a start.
|
|
4
|
+
*
|
|
5
|
+
* A file the core cannot read stays with the fork, as every GGUF did before upstream served decision
|
|
6
|
+
* models: the fork's own load error is then what the user sees.
|
|
7
|
+
*/
|
|
8
|
+
/** `-c` for an upstream decision model when the settings leave it to the core. */
|
|
9
|
+
export declare const UPSTREAM_DECISION_DEFAULT_CTX = 8192;
|
|
10
|
+
/**
|
|
11
|
+
* Upstream decision types read from the embeddings output: the whole prompt must fit one ubatch
|
|
12
|
+
* (llama.cpp `common_init_from_params` turns on embedding mode for them and caps the batch at the
|
|
13
|
+
* ubatch), so the core starts them with `-ub` equal to the context.
|
|
14
|
+
*/
|
|
15
|
+
export declare const WHOLE_PROMPT_DECISION_TYPES: ReadonlySet<string>;
|
|
16
|
+
export type DecisionModelFacts = {
|
|
17
|
+
dialect: 'turboquant';
|
|
18
|
+
} | {
|
|
19
|
+
dialect: 'upstream';
|
|
20
|
+
/** `<arch>.decision.type`. */
|
|
21
|
+
decisionType: string;
|
|
22
|
+
/** `<arch>.context_length`, when the file has one. */
|
|
23
|
+
contextTrain?: number;
|
|
24
|
+
};
|
|
25
|
+
/** The facts from parsed metadata (string values, as the GGUF reader returns them). Pure. */
|
|
26
|
+
export declare function decisionFactsOf(metadata: Record<string, unknown> | undefined): DecisionModelFacts;
|
|
27
|
+
/** The facts of a GGUF file; one that cannot be read is the fork's (see the module comment). */
|
|
28
|
+
export declare function readDecisionModelFacts(path: string, read?: (path: string) => Promise<{
|
|
29
|
+
metadata: Record<string, unknown>;
|
|
30
|
+
}>): Promise<DecisionModelFacts>;
|
|
31
|
+
/** `-c` for an upstream model: the setting when given, else the default, never past the trained context. */
|
|
32
|
+
export declare function upstreamCtxSize(setting: number, contextTrain: number | undefined): number;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a decision model file says about how to run it: which engine (the `DecisionDialect`), and for an
|
|
3
|
+
* upstream GGUF its decision type and trained context. Read from the GGUF header only, before a start.
|
|
4
|
+
*
|
|
5
|
+
* A file the core cannot read stays with the fork, as every GGUF did before upstream served decision
|
|
6
|
+
* models: the fork's own load error is then what the user sees.
|
|
7
|
+
*/
|
|
8
|
+
import { readGgufMetadataFromFile, upstreamDecisionTypeOf } from '../models/index.js';
|
|
9
|
+
/** `-c` for an upstream decision model when the settings leave it to the core. */
|
|
10
|
+
export const UPSTREAM_DECISION_DEFAULT_CTX = 8192;
|
|
11
|
+
/**
|
|
12
|
+
* Upstream decision types read from the embeddings output: the whole prompt must fit one ubatch
|
|
13
|
+
* (llama.cpp `common_init_from_params` turns on embedding mode for them and caps the batch at the
|
|
14
|
+
* ubatch), so the core starts them with `-ub` equal to the context.
|
|
15
|
+
*/
|
|
16
|
+
export const WHOLE_PROMPT_DECISION_TYPES = new Set(['laya', 'kev', 'clef']);
|
|
17
|
+
/** The facts from parsed metadata (string values, as the GGUF reader returns them). Pure. */
|
|
18
|
+
export function decisionFactsOf(metadata) {
|
|
19
|
+
const decisionType = upstreamDecisionTypeOf(metadata);
|
|
20
|
+
if (decisionType === undefined)
|
|
21
|
+
return { dialect: 'turboquant' };
|
|
22
|
+
const arch = String(metadata?.['general.architecture'] ?? '').trim();
|
|
23
|
+
const context = Number(metadata?.[`${arch}.context_length`]);
|
|
24
|
+
return {
|
|
25
|
+
dialect: 'upstream',
|
|
26
|
+
decisionType,
|
|
27
|
+
...(Number.isInteger(context) && context > 0 ? { contextTrain: context } : {}),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** The facts of a GGUF file; one that cannot be read is the fork's (see the module comment). */
|
|
31
|
+
export async function readDecisionModelFacts(path, read = readGgufMetadataFromFile) {
|
|
32
|
+
const parsed = await read(path).catch(() => undefined);
|
|
33
|
+
return decisionFactsOf(parsed?.metadata);
|
|
34
|
+
}
|
|
35
|
+
/** `-c` for an upstream model: the setting when given, else the default, never past the trained context. */
|
|
36
|
+
export function upstreamCtxSize(setting, contextTrain) {
|
|
37
|
+
const wanted = Number.isInteger(setting) && setting > 0 ? setting : UPSTREAM_DECISION_DEFAULT_CTX;
|
|
38
|
+
return contextTrain !== undefined && contextTrain > 0 ? Math.min(wanted, contextTrain) : wanted;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=model-facts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-facts.js","sourceRoot":"","sources":["../../src/decision/model-facts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAErF,kFAAkF;AAClF,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAA;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;AAYhG,6FAA6F;AAC7F,MAAM,UAAU,eAAe,CAAC,QAA6C;IAC3E,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAA;IAC5D,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,YAAY;QACZ,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAA;AACH,CAAC;AAED,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,OAAyE,wBAAwB;IAEjG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACtD,OAAO,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAC1C,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,YAAgC;IAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAA;IACjG,OAAO,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACjG,CAAC"}
|