@atomic-chat/core 0.19.1 → 0.20.5
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/dist/app-daemon.js +5 -0
- package/dist/app-daemon.js.map +1 -1
- package/dist/cli/bin.js +0 -0
- package/dist/cli/launch.js +2 -0
- package/dist/cli/launch.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.js +5 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cloud/registry.js +1 -0
- package/dist/cloud/registry.js.map +1 -1
- package/dist/config/paths.d.ts +1 -1
- package/dist/config/paths.js +12 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/contracts/engine-builds.d.ts +6 -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 +2 -0
- package/dist/contracts/engines.js.map +1 -1
- package/dist/contracts/errors.d.ts +7 -1
- package/dist/contracts/errors.js.map +1 -1
- package/dist/contracts/geniex.d.ts +98 -0
- package/dist/contracts/geniex.js +15 -0
- package/dist/contracts/geniex.js.map +1 -0
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/model-yml.d.ts +40 -0
- package/dist/contracts/model-yml.js +7 -0
- package/dist/contracts/model-yml.js.map +1 -1
- package/dist/contracts/session.d.ts +6 -1
- package/dist/contracts/session.js.map +1 -1
- package/dist/contracts/settings.d.ts +12 -1
- package/dist/contracts/settings.js.map +1 -1
- package/dist/core/atomic-core.d.ts +1 -1
- package/dist/core/create.js +75 -1
- package/dist/core/create.js.map +1 -1
- package/dist/engine-builds/engines.d.ts +28 -7
- package/dist/engine-builds/engines.js +49 -5
- package/dist/engine-builds/engines.js.map +1 -1
- package/dist/engine-builds/geniex.d.ts +35 -0
- package/dist/engine-builds/geniex.js +111 -0
- package/dist/engine-builds/geniex.js.map +1 -0
- package/dist/engine-builds/manifest.d.ts +43 -0
- package/dist/engine-builds/manifest.js +92 -0
- package/dist/engine-builds/manifest.js.map +1 -1
- package/dist/engine-builds/order.d.ts +2 -1
- package/dist/engine-builds/order.js +2 -0
- package/dist/engine-builds/order.js.map +1 -1
- package/dist/engine-builds/select.d.ts +15 -0
- package/dist/engine-builds/select.js +14 -0
- package/dist/engine-builds/select.js.map +1 -1
- package/dist/engine-builds/service.d.ts +5 -3
- package/dist/engine-builds/service.js +21 -2
- package/dist/engine-builds/service.js.map +1 -1
- package/dist/engines/service.d.ts +2 -1
- package/dist/engines/service.js +3 -1
- package/dist/engines/service.js.map +1 -1
- package/dist/engines/versions.js +3 -0
- package/dist/engines/versions.js.map +1 -1
- package/dist/integrations/catalog.d.ts +3 -1
- package/dist/integrations/catalog.js +8 -2
- package/dist/integrations/catalog.js.map +1 -1
- package/dist/integrations/config-io.d.ts +45 -4
- package/dist/integrations/config-io.js +91 -6
- package/dist/integrations/config-io.js.map +1 -1
- package/dist/integrations/configure/codex-repair.d.ts +75 -0
- package/dist/integrations/configure/codex-repair.js +254 -0
- package/dist/integrations/configure/codex-repair.js.map +1 -0
- package/dist/integrations/configure/codex.d.ts +48 -10
- package/dist/integrations/configure/codex.js +126 -32
- package/dist/integrations/configure/codex.js.map +1 -1
- package/dist/integrations/configure/registry.d.ts +4 -1
- package/dist/integrations/configure/registry.js +1 -0
- package/dist/integrations/configure/registry.js.map +1 -1
- package/dist/models/gguf/kv-cache.d.ts +5 -0
- package/dist/models/gguf/kv-cache.js +35 -2
- package/dist/models/gguf/kv-cache.js.map +1 -1
- package/dist/models/gguf/reader.d.ts +5 -0
- package/dist/models/gguf/reader.js +15 -3
- package/dist/models/gguf/reader.js.map +1 -1
- package/dist/router/resolve.d.ts +3 -2
- package/dist/router/resolve.js +3 -1
- package/dist/router/resolve.js.map +1 -1
- package/dist/runtime/geniex/accelerators.d.ts +20 -0
- package/dist/runtime/geniex/accelerators.js +53 -0
- package/dist/runtime/geniex/accelerators.js.map +1 -0
- package/dist/runtime/geniex/check.d.ts +34 -0
- package/dist/runtime/geniex/check.js +117 -0
- package/dist/runtime/geniex/check.js.map +1 -0
- package/dist/runtime/geniex/chip.d.ts +29 -0
- package/dist/runtime/geniex/chip.js +35 -0
- package/dist/runtime/geniex/chip.js.map +1 -0
- package/dist/runtime/geniex/devices.d.ts +13 -0
- package/dist/runtime/geniex/devices.js +32 -0
- package/dist/runtime/geniex/devices.js.map +1 -0
- package/dist/runtime/geniex/geniex-host.d.ts +17 -0
- package/dist/runtime/geniex/geniex-host.js +26 -0
- package/dist/runtime/geniex/geniex-host.js.map +1 -0
- package/dist/runtime/geniex/host/args.d.ts +56 -0
- package/dist/runtime/geniex/host/args.js +115 -0
- package/dist/runtime/geniex/host/args.js.map +1 -0
- package/dist/runtime/geniex/host/engine.d.ts +76 -0
- package/dist/runtime/geniex/host/engine.js +122 -0
- package/dist/runtime/geniex/host/engine.js.map +1 -0
- package/dist/runtime/geniex/host/ffi-bun.d.ts +15 -0
- package/dist/runtime/geniex/host/ffi-bun.js +415 -0
- package/dist/runtime/geniex/host/ffi-bun.js.map +1 -0
- package/dist/runtime/geniex/host/grammar.d.ts +11 -0
- package/dist/runtime/geniex/host/grammar.js +223 -0
- package/dist/runtime/geniex/host/grammar.js.map +1 -0
- package/dist/runtime/geniex/host/inspect.d.ts +25 -0
- package/dist/runtime/geniex/host/inspect.js +177 -0
- package/dist/runtime/geniex/host/inspect.js.map +1 -0
- package/dist/runtime/geniex/host/library.d.ts +117 -0
- package/dist/runtime/geniex/host/library.js +38 -0
- package/dist/runtime/geniex/host/library.js.map +1 -0
- package/dist/runtime/geniex/host/openai.d.ts +62 -0
- package/dist/runtime/geniex/host/openai.js +458 -0
- package/dist/runtime/geniex/host/openai.js.map +1 -0
- package/dist/runtime/geniex/host/run.d.ts +48 -0
- package/dist/runtime/geniex/host/run.js +208 -0
- package/dist/runtime/geniex/host/run.js.map +1 -0
- package/dist/runtime/geniex/host/server.d.ts +39 -0
- package/dist/runtime/geniex/host/server.js +232 -0
- package/dist/runtime/geniex/host/server.js.map +1 -0
- package/dist/runtime/geniex/host/worker-protocol.d.ts +76 -0
- package/dist/runtime/geniex/host/worker-protocol.js +116 -0
- package/dist/runtime/geniex/host/worker-protocol.js.map +1 -0
- package/dist/runtime/geniex/host/worker-source.generated.d.ts +1 -0
- package/dist/runtime/geniex/host/worker-source.generated.js +4 -0
- package/dist/runtime/geniex/host/worker-source.generated.js.map +1 -0
- package/dist/runtime/geniex/host/worker.d.ts +7 -0
- package/dist/runtime/geniex/host/worker.js +19 -0
- package/dist/runtime/geniex/host/worker.js.map +1 -0
- package/dist/runtime/geniex/host-process.d.ts +48 -0
- package/dist/runtime/geniex/host-process.js +104 -0
- package/dist/runtime/geniex/host-process.js.map +1 -0
- package/dist/runtime/geniex/index.d.ts +11 -0
- package/dist/runtime/geniex/index.js +12 -0
- package/dist/runtime/geniex/index.js.map +1 -0
- package/dist/runtime/geniex/model-yml.d.ts +8 -0
- package/dist/runtime/geniex/model-yml.js +98 -0
- package/dist/runtime/geniex/model-yml.js.map +1 -0
- package/dist/runtime/geniex/runtime.d.ts +94 -0
- package/dist/runtime/geniex/runtime.js +366 -0
- package/dist/runtime/geniex/runtime.js.map +1 -0
- package/dist/runtime/litert-lm/host/openai.d.ts +4 -37
- package/dist/runtime/litert-lm/host/openai.js +11 -96
- package/dist/runtime/litert-lm/host/openai.js.map +1 -1
- package/dist/runtime/litert-lm/host/pool.d.ts +1 -7
- package/dist/runtime/litert-lm/host/pool.js +1 -17
- package/dist/runtime/litert-lm/host/pool.js.map +1 -1
- package/dist/runtime/litert-lm/host/server.js +11 -53
- package/dist/runtime/litert-lm/host/server.js.map +1 -1
- package/dist/runtime/llamacpp/args.d.ts +5 -0
- package/dist/runtime/llamacpp/args.js +2 -0
- package/dist/runtime/llamacpp/args.js.map +1 -1
- package/dist/runtime/llamacpp/fit-margin.d.ts +44 -0
- package/dist/runtime/llamacpp/fit-margin.js +50 -0
- package/dist/runtime/llamacpp/fit-margin.js.map +1 -1
- package/dist/runtime/llamacpp/load-plan.d.ts +5 -0
- package/dist/runtime/llamacpp/load-plan.js +57 -22
- package/dist/runtime/llamacpp/load-plan.js.map +1 -1
- package/dist/runtime/llamacpp/runtime.d.ts +2 -1
- package/dist/runtime/llamacpp/runtime.js +3 -1
- package/dist/runtime/llamacpp/runtime.js.map +1 -1
- package/dist/runtime/shared/external-sessions.js +1 -0
- package/dist/runtime/shared/external-sessions.js.map +1 -1
- package/dist/runtime/shared/fifo-lock.d.ts +10 -0
- package/dist/runtime/shared/fifo-lock.js +21 -0
- package/dist/runtime/shared/fifo-lock.js.map +1 -0
- package/dist/runtime/shared/index.d.ts +2 -0
- package/dist/runtime/shared/index.js +2 -0
- package/dist/runtime/shared/index.js.map +1 -1
- package/dist/runtime/shared/openai-sse.d.ts +112 -0
- package/dist/runtime/shared/openai-sse.js +178 -0
- package/dist/runtime/shared/openai-sse.js.map +1 -0
- package/dist/server/control/router.js +2 -0
- package/dist/server/control/router.js.map +1 -1
- package/dist/server/control/routes/geniex.d.ts +7 -0
- package/dist/server/control/routes/geniex.js +22 -0
- package/dist/server/control/routes/geniex.js.map +1 -0
- package/dist/server/control/types.d.ts +11 -1
- package/dist/server/control/types.js.map +1 -1
- package/dist/server/http.js +2 -0
- package/dist/server/http.js.map +1 -1
- package/dist/server/public/embedding.d.ts +8 -7
- package/dist/server/public/embedding.js +15 -7
- package/dist/server/public/embedding.js.map +1 -1
- package/dist/server/public/forward.js +15 -1
- package/dist/server/public/forward.js.map +1 -1
- package/dist/server/public/listing.js +1 -0
- package/dist/server/public/listing.js.map +1 -1
- package/dist/server/public/responses.js +9 -0
- package/dist/server/public/responses.js.map +1 -1
- package/dist/server/public/validate.d.ts +32 -0
- package/dist/server/public/validate.js +146 -0
- package/dist/server/public/validate.js.map +1 -0
- package/dist/settings/schema/geniex.json +63 -0
- package/dist/settings/schema/mlx.json +1 -1
- package/dist/settings/schema.js +11 -0
- package/dist/settings/schema.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -2
|
@@ -18,8 +18,13 @@
|
|
|
18
18
|
* `litert-lm` is Google's LiteRT-LM (`.litertlm` models on CPU, GPU and an Intel NPU), run by a host
|
|
19
19
|
* process of this binary per model with its own OpenAI server (openspec change
|
|
20
20
|
* `add-litert-lm-runtime`); registered only on macOS arm64, Linux x64/arm64 and Windows x64.
|
|
21
|
+
*
|
|
22
|
+
* `geniex` is Qualcomm's GenieX (GGUF files and AI Hub bundles on the Hexagon NPU, Adreno GPU and
|
|
23
|
+
* CPU of Snapdragon X laptops), run by a host process of this binary per model with its own OpenAI
|
|
24
|
+
* server (openspec change `add-geniex-runtime`); registered only on Windows arm64 with a Snapdragon X
|
|
25
|
+
* Elite or X2 Elite.
|
|
21
26
|
*/
|
|
22
|
-
export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | 'foundry-local' | 'litert-lm' | ManagedProviderId;
|
|
27
|
+
export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | 'foundry-local' | 'litert-lm' | 'geniex' | ManagedProviderId;
|
|
23
28
|
/**
|
|
24
29
|
* The managed engines — each one a container core runs from a model of the managed model store — in
|
|
25
30
|
* the order their registry lists them (change `add-sglang-runtime`, D1). The one list every place
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkCH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAG/E,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAQ,oBAA0C,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACvE,CAAC;AA8CD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,OAAO;CACC,CAAA"}
|
|
@@ -93,6 +93,17 @@ export interface LiteRtLmConfig {
|
|
|
93
93
|
/** Seconds a model may take to load in its host. */
|
|
94
94
|
timeout: number;
|
|
95
95
|
}
|
|
96
|
+
/** `geniex` (change `add-geniex-runtime`, design D7). */
|
|
97
|
+
export interface GeniexConfig {
|
|
98
|
+
/** `npu`, `gpu`, `cpu` or `hybrid`; `''` takes `model.yml`'s default device. A `qairt` bundle runs on `npu` only. */
|
|
99
|
+
device: string;
|
|
100
|
+
/** Tokens; `0` takes `model.yml`'s length. Always cut to the model's maximum. */
|
|
101
|
+
ctx_len: number;
|
|
102
|
+
/** The NPU power mode (`geniex_PowerMode`); `burst` is Qualcomm's default. Ignored off the NPU. */
|
|
103
|
+
power_mode: string;
|
|
104
|
+
/** Seconds a model may take to load in its host. */
|
|
105
|
+
timeout: number;
|
|
106
|
+
}
|
|
96
107
|
/**
|
|
97
108
|
* `tensorrt-llm` as the settings store holds it (`src/settings/schema/tensorrt-llm.json`). `gpu_id: ''`
|
|
98
109
|
* lets a load pick the card with the most free memory and `load_timeout_seconds: 0` keeps the engine's own
|
|
@@ -171,7 +182,7 @@ export interface SglangProviderConfig {
|
|
|
171
182
|
default_min_p: string;
|
|
172
183
|
default_repetition_penalty: string;
|
|
173
184
|
}
|
|
174
|
-
export type ProviderSettings<P extends LocalProviderId> = P extends 'mlx' ? MlxConfig : P extends 'foundation-models' ? FoundationModelsConfig : P extends 'tensorrt-llm' ? TensorrtLlmProviderConfig : P extends 'vllm' ? VllmProviderConfig : P extends 'sglang' ? SglangProviderConfig : P extends 'foundry-local' ? FoundryLocalConfig : P extends 'litert-lm' ? LiteRtLmConfig : LlamacppConfig;
|
|
185
|
+
export type ProviderSettings<P extends LocalProviderId> = P extends 'mlx' ? MlxConfig : P extends 'foundation-models' ? FoundationModelsConfig : P extends 'tensorrt-llm' ? TensorrtLlmProviderConfig : P extends 'vllm' ? VllmProviderConfig : P extends 'sglang' ? SglangProviderConfig : P extends 'foundry-local' ? FoundryLocalConfig : P extends 'litert-lm' ? LiteRtLmConfig : P extends 'geniex' ? GeniexConfig : LlamacppConfig;
|
|
175
186
|
/** UI descriptor of one setting (mirrors the app's SettingComponentProps). */
|
|
176
187
|
export interface SettingDescriptor {
|
|
177
188
|
key: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqPH,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,OAAO;IACzB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;CACpB,CAAA"}
|
|
@@ -77,7 +77,7 @@ export interface AtomicCoreParts {
|
|
|
77
77
|
telemetry?: TelemetryControl | undefined;
|
|
78
78
|
}
|
|
79
79
|
export declare class AtomicCore {
|
|
80
|
-
readonly version = "0.
|
|
80
|
+
readonly version = "0.20.5";
|
|
81
81
|
private lifecycle;
|
|
82
82
|
private shutdownPromise;
|
|
83
83
|
/** Whether the app's API screen is watching; previews are collected only then. */
|
package/dist/core/create.js
CHANGED
|
@@ -17,6 +17,7 @@ import { FoundationModelsRuntime } from '../runtime/foundation-models/index.js';
|
|
|
17
17
|
import { MlxRuntime } from '../runtime/mlx/index.js';
|
|
18
18
|
import { FoundryLocalAcceleratorService, FoundryLocalRuntime, foundryHostCommand, foundryLocalVerdict, parseFoundryLocalCheckRequest, runFoundryHostProbe, } from '../runtime/foundry-local/index.js';
|
|
19
19
|
import { LiteRtLmAcceleratorService, LiteRtLmCheckService, LiteRtLmRuntime, liteRtHostCommand, liteRtNpuGeneration, parseLiteRtLmCheckRequest, liteRtHostProber, } from '../runtime/litert-lm/index.js';
|
|
20
|
+
import { GeniexAcceleratorService, GeniexCheckService, geniexHostCommand, geniexHostPlatform, geniexHostProber, GeniexRuntime, parseGeniexCheckRequest, } from '../runtime/geniex/index.js';
|
|
20
21
|
import { SettingsStore } from '../settings/index.js';
|
|
21
22
|
import { TRANSCRIPTION_MODEL_ID } from '../speculative/index.js';
|
|
22
23
|
import { ApiKeyStore, ChatGptAuth } from '../credentials/index.js';
|
|
@@ -257,6 +258,20 @@ export async function createAtomicCore(options, construct) {
|
|
|
257
258
|
const foundryLocalHost = foundryLocalHostPlatform(nativeHostFacts);
|
|
258
259
|
const liteRtLmHost = liteRtLmHostPlatform(nativeHostFacts);
|
|
259
260
|
const liteRtHost = liteRtHostCommand(env);
|
|
261
|
+
// GenieX (change `add-geniex-runtime`, design D3): Windows arm64 whose processor is a Snapdragon X
|
|
262
|
+
// Elite or X2 Elite, by the CPU model string — read from the hardware probe only where the first
|
|
263
|
+
// two hold, so no other host waits for it. `ATOMIC_GENIEX_TEST_CHIP` stands in for the machine in
|
|
264
|
+
// the e2e tests, where no Snapdragon is.
|
|
265
|
+
const geniexHost = await (async () => {
|
|
266
|
+
const standIn = env['ATOMIC_GENIEX_TEST_CHIP'];
|
|
267
|
+
if (standIn === 'x-elite' || standIn === 'x2-elite')
|
|
268
|
+
return { platform: 'win-arm64', chip: standIn };
|
|
269
|
+
const facts = { platform, arch: foundryLocalArch, cpuName: '' };
|
|
270
|
+
if (platform !== 'win32' || foundryLocalArch !== 'arm64')
|
|
271
|
+
return geniexHostPlatform(facts);
|
|
272
|
+
return geniexHostPlatform({ ...facts, cpuName: (await hardware.info()).info.cpu.name });
|
|
273
|
+
})();
|
|
274
|
+
const geniexHostCmd = geniexHostCommand(env);
|
|
260
275
|
const foundryLocalPaths = layout.provider('foundry-local');
|
|
261
276
|
const foundryHost = foundryHostCommand(env);
|
|
262
277
|
// The provider itself (task 6.6): one foundry-host per model, where the platform rule holds. The
|
|
@@ -366,6 +381,48 @@ export async function createAtomicCore(options, construct) {
|
|
|
366
381
|
registries.set('litert-lm', liteRtLmRuntime.registry);
|
|
367
382
|
runtimes.set('litert-lm', liteRtLmRuntime);
|
|
368
383
|
}
|
|
384
|
+
// GenieX (change `add-geniex-runtime`, task 6.6): one geniex-host per model, on a Snapdragon X only
|
|
385
|
+
// (design D3). The active build — its folder, version and the devices its probe found — is read
|
|
386
|
+
// per load from the engine-builds service wired below.
|
|
387
|
+
const geniexPaths = layout.provider('geniex');
|
|
388
|
+
const geniexActiveBuild = async () => {
|
|
389
|
+
const build = await engineBuilds.activeBuild('geniex');
|
|
390
|
+
return build ? { dir: build.dir, version: build.tag, devices: build.devices ?? [] } : undefined;
|
|
391
|
+
};
|
|
392
|
+
const geniexRuntime = geniexHost.platform === null
|
|
393
|
+
? undefined
|
|
394
|
+
: new GeniexRuntime({
|
|
395
|
+
layout,
|
|
396
|
+
registry: new ModelRegistry(layout, 'geniex'),
|
|
397
|
+
instanceId: lock.instanceId,
|
|
398
|
+
chip: geniexHost.chip,
|
|
399
|
+
hostCommand: geniexHostCmd,
|
|
400
|
+
resolveBuild: geniexActiveBuild,
|
|
401
|
+
trustedHosts: managedTrustedHosts,
|
|
402
|
+
readSettings: async () => settings.get('geniex'),
|
|
403
|
+
journal,
|
|
404
|
+
emit: (name, payload) => emitter.emit(name, payload),
|
|
405
|
+
claimGpu: gpuResidency.hook('geniex'),
|
|
406
|
+
baseEnv: env,
|
|
407
|
+
log: runtimeLog,
|
|
408
|
+
...(options.backendOutput ? { backendOutput: options.backendOutput } : {}),
|
|
409
|
+
});
|
|
410
|
+
if (geniexRuntime) {
|
|
411
|
+
registries.set('geniex', geniexRuntime.registry);
|
|
412
|
+
runtimes.set('geniex', geniexRuntime);
|
|
413
|
+
}
|
|
414
|
+
const geniexAccelerators = geniexHost.platform === null
|
|
415
|
+
? undefined
|
|
416
|
+
: new GeniexAcceleratorService({ resolveBuild: geniexActiveBuild, chip: geniexHost.chip });
|
|
417
|
+
const geniexCheck = geniexRuntime && geniexHost.platform !== null
|
|
418
|
+
? new GeniexCheckService({
|
|
419
|
+
chip: geniexHost.chip,
|
|
420
|
+
modelsDir: geniexPaths.modelsDir,
|
|
421
|
+
registry: geniexRuntime.registry,
|
|
422
|
+
resolveBuild: geniexActiveBuild,
|
|
423
|
+
inspect: (path) => geniexRuntime.inspect(path),
|
|
424
|
+
})
|
|
425
|
+
: undefined;
|
|
369
426
|
const optimalStore = await OptimalBackendStore.open(layout.core.optimalBackend, (provider, state) => {
|
|
370
427
|
emitter.emit('backend:optimal-changed', { provider, ...state });
|
|
371
428
|
});
|
|
@@ -539,6 +596,7 @@ export async function createAtomicCore(options, construct) {
|
|
|
539
596
|
'mlx': layout.provider('mlx').backendsDir,
|
|
540
597
|
'foundry-local': foundryLocalPaths.backendsDir,
|
|
541
598
|
'litert-lm': layout.provider('litert-lm').backendsDir,
|
|
599
|
+
'geniex': layout.provider('geniex').backendsDir,
|
|
542
600
|
},
|
|
543
601
|
failedBackendsFile: join(layout.diffusion.root, 'failed-backends.json'),
|
|
544
602
|
resourcesDir: options.resourcesDir,
|
|
@@ -553,8 +611,9 @@ export async function createAtomicCore(options, construct) {
|
|
|
553
611
|
log,
|
|
554
612
|
}),
|
|
555
613
|
'litert-lm': liteRtManifest,
|
|
614
|
+
'geniex': new EngineManifestSource(engineManifestKinds.geniex, { env, fetchFor, log }),
|
|
556
615
|
},
|
|
557
|
-
hostPlatforms: { 'foundry-local': foundryLocalHost, 'litert-lm': liteRtLmHost },
|
|
616
|
+
hostPlatforms: { 'foundry-local': foundryLocalHost, 'litert-lm': liteRtLmHost, 'geniex': geniexHost },
|
|
558
617
|
hostProbes: {
|
|
559
618
|
'foundry-local': async (libDir) => {
|
|
560
619
|
await runFoundryHostProbe(foundryHost, {
|
|
@@ -564,6 +623,7 @@ export async function createAtomicCore(options, construct) {
|
|
|
564
623
|
}, { env });
|
|
565
624
|
},
|
|
566
625
|
'litert-lm': liteRtHostProber(liteRtHost, env),
|
|
626
|
+
'geniex': geniexHostProber(geniexHostCmd, env),
|
|
567
627
|
},
|
|
568
628
|
hardware: () => hardware.facts(),
|
|
569
629
|
hosts: {
|
|
@@ -573,6 +633,7 @@ export async function createAtomicCore(options, construct) {
|
|
|
573
633
|
// Where the provider is not registered nothing runs from a build.
|
|
574
634
|
'foundry-local': foundryLocalRuntime ? foundryLocalRuntime.engineHost() : IDLE_ENGINE_HOST,
|
|
575
635
|
'litert-lm': liteRtLmRuntime ? liteRtLmRuntime.engineHost() : IDLE_ENGINE_HOST,
|
|
636
|
+
'geniex': geniexRuntime ? geniexRuntime.engineHost() : IDLE_ENGINE_HOST,
|
|
576
637
|
},
|
|
577
638
|
availableSpace: defaultAvailableSpace,
|
|
578
639
|
emit: (name, payload) => emitter.emit(name, payload),
|
|
@@ -756,6 +817,7 @@ export async function createAtomicCore(options, construct) {
|
|
|
756
817
|
for (const engine of hostEngines(platform, [...managedRuntimes.keys()], {
|
|
757
818
|
foundryLocal: foundryLocalHost.platform !== null,
|
|
758
819
|
liteRtLm: liteRtLmHost.platform !== null,
|
|
820
|
+
geniex: geniexHost.platform !== null,
|
|
759
821
|
})) {
|
|
760
822
|
const kind = ENGINE_KINDS[engine];
|
|
761
823
|
if (kind === 'llamacpp') {
|
|
@@ -841,6 +903,10 @@ export async function createAtomicCore(options, construct) {
|
|
|
841
903
|
...(liteRtLmCheck
|
|
842
904
|
? { 'litert-lm': async (body) => liteRtLmCheck.check(parseLiteRtLmCheckRequest(body)) }
|
|
843
905
|
: {}),
|
|
906
|
+
// GenieX (change `add-geniex-runtime`, task 6.5): the same, a bundle judged by this machine's chip.
|
|
907
|
+
...(geniexCheck
|
|
908
|
+
? { geniex: async (body) => geniexCheck.check(parseGeniexCheckRequest(body)) }
|
|
909
|
+
: {}),
|
|
844
910
|
},
|
|
845
911
|
...(foundryLocalAccelerators
|
|
846
912
|
? {
|
|
@@ -858,6 +924,14 @@ export async function createAtomicCore(options, construct) {
|
|
|
858
924
|
},
|
|
859
925
|
}
|
|
860
926
|
: {}),
|
|
927
|
+
...(geniexAccelerators
|
|
928
|
+
? {
|
|
929
|
+
geniex: {
|
|
930
|
+
accelerators: () => geniexAccelerators.list(),
|
|
931
|
+
prepare: (request) => geniexAccelerators.prepare(request),
|
|
932
|
+
},
|
|
933
|
+
}
|
|
934
|
+
: {}),
|
|
861
935
|
foundationModelsAvailability: (force) => {
|
|
862
936
|
const runtime = runtimes.get('foundation-models');
|
|
863
937
|
return runtime instanceof FoundationModelsRuntime
|
package/dist/core/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/core/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/core/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,15 +16,30 @@ export interface Build extends EngineBuildRef {
|
|
|
16
16
|
published_at: string | null;
|
|
17
17
|
/** Foundry Local: the C API version recorded at install; `null` when unknown. */
|
|
18
18
|
c_api_version?: number | null;
|
|
19
|
-
/** LiteRT-LM: the binding number recorded at install; `null` when unknown. */
|
|
19
|
+
/** LiteRT-LM and GenieX: the binding number recorded at install; `null` when unknown. */
|
|
20
20
|
abi?: number | null;
|
|
21
|
+
/** GenieX: the device ids the install's probe found (`HTP0`, `GPUOpenCL`, `CPU`). */
|
|
22
|
+
devices?: string[];
|
|
23
|
+
/** GenieX: `geniex_version()` as the install's probe read it. */
|
|
24
|
+
library_version?: string | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* What a host's probe learns about an unpacked build beyond "it loads", kept in its install record
|
|
28
|
+
* (GenieX, task 4.4): the devices the library found and its own version. Hosts whose probe learns
|
|
29
|
+
* nothing to keep answer `void`.
|
|
30
|
+
*/
|
|
31
|
+
export interface EngineProbeFacts {
|
|
32
|
+
libraryVersion: string | null;
|
|
33
|
+
devices: string[];
|
|
21
34
|
}
|
|
22
35
|
/**
|
|
23
36
|
* Which build of an engine with one archive per platform this host runs, or why none
|
|
24
|
-
* (`foundryLocalHostPlatform`, `liteRtLmHostPlatform`)
|
|
37
|
+
* (`foundryLocalHostPlatform`, `liteRtLmHostPlatform`, `geniexHostPlatform`); an engine may carry
|
|
38
|
+
* more beside the platform (GenieX: the chip), which only its own row reads.
|
|
25
39
|
*/
|
|
26
40
|
export type EngineHostPlatform = {
|
|
27
41
|
platform: string;
|
|
42
|
+
[fact: string]: unknown;
|
|
28
43
|
} | {
|
|
29
44
|
platform: null;
|
|
30
45
|
reason: string;
|
|
@@ -42,9 +57,10 @@ export interface EngineContext {
|
|
|
42
57
|
hostPlatform: EngineHostPlatform;
|
|
43
58
|
/**
|
|
44
59
|
* This core's own host mode run against an unpacked build (`foundry-host probe`, `litert-host
|
|
45
|
-
* probe`); throws `ENGINE_INSTALL_FAILED` with what it printed
|
|
60
|
+
* probe`, `geniex-host probe`); throws `ENGINE_INSTALL_FAILED` with what it printed, and answers
|
|
61
|
+
* the facts the record keeps, when the host has any. Absent where this core has none.
|
|
46
62
|
*/
|
|
47
|
-
hostProbe?: ((buildDir: string) => Promise<void>) | undefined;
|
|
63
|
+
hostProbe?: ((buildDir: string) => Promise<EngineProbeFacts | void>) | undefined;
|
|
48
64
|
}
|
|
49
65
|
export interface HostChoice {
|
|
50
66
|
/** What this host would install, best first. */
|
|
@@ -66,8 +82,10 @@ export interface BuildRecordInfo {
|
|
|
66
82
|
publishedAt: string | null;
|
|
67
83
|
/** Foundry Local: the release's C API version. */
|
|
68
84
|
cApiVersion: number | null;
|
|
69
|
-
/** LiteRT-LM: the release's binding number. */
|
|
85
|
+
/** LiteRT-LM and GenieX: the release's binding number. */
|
|
70
86
|
abi: number | null;
|
|
87
|
+
/** What the probe learned (`EngineProbeFacts`), for the hosts whose record keeps it. */
|
|
88
|
+
probe: EngineProbeFacts | null;
|
|
71
89
|
}
|
|
72
90
|
export interface EngineDescriptor<M> {
|
|
73
91
|
/** The release an install takes from the manifest, and the order key it carries. */
|
|
@@ -82,8 +100,11 @@ export interface EngineDescriptor<M> {
|
|
|
82
100
|
archives(manifest: M, backendId: string): ArchiveRef[];
|
|
83
101
|
/** Fix the unpacked tree up before the probe; runs even when a test replaces the probe. */
|
|
84
102
|
prepare?(staging: string, ctx: EngineContext): Promise<void>;
|
|
85
|
-
/**
|
|
86
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Make the unpacked tree runnable and prove it runs here; throws `ENGINE_INSTALL_FAILED`. What it
|
|
105
|
+
* answers (if anything) reaches `record` as `info.probe`.
|
|
106
|
+
*/
|
|
107
|
+
probe(staging: string, ctx: EngineContext): Promise<EngineProbeFacts | void>;
|
|
87
108
|
/** The ownership marker and `install.json`. */
|
|
88
109
|
record(staging: string, info: BuildRecordInfo): Promise<void>;
|
|
89
110
|
builds(ctx: EngineContext): Promise<Build[]>;
|
|
@@ -9,9 +9,10 @@ import { listInstalledBackends, prepareSdcppTree, writeInstallRecord } from '../
|
|
|
9
9
|
import { listDownloadedMlx, probeMlxServer, readBundledMlx, writeMlxInstallRecord } from './builds.js';
|
|
10
10
|
import { listFoundryLocalBuilds, prepareFoundryLocalTree, writeFoundryLocalInstallRecord, } from './foundry-local.js';
|
|
11
11
|
import { listLiteRtLmBuilds, prepareLiteRtLmTree, writeLiteRtLmInstallRecord } from './litert-lm.js';
|
|
12
|
-
import {
|
|
12
|
+
import { listGeniexBuilds, prepareGeniexTree, writeGeniexInstallRecord } from './geniex.js';
|
|
13
|
+
import { FOUNDRY_LOCAL_C_API_VERSIONS, foundryLocalAssetUrl, mlxAssetUrl, sdcppAssetUrl, SUPPORTED_GENIEX_ABI, SUPPORTED_LITERT_LM_ABI, } from './manifest.js';
|
|
13
14
|
import { compareBuilds } from './order.js';
|
|
14
|
-
import { backendKindOf, companionFor, foundryLocalHostChoice, liteRtLmHostChoice, mlxHostChoice, readFailedBackends, rememberFailedBackend, sdcppHostChoice, sdcppHostOf, } from './select.js';
|
|
15
|
+
import { backendKindOf, companionFor, foundryLocalHostChoice, geniexHostChoice, liteRtLmHostChoice, mlxHostChoice, readFailedBackends, rememberFailedBackend, sdcppHostChoice, sdcppHostOf, } from './select.js';
|
|
15
16
|
const pin = (asset) => ({
|
|
16
17
|
...(asset.sha256 !== undefined ? { sha256: asset.sha256 } : {}),
|
|
17
18
|
...(asset.size !== undefined ? { size: asset.size } : {}),
|
|
@@ -75,7 +76,7 @@ const mlx = {
|
|
|
75
76
|
.filter((asset) => asset.backend === backendId)
|
|
76
77
|
.map((asset) => ({ ...pin(asset), url: mlxAssetUrl(manifest, asset), name: asset.name })),
|
|
77
78
|
probe: (staging, ctx) => probeMlxServer(staging, { platform: ctx.platform }),
|
|
78
|
-
record: (staging, { cApiVersion: _cApiVersion, abi: _abi, ...info }) => writeMlxInstallRecord(staging, info),
|
|
79
|
+
record: (staging, { cApiVersion: _cApiVersion, abi: _abi, probe: _probe, ...info }) => writeMlxInstallRecord(staging, info),
|
|
79
80
|
async builds(ctx) {
|
|
80
81
|
const out = (await listDownloadedMlx(ctx.root)).map((record) => ({
|
|
81
82
|
tag: record.tag,
|
|
@@ -122,7 +123,7 @@ const foundryLocal = {
|
|
|
122
123
|
throw new AtomicCoreError('ENGINE_INSTALL_FAILED', 'This core has no Foundry Local host to check the build with.');
|
|
123
124
|
await ctx.hostProbe(staging);
|
|
124
125
|
},
|
|
125
|
-
record: (staging, { abi: _abi, ...info }) => writeFoundryLocalInstallRecord(staging, info),
|
|
126
|
+
record: (staging, { abi: _abi, probe: _probe, ...info }) => writeFoundryLocalInstallRecord(staging, info),
|
|
126
127
|
async builds(ctx) {
|
|
127
128
|
return (await listFoundryLocalBuilds(ctx.root)).map((record) => ({
|
|
128
129
|
tag: record.tag,
|
|
@@ -157,7 +158,7 @@ const liteRtLm = {
|
|
|
157
158
|
throw new AtomicCoreError('ENGINE_INSTALL_FAILED', 'This core has no LiteRT-LM host to check the build with.');
|
|
158
159
|
await ctx.hostProbe(staging);
|
|
159
160
|
},
|
|
160
|
-
record: (staging, { cApiVersion: _cApiVersion, ...info }) => writeLiteRtLmInstallRecord(staging, info),
|
|
161
|
+
record: (staging, { cApiVersion: _cApiVersion, probe: _probe, ...info }) => writeLiteRtLmInstallRecord(staging, info),
|
|
161
162
|
async builds(ctx) {
|
|
162
163
|
return (await listLiteRtLmBuilds(ctx.root)).map((record) => ({
|
|
163
164
|
tag: record.tag,
|
|
@@ -172,10 +173,53 @@ const liteRtLm = {
|
|
|
172
173
|
/** The newest by `published_at` among the builds whose ABI this core's host binds (design D2). */
|
|
173
174
|
active: (builds) => newest('litert-lm', builds.filter((build) => build.abi != null && SUPPORTED_LITERT_LM_ABI.includes(build.abi))),
|
|
174
175
|
};
|
|
176
|
+
/**
|
|
177
|
+
* GenieX (change `add-geniex-runtime`, task 4.4): the SDK zip of the newest release; `lib/**` of it
|
|
178
|
+
* goes to the build, `geniex-host probe --lib <staging>` of this core proves the library loads and
|
|
179
|
+
* names the devices it sees, which the record keeps for `GET /runtimes/geniex/accelerators`.
|
|
180
|
+
*/
|
|
181
|
+
const geniex = {
|
|
182
|
+
release: (manifest) => {
|
|
183
|
+
const newest = manifest.releases[0];
|
|
184
|
+
return { tag: newest.version, published_at: newest.published_at, abi: newest.abi };
|
|
185
|
+
},
|
|
186
|
+
hostChoice: async (ctx, manifest) => geniexHostChoice(ctx.hostPlatform, manifest?.releases[0] ?? null),
|
|
187
|
+
archives(manifest, backendId) {
|
|
188
|
+
const asset = manifest.releases[0]?.assets.find((candidate) => candidate.platform === backendId);
|
|
189
|
+
return asset ? [{ url: asset.url, name: asset.name, sha256: asset.sha256, size: asset.size }] : [];
|
|
190
|
+
},
|
|
191
|
+
prepare: (staging) => prepareGeniexTree(staging),
|
|
192
|
+
async probe(staging, ctx) {
|
|
193
|
+
if (!ctx.hostProbe)
|
|
194
|
+
throw new AtomicCoreError('ENGINE_INSTALL_FAILED', 'This core has no GenieX host to check the build with.');
|
|
195
|
+
return ctx.hostProbe(staging);
|
|
196
|
+
},
|
|
197
|
+
record: (staging, { cApiVersion: _cApiVersion, probe, ...info }) => writeGeniexInstallRecord(staging, {
|
|
198
|
+
...info,
|
|
199
|
+
libraryVersion: probe?.libraryVersion ?? null,
|
|
200
|
+
devices: probe?.devices ?? [],
|
|
201
|
+
}),
|
|
202
|
+
async builds(ctx) {
|
|
203
|
+
return (await listGeniexBuilds(ctx.root)).map((record) => ({
|
|
204
|
+
tag: record.tag,
|
|
205
|
+
backend_id: record.backendId,
|
|
206
|
+
origin: 'downloaded',
|
|
207
|
+
dir: record.dir,
|
|
208
|
+
installed_at_ms: record.installedAtMs,
|
|
209
|
+
published_at: record.publishedAt,
|
|
210
|
+
abi: record.abi,
|
|
211
|
+
devices: record.devices,
|
|
212
|
+
library_version: record.libraryVersion,
|
|
213
|
+
}));
|
|
214
|
+
},
|
|
215
|
+
/** The newest by `published_at` among the builds whose ABI this core's host binds (design D2). */
|
|
216
|
+
active: (builds) => newest('geniex', builds.filter((build) => build.abi != null && SUPPORTED_GENIEX_ABI.includes(build.abi))),
|
|
217
|
+
};
|
|
175
218
|
export const ENGINE_DESCRIPTORS = {
|
|
176
219
|
'sd-cpp': sdcpp,
|
|
177
220
|
'mlx': mlx,
|
|
178
221
|
'foundry-local': foundryLocal,
|
|
179
222
|
'litert-lm': liteRtLm,
|
|
223
|
+
'geniex': geniex,
|
|
180
224
|
};
|
|
181
225
|
//# sourceMappingURL=engines.js.map
|