@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,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PrismML model compatibility rules, pure half: `atomic-chat-conf/models/atomic-prism-models.json`
|
|
3
|
+
* (schema `schema.atomic-prism-models.json` next to it). Which Bonsai files need `atomic-prism`,
|
|
4
|
+
* which run on stock llama.cpp too, which are legacy layouts, and how GGUF header evidence (tensor
|
|
5
|
+
* type ids, metadata keys) turns into capabilities — so a new packing or revision ships as a conf
|
|
6
|
+
* edit, not a release. Lenient per entry, strict per field, like the backend manifest.
|
|
7
|
+
*/
|
|
8
|
+
export const PRISM_MODEL_RULES_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/models/atomic-prism-models.json';
|
|
9
|
+
export const PRISM_MODEL_RULES_SCHEMA_VERSION = 1;
|
|
10
|
+
const CAPABILITIES = new Set([
|
|
11
|
+
'q1_0',
|
|
12
|
+
'q2_0_g64',
|
|
13
|
+
'pq2_0',
|
|
14
|
+
'ptq1_0',
|
|
15
|
+
'hadamard',
|
|
16
|
+
'vision',
|
|
17
|
+
]);
|
|
18
|
+
const isString = (v) => typeof v === 'string' && v.length > 0;
|
|
19
|
+
const isRecord = (v) => !!v && typeof v === 'object' && !Array.isArray(v);
|
|
20
|
+
const isCapability = (v) => typeof v === 'string' && CAPABILITIES.has(v);
|
|
21
|
+
const isSha = (v) => typeof v === 'string' && /^[0-9a-f]{64}$/.test(v);
|
|
22
|
+
const isSize = (v) => typeof v === 'number' && Number.isInteger(v) && v > 0;
|
|
23
|
+
const TREATMENTS = new Set(['prism_required', 'any', 'legacy', 'excluded']);
|
|
24
|
+
function parseFile(raw) {
|
|
25
|
+
if (!isRecord(raw))
|
|
26
|
+
return null;
|
|
27
|
+
const { file, size, sha256, treatment } = raw;
|
|
28
|
+
if (!isString(file) || !isSize(size) || !isSha(sha256))
|
|
29
|
+
return null;
|
|
30
|
+
if (typeof treatment !== 'string' || !TREATMENTS.has(treatment))
|
|
31
|
+
return null;
|
|
32
|
+
const out = {
|
|
33
|
+
file,
|
|
34
|
+
size,
|
|
35
|
+
sha256,
|
|
36
|
+
treatment: treatment,
|
|
37
|
+
requires: Array.isArray(raw['requires']) ? raw['requires'].filter(isCapability) : [],
|
|
38
|
+
};
|
|
39
|
+
if (isString(raw['packing']))
|
|
40
|
+
out.packing = raw['packing'];
|
|
41
|
+
if (typeof raw['min_prism_build'] === 'number' && Number.isInteger(raw['min_prism_build'])) {
|
|
42
|
+
out.min_prism_build = raw['min_prism_build'];
|
|
43
|
+
}
|
|
44
|
+
if (raw['default'] === true)
|
|
45
|
+
out.default = true;
|
|
46
|
+
if (isString(raw['replacement']))
|
|
47
|
+
out.replacement = raw['replacement'];
|
|
48
|
+
if (isString(raw['summary']))
|
|
49
|
+
out.summary = raw['summary'];
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
52
|
+
function parseProjector(raw) {
|
|
53
|
+
if (!isRecord(raw))
|
|
54
|
+
return null;
|
|
55
|
+
const { file, size, sha256 } = raw;
|
|
56
|
+
if (!isString(file) || !isSize(size) || !isSha(sha256))
|
|
57
|
+
return null;
|
|
58
|
+
return { file, size, sha256, ...(raw['default'] === true ? { default: true } : {}) };
|
|
59
|
+
}
|
|
60
|
+
function parseFamily(raw) {
|
|
61
|
+
if (!isRecord(raw))
|
|
62
|
+
return null;
|
|
63
|
+
const { id, title, repo, revision } = raw;
|
|
64
|
+
if (!isString(id) || !isString(title) || !isString(repo) || !/^[0-9a-f]{40}$/.test(String(revision)))
|
|
65
|
+
return null;
|
|
66
|
+
const files = (Array.isArray(raw['files']) ? raw['files'].map(parseFile) : []).filter((f) => f !== null);
|
|
67
|
+
if (files.length === 0)
|
|
68
|
+
return null;
|
|
69
|
+
const family = {
|
|
70
|
+
id,
|
|
71
|
+
title,
|
|
72
|
+
repo,
|
|
73
|
+
revision: revision,
|
|
74
|
+
files,
|
|
75
|
+
projectors: (Array.isArray(raw['projectors']) ? raw['projectors'].map(parseProjector) : []).filter((p) => p !== null),
|
|
76
|
+
};
|
|
77
|
+
if (raw['featured'] === true)
|
|
78
|
+
family.featured = true;
|
|
79
|
+
if (isString(raw['default_packing']))
|
|
80
|
+
family.default_packing = raw['default_packing'];
|
|
81
|
+
if (isRecord(raw['sampling'])) {
|
|
82
|
+
const s = raw['sampling'];
|
|
83
|
+
const sampling = {};
|
|
84
|
+
for (const key of ['temperature', 'top_p', 'top_k', 'min_p']) {
|
|
85
|
+
if (typeof s[key] === 'number')
|
|
86
|
+
sampling[key] = s[key];
|
|
87
|
+
}
|
|
88
|
+
family.sampling = sampling;
|
|
89
|
+
}
|
|
90
|
+
if (typeof raw['default_ctx'] === 'number' && Number.isInteger(raw['default_ctx']))
|
|
91
|
+
family.default_ctx = raw['default_ctx'];
|
|
92
|
+
return family;
|
|
93
|
+
}
|
|
94
|
+
/** Parsed rules, or `null` for a document this core does not understand. */
|
|
95
|
+
export function parsePrismModelRules(value) {
|
|
96
|
+
if (!isRecord(value))
|
|
97
|
+
return null;
|
|
98
|
+
if (value['schema_version'] !== PRISM_MODEL_RULES_SCHEMA_VERSION)
|
|
99
|
+
return null;
|
|
100
|
+
const rulesVersion = value['rules_version'];
|
|
101
|
+
if (typeof rulesVersion !== 'number' || !Number.isInteger(rulesVersion) || rulesVersion < 1)
|
|
102
|
+
return null;
|
|
103
|
+
const tensorTypes = {};
|
|
104
|
+
if (isRecord(value['tensor_types'])) {
|
|
105
|
+
for (const [id, cap] of Object.entries(value['tensor_types'])) {
|
|
106
|
+
if (/^\d+$/.test(id) && (cap === 'q2_0' || isCapability(cap)))
|
|
107
|
+
tensorTypes[id] = cap;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const metadataCapabilities = {};
|
|
111
|
+
if (isRecord(value['metadata_capabilities'])) {
|
|
112
|
+
for (const [key, cap] of Object.entries(value['metadata_capabilities'])) {
|
|
113
|
+
if (isCapability(cap))
|
|
114
|
+
metadataCapabilities[key] = cap;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
schema_version: 1,
|
|
119
|
+
updated_at: isString(value['updated_at']) ? value['updated_at'] : '',
|
|
120
|
+
rules_version: rulesVersion,
|
|
121
|
+
tensor_types: tensorTypes,
|
|
122
|
+
metadata_capabilities: metadataCapabilities,
|
|
123
|
+
upstream_capabilities: Array.isArray(value['upstream_capabilities'])
|
|
124
|
+
? value['upstream_capabilities'].filter(isCapability)
|
|
125
|
+
: [],
|
|
126
|
+
families: (Array.isArray(value['families']) ? value['families'].map(parseFamily) : []).filter((f) => f !== null),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The rule for one file: by sha256 when known (a renamed file is still itself), else by
|
|
131
|
+
* repository + file name (case-insensitive repo, exact file name).
|
|
132
|
+
*/
|
|
133
|
+
export function findPrismModelRule(rules, query) {
|
|
134
|
+
if (query.sha256) {
|
|
135
|
+
for (const family of rules.families) {
|
|
136
|
+
const file = family.files.find((f) => f.sha256 === query.sha256);
|
|
137
|
+
if (file)
|
|
138
|
+
return { family, file };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (query.repo && query.file) {
|
|
142
|
+
const repo = query.repo.toLowerCase();
|
|
143
|
+
const name = query.file.split('/').pop();
|
|
144
|
+
const family = rules.families.find((f) => f.repo.toLowerCase() === repo);
|
|
145
|
+
const file = family?.files.find((f) => f.file === name);
|
|
146
|
+
if (family && file)
|
|
147
|
+
return { family, file };
|
|
148
|
+
}
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
/** The family a projector file belongs to, by sha256 or repository + name. */
|
|
152
|
+
export function findPrismProjector(rules, query) {
|
|
153
|
+
for (const family of rules.families) {
|
|
154
|
+
const projector = family.projectors.find((p) => (query.sha256 && p.sha256 === query.sha256) ||
|
|
155
|
+
(query.repo &&
|
|
156
|
+
query.file &&
|
|
157
|
+
family.repo.toLowerCase() === query.repo.toLowerCase() &&
|
|
158
|
+
p.file === query.file.split('/').pop()));
|
|
159
|
+
if (projector)
|
|
160
|
+
return { family, projector };
|
|
161
|
+
}
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/models/compatibility/rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAChC,sGAAsG,CAAA;AACxG,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAA;AAEjD,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;CACT,CAAC,CAAA;AAiDF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AACnF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAgC,EAAE,CAC5D,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACnD,MAAM,YAAY,GAAG,CAAC,CAAU,EAAyB,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACxG,MAAM,KAAK,GAAG,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC5F,MAAM,MAAM,GAAG,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjG,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;AAEhG,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAA;IAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IACnE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5E,MAAM,GAAG,GAAmB;QAC1B,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,SAAS,EAAE,SAA+B;QAC1C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;KACrF,CAAA;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;IAC1D,IAAI,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9C,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAA;IAC/C,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,CAAA;IACtE,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;IAC1D,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IACnE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AACtF,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClG,OAAO,IAAI,CAAA;IACb,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACnF,CAAC,CAAC,EAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,CACvC,CAAA;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,MAAM,GAAqB;QAC/B,EAAE;QACF,KAAK;QACL,IAAI;QACJ,QAAQ,EAAE,QAAkB;QAC5B,KAAK;QACL,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAChG,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,KAAK,IAAI,CAC5C;KACF,CAAA;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;IACpD,IAAI,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAAE,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACrF,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAA;QACzB,MAAM,QAAQ,GAA8C,EAAE,CAAA;QAC9D,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;YACtE,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAW,CAAA;QAClE,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAChF,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,CAAA;IACzC,OAAO,MAAM,CAAA;AACf,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,gCAAgC;QAAE,OAAO,IAAI,CAAA;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;IAC3C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACxG,MAAM,WAAW,GAAmC,EAAE,CAAA;IACtD,IAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;gBAAE,WAAW,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;QACtF,CAAC;IACH,CAAC;IACD,MAAM,oBAAoB,GAAqC,EAAE,CAAA;IACjE,IAAI,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC;YACxE,IAAI,YAAY,CAAC,GAAG,CAAC;gBAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;QACxD,CAAC;IACH,CAAC;IACD,OAAO;QACL,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;QACpE,aAAa,EAAE,YAAY;QAC3B,YAAY,EAAE,WAAW;QACzB,qBAAqB,EAAE,oBAAoB;QAC3C,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAClE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,EAAE;QACN,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAC3F,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,KAAK,IAAI,CACzC;KACF,CAAA;AACH,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAsB,EACtB,KAAwD;IAExD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAA;YAChE,IAAI,IAAI;gBAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACnC,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAA;QACxE,MAAM,IAAI,GAAG,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACvD,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IAC7C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAChC,KAAsB,EACtB,KAAwD;IAExD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;YAC3C,CAAC,KAAK,CAAC,IAAI;gBACT,KAAK,CAAC,IAAI;gBACV,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtD,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAC5C,CAAA;QACD,IAAI,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC7C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The compatibility check as a service: rules (live or cached) + evidence (local header, remote
|
|
3
|
+
* header, or nothing) + the installed PrismML build → a verdict, and the load gate built on it.
|
|
4
|
+
*
|
|
5
|
+
* The gate never touches the network and never blocks on missing evidence: it refuses a load only
|
|
6
|
+
* when the header (or a conf rule matched by sha256) says the file cannot run on the chosen engine.
|
|
7
|
+
* A header that cannot be read is left to the engine to report, as before this check existed.
|
|
8
|
+
*/
|
|
9
|
+
import type { LocalProviderId, ModelCompatibilityResponse, PrismFamiliesResponse } from '../../contracts/index.js';
|
|
10
|
+
import type { GgufEvidence, InstalledPrism } from './resolve.js';
|
|
11
|
+
import type { RuleMatch } from './rules.js';
|
|
12
|
+
import type { PrismModelRulesService } from './rules-service.js';
|
|
13
|
+
/** The engines whose loads go through the gate: every llama.cpp provider. */
|
|
14
|
+
export declare const GATED_PROVIDERS: ReadonlySet<LocalProviderId>;
|
|
15
|
+
export interface ModelCompatibilityServiceDeps {
|
|
16
|
+
rules: Pick<PrismModelRulesService, 'rules' | 'cachedRules'>;
|
|
17
|
+
/** The PrismML build a load would run on; `offline` for the load gate, which never fetches. */
|
|
18
|
+
installedPrism: (options: {
|
|
19
|
+
offline: boolean;
|
|
20
|
+
}) => Promise<InstalledPrism>;
|
|
21
|
+
fetch: typeof fetch;
|
|
22
|
+
hfToken?: () => string | undefined;
|
|
23
|
+
/** Replaced in tests. */
|
|
24
|
+
inspectLocal?: (path: string) => Promise<GgufEvidence>;
|
|
25
|
+
inspectRemote?: (url: string, options: {
|
|
26
|
+
fetch: typeof fetch;
|
|
27
|
+
token?: string;
|
|
28
|
+
}) => Promise<GgufEvidence>;
|
|
29
|
+
log?: (level: 'info' | 'warn', message: string) => void;
|
|
30
|
+
}
|
|
31
|
+
export interface CompatibilityQuery {
|
|
32
|
+
/** Absolute path of a GGUF already on disk. */
|
|
33
|
+
modelPath?: string;
|
|
34
|
+
sha256?: string;
|
|
35
|
+
repo?: string;
|
|
36
|
+
file?: string;
|
|
37
|
+
revision?: string;
|
|
38
|
+
inspectRemote?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export declare class ModelCompatibilityService {
|
|
41
|
+
private readonly deps;
|
|
42
|
+
constructor(deps: ModelCompatibilityServiceDeps);
|
|
43
|
+
/** The verdict for one file, with the family's conf defaults when a rule matched. */
|
|
44
|
+
check(query: CompatibilityQuery): Promise<ModelCompatibilityResponse>;
|
|
45
|
+
/** The conf rule for a file, as `check` would match it. */
|
|
46
|
+
/** The Bonsai families the Hub lists, each with only the files it may offer. */
|
|
47
|
+
families(): Promise<PrismFamiliesResponse>;
|
|
48
|
+
ruleFor(query: Pick<CompatibilityQuery, 'sha256' | 'repo' | 'file'>): Promise<RuleMatch | undefined>;
|
|
49
|
+
/**
|
|
50
|
+
* Throws `MODEL_ENGINE_INCOMPATIBLE` / `MODEL_FORMAT_LEGACY` when the file at `modelPath` cannot
|
|
51
|
+
* run on `provider`; resolves otherwise (also when nothing could be read).
|
|
52
|
+
*/
|
|
53
|
+
gate(provider: LocalProviderId, target: {
|
|
54
|
+
modelPath: string;
|
|
55
|
+
sha256?: string;
|
|
56
|
+
modelId?: string;
|
|
57
|
+
}): Promise<void>;
|
|
58
|
+
private evidenceFor;
|
|
59
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The compatibility check as a service: rules (live or cached) + evidence (local header, remote
|
|
3
|
+
* header, or nothing) + the installed PrismML build → a verdict, and the load gate built on it.
|
|
4
|
+
*
|
|
5
|
+
* The gate never touches the network and never blocks on missing evidence: it refuses a load only
|
|
6
|
+
* when the header (or a conf rule matched by sha256) says the file cannot run on the chosen engine.
|
|
7
|
+
* A header that cannot be read is left to the engine to report, as before this check existed.
|
|
8
|
+
*/
|
|
9
|
+
import { AtomicCoreError } from '../../contracts/index.js';
|
|
10
|
+
import { hfResolveUrl, inspectLocalGguf, inspectRemoteGguf } from './inspect.js';
|
|
11
|
+
import { gateDecision, resolveCompatibility } from './resolve.js';
|
|
12
|
+
import { findPrismModelRule } from './rules.js';
|
|
13
|
+
/** The engines whose loads go through the gate: every llama.cpp provider. */
|
|
14
|
+
export const GATED_PROVIDERS = new Set([
|
|
15
|
+
'llamacpp',
|
|
16
|
+
'llamacpp-upstream',
|
|
17
|
+
'atomic-prism',
|
|
18
|
+
]);
|
|
19
|
+
export class ModelCompatibilityService {
|
|
20
|
+
deps;
|
|
21
|
+
constructor(deps) {
|
|
22
|
+
this.deps = deps;
|
|
23
|
+
}
|
|
24
|
+
/** The verdict for one file, with the family's conf defaults when a rule matched. */
|
|
25
|
+
async check(query) {
|
|
26
|
+
const rules = await this.deps.rules.rules();
|
|
27
|
+
const rule = findPrismModelRule(rules, query);
|
|
28
|
+
const evidence = rule ? undefined : await this.evidenceFor(query);
|
|
29
|
+
const verdict = resolveCompatibility({
|
|
30
|
+
rules,
|
|
31
|
+
...(rule ? { rule } : {}),
|
|
32
|
+
...(evidence ? { evidence } : {}),
|
|
33
|
+
prism: await this.deps.installedPrism({ offline: false }),
|
|
34
|
+
});
|
|
35
|
+
const family = rule?.family;
|
|
36
|
+
const defaults = family && (family.sampling || family.default_ctx)
|
|
37
|
+
? {
|
|
38
|
+
...(family.sampling ? { sampling: family.sampling } : {}),
|
|
39
|
+
...(family.default_ctx ? { ctx_len: family.default_ctx } : {}),
|
|
40
|
+
}
|
|
41
|
+
: undefined;
|
|
42
|
+
return { ...verdict, ...(defaults ? { defaults } : {}) };
|
|
43
|
+
}
|
|
44
|
+
/** The conf rule for a file, as `check` would match it. */
|
|
45
|
+
/** The Bonsai families the Hub lists, each with only the files it may offer. */
|
|
46
|
+
async families() {
|
|
47
|
+
const rules = await this.deps.rules.rules();
|
|
48
|
+
const offered = (treatment) => treatment === 'prism_required' || treatment === 'any';
|
|
49
|
+
return {
|
|
50
|
+
rules_version: rules.rules_version,
|
|
51
|
+
families: rules.families.flatMap((family) => {
|
|
52
|
+
const files = family.files.flatMap(({ treatment, ...file }) => offered(treatment)
|
|
53
|
+
? [
|
|
54
|
+
{
|
|
55
|
+
file: file.file,
|
|
56
|
+
size: file.size,
|
|
57
|
+
sha256: file.sha256,
|
|
58
|
+
treatment,
|
|
59
|
+
...(file.packing ? { packing: file.packing } : {}),
|
|
60
|
+
...(file.default ? { default: true } : {}),
|
|
61
|
+
...(file.summary ? { summary: file.summary } : {}),
|
|
62
|
+
},
|
|
63
|
+
]
|
|
64
|
+
: []);
|
|
65
|
+
if (files.length === 0)
|
|
66
|
+
return [];
|
|
67
|
+
return [
|
|
68
|
+
{
|
|
69
|
+
id: family.id,
|
|
70
|
+
title: family.title,
|
|
71
|
+
repo: family.repo,
|
|
72
|
+
revision: family.revision,
|
|
73
|
+
...(family.featured ? { featured: true } : {}),
|
|
74
|
+
files,
|
|
75
|
+
projectors: family.projectors.map(({ file, size, sha256, ...rest }) => ({
|
|
76
|
+
file,
|
|
77
|
+
size,
|
|
78
|
+
sha256,
|
|
79
|
+
...(rest.default ? { default: true } : {}),
|
|
80
|
+
})),
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
}),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
async ruleFor(query) {
|
|
87
|
+
return findPrismModelRule(await this.deps.rules.rules(), query);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Throws `MODEL_ENGINE_INCOMPATIBLE` / `MODEL_FORMAT_LEGACY` when the file at `modelPath` cannot
|
|
91
|
+
* run on `provider`; resolves otherwise (also when nothing could be read).
|
|
92
|
+
*/
|
|
93
|
+
async gate(provider, target) {
|
|
94
|
+
if (!GATED_PROVIDERS.has(provider))
|
|
95
|
+
return;
|
|
96
|
+
const rules = await this.deps.rules.cachedRules();
|
|
97
|
+
const rule = target.sha256 ? findPrismModelRule(rules, { sha256: target.sha256 }) : undefined;
|
|
98
|
+
let evidence;
|
|
99
|
+
if (!rule) {
|
|
100
|
+
try {
|
|
101
|
+
evidence = await (this.deps.inspectLocal ?? inspectLocalGguf)(target.modelPath);
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
this.deps.log?.('warn', `[compatibility] header of ${target.modelPath} unreadable, not gating: ${String(err)}`);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const verdict = resolveCompatibility({
|
|
109
|
+
rules,
|
|
110
|
+
...(rule ? { rule } : {}),
|
|
111
|
+
...(evidence ? { evidence } : {}),
|
|
112
|
+
prism: await this.deps.installedPrism({ offline: true }),
|
|
113
|
+
});
|
|
114
|
+
const refusal = gateDecision(verdict, provider);
|
|
115
|
+
if (!refusal)
|
|
116
|
+
return;
|
|
117
|
+
throw new AtomicCoreError(refusal.code, refusal.message, JSON.stringify({ ...(target.modelId ? { model_id: target.modelId } : {}), provider, verdict }));
|
|
118
|
+
}
|
|
119
|
+
async evidenceFor(query) {
|
|
120
|
+
try {
|
|
121
|
+
if (query.modelPath)
|
|
122
|
+
return await (this.deps.inspectLocal ?? inspectLocalGguf)(query.modelPath);
|
|
123
|
+
if (query.inspectRemote && query.repo && query.file) {
|
|
124
|
+
const token = this.deps.hfToken?.();
|
|
125
|
+
return await (this.deps.inspectRemote ?? inspectRemoteGguf)(hfResolveUrl(query.repo, query.file, query.revision), {
|
|
126
|
+
fetch: this.deps.fetch,
|
|
127
|
+
...(token ? { token } : {}),
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
this.deps.log?.('warn', `[compatibility] could not read the header: ${err instanceof Error ? err.message : String(err)}`);
|
|
133
|
+
}
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/models/compatibility/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What sits at a decision model path: a GGUF file, a laya Hugging Face checkpoint folder (complete
|
|
3
|
+
* or not), or nothing. The engine converts a folder itself (`-m DIR`); the core only has to tell the
|
|
4
|
+
* cases apart before a start, so an incomplete download fails with the files it lacks instead of a
|
|
5
|
+
* load error from the engine.
|
|
6
|
+
*/
|
|
7
|
+
export type DecisionModelSource = {
|
|
8
|
+
kind: 'file';
|
|
9
|
+
}
|
|
10
|
+
/** `missing`: required files the folder lacks, empty when it is complete. */
|
|
11
|
+
| {
|
|
12
|
+
kind: 'checkpoint-dir';
|
|
13
|
+
missing: string[];
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'none';
|
|
16
|
+
};
|
|
17
|
+
export declare function inspectDecisionModelPath(path: string): Promise<DecisionModelSource>;
|
|
18
|
+
/**
|
|
19
|
+
* A folder that is a laya checkpoint: it has `rl_agent_config.json`. An incomplete one still counts,
|
|
20
|
+
* so a half-downloaded decision model is not mistaken for something else.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isDecisionCheckpointDir(path: string): Promise<boolean>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What sits at a decision model path: a GGUF file, a laya Hugging Face checkpoint folder (complete
|
|
3
|
+
* or not), or nothing. The engine converts a folder itself (`-m DIR`); the core only has to tell the
|
|
4
|
+
* cases apart before a start, so an incomplete download fails with the files it lacks instead of a
|
|
5
|
+
* load error from the engine.
|
|
6
|
+
*/
|
|
7
|
+
import { stat } from 'node:fs/promises';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
import { DECISION_CHECKPOINT_FILES, missingDecisionCheckpointFiles } from './gguf/index.js';
|
|
10
|
+
const isFile = (path) => stat(path).then((s) => s.isFile(), () => false);
|
|
11
|
+
export async function inspectDecisionModelPath(path) {
|
|
12
|
+
const info = await stat(path).catch(() => undefined);
|
|
13
|
+
if (!info)
|
|
14
|
+
return { kind: 'none' };
|
|
15
|
+
if (info.isFile())
|
|
16
|
+
return { kind: 'file' };
|
|
17
|
+
if (!info.isDirectory())
|
|
18
|
+
return { kind: 'none' };
|
|
19
|
+
const present = new Set();
|
|
20
|
+
for (const file of DECISION_CHECKPOINT_FILES)
|
|
21
|
+
if (await isFile(join(path, ...file.split('/'))))
|
|
22
|
+
present.add(file);
|
|
23
|
+
return { kind: 'checkpoint-dir', missing: missingDecisionCheckpointFiles(present) };
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A folder that is a laya checkpoint: it has `rl_agent_config.json`. An incomplete one still counts,
|
|
27
|
+
* so a half-downloaded decision model is not mistaken for something else.
|
|
28
|
+
*/
|
|
29
|
+
export async function isDecisionCheckpointDir(path) {
|
|
30
|
+
const source = await inspectDecisionModelPath(path);
|
|
31
|
+
return source.kind === 'checkpoint-dir' && !source.missing.includes('rl_agent_config.json');
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=decision-checkpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision-checkpoint.js","sourceRoot":"","sources":["../../src/models/decision-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAQ3F,MAAM,MAAM,GAAG,CAAC,IAAY,EAAoB,EAAE,CAChD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EACjB,GAAG,EAAE,CAAC,KAAK,CACZ,CAAA;AAEH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAY;IACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAClC,IAAI,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,yBAAyB;QAC1C,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACrE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,8BAA8B,CAAC,OAAO,CAAC,EAAE,CAAA;AACrF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAY;IACxD,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAA;IACnD,OAAO,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;AAC7F,CAAC"}
|
|
@@ -6,11 +6,37 @@
|
|
|
6
6
|
type Meta = Record<string, unknown> | undefined | null;
|
|
7
7
|
/** True iff the load-error text is an MTP rejection (llama.cpp has no structured code for it). */
|
|
8
8
|
export declare function matchesMtpLoadFailure(text: string): boolean;
|
|
9
|
-
/** A
|
|
9
|
+
/** A GGUF whose MTP head is embedded (`{arch}.nextn_predict_layers` > 0). */
|
|
10
10
|
export declare function hasEmbeddedMtp(metadata: Meta): boolean;
|
|
11
11
|
export declare function isMtpCapable(metadata: Meta, mtpDraftPath: string): boolean;
|
|
12
12
|
/** Architectures that cannot generate text; started as a chat model they crash the server. */
|
|
13
13
|
export declare const NON_TEXT_GGUF_ARCHITECTURES: Set<string>;
|
|
14
|
+
/** Architectures that are decision models by themselves (the Laya family: an mmBERT encoder with a marker head). */
|
|
15
|
+
export declare const DECISION_GGUF_ARCHITECTURES: Set<string>;
|
|
16
|
+
/**
|
|
17
|
+
* `<general.architecture>.decision.type` of a GGUF: the key upstream llama.cpp (b11370 on) reads to
|
|
18
|
+
* serve the file on `/v1/systemone` (`laya`, `openjev`, `lev`, `kev`, `nimble`, `clef`, and whatever
|
|
19
|
+
* a newer build adds). `undefined` when the file has none. The fork never writes it: its own GGUFs
|
|
20
|
+
* carry `decision.layout` or the `laya` architecture.
|
|
21
|
+
*/
|
|
22
|
+
export declare function upstreamDecisionTypeOf(metadata: Meta): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* A decision model: served by the decision module, never as a chat or embedding session. Either the
|
|
25
|
+
* architecture is one (`laya`), the file is stamped with a decision spec (`decision.layout`, the
|
|
26
|
+
* mirror key of `decision.spec`, which any architecture can carry: an Arbiter or JevK5 GGUF stays
|
|
27
|
+
* `qwen35` underneath), or it is an upstream decision GGUF (`<arch>.decision.type`). Checked before
|
|
28
|
+
* `isEmbeddingGguf`, which it excludes: `laya` is deliberately not in `NON_TEXT_GGUF_ARCHITECTURES`,
|
|
29
|
+
* because that would load it with `--embedding --pooling mean`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isDecisionGguf(metadata: Meta): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* The files a laya Hugging Face checkpoint folder needs before the engine can convert it
|
|
34
|
+
* (`DECISION.md`, "Loading a Hugging Face checkpoint directly"), relative and `/`-separated.
|
|
35
|
+
* `rl_agent_config.json` is what tells the folder apart from any other model.
|
|
36
|
+
*/
|
|
37
|
+
export declare const DECISION_CHECKPOINT_FILES: readonly ["rl_agent_config.json", "encoder/config.json", "tokenizer/tokenizer.json", "model.safetensors"];
|
|
38
|
+
/** Which of `DECISION_CHECKPOINT_FILES` a folder lacks, given the relative paths it has. */
|
|
39
|
+
export declare function missingDecisionCheckpointFiles(present: ReadonlySet<string>): string[];
|
|
14
40
|
/** Weights that produce embeddings rather than text (load in embedding mode instead). */
|
|
15
41
|
export declare function isEmbeddingGguf(metadata: Meta): boolean;
|
|
16
42
|
/**
|
|
@@ -3,7 +3,27 @@
|
|
|
3
3
|
* head, effective context. Verbatim port of the relevant helpers in
|
|
4
4
|
* `extensions/llamacpp-upstream-extension/src/util.ts`.
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* `general.architecture` values whose llama.cpp graph builds the embedded MTP head
|
|
8
|
+
* (`LLM_GRAPH_TYPE_DECODER_MTP` in `src/models/*.cpp`), as of upstream b10809 (5266f24da).
|
|
9
|
+
* A GGUF still needs `{arch}.nextn_predict_layers` > 0: most conversions strip the head.
|
|
10
|
+
*/
|
|
11
|
+
const EMBEDDED_MTP_ARCHITECTURES = new Set([
|
|
12
|
+
'bailingmoe3',
|
|
13
|
+
'cohere2moe',
|
|
14
|
+
'deepseek2',
|
|
15
|
+
'deepseek32',
|
|
16
|
+
'deepseek4',
|
|
17
|
+
'glm-dsa',
|
|
18
|
+
'glm4moe',
|
|
19
|
+
'hy_v3',
|
|
20
|
+
'mimo2',
|
|
21
|
+
'nemotron_h_moe',
|
|
22
|
+
'qwen35',
|
|
23
|
+
'qwen35moe',
|
|
24
|
+
'qwen3next',
|
|
25
|
+
'step35',
|
|
26
|
+
]);
|
|
7
27
|
/** True iff the load-error text is an MTP rejection (llama.cpp has no structured code for it). */
|
|
8
28
|
export function matchesMtpLoadFailure(text) {
|
|
9
29
|
if (!text)
|
|
@@ -12,7 +32,7 @@ export function matchesMtpLoadFailure(text) {
|
|
|
12
32
|
/context type MTP requested/i.test(text) ||
|
|
13
33
|
/doesn'?t contain MTP layers/i.test(text));
|
|
14
34
|
}
|
|
15
|
-
/** A
|
|
35
|
+
/** A GGUF whose MTP head is embedded (`{arch}.nextn_predict_layers` > 0). */
|
|
16
36
|
export function hasEmbeddedMtp(metadata) {
|
|
17
37
|
if (!metadata)
|
|
18
38
|
return false;
|
|
@@ -37,15 +57,71 @@ export const NON_TEXT_GGUF_ARCHITECTURES = new Set([
|
|
|
37
57
|
'jina-bert-v3',
|
|
38
58
|
'eurobert',
|
|
39
59
|
'gemma-embedding',
|
|
60
|
+
'gemma-embedding2',
|
|
40
61
|
'llama-embed',
|
|
41
62
|
't5encoder',
|
|
42
63
|
]);
|
|
64
|
+
/** Architectures that are decision models by themselves (the Laya family: an mmBERT encoder with a marker head). */
|
|
65
|
+
export const DECISION_GGUF_ARCHITECTURES = new Set(['laya']);
|
|
66
|
+
/**
|
|
67
|
+
* `<general.architecture>.decision.type` of a GGUF: the key upstream llama.cpp (b11370 on) reads to
|
|
68
|
+
* serve the file on `/v1/systemone` (`laya`, `openjev`, `lev`, `kev`, `nimble`, `clef`, and whatever
|
|
69
|
+
* a newer build adds). `undefined` when the file has none. The fork never writes it: its own GGUFs
|
|
70
|
+
* carry `decision.layout` or the `laya` architecture.
|
|
71
|
+
*/
|
|
72
|
+
export function upstreamDecisionTypeOf(metadata) {
|
|
73
|
+
if (!metadata)
|
|
74
|
+
return undefined;
|
|
75
|
+
const raw = metadata['general.architecture'];
|
|
76
|
+
const arch = typeof raw === 'string' ? raw.trim() : '';
|
|
77
|
+
if (arch === '')
|
|
78
|
+
return undefined;
|
|
79
|
+
const type = metadata[`${arch}.decision.type`];
|
|
80
|
+
return typeof type === 'string' && type.trim() !== '' ? type.trim().toLowerCase() : undefined;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* A decision model: served by the decision module, never as a chat or embedding session. Either the
|
|
84
|
+
* architecture is one (`laya`), the file is stamped with a decision spec (`decision.layout`, the
|
|
85
|
+
* mirror key of `decision.spec`, which any architecture can carry: an Arbiter or JevK5 GGUF stays
|
|
86
|
+
* `qwen35` underneath), or it is an upstream decision GGUF (`<arch>.decision.type`). Checked before
|
|
87
|
+
* `isEmbeddingGguf`, which it excludes: `laya` is deliberately not in `NON_TEXT_GGUF_ARCHITECTURES`,
|
|
88
|
+
* because that would load it with `--embedding --pooling mean`.
|
|
89
|
+
*/
|
|
90
|
+
export function isDecisionGguf(metadata) {
|
|
91
|
+
if (!metadata)
|
|
92
|
+
return false;
|
|
93
|
+
const raw = metadata['general.architecture'];
|
|
94
|
+
const arch = typeof raw === 'string' ? raw.trim().toLowerCase() : '';
|
|
95
|
+
if (DECISION_GGUF_ARCHITECTURES.has(arch))
|
|
96
|
+
return true;
|
|
97
|
+
if (upstreamDecisionTypeOf(metadata) !== undefined)
|
|
98
|
+
return true;
|
|
99
|
+
const layout = metadata['decision.layout'];
|
|
100
|
+
return typeof layout === 'string' ? layout.trim() !== '' : layout !== undefined && layout !== null;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The files a laya Hugging Face checkpoint folder needs before the engine can convert it
|
|
104
|
+
* (`DECISION.md`, "Loading a Hugging Face checkpoint directly"), relative and `/`-separated.
|
|
105
|
+
* `rl_agent_config.json` is what tells the folder apart from any other model.
|
|
106
|
+
*/
|
|
107
|
+
export const DECISION_CHECKPOINT_FILES = [
|
|
108
|
+
'rl_agent_config.json',
|
|
109
|
+
'encoder/config.json',
|
|
110
|
+
'tokenizer/tokenizer.json',
|
|
111
|
+
'model.safetensors',
|
|
112
|
+
];
|
|
113
|
+
/** Which of `DECISION_CHECKPOINT_FILES` a folder lacks, given the relative paths it has. */
|
|
114
|
+
export function missingDecisionCheckpointFiles(present) {
|
|
115
|
+
return DECISION_CHECKPOINT_FILES.filter((file) => !present.has(file));
|
|
116
|
+
}
|
|
43
117
|
/** Weights that produce embeddings rather than text (load in embedding mode instead). */
|
|
44
118
|
export function isEmbeddingGguf(metadata) {
|
|
45
119
|
const raw = metadata?.['general.architecture'];
|
|
46
120
|
const arch = typeof raw === 'string' ? raw.trim().toLowerCase() : '';
|
|
47
121
|
if (!arch)
|
|
48
122
|
return false;
|
|
123
|
+
if (isDecisionGguf(metadata))
|
|
124
|
+
return false;
|
|
49
125
|
if (NON_TEXT_GGUF_ARCHITECTURES.has(arch))
|
|
50
126
|
return true;
|
|
51
127
|
// Embedding/reranker conversions of a generative arch keep the arch name; a pooling type other
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/models/gguf/classify.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/models/gguf/classify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/gguf/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/gguf/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA"}
|