@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,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TurboQuant fork's release catalog, pure half. Port of the decision halves of
|
|
3
|
+
* `extensions/llamacpp-extension/src/backend.ts` (`compareSemver`, `satisfiesMinAppVersion`,
|
|
4
|
+
* `normalizeVariants`, `parseReleaseIndex`, `sortReleasesNewestFirst`, `fetchFromReleaseIndex`,
|
|
5
|
+
* `fetchFromLatestRedirect`, `fetchFromLegacyManifest`, `fetchRemoteBackends`, `readDiskCache`).
|
|
6
|
+
*
|
|
7
|
+
* The fork points at AtomicBot-ai/atomic-llama-cpp-turboquant. Which releases exist and which
|
|
8
|
+
* variants each carries is resolved at runtime from `index.json`, published as an asset of every
|
|
9
|
+
* release; `/releases/latest` is GitHub's own pointer at the newest non-prerelease, so no tag is ever
|
|
10
|
+
* hardcoded and a new fork release reaches users without a new app build. Only stable releases of
|
|
11
|
+
* the unified `b<upstream-build>-<fork-semver>` scheme are installable: `dev-latest` and the legacy
|
|
12
|
+
* per-variant `turboquant-<id>-<sha>` releases are prereleases.
|
|
13
|
+
*
|
|
14
|
+
* Nothing here fetches or reads disk; `turboquant-catalog.ts` does, and hands the bytes here.
|
|
15
|
+
*/
|
|
16
|
+
import type { BackendVersion } from '../types.js';
|
|
17
|
+
/** Redirects to `/releases/tag/<newest stable tag>`; used when index.json is absent. */
|
|
18
|
+
export declare const TURBOQUANT_LATEST_RELEASE_URL = "https://github.com/AtomicBot-ai/atomic-llama-cpp-turboquant/releases/latest";
|
|
19
|
+
/**
|
|
20
|
+
* Legacy index channel (app ADR 2026-06-17). Read from `main` — not a pinned commit — so the
|
|
21
|
+
* atomic-chat-conf repo can retarget the fork's tag without an app release.
|
|
22
|
+
*/
|
|
23
|
+
export declare const TURBOQUANT_LEGACY_MANIFEST_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/turboquant-manifest.json";
|
|
24
|
+
/** Schema version of `index.json` this client understands. */
|
|
25
|
+
export declare const TURBOQUANT_INDEX_SCHEMA_VERSION = 1;
|
|
26
|
+
/** How long a fetched catalog is served from memory before the network is asked again. */
|
|
27
|
+
export declare const TURBOQUANT_RELEASE_INDEX_TTL_MS: number;
|
|
28
|
+
/** One platform/backend archive inside a release. */
|
|
29
|
+
export interface TurboquantVariant {
|
|
30
|
+
id: string;
|
|
31
|
+
asset?: string;
|
|
32
|
+
size?: number;
|
|
33
|
+
sha256?: string;
|
|
34
|
+
}
|
|
35
|
+
/** One release of the fork, as described by `index.json`. */
|
|
36
|
+
export interface TurboquantRelease {
|
|
37
|
+
tag: string;
|
|
38
|
+
published_at?: string;
|
|
39
|
+
commit?: string;
|
|
40
|
+
prerelease?: boolean;
|
|
41
|
+
/** Minimum Atomic Chat version that can run this build; absent = any. */
|
|
42
|
+
min_app_version?: string;
|
|
43
|
+
title?: string;
|
|
44
|
+
highlights?: string[];
|
|
45
|
+
variants: TurboquantVariant[];
|
|
46
|
+
}
|
|
47
|
+
export type TurboquantCatalogSource = 'index' | 'redirect' | 'legacy-manifest' | 'disk-cache' | 'none';
|
|
48
|
+
export interface TurboquantCatalog {
|
|
49
|
+
/** Newest stable tag the client accepted, or null when nothing is usable. */
|
|
50
|
+
latest: string | null;
|
|
51
|
+
/** Stable, app-compatible releases, newest first. */
|
|
52
|
+
releases: TurboquantRelease[];
|
|
53
|
+
source: TurboquantCatalogSource;
|
|
54
|
+
}
|
|
55
|
+
/** The shape of `<data>/llamacpp/release-index.cache.json`, byte-compatible with the extension's. */
|
|
56
|
+
export interface CachedTurboquantCatalog {
|
|
57
|
+
fetched_at: number;
|
|
58
|
+
catalog: TurboquantCatalog;
|
|
59
|
+
}
|
|
60
|
+
export declare const EMPTY_TURBOQUANT_CATALOG: Readonly<TurboquantCatalog>;
|
|
61
|
+
/**
|
|
62
|
+
* Numeric semver comparison over the leading `major.minor.patch`, ignoring any prerelease/build
|
|
63
|
+
* suffix and a leading `v`. Returns <0, 0 or >0.
|
|
64
|
+
*/
|
|
65
|
+
export declare function compareSemver(a: string, b: string): number;
|
|
66
|
+
/**
|
|
67
|
+
* Whether this app build satisfies a release's `min_app_version`. Missing or unparseable
|
|
68
|
+
* requirements pass: the field exists to stop an engine that needs newer CLI wiring from
|
|
69
|
+
* auto-installing, not to gate on metadata the client failed to read. An unknown app version also
|
|
70
|
+
* passes — refusing every release because the version is unavailable would be worse than the risk.
|
|
71
|
+
*/
|
|
72
|
+
export declare function satisfiesMinAppVersion(minAppVersion: string | undefined, appVersion: string | null | undefined): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Step 1: a fetched `index.json` payload → the stable, app-compatible catalog (`source: 'index'`),
|
|
75
|
+
* or `null` when nothing in it is usable. Everything that is a prerelease, carries a non-unified
|
|
76
|
+
* tag, needs a newer app or has no variants is dropped here rather than in the UI; a half-written
|
|
77
|
+
* entry costs the entry, not the catalog. A `schema_version` newer than this client understands is
|
|
78
|
+
* `INVALID_ARGUMENT`: a future schema may describe releases in ways this parser would misread, so
|
|
79
|
+
* the caller falls through to the tag-only paths instead of guessing.
|
|
80
|
+
*/
|
|
81
|
+
export declare function parseTurboquantReleaseIndex(payload: unknown, appVersion: string | null | undefined, onInfo?: (message: string) => void): TurboquantCatalog | null;
|
|
82
|
+
/**
|
|
83
|
+
* Step 2: no index.json yet. The URL `/releases/latest` redirected to names the newest stable tag
|
|
84
|
+
* without any API call; the variant list is synthesised from the fork's asset naming for the ids
|
|
85
|
+
* this host supports (`null` when it supports none). A final URL that is not a `/releases/tag/`
|
|
86
|
+
* page, or one naming a prerelease, is `INVALID_ARGUMENT` — the caller moves to the next source.
|
|
87
|
+
*/
|
|
88
|
+
export declare function catalogFromLatestRedirect(finalUrl: string, supportedIds: readonly string[], platform?: NodeJS.Platform): TurboquantCatalog | null;
|
|
89
|
+
/**
|
|
90
|
+
* Step 3: the legacy atomic-chat-conf manifest (`{ commit, backends: [{ id, tag, asset }] }`), kept
|
|
91
|
+
* until index.json ships everywhere. Entries are grouped by stable tag; `null` when none is stable.
|
|
92
|
+
*/
|
|
93
|
+
export declare function parseLegacyTurboquantManifest(payload: unknown): TurboquantCatalog | null;
|
|
94
|
+
/**
|
|
95
|
+
* The installable stable builds for this host, as `BackendVersion[]` (`order: 0`, catalog order).
|
|
96
|
+
* `supportedIds` encodes OS/arch plus the detected GPU tier, so the user never sees a variant the
|
|
97
|
+
* hardware cannot run; an empty set yields `[]`, the app's "undetectable hardware" answer.
|
|
98
|
+
*/
|
|
99
|
+
export declare function turboquantCatalogToBackends(catalog: TurboquantCatalog, supportedIds: readonly string[]): BackendVersion[];
|
|
100
|
+
/**
|
|
101
|
+
* The disk cache the extension wrote (`{ fetched_at, catalog }`), or `null` when the text is not
|
|
102
|
+
* that shape. Lenient on purpose, exactly like the extension's `readDiskCache`: the file is our own.
|
|
103
|
+
*/
|
|
104
|
+
export declare function parseCachedTurboquantCatalog(raw: string | null | undefined): CachedTurboquantCatalog | null;
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TurboQuant fork's release catalog, pure half. Port of the decision halves of
|
|
3
|
+
* `extensions/llamacpp-extension/src/backend.ts` (`compareSemver`, `satisfiesMinAppVersion`,
|
|
4
|
+
* `normalizeVariants`, `parseReleaseIndex`, `sortReleasesNewestFirst`, `fetchFromReleaseIndex`,
|
|
5
|
+
* `fetchFromLatestRedirect`, `fetchFromLegacyManifest`, `fetchRemoteBackends`, `readDiskCache`).
|
|
6
|
+
*
|
|
7
|
+
* The fork points at AtomicBot-ai/atomic-llama-cpp-turboquant. Which releases exist and which
|
|
8
|
+
* variants each carries is resolved at runtime from `index.json`, published as an asset of every
|
|
9
|
+
* release; `/releases/latest` is GitHub's own pointer at the newest non-prerelease, so no tag is ever
|
|
10
|
+
* hardcoded and a new fork release reaches users without a new app build. Only stable releases of
|
|
11
|
+
* the unified `b<upstream-build>-<fork-semver>` scheme are installable: `dev-latest` and the legacy
|
|
12
|
+
* per-variant `turboquant-<id>-<sha>` releases are prereleases.
|
|
13
|
+
*
|
|
14
|
+
* Nothing here fetches or reads disk; `turboquant-catalog.ts` does, and hands the bytes here.
|
|
15
|
+
*/
|
|
16
|
+
import { AtomicCoreError } from '../../contracts/index.js';
|
|
17
|
+
import { isStableReleaseTag, turboquantDefaultAssetName } from '../turboquant.js';
|
|
18
|
+
import { stripBom } from '../version.js';
|
|
19
|
+
/** Redirects to `/releases/tag/<newest stable tag>`; used when index.json is absent. */
|
|
20
|
+
export const TURBOQUANT_LATEST_RELEASE_URL = 'https://github.com/AtomicBot-ai/atomic-llama-cpp-turboquant/releases/latest';
|
|
21
|
+
/**
|
|
22
|
+
* Legacy index channel (app ADR 2026-06-17). Read from `main` — not a pinned commit — so the
|
|
23
|
+
* atomic-chat-conf repo can retarget the fork's tag without an app release.
|
|
24
|
+
*/
|
|
25
|
+
export const TURBOQUANT_LEGACY_MANIFEST_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/turboquant-manifest.json';
|
|
26
|
+
/** Schema version of `index.json` this client understands. */
|
|
27
|
+
export const TURBOQUANT_INDEX_SCHEMA_VERSION = 1;
|
|
28
|
+
/** How long a fetched catalog is served from memory before the network is asked again. */
|
|
29
|
+
export const TURBOQUANT_RELEASE_INDEX_TTL_MS = 60 * 60 * 1000;
|
|
30
|
+
export const EMPTY_TURBOQUANT_CATALOG = Object.freeze({
|
|
31
|
+
latest: null,
|
|
32
|
+
releases: [],
|
|
33
|
+
source: 'none',
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Numeric semver comparison over the leading `major.minor.patch`, ignoring any prerelease/build
|
|
37
|
+
* suffix and a leading `v`. Returns <0, 0 or >0.
|
|
38
|
+
*/
|
|
39
|
+
export function compareSemver(a, b) {
|
|
40
|
+
const parse = (v) => (stripBom(v).trim().replace(/^v/, '').split(/[-+]/)[0] ?? '')
|
|
41
|
+
.split('.')
|
|
42
|
+
.map((part) => Number.parseInt(part, 10));
|
|
43
|
+
const left = parse(a);
|
|
44
|
+
const right = parse(b);
|
|
45
|
+
for (let i = 0; i < Math.max(left.length, right.length); i++) {
|
|
46
|
+
const l = Number.isFinite(left[i]) ? left[i] : 0;
|
|
47
|
+
const r = Number.isFinite(right[i]) ? right[i] : 0;
|
|
48
|
+
if (l !== r)
|
|
49
|
+
return l - r;
|
|
50
|
+
}
|
|
51
|
+
return 0;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Whether this app build satisfies a release's `min_app_version`. Missing or unparseable
|
|
55
|
+
* requirements pass: the field exists to stop an engine that needs newer CLI wiring from
|
|
56
|
+
* auto-installing, not to gate on metadata the client failed to read. An unknown app version also
|
|
57
|
+
* passes — refusing every release because the version is unavailable would be worse than the risk.
|
|
58
|
+
*/
|
|
59
|
+
export function satisfiesMinAppVersion(minAppVersion, appVersion) {
|
|
60
|
+
if (!minAppVersion || typeof minAppVersion !== 'string')
|
|
61
|
+
return true;
|
|
62
|
+
if (!appVersion)
|
|
63
|
+
return true;
|
|
64
|
+
if (!/^\d+(\.\d+)*/.test(minAppVersion.trim().replace(/^v/, '')))
|
|
65
|
+
return true;
|
|
66
|
+
return compareSemver(appVersion, minAppVersion) >= 0;
|
|
67
|
+
}
|
|
68
|
+
function normalizeVariants(raw) {
|
|
69
|
+
if (!Array.isArray(raw))
|
|
70
|
+
return [];
|
|
71
|
+
const variants = [];
|
|
72
|
+
for (const entry of raw) {
|
|
73
|
+
const id = typeof entry?.id === 'string' ? entry.id.trim() : '';
|
|
74
|
+
if (!id)
|
|
75
|
+
continue;
|
|
76
|
+
variants.push({
|
|
77
|
+
id,
|
|
78
|
+
...(typeof entry?.asset === 'string' ? { asset: entry.asset.trim() } : {}),
|
|
79
|
+
...(typeof entry?.size === 'number' ? { size: entry.size } : {}),
|
|
80
|
+
...(typeof entry?.sha256 === 'string' ? { sha256: entry.sha256 } : {}),
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return variants;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Newest first by `(upstream build, fork semver)` parsed out of the tag, which is authoritative
|
|
87
|
+
* even when `published_at` is missing or a build was re-published out of order.
|
|
88
|
+
*/
|
|
89
|
+
function sortReleasesNewestFirst(releases) {
|
|
90
|
+
const rank = (tag) => {
|
|
91
|
+
const match = /^b(\d+)-(\d+)\.(\d+)\.(\d+)$/.exec(tag);
|
|
92
|
+
if (!match)
|
|
93
|
+
return [0, 0, 0, 0];
|
|
94
|
+
return match.slice(1).map((n) => Number.parseInt(n, 10));
|
|
95
|
+
};
|
|
96
|
+
return [...releases].sort((a, b) => {
|
|
97
|
+
const left = rank(a.tag);
|
|
98
|
+
const right = rank(b.tag);
|
|
99
|
+
for (let i = 0; i < left.length; i++) {
|
|
100
|
+
if (left[i] !== right[i])
|
|
101
|
+
return (right[i] ?? 0) - (left[i] ?? 0);
|
|
102
|
+
}
|
|
103
|
+
return 0;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Step 1: a fetched `index.json` payload → the stable, app-compatible catalog (`source: 'index'`),
|
|
108
|
+
* or `null` when nothing in it is usable. Everything that is a prerelease, carries a non-unified
|
|
109
|
+
* tag, needs a newer app or has no variants is dropped here rather than in the UI; a half-written
|
|
110
|
+
* entry costs the entry, not the catalog. A `schema_version` newer than this client understands is
|
|
111
|
+
* `INVALID_ARGUMENT`: a future schema may describe releases in ways this parser would misread, so
|
|
112
|
+
* the caller falls through to the tag-only paths instead of guessing.
|
|
113
|
+
*/
|
|
114
|
+
export function parseTurboquantReleaseIndex(payload, appVersion, onInfo) {
|
|
115
|
+
const document = (payload ?? {});
|
|
116
|
+
const schemaVersion = document.schema_version;
|
|
117
|
+
if (typeof schemaVersion === 'number' && schemaVersion > TURBOQUANT_INDEX_SCHEMA_VERSION) {
|
|
118
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', `index.json schema_version ${schemaVersion} is newer than supported ${TURBOQUANT_INDEX_SCHEMA_VERSION}`);
|
|
119
|
+
}
|
|
120
|
+
const rawReleases = document.releases;
|
|
121
|
+
if (!Array.isArray(rawReleases))
|
|
122
|
+
return null;
|
|
123
|
+
const releases = [];
|
|
124
|
+
for (const entry of rawReleases) {
|
|
125
|
+
const tag = typeof entry?.tag === 'string' ? entry.tag.trim() : '';
|
|
126
|
+
if (!isStableReleaseTag(tag))
|
|
127
|
+
continue;
|
|
128
|
+
if (entry?.prerelease === true)
|
|
129
|
+
continue;
|
|
130
|
+
const minAppVersion = typeof entry?.min_app_version === 'string' ? entry.min_app_version : undefined;
|
|
131
|
+
if (!satisfiesMinAppVersion(minAppVersion, appVersion)) {
|
|
132
|
+
onInfo?.(`[fetchStableIndex] skipping ${tag}: needs app >= ${minAppVersion}, running ${appVersion ?? 'unknown'}`);
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const variants = normalizeVariants(entry?.variants);
|
|
136
|
+
if (variants.length === 0)
|
|
137
|
+
continue;
|
|
138
|
+
releases.push({
|
|
139
|
+
tag,
|
|
140
|
+
...(typeof entry?.published_at === 'string' ? { published_at: entry.published_at } : {}),
|
|
141
|
+
...(typeof entry?.commit === 'string' ? { commit: entry.commit } : {}),
|
|
142
|
+
prerelease: false,
|
|
143
|
+
...(minAppVersion !== undefined ? { min_app_version: minAppVersion } : {}),
|
|
144
|
+
...(typeof entry?.title === 'string' ? { title: entry.title } : {}),
|
|
145
|
+
...(Array.isArray(entry?.highlights)
|
|
146
|
+
? { highlights: entry.highlights.filter((h) => typeof h === 'string') }
|
|
147
|
+
: {}),
|
|
148
|
+
variants,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
if (releases.length === 0)
|
|
152
|
+
return null;
|
|
153
|
+
const sorted = sortReleasesNewestFirst(releases);
|
|
154
|
+
return { latest: sorted[0].tag, releases: sorted, source: 'index' };
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Step 2: no index.json yet. The URL `/releases/latest` redirected to names the newest stable tag
|
|
158
|
+
* without any API call; the variant list is synthesised from the fork's asset naming for the ids
|
|
159
|
+
* this host supports (`null` when it supports none). A final URL that is not a `/releases/tag/`
|
|
160
|
+
* page, or one naming a prerelease, is `INVALID_ARGUMENT` — the caller moves to the next source.
|
|
161
|
+
*/
|
|
162
|
+
export function catalogFromLatestRedirect(finalUrl, supportedIds, platform = process.platform) {
|
|
163
|
+
const match = /\/releases\/tag\/([^/?#]+)/.exec(finalUrl);
|
|
164
|
+
if (!match) {
|
|
165
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', `could not read a release tag from the /releases/latest redirect (${finalUrl || 'no final URL'})`);
|
|
166
|
+
}
|
|
167
|
+
const tag = decodeURIComponent(match[1] ?? '').trim();
|
|
168
|
+
if (!isStableReleaseTag(tag)) {
|
|
169
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', `/releases/latest resolved to non-stable tag '${tag}'`);
|
|
170
|
+
}
|
|
171
|
+
if (supportedIds.length === 0)
|
|
172
|
+
return null;
|
|
173
|
+
return {
|
|
174
|
+
latest: tag,
|
|
175
|
+
releases: [
|
|
176
|
+
{
|
|
177
|
+
tag,
|
|
178
|
+
prerelease: false,
|
|
179
|
+
variants: supportedIds.map((id) => ({ id, asset: turboquantDefaultAssetName(id, platform) })),
|
|
180
|
+
},
|
|
181
|
+
],
|
|
182
|
+
source: 'redirect',
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Step 3: the legacy atomic-chat-conf manifest (`{ commit, backends: [{ id, tag, asset }] }`), kept
|
|
187
|
+
* until index.json ships everywhere. Entries are grouped by stable tag; `null` when none is stable.
|
|
188
|
+
*/
|
|
189
|
+
export function parseLegacyTurboquantManifest(payload) {
|
|
190
|
+
const manifest = (payload ?? {});
|
|
191
|
+
const entries = Array.isArray(manifest.backends) ? manifest.backends : [];
|
|
192
|
+
const byTag = new Map();
|
|
193
|
+
for (const raw of entries) {
|
|
194
|
+
const entry = raw;
|
|
195
|
+
if (!entry || typeof entry.id !== 'string' || typeof entry.tag !== 'string')
|
|
196
|
+
continue;
|
|
197
|
+
if (!isStableReleaseTag(entry.tag))
|
|
198
|
+
continue;
|
|
199
|
+
const variants = byTag.get(entry.tag) ?? [];
|
|
200
|
+
variants.push({
|
|
201
|
+
id: entry.id.trim(),
|
|
202
|
+
...(typeof entry.asset === 'string' ? { asset: entry.asset } : {}),
|
|
203
|
+
});
|
|
204
|
+
byTag.set(entry.tag, variants);
|
|
205
|
+
}
|
|
206
|
+
if (byTag.size === 0)
|
|
207
|
+
return null;
|
|
208
|
+
const releases = sortReleasesNewestFirst([...byTag.entries()].map(([tag, variants]) => ({
|
|
209
|
+
tag,
|
|
210
|
+
prerelease: false,
|
|
211
|
+
...(typeof manifest.commit === 'string' ? { commit: manifest.commit } : {}),
|
|
212
|
+
variants,
|
|
213
|
+
})));
|
|
214
|
+
return { latest: releases[0].tag, releases, source: 'legacy-manifest' };
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* The installable stable builds for this host, as `BackendVersion[]` (`order: 0`, catalog order).
|
|
218
|
+
* `supportedIds` encodes OS/arch plus the detected GPU tier, so the user never sees a variant the
|
|
219
|
+
* hardware cannot run; an empty set yields `[]`, the app's "undetectable hardware" answer.
|
|
220
|
+
*/
|
|
221
|
+
export function turboquantCatalogToBackends(catalog, supportedIds) {
|
|
222
|
+
const supported = new Set(supportedIds);
|
|
223
|
+
if (supported.size === 0)
|
|
224
|
+
return [];
|
|
225
|
+
const backends = [];
|
|
226
|
+
for (const release of catalog.releases) {
|
|
227
|
+
for (const variant of release.variants) {
|
|
228
|
+
if (!supported.has(variant.id))
|
|
229
|
+
continue;
|
|
230
|
+
backends.push({ version: release.tag, backend: variant.id, order: 0 });
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return backends;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* The disk cache the extension wrote (`{ fetched_at, catalog }`), or `null` when the text is not
|
|
237
|
+
* that shape. Lenient on purpose, exactly like the extension's `readDiskCache`: the file is our own.
|
|
238
|
+
*/
|
|
239
|
+
export function parseCachedTurboquantCatalog(raw) {
|
|
240
|
+
if (!raw)
|
|
241
|
+
return null;
|
|
242
|
+
try {
|
|
243
|
+
const parsed = JSON.parse(stripBom(raw));
|
|
244
|
+
const catalog = parsed?.catalog;
|
|
245
|
+
if (!catalog || typeof catalog !== 'object' || !Array.isArray(catalog.releases))
|
|
246
|
+
return null;
|
|
247
|
+
return {
|
|
248
|
+
fetched_at: typeof parsed?.fetched_at === 'number' ? parsed.fetched_at : 0,
|
|
249
|
+
catalog: {
|
|
250
|
+
latest: typeof catalog.latest === 'string' ? catalog.latest : null,
|
|
251
|
+
releases: catalog.releases,
|
|
252
|
+
source: (catalog.source ?? 'none'),
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=turboquant-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turboquant-index.js","sourceRoot":"","sources":["../../../src/backend/catalog/turboquant-index.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/index.d.ts
CHANGED
package/dist/backend/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
|
|
@@ -2,21 +2,21 @@ import type { LocalProviderId } from '../../contracts/index.js';
|
|
|
2
2
|
import type { DataLayout } from '../../config/index.js';
|
|
3
3
|
import type { RuntimeSettings } from '../../runtime/llamacpp/index.js';
|
|
4
4
|
import type { SettingsStore } from '../../settings/index.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { HardwareFactsSource } from '../../hardware/index.js';
|
|
6
6
|
import type { RocmHostProbe } from '../turboquant.js';
|
|
7
7
|
/** Provider settings plus the engine-level keys the load plan reads. */
|
|
8
|
-
export declare function readRuntimeSettings(settings: SettingsStore, provider: LocalProviderId, layout: DataLayout, hardware:
|
|
8
|
+
export declare function readRuntimeSettings(settings: SettingsStore, provider: LocalProviderId, layout: DataLayout, hardware: HardwareFactsSource): Promise<RuntimeSettings>;
|
|
9
9
|
/**
|
|
10
10
|
* The installed backend a load runs on: the configured pack when it is on disk, otherwise the best
|
|
11
11
|
* compatible installed one. `repair` runs on the pack that will be used before it is returned — the
|
|
12
12
|
* TurboQuant provider puts a missing CUDA runtime back there, as its extension did before every load.
|
|
13
13
|
*/
|
|
14
|
-
export declare function ensureBackend(layout: DataLayout, provider: LocalProviderId, backend: string, version: string, hardware:
|
|
14
|
+
export declare function ensureBackend(layout: DataLayout, provider: LocalProviderId, backend: string, version: string, hardware: HardwareFactsSource, hostArch?: NodeJS.Architecture, repair?: (backend: string, version: string) => Promise<void>): Promise<{
|
|
15
15
|
version: string;
|
|
16
16
|
backend: string;
|
|
17
17
|
exePath: string;
|
|
18
18
|
}>;
|
|
19
|
-
/** Choose among installed packs using the
|
|
20
|
-
export declare function selectInstalledBackend(layout: DataLayout, provider: LocalProviderId, hardware:
|
|
21
|
-
/** Node's `process.arch` in the Rust spelling the backend and CPU policies expect
|
|
19
|
+
/** Choose among installed packs using the hardware facts (probe or override), never directory order. */
|
|
20
|
+
export declare function selectInstalledBackend(layout: DataLayout, provider: LocalProviderId, hardware: HardwareFactsSource, hostArch?: NodeJS.Architecture, probeRocm?: () => Promise<RocmHostProbe>): Promise<import("../installed/scan.js").DiscoveredBackendBinary | undefined>;
|
|
21
|
+
/** Node's `process.arch` in the Rust spelling the backend and CPU policies expect; the rule is `hardware/facts.ts`'s `rustArch`. */
|
|
22
22
|
export declare function platformArch(arch: string): string;
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
import { AtomicCoreError } from '../../contracts/index.js';
|
|
3
3
|
import { isConcreteVersionBackend } from '../../runtime/llamacpp/index.js';
|
|
4
4
|
import { canonicalProviderDefaults } from '../../settings/index.js';
|
|
5
|
+
import { rustArch } from '../../hardware/index.js';
|
|
6
|
+
import { prismTagBuild } from '../catalog/index.js';
|
|
5
7
|
import { discoverBackendBinary, resolveBackendExe, scanInstalledBackends } from '../installed/index.js';
|
|
6
|
-
import { determineBestBackend, determineSupportedBackends, filterBackendsBySupport, getSupportedFeatures, } from '../select/index.js';
|
|
8
|
+
import { determineBestBackend, determineBestPrismBackend, determinePrismSupportedBackends, determineSupportedBackends, filterBackendsBySupport, filterPrismBackendsBySupport, getPrismSupportedFeatures, getSupportedFeatures, } from '../select/index.js';
|
|
7
9
|
import { determineBestTurboquantBackend, determineTurboquantSupportedBackends, filterTurboquantBackendsBySupport, getTurboquantSupportedFeatures, probeLinuxRocmHost, } from '../turboquant.js';
|
|
8
10
|
/** Provider settings plus the engine-level keys the load plan reads. */
|
|
9
11
|
export async function readRuntimeSettings(settings, provider, layout, hardware) {
|
|
@@ -43,28 +45,40 @@ export async function ensureBackend(layout, provider, backend, version, hardware
|
|
|
43
45
|
}
|
|
44
46
|
throw new AtomicCoreError('BINARY_NOT_FOUND', 'No llama.cpp backend is installed in this data folder.', `looked for ${version}/${backend} under ${layout.provider(provider).backendsDir}`);
|
|
45
47
|
}
|
|
46
|
-
/** Choose among installed packs using the
|
|
48
|
+
/** Choose among installed packs using the hardware facts (probe or override), never directory order. */
|
|
47
49
|
export async function selectInstalledBackend(layout, provider, hardware, hostArch = process.arch, probeRocm = probeLinuxRocmHost) {
|
|
48
50
|
const installed = await scanInstalledBackends(layout, provider);
|
|
49
51
|
if (installed.length === 0)
|
|
50
52
|
return discoverBackendBinary(layout, provider);
|
|
51
|
-
const
|
|
52
|
-
const osType =
|
|
53
|
+
const facts = await hardware.facts();
|
|
54
|
+
const osType = facts.osType;
|
|
53
55
|
const arch = platformArch(hostArch);
|
|
54
|
-
const gpus =
|
|
56
|
+
const gpus = facts.gpus;
|
|
57
|
+
// Unknown flags read as none here: the feature gates only add tiers for flags that are present.
|
|
58
|
+
const cpuExtensions = facts.cpuExtensions ?? [];
|
|
55
59
|
let selected;
|
|
56
60
|
if (provider === 'llamacpp') {
|
|
57
61
|
// The fork's own matrix, ids and priorities: the upstream ones filter every TurboQuant pack out.
|
|
58
62
|
const rocm = osType === 'linux' ? await probeRocm() : undefined;
|
|
59
|
-
const features = getTurboquantSupportedFeatures(osType,
|
|
63
|
+
const features = getTurboquantSupportedFeatures(osType, cpuExtensions, gpus, rocm);
|
|
60
64
|
const supported = determineTurboquantSupportedBackends(osType, arch, features);
|
|
61
65
|
const compatible = filterTurboquantBackendsBySupport(installed, supported);
|
|
62
66
|
if (compatible.length === 0)
|
|
63
67
|
return undefined;
|
|
64
68
|
selected = determineBestTurboquantBackend(compatible, gpus);
|
|
65
69
|
}
|
|
70
|
+
else if (provider === 'atomic-prism') {
|
|
71
|
+
const rocm = osType === 'linux' ? await probeRocm() : undefined;
|
|
72
|
+
const features = getPrismSupportedFeatures(osType, cpuExtensions, gpus, rocm);
|
|
73
|
+
// A pack under another release train's tag was not installed from the Prism manifest.
|
|
74
|
+
const prismPacks = installed.filter((pack) => prismTagBuild(pack.version) !== null);
|
|
75
|
+
const compatible = filterPrismBackendsBySupport(prismPacks, determinePrismSupportedBackends(osType, arch, features));
|
|
76
|
+
if (compatible.length === 0)
|
|
77
|
+
return undefined;
|
|
78
|
+
selected = determineBestPrismBackend(compatible, gpus);
|
|
79
|
+
}
|
|
66
80
|
else {
|
|
67
|
-
const features = getSupportedFeatures(osType,
|
|
81
|
+
const features = getSupportedFeatures(osType, cpuExtensions, gpus);
|
|
68
82
|
const supported = determineSupportedBackends(osType, arch, features);
|
|
69
83
|
const compatible = filterBackendsBySupport(installed, supported, osType);
|
|
70
84
|
if (compatible.length === 0)
|
|
@@ -77,19 +91,8 @@ export async function selectInstalledBackend(layout, provider, hardware, hostArc
|
|
|
77
91
|
const path = await resolveBackendExe(layout, provider, version, backend);
|
|
78
92
|
return path ? { path, version_backend: selected, version, backend } : undefined;
|
|
79
93
|
}
|
|
80
|
-
|
|
81
|
-
if (platform === 'win32')
|
|
82
|
-
return 'windows';
|
|
83
|
-
if (platform === 'darwin')
|
|
84
|
-
return 'macos';
|
|
85
|
-
return platform;
|
|
86
|
-
}
|
|
87
|
-
/** Node's `process.arch` in the Rust spelling the backend and CPU policies expect (`x64` → `x86_64`). */
|
|
94
|
+
/** Node's `process.arch` in the Rust spelling the backend and CPU policies expect; the rule is `hardware/facts.ts`'s `rustArch`. */
|
|
88
95
|
export function platformArch(arch) {
|
|
89
|
-
|
|
90
|
-
return 'x86_64';
|
|
91
|
-
if (arch === 'ia32')
|
|
92
|
-
return 'x86';
|
|
93
|
-
return arch;
|
|
96
|
+
return rustArch(arch);
|
|
94
97
|
}
|
|
95
98
|
//# sourceMappingURL=runtime-backend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-backend.js","sourceRoot":"","sources":["../../../src/backend/install/runtime-backend.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime-backend.js","sourceRoot":"","sources":["../../../src/backend/install/runtime-backend.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACvG,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,8BAA8B,EAC9B,oCAAoC,EACpC,iCAAiC,EACjC,8BAA8B,EAC9B,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AAGzB,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAuB,EACvB,QAAyB,EACzB,MAAkB,EAClB,QAA6B;IAE7B,MAAM,MAAM,GAAG,EAAE,GAAG,yBAAyB,CAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;IACpF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACjE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC3E,IAAI,UAAU;YAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAC,eAAe,CAAA;IACxE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAmC;QAC3C,MAAM,EAAE;YACN,OAAO,EAAG,MAAM,CAAC,SAAS,CAAiC,IAAI,GAAG;YAClE,YAAY,EAAG,MAAM,CAAC,cAAc,CAAwB,IAAI,EAAE;YAClE,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAoB,EAAE;gBACvE,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAkB,EAClB,QAAyB,EACzB,OAAe,EACf,OAAe,EACf,QAA6B,EAC7B,QAAQ,GAAG,OAAO,CAAC,IAAI,EACvB,MAA4D;IAE5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC7C,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACrF,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;QACtD,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,CAAA;IAC/F,CAAC;IACD,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,wDAAwD,EACxD,cAAc,OAAO,IAAI,OAAO,UAAU,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAClF,CAAA;AACH,CAAC;AAED,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAkB,EAClB,QAAyB,EACzB,QAA6B,EAC7B,QAAQ,GAAG,OAAO,CAAC,IAAI,EACvB,YAA0C,kBAAkB;IAE5D,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,gGAAgG;IAChG,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,EAAE,CAAA;IAC/C,IAAI,QAAgB,CAAA;IACpB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,iGAAiG;QACjG,MAAM,IAAI,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/D,MAAM,QAAQ,GAAG,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAClF,MAAM,SAAS,GAAG,oCAAoC,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC9E,MAAM,UAAU,GAAG,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC1E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QAC7C,QAAQ,GAAG,8BAA8B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAC7E,sFAAsF;QACtF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA;QACnF,MAAM,UAAU,GAAG,4BAA4B,CAC7C,UAAU,EACV,+BAA+B,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CACxD,CAAA;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QAC7C,QAAQ,GAAG,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QAClE,MAAM,SAAS,GAAG,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QACpE,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QAC7C,QAAQ,GAAG,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACnD,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC1C,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACxE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACjF,CAAC;AAED,oIAAoI;AACpI,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC"}
|