@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,327 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `launch <agent>` — start a model in the core and hand the user a coding agent already pointed at
|
|
3
|
+
* it. Port of `handle_launch` in `src-tauri/src/bin/jan-cli.rs`, with the same flags, the same
|
|
4
|
+
* refusals and the same run modes.
|
|
5
|
+
*
|
|
6
|
+
* The one behavioural difference, stated in the help: the model lives in the core, not in this
|
|
7
|
+
* process. A terminal agent still owns the session's lifetime — when it exits we unload the model
|
|
8
|
+
* we loaded — but the core itself stays up, so the next command reuses it.
|
|
9
|
+
*/
|
|
10
|
+
import { execFile, spawn } from 'node:child_process';
|
|
11
|
+
import { parseArgs } from 'node:util';
|
|
12
|
+
import { AtomicCoreError } from '../contracts/index.js';
|
|
13
|
+
import { LOCAL_PROVIDER } from '../core/index.js';
|
|
14
|
+
import { configureAgent } from '../integrations/configure/index.js';
|
|
15
|
+
import { AGENTS, apiUrlFor, childEnv, CONFLICTING_PROVIDER_ENV, detectAgents, findAgent, MUSE_CLI_REFUSAL, } from '../integrations/index.js';
|
|
16
|
+
import { ModelRegistry } from '../models/index.js';
|
|
17
|
+
import { layoutFor, printFirstRunNotice } from './commands/index.js';
|
|
18
|
+
import { withAttachedOwner } from './owner.js';
|
|
19
|
+
export const DEFAULT_LAUNCH_PORT = 6767;
|
|
20
|
+
export const DEFAULT_LAUNCH_CTX_SIZE = 32_768;
|
|
21
|
+
export const DEFAULT_LAUNCH_API_KEY = 'atomic';
|
|
22
|
+
export async function launchCommand(argv, io, deps = {}) {
|
|
23
|
+
// Everything after the agent name belongs to the agent, including flags this CLI does not know:
|
|
24
|
+
// `launch goose --debug` must reach Goose, not fail our own parser (Rust uses `trailing_var_arg`).
|
|
25
|
+
const { own, forwarded } = splitAgentArgs(argv);
|
|
26
|
+
const { values, positionals } = parseArgs({
|
|
27
|
+
args: own,
|
|
28
|
+
options: {
|
|
29
|
+
'data-folder': { type: 'string' },
|
|
30
|
+
'model': { type: 'string' },
|
|
31
|
+
'bin': { type: 'string' },
|
|
32
|
+
'port': { type: 'string' },
|
|
33
|
+
'host': { type: 'string' },
|
|
34
|
+
'api-key': { type: 'string' },
|
|
35
|
+
'n-gpu-layers': { type: 'string' },
|
|
36
|
+
'ctx-size': { type: 'string' },
|
|
37
|
+
'fit': { type: 'boolean' },
|
|
38
|
+
'no-fit': { type: 'boolean' },
|
|
39
|
+
'list': { type: 'boolean' },
|
|
40
|
+
'json': { type: 'boolean' },
|
|
41
|
+
'verbose': { type: 'boolean', short: 'v' },
|
|
42
|
+
'standalone': { type: 'boolean' },
|
|
43
|
+
},
|
|
44
|
+
allowPositionals: true,
|
|
45
|
+
strict: true,
|
|
46
|
+
});
|
|
47
|
+
const detect = deps.detect ?? detectAgents;
|
|
48
|
+
if (values.list)
|
|
49
|
+
return listAgents(io, values.json === true, detect);
|
|
50
|
+
const requested = positionals[0];
|
|
51
|
+
const agentArgs = [...positionals.slice(1), ...forwarded];
|
|
52
|
+
const agent = requested ? findAgent(requested) : await pickAgent(io, detect);
|
|
53
|
+
if (!agent) {
|
|
54
|
+
io.stderr(`Error: unknown agent '${requested}'.\n\n`);
|
|
55
|
+
await listAgents(io, false, detect);
|
|
56
|
+
return 1;
|
|
57
|
+
}
|
|
58
|
+
if (agent.id === 'muse') {
|
|
59
|
+
io.stderr(`Error: ${agent.name} cannot be launched from the CLI.\n\n`);
|
|
60
|
+
for (const line of MUSE_CLI_REFUSAL)
|
|
61
|
+
io.stderr(` ${line}\n`);
|
|
62
|
+
return 1;
|
|
63
|
+
}
|
|
64
|
+
const detections = await detect([agent], { env: io.env });
|
|
65
|
+
const detection = detections.get(agent.id);
|
|
66
|
+
if (!detection.installed) {
|
|
67
|
+
io.stderr(`Error: ${agent.name} is not installed.\n\n`);
|
|
68
|
+
io.stderr(' Install it first — the Atomic Chat desktop app can do this\n');
|
|
69
|
+
io.stderr(' for you from the Launch page, or see:\n\n');
|
|
70
|
+
io.stderr(` ${agent.docsUrl}\n`);
|
|
71
|
+
return 1;
|
|
72
|
+
}
|
|
73
|
+
const layout = layoutFor(values, io);
|
|
74
|
+
await printFirstRunNotice(io, layout.core.telemetry);
|
|
75
|
+
if (values.standalone && values['data-folder'] === undefined) {
|
|
76
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', '--standalone requires an explicit --data-folder.', 'use a separate folder so the foreground owner cannot collide with the app');
|
|
77
|
+
}
|
|
78
|
+
const modelId = values.model ?? (await pickModel(layout, io));
|
|
79
|
+
const apiKey = values['api-key'] ?? DEFAULT_LAUNCH_API_KEY;
|
|
80
|
+
// `--fit` defaults to on for Claude Code, but only when `--ctx-size` was not given: an explicit
|
|
81
|
+
// context size means the user wants exactly that, and fit would override it.
|
|
82
|
+
const ctxGiven = values['ctx-size'] !== undefined;
|
|
83
|
+
const fit = values['no-fit'] ? false : (values.fit ?? (agent.id === 'claude-code' && !ctxGiven));
|
|
84
|
+
const overrides = {
|
|
85
|
+
ctx_size: ctxGiven ? Number(values['ctx-size']) : DEFAULT_LAUNCH_CTX_SIZE,
|
|
86
|
+
fit,
|
|
87
|
+
};
|
|
88
|
+
if (values['n-gpu-layers'] !== undefined)
|
|
89
|
+
overrides['n_gpu_layers'] = Number(values['n-gpu-layers']);
|
|
90
|
+
const standaloneCore = values.standalone
|
|
91
|
+
? await (await import('../core/index.js')).AtomicCore.create({
|
|
92
|
+
dataFolder: layout.root,
|
|
93
|
+
controlPort: 0,
|
|
94
|
+
env: io.env,
|
|
95
|
+
telemetry: { host: 'cli' },
|
|
96
|
+
})
|
|
97
|
+
: undefined;
|
|
98
|
+
const execute = async (client) => {
|
|
99
|
+
let created = false;
|
|
100
|
+
try {
|
|
101
|
+
// Validate/claim the public listener before a model load can auto-unload another session.
|
|
102
|
+
const server = standaloneCore
|
|
103
|
+
? await standaloneCore.startPublicServer({
|
|
104
|
+
port: values.port !== undefined ? Number(values.port) : DEFAULT_LAUNCH_PORT,
|
|
105
|
+
...(values.host ? { host: values.host } : {}),
|
|
106
|
+
apiKey,
|
|
107
|
+
})
|
|
108
|
+
: await client.startServer({
|
|
109
|
+
port: values.port !== undefined ? Number(values.port) : DEFAULT_LAUNCH_PORT,
|
|
110
|
+
...(values.host ? { host: values.host } : {}),
|
|
111
|
+
api_key: apiKey,
|
|
112
|
+
});
|
|
113
|
+
const acquired = standaloneCore
|
|
114
|
+
? await standaloneCore.acquire(LOCAL_PROVIDER, modelId, {
|
|
115
|
+
overrides,
|
|
116
|
+
...(values.bin ? { exePath: values.bin } : {}),
|
|
117
|
+
})
|
|
118
|
+
: await client.acquireModel(LOCAL_PROVIDER, modelId, {
|
|
119
|
+
overrides,
|
|
120
|
+
...(values.bin ? { exePath: values.bin } : {}),
|
|
121
|
+
});
|
|
122
|
+
const session = acquired.session;
|
|
123
|
+
created = acquired.created;
|
|
124
|
+
const baseUrl = `http://${server.host === '0.0.0.0' ? '127.0.0.1' : server.host}:${server.port}`;
|
|
125
|
+
const apiUrl = apiUrlFor(agent, baseUrl, server.prefix);
|
|
126
|
+
const configure = deps.configure ??
|
|
127
|
+
((a, u, m, k) => configureAgent(a, u, m, k, {
|
|
128
|
+
env: io.env,
|
|
129
|
+
spawn: runCommand,
|
|
130
|
+
}));
|
|
131
|
+
try {
|
|
132
|
+
await configure(agent, apiUrl, modelId, apiKey);
|
|
133
|
+
}
|
|
134
|
+
catch (e) {
|
|
135
|
+
throw new AtomicCoreError('IO_ERROR', `Could not configure ${agent.name}.`, e instanceof Error ? e.message : String(e));
|
|
136
|
+
}
|
|
137
|
+
io.stderr(`\n Agent ${agent.name}\n`);
|
|
138
|
+
io.stderr(` Endpoint ${apiUrl}\n`);
|
|
139
|
+
io.stderr(` Model ${modelId}\n`);
|
|
140
|
+
io.stderr(` Session pid ${session.pid}, port ${session.port}\n\n`);
|
|
141
|
+
const args = [...agent.runArgs, ...agentArgs];
|
|
142
|
+
const env = agentEnvironment(io.env, agent, apiUrl, modelId, apiKey);
|
|
143
|
+
const run = deps.run ?? runAgent;
|
|
144
|
+
if (agent.runMode === 'gui') {
|
|
145
|
+
await run({ program: detection.program, args, env, detached: true });
|
|
146
|
+
io.stderr(` ${agent.name} opened. The model stays loaded until you press Ctrl+C.\n\n`);
|
|
147
|
+
await io.waitForShutdown(async () => { });
|
|
148
|
+
return 0;
|
|
149
|
+
}
|
|
150
|
+
io.stderr(` → Launching: ${[detection.program, ...args].join(' ')}\n\n`);
|
|
151
|
+
return await run({ program: detection.program, args, env, detached: false });
|
|
152
|
+
}
|
|
153
|
+
catch (e) {
|
|
154
|
+
throw e instanceof AtomicCoreError
|
|
155
|
+
? e
|
|
156
|
+
: new AtomicCoreError('IO_ERROR', `Could not launch ${agent.name}.`, e instanceof Error ? e.message : String(e));
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
if (created) {
|
|
160
|
+
if (standaloneCore)
|
|
161
|
+
await standaloneCore.unload(LOCAL_PROVIDER, modelId).catch(() => { });
|
|
162
|
+
else
|
|
163
|
+
await client?.unloadModel(LOCAL_PROVIDER, modelId).catch(() => { });
|
|
164
|
+
}
|
|
165
|
+
await standaloneCore?.shutdown().catch(() => { });
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
if (standaloneCore)
|
|
169
|
+
return execute();
|
|
170
|
+
return withAttachedOwner({
|
|
171
|
+
layout,
|
|
172
|
+
clientName: `atomic-chat-core launch ${agent.id}`,
|
|
173
|
+
launch: true,
|
|
174
|
+
log: (message) => io.stderr(`${message}\n`),
|
|
175
|
+
}, ({ client }) => execute(client));
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Split our flags from the agent's. Everything before the first positional (the agent name) is
|
|
179
|
+
* ours; everything after it goes to the agent, except the options we document for `launch` itself.
|
|
180
|
+
*/
|
|
181
|
+
export function splitAgentArgs(argv) {
|
|
182
|
+
const OURS = new Set([
|
|
183
|
+
'--data-folder',
|
|
184
|
+
'--model',
|
|
185
|
+
'--bin',
|
|
186
|
+
'--port',
|
|
187
|
+
'--host',
|
|
188
|
+
'--api-key',
|
|
189
|
+
'--n-gpu-layers',
|
|
190
|
+
'--ctx-size',
|
|
191
|
+
]);
|
|
192
|
+
const FLAGS = new Set(['--fit', '--no-fit', '--standalone', '--list', '--json', '--verbose', '-v']);
|
|
193
|
+
const own = [];
|
|
194
|
+
const forwarded = [];
|
|
195
|
+
let seenAgent = false;
|
|
196
|
+
for (let i = 0; i < argv.length; i++) {
|
|
197
|
+
const arg = argv[i];
|
|
198
|
+
if (arg === '--') {
|
|
199
|
+
forwarded.push(...argv.slice(i + 1));
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
if (OURS.has(arg)) {
|
|
203
|
+
own.push(arg, argv[i + 1] ?? '');
|
|
204
|
+
i++;
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
if (arg.startsWith('--fit=')) {
|
|
208
|
+
own.push(arg === '--fit=false' ? '--no-fit' : '--fit');
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
if (FLAGS.has(arg) || arg.startsWith('--data-folder=') || (!seenAgent && arg.startsWith('-'))) {
|
|
212
|
+
own.push(arg);
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
if (!seenAgent && !arg.startsWith('-')) {
|
|
216
|
+
own.push(arg);
|
|
217
|
+
seenAgent = true;
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
forwarded.push(arg);
|
|
221
|
+
}
|
|
222
|
+
return { own, forwarded };
|
|
223
|
+
}
|
|
224
|
+
async function listAgents(io, json, detect) {
|
|
225
|
+
const detections = await detect(AGENTS, { env: io.env });
|
|
226
|
+
if (json) {
|
|
227
|
+
io.stdout(`${JSON.stringify(AGENTS.map((agent) => ({
|
|
228
|
+
id: agent.id,
|
|
229
|
+
name: agent.name,
|
|
230
|
+
bin: agent.detectBin,
|
|
231
|
+
aliases: agent.aliases,
|
|
232
|
+
installed: detections.get(agent.id)?.installed ?? false,
|
|
233
|
+
path: detections.get(agent.id)?.path ?? null,
|
|
234
|
+
requires_model: agent.requiresModel,
|
|
235
|
+
endpoint_with_prefix: agent.endpointWithPrefix,
|
|
236
|
+
run_mode: agent.runMode,
|
|
237
|
+
run_args: agent.runArgs,
|
|
238
|
+
docs_url: agent.docsUrl,
|
|
239
|
+
})), null, 2)}\n`);
|
|
240
|
+
return 0;
|
|
241
|
+
}
|
|
242
|
+
io.stdout('Agents this CLI can configure:\n\n');
|
|
243
|
+
const width = Math.max(...AGENTS.map((a) => a.id.length), 12);
|
|
244
|
+
for (const agent of AGENTS) {
|
|
245
|
+
const mark = detections.get(agent.id)?.installed ? '●' : '○';
|
|
246
|
+
io.stdout(` ${mark} ${agent.id.padEnd(width)} ${agent.docsUrl}\n`);
|
|
247
|
+
}
|
|
248
|
+
io.stdout('\n ● installed ○ not found on PATH\n');
|
|
249
|
+
return 0;
|
|
250
|
+
}
|
|
251
|
+
async function pickAgent(io, detect) {
|
|
252
|
+
const detections = await detect(AGENTS, { env: io.env });
|
|
253
|
+
const installed = AGENTS.filter((a) => detections.get(a.id)?.installed && a.id !== 'muse');
|
|
254
|
+
if (installed.length === 0) {
|
|
255
|
+
throw new AtomicCoreError('MODEL_NOT_FOUND', 'No supported coding agent is installed.', 'install one from the Launch page in Atomic Chat, or run `launch --list`');
|
|
256
|
+
}
|
|
257
|
+
const index = await io.select('Which agent should be launched?', installed.map((a) => a.name));
|
|
258
|
+
return installed[index];
|
|
259
|
+
}
|
|
260
|
+
async function pickModel(layout, io) {
|
|
261
|
+
const models = await new ModelRegistry(layout, LOCAL_PROVIDER).listChatModels();
|
|
262
|
+
if (models.length === 0) {
|
|
263
|
+
throw new AtomicCoreError('MODEL_NOT_FOUND', 'No chat models are installed.', 'download one in Atomic Chat, or pass --model');
|
|
264
|
+
}
|
|
265
|
+
if (models.length === 1)
|
|
266
|
+
return models[0].id;
|
|
267
|
+
const index = await io.select('Which model should be served?', models.map((m) => m.id));
|
|
268
|
+
return models[index].id;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* The child's environment: ambient provider credentials removed (they would override the config we
|
|
272
|
+
* just wrote and quietly send traffic to a cloud provider), then the variables the env-configured
|
|
273
|
+
* agents read.
|
|
274
|
+
*/
|
|
275
|
+
export function agentEnvironment(base, agent, apiUrl, model, apiKey) {
|
|
276
|
+
const env = { ...base };
|
|
277
|
+
for (const name of CONFLICTING_PROVIDER_ENV)
|
|
278
|
+
delete env[name];
|
|
279
|
+
return { ...env, ...childEnv(agent, apiUrl, model, apiKey) };
|
|
280
|
+
}
|
|
281
|
+
export function runAgent(spec) {
|
|
282
|
+
return new Promise((resolve, reject) => {
|
|
283
|
+
const child = spawn(spec.program, spec.args, {
|
|
284
|
+
env: spec.env,
|
|
285
|
+
stdio: spec.detached ? 'ignore' : 'inherit',
|
|
286
|
+
detached: spec.detached,
|
|
287
|
+
windowsHide: true,
|
|
288
|
+
});
|
|
289
|
+
let settled = false;
|
|
290
|
+
child.once('error', (e) => {
|
|
291
|
+
if (!settled)
|
|
292
|
+
reject(new AtomicCoreError('IO_ERROR', `Could not launch '${spec.program}'.`, e.message));
|
|
293
|
+
});
|
|
294
|
+
if (spec.detached) {
|
|
295
|
+
child.unref();
|
|
296
|
+
// Give a launcher that fails immediately a chance to report before we call it a success.
|
|
297
|
+
child.once('exit', (code, signal) => {
|
|
298
|
+
if (!settled) {
|
|
299
|
+
settled = true;
|
|
300
|
+
if (code === 0 && !signal)
|
|
301
|
+
resolve(0);
|
|
302
|
+
else
|
|
303
|
+
reject(new AtomicCoreError('IO_ERROR', `'${spec.program}' exited before its window opened.`, `exit ${code ?? signal ?? '?'}`));
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
setTimeout(() => {
|
|
307
|
+
if (!settled) {
|
|
308
|
+
settled = true;
|
|
309
|
+
resolve(0);
|
|
310
|
+
}
|
|
311
|
+
}, 250).unref();
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
child.once('exit', (code, signal) => resolve(code ?? (signal ? 1 : 0)));
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
export function runCommand(program, args) {
|
|
318
|
+
return new Promise((resolve, reject) => {
|
|
319
|
+
execFile(program, args, { windowsHide: true }, (error, stdout, stderr) => {
|
|
320
|
+
if (error && typeof error.code !== 'number')
|
|
321
|
+
reject(error);
|
|
322
|
+
else
|
|
323
|
+
resolve({ code: typeof error?.code === 'number' ? error.code : 0, stdout, stderr });
|
|
324
|
+
});
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=launch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/cli/launch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI dispatcher. `bin.ts` is the only file with side effects; everything here takes a `CliIo`, so
|
|
3
|
+
* a test can run a command and read what it printed without spawning a process.
|
|
4
|
+
*
|
|
5
|
+
* Phase 1 ships `daemon`, `serve`, `models`, `server` and `shutdown` (PLAN.md §4); `launch` and the
|
|
6
|
+
* rest land with their phases.
|
|
7
|
+
*/
|
|
8
|
+
import type { CliIo } from './io.js';
|
|
9
|
+
export declare const USAGE = "atomic-chat-core 0.5.1\n\nUsage: atomic-chat-core <command> [options]\n\nCommands:\n serve <model> Load a model in the core and expose it over an OpenAI-compatible API\n models list List the chat models installed in the CLI data folder\n server status Report whether a local API server is reachable\n daemon Run the core that owns this data folder (started for you by other commands)\n shutdown Stop the core that owns this data folder\n launch <agent> Start a model and launch a coding agent already wired to it\n providers List, register or remove cloud providers the API server routes to\n auth chatgpt Connect, inspect or disconnect a ChatGPT subscription\n telemetry Show, or turn on or off, the core's anonymous crash and error reports\n\nCommon options:\n --data-folder <path> Data folder to work with (default: <system data>/atomic-chat-cli/data)\n -h, --help Show this help\n -v, --version Print the version\n\nServe compatibility options:\n --model-path <gguf> Serve a GGUF directly; model id defaults to its filename\n --provider <id> llamacpp-upstream (default), mlx or foundation-models\n --resources-dir <dir> Folder with the desktop app's sidecar servers (mlx-server, foundation-models-server)\n --bin <path> Use this llama-server (or sidecar server) executable\n --port <port> Public OpenAI API port (default: 6767; 0 = random)\n --mmproj <path> Vision projector path\n --embedding Start in embedding mode\n --timeout <seconds> Readiness timeout (default: 120)\n --n-gpu-layers <n> GPU layers (-1 = all; default: -1)\n --ctx-size <tokens> Context size (default: 32768)\n --fit Let llama.cpp choose context size for available memory\n --threads <n> CPU inference threads (0 = auto)\n --api-key <key> Require this key on the public API\n --standalone Run a foreground owner in an explicit, separate --data-folder\n -d, --detach Compatibility flag; the persistent owner is already detached\n --log <path> Append llama.cpp stdout/stderr to a file\n -v, --verbose Relay llama.cpp output while the model loads\n --select Pick a GGUF when downloading owner/repository from Hugging Face\n --json Print the result as JSON\n\nNotes:\n The core keeps running when a command exits, so a model stays loaded between commands and\n Ctrl+C detaches instead of unloading. Stop it explicitly with `atomic-chat-core shutdown`.\n";
|
|
10
|
+
export declare function runCli(argv: string[], io: CliIo): Promise<number>;
|
package/dist/cli/main.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI dispatcher. `bin.ts` is the only file with side effects; everything here takes a `CliIo`, so
|
|
3
|
+
* a test can run a command and read what it printed without spawning a process.
|
|
4
|
+
*
|
|
5
|
+
* Phase 1 ships `daemon`, `serve`, `models`, `server` and `shutdown` (PLAN.md §4); `launch` and the
|
|
6
|
+
* rest land with their phases.
|
|
7
|
+
*/
|
|
8
|
+
import { AtomicCoreError } from '../contracts/index.js';
|
|
9
|
+
import { CORE_VERSION } from '../version.js';
|
|
10
|
+
import { daemonCommand, modelsCommand, serveCommand, serverCommand, shutdownCommand, telemetryCommand, } from './commands/index.js';
|
|
11
|
+
import { launchCommand } from './launch.js';
|
|
12
|
+
import { authCommand, providersCommand } from './cloud.js';
|
|
13
|
+
export const USAGE = `atomic-chat-core ${CORE_VERSION}
|
|
14
|
+
|
|
15
|
+
Usage: atomic-chat-core <command> [options]
|
|
16
|
+
|
|
17
|
+
Commands:
|
|
18
|
+
serve <model> Load a model in the core and expose it over an OpenAI-compatible API
|
|
19
|
+
models list List the chat models installed in the CLI data folder
|
|
20
|
+
server status Report whether a local API server is reachable
|
|
21
|
+
daemon Run the core that owns this data folder (started for you by other commands)
|
|
22
|
+
shutdown Stop the core that owns this data folder
|
|
23
|
+
launch <agent> Start a model and launch a coding agent already wired to it
|
|
24
|
+
providers List, register or remove cloud providers the API server routes to
|
|
25
|
+
auth chatgpt Connect, inspect or disconnect a ChatGPT subscription
|
|
26
|
+
telemetry Show, or turn on or off, the core's anonymous crash and error reports
|
|
27
|
+
|
|
28
|
+
Common options:
|
|
29
|
+
--data-folder <path> Data folder to work with (default: <system data>/atomic-chat-cli/data)
|
|
30
|
+
-h, --help Show this help
|
|
31
|
+
-v, --version Print the version
|
|
32
|
+
|
|
33
|
+
Serve compatibility options:
|
|
34
|
+
--model-path <gguf> Serve a GGUF directly; model id defaults to its filename
|
|
35
|
+
--provider <id> llamacpp-upstream (default), mlx or foundation-models
|
|
36
|
+
--resources-dir <dir> Folder with the desktop app's sidecar servers (mlx-server, foundation-models-server)
|
|
37
|
+
--bin <path> Use this llama-server (or sidecar server) executable
|
|
38
|
+
--port <port> Public OpenAI API port (default: 6767; 0 = random)
|
|
39
|
+
--mmproj <path> Vision projector path
|
|
40
|
+
--embedding Start in embedding mode
|
|
41
|
+
--timeout <seconds> Readiness timeout (default: 120)
|
|
42
|
+
--n-gpu-layers <n> GPU layers (-1 = all; default: -1)
|
|
43
|
+
--ctx-size <tokens> Context size (default: 32768)
|
|
44
|
+
--fit Let llama.cpp choose context size for available memory
|
|
45
|
+
--threads <n> CPU inference threads (0 = auto)
|
|
46
|
+
--api-key <key> Require this key on the public API
|
|
47
|
+
--standalone Run a foreground owner in an explicit, separate --data-folder
|
|
48
|
+
-d, --detach Compatibility flag; the persistent owner is already detached
|
|
49
|
+
--log <path> Append llama.cpp stdout/stderr to a file
|
|
50
|
+
-v, --verbose Relay llama.cpp output while the model loads
|
|
51
|
+
--select Pick a GGUF when downloading owner/repository from Hugging Face
|
|
52
|
+
--json Print the result as JSON
|
|
53
|
+
|
|
54
|
+
Notes:
|
|
55
|
+
The core keeps running when a command exits, so a model stays loaded between commands and
|
|
56
|
+
Ctrl+C detaches instead of unloading. Stop it explicitly with \`atomic-chat-core shutdown\`.
|
|
57
|
+
`;
|
|
58
|
+
export async function runCli(argv, io) {
|
|
59
|
+
const command = argv[0];
|
|
60
|
+
// Parse global flags only before the command. In particular, `serve -v` is verbose backend
|
|
61
|
+
// output, not the top-level version flag.
|
|
62
|
+
if (command === '--version' || command === '-v') {
|
|
63
|
+
io.stdout(`${CORE_VERSION}\n`);
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
if (command === '--help' || command === '-h' || !command) {
|
|
67
|
+
io.stdout(USAGE);
|
|
68
|
+
return command ? 0 : 2;
|
|
69
|
+
}
|
|
70
|
+
const rest = argv.slice(1);
|
|
71
|
+
try {
|
|
72
|
+
switch (command) {
|
|
73
|
+
case 'daemon':
|
|
74
|
+
return await daemonCommand(rest, io);
|
|
75
|
+
case 'serve':
|
|
76
|
+
return await serveCommand(rest, io);
|
|
77
|
+
case 'models':
|
|
78
|
+
return await modelsCommand(rest, io);
|
|
79
|
+
case 'server':
|
|
80
|
+
return await serverCommand(rest, io);
|
|
81
|
+
case 'launch':
|
|
82
|
+
return await launchCommand(rest, io);
|
|
83
|
+
case 'shutdown':
|
|
84
|
+
return await shutdownCommand(rest, io);
|
|
85
|
+
case 'providers':
|
|
86
|
+
return await providersCommand(rest, io);
|
|
87
|
+
case 'auth':
|
|
88
|
+
return await authCommand(rest, io);
|
|
89
|
+
case 'telemetry':
|
|
90
|
+
return await telemetryCommand(rest, io);
|
|
91
|
+
default:
|
|
92
|
+
io.stderr(`Unknown command: ${command}\n\n${USAGE}`);
|
|
93
|
+
return 2;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
io.stderr(`Error: ${describe(e)}\n`);
|
|
98
|
+
return 1;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function describe(error) {
|
|
102
|
+
if (error instanceof AtomicCoreError) {
|
|
103
|
+
return `${error.message}${error.details ? `\n ${error.details}` : ''} [${error.code}]`;
|
|
104
|
+
}
|
|
105
|
+
if (error instanceof Error)
|
|
106
|
+
return error.message;
|
|
107
|
+
return String(error);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finding — or starting — the core that owns a data folder (PLAN.md §3.6).
|
|
3
|
+
*
|
|
4
|
+
* Every command that needs a running core goes through here: read the lock, attach to a live owner,
|
|
5
|
+
* and only when there is none, launch `daemon` as an independent process and wait for it to publish
|
|
6
|
+
* its control port. The launched core does *not* die with us: that is the whole point of the owner
|
|
7
|
+
* model, and it is why `serve` can be Ctrl+C'd without unloading the model.
|
|
8
|
+
*/
|
|
9
|
+
import { CoreClient } from '../client/index.js';
|
|
10
|
+
import type { DataLayout } from '../config/index.js';
|
|
11
|
+
import type { LockRecord } from '../lock/index.js';
|
|
12
|
+
export declare const DAEMON_START_TIMEOUT_MS = 20000;
|
|
13
|
+
export interface AttachedOwner {
|
|
14
|
+
client: CoreClient;
|
|
15
|
+
record: LockRecord;
|
|
16
|
+
/** True when this process started the core we are now talking to. */
|
|
17
|
+
launched: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface AttachOptions {
|
|
20
|
+
layout: DataLayout;
|
|
21
|
+
clientName: string;
|
|
22
|
+
/** Start a core when none is running. */
|
|
23
|
+
launch?: boolean;
|
|
24
|
+
/** Argv[0] and any leading arguments needed to re-run this program (compiled binary vs source). */
|
|
25
|
+
selfCommand?: string[];
|
|
26
|
+
timeoutMs?: number;
|
|
27
|
+
log?: (message: string) => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* How to re-invoke ourselves. Always through `process.execPath`: inside a compiled Bun binary
|
|
31
|
+
* `argv[0]` is the literal string `bun`, which is not a program on the user's machine — spawning it
|
|
32
|
+
* gave `Script not found "daemon"`. Running from source needs the script path as well.
|
|
33
|
+
*/
|
|
34
|
+
export declare function selfCommand(argv?: string[], execPath?: string): string[];
|
|
35
|
+
export declare function attachToOwner(options: AttachOptions): Promise<AttachedOwner>;
|
|
36
|
+
/** A CLI command owns a renewable registration only while it is doing work. */
|
|
37
|
+
export declare function withAttachedOwner<T>(options: AttachOptions & {
|
|
38
|
+
heartbeatIntervalMs?: number;
|
|
39
|
+
}, work: (owner: AttachedOwner, clientId: string) => Promise<T>): Promise<T>;
|