@atomic-chat/core 0.13.6 → 0.18.3
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 +1 -1
- package/dist/app-daemon.js +9 -0
- package/dist/app-daemon.js.map +1 -1
- package/dist/backend/advisor/advisor.d.ts +8 -7
- package/dist/backend/advisor/advisor.js +17 -25
- package/dist/backend/advisor/advisor.js.map +1 -1
- package/dist/backend/catalog/index.d.ts +4 -2
- package/dist/backend/catalog/index.js +4 -2
- package/dist/backend/catalog/index.js.map +1 -1
- package/dist/backend/catalog/manifest.d.ts +5 -51
- package/dist/backend/catalog/manifest.js +5 -93
- package/dist/backend/catalog/manifest.js.map +1 -1
- package/dist/backend/catalog/upstream-releases-baseline.d.ts +2 -0
- package/dist/backend/catalog/upstream-releases-baseline.js +12 -0
- package/dist/backend/catalog/upstream-releases-baseline.js.map +1 -0
- package/dist/backend/catalog/upstream-releases-baseline.json +101 -0
- package/dist/backend/catalog/upstream-releases-catalog.d.ts +54 -0
- package/dist/backend/catalog/upstream-releases-catalog.js +148 -0
- package/dist/backend/catalog/upstream-releases-catalog.js.map +1 -0
- package/dist/backend/catalog/upstream-releases.d.ts +75 -0
- package/dist/backend/catalog/upstream-releases.js +155 -0
- package/dist/backend/catalog/upstream-releases.js.map +1 -0
- package/dist/backend/install/service.d.ts +7 -4
- package/dist/backend/install/service.js +4 -4
- package/dist/backend/install/service.js.map +1 -1
- package/dist/cli/commands/serve.js +10 -28
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.js +5 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/client/control-client.d.ts +16 -19
- package/dist/client/control-client.js +24 -29
- package/dist/client/control-client.js.map +1 -1
- package/dist/cloud/registry.d.ts +14 -1
- package/dist/cloud/registry.js +74 -2
- package/dist/cloud/registry.js.map +1 -1
- package/dist/config/paths.d.ts +8 -3
- package/dist/config/paths.js +21 -9
- package/dist/config/paths.js.map +1 -1
- package/dist/contracts/diffusion.d.ts +45 -18
- package/dist/contracts/diffusion.js +1 -1
- package/dist/contracts/diffusion.js.map +1 -1
- package/dist/contracts/engine-builds.d.ts +1 -1
- package/dist/contracts/engine-builds.js +1 -1
- package/dist/contracts/engine-builds.js.map +1 -1
- package/dist/contracts/engines.d.ts +1 -1
- package/dist/contracts/engines.js +4 -0
- package/dist/contracts/engines.js.map +1 -1
- package/dist/contracts/errors.d.ts +8 -4
- package/dist/contracts/errors.js +16 -0
- package/dist/contracts/errors.js.map +1 -1
- package/dist/contracts/events.d.ts +18 -6
- package/dist/contracts/foundry-local.d.ts +77 -0
- package/dist/contracts/foundry-local.js +17 -0
- package/dist/contracts/foundry-local.js.map +1 -0
- package/dist/contracts/index.d.ts +2 -1
- package/dist/contracts/index.js +2 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/media.d.ts +186 -0
- package/dist/contracts/media.js +55 -0
- package/dist/contracts/media.js.map +1 -0
- package/dist/contracts/model-yml.d.ts +28 -0
- package/dist/contracts/model-yml.js +11 -0
- package/dist/contracts/model-yml.js.map +1 -1
- package/dist/contracts/session.d.ts +14 -1
- package/dist/contracts/session.js +10 -0
- package/dist/contracts/session.js.map +1 -1
- package/dist/contracts/settings.d.ts +40 -1
- package/dist/contracts/settings.js.map +1 -1
- package/dist/core/atomic-core.d.ts +5 -5
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +149 -64
- package/dist/core/create.js.map +1 -1
- package/dist/core/managed-engines.js +2 -0
- package/dist/core/managed-engines.js.map +1 -1
- package/dist/core/prism.d.ts +21 -6
- package/dist/core/prism.js +44 -0
- package/dist/core/prism.js.map +1 -1
- package/dist/core/types.d.ts +9 -5
- package/dist/diffusion/gallery.d.ts +24 -3
- package/dist/diffusion/gallery.js +151 -21
- package/dist/diffusion/gallery.js.map +1 -1
- package/dist/diffusion/index.d.ts +3 -0
- package/dist/diffusion/index.js +3 -0
- package/dist/diffusion/index.js.map +1 -1
- package/dist/diffusion/install.d.ts +0 -4
- package/dist/diffusion/install.js +5 -2
- package/dist/diffusion/install.js.map +1 -1
- package/dist/diffusion/jobs.d.ts +6 -1
- package/dist/diffusion/jobs.js +6 -1
- package/dist/diffusion/jobs.js.map +1 -1
- package/dist/diffusion/media-header.d.ts +22 -0
- package/dist/diffusion/media-header.js +149 -0
- package/dist/diffusion/media-header.js.map +1 -0
- package/dist/diffusion/parse.d.ts +3 -1
- package/dist/diffusion/parse.js +36 -0
- package/dist/diffusion/parse.js.map +1 -1
- package/dist/diffusion/recipe.d.ts +10 -1
- package/dist/diffusion/recipe.js +85 -21
- package/dist/diffusion/recipe.js.map +1 -1
- package/dist/diffusion/remote-job.d.ts +76 -0
- package/dist/diffusion/remote-job.js +643 -0
- package/dist/diffusion/remote-job.js.map +1 -0
- package/dist/diffusion/remote-store.d.ts +38 -0
- package/dist/diffusion/remote-store.js +91 -0
- package/dist/diffusion/remote-store.js.map +1 -0
- package/dist/diffusion/server-process.d.ts +5 -2
- package/dist/diffusion/server-process.js +10 -2
- package/dist/diffusion/server-process.js.map +1 -1
- package/dist/diffusion/service.d.ts +9 -1
- package/dist/diffusion/service.js +49 -9
- package/dist/diffusion/service.js.map +1 -1
- package/dist/diffusion/state.d.ts +13 -1
- package/dist/diffusion/state.js +8 -0
- package/dist/diffusion/state.js.map +1 -1
- package/dist/diffusion/video-gallery.d.ts +11 -4
- package/dist/diffusion/video-gallery.js +62 -25
- package/dist/diffusion/video-gallery.js.map +1 -1
- package/dist/diffusion/video-history.js +4 -1
- package/dist/diffusion/video-history.js.map +1 -1
- package/dist/diffusion/video-recipe.js +58 -25
- package/dist/diffusion/video-recipe.js.map +1 -1
- package/dist/diffusion/wiring.d.ts +3 -0
- package/dist/diffusion/wiring.js +1 -0
- package/dist/diffusion/wiring.js.map +1 -1
- package/dist/downloads/archive.d.ts +1 -1
- package/dist/downloads/archive.js +2 -2
- package/dist/downloads/archive.js.map +1 -1
- package/dist/downloads/downloader.d.ts +1 -18
- package/dist/downloads/downloader.js +1 -45
- package/dist/downloads/downloader.js.map +1 -1
- package/dist/engine-builds/engines.d.ts +83 -0
- package/dist/engine-builds/engines.js +144 -0
- package/dist/engine-builds/engines.js.map +1 -0
- package/dist/engine-builds/foundry-local.d.ts +22 -0
- package/dist/engine-builds/foundry-local.js +100 -0
- package/dist/engine-builds/foundry-local.js.map +1 -0
- package/dist/engine-builds/manifest.d.ts +57 -6
- package/dist/engine-builds/manifest.js +109 -4
- package/dist/engine-builds/manifest.js.map +1 -1
- package/dist/engine-builds/order.d.ts +2 -1
- package/dist/engine-builds/order.js +11 -4
- package/dist/engine-builds/order.js.map +1 -1
- package/dist/engine-builds/select.d.ts +27 -0
- package/dist/engine-builds/select.js +45 -0
- package/dist/engine-builds/select.js.map +1 -1
- package/dist/engine-builds/service.d.ts +14 -15
- package/dist/engine-builds/service.js +68 -126
- package/dist/engine-builds/service.js.map +1 -1
- package/dist/engines/service.d.ts +6 -3
- package/dist/engines/service.js +6 -3
- package/dist/engines/service.js.map +1 -1
- package/dist/hardware/index.d.ts +1 -0
- package/dist/hardware/index.js +1 -0
- package/dist/hardware/index.js.map +1 -1
- package/dist/hardware/npu.d.ts +14 -0
- package/dist/hardware/npu.js +29 -0
- package/dist/hardware/npu.js.map +1 -0
- package/dist/integrations/detect.d.ts +2 -0
- package/dist/integrations/detect.js +4 -3
- package/dist/integrations/detect.js.map +1 -1
- package/dist/lock/instance-lock.js +5 -2
- package/dist/lock/instance-lock.js.map +1 -1
- package/dist/lock/process-identity.d.ts +9 -3
- package/dist/lock/process-identity.js +75 -9
- package/dist/lock/process-identity.js.map +1 -1
- package/dist/media/adapters/a1111.d.ts +32 -0
- package/dist/media/adapters/a1111.js +207 -0
- package/dist/media/adapters/a1111.js.map +1 -0
- package/dist/media/adapters/aimlapi-videos.d.ts +34 -0
- package/dist/media/adapters/aimlapi-videos.js +172 -0
- package/dist/media/adapters/aimlapi-videos.js.map +1 -0
- package/dist/media/adapters/dashscope-image.d.ts +26 -0
- package/dist/media/adapters/dashscope-image.js +160 -0
- package/dist/media/adapters/dashscope-image.js.map +1 -0
- package/dist/media/adapters/dashscope-video.d.ts +47 -0
- package/dist/media/adapters/dashscope-video.js +251 -0
- package/dist/media/adapters/dashscope-video.js.map +1 -0
- package/dist/media/adapters/gemini-image.d.ts +27 -0
- package/dist/media/adapters/gemini-image.js +181 -0
- package/dist/media/adapters/gemini-image.js.map +1 -0
- package/dist/media/adapters/gemini-veo.d.ts +39 -0
- package/dist/media/adapters/gemini-veo.js +196 -0
- package/dist/media/adapters/gemini-veo.js.map +1 -0
- package/dist/media/adapters/hf-images.d.ts +85 -0
- package/dist/media/adapters/hf-images.js +439 -0
- package/dist/media/adapters/hf-images.js.map +1 -0
- package/dist/media/adapters/hf-videos.d.ts +44 -0
- package/dist/media/adapters/hf-videos.js +265 -0
- package/dist/media/adapters/hf-videos.js.map +1 -0
- package/dist/media/adapters/minimax-image.d.ts +26 -0
- package/dist/media/adapters/minimax-image.js +111 -0
- package/dist/media/adapters/minimax-image.js.map +1 -0
- package/dist/media/adapters/minimax-video-v2.d.ts +34 -0
- package/dist/media/adapters/minimax-video-v2.js +191 -0
- package/dist/media/adapters/minimax-video-v2.js.map +1 -0
- package/dist/media/adapters/minimax-video.d.ts +28 -0
- package/dist/media/adapters/minimax-video.js +155 -0
- package/dist/media/adapters/minimax-video.js.map +1 -0
- package/dist/media/adapters/mistral-agent-image.d.ts +33 -0
- package/dist/media/adapters/mistral-agent-image.js +108 -0
- package/dist/media/adapters/mistral-agent-image.js.map +1 -0
- package/dist/media/adapters/nvidia-genai.d.ts +28 -0
- package/dist/media/adapters/nvidia-genai.js +182 -0
- package/dist/media/adapters/nvidia-genai.js.map +1 -0
- package/dist/media/adapters/openai-images.d.ts +23 -0
- package/dist/media/adapters/openai-images.js +164 -0
- package/dist/media/adapters/openai-images.js.map +1 -0
- package/dist/media/adapters/openai-videos.d.ts +34 -0
- package/dist/media/adapters/openai-videos.js +175 -0
- package/dist/media/adapters/openai-videos.js.map +1 -0
- package/dist/media/adapters/openrouter-images.d.ts +25 -0
- package/dist/media/adapters/openrouter-images.js +161 -0
- package/dist/media/adapters/openrouter-images.js.map +1 -0
- package/dist/media/adapters/openrouter-videos.d.ts +43 -0
- package/dist/media/adapters/openrouter-videos.js +208 -0
- package/dist/media/adapters/openrouter-videos.js.map +1 -0
- package/dist/media/adapters/registry.d.ts +7 -0
- package/dist/media/adapters/registry.js +45 -0
- package/dist/media/adapters/registry.js.map +1 -0
- package/dist/media/adapters/types.d.ts +133 -0
- package/dist/media/adapters/types.js +15 -0
- package/dist/media/adapters/types.js.map +1 -0
- package/dist/media/adapters/xai-images.d.ts +19 -0
- package/dist/media/adapters/xai-images.js +83 -0
- package/dist/media/adapters/xai-images.js.map +1 -0
- package/dist/media/adapters/xai-videos.d.ts +29 -0
- package/dist/media/adapters/xai-videos.js +148 -0
- package/dist/media/adapters/xai-videos.js.map +1 -0
- package/dist/media/catalog-baseline.d.ts +2 -0
- package/dist/media/catalog-baseline.js +10 -0
- package/dist/media/catalog-baseline.js.map +1 -0
- package/dist/media/catalog-baseline.json +1819 -0
- package/dist/media/catalog-service.d.ts +42 -0
- package/dist/media/catalog-service.js +111 -0
- package/dist/media/catalog-service.js.map +1 -0
- package/dist/media/catalog.d.ts +50 -0
- package/dist/media/catalog.js +315 -0
- package/dist/media/catalog.js.map +1 -0
- package/dist/media/http.d.ts +125 -0
- package/dist/media/http.js +308 -0
- package/dist/media/http.js.map +1 -0
- package/dist/media/index.d.ts +14 -0
- package/dist/media/index.js +15 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/mask.d.ts +12 -0
- package/dist/media/mask.js +57 -0
- package/dist/media/mask.js.map +1 -0
- package/dist/media/service.d.ts +42 -0
- package/dist/media/service.js +144 -0
- package/dist/media/service.js.map +1 -0
- package/dist/models/hf.d.ts +3 -16
- package/dist/models/hf.js +4 -42
- package/dist/models/hf.js.map +1 -1
- package/dist/router/resolve.d.ts +15 -4
- package/dist/router/resolve.js +26 -3
- package/dist/router/resolve.js.map +1 -1
- package/dist/runtime/environment/linux-provisioner.js +7 -67
- package/dist/runtime/environment/linux-provisioner.js.map +1 -1
- package/dist/runtime/environment/runtime-removal-plan.d.ts +19 -0
- package/dist/runtime/environment/runtime-removal-plan.js +74 -0
- package/dist/runtime/environment/runtime-removal-plan.js.map +1 -0
- package/dist/runtime/environment/windows-provisioner.js +20 -4
- package/dist/runtime/environment/windows-provisioner.js.map +1 -1
- package/dist/runtime/foundry-local/accelerators.d.ts +42 -0
- package/dist/runtime/foundry-local/accelerators.js +153 -0
- package/dist/runtime/foundry-local/accelerators.js.map +1 -0
- package/dist/runtime/foundry-local/check.d.ts +19 -0
- package/dist/runtime/foundry-local/check.js +69 -0
- package/dist/runtime/foundry-local/check.js.map +1 -0
- package/dist/runtime/foundry-local/host/args.d.ts +44 -0
- package/dist/runtime/foundry-local/host/args.js +109 -0
- package/dist/runtime/foundry-local/host/args.js.map +1 -0
- package/dist/runtime/foundry-local/host/execution-providers.d.ts +27 -0
- package/dist/runtime/foundry-local/host/execution-providers.js +43 -0
- package/dist/runtime/foundry-local/host/execution-providers.js.map +1 -0
- package/dist/runtime/foundry-local/host/ffi-bun.d.ts +17 -0
- package/dist/runtime/foundry-local/host/ffi-bun.js +256 -0
- package/dist/runtime/foundry-local/host/ffi-bun.js.map +1 -0
- package/dist/runtime/foundry-local/host/library.d.ts +61 -0
- package/dist/runtime/foundry-local/host/library.js +17 -0
- package/dist/runtime/foundry-local/host/library.js.map +1 -0
- package/dist/runtime/foundry-local/host/run.d.ts +54 -0
- package/dist/runtime/foundry-local/host/run.js +316 -0
- package/dist/runtime/foundry-local/host/run.js.map +1 -0
- package/dist/runtime/foundry-local/host-process.d.ts +78 -0
- package/dist/runtime/foundry-local/host-process.js +182 -0
- package/dist/runtime/foundry-local/host-process.js.map +1 -0
- package/dist/runtime/foundry-local/index.d.ts +11 -0
- package/dist/runtime/foundry-local/index.js +11 -0
- package/dist/runtime/foundry-local/index.js.map +1 -0
- package/dist/runtime/foundry-local/model-yml.d.ts +8 -0
- package/dist/runtime/foundry-local/model-yml.js +63 -0
- package/dist/runtime/foundry-local/model-yml.js.map +1 -0
- package/dist/runtime/foundry-local/runtime.d.ts +88 -0
- package/dist/runtime/foundry-local/runtime.js +321 -0
- package/dist/runtime/foundry-local/runtime.js.map +1 -0
- package/dist/runtime/llamacpp/args.d.ts +5 -0
- package/dist/runtime/llamacpp/args.js +7 -1
- package/dist/runtime/llamacpp/args.js.map +1 -1
- package/dist/runtime/llamacpp/errors.d.ts +1 -0
- package/dist/runtime/llamacpp/errors.js +10 -0
- package/dist/runtime/llamacpp/errors.js.map +1 -1
- package/dist/runtime/llamacpp/load-plan.d.ts +5 -0
- package/dist/runtime/llamacpp/load-plan.js +8 -0
- package/dist/runtime/llamacpp/load-plan.js.map +1 -1
- package/dist/runtime/llamacpp/runtime-device.d.ts +8 -0
- package/dist/runtime/llamacpp/runtime-device.js +9 -3
- package/dist/runtime/llamacpp/runtime-device.js.map +1 -1
- package/dist/runtime/llamacpp/runtime.d.ts +6 -1
- package/dist/runtime/llamacpp/runtime.js +19 -3
- package/dist/runtime/llamacpp/runtime.js.map +1 -1
- package/dist/runtime/managed-engines/spec.d.ts +2 -2
- package/dist/runtime/managed-engines/spec.js +6 -0
- package/dist/runtime/managed-engines/spec.js.map +1 -1
- package/dist/runtime/managed-models/compatibility.d.ts +10 -0
- package/dist/runtime/managed-models/compatibility.js +18 -0
- package/dist/runtime/managed-models/compatibility.js.map +1 -1
- package/dist/runtime/managed-text/gateway.d.ts +2 -0
- package/dist/runtime/managed-text/gateway.js +1 -1
- package/dist/runtime/managed-text/gateway.js.map +1 -1
- package/dist/runtime/managed-text/request-rules.d.ts +9 -7
- package/dist/runtime/managed-text/request-rules.js +58 -2
- package/dist/runtime/managed-text/request-rules.js.map +1 -1
- package/dist/runtime/managed-text/setting-values.d.ts +9 -0
- package/dist/runtime/managed-text/setting-values.js +44 -0
- package/dist/runtime/managed-text/setting-values.js.map +1 -0
- package/dist/runtime/sglang/adapter.d.ts +50 -0
- package/dist/runtime/sglang/adapter.js +393 -0
- package/dist/runtime/sglang/adapter.js.map +1 -0
- package/dist/runtime/sglang/engine.d.ts +16 -0
- package/dist/runtime/sglang/engine.js +38 -0
- package/dist/runtime/sglang/engine.js.map +1 -0
- package/dist/runtime/sglang/index.d.ts +11 -0
- package/dist/runtime/sglang/index.js +12 -0
- package/dist/runtime/sglang/index.js.map +1 -0
- package/dist/runtime/sglang/memory.d.ts +64 -0
- package/dist/runtime/sglang/memory.js +90 -0
- package/dist/runtime/sglang/memory.js.map +1 -0
- package/dist/runtime/sglang/settings.d.ts +49 -0
- package/dist/runtime/sglang/settings.js +118 -0
- package/dist/runtime/sglang/settings.js.map +1 -0
- package/dist/runtime/shared/external-sessions.js +2 -0
- package/dist/runtime/shared/external-sessions.js.map +1 -1
- package/dist/runtime/shared/process.d.ts +13 -1
- package/dist/runtime/shared/process.js +21 -12
- package/dist/runtime/shared/process.js.map +1 -1
- package/dist/runtime/vllm/adapter.js +2 -47
- package/dist/runtime/vllm/adapter.js.map +1 -1
- package/dist/runtime/vllm/memory.js +3 -16
- package/dist/runtime/vllm/memory.js.map +1 -1
- package/dist/runtime/vllm/settings.d.ts +7 -0
- package/dist/runtime/vllm/settings.js +2 -30
- package/dist/runtime/vllm/settings.js.map +1 -1
- package/dist/server/control/router.js +6 -3
- package/dist/server/control/router.js.map +1 -1
- package/dist/server/control/routes/foundry-local.d.ts +10 -0
- package/dist/server/control/routes/foundry-local.js +42 -0
- package/dist/server/control/routes/foundry-local.js.map +1 -0
- package/dist/server/control/routes/media.d.ts +9 -0
- package/dist/server/control/routes/media.js +24 -0
- package/dist/server/control/routes/media.js.map +1 -0
- package/dist/server/control/routes/model-compatibility.d.ts +9 -0
- package/dist/server/control/routes/model-compatibility.js +31 -0
- package/dist/server/control/routes/model-compatibility.js.map +1 -0
- package/dist/server/control/routes/models.js +3 -1
- package/dist/server/control/routes/models.js.map +1 -1
- package/dist/server/control/types.d.ts +30 -20
- package/dist/server/control/types.js.map +1 -1
- package/dist/server/http.js +17 -2
- package/dist/server/http.js.map +1 -1
- package/dist/server/public/errors.d.ts +1 -0
- package/dist/server/public/errors.js +18 -0
- package/dist/server/public/errors.js.map +1 -1
- package/dist/server/public/images-params.js +18 -1
- package/dist/server/public/images-params.js.map +1 -1
- package/dist/server/public/images.d.ts +11 -2
- package/dist/server/public/images.js +73 -9
- package/dist/server/public/images.js.map +1 -1
- package/dist/server/public/index.js +7 -1
- package/dist/server/public/index.js.map +1 -1
- package/dist/server/public/listing.js +2 -0
- package/dist/server/public/listing.js.map +1 -1
- package/dist/server/public/remote-media.d.ts +51 -0
- package/dist/server/public/remote-media.js +225 -0
- package/dist/server/public/remote-media.js.map +1 -0
- package/dist/server/public/responses.js +4 -2
- package/dist/server/public/responses.js.map +1 -1
- package/dist/server/public/static-assets.generated.js +1 -1
- package/dist/server/public/static-assets.generated.js.map +1 -1
- package/dist/server/public/trace.js +2 -0
- package/dist/server/public/trace.js.map +1 -1
- package/dist/server/public/types.d.ts +5 -1
- package/dist/server/public/videos-params.js +13 -3
- package/dist/server/public/videos-params.js.map +1 -1
- package/dist/server/public/videos.d.ts +1 -0
- package/dist/server/public/videos.js +21 -3
- package/dist/server/public/videos.js.map +1 -1
- package/dist/settings/schema/foundry-local.json +14 -0
- package/dist/settings/schema/llamacpp-upstream.json +9 -0
- package/dist/settings/schema/sglang.json +251 -0
- package/dist/settings/schema.js +35 -1
- package/dist/settings/schema.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -5
- package/src/settings/schema/foundry-local.json +14 -0
- package/src/settings/schema/llamacpp-upstream.json +9 -0
- package/src/settings/schema/sglang.json +251 -0
- package/dist/backend/catalog/bundled-manifest-baseline.d.ts +0 -2
- package/dist/backend/catalog/bundled-manifest-baseline.js +0 -65
- package/dist/backend/catalog/bundled-manifest-baseline.js.map +0 -1
- package/dist/contracts/model-setup.d.ts +0 -115
- package/dist/contracts/model-setup.js +0 -33
- package/dist/contracts/model-setup.js.map +0 -1
- package/dist/core/model-setup/index.d.ts +0 -4
- package/dist/core/model-setup/index.js +0 -5
- package/dist/core/model-setup/index.js.map +0 -1
- package/dist/core/model-setup/plan.d.ts +0 -56
- package/dist/core/model-setup/plan.js +0 -158
- package/dist/core/model-setup/plan.js.map +0 -1
- package/dist/core/model-setup/service.d.ts +0 -92
- package/dist/core/model-setup/service.js +0 -329
- package/dist/core/model-setup/service.js.map +0 -1
- package/dist/core/model-setup/store.d.ts +0 -29
- package/dist/core/model-setup/store.js +0 -116
- package/dist/core/model-setup/store.js.map +0 -1
- package/dist/core/model-setup/wiring.d.ts +0 -59
- package/dist/core/model-setup/wiring.js +0 -132
- package/dist/core/model-setup/wiring.js.map +0 -1
- package/dist/core/tensorrt-llm.d.ts +0 -169
- package/dist/core/tensorrt-llm.js +0 -428
- package/dist/core/tensorrt-llm.js.map +0 -1
- package/dist/downloads/segmented.d.ts +0 -40
- package/dist/downloads/segmented.js +0 -170
- package/dist/downloads/segmented.js.map +0 -1
- package/dist/runtime/tensorrt-llm/delete.d.ts +0 -15
- package/dist/runtime/tensorrt-llm/delete.js +0 -60
- package/dist/runtime/tensorrt-llm/delete.js.map +0 -1
- package/dist/runtime/tensorrt-llm/guest-files.d.ts +0 -8
- package/dist/runtime/tensorrt-llm/guest-files.js +0 -49
- package/dist/runtime/tensorrt-llm/guest-files.js.map +0 -1
- package/dist/runtime/tensorrt-llm/location.d.ts +0 -20
- package/dist/runtime/tensorrt-llm/location.js +0 -48
- package/dist/runtime/tensorrt-llm/location.js.map +0 -1
- package/dist/runtime/tensorrt-llm/model-dir.d.ts +0 -38
- package/dist/runtime/tensorrt-llm/model-dir.js +0 -137
- package/dist/runtime/tensorrt-llm/model-dir.js.map +0 -1
- package/dist/runtime/tensorrt-llm/quant-format.d.ts +0 -65
- package/dist/runtime/tensorrt-llm/quant-format.js +0 -189
- package/dist/runtime/tensorrt-llm/quant-format.js.map +0 -1
- package/dist/runtime/tensorrt-llm/registry.d.ts +0 -26
- package/dist/runtime/tensorrt-llm/registry.js +0 -68
- package/dist/runtime/tensorrt-llm/registry.js.map +0 -1
- package/dist/runtime/tensorrt-llm/runtime.d.ts +0 -130
- package/dist/runtime/tensorrt-llm/runtime.js +0 -395
- package/dist/runtime/tensorrt-llm/runtime.js.map +0 -1
- package/dist/server/control/routes/model-setups.d.ts +0 -11
- package/dist/server/control/routes/model-setups.js +0 -55
- package/dist/server/control/routes/model-setups.js.map +0 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The arguments of the hidden `foundry-host` mode (openspec change `add-foundry-local`, task 5.1).
|
|
3
|
+
* Core is the only caller, so the parse is strict: anything unknown is a bug on core's side.
|
|
4
|
+
*
|
|
5
|
+
* foundry-host probe --lib <build> --app-data <dir> --logs <dir> [--prepared <ep>]…
|
|
6
|
+
* foundry-host prepare --lib <build> --app-data <dir> --logs <dir> [<ep>…]
|
|
7
|
+
* foundry-host serve --lib <build> --app-data <dir> --logs <dir> --model <dir> --ep <ep>
|
|
8
|
+
* --port <p> --cache <dir> --id <name>:<version> [--tools]
|
|
9
|
+
* [--reasoning-start <s> --reasoning-end <s>] [--context-length <n>]
|
|
10
|
+
*/
|
|
11
|
+
import type { FoundryLocalExecutionProvider } from '../../../contracts/index.js';
|
|
12
|
+
interface CommonArgs {
|
|
13
|
+
/** The build directory (`<root>/<tag>/<platform>`), holding `lib/`. */
|
|
14
|
+
lib: string;
|
|
15
|
+
/** The library's own data (`app_data_dir`): accelerators, shared by every build. */
|
|
16
|
+
appData: string;
|
|
17
|
+
logs: string;
|
|
18
|
+
}
|
|
19
|
+
export type FoundryHostArgs = (CommonArgs & {
|
|
20
|
+
mode: 'probe';
|
|
21
|
+
/** Accelerators core recorded as prepared; the library cannot tell (spike finding 18). */
|
|
22
|
+
prepared: string[];
|
|
23
|
+
}) | (CommonArgs & {
|
|
24
|
+
mode: 'prepare';
|
|
25
|
+
accelerators: string[];
|
|
26
|
+
}) | (CommonArgs & {
|
|
27
|
+
mode: 'serve';
|
|
28
|
+
model: string;
|
|
29
|
+
ep: FoundryLocalExecutionProvider;
|
|
30
|
+
port: number;
|
|
31
|
+
/** The host's own catalog index, deleted at exit. */
|
|
32
|
+
cache: string;
|
|
33
|
+
/** `<name>:<version>`, never one of Microsoft's catalog ids (spike finding 7). */
|
|
34
|
+
id: string;
|
|
35
|
+
tools: boolean;
|
|
36
|
+
reasoningStart?: string;
|
|
37
|
+
reasoningEnd?: string;
|
|
38
|
+
contextLength?: number;
|
|
39
|
+
});
|
|
40
|
+
export declare class FoundryHostUsageError extends Error {
|
|
41
|
+
constructor(message: string);
|
|
42
|
+
}
|
|
43
|
+
export declare function parseFoundryHostArgs(argv: readonly string[]): FoundryHostArgs;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The arguments of the hidden `foundry-host` mode (openspec change `add-foundry-local`, task 5.1).
|
|
3
|
+
* Core is the only caller, so the parse is strict: anything unknown is a bug on core's side.
|
|
4
|
+
*
|
|
5
|
+
* foundry-host probe --lib <build> --app-data <dir> --logs <dir> [--prepared <ep>]…
|
|
6
|
+
* foundry-host prepare --lib <build> --app-data <dir> --logs <dir> [<ep>…]
|
|
7
|
+
* foundry-host serve --lib <build> --app-data <dir> --logs <dir> --model <dir> --ep <ep>
|
|
8
|
+
* --port <p> --cache <dir> --id <name>:<version> [--tools]
|
|
9
|
+
* [--reasoning-start <s> --reasoning-end <s>] [--context-length <n>]
|
|
10
|
+
*/
|
|
11
|
+
import { parseArgs } from 'node:util';
|
|
12
|
+
import { FOUNDRY_LOCAL_EXECUTION_PROVIDERS } from '../../../contracts/index.js';
|
|
13
|
+
export class FoundryHostUsageError extends Error {
|
|
14
|
+
constructor(message) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = 'FoundryHostUsageError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const COMMON_OPTIONS = {
|
|
20
|
+
'lib': { type: 'string' },
|
|
21
|
+
'app-data': { type: 'string' },
|
|
22
|
+
'logs': { type: 'string' },
|
|
23
|
+
};
|
|
24
|
+
const required = (values, key) => {
|
|
25
|
+
const value = values[key];
|
|
26
|
+
if (typeof value !== 'string' || value === '')
|
|
27
|
+
throw new FoundryHostUsageError(`--${key} is required`);
|
|
28
|
+
return value;
|
|
29
|
+
};
|
|
30
|
+
function common(values) {
|
|
31
|
+
return {
|
|
32
|
+
lib: required(values, 'lib'),
|
|
33
|
+
appData: required(values, 'app-data'),
|
|
34
|
+
logs: required(values, 'logs'),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function parseFoundryHostArgs(argv) {
|
|
38
|
+
const [mode, ...rest] = argv;
|
|
39
|
+
try {
|
|
40
|
+
if (mode === 'probe') {
|
|
41
|
+
const { values } = parseArgs({
|
|
42
|
+
args: rest,
|
|
43
|
+
options: { ...COMMON_OPTIONS, prepared: { type: 'string', multiple: true } },
|
|
44
|
+
strict: true,
|
|
45
|
+
});
|
|
46
|
+
return { mode, ...common(values), prepared: values.prepared ?? [] };
|
|
47
|
+
}
|
|
48
|
+
if (mode === 'prepare') {
|
|
49
|
+
const { values, positionals } = parseArgs({
|
|
50
|
+
args: rest,
|
|
51
|
+
options: COMMON_OPTIONS,
|
|
52
|
+
strict: true,
|
|
53
|
+
allowPositionals: true,
|
|
54
|
+
});
|
|
55
|
+
return { mode, ...common(values), accelerators: positionals };
|
|
56
|
+
}
|
|
57
|
+
if (mode === 'serve') {
|
|
58
|
+
const { values } = parseArgs({
|
|
59
|
+
args: rest,
|
|
60
|
+
options: {
|
|
61
|
+
...COMMON_OPTIONS,
|
|
62
|
+
'model': { type: 'string' },
|
|
63
|
+
'ep': { type: 'string' },
|
|
64
|
+
'port': { type: 'string' },
|
|
65
|
+
'cache': { type: 'string' },
|
|
66
|
+
'id': { type: 'string' },
|
|
67
|
+
'tools': { type: 'boolean' },
|
|
68
|
+
'reasoning-start': { type: 'string' },
|
|
69
|
+
'reasoning-end': { type: 'string' },
|
|
70
|
+
'context-length': { type: 'string' },
|
|
71
|
+
},
|
|
72
|
+
strict: true,
|
|
73
|
+
});
|
|
74
|
+
const ep = required(values, 'ep');
|
|
75
|
+
if (!FOUNDRY_LOCAL_EXECUTION_PROVIDERS.some((known) => known === ep))
|
|
76
|
+
throw new FoundryHostUsageError(`--ep ${ep} is not an accelerator this host runs`);
|
|
77
|
+
const port = Number(required(values, 'port'));
|
|
78
|
+
if (!Number.isInteger(port) || port < 1 || port > 65535)
|
|
79
|
+
throw new FoundryHostUsageError(`--port ${values.port} is not a port`);
|
|
80
|
+
const id = required(values, 'id');
|
|
81
|
+
if (!/^[^:\s]+:\d+$/.test(id))
|
|
82
|
+
throw new FoundryHostUsageError(`--id ${id} is not <name>:<version>`);
|
|
83
|
+
const context = values['context-length'];
|
|
84
|
+
const contextLength = context === undefined ? undefined : Number(context);
|
|
85
|
+
if (contextLength !== undefined && (!Number.isSafeInteger(contextLength) || contextLength < 1))
|
|
86
|
+
throw new FoundryHostUsageError(`--context-length ${context} is not a positive whole number`);
|
|
87
|
+
return {
|
|
88
|
+
mode,
|
|
89
|
+
...common(values),
|
|
90
|
+
model: required(values, 'model'),
|
|
91
|
+
ep: ep,
|
|
92
|
+
port,
|
|
93
|
+
cache: required(values, 'cache'),
|
|
94
|
+
id,
|
|
95
|
+
tools: values.tools === true,
|
|
96
|
+
...(values['reasoning-start'] !== undefined ? { reasoningStart: values['reasoning-start'] } : {}),
|
|
97
|
+
...(values['reasoning-end'] !== undefined ? { reasoningEnd: values['reasoning-end'] } : {}),
|
|
98
|
+
...(contextLength !== undefined ? { contextLength } : {}),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
if (error instanceof FoundryHostUsageError)
|
|
104
|
+
throw error;
|
|
105
|
+
throw new FoundryHostUsageError(error instanceof Error ? error.message : String(error));
|
|
106
|
+
}
|
|
107
|
+
throw new FoundryHostUsageError(`foundry-host: unknown mode ${JSON.stringify(mode ?? '')} (probe, prepare, serve)`);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../src/runtime/foundry-local/host/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The three spellings of each accelerator (spike findings 6 and 14): conf and `model.yml` say `webgpu`,
|
|
3
|
+
* the library's EP registration and `Manager_GetDiscoverableEps` say `WebGpuExecutionProvider` (ONNX
|
|
4
|
+
* Runtime's name), and `RegisterModel` metadata wants `WebGPUExecutionProvider` (the catalog's name) —
|
|
5
|
+
* `Load` refuses the ORT spelling with "unknown execution provider for local model".
|
|
6
|
+
*/
|
|
7
|
+
import type { FoundryLocalExecutionProvider } from '../../../contracts/index.js';
|
|
8
|
+
interface ExecutionProviderNames {
|
|
9
|
+
short: FoundryLocalExecutionProvider;
|
|
10
|
+
/** What the variant runs on; OpenVINO serves Intel GPUs and NPUs alike (finding: offered without an NPU). */
|
|
11
|
+
device: 'cpu' | 'gpu' | 'npu' | 'gpu/npu';
|
|
12
|
+
/** `Manager_DownloadAndRegisterEps` / discoverable name; `null` for the CPU, which is always there. */
|
|
13
|
+
register: string | null;
|
|
14
|
+
/** `execution_provider` in `RegisterModel` metadata. */
|
|
15
|
+
metadata: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const EXECUTION_PROVIDERS: readonly ExecutionProviderNames[];
|
|
18
|
+
export declare function executionProvider(short: FoundryLocalExecutionProvider): ExecutionProviderNames;
|
|
19
|
+
/**
|
|
20
|
+
* What the probe says about one discoverable accelerator. One this core does not run variants on
|
|
21
|
+
* (`NvTensorRTRTXExecutionProvider`, design non-goal) keeps its name with `execution_provider: null`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function describeDiscoverable(name: string): {
|
|
24
|
+
execution_provider: FoundryLocalExecutionProvider | null;
|
|
25
|
+
device: string;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The three spellings of each accelerator (spike findings 6 and 14): conf and `model.yml` say `webgpu`,
|
|
3
|
+
* the library's EP registration and `Manager_GetDiscoverableEps` say `WebGpuExecutionProvider` (ONNX
|
|
4
|
+
* Runtime's name), and `RegisterModel` metadata wants `WebGPUExecutionProvider` (the catalog's name) —
|
|
5
|
+
* `Load` refuses the ORT spelling with "unknown execution provider for local model".
|
|
6
|
+
*/
|
|
7
|
+
export const EXECUTION_PROVIDERS = [
|
|
8
|
+
{ short: 'cpu', device: 'cpu', register: null, metadata: 'CPUExecutionProvider' },
|
|
9
|
+
{ short: 'cuda', device: 'gpu', register: 'CUDAExecutionProvider', metadata: 'CUDAExecutionProvider' },
|
|
10
|
+
{
|
|
11
|
+
short: 'webgpu',
|
|
12
|
+
device: 'gpu',
|
|
13
|
+
register: 'WebGpuExecutionProvider',
|
|
14
|
+
metadata: 'WebGPUExecutionProvider',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
short: 'openvino',
|
|
18
|
+
device: 'gpu/npu',
|
|
19
|
+
register: 'OpenVINOExecutionProvider',
|
|
20
|
+
metadata: 'OpenVINOExecutionProvider',
|
|
21
|
+
},
|
|
22
|
+
{ short: 'qnn', device: 'npu', register: 'QNNExecutionProvider', metadata: 'QNNExecutionProvider' },
|
|
23
|
+
{
|
|
24
|
+
short: 'vitisai',
|
|
25
|
+
device: 'npu',
|
|
26
|
+
register: 'VitisAIExecutionProvider',
|
|
27
|
+
metadata: 'VitisAIExecutionProvider',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
export function executionProvider(short) {
|
|
31
|
+
return EXECUTION_PROVIDERS.find((ep) => ep.short === short);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* What the probe says about one discoverable accelerator. One this core does not run variants on
|
|
35
|
+
* (`NvTensorRTRTXExecutionProvider`, design non-goal) keeps its name with `execution_provider: null`.
|
|
36
|
+
*/
|
|
37
|
+
export function describeDiscoverable(name) {
|
|
38
|
+
const known = EXECUTION_PROVIDERS.find((ep) => ep.register === name);
|
|
39
|
+
if (known)
|
|
40
|
+
return { execution_provider: known.short, device: known.device };
|
|
41
|
+
return { execution_provider: null, device: /TensorRT|Cuda|Gpu|DML/i.test(name) ? 'gpu' : 'unknown' };
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=execution-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-providers.js","sourceRoot":"","sources":["../../../../src/runtime/foundry-local/host/execution-providers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,MAAM,CAAC,MAAM,mBAAmB,GAAsC;IACpE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACjF,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,uBAAuB,EAAE;IACtG;QACE,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,yBAAyB;QACnC,QAAQ,EAAE,yBAAyB;KACpC;IACD;QACE,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,2BAA2B;QACrC,QAAQ,EAAE,2BAA2B;KACtC;IACD,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACnG;QACE,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,0BAA0B;QACpC,QAAQ,EAAE,0BAA0B;KACrC;CACF,CAAA;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAoC;IACpE,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAA2B,CAAA;AACvF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAI/C,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAA;IACpE,IAAI,KAAK;QAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;IAC3E,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;AACtG,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `FoundryLibrary` over `bun:ffi` — the only file in `src/` that may import `bun:*` (operator decision
|
|
3
|
+
* Q2 of change `add-foundry-local`; allow-listed in `scripts/check-runtime-agnostic.mjs`). It is
|
|
4
|
+
* imported dynamically by the `foundry-host` mode alone, so the npm package still loads under Node.
|
|
5
|
+
*
|
|
6
|
+
* The library exports three symbols; everything else is a table of function pointers (`flApi` and its
|
|
7
|
+
* sub-APIs), read here by index. Indices follow `foundry_local_c.h` of C API version 2: tables only
|
|
8
|
+
* ever grow at the end, so a library that grants version 2 keeps these positions.
|
|
9
|
+
*
|
|
10
|
+
* Proven by the spike (rulings S1, S2): progress callbacks must not be `threadsafe` — the native caller
|
|
11
|
+
* would wait on a JS thread it itself blocks and read a non-zero return as "cancel"; on Windows the
|
|
12
|
+
* library's DLL dependencies are found only after `SetDllDirectoryW(<lib>)`.
|
|
13
|
+
*/
|
|
14
|
+
import type { LoadFoundryLibrary } from './library.js';
|
|
15
|
+
/** The `FOUNDRY_LOCAL_API_VERSION` these bindings are written against. */
|
|
16
|
+
export declare const BOUND_C_API_VERSION = 2;
|
|
17
|
+
export declare const loadBunFoundryLibrary: LoadFoundryLibrary;
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `FoundryLibrary` over `bun:ffi` — the only file in `src/` that may import `bun:*` (operator decision
|
|
3
|
+
* Q2 of change `add-foundry-local`; allow-listed in `scripts/check-runtime-agnostic.mjs`). It is
|
|
4
|
+
* imported dynamically by the `foundry-host` mode alone, so the npm package still loads under Node.
|
|
5
|
+
*
|
|
6
|
+
* The library exports three symbols; everything else is a table of function pointers (`flApi` and its
|
|
7
|
+
* sub-APIs), read here by index. Indices follow `foundry_local_c.h` of C API version 2: tables only
|
|
8
|
+
* ever grow at the end, so a library that grants version 2 keeps these positions.
|
|
9
|
+
*
|
|
10
|
+
* Proven by the spike (rulings S1, S2): progress callbacks must not be `threadsafe` — the native caller
|
|
11
|
+
* would wait on a JS thread it itself blocks and read a non-zero return as "cancel"; on Windows the
|
|
12
|
+
* library's DLL dependencies are found only after `SetDllDirectoryW(<lib>)`.
|
|
13
|
+
*/
|
|
14
|
+
import { CFunction, CString, dlopen, FFIType, JSCallback, ptr, read } from 'bun:ffi';
|
|
15
|
+
import { existsSync } from 'node:fs';
|
|
16
|
+
import { join } from 'node:path';
|
|
17
|
+
import { FoundryLibraryError } from './library.js';
|
|
18
|
+
/** The `FOUNDRY_LOCAL_API_VERSION` these bindings are written against. */
|
|
19
|
+
export const BOUND_C_API_VERSION = 2;
|
|
20
|
+
const POINTER = 8;
|
|
21
|
+
const CATALOG_LOCAL = 1;
|
|
22
|
+
/** `flEpInfo`: u32 version, padding, `const char* name` at 8, `bool is_registered` at 16. */
|
|
23
|
+
const EP_INFO_SIZE = 24;
|
|
24
|
+
const LIBRARY_FILE = {
|
|
25
|
+
win32: 'foundry_local.dll',
|
|
26
|
+
darwin: 'libfoundry_local.dylib',
|
|
27
|
+
linux: 'libfoundry_local.so',
|
|
28
|
+
};
|
|
29
|
+
/** Root table (`flApi`) indices. */
|
|
30
|
+
const API = {
|
|
31
|
+
statusGetErrorCode: 2,
|
|
32
|
+
statusGetErrorMessage: 3,
|
|
33
|
+
statusRelease: 1,
|
|
34
|
+
managerCreate: 4,
|
|
35
|
+
managerRelease: 5,
|
|
36
|
+
webServiceStart: 7,
|
|
37
|
+
webServiceUrls: 8,
|
|
38
|
+
getCatalogApi: 10,
|
|
39
|
+
getConfigurationApi: 11,
|
|
40
|
+
getModelApi: 14,
|
|
41
|
+
createKeyValuePairs: 15,
|
|
42
|
+
addKeyValuePair: 16,
|
|
43
|
+
keyValuePairsRelease: 20,
|
|
44
|
+
getDiscoverableEps: 24,
|
|
45
|
+
downloadAndRegisterEps: 25,
|
|
46
|
+
managerShutdown: 27,
|
|
47
|
+
getCatalogByType: 29,
|
|
48
|
+
};
|
|
49
|
+
const CONFIG = {
|
|
50
|
+
create: 0,
|
|
51
|
+
release: 1,
|
|
52
|
+
setAppDataDir: 3,
|
|
53
|
+
setLogsDir: 4,
|
|
54
|
+
setModelCacheDir: 5,
|
|
55
|
+
addWebServiceEndpoint: 8,
|
|
56
|
+
setAdditionalOptions: 10,
|
|
57
|
+
};
|
|
58
|
+
const CATALOG = { registerModel: 8 };
|
|
59
|
+
const MODEL = {
|
|
60
|
+
getInfo: 0,
|
|
61
|
+
load: 6,
|
|
62
|
+
unload: 7,
|
|
63
|
+
infoGetExecutionProvider: 17,
|
|
64
|
+
createModelInfo: 23,
|
|
65
|
+
releaseModelInfo: 24,
|
|
66
|
+
infoSetStringProperty: 25,
|
|
67
|
+
infoSetIntProperty: 26,
|
|
68
|
+
};
|
|
69
|
+
const T = FFIType;
|
|
70
|
+
const cstr = (value) => Buffer.from(`${value}\0`, 'utf8');
|
|
71
|
+
const outPointer = () => new BigUint64Array(1);
|
|
72
|
+
const deref = (out) => Number(out[0]);
|
|
73
|
+
export const loadBunFoundryLibrary = async (libDir) => {
|
|
74
|
+
const file = LIBRARY_FILE[process.platform];
|
|
75
|
+
if (!file)
|
|
76
|
+
throw new FoundryLibraryError('load', 0, `Foundry Local has no library for ${process.platform}`);
|
|
77
|
+
const path = join(libDir, file);
|
|
78
|
+
if (!existsSync(path))
|
|
79
|
+
throw new FoundryLibraryError('load', 0, `${path} not found: no ${file} in this build`);
|
|
80
|
+
if (process.platform === 'win32') {
|
|
81
|
+
// The loader does not search the DLL's own folder for onnxruntime.dll and its siblings (error 126).
|
|
82
|
+
const kernel32 = dlopen('kernel32.dll', { SetDllDirectoryW: { args: [T.ptr], returns: T.i32 } });
|
|
83
|
+
kernel32.symbols.SetDllDirectoryW(ptr(Buffer.from(`${libDir}\0`, 'utf16le')));
|
|
84
|
+
}
|
|
85
|
+
const library = dlopen(path, {
|
|
86
|
+
FoundryLocalGetApi: { args: [T.u32], returns: T.ptr },
|
|
87
|
+
FoundryLocalGetVersionString: { args: [], returns: T.cstring },
|
|
88
|
+
});
|
|
89
|
+
const version = String(library.symbols.FoundryLocalGetVersionString());
|
|
90
|
+
const api = library.symbols.FoundryLocalGetApi(BOUND_C_API_VERSION);
|
|
91
|
+
if (!api)
|
|
92
|
+
throw new FoundryLibraryError('FoundryLocalGetApi', 0, `Foundry Local ${version} does not provide C API version ${BOUND_C_API_VERSION}`);
|
|
93
|
+
return bindLibrary(api, version);
|
|
94
|
+
};
|
|
95
|
+
function bindLibrary(api, version) {
|
|
96
|
+
const fn = (table, index, args, returns) => CFunction({ ptr: read.ptr(table, index * POINTER), args, returns });
|
|
97
|
+
const statusCode = fn(api, API.statusGetErrorCode, [T.ptr], T.i32);
|
|
98
|
+
const statusMessage = fn(api, API.statusGetErrorMessage, [T.ptr], T.cstring);
|
|
99
|
+
const statusRelease = fn(api, API.statusRelease, [T.ptr], T.void);
|
|
100
|
+
/** A non-null `flStatus*` is an error: read it, free it, throw it. */
|
|
101
|
+
const check = (status, operation) => {
|
|
102
|
+
if (!status)
|
|
103
|
+
return;
|
|
104
|
+
const code = Number(statusCode(status));
|
|
105
|
+
const message = String(statusMessage(status));
|
|
106
|
+
statusRelease(status);
|
|
107
|
+
throw new FoundryLibraryError(operation, code, message);
|
|
108
|
+
};
|
|
109
|
+
const call = (f, operation, ...args) => check(f(...args), operation);
|
|
110
|
+
const configApi = fn(api, API.getConfigurationApi, [], T.ptr)();
|
|
111
|
+
const catalogApi = fn(api, API.getCatalogApi, [], T.ptr)();
|
|
112
|
+
const modelApi = fn(api, API.getModelApi, [], T.ptr)();
|
|
113
|
+
const f = {
|
|
114
|
+
configCreate: fn(configApi, CONFIG.create, [T.ptr, T.ptr], T.ptr),
|
|
115
|
+
configRelease: fn(configApi, CONFIG.release, [T.ptr], T.void),
|
|
116
|
+
setAppDataDir: fn(configApi, CONFIG.setAppDataDir, [T.ptr, T.ptr], T.ptr),
|
|
117
|
+
setLogsDir: fn(configApi, CONFIG.setLogsDir, [T.ptr, T.ptr], T.ptr),
|
|
118
|
+
setModelCacheDir: fn(configApi, CONFIG.setModelCacheDir, [T.ptr, T.ptr], T.ptr),
|
|
119
|
+
addWebServiceEndpoint: fn(configApi, CONFIG.addWebServiceEndpoint, [T.ptr, T.ptr], T.ptr),
|
|
120
|
+
setAdditionalOptions: fn(configApi, CONFIG.setAdditionalOptions, [T.ptr, T.ptr], T.ptr),
|
|
121
|
+
kvCreate: fn(api, API.createKeyValuePairs, [T.ptr], T.void),
|
|
122
|
+
kvAdd: fn(api, API.addKeyValuePair, [T.ptr, T.ptr, T.ptr], T.void),
|
|
123
|
+
kvRelease: fn(api, API.keyValuePairsRelease, [T.ptr], T.void),
|
|
124
|
+
managerCreate: fn(api, API.managerCreate, [T.ptr, T.ptr], T.ptr),
|
|
125
|
+
managerRelease: fn(api, API.managerRelease, [T.ptr], T.void),
|
|
126
|
+
managerShutdown: fn(api, API.managerShutdown, [T.ptr], T.ptr),
|
|
127
|
+
getDiscoverableEps: fn(api, API.getDiscoverableEps, [T.ptr, T.ptr, T.ptr], T.ptr),
|
|
128
|
+
downloadAndRegisterEps: fn(api, API.downloadAndRegisterEps, [T.ptr, T.ptr, T.u64, T.ptr, T.ptr], T.ptr),
|
|
129
|
+
getCatalogByType: fn(api, API.getCatalogByType, [T.ptr, T.i32, T.ptr], T.ptr),
|
|
130
|
+
webServiceStart: fn(api, API.webServiceStart, [T.ptr], T.ptr),
|
|
131
|
+
webServiceUrls: fn(api, API.webServiceUrls, [T.ptr, T.ptr, T.ptr], T.ptr),
|
|
132
|
+
registerModel: fn(catalogApi, CATALOG.registerModel, [T.ptr, T.ptr, T.ptr, T.ptr, T.ptr], T.ptr),
|
|
133
|
+
modelGetInfo: fn(modelApi, MODEL.getInfo, [T.ptr, T.ptr], T.ptr),
|
|
134
|
+
modelLoad: fn(modelApi, MODEL.load, [T.ptr], T.ptr),
|
|
135
|
+
modelUnload: fn(modelApi, MODEL.unload, [T.ptr], T.ptr),
|
|
136
|
+
infoGetExecutionProvider: fn(modelApi, MODEL.infoGetExecutionProvider, [T.ptr], T.cstring),
|
|
137
|
+
createModelInfo: fn(modelApi, MODEL.createModelInfo, [T.ptr], T.ptr),
|
|
138
|
+
releaseModelInfo: fn(modelApi, MODEL.releaseModelInfo, [T.ptr], T.void),
|
|
139
|
+
infoSetString: fn(modelApi, MODEL.infoSetStringProperty, [T.ptr, T.ptr, T.ptr], T.ptr),
|
|
140
|
+
infoSetInt: fn(modelApi, MODEL.infoSetIntProperty, [T.ptr, T.ptr, T.i64], T.ptr),
|
|
141
|
+
};
|
|
142
|
+
function createManager(config) {
|
|
143
|
+
const configOut = outPointer();
|
|
144
|
+
call(f.configCreate, 'Configuration_Create', ptr(cstr(config.appName)), ptr(configOut));
|
|
145
|
+
const cfg = deref(configOut);
|
|
146
|
+
let manager;
|
|
147
|
+
try {
|
|
148
|
+
call(f.setAppDataDir, 'SetAppDataDir', cfg, ptr(cstr(config.appDataDir)));
|
|
149
|
+
call(f.setLogsDir, 'SetLogsDir', cfg, ptr(cstr(config.logsDir)));
|
|
150
|
+
call(f.setModelCacheDir, 'SetModelCacheDir', cfg, ptr(cstr(config.modelCacheDir)));
|
|
151
|
+
for (const endpoint of config.webServiceEndpoints)
|
|
152
|
+
call(f.addWebServiceEndpoint, 'AddWebServiceEndpoint', cfg, ptr(cstr(endpoint)));
|
|
153
|
+
const kvOut = outPointer();
|
|
154
|
+
f.kvCreate(ptr(kvOut));
|
|
155
|
+
const kv = deref(kvOut);
|
|
156
|
+
for (const [key, value] of Object.entries(config.additionalOptions))
|
|
157
|
+
f.kvAdd(kv, ptr(cstr(key)), ptr(cstr(value)));
|
|
158
|
+
try {
|
|
159
|
+
call(f.setAdditionalOptions, 'SetAdditionalOptions', cfg, kv);
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
f.kvRelease(kv);
|
|
163
|
+
}
|
|
164
|
+
const managerOut = outPointer();
|
|
165
|
+
call(f.managerCreate, 'Manager_Create', cfg, ptr(managerOut));
|
|
166
|
+
manager = deref(managerOut);
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
f.configRelease(cfg);
|
|
170
|
+
}
|
|
171
|
+
return bindManager(manager);
|
|
172
|
+
}
|
|
173
|
+
function bindManager(manager) {
|
|
174
|
+
return {
|
|
175
|
+
discoverableEps() {
|
|
176
|
+
const epsOut = outPointer();
|
|
177
|
+
const countOut = outPointer();
|
|
178
|
+
call(f.getDiscoverableEps, 'Manager_GetDiscoverableEps', manager, ptr(epsOut), ptr(countOut));
|
|
179
|
+
const base = deref(epsOut);
|
|
180
|
+
const eps = [];
|
|
181
|
+
for (let i = 0; i < Number(countOut[0]); i++) {
|
|
182
|
+
const at = i * EP_INFO_SIZE;
|
|
183
|
+
eps.push({
|
|
184
|
+
name: new CString(read.ptr(base, at + 8)).toString(),
|
|
185
|
+
registered: read.u8(base, at + 16) !== 0,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
return eps;
|
|
189
|
+
},
|
|
190
|
+
downloadAndRegisterEps(names, onProgress) {
|
|
191
|
+
const strings = names.map(cstr);
|
|
192
|
+
const array = new BigUint64Array(strings.map((s) => BigInt(ptr(s))));
|
|
193
|
+
// Not threadsafe: the library calls back on the calling thread, synchronously (spike S1, S2).
|
|
194
|
+
const callback = onProgress
|
|
195
|
+
? new JSCallback((name, percent) => {
|
|
196
|
+
onProgress(new CString(name).toString(), percent);
|
|
197
|
+
return 0;
|
|
198
|
+
}, { args: [T.ptr, T.f32, T.ptr], returns: T.i32 })
|
|
199
|
+
: null;
|
|
200
|
+
try {
|
|
201
|
+
call(f.downloadAndRegisterEps, 'Manager_DownloadAndRegisterEps', manager, names.length > 0 ? ptr(array) : null, names.length, callback ? callback.ptr : null, null);
|
|
202
|
+
}
|
|
203
|
+
finally {
|
|
204
|
+
callback?.close();
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
registerLocalModel(path, id, metadata) {
|
|
208
|
+
const catalogOut = outPointer();
|
|
209
|
+
call(f.getCatalogByType, 'Manager_GetCatalogByType', manager, CATALOG_LOCAL, ptr(catalogOut));
|
|
210
|
+
const infoOut = outPointer();
|
|
211
|
+
call(f.createModelInfo, 'CreateModelInfo', ptr(infoOut));
|
|
212
|
+
const info = deref(infoOut);
|
|
213
|
+
const modelOut = outPointer();
|
|
214
|
+
try {
|
|
215
|
+
for (const [key, value] of Object.entries(metadata.strings))
|
|
216
|
+
call(f.infoSetString, `Info_SetStringProperty(${key})`, info, ptr(cstr(key)), ptr(cstr(value)));
|
|
217
|
+
for (const [key, value] of Object.entries(metadata.ints))
|
|
218
|
+
call(f.infoSetInt, `Info_SetIntProperty(${key})`, info, ptr(cstr(key)), BigInt(value));
|
|
219
|
+
call(f.registerModel, 'RegisterModel', deref(catalogOut), ptr(cstr(path)), ptr(cstr(id)), info, ptr(modelOut));
|
|
220
|
+
}
|
|
221
|
+
finally {
|
|
222
|
+
f.releaseModelInfo(info);
|
|
223
|
+
}
|
|
224
|
+
return bindModel(deref(modelOut));
|
|
225
|
+
},
|
|
226
|
+
webServiceStart() {
|
|
227
|
+
call(f.webServiceStart, 'Manager_WebServiceStart', manager);
|
|
228
|
+
const urlsOut = outPointer();
|
|
229
|
+
const countOut = outPointer();
|
|
230
|
+
call(f.webServiceUrls, 'Manager_WebServiceUrls', manager, ptr(urlsOut), ptr(countOut));
|
|
231
|
+
const urls = [];
|
|
232
|
+
for (let i = 0; i < Number(countOut[0]); i++)
|
|
233
|
+
urls.push(new CString(read.ptr(deref(urlsOut), i * POINTER)).toString());
|
|
234
|
+
return urls;
|
|
235
|
+
},
|
|
236
|
+
shutdown: () => call(f.managerShutdown, 'Manager_Shutdown', manager),
|
|
237
|
+
release: () => {
|
|
238
|
+
f.managerRelease(manager);
|
|
239
|
+
},
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
function bindModel(model) {
|
|
243
|
+
return {
|
|
244
|
+
load: () => call(f.modelLoad, 'Model_Load', model),
|
|
245
|
+
unload: () => call(f.modelUnload, 'Model_Unload', model),
|
|
246
|
+
executionProvider() {
|
|
247
|
+
const infoOut = outPointer();
|
|
248
|
+
call(f.modelGetInfo, 'Model_GetInfo', model, ptr(infoOut));
|
|
249
|
+
const ep = f.infoGetExecutionProvider(deref(infoOut));
|
|
250
|
+
return ep ? String(ep) : null;
|
|
251
|
+
},
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
return { version, cApiVersion: BOUND_C_API_VERSION, createManager };
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=ffi-bun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffi-bun.js","sourceRoot":"","sources":["../../../../src/runtime/foundry-local/host/ffi-bun.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The part of Foundry Local's C API (`foundry_local_c.h`, `FOUNDRY_LOCAL_API_VERSION` 2) the host
|
|
3
|
+
* uses, as an interface. `ffi-bun.ts` implements it over `bun:ffi`; the protocol tests (tasks 5.2,
|
|
4
|
+
* 5.3) run the host against a fake one. Every call is synchronous and may block, like the C API.
|
|
5
|
+
*/
|
|
6
|
+
/** A non-null `flStatus*`: the library's error code and message. */
|
|
7
|
+
export declare class FoundryLibraryError extends Error {
|
|
8
|
+
readonly operation: string;
|
|
9
|
+
readonly libraryCode: number;
|
|
10
|
+
constructor(operation: string, libraryCode: number, message: string);
|
|
11
|
+
}
|
|
12
|
+
export interface FoundryManagerConfig {
|
|
13
|
+
appName: string;
|
|
14
|
+
appDataDir: string;
|
|
15
|
+
logsDir: string;
|
|
16
|
+
modelCacheDir: string;
|
|
17
|
+
/** `http://127.0.0.1:<port>` for `serve`; none otherwise. */
|
|
18
|
+
webServiceEndpoints: string[];
|
|
19
|
+
/** `SetAdditionalOptions`, e.g. `DisableNonessentialTelemetry`. */
|
|
20
|
+
additionalOptions: Record<string, string>;
|
|
21
|
+
}
|
|
22
|
+
export interface DiscoverableEp {
|
|
23
|
+
name: string;
|
|
24
|
+
/** Registered in this process; says nothing about a previous process (spike finding 18). */
|
|
25
|
+
registered: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface ModelMetadata {
|
|
28
|
+
strings: Record<string, string>;
|
|
29
|
+
ints: Record<string, number>;
|
|
30
|
+
}
|
|
31
|
+
export interface FoundryModel {
|
|
32
|
+
load(): void;
|
|
33
|
+
unload(): void;
|
|
34
|
+
/** The model's execution provider as the library holds it; `null` when unset. */
|
|
35
|
+
executionProvider(): string | null;
|
|
36
|
+
}
|
|
37
|
+
export interface FoundryManager {
|
|
38
|
+
discoverableEps(): DiscoverableEp[];
|
|
39
|
+
/**
|
|
40
|
+
* `Manager_DownloadAndRegisterEps`, blocking. `onProgress` is called on the calling thread for
|
|
41
|
+
* CDN accelerators (spike findings 2, 15). Windows ML ones may call it from a thread of their own
|
|
42
|
+
* on a first install, where the plain callback cannot run: pass it only for CDN accelerators. A
|
|
43
|
+
* per-EP failure is not an error — read `discoverableEps()` afterwards.
|
|
44
|
+
*/
|
|
45
|
+
downloadAndRegisterEps(names: string[], onProgress?: (ep: string, percent: number) => void): void;
|
|
46
|
+
/** `RegisterModel` in the local catalog; files are not copied. */
|
|
47
|
+
registerLocalModel(path: string, id: string, metadata: ModelMetadata): FoundryModel;
|
|
48
|
+
/** Start the built-in server; the bound URLs. */
|
|
49
|
+
webServiceStart(): string[];
|
|
50
|
+
shutdown(): void;
|
|
51
|
+
release(): void;
|
|
52
|
+
}
|
|
53
|
+
export interface FoundryLibrary {
|
|
54
|
+
/** `FoundryLocalGetVersionString`. */
|
|
55
|
+
version: string;
|
|
56
|
+
/** The C API version the table was requested at. */
|
|
57
|
+
cApiVersion: number;
|
|
58
|
+
createManager(config: FoundryManagerConfig): FoundryManager;
|
|
59
|
+
}
|
|
60
|
+
/** Opens the library of one build (`<build>/lib`); throws when it does not load or speaks another C API. */
|
|
61
|
+
export type LoadFoundryLibrary = (libDir: string) => Promise<FoundryLibrary>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The part of Foundry Local's C API (`foundry_local_c.h`, `FOUNDRY_LOCAL_API_VERSION` 2) the host
|
|
3
|
+
* uses, as an interface. `ffi-bun.ts` implements it over `bun:ffi`; the protocol tests (tasks 5.2,
|
|
4
|
+
* 5.3) run the host against a fake one. Every call is synchronous and may block, like the C API.
|
|
5
|
+
*/
|
|
6
|
+
/** A non-null `flStatus*`: the library's error code and message. */
|
|
7
|
+
export class FoundryLibraryError extends Error {
|
|
8
|
+
operation;
|
|
9
|
+
libraryCode;
|
|
10
|
+
constructor(operation, libraryCode, message) {
|
|
11
|
+
super(`${operation}: ${message}`);
|
|
12
|
+
this.operation = operation;
|
|
13
|
+
this.libraryCode = libraryCode;
|
|
14
|
+
this.name = 'FoundryLibraryError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=library.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../src/runtime/foundry-local/host/library.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAEjC;IACA;IAFX,YACW,SAAiB,EACjB,WAAmB,EAC5B,OAAe;QAEf,KAAK,CAAC,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC,CAAA;QAJxB,cAAS,GAAT,SAAS,CAAQ;QACjB,gBAAW,GAAX,WAAW,CAAQ;QAI5B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF"}
|