@atomic-chat/core 0.5.1
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 +46 -0
- package/dist/app-daemon.d.ts +2 -0
- package/dist/app-daemon.js +72 -0
- package/dist/app-daemon.js.map +1 -0
- package/dist/backend/catalog/archive.d.ts +70 -0
- package/dist/backend/catalog/archive.js +138 -0
- package/dist/backend/catalog/archive.js.map +1 -0
- package/dist/backend/catalog/bundled-manifest-baseline.d.ts +2 -0
- package/dist/backend/catalog/bundled-manifest-baseline.js +49 -0
- package/dist/backend/catalog/bundled-manifest-baseline.js.map +1 -0
- package/dist/backend/catalog/cuda-family.d.ts +54 -0
- package/dist/backend/catalog/cuda-family.js +93 -0
- package/dist/backend/catalog/cuda-family.js.map +1 -0
- package/dist/backend/catalog/index.d.ts +6 -0
- package/dist/backend/catalog/index.js +7 -0
- package/dist/backend/catalog/index.js.map +1 -0
- package/dist/backend/catalog/manifest.d.ts +102 -0
- package/dist/backend/catalog/manifest.js +233 -0
- package/dist/backend/catalog/manifest.js.map +1 -0
- package/dist/backend/catalog/migrate.d.ts +40 -0
- package/dist/backend/catalog/migrate.js +135 -0
- package/dist/backend/catalog/migrate.js.map +1 -0
- package/dist/backend/index.d.ts +18 -0
- package/dist/backend/index.js +19 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/install/index.d.ts +3 -0
- package/dist/backend/install/index.js +4 -0
- package/dist/backend/install/index.js.map +1 -0
- package/dist/backend/install/runtime-backend.d.ts +22 -0
- package/dist/backend/install/runtime-backend.js +95 -0
- package/dist/backend/install/runtime-backend.js.map +1 -0
- package/dist/backend/install/service.d.ts +119 -0
- package/dist/backend/install/service.js +218 -0
- package/dist/backend/install/service.js.map +1 -0
- package/dist/backend/installed/index.d.ts +3 -0
- package/dist/backend/installed/index.js +4 -0
- package/dist/backend/installed/index.js.map +1 -0
- package/dist/backend/installed/installed.d.ts +93 -0
- package/dist/backend/installed/installed.js +209 -0
- package/dist/backend/installed/installed.js.map +1 -0
- package/dist/backend/installed/scan.d.ts +39 -0
- package/dist/backend/installed/scan.js +105 -0
- package/dist/backend/installed/scan.js.map +1 -0
- package/dist/backend/optimal/index.d.ts +3 -0
- package/dist/backend/optimal/index.js +4 -0
- package/dist/backend/optimal/index.js.map +1 -0
- package/dist/backend/optimal/optimal-cache.d.ts +90 -0
- package/dist/backend/optimal/optimal-cache.js +198 -0
- package/dist/backend/optimal/optimal-cache.js.map +1 -0
- package/dist/backend/optimal/optimal-store.d.ts +24 -0
- package/dist/backend/optimal/optimal-store.js +103 -0
- package/dist/backend/optimal/optimal-store.js.map +1 -0
- package/dist/backend/select/amd-rocm-pci-ids.d.ts +3 -0
- package/dist/backend/select/amd-rocm-pci-ids.js +57 -0
- package/dist/backend/select/amd-rocm-pci-ids.js.map +1 -0
- package/dist/backend/select/categories.d.ts +49 -0
- package/dist/backend/select/categories.js +178 -0
- package/dist/backend/select/categories.js.map +1 -0
- package/dist/backend/select/features.d.ts +81 -0
- package/dist/backend/select/features.js +221 -0
- package/dist/backend/select/features.js.map +1 -0
- package/dist/backend/select/index.d.ts +9 -0
- package/dist/backend/select/index.js +10 -0
- package/dist/backend/select/index.js.map +1 -0
- package/dist/backend/select/recovery.d.ts +51 -0
- package/dist/backend/select/recovery.js +108 -0
- package/dist/backend/select/recovery.js.map +1 -0
- package/dist/backend/select/tiers.d.ts +76 -0
- package/dist/backend/select/tiers.js +179 -0
- package/dist/backend/select/tiers.js.map +1 -0
- package/dist/backend/turboquant.d.ts +134 -0
- package/dist/backend/turboquant.js +587 -0
- package/dist/backend/turboquant.js.map +1 -0
- package/dist/backend/types.d.ts +139 -0
- package/dist/backend/types.js +13 -0
- package/dist/backend/types.js.map +1 -0
- package/dist/backend/version.d.ts +59 -0
- package/dist/backend/version.js +168 -0
- package/dist/backend/version.js.map +1 -0
- package/dist/cli/bin.d.ts +2 -0
- package/dist/cli/bin.js +10 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/cloud.d.ts +13 -0
- package/dist/cli/cloud.js +146 -0
- package/dist/cli/cloud.js.map +1 -0
- package/dist/cli/commands/daemon.d.ts +4 -0
- package/dist/cli/commands/daemon.js +88 -0
- package/dist/cli/commands/daemon.js.map +1 -0
- package/dist/cli/commands/index.d.ts +16 -0
- package/dist/cli/commands/index.js +17 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/models.d.ts +4 -0
- package/dist/cli/commands/models.js +52 -0
- package/dist/cli/commands/models.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +16 -0
- package/dist/cli/commands/serve.js +263 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/server.d.ts +4 -0
- package/dist/cli/commands/server.js +126 -0
- package/dist/cli/commands/server.js.map +1 -0
- package/dist/cli/commands/shared.d.ts +10 -0
- package/dist/cli/commands/shared.js +34 -0
- package/dist/cli/commands/shared.js.map +1 -0
- package/dist/cli/commands/shutdown.d.ts +4 -0
- package/dist/cli/commands/shutdown.js +32 -0
- package/dist/cli/commands/shutdown.js.map +1 -0
- package/dist/cli/commands/telemetry.d.ts +8 -0
- package/dist/cli/commands/telemetry.js +50 -0
- package/dist/cli/commands/telemetry.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/io.d.ts +46 -0
- package/dist/cli/io.js +101 -0
- package/dist/cli/io.js.map +1 -0
- package/dist/cli/launch.d.ts +50 -0
- package/dist/cli/launch.js +327 -0
- package/dist/cli/launch.js.map +1 -0
- package/dist/cli/main.d.ts +10 -0
- package/dist/cli/main.js +109 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/owner.d.ts +39 -0
- package/dist/cli/owner.js +179 -0
- package/dist/cli/owner.js.map +1 -0
- package/dist/client/control-client.d.ts +213 -0
- package/dist/client/control-client.js +368 -0
- package/dist/client/control-client.js.map +1 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.js +8 -0
- package/dist/client/index.js.map +1 -0
- package/dist/cloud/chatgpt.d.ts +63 -0
- package/dist/cloud/chatgpt.js +233 -0
- package/dist/cloud/chatgpt.js.map +1 -0
- package/dist/cloud/index.d.ts +8 -0
- package/dist/cloud/index.js +9 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/registry.d.ts +51 -0
- package/dist/cloud/registry.js +148 -0
- package/dist/cloud/registry.js.map +1 -0
- package/dist/config/data-folder.d.ts +57 -0
- package/dist/config/data-folder.js +150 -0
- package/dist/config/data-folder.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.js +10 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/paths.d.ts +98 -0
- package/dist/config/paths.js +109 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/contracts/control-api.d.ts +61 -0
- package/dist/contracts/control-api.js +7 -0
- package/dist/contracts/control-api.js.map +1 -0
- package/dist/contracts/diffusion.d.ts +477 -0
- package/dist/contracts/diffusion.js +10 -0
- package/dist/contracts/diffusion.js.map +1 -0
- package/dist/contracts/errors.d.ts +61 -0
- package/dist/contracts/errors.js +70 -0
- package/dist/contracts/errors.js.map +1 -0
- package/dist/contracts/events.d.ts +270 -0
- package/dist/contracts/events.js +7 -0
- package/dist/contracts/events.js.map +1 -0
- package/dist/contracts/hardware.d.ts +53 -0
- package/dist/contracts/hardware.js +12 -0
- package/dist/contracts/hardware.js.map +1 -0
- package/dist/contracts/index.d.ts +12 -0
- package/dist/contracts/index.js +13 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/model-yml.d.ts +28 -0
- package/dist/contracts/model-yml.js +23 -0
- package/dist/contracts/model-yml.js.map +1 -0
- package/dist/contracts/remote-access.d.ts +43 -0
- package/dist/contracts/remote-access.js +12 -0
- package/dist/contracts/remote-access.js.map +1 -0
- package/dist/contracts/session.d.ts +39 -0
- package/dist/contracts/session.js +7 -0
- package/dist/contracts/session.js.map +1 -0
- package/dist/contracts/settings.d.ts +106 -0
- package/dist/contracts/settings.js +17 -0
- package/dist/contracts/settings.js.map +1 -0
- package/dist/core/atomic-core.d.ts +149 -0
- package/dist/core/atomic-core.js +289 -0
- package/dist/core/atomic-core.js.map +1 -0
- package/dist/core/create.d.ts +12 -0
- package/dist/core/create.js +393 -0
- package/dist/core/create.js.map +1 -0
- package/dist/core/index.d.ts +10 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/public-server.d.ts +76 -0
- package/dist/core/public-server.js +143 -0
- package/dist/core/public-server.js.map +1 -0
- package/dist/core/reap-orphans.d.ts +7 -0
- package/dist/core/reap-orphans.js +40 -0
- package/dist/core/reap-orphans.js.map +1 -0
- package/dist/core/sessions.d.ts +60 -0
- package/dist/core/sessions.js +180 -0
- package/dist/core/sessions.js.map +1 -0
- package/dist/core/types.d.ts +61 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/credentials/api-keys.d.ts +41 -0
- package/dist/credentials/api-keys.js +156 -0
- package/dist/credentials/api-keys.js.map +1 -0
- package/dist/credentials/chatgpt-auth.d.ts +73 -0
- package/dist/credentials/chatgpt-auth.js +167 -0
- package/dist/credentials/chatgpt-auth.js.map +1 -0
- package/dist/credentials/chatgpt-oauth.d.ts +97 -0
- package/dist/credentials/chatgpt-oauth.js +329 -0
- package/dist/credentials/chatgpt-oauth.js.map +1 -0
- package/dist/credentials/chatgpt-store.d.ts +33 -0
- package/dist/credentials/chatgpt-store.js +110 -0
- package/dist/credentials/chatgpt-store.js.map +1 -0
- package/dist/credentials/index.d.ts +11 -0
- package/dist/credentials/index.js +12 -0
- package/dist/credentials/index.js.map +1 -0
- package/dist/diffusion/args.d.ts +102 -0
- package/dist/diffusion/args.js +291 -0
- package/dist/diffusion/args.js.map +1 -0
- package/dist/diffusion/compat.d.ts +20 -0
- package/dist/diffusion/compat.js +58 -0
- package/dist/diffusion/compat.js.map +1 -0
- package/dist/diffusion/containment.d.ts +15 -0
- package/dist/diffusion/containment.js +32 -0
- package/dist/diffusion/containment.js.map +1 -0
- package/dist/diffusion/errors.d.ts +28 -0
- package/dist/diffusion/errors.js +63 -0
- package/dist/diffusion/errors.js.map +1 -0
- package/dist/diffusion/gallery.d.ts +76 -0
- package/dist/diffusion/gallery.js +307 -0
- package/dist/diffusion/gallery.js.map +1 -0
- package/dist/diffusion/http.d.ts +16 -0
- package/dist/diffusion/http.js +41 -0
- package/dist/diffusion/http.js.map +1 -0
- package/dist/diffusion/idle.d.ts +23 -0
- package/dist/diffusion/idle.js +45 -0
- package/dist/diffusion/idle.js.map +1 -0
- package/dist/diffusion/image-job.d.ts +25 -0
- package/dist/diffusion/image-job.js +176 -0
- package/dist/diffusion/image-job.js.map +1 -0
- package/dist/diffusion/index.d.ts +35 -0
- package/dist/diffusion/index.js +36 -0
- package/dist/diffusion/index.js.map +1 -0
- package/dist/diffusion/install.d.ts +61 -0
- package/dist/diffusion/install.js +287 -0
- package/dist/diffusion/install.js.map +1 -0
- package/dist/diffusion/job-kind.d.ts +74 -0
- package/dist/diffusion/job-kind.js +7 -0
- package/dist/diffusion/job-kind.js.map +1 -0
- package/dist/diffusion/jobs.d.ts +90 -0
- package/dist/diffusion/jobs.js +433 -0
- package/dist/diffusion/jobs.js.map +1 -0
- package/dist/diffusion/mutex.d.ts +16 -0
- package/dist/diffusion/mutex.js +46 -0
- package/dist/diffusion/mutex.js.map +1 -0
- package/dist/diffusion/parse.d.ts +19 -0
- package/dist/diffusion/parse.js +274 -0
- package/dist/diffusion/parse.js.map +1 -0
- package/dist/diffusion/png.d.ts +77 -0
- package/dist/diffusion/png.js +335 -0
- package/dist/diffusion/png.js.map +1 -0
- package/dist/diffusion/progress.d.ts +74 -0
- package/dist/diffusion/progress.js +223 -0
- package/dist/diffusion/progress.js.map +1 -0
- package/dist/diffusion/recipe.d.ts +26 -0
- package/dist/diffusion/recipe.js +206 -0
- package/dist/diffusion/recipe.js.map +1 -0
- package/dist/diffusion/server-process.d.ts +59 -0
- package/dist/diffusion/server-process.js +235 -0
- package/dist/diffusion/server-process.js.map +1 -0
- package/dist/diffusion/service.d.ts +107 -0
- package/dist/diffusion/service.js +431 -0
- package/dist/diffusion/service.js.map +1 -0
- package/dist/diffusion/session.d.ts +58 -0
- package/dist/diffusion/session.js +226 -0
- package/dist/diffusion/session.js.map +1 -0
- package/dist/diffusion/state.d.ts +90 -0
- package/dist/diffusion/state.js +122 -0
- package/dist/diffusion/state.js.map +1 -0
- package/dist/diffusion/tracker.d.ts +46 -0
- package/dist/diffusion/tracker.js +153 -0
- package/dist/diffusion/tracker.js.map +1 -0
- package/dist/diffusion/types.d.ts +62 -0
- package/dist/diffusion/types.js +10 -0
- package/dist/diffusion/types.js.map +1 -0
- package/dist/diffusion/validate.d.ts +36 -0
- package/dist/diffusion/validate.js +166 -0
- package/dist/diffusion/validate.js.map +1 -0
- package/dist/diffusion/video-gallery.d.ts +56 -0
- package/dist/diffusion/video-gallery.js +252 -0
- package/dist/diffusion/video-gallery.js.map +1 -0
- package/dist/diffusion/video-job.d.ts +33 -0
- package/dist/diffusion/video-job.js +150 -0
- package/dist/diffusion/video-job.js.map +1 -0
- package/dist/diffusion/video-recipe.d.ts +12 -0
- package/dist/diffusion/video-recipe.js +141 -0
- package/dist/diffusion/video-recipe.js.map +1 -0
- package/dist/diffusion/wiring.d.ts +24 -0
- package/dist/diffusion/wiring.js +38 -0
- package/dist/diffusion/wiring.js.map +1 -0
- package/dist/diffusion/workflow.d.ts +33 -0
- package/dist/diffusion/workflow.js +78 -0
- package/dist/diffusion/workflow.js.map +1 -0
- package/dist/downloads/archive.d.ts +15 -0
- package/dist/downloads/archive.js +121 -0
- package/dist/downloads/archive.js.map +1 -0
- package/dist/downloads/disk-space.d.ts +18 -0
- package/dist/downloads/disk-space.js +32 -0
- package/dist/downloads/disk-space.js.map +1 -0
- package/dist/downloads/disk.d.ts +38 -0
- package/dist/downloads/disk.js +88 -0
- package/dist/downloads/disk.js.map +1 -0
- package/dist/downloads/downloader.d.ts +75 -0
- package/dist/downloads/downloader.js +479 -0
- package/dist/downloads/downloader.js.map +1 -0
- package/dist/downloads/index.d.ts +14 -0
- package/dist/downloads/index.js +15 -0
- package/dist/downloads/index.js.map +1 -0
- package/dist/downloads/protocol.d.ts +52 -0
- package/dist/downloads/protocol.js +153 -0
- package/dist/downloads/protocol.js.map +1 -0
- package/dist/downloads/proxy-fetch.d.ts +45 -0
- package/dist/downloads/proxy-fetch.js +571 -0
- package/dist/downloads/proxy-fetch.js.map +1 -0
- package/dist/downloads/verify.d.ts +22 -0
- package/dist/downloads/verify.js +74 -0
- package/dist/downloads/verify.js.map +1 -0
- package/dist/events/emitter.d.ts +44 -0
- package/dist/events/emitter.js +104 -0
- package/dist/events/emitter.js.map +1 -0
- package/dist/events/index.d.ts +5 -0
- package/dist/events/index.js +6 -0
- package/dist/events/index.js.map +1 -0
- package/dist/hardware/index.d.ts +7 -0
- package/dist/hardware/index.js +8 -0
- package/dist/hardware/index.js.map +1 -0
- package/dist/hardware/override.d.ts +46 -0
- package/dist/hardware/override.js +81 -0
- package/dist/hardware/override.js.map +1 -0
- package/dist/host/index.d.ts +15 -0
- package/dist/host/index.js +16 -0
- package/dist/host/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/catalog.d.ts +67 -0
- package/dist/integrations/catalog.js +385 -0
- package/dist/integrations/catalog.js.map +1 -0
- package/dist/integrations/config-io.d.ts +86 -0
- package/dist/integrations/config-io.js +229 -0
- package/dist/integrations/config-io.js.map +1 -0
- package/dist/integrations/configure/atomic-agent.d.ts +33 -0
- package/dist/integrations/configure/atomic-agent.js +127 -0
- package/dist/integrations/configure/atomic-agent.js.map +1 -0
- package/dist/integrations/configure/claude-code.d.ts +16 -0
- package/dist/integrations/configure/claude-code.js +45 -0
- package/dist/integrations/configure/claude-code.js.map +1 -0
- package/dist/integrations/configure/cline.d.ts +28 -0
- package/dist/integrations/configure/cline.js +70 -0
- package/dist/integrations/configure/cline.js.map +1 -0
- package/dist/integrations/configure/codex.d.ts +17 -0
- package/dist/integrations/configure/codex.js +43 -0
- package/dist/integrations/configure/codex.js.map +1 -0
- package/dist/integrations/configure/copilot.d.ts +10 -0
- package/dist/integrations/configure/copilot.js +14 -0
- package/dist/integrations/configure/copilot.js.map +1 -0
- package/dist/integrations/configure/droid.d.ts +12 -0
- package/dist/integrations/configure/droid.js +47 -0
- package/dist/integrations/configure/droid.js.map +1 -0
- package/dist/integrations/configure/dsh.d.ts +34 -0
- package/dist/integrations/configure/dsh.js +146 -0
- package/dist/integrations/configure/dsh.js.map +1 -0
- package/dist/integrations/configure/env-agent.d.ts +26 -0
- package/dist/integrations/configure/env-agent.js +41 -0
- package/dist/integrations/configure/env-agent.js.map +1 -0
- package/dist/integrations/configure/goose.d.ts +12 -0
- package/dist/integrations/configure/goose.js +16 -0
- package/dist/integrations/configure/goose.js.map +1 -0
- package/dist/integrations/configure/hermes.d.ts +41 -0
- package/dist/integrations/configure/hermes.js +247 -0
- package/dist/integrations/configure/hermes.js.map +1 -0
- package/dist/integrations/configure/index.d.ts +25 -0
- package/dist/integrations/configure/index.js +26 -0
- package/dist/integrations/configure/index.js.map +1 -0
- package/dist/integrations/configure/json-tree.d.ts +16 -0
- package/dist/integrations/configure/json-tree.js +19 -0
- package/dist/integrations/configure/json-tree.js.map +1 -0
- package/dist/integrations/configure/kilo.d.ts +9 -0
- package/dist/integrations/configure/kilo.js +19 -0
- package/dist/integrations/configure/kilo.js.map +1 -0
- package/dist/integrations/configure/mimo.d.ts +9 -0
- package/dist/integrations/configure/mimo.js +19 -0
- package/dist/integrations/configure/mimo.js.map +1 -0
- package/dist/integrations/configure/muse.d.ts +9 -0
- package/dist/integrations/configure/muse.js +13 -0
- package/dist/integrations/configure/muse.js.map +1 -0
- package/dist/integrations/configure/openclaude.d.ts +13 -0
- package/dist/integrations/configure/openclaude.js +56 -0
- package/dist/integrations/configure/openclaude.js.map +1 -0
- package/dist/integrations/configure/openclaw.d.ts +24 -0
- package/dist/integrations/configure/openclaw.js +99 -0
- package/dist/integrations/configure/openclaw.js.map +1 -0
- package/dist/integrations/configure/opencode-style.d.ts +25 -0
- package/dist/integrations/configure/opencode-style.js +43 -0
- package/dist/integrations/configure/opencode-style.js.map +1 -0
- package/dist/integrations/configure/opencode.d.ts +9 -0
- package/dist/integrations/configure/opencode.js +19 -0
- package/dist/integrations/configure/opencode.js.map +1 -0
- package/dist/integrations/configure/openhands.d.ts +8 -0
- package/dist/integrations/configure/openhands.js +12 -0
- package/dist/integrations/configure/openhands.js.map +1 -0
- package/dist/integrations/configure/pi.d.ts +14 -0
- package/dist/integrations/configure/pi.js +49 -0
- package/dist/integrations/configure/pi.js.map +1 -0
- package/dist/integrations/configure/poolside.d.ts +8 -0
- package/dist/integrations/configure/poolside.js +12 -0
- package/dist/integrations/configure/poolside.js.map +1 -0
- package/dist/integrations/configure/registry.d.ts +41 -0
- package/dist/integrations/configure/registry.js +50 -0
- package/dist/integrations/configure/registry.js.map +1 -0
- package/dist/integrations/configure/zcode.d.ts +59 -0
- package/dist/integrations/configure/zcode.js +260 -0
- package/dist/integrations/configure/zcode.js.map +1 -0
- package/dist/integrations/configure/zed.d.ts +16 -0
- package/dist/integrations/configure/zed.js +61 -0
- package/dist/integrations/configure/zed.js.map +1 -0
- package/dist/integrations/detect.d.ts +29 -0
- package/dist/integrations/detect.js +43 -0
- package/dist/integrations/detect.js.map +1 -0
- package/dist/integrations/index.d.ts +9 -0
- package/dist/integrations/index.js +10 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/lock/control-token.d.ts +19 -0
- package/dist/lock/control-token.js +58 -0
- package/dist/lock/control-token.js.map +1 -0
- package/dist/lock/index.d.ts +10 -0
- package/dist/lock/index.js +11 -0
- package/dist/lock/index.js.map +1 -0
- package/dist/lock/instance-lock.d.ts +93 -0
- package/dist/lock/instance-lock.js +244 -0
- package/dist/lock/instance-lock.js.map +1 -0
- package/dist/lock/legacy-guard.d.ts +46 -0
- package/dist/lock/legacy-guard.js +87 -0
- package/dist/lock/legacy-guard.js.map +1 -0
- package/dist/lock/model-claim.d.ts +20 -0
- package/dist/lock/model-claim.js +84 -0
- package/dist/lock/model-claim.js.map +1 -0
- package/dist/lock/process-identity.d.ts +48 -0
- package/dist/lock/process-identity.js +180 -0
- package/dist/lock/process-identity.js.map +1 -0
- package/dist/lock/process-journal.d.ts +56 -0
- package/dist/lock/process-journal.js +113 -0
- package/dist/lock/process-journal.js.map +1 -0
- package/dist/models/capabilities.d.ts +73 -0
- package/dist/models/capabilities.js +123 -0
- package/dist/models/capabilities.js.map +1 -0
- package/dist/models/embed.d.ts +30 -0
- package/dist/models/embed.js +83 -0
- package/dist/models/embed.js.map +1 -0
- package/dist/models/gguf/classify.d.ts +29 -0
- package/dist/models/gguf/classify.js +89 -0
- package/dist/models/gguf/classify.js.map +1 -0
- package/dist/models/gguf/index.d.ts +5 -0
- package/dist/models/gguf/index.js +6 -0
- package/dist/models/gguf/index.js.map +1 -0
- package/dist/models/gguf/kv-cache.d.ts +27 -0
- package/dist/models/gguf/kv-cache.js +101 -0
- package/dist/models/gguf/kv-cache.js.map +1 -0
- package/dist/models/gguf/read-file.d.ts +11 -0
- package/dist/models/gguf/read-file.js +21 -0
- package/dist/models/gguf/read-file.js.map +1 -0
- package/dist/models/gguf/reader.d.ts +40 -0
- package/dist/models/gguf/reader.js +271 -0
- package/dist/models/gguf/reader.js.map +1 -0
- package/dist/models/gguf/support.d.ts +47 -0
- package/dist/models/gguf/support.js +48 -0
- package/dist/models/gguf/support.js.map +1 -0
- package/dist/models/hf.d.ts +35 -0
- package/dist/models/hf.js +140 -0
- package/dist/models/hf.js.map +1 -0
- package/dist/models/index.d.ts +14 -0
- package/dist/models/index.js +15 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/model-yml.d.ts +22 -0
- package/dist/models/model-yml.js +63 -0
- package/dist/models/model-yml.js.map +1 -0
- package/dist/models/registry.d.ts +51 -0
- package/dist/models/registry.js +102 -0
- package/dist/models/registry.js.map +1 -0
- package/dist/models/shards.d.ts +20 -0
- package/dist/models/shards.js +46 -0
- package/dist/models/shards.js.map +1 -0
- package/dist/remote-access/cloudflared-args.d.ts +41 -0
- package/dist/remote-access/cloudflared-args.js +59 -0
- package/dist/remote-access/cloudflared-args.js.map +1 -0
- package/dist/remote-access/cloudflared-output.d.ts +26 -0
- package/dist/remote-access/cloudflared-output.js +51 -0
- package/dist/remote-access/cloudflared-output.js.map +1 -0
- package/dist/remote-access/index.d.ts +16 -0
- package/dist/remote-access/index.js +17 -0
- package/dist/remote-access/index.js.map +1 -0
- package/dist/remote-access/journal.d.ts +63 -0
- package/dist/remote-access/journal.js +140 -0
- package/dist/remote-access/journal.js.map +1 -0
- package/dist/remote-access/lan-probe.d.ts +28 -0
- package/dist/remote-access/lan-probe.js +63 -0
- package/dist/remote-access/lan-probe.js.map +1 -0
- package/dist/remote-access/lan.d.ts +31 -0
- package/dist/remote-access/lan.js +90 -0
- package/dist/remote-access/lan.js.map +1 -0
- package/dist/remote-access/manager.d.ts +111 -0
- package/dist/remote-access/manager.js +316 -0
- package/dist/remote-access/manager.js.map +1 -0
- package/dist/remote-access/probe.d.ts +92 -0
- package/dist/remote-access/probe.js +186 -0
- package/dist/remote-access/probe.js.map +1 -0
- package/dist/remote-access/process.d.ts +66 -0
- package/dist/remote-access/process.js +160 -0
- package/dist/remote-access/process.js.map +1 -0
- package/dist/remote-access/spawner.d.ts +25 -0
- package/dist/remote-access/spawner.js +49 -0
- package/dist/remote-access/spawner.js.map +1 -0
- package/dist/remote-access/status.d.ts +39 -0
- package/dist/remote-access/status.js +49 -0
- package/dist/remote-access/status.js.map +1 -0
- package/dist/remote-access/wiring.d.ts +34 -0
- package/dist/remote-access/wiring.js +47 -0
- package/dist/remote-access/wiring.js.map +1 -0
- package/dist/router/index.d.ts +7 -0
- package/dist/router/index.js +8 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/resolve.d.ts +41 -0
- package/dist/router/resolve.js +53 -0
- package/dist/router/resolve.js.map +1 -0
- package/dist/runtime/foundation-models/errors.d.ts +28 -0
- package/dist/runtime/foundation-models/errors.js +48 -0
- package/dist/runtime/foundation-models/errors.js.map +1 -0
- package/dist/runtime/foundation-models/index.d.ts +8 -0
- package/dist/runtime/foundation-models/index.js +9 -0
- package/dist/runtime/foundation-models/index.js.map +1 -0
- package/dist/runtime/foundation-models/runtime.d.ts +73 -0
- package/dist/runtime/foundation-models/runtime.js +186 -0
- package/dist/runtime/foundation-models/runtime.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.js +6 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/llamacpp/args.d.ts +90 -0
- package/dist/runtime/llamacpp/args.js +379 -0
- package/dist/runtime/llamacpp/args.js.map +1 -0
- package/dist/runtime/llamacpp/ctx-ladder.d.ts +16 -0
- package/dist/runtime/llamacpp/ctx-ladder.js +28 -0
- package/dist/runtime/llamacpp/ctx-ladder.js.map +1 -0
- package/dist/runtime/llamacpp/devices.d.ts +26 -0
- package/dist/runtime/llamacpp/devices.js +86 -0
- package/dist/runtime/llamacpp/devices.js.map +1 -0
- package/dist/runtime/llamacpp/errors.d.ts +34 -0
- package/dist/runtime/llamacpp/errors.js +137 -0
- package/dist/runtime/llamacpp/errors.js.map +1 -0
- package/dist/runtime/llamacpp/index.d.ts +14 -0
- package/dist/runtime/llamacpp/index.js +15 -0
- package/dist/runtime/llamacpp/index.js.map +1 -0
- package/dist/runtime/llamacpp/load-plan.d.ts +113 -0
- package/dist/runtime/llamacpp/load-plan.js +259 -0
- package/dist/runtime/llamacpp/load-plan.js.map +1 -0
- package/dist/runtime/llamacpp/policy.d.ts +70 -0
- package/dist/runtime/llamacpp/policy.js +191 -0
- package/dist/runtime/llamacpp/policy.js.map +1 -0
- package/dist/runtime/llamacpp/probe.d.ts +13 -0
- package/dist/runtime/llamacpp/probe.js +35 -0
- package/dist/runtime/llamacpp/probe.js.map +1 -0
- package/dist/runtime/llamacpp/runtime-device.d.ts +33 -0
- package/dist/runtime/llamacpp/runtime-device.js +169 -0
- package/dist/runtime/llamacpp/runtime-device.js.map +1 -0
- package/dist/runtime/llamacpp/runtime.d.ts +151 -0
- package/dist/runtime/llamacpp/runtime.js +535 -0
- package/dist/runtime/llamacpp/runtime.js.map +1 -0
- package/dist/runtime/mlx/args.d.ts +10 -0
- package/dist/runtime/mlx/args.js +44 -0
- package/dist/runtime/mlx/args.js.map +1 -0
- package/dist/runtime/mlx/config.d.ts +71 -0
- package/dist/runtime/mlx/config.js +91 -0
- package/dist/runtime/mlx/config.js.map +1 -0
- package/dist/runtime/mlx/errors.d.ts +21 -0
- package/dist/runtime/mlx/errors.js +73 -0
- package/dist/runtime/mlx/errors.js.map +1 -0
- package/dist/runtime/mlx/index.d.ts +12 -0
- package/dist/runtime/mlx/index.js +13 -0
- package/dist/runtime/mlx/index.js.map +1 -0
- package/dist/runtime/mlx/model-files.d.ts +29 -0
- package/dist/runtime/mlx/model-files.js +82 -0
- package/dist/runtime/mlx/model-files.js.map +1 -0
- package/dist/runtime/mlx/runtime.d.ts +77 -0
- package/dist/runtime/mlx/runtime.js +223 -0
- package/dist/runtime/mlx/runtime.js.map +1 -0
- package/dist/runtime/mlx/shard-repair.d.ts +25 -0
- package/dist/runtime/mlx/shard-repair.js +44 -0
- package/dist/runtime/mlx/shard-repair.js.map +1 -0
- package/dist/runtime/shared/env.d.ts +49 -0
- package/dist/runtime/shared/env.js +155 -0
- package/dist/runtime/shared/env.js.map +1 -0
- package/dist/runtime/shared/external-sessions.d.ts +67 -0
- package/dist/runtime/shared/external-sessions.js +155 -0
- package/dist/runtime/shared/external-sessions.js.map +1 -0
- package/dist/runtime/shared/index.d.ts +17 -0
- package/dist/runtime/shared/index.js +18 -0
- package/dist/runtime/shared/index.js.map +1 -0
- package/dist/runtime/shared/load-cancel.d.ts +45 -0
- package/dist/runtime/shared/load-cancel.js +95 -0
- package/dist/runtime/shared/load-cancel.js.map +1 -0
- package/dist/runtime/shared/local-runtime.d.ts +68 -0
- package/dist/runtime/shared/local-runtime.js +12 -0
- package/dist/runtime/shared/local-runtime.js.map +1 -0
- package/dist/runtime/shared/log-stream.d.ts +4 -0
- package/dist/runtime/shared/log-stream.js +28 -0
- package/dist/runtime/shared/log-stream.js.map +1 -0
- package/dist/runtime/shared/paths.d.ts +21 -0
- package/dist/runtime/shared/paths.js +63 -0
- package/dist/runtime/shared/paths.js.map +1 -0
- package/dist/runtime/shared/ports.d.ts +26 -0
- package/dist/runtime/shared/ports.js +45 -0
- package/dist/runtime/shared/ports.js.map +1 -0
- package/dist/runtime/shared/process.d.ts +95 -0
- package/dist/runtime/shared/process.js +224 -0
- package/dist/runtime/shared/process.js.map +1 -0
- package/dist/runtime/shared/sidecar.d.ts +86 -0
- package/dist/runtime/shared/sidecar.js +214 -0
- package/dist/runtime/shared/sidecar.js.map +1 -0
- package/dist/server/clients.d.ts +40 -0
- package/dist/server/clients.js +74 -0
- package/dist/server/clients.js.map +1 -0
- package/dist/server/control/index.d.ts +12 -0
- package/dist/server/control/index.js +12 -0
- package/dist/server/control/index.js.map +1 -0
- package/dist/server/control/router.d.ts +9 -0
- package/dist/server/control/router.js +61 -0
- package/dist/server/control/router.js.map +1 -0
- package/dist/server/control/routes/backends.d.ts +4 -0
- package/dist/server/control/routes/backends.js +47 -0
- package/dist/server/control/routes/backends.js.map +1 -0
- package/dist/server/control/routes/clients.d.ts +4 -0
- package/dist/server/control/routes/clients.js +30 -0
- package/dist/server/control/routes/clients.js.map +1 -0
- package/dist/server/control/routes/cloud.d.ts +4 -0
- package/dist/server/control/routes/cloud.js +32 -0
- package/dist/server/control/routes/cloud.js.map +1 -0
- package/dist/server/control/routes/diffusion-video.d.ts +10 -0
- package/dist/server/control/routes/diffusion-video.js +33 -0
- package/dist/server/control/routes/diffusion-video.js.map +1 -0
- package/dist/server/control/routes/diffusion.d.ts +15 -0
- package/dist/server/control/routes/diffusion.js +71 -0
- package/dist/server/control/routes/diffusion.js.map +1 -0
- package/dist/server/control/routes/disk.d.ts +4 -0
- package/dist/server/control/routes/disk.js +11 -0
- package/dist/server/control/routes/disk.js.map +1 -0
- package/dist/server/control/routes/external-sessions.d.ts +4 -0
- package/dist/server/control/routes/external-sessions.js +27 -0
- package/dist/server/control/routes/external-sessions.js.map +1 -0
- package/dist/server/control/routes/hardware.d.ts +4 -0
- package/dist/server/control/routes/hardware.js +14 -0
- package/dist/server/control/routes/hardware.js.map +1 -0
- package/dist/server/control/routes/lifecycle.d.ts +12 -0
- package/dist/server/control/routes/lifecycle.js +67 -0
- package/dist/server/control/routes/lifecycle.js.map +1 -0
- package/dist/server/control/routes/models.d.ts +7 -0
- package/dist/server/control/routes/models.js +59 -0
- package/dist/server/control/routes/models.js.map +1 -0
- package/dist/server/control/routes/public-server.d.ts +4 -0
- package/dist/server/control/routes/public-server.js +30 -0
- package/dist/server/control/routes/public-server.js.map +1 -0
- package/dist/server/control/routes/remote-access.d.ts +7 -0
- package/dist/server/control/routes/remote-access.js +16 -0
- package/dist/server/control/routes/remote-access.js.map +1 -0
- package/dist/server/control/routes/settings.d.ts +4 -0
- package/dist/server/control/routes/settings.js +58 -0
- package/dist/server/control/routes/settings.js.map +1 -0
- package/dist/server/control/routes/telemetry.d.ts +7 -0
- package/dist/server/control/routes/telemetry.js +46 -0
- package/dist/server/control/routes/telemetry.js.map +1 -0
- package/dist/server/control/server.d.ts +26 -0
- package/dist/server/control/server.js +111 -0
- package/dist/server/control/server.js.map +1 -0
- package/dist/server/control/types.d.ts +271 -0
- package/dist/server/control/types.js +6 -0
- package/dist/server/control/types.js.map +1 -0
- package/dist/server/http.d.ts +62 -0
- package/dist/server/http.js +220 -0
- package/dist/server/http.js.map +1 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.js +10 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/public/ctx.d.ts +23 -0
- package/dist/server/public/ctx.js +42 -0
- package/dist/server/public/ctx.js.map +1 -0
- package/dist/server/public/dynamic-hosts.d.ts +40 -0
- package/dist/server/public/dynamic-hosts.js +117 -0
- package/dist/server/public/dynamic-hosts.js.map +1 -0
- package/dist/server/public/errors.d.ts +36 -0
- package/dist/server/public/errors.js +120 -0
- package/dist/server/public/errors.js.map +1 -0
- package/dist/server/public/exchange.d.ts +42 -0
- package/dist/server/public/exchange.js +85 -0
- package/dist/server/public/exchange.js.map +1 -0
- package/dist/server/public/forward.d.ts +53 -0
- package/dist/server/public/forward.js +448 -0
- package/dist/server/public/forward.js.map +1 -0
- package/dist/server/public/gates.d.ts +49 -0
- package/dist/server/public/gates.js +181 -0
- package/dist/server/public/gates.js.map +1 -0
- package/dist/server/public/images-params.d.ts +50 -0
- package/dist/server/public/images-params.js +162 -0
- package/dist/server/public/images-params.js.map +1 -0
- package/dist/server/public/images.d.ts +12 -0
- package/dist/server/public/images.js +96 -0
- package/dist/server/public/images.js.map +1 -0
- package/dist/server/public/index.d.ts +58 -0
- package/dist/server/public/index.js +253 -0
- package/dist/server/public/index.js.map +1 -0
- package/dist/server/public/listing.d.ts +27 -0
- package/dist/server/public/listing.js +116 -0
- package/dist/server/public/listing.js.map +1 -0
- package/dist/server/public/responses.d.ts +11 -0
- package/dist/server/public/responses.js +158 -0
- package/dist/server/public/responses.js.map +1 -0
- package/dist/server/public/sse.d.ts +33 -0
- package/dist/server/public/sse.js +48 -0
- package/dist/server/public/sse.js.map +1 -0
- package/dist/server/public/static-assets.generated.d.ts +3 -0
- package/dist/server/public/static-assets.generated.js +6 -0
- package/dist/server/public/static-assets.generated.js.map +1 -0
- package/dist/server/public/static.d.ts +13 -0
- package/dist/server/public/static.js +75 -0
- package/dist/server/public/static.js.map +1 -0
- package/dist/server/public/subscription.d.ts +14 -0
- package/dist/server/public/subscription.js +56 -0
- package/dist/server/public/subscription.js.map +1 -0
- package/dist/server/public/telemetry.d.ts +65 -0
- package/dist/server/public/telemetry.js +284 -0
- package/dist/server/public/telemetry.js.map +1 -0
- package/dist/server/public/trace.d.ts +66 -0
- package/dist/server/public/trace.js +223 -0
- package/dist/server/public/trace.js.map +1 -0
- package/dist/server/public/types.d.ts +131 -0
- package/dist/server/public/types.js +9 -0
- package/dist/server/public/types.js.map +1 -0
- package/dist/server/public/videos-params.d.ts +95 -0
- package/dist/server/public/videos-params.js +220 -0
- package/dist/server/public/videos-params.js.map +1 -0
- package/dist/server/public/videos.d.ts +16 -0
- package/dist/server/public/videos.js +188 -0
- package/dist/server/public/videos.js.map +1 -0
- package/dist/server/public/wire.d.ts +53 -0
- package/dist/server/public/wire.js +174 -0
- package/dist/server/public/wire.js.map +1 -0
- package/dist/server/shims/anthropic.d.ts +52 -0
- package/dist/server/shims/anthropic.js +519 -0
- package/dist/server/shims/anthropic.js.map +1 -0
- package/dist/server/shims/chat-to-responses.d.ts +113 -0
- package/dist/server/shims/chat-to-responses.js +557 -0
- package/dist/server/shims/chat-to-responses.js.map +1 -0
- package/dist/server/shims/index.d.ts +8 -0
- package/dist/server/shims/index.js +9 -0
- package/dist/server/shims/index.js.map +1 -0
- package/dist/server/shims/json.d.ts +10 -0
- package/dist/server/shims/json.js +78 -0
- package/dist/server/shims/json.js.map +1 -0
- package/dist/server/shims/responses.d.ts +79 -0
- package/dist/server/shims/responses.js +543 -0
- package/dist/server/shims/responses.js.map +1 -0
- package/dist/server/state-file.d.ts +44 -0
- package/dist/server/state-file.js +107 -0
- package/dist/server/state-file.js.map +1 -0
- package/dist/settings/import.d.ts +61 -0
- package/dist/settings/import.js +104 -0
- package/dist/settings/import.js.map +1 -0
- package/dist/settings/index.d.ts +11 -0
- package/dist/settings/index.js +12 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/schema/foundation-models.json +1 -0
- package/dist/settings/schema/llamacpp-upstream.json +489 -0
- package/dist/settings/schema/llamacpp.json +475 -0
- package/dist/settings/schema/mlx.json +136 -0
- package/dist/settings/schema.d.ts +35 -0
- package/dist/settings/schema.js +196 -0
- package/dist/settings/schema.js.map +1 -0
- package/dist/settings/store.d.ts +168 -0
- package/dist/settings/store.js +350 -0
- package/dist/settings/store.js.map +1 -0
- package/dist/speculative/chat-template-overrides.d.ts +35 -0
- package/dist/speculative/chat-template-overrides.js +142 -0
- package/dist/speculative/chat-template-overrides.js.map +1 -0
- package/dist/speculative/dflash-registry.d.ts +50 -0
- package/dist/speculative/dflash-registry.js +258 -0
- package/dist/speculative/dflash-registry.js.map +1 -0
- package/dist/speculative/gemma-mtp-registry.d.ts +48 -0
- package/dist/speculative/gemma-mtp-registry.js +79 -0
- package/dist/speculative/gemma-mtp-registry.js.map +1 -0
- package/dist/speculative/index.d.ts +18 -0
- package/dist/speculative/index.js +19 -0
- package/dist/speculative/index.js.map +1 -0
- package/dist/speculative/mlx-dflash-registry.d.ts +39 -0
- package/dist/speculative/mlx-dflash-registry.js +230 -0
- package/dist/speculative/mlx-dflash-registry.js.map +1 -0
- package/dist/speculative/mlx-eagle3-registry.d.ts +24 -0
- package/dist/speculative/mlx-eagle3-registry.js +81 -0
- package/dist/speculative/mlx-eagle3-registry.js.map +1 -0
- package/dist/speculative/mlx-mtp-registry.d.ts +31 -0
- package/dist/speculative/mlx-mtp-registry.js +139 -0
- package/dist/speculative/mlx-mtp-registry.js.map +1 -0
- package/dist/speculative/transcription-registry.d.ts +72 -0
- package/dist/speculative/transcription-registry.js +94 -0
- package/dist/speculative/transcription-registry.js.map +1 -0
- package/dist/telemetry/config.d.ts +38 -0
- package/dist/telemetry/config.js +44 -0
- package/dist/telemetry/config.js.map +1 -0
- package/dist/telemetry/consent.d.ts +21 -0
- package/dist/telemetry/consent.js +35 -0
- package/dist/telemetry/consent.js.map +1 -0
- package/dist/telemetry/core-reporter.d.ts +47 -0
- package/dist/telemetry/core-reporter.js +72 -0
- package/dist/telemetry/core-reporter.js.map +1 -0
- package/dist/telemetry/daemon.d.ts +40 -0
- package/dist/telemetry/daemon.js +67 -0
- package/dist/telemetry/daemon.js.map +1 -0
- package/dist/telemetry/dsn.d.ts +15 -0
- package/dist/telemetry/dsn.js +32 -0
- package/dist/telemetry/dsn.js.map +1 -0
- package/dist/telemetry/envelope.d.ts +97 -0
- package/dist/telemetry/envelope.js +95 -0
- package/dist/telemetry/envelope.js.map +1 -0
- package/dist/telemetry/index.d.ts +18 -0
- package/dist/telemetry/index.js +19 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/policy.d.ts +39 -0
- package/dist/telemetry/policy.js +142 -0
- package/dist/telemetry/policy.js.map +1 -0
- package/dist/telemetry/reporter.d.ts +80 -0
- package/dist/telemetry/reporter.js +0 -0
- package/dist/telemetry/reporter.js.map +1 -0
- package/dist/telemetry/reports.d.ts +68 -0
- package/dist/telemetry/reports.js +212 -0
- package/dist/telemetry/reports.js.map +1 -0
- package/dist/telemetry/scrub.d.ts +19 -0
- package/dist/telemetry/scrub.js +75 -0
- package/dist/telemetry/scrub.js.map +1 -0
- package/dist/telemetry/stack.d.ts +21 -0
- package/dist/telemetry/stack.js +68 -0
- package/dist/telemetry/stack.js.map +1 -0
- package/dist/telemetry/store.d.ts +17 -0
- package/dist/telemetry/store.js +51 -0
- package/dist/telemetry/store.js.map +1 -0
- package/dist/telemetry/subscribe.d.ts +13 -0
- package/dist/telemetry/subscribe.js +19 -0
- package/dist/telemetry/subscribe.js.map +1 -0
- package/dist/telemetry/types.d.ts +40 -0
- package/dist/telemetry/types.js +2 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/util/index.d.ts +5 -0
- package/dist/util/index.js +6 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/rust-number.d.ts +27 -0
- package/dist/util/rust-number.js +101 -0
- package/dist/util/rust-number.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +86 -0
- package/src/settings/schema/foundation-models.json +1 -0
- package/src/settings/schema/llamacpp-upstream.json +489 -0
- package/src/settings/schema/llamacpp.json +475 -0
- package/src/settings/schema/mlx.json +136 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GPU tier probing and ideal-backend detection. Port of the decision halves of
|
|
3
|
+
* `detectIdealBackendType`, `tierEnumeratesDevices` and `hasCorroboratingGpu` in
|
|
4
|
+
* `extensions/llamacpp-upstream-extension/src/index.ts`.
|
|
5
|
+
*
|
|
6
|
+
* Nothing here reads hardware, disk or network: the probe result (`GpuProbeInfo[]`, cpu extensions)
|
|
7
|
+
* and the catalog are parameters; `--list-devices` is an injected function.
|
|
8
|
+
*/
|
|
9
|
+
import { hasEnoughGpuMemory } from './categories.js';
|
|
10
|
+
import { getSupportedFeatures, normalizeFeatures } from './features.js';
|
|
11
|
+
// ---------------------------------------------------------------------------------------------
|
|
12
|
+
// Ideal backend detection (determineBestBackend / detectIdealBackendType / tierEnumeratesDevices)
|
|
13
|
+
// ---------------------------------------------------------------------------------------------
|
|
14
|
+
export function hasDiscreteGpu(gpus) {
|
|
15
|
+
return gpus.some((g) => g.vulkan_info?.device_type === 'DiscreteGpu' || !!g.nvidia_info);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Integrated-only hosts (Intel UHD / AMD Vega iGPU on shared RAM) report plenty of "VRAM" yet run
|
|
19
|
+
* Vulkan far slower than the CPU build, so Vulkan is never the *optimal* pick for them.
|
|
20
|
+
*/
|
|
21
|
+
export function integratedGpuOnly(gpus) {
|
|
22
|
+
return (!hasDiscreteGpu(gpus) &&
|
|
23
|
+
gpus.length > 0 &&
|
|
24
|
+
gpus.every((g) => g.vulkan_info?.device_type === 'IntegratedGpu'));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Whether the hardware probe corroborates that `backendType` could use a GPU here: CUDA needs an
|
|
28
|
+
* NVIDIA GPU, Vulkan any GPU, anything else (CPU) is trivially corroborated so the picker can fall
|
|
29
|
+
* through. Vendor strings as `tauri-plugin-hardware/src/types.rs` serialises them.
|
|
30
|
+
*/
|
|
31
|
+
export function hasCorroboratingGpu(backendType, gpus) {
|
|
32
|
+
if (backendType.includes('cuda'))
|
|
33
|
+
return gpus.some((g) => g.vendor === 'NVIDIA');
|
|
34
|
+
if (backendType.includes('vulkan'))
|
|
35
|
+
return gpus.length > 0;
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The decision inside `tierEnumeratesDevices`: not installed → `unverified` (nothing to probe);
|
|
40
|
+
* devices listed → `works`; nothing listed but the probe corroborates a matching GPU → `unverified`
|
|
41
|
+
* (`--list-devices` is known to come back empty on hosts whose inference path uses CUDA fine, ADR
|
|
42
|
+
* 2026-05-26); nothing listed and no corroboration → `broken`, degrade to the next tier.
|
|
43
|
+
*/
|
|
44
|
+
export function classifyTierProbe(input) {
|
|
45
|
+
if (!input.installed)
|
|
46
|
+
return 'unverified';
|
|
47
|
+
if (input.devices && input.devices.length > 0)
|
|
48
|
+
return 'works';
|
|
49
|
+
return input.corroborated ? 'unverified' : 'broken';
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Non-destructive runtime probe of one GPU tier: find the installed build of that type, run
|
|
53
|
+
* `--list-devices` through `deps.listDevices`, and classify. A throwing `listInstalled` is
|
|
54
|
+
* `unverified`; a throwing probe counts as "no devices". `onLog` receives the app's log lines.
|
|
55
|
+
*/
|
|
56
|
+
export async function tierEnumeratesDevices(backendType, gpus, deps, onLog) {
|
|
57
|
+
const log = onLog ?? (() => { });
|
|
58
|
+
let installed;
|
|
59
|
+
try {
|
|
60
|
+
installed = (await deps.listInstalled()).find((b) => b.backend === backendType);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
log(`Tier ${backendType} health-check: listInstalled threw (${err instanceof Error ? err.message : String(err)}); treating as unverified`);
|
|
64
|
+
return 'unverified';
|
|
65
|
+
}
|
|
66
|
+
if (!installed)
|
|
67
|
+
return 'unverified';
|
|
68
|
+
let devices = null;
|
|
69
|
+
let probeError = null;
|
|
70
|
+
try {
|
|
71
|
+
devices = await deps.listDevices(installed);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
probeError = err instanceof Error ? err.message : String(err);
|
|
75
|
+
}
|
|
76
|
+
const corroborated = hasCorroboratingGpu(backendType, gpus);
|
|
77
|
+
const verdict = classifyTierProbe({ installed: true, devices, corroborated });
|
|
78
|
+
const reason = probeError ? `--list-devices threw (${probeError})` : '--list-devices returned no devices';
|
|
79
|
+
if (verdict === 'unverified') {
|
|
80
|
+
log(`Tier ${backendType} (${installed.version}) ${reason} but NVML/Vulkan corroborates a matching GPU; keeping tier as recommendation (unverified)`);
|
|
81
|
+
}
|
|
82
|
+
else if (verdict === 'broken') {
|
|
83
|
+
log(`Tier ${backendType} (${installed.version}) is broken: ${reason} and the hardware plugin sees no matching GPU; degrading recommendation to next tier`);
|
|
84
|
+
}
|
|
85
|
+
return verdict;
|
|
86
|
+
}
|
|
87
|
+
/** First tier (top-down) whose probe is not `broken`, or `null`. */
|
|
88
|
+
export async function pickFirstWorkingTier(tiers, probe) {
|
|
89
|
+
for (const tier of tiers) {
|
|
90
|
+
if ((await probe(tier)) !== 'broken')
|
|
91
|
+
return tier;
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* App regex for "any GPU backend in the catalog", kept verbatim. Note the `-` required right after
|
|
97
|
+
* the first digit: `win-cuda-13.3-x64` and `win-rocm-10.0-x64` do NOT match, only Vulkan ids do.
|
|
98
|
+
* It still works because ggml-org always publishes a Vulkan Windows asset next to CUDA.
|
|
99
|
+
*/
|
|
100
|
+
export function isGpuBackendId(backend) {
|
|
101
|
+
return /-(cuda-\d|rocm-\d|vulkan)-/.test(backend);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Windows GPU tiers in preference order: CUDA 13, CUDA 12, ROCm (VRAM-gated; `features.rocm` is
|
|
105
|
+
* already PCI-gated), Vulkan (VRAM-gated, never on integrated-only hosts). Each tier is the first
|
|
106
|
+
* catalog entry matching its pattern — the catalog is sorted newest first, so that is the newest tag.
|
|
107
|
+
*/
|
|
108
|
+
export function windowsGpuTiers(features, available, archSuffix, gpus) {
|
|
109
|
+
const pick = (pattern) => available.find((b) => pattern.test(b.backend))?.backend ?? null;
|
|
110
|
+
const cuda13 = pick(new RegExp(`^win-cuda-13\\.\\d+-${archSuffix}$`));
|
|
111
|
+
const cuda12 = pick(new RegExp(`^win-cuda-12\\.\\d+-${archSuffix}$`));
|
|
112
|
+
const rocm = pick(new RegExp(`^win-rocm-\\d+\\.\\d+-${archSuffix}$`));
|
|
113
|
+
const vulkan = pick(new RegExp(`^win-vulkan-${archSuffix}$`));
|
|
114
|
+
const enoughVram = hasEnoughGpuMemory(gpus);
|
|
115
|
+
const tiers = [];
|
|
116
|
+
if (features.cuda13 && cuda13)
|
|
117
|
+
tiers.push(cuda13);
|
|
118
|
+
if (features.cuda12 && cuda12)
|
|
119
|
+
tiers.push(cuda12);
|
|
120
|
+
if (features.rocm && enoughVram && rocm)
|
|
121
|
+
tiers.push(rocm);
|
|
122
|
+
if (features.vulkan && enoughVram && vulkan && !integratedGpuOnly(gpus))
|
|
123
|
+
tiers.push(vulkan);
|
|
124
|
+
return tiers;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Which backend this host should ideally run. Windows: the first GPU tier that survives the probe;
|
|
128
|
+
* a GPU-capable host with no GPU backend in the catalog is `detection-failed` (the manifest was
|
|
129
|
+
* unreachable — ggml-org always publishes CUDA + Vulkan Windows assets), otherwise `cpu-optimal`.
|
|
130
|
+
* Linux x64: Vulkan when the loader enumerates a device with ≥ 2 GiB; a GPU the loader cannot see
|
|
131
|
+
* is `detection-failed` (ask again next launch, ATO-464); no accelerator is `cpu-optimal`. macOS and
|
|
132
|
+
* everything else: `cpu-optimal`. Any thrown error is `detection-failed`.
|
|
133
|
+
*
|
|
134
|
+
* The caller wraps this in its 20 s `withTimeout` (timeout → `detection-failed`) and, on Windows,
|
|
135
|
+
* supplies `listAvailableBackends` / `probeTier`.
|
|
136
|
+
*/
|
|
137
|
+
export async function detectIdealBackendType(input) {
|
|
138
|
+
const warn = input.onWarn ?? (() => { });
|
|
139
|
+
try {
|
|
140
|
+
const { osType, gpus } = input;
|
|
141
|
+
const features = normalizeFeatures(getSupportedFeatures(osType, input.cpuExtensions, gpus));
|
|
142
|
+
const enoughVram = hasEnoughGpuMemory(gpus);
|
|
143
|
+
const integratedOnly = integratedGpuOnly(gpus);
|
|
144
|
+
const archSuffix = input.arch.includes('aarch64') || input.arch.includes('arm64') ? 'arm64' : 'x64';
|
|
145
|
+
if (osType === 'windows') {
|
|
146
|
+
const available = await input.listAvailableBackends();
|
|
147
|
+
const tiers = windowsGpuTiers(features, available, archSuffix, gpus);
|
|
148
|
+
const picked = await pickFirstWorkingTier(tiers, input.probeTier);
|
|
149
|
+
if (picked)
|
|
150
|
+
return { kind: 'gpu', backend: picked };
|
|
151
|
+
const gpuCapable = features.cuda13 ||
|
|
152
|
+
features.cuda12 ||
|
|
153
|
+
(features.rocm && enoughVram) ||
|
|
154
|
+
(features.vulkan && enoughVram && !integratedOnly);
|
|
155
|
+
const anyGpuBackendAvailable = available.some((b) => isGpuBackendId(b.backend));
|
|
156
|
+
if (gpuCapable && !anyGpuBackendAvailable) {
|
|
157
|
+
warn('detectIdealBackendType: GPU-capable host but no GPU backend in catalog — treating as detection failure (release stream likely unreachable)');
|
|
158
|
+
return { kind: 'detection-failed' };
|
|
159
|
+
}
|
|
160
|
+
return { kind: 'cpu-optimal' };
|
|
161
|
+
}
|
|
162
|
+
if (osType === 'linux') {
|
|
163
|
+
const anyVulkanDevice = enoughVram;
|
|
164
|
+
if (features.vulkan && archSuffix === 'x64' && anyVulkanDevice) {
|
|
165
|
+
return { kind: 'gpu', backend: 'linux-vulkan-x64' };
|
|
166
|
+
}
|
|
167
|
+
if (!features.vulkan && archSuffix === 'x64' && gpus.length > 0) {
|
|
168
|
+
return { kind: 'detection-failed' };
|
|
169
|
+
}
|
|
170
|
+
return { kind: 'cpu-optimal' };
|
|
171
|
+
}
|
|
172
|
+
return { kind: 'cpu-optimal' };
|
|
173
|
+
}
|
|
174
|
+
catch (err) {
|
|
175
|
+
warn(`detectIdealBackendType failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
176
|
+
return { kind: 'detection-failed' };
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=tiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiers.js","sourceRoot":"","sources":["../../../src/backend/select/tiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TurboQuant fork's backend policy — the `llamacpp` provider's half of `backend/`.
|
|
3
|
+
*
|
|
4
|
+
* Ported from: src-tauri/plugins/tauri-plugin-llamacpp/src/backend.rs (`map_old_backend_to_new`,
|
|
5
|
+
* `determine_supported_backends`, `unified_release_rank`, `compare_backend_versions_for_sort`,
|
|
6
|
+
* `get_supported_features` with the Linux ROCm probe, `get_backend_category`, `prioritize_backends`,
|
|
7
|
+
* `copy_backend_dlls`, `is_cuda_installed`) and extensions/llamacpp-extension/src/backend.ts
|
|
8
|
+
* (`isTurboQuantRelease`, `isStableReleaseTag`, `defaultAssetName`, `getBackendDownloadUrl`,
|
|
9
|
+
* `getIndexedAssetName`, `getCudart*`, `findUpstreamCudaBinWithCudart`) and index.ts
|
|
10
|
+
* (`determineBestBackend`, `ensureCudartReady`).
|
|
11
|
+
*
|
|
12
|
+
* Why it cannot share the upstream functions: the fork names its builds differently
|
|
13
|
+
* (`windows-x64-cuda-13.3`, not `win-cuda-13.3-x64`), publishes Linux CUDA and ROCm builds upstream
|
|
14
|
+
* does not, and versions them as `b<build>-<fork semver>`. Every upstream rule applied to these ids
|
|
15
|
+
* silently misses: a CPU pack has no category, a fork build sorts below a plain `b8149`, and every
|
|
16
|
+
* Windows TurboQuant pack is filtered out as unsupported.
|
|
17
|
+
*/
|
|
18
|
+
import type { DataLayout } from '../config/index.js';
|
|
19
|
+
import type { Downloader, ProxyConfig } from '../downloads/index.js';
|
|
20
|
+
import type { BackendFeatures, BackendVersion, GpuProbeInfo, SupportedFeatures } from './types.js';
|
|
21
|
+
export declare const TURBOQUANT_DOWNLOAD_BASE = "https://github.com/AtomicBot-ai/atomic-llama-cpp-turboquant/releases/download";
|
|
22
|
+
export declare const TURBOQUANT_RELEASE_INDEX_URL = "https://github.com/AtomicBot-ai/atomic-llama-cpp-turboquant/releases/latest/download/index.json";
|
|
23
|
+
/** The extension's disk copy of the last good release index (`<data>/llamacpp/release-index.cache.json`). */
|
|
24
|
+
export declare const TURBOQUANT_RELEASE_INDEX_CACHE_FILE = "release-index.cache.json";
|
|
25
|
+
export declare const GGML_ORG_CUDART_DOWNLOAD_BASE = "https://github.com/ggml-org/llama.cpp/releases/download";
|
|
26
|
+
/** The ggml-org tag that ships `cudart-llama-bin-win-cuda-{12.4,13.3}-x64.zip` (a real pin, see the extension). */
|
|
27
|
+
export declare const GGML_ORG_CUDART_PINNED_TAG = "b10205";
|
|
28
|
+
/**
|
|
29
|
+
* A GPU below this many MiB keeps the CPU build ahead of Vulkan and ROCm (the extension's
|
|
30
|
+
* `determineBestBackend`). Upstream lowered its own threshold to 2 GiB; the fork never did.
|
|
31
|
+
*/
|
|
32
|
+
export declare const TURBOQUANT_GPU_MIN_VRAM_MIB: number;
|
|
33
|
+
/** Windows CUDA driver floors of the fork plugin; CUDA 12's is lower than upstream's (527.41 vs 551.61). */
|
|
34
|
+
export declare const TURBOQUANT_CUDA_DRIVER_FLOORS: {
|
|
35
|
+
readonly linux: {
|
|
36
|
+
readonly cuda11: "450.80.02";
|
|
37
|
+
readonly cuda12: "525.60.13";
|
|
38
|
+
readonly cuda13: "580";
|
|
39
|
+
};
|
|
40
|
+
readonly windows: {
|
|
41
|
+
readonly cuda11: "452.39";
|
|
42
|
+
readonly cuda12: "527.41";
|
|
43
|
+
readonly cuda13: "581.15";
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
/** RDNA2–RDNA4 as amdkfd `gfx_target_version` values: the architectures the fork's ROCm build carries. */
|
|
47
|
+
export declare const ROCM_SUPPORTED_GFX_TARGET_VERSIONS: readonly number[];
|
|
48
|
+
/** A build of the fork: a legacy `turboquant-<id>-<sha>` tag or a unified `b10018-1.3.0` one. */
|
|
49
|
+
export declare function isTurboQuantRelease(versionOrPair: string): boolean;
|
|
50
|
+
/** An installable stable release: unified tags only (legacy and `dev-latest` are prereleases). */
|
|
51
|
+
export declare function isStableReleaseTag(versionOrPair: string): boolean;
|
|
52
|
+
/** `(build, major, minor, patch)` of a unified tag, as Rust `unified_release_rank` parses it (u32 parts). */
|
|
53
|
+
export declare function unifiedReleaseRank(version: string): [number, number, number, number] | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Newest first. Unified tags decide by rank and outrank every legacy tag; legacy tags carry no
|
|
56
|
+
* order, so they fall through to the Windows numeric compare (legacy janhq `win-*` ids), install
|
|
57
|
+
* order, then the strings.
|
|
58
|
+
*/
|
|
59
|
+
export declare function compareTurboquantBackendsForSort(left: BackendVersion, right: BackendVersion): number;
|
|
60
|
+
/** Any persisted id (legacy janhq or clean) onto the fork's clean ids. Idempotent. */
|
|
61
|
+
export declare function mapOldTurboquantBackendToNew(oldBackend: string): string;
|
|
62
|
+
/** What the ROCm decision needs from the host: amdkfd architectures and whether HIP is installed. */
|
|
63
|
+
export interface RocmHostProbe {
|
|
64
|
+
gfxTargetVersions: readonly number[];
|
|
65
|
+
hasRuntime: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** Every input must be affirmative; anything uncertain stays on Vulkan, which works. */
|
|
68
|
+
export declare function rocmSupportedLinux(hasAmdGpu: boolean, probe: RocmHostProbe): boolean;
|
|
69
|
+
export interface RocmProbeFs {
|
|
70
|
+
readdir: (path: string) => Promise<string[]>;
|
|
71
|
+
readFile: (path: string) => Promise<string>;
|
|
72
|
+
exists: (path: string) => Promise<boolean>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The Linux host facts, read the way the plugin reads them: `gfx_target_version` from
|
|
76
|
+
* `/sys/class/kfd/kfd/topology/nodes/<n>/properties` (zeros are CPU nodes), and `libamdhip64.so`
|
|
77
|
+
* in a ROCm prefix or on the default library path. Linux paths, so joined as POSIX whatever the host.
|
|
78
|
+
*/
|
|
79
|
+
export declare function probeLinuxRocmHost(fs?: RocmProbeFs): Promise<RocmHostProbe>;
|
|
80
|
+
/** `get_supported_features` of the fork: its own Windows CUDA 12 floor, and ROCm on Linux only. */
|
|
81
|
+
export declare function getTurboquantSupportedFeatures(osType: string, cpuExtensions: readonly string[], gpus: readonly GpuProbeInfo[], rocm?: RocmHostProbe): SupportedFeatures;
|
|
82
|
+
/**
|
|
83
|
+
* Backend ids the fork publishes for `<osType>-<arch>`. Linux x64 always offers Vulkan (it carries a
|
|
84
|
+
* portable CPU path and is the bundled fallback); Linux arm64 has only the CUDA 13 build; Windows
|
|
85
|
+
* arm64 gets a placeholder that matches no asset, exactly as the plugin reports it.
|
|
86
|
+
*/
|
|
87
|
+
export declare function determineTurboquantSupportedBackends(osType: string, arch: string, features: BackendFeatures): string[];
|
|
88
|
+
/** The extension's hardware gate, on every OS: keep what maps onto a supported id. */
|
|
89
|
+
export declare function filterTurboquantBackendsBySupport(backends: readonly BackendVersion[], supported: readonly string[]): BackendVersion[];
|
|
90
|
+
/** Rust `get_backend_category` of the fork; `-cpu` ids are `common_cpus` here. */
|
|
91
|
+
export declare function getTurboquantBackendCategory(backend: string): string | null;
|
|
92
|
+
/** Rust `prioritize_backends`: the newest build of the first category present, else the first entry. */
|
|
93
|
+
export declare function prioritizeTurboquantBackends(backends: readonly BackendVersion[], hasEnoughGpuMemory: boolean): string;
|
|
94
|
+
/** The extension's `determineBestBackend`: 6 GiB on any GPU counts as enough memory. */
|
|
95
|
+
export declare function determineBestTurboquantBackend(backends: readonly BackendVersion[], gpus: readonly GpuProbeInfo[]): string;
|
|
96
|
+
/** `llama-turboquant-<id>.{zip|tar.gz}`: the id prefix decides, then the host OS. */
|
|
97
|
+
export declare function turboquantDefaultAssetName(backend: string, platform?: NodeJS.Platform): string;
|
|
98
|
+
export declare function turboquantArchiveUrl(version: string, backend: string, assetName?: string, platform?: NodeJS.Platform): string;
|
|
99
|
+
/**
|
|
100
|
+
* The asset the release index names for `tag/backend`, from the extension's disk cache of the index.
|
|
101
|
+
* The extension read its in-memory copy; the disk copy is the same data and survives a restart.
|
|
102
|
+
*/
|
|
103
|
+
export declare function readTurboquantIndexedAsset(layout: DataLayout, version: string, backend: string): Promise<string | undefined>;
|
|
104
|
+
/** CUDA toolkit minor (`13.3`) of a Windows CUDA id of the fork, else `null`. */
|
|
105
|
+
export declare function turboquantCudaToolkit(backend: string): string | null;
|
|
106
|
+
export declare function turboquantCudartArchiveName(backend: string): string | null;
|
|
107
|
+
export declare function turboquantCudartUrl(backend: string, tag?: string): string | null;
|
|
108
|
+
/**
|
|
109
|
+
* An installed upstream CUDA pack of the same minor that carries the runtime DLL — the no-network
|
|
110
|
+
* source. Version folders are tried in reverse string order, as the extension did.
|
|
111
|
+
*/
|
|
112
|
+
export declare function findUpstreamCudaDonor(layout: DataLayout, toolkit: string): Promise<string | undefined>;
|
|
113
|
+
/** Rust `copy_backend_dlls`: `.dll` files whose lowercase name starts with a prefix; the source stays. */
|
|
114
|
+
export declare function copyBackendDlls(srcDir: string, dstDir: string, prefixes: readonly string[]): Promise<number>;
|
|
115
|
+
export interface CudartRepairDeps {
|
|
116
|
+
layout: DataLayout;
|
|
117
|
+
downloader: Pick<Downloader, 'download'>;
|
|
118
|
+
platform?: NodeJS.Platform;
|
|
119
|
+
proxy?: ProxyConfig | null;
|
|
120
|
+
log?: (message: string) => void;
|
|
121
|
+
}
|
|
122
|
+
/** Repair an already-installed upstream pack as well as a newly downloaded one. The old app ran
|
|
123
|
+
* this before every load; installing the companion only during install misses older packs. */
|
|
124
|
+
export declare function ensureUpstreamCudart(version: string, backend: string, backendDir: string, taskId: string, deps: CudartRepairDeps): Promise<'not-needed' | 'present' | 'downloaded'>;
|
|
125
|
+
/**
|
|
126
|
+
* Make a Windows TurboQuant CUDA pack carry its CUDA runtime: nothing to do when `cudart64_<major>`
|
|
127
|
+
* is already in `build/bin`; otherwise copy it from an upstream pack of the same minor, and only
|
|
128
|
+
* then download the pinned ggml-org companion and move its DLLs in. Some fork release zips ship
|
|
129
|
+
* without the runtime, and without it `--list-devices` is empty on a host with no CUDA toolkit.
|
|
130
|
+
*
|
|
131
|
+
* Returns what it did. Throws only for a download or an archive with no DLLs; the callers — install
|
|
132
|
+
* and load — treat that as a warning, as the extension did, because the pack may still run.
|
|
133
|
+
*/
|
|
134
|
+
export declare function ensureTurboquantCudart(backend: string, backendDir: string, taskId: string, deps: CudartRepairDeps): Promise<'not-needed' | 'present' | 'copied' | 'downloaded'>;
|