@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,83 @@
|
|
|
1
|
+
/** Embeddings through a core-owned llama-server, preserving the extension's batching contract. */
|
|
2
|
+
import { AtomicCoreError } from '../contracts/index.js';
|
|
3
|
+
export class EmbedService {
|
|
4
|
+
deps;
|
|
5
|
+
constructor(deps) {
|
|
6
|
+
this.deps = deps;
|
|
7
|
+
}
|
|
8
|
+
async embed(provider, modelId, input, ubatchSize) {
|
|
9
|
+
if (!Array.isArray(input) || input.some((value) => typeof value !== 'string')) {
|
|
10
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', 'input must be an array of strings');
|
|
11
|
+
}
|
|
12
|
+
if (!Number.isSafeInteger(ubatchSize) || ubatchSize < 2) {
|
|
13
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', 'ubatch_size must be an integer of at least 2');
|
|
14
|
+
}
|
|
15
|
+
let session = this.deps.findSession(provider, modelId) ?? (await this.deps.load(provider, modelId));
|
|
16
|
+
let reloadedForEmbedding = false;
|
|
17
|
+
const result = {
|
|
18
|
+
model: session.model_id,
|
|
19
|
+
object: 'list',
|
|
20
|
+
usage: { prompt_tokens: 0, total_tokens: 0 },
|
|
21
|
+
data: [],
|
|
22
|
+
};
|
|
23
|
+
for (const { batch, offset } of buildEmbedBatches(input, ubatchSize)) {
|
|
24
|
+
let response = await this.request(session, batch);
|
|
25
|
+
if (response.status === 501 && !reloadedForEmbedding) {
|
|
26
|
+
reloadedForEmbedding = true;
|
|
27
|
+
await this.deps.unload(provider, modelId).catch(() => { });
|
|
28
|
+
session = await this.deps.load(provider, modelId);
|
|
29
|
+
response = await this.request(session, batch);
|
|
30
|
+
}
|
|
31
|
+
if (!response.ok) {
|
|
32
|
+
const body = await response.text().catch(() => '');
|
|
33
|
+
throw new AtomicCoreError('IO_ERROR', `Embedding request failed with HTTP ${response.status}`, body);
|
|
34
|
+
}
|
|
35
|
+
const body = (await response.json());
|
|
36
|
+
result.usage.prompt_tokens += body.usage?.prompt_tokens ?? 0;
|
|
37
|
+
result.usage.total_tokens += body.usage?.total_tokens ?? 0;
|
|
38
|
+
for (const item of body.data ?? [])
|
|
39
|
+
result.data.push({ ...item, index: item.index + offset });
|
|
40
|
+
}
|
|
41
|
+
result.model = session.model_id;
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
request(session, input) {
|
|
45
|
+
return (this.deps.fetch ?? fetch)(`http://127.0.0.1:${session.port}/v1/embeddings`, {
|
|
46
|
+
method: 'POST',
|
|
47
|
+
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${session.api_key}` },
|
|
48
|
+
body: JSON.stringify({ input, model: session.model_id, encoding_format: 'float' }),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** Same 3-chars/token, 50% safety-margin packing the legacy extension uses. */
|
|
53
|
+
export function buildEmbedBatches(input, ubatchSize) {
|
|
54
|
+
const limit = Math.floor(ubatchSize * 0.5);
|
|
55
|
+
const batches = [];
|
|
56
|
+
let batch = [];
|
|
57
|
+
let tokens = 0;
|
|
58
|
+
let offset = 0;
|
|
59
|
+
const flush = () => {
|
|
60
|
+
if (batch.length === 0)
|
|
61
|
+
return;
|
|
62
|
+
batches.push({ batch, offset });
|
|
63
|
+
offset += batch.length;
|
|
64
|
+
batch = [];
|
|
65
|
+
tokens = 0;
|
|
66
|
+
};
|
|
67
|
+
for (const text of input) {
|
|
68
|
+
const estimated = Math.max(1, Math.ceil(text.length / 3));
|
|
69
|
+
if (estimated > limit) {
|
|
70
|
+
flush();
|
|
71
|
+
batches.push({ batch: [text], offset });
|
|
72
|
+
offset++;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (batch.length && tokens + estimated > limit)
|
|
76
|
+
flush();
|
|
77
|
+
batch.push(text);
|
|
78
|
+
tokens += estimated;
|
|
79
|
+
}
|
|
80
|
+
flush();
|
|
81
|
+
return batches;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=embed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/models/embed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata-driven classification of a GGUF: embedding vs text, projector modality, embedded MTP
|
|
3
|
+
* head, effective context. Verbatim port of the relevant helpers in
|
|
4
|
+
* `extensions/llamacpp-upstream-extension/src/util.ts`.
|
|
5
|
+
*/
|
|
6
|
+
type Meta = Record<string, unknown> | undefined | null;
|
|
7
|
+
/** True iff the load-error text is an MTP rejection (llama.cpp has no structured code for it). */
|
|
8
|
+
export declare function matchesMtpLoadFailure(text: string): boolean;
|
|
9
|
+
/** A combined Qwen GGUF whose MTP head is embedded (`{arch}.nextn_predict_layers` > 0). */
|
|
10
|
+
export declare function hasEmbeddedMtp(metadata: Meta): boolean;
|
|
11
|
+
export declare function isMtpCapable(metadata: Meta, mtpDraftPath: string): boolean;
|
|
12
|
+
/** Architectures that cannot generate text; started as a chat model they crash the server. */
|
|
13
|
+
export declare const NON_TEXT_GGUF_ARCHITECTURES: Set<string>;
|
|
14
|
+
/** Weights that produce embeddings rather than text (load in embedding mode instead). */
|
|
15
|
+
export declare function isEmbeddingGguf(metadata: Meta): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The context to request: clamp to the trained maximum when known (llama.cpp aborts past it),
|
|
18
|
+
* otherwise pass the request through.
|
|
19
|
+
*/
|
|
20
|
+
export declare function effectiveCtxSize(requested: number | undefined, maxCtxTrain: number | undefined): number | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Which modality an mmproj carries. `general.architecture` is `clip` for every projector; the
|
|
23
|
+
* modality lives in the `clip.*` keys. Unknown metadata falls back to vision.
|
|
24
|
+
*/
|
|
25
|
+
export declare function classifyProjector(metadata: Meta): {
|
|
26
|
+
vision: boolean;
|
|
27
|
+
audio: boolean;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata-driven classification of a GGUF: embedding vs text, projector modality, embedded MTP
|
|
3
|
+
* head, effective context. Verbatim port of the relevant helpers in
|
|
4
|
+
* `extensions/llamacpp-upstream-extension/src/util.ts`.
|
|
5
|
+
*/
|
|
6
|
+
const EMBEDDED_MTP_ARCHITECTURES = new Set(['qwen35', 'qwen35moe']);
|
|
7
|
+
/** True iff the load-error text is an MTP rejection (llama.cpp has no structured code for it). */
|
|
8
|
+
export function matchesMtpLoadFailure(text) {
|
|
9
|
+
if (!text)
|
|
10
|
+
return false;
|
|
11
|
+
return (/failed to create MTP context/i.test(text) ||
|
|
12
|
+
/context type MTP requested/i.test(text) ||
|
|
13
|
+
/doesn'?t contain MTP layers/i.test(text));
|
|
14
|
+
}
|
|
15
|
+
/** A combined Qwen GGUF whose MTP head is embedded (`{arch}.nextn_predict_layers` > 0). */
|
|
16
|
+
export function hasEmbeddedMtp(metadata) {
|
|
17
|
+
if (!metadata)
|
|
18
|
+
return false;
|
|
19
|
+
const architecture = metadata['general.architecture'];
|
|
20
|
+
if (typeof architecture !== 'string' || !EMBEDDED_MTP_ARCHITECTURES.has(architecture))
|
|
21
|
+
return false;
|
|
22
|
+
const blockCount = Number(metadata[`${architecture}.block_count`]);
|
|
23
|
+
const nextn = Number(metadata[`${architecture}.nextn_predict_layers`]);
|
|
24
|
+
return Number.isInteger(blockCount) && Number.isInteger(nextn) && nextn > 0 && blockCount > nextn;
|
|
25
|
+
}
|
|
26
|
+
export function isMtpCapable(metadata, mtpDraftPath) {
|
|
27
|
+
return mtpDraftPath.length > 0 || hasEmbeddedMtp(metadata);
|
|
28
|
+
}
|
|
29
|
+
/** Architectures that cannot generate text; started as a chat model they crash the server. */
|
|
30
|
+
export const NON_TEXT_GGUF_ARCHITECTURES = new Set([
|
|
31
|
+
'bert',
|
|
32
|
+
'modern-bert',
|
|
33
|
+
'nomic-bert',
|
|
34
|
+
'nomic-bert-moe',
|
|
35
|
+
'neo-bert',
|
|
36
|
+
'jina-bert-v2',
|
|
37
|
+
'jina-bert-v3',
|
|
38
|
+
'eurobert',
|
|
39
|
+
'gemma-embedding',
|
|
40
|
+
'llama-embed',
|
|
41
|
+
't5encoder',
|
|
42
|
+
]);
|
|
43
|
+
/** Weights that produce embeddings rather than text (load in embedding mode instead). */
|
|
44
|
+
export function isEmbeddingGguf(metadata) {
|
|
45
|
+
const raw = metadata?.['general.architecture'];
|
|
46
|
+
const arch = typeof raw === 'string' ? raw.trim().toLowerCase() : '';
|
|
47
|
+
if (!arch)
|
|
48
|
+
return false;
|
|
49
|
+
if (NON_TEXT_GGUF_ARCHITECTURES.has(arch))
|
|
50
|
+
return true;
|
|
51
|
+
// Embedding/reranker conversions of a generative arch keep the arch name; a pooling type other
|
|
52
|
+
// than 0 (NONE) or a classifier head gives them away.
|
|
53
|
+
const pooling = metadata?.[`${arch}.pooling_type`];
|
|
54
|
+
const poolingStr = pooling == null ? '' : String(pooling).trim();
|
|
55
|
+
if (poolingStr !== '' && poolingStr !== '0')
|
|
56
|
+
return true;
|
|
57
|
+
return metadata?.[`${arch}.classifier.output_labels`] !== undefined;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The context to request: clamp to the trained maximum when known (llama.cpp aborts past it),
|
|
61
|
+
* otherwise pass the request through.
|
|
62
|
+
*/
|
|
63
|
+
export function effectiveCtxSize(requested, maxCtxTrain) {
|
|
64
|
+
if (typeof requested !== 'number' || !Number.isFinite(requested))
|
|
65
|
+
return requested;
|
|
66
|
+
if (typeof maxCtxTrain !== 'number' || !Number.isFinite(maxCtxTrain))
|
|
67
|
+
return requested;
|
|
68
|
+
if (maxCtxTrain <= 0)
|
|
69
|
+
return requested;
|
|
70
|
+
return Math.min(requested, maxCtxTrain);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Which modality an mmproj carries. `general.architecture` is `clip` for every projector; the
|
|
74
|
+
* modality lives in the `clip.*` keys. Unknown metadata falls back to vision.
|
|
75
|
+
*/
|
|
76
|
+
export function classifyProjector(metadata) {
|
|
77
|
+
if (!metadata)
|
|
78
|
+
return { vision: true, audio: false };
|
|
79
|
+
const truthy = (v) => String(v ?? '')
|
|
80
|
+
.trim()
|
|
81
|
+
.toLowerCase() === 'true';
|
|
82
|
+
const present = (v) => v !== undefined && v !== null && String(v).trim() !== '';
|
|
83
|
+
const vision = truthy(metadata['clip.has_vision_encoder']) || present(metadata['clip.vision.projector_type']);
|
|
84
|
+
const audio = truthy(metadata['clip.has_audio_encoder']) || present(metadata['clip.audio.projector_type']);
|
|
85
|
+
if (!vision && !audio)
|
|
86
|
+
return { vision: true, audio: false };
|
|
87
|
+
return { vision, audio };
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=classify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/models/gguf/classify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/gguf/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KV-cache size estimate from GGUF metadata. Port of `gguf/utils.rs`
|
|
3
|
+
* (`kv_cache_bits_per_element`, `estimate_kv_cache_internal`). Error strings are the Rust
|
|
4
|
+
* `Display` texts, which the app receives verbatim.
|
|
5
|
+
*/
|
|
6
|
+
export interface KvCacheEstimate {
|
|
7
|
+
size: number;
|
|
8
|
+
per_token_size: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class KvCacheError extends Error {
|
|
11
|
+
constructor(message: string);
|
|
12
|
+
}
|
|
13
|
+
export declare const KV_CACHE_ERRORS: {
|
|
14
|
+
readonly architectureNotFound: "Invalid metadata: architecture not found";
|
|
15
|
+
readonly blockCountInvalid: "Invalid metadata: block_count not found or invalid";
|
|
16
|
+
readonly headCountInvalid: "Invalid metadata: head_count not found or invalid";
|
|
17
|
+
readonly embeddingLengthInvalid: "Invalid metadata: embedding_length not found or invalid";
|
|
18
|
+
readonly contextLengthInvalid: "Invalid metadata: context_length not found or invalid";
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Bits one KV element occupies under a llama.cpp `cache_type_*`. Block quants carry a scale per
|
|
22
|
+
* 32 elements (hence the half bits); unknown or absent reads as fp16.
|
|
23
|
+
*/
|
|
24
|
+
export declare function kvCacheBitsPerElement(cacheType: string | undefined | null): number;
|
|
25
|
+
export declare function estimateKvCache(meta: Record<string, string>, ctxSize: number | undefined, cacheTypeK?: string | null, cacheTypeV?: string | null): KvCacheEstimate;
|
|
26
|
+
/** `{arch}.context_length` when present and positive — the model's trained context. */
|
|
27
|
+
export declare function ggufContextLength(meta: Record<string, string>): number | undefined;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KV-cache size estimate from GGUF metadata. Port of `gguf/utils.rs`
|
|
3
|
+
* (`kv_cache_bits_per_element`, `estimate_kv_cache_internal`). Error strings are the Rust
|
|
4
|
+
* `Display` texts, which the app receives verbatim.
|
|
5
|
+
*/
|
|
6
|
+
import { parseRustU64 } from '../../util/index.js';
|
|
7
|
+
export class KvCacheError extends Error {
|
|
8
|
+
constructor(message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = 'KvCacheError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export const KV_CACHE_ERRORS = {
|
|
14
|
+
architectureNotFound: 'Invalid metadata: architecture not found',
|
|
15
|
+
blockCountInvalid: 'Invalid metadata: block_count not found or invalid',
|
|
16
|
+
headCountInvalid: 'Invalid metadata: head_count not found or invalid',
|
|
17
|
+
embeddingLengthInvalid: 'Invalid metadata: embedding_length not found or invalid',
|
|
18
|
+
contextLengthInvalid: 'Invalid metadata: context_length not found or invalid',
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Bits one KV element occupies under a llama.cpp `cache_type_*`. Block quants carry a scale per
|
|
22
|
+
* 32 elements (hence the half bits); unknown or absent reads as fp16.
|
|
23
|
+
*/
|
|
24
|
+
export function kvCacheBitsPerElement(cacheType) {
|
|
25
|
+
switch (cacheType?.trim().toLowerCase()) {
|
|
26
|
+
case 'f32':
|
|
27
|
+
return 32;
|
|
28
|
+
case 'f16':
|
|
29
|
+
case 'bf16':
|
|
30
|
+
return 16;
|
|
31
|
+
case 'q8_0':
|
|
32
|
+
return 8.5;
|
|
33
|
+
case 'q5_1':
|
|
34
|
+
return 6;
|
|
35
|
+
case 'q5_0':
|
|
36
|
+
return 5.5;
|
|
37
|
+
case 'q4_1':
|
|
38
|
+
return 5;
|
|
39
|
+
case 'q4_0':
|
|
40
|
+
case 'iq4_nl':
|
|
41
|
+
return 4.5;
|
|
42
|
+
case 'turbo4':
|
|
43
|
+
return 4;
|
|
44
|
+
case 'turbo3':
|
|
45
|
+
return 3;
|
|
46
|
+
case 'turbo2':
|
|
47
|
+
return 2;
|
|
48
|
+
default:
|
|
49
|
+
return 16;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const u64 = (meta, key) => {
|
|
53
|
+
const raw = meta[key];
|
|
54
|
+
return raw === undefined ? undefined : parseRustU64(raw);
|
|
55
|
+
};
|
|
56
|
+
export function estimateKvCache(meta, ctxSize, cacheTypeK, cacheTypeV) {
|
|
57
|
+
const arch = meta['general.architecture'];
|
|
58
|
+
if (arch === undefined)
|
|
59
|
+
throw new KvCacheError(KV_CACHE_ERRORS.architectureNotFound);
|
|
60
|
+
const nLayer = u64(meta, `${arch}.block_count`);
|
|
61
|
+
if (nLayer === undefined || nLayer <= 0)
|
|
62
|
+
throw new KvCacheError(KV_CACHE_ERRORS.blockCountInvalid);
|
|
63
|
+
const headCount = u64(meta, `${arch}.attention.head_count`);
|
|
64
|
+
const headCountKv = u64(meta, `${arch}.attention.head_count_kv`);
|
|
65
|
+
const nHead = headCountKv !== undefined && headCountKv > 0 ? headCountKv : (headCount ?? 0);
|
|
66
|
+
if (nHead === 0)
|
|
67
|
+
throw new KvCacheError(KV_CACHE_ERRORS.headCountInvalid);
|
|
68
|
+
let keyLen = u64(meta, `${arch}.attention.key_length`) ?? 0;
|
|
69
|
+
let valLen = u64(meta, `${arch}.attention.value_length`) ?? 0;
|
|
70
|
+
if (keyLen === 0 || valLen === 0) {
|
|
71
|
+
const embLen = u64(meta, `${arch}.embedding_length`) ?? 0;
|
|
72
|
+
if (embLen > 0 && nHead > 0) {
|
|
73
|
+
const totalHeads = headCount ?? nHead;
|
|
74
|
+
const headDim = Math.floor(embLen / totalHeads);
|
|
75
|
+
keyLen = headDim;
|
|
76
|
+
valLen = headDim;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (keyLen === 0 || valLen === 0)
|
|
80
|
+
throw new KvCacheError(KV_CACHE_ERRORS.embeddingLengthInvalid);
|
|
81
|
+
const maxCtx = u64(meta, `${arch}.context_length`);
|
|
82
|
+
if (maxCtx === undefined || maxCtx <= 0)
|
|
83
|
+
throw new KvCacheError(KV_CACHE_ERRORS.contextLengthInvalid);
|
|
84
|
+
const ctxLen = ctxSize === undefined ? maxCtx : Math.min(ctxSize, maxCtx);
|
|
85
|
+
const slidingWindowRaw = u64(meta, `${arch}.attention.sliding_window`);
|
|
86
|
+
const slidingWindow = slidingWindowRaw !== undefined && slidingWindowRaw > 0 ? slidingWindowRaw : undefined;
|
|
87
|
+
const bitsPerToken = nLayer * nHead * (keyLen * kvCacheBitsPerElement(cacheTypeK) + valLen * kvCacheBitsPerElement(cacheTypeV));
|
|
88
|
+
const kvPerToken = Math.ceil(bitsPerToken / 8);
|
|
89
|
+
const fullCost = ctxLen * kvPerToken;
|
|
90
|
+
const size = slidingWindow === undefined ? fullCost : Math.floor((fullCost + slidingWindow * kvPerToken) / 2);
|
|
91
|
+
return { size, per_token_size: kvPerToken };
|
|
92
|
+
}
|
|
93
|
+
/** `{arch}.context_length` when present and positive — the model's trained context. */
|
|
94
|
+
export function ggufContextLength(meta) {
|
|
95
|
+
const arch = meta['general.architecture'];
|
|
96
|
+
if (arch === undefined)
|
|
97
|
+
return undefined;
|
|
98
|
+
const v = u64(meta, `${arch}.context_length`);
|
|
99
|
+
return v !== undefined && v > 0 ? v : undefined;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=kv-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv-cache.js","sourceRoot":"","sources":["../../../src/models/gguf/kv-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read GGUF metadata from a file on disk. The parser in `reader.ts` stays pure (it takes bytes), so
|
|
3
|
+
* this is the only place that opens a model file: it hands the chunked reader growing prefixes of
|
|
4
|
+
* the file, which is how the app avoids mapping a 40 GB model to learn its context length.
|
|
5
|
+
*/
|
|
6
|
+
import type { GgufMetadata } from './reader.js';
|
|
7
|
+
export interface ReadGgufFileOptions {
|
|
8
|
+
chunkSize?: number;
|
|
9
|
+
maxBytes?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function readGgufMetadataFromFile(path: string, options?: ReadGgufFileOptions): Promise<GgufMetadata>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read GGUF metadata from a file on disk. The parser in `reader.ts` stays pure (it takes bytes), so
|
|
3
|
+
* this is the only place that opens a model file: it hands the chunked reader growing prefixes of
|
|
4
|
+
* the file, which is how the app avoids mapping a 40 GB model to learn its context length.
|
|
5
|
+
*/
|
|
6
|
+
import { open } from 'node:fs/promises';
|
|
7
|
+
import { readGgufMetadataChunked } from './reader.js';
|
|
8
|
+
export async function readGgufMetadataFromFile(path, options = {}) {
|
|
9
|
+
const handle = await open(path, 'r');
|
|
10
|
+
try {
|
|
11
|
+
return await readGgufMetadataChunked(async (byteLength) => {
|
|
12
|
+
const buffer = Buffer.allocUnsafe(byteLength);
|
|
13
|
+
const { bytesRead } = await handle.read(buffer, 0, byteLength, 0);
|
|
14
|
+
return buffer.subarray(0, bytesRead);
|
|
15
|
+
}, options);
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
await handle.close().catch(() => { });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=read-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/models/gguf/read-file.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAQrD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC;QACH,OAAO,MAAM,uBAAuB,CAAC,KAAK,EAAE,UAAkB,EAAE,EAAE;YAChE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;YACjE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtC,CAAC,EAAE,OAAO,CAAC,CAAA;IACb,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACtC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GGUF header reader. Port of `tauri-plugin-llamacpp-upstream/src/gguf/{helpers,types}.rs`.
|
|
3
|
+
*
|
|
4
|
+
* Reads magic, version, tensor count and the metadata KV block only — never the tensor table.
|
|
5
|
+
* Every value is stringified the way the Rust reader does (`to_string()`, `[a, b]` for arrays of
|
|
6
|
+
* up to 24 elements, a placeholder for longer ones), so downstream code sees identical strings.
|
|
7
|
+
*
|
|
8
|
+
* Pure over a byte buffer; callers feed it a file prefix and grow it while it asks for more.
|
|
9
|
+
*/
|
|
10
|
+
export interface GgufMetadata {
|
|
11
|
+
version: number;
|
|
12
|
+
tensor_count: number;
|
|
13
|
+
metadata: Record<string, string>;
|
|
14
|
+
}
|
|
15
|
+
export declare const GGUF_VALUE_TYPE_NAMES: readonly ["Uint8", "Int8", "Uint16", "Int16", "Uint32", "Int32", "Float32", "Bool", "String", "Array", "Uint64", "Int64", "Float64"];
|
|
16
|
+
export declare const MAX_GGUF_STRING_BYTES: number;
|
|
17
|
+
export declare const MAX_GGUF_ARRAY_LEN = 1000000;
|
|
18
|
+
export declare const INLINE_ARRAY_MAX_LEN = 24;
|
|
19
|
+
/** The buffer ended before the header did; feed more bytes and retry. */
|
|
20
|
+
export declare class GgufNeedMoreData extends Error {
|
|
21
|
+
constructor();
|
|
22
|
+
}
|
|
23
|
+
/** The bytes are not a GGUF header the reader understands (same messages as the Rust reader). */
|
|
24
|
+
export declare class GgufParseError extends Error {
|
|
25
|
+
constructor(message: string);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Parse the header from `bytes`. Throws `GgufNeedMoreData` when the buffer is too short and
|
|
29
|
+
* `GgufParseError` when the bytes are not a valid header.
|
|
30
|
+
*/
|
|
31
|
+
export declare function readGgufMetadata(bytes: Uint8Array): GgufMetadata;
|
|
32
|
+
/**
|
|
33
|
+
* Drive `readGgufMetadata` over a source that yields the file in growing prefixes (a local file
|
|
34
|
+
* read in chunks, or HTTP range requests). `readPrefix(byteLength)` returns at least what it can;
|
|
35
|
+
* a prefix shorter than requested means EOF.
|
|
36
|
+
*/
|
|
37
|
+
export declare function readGgufMetadataChunked(readPrefix: (byteLength: number) => Promise<Uint8Array>, options?: {
|
|
38
|
+
chunkSize?: number;
|
|
39
|
+
maxBytes?: number;
|
|
40
|
+
}): Promise<GgufMetadata>;
|