@atomic-chat/core 0.18.4 → 0.19.0

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.
Files changed (178) hide show
  1. package/dist/app-daemon.js +5 -0
  2. package/dist/app-daemon.js.map +1 -1
  3. package/dist/cli/main.d.ts +1 -1
  4. package/dist/cli/main.js +5 -0
  5. package/dist/cli/main.js.map +1 -1
  6. package/dist/client/control-client.d.ts +18 -1
  7. package/dist/client/control-client.js +27 -0
  8. package/dist/client/control-client.js.map +1 -1
  9. package/dist/cloud/registry.js +1 -0
  10. package/dist/cloud/registry.js.map +1 -1
  11. package/dist/config/paths.d.ts +4 -0
  12. package/dist/config/paths.js +13 -0
  13. package/dist/config/paths.js.map +1 -1
  14. package/dist/contracts/control-api.d.ts +9 -0
  15. package/dist/contracts/diffusion.d.ts +17 -7
  16. package/dist/contracts/diffusion.js.map +1 -1
  17. package/dist/contracts/engine-builds.d.ts +1 -1
  18. package/dist/contracts/engine-builds.js +1 -1
  19. package/dist/contracts/engine-builds.js.map +1 -1
  20. package/dist/contracts/engines.d.ts +1 -1
  21. package/dist/contracts/engines.js +2 -0
  22. package/dist/contracts/engines.js.map +1 -1
  23. package/dist/contracts/errors.d.ts +9 -1
  24. package/dist/contracts/errors.js.map +1 -1
  25. package/dist/contracts/events.d.ts +3 -0
  26. package/dist/contracts/index.d.ts +1 -0
  27. package/dist/contracts/index.js +1 -0
  28. package/dist/contracts/index.js.map +1 -1
  29. package/dist/contracts/litert-lm.d.ts +97 -0
  30. package/dist/contracts/litert-lm.js +17 -0
  31. package/dist/contracts/litert-lm.js.map +1 -0
  32. package/dist/contracts/model-yml.d.ts +31 -0
  33. package/dist/contracts/model-yml.js +5 -0
  34. package/dist/contracts/model-yml.js.map +1 -1
  35. package/dist/contracts/session.d.ts +5 -1
  36. package/dist/contracts/session.js.map +1 -1
  37. package/dist/contracts/settings.d.ts +10 -1
  38. package/dist/contracts/settings.js.map +1 -1
  39. package/dist/core/atomic-core.d.ts +6 -1
  40. package/dist/core/atomic-core.js +6 -0
  41. package/dist/core/atomic-core.js.map +1 -1
  42. package/dist/core/create.js +141 -20
  43. package/dist/core/create.js.map +1 -1
  44. package/dist/diffusion/args.d.ts +8 -0
  45. package/dist/diffusion/args.js +10 -0
  46. package/dist/diffusion/args.js.map +1 -1
  47. package/dist/diffusion/compat.d.ts +3 -3
  48. package/dist/diffusion/compat.js +15 -10
  49. package/dist/diffusion/compat.js.map +1 -1
  50. package/dist/diffusion/recipe.d.ts +19 -2
  51. package/dist/diffusion/recipe.js +43 -20
  52. package/dist/diffusion/recipe.js.map +1 -1
  53. package/dist/diffusion/remote-job.js +6 -7
  54. package/dist/diffusion/remote-job.js.map +1 -1
  55. package/dist/diffusion/service.d.ts +1 -0
  56. package/dist/diffusion/service.js +4 -2
  57. package/dist/diffusion/service.js.map +1 -1
  58. package/dist/diffusion/video-history.js +3 -2
  59. package/dist/diffusion/video-history.js.map +1 -1
  60. package/dist/diffusion/video-recipe.d.ts +4 -1
  61. package/dist/diffusion/video-recipe.js +15 -11
  62. package/dist/diffusion/video-recipe.js.map +1 -1
  63. package/dist/diffusion/workflow.d.ts +2 -1
  64. package/dist/diffusion/workflow.js +3 -1
  65. package/dist/diffusion/workflow.js.map +1 -1
  66. package/dist/downloads/archive.d.ts +2 -1
  67. package/dist/downloads/archive.js +3 -2
  68. package/dist/downloads/archive.js.map +1 -1
  69. package/dist/engine-builds/engines.d.ts +22 -5
  70. package/dist/engine-builds/engines.js +44 -7
  71. package/dist/engine-builds/engines.js.map +1 -1
  72. package/dist/engine-builds/litert-lm.d.ts +29 -0
  73. package/dist/engine-builds/litert-lm.js +119 -0
  74. package/dist/engine-builds/litert-lm.js.map +1 -0
  75. package/dist/engine-builds/manifest.d.ts +55 -1
  76. package/dist/engine-builds/manifest.js +114 -1
  77. package/dist/engine-builds/manifest.js.map +1 -1
  78. package/dist/engine-builds/order.d.ts +2 -1
  79. package/dist/engine-builds/order.js +3 -1
  80. package/dist/engine-builds/order.js.map +1 -1
  81. package/dist/engine-builds/select.d.ts +19 -1
  82. package/dist/engine-builds/select.js +45 -0
  83. package/dist/engine-builds/select.js.map +1 -1
  84. package/dist/engine-builds/service.d.ts +8 -5
  85. package/dist/engine-builds/service.js +11 -4
  86. package/dist/engine-builds/service.js.map +1 -1
  87. package/dist/engines/service.d.ts +3 -1
  88. package/dist/engines/service.js +4 -1
  89. package/dist/engines/service.js.map +1 -1
  90. package/dist/host/recipes/executor-io-windows.d.ts +10 -1
  91. package/dist/host/recipes/executor-io-windows.js +9 -3
  92. package/dist/host/recipes/executor-io-windows.js.map +1 -1
  93. package/dist/router/resolve.d.ts +25 -4
  94. package/dist/router/resolve.js +34 -3
  95. package/dist/router/resolve.js.map +1 -1
  96. package/dist/runtime/environment/host-exec.d.ts +2 -0
  97. package/dist/runtime/environment/host-exec.js +15 -4
  98. package/dist/runtime/environment/host-exec.js.map +1 -1
  99. package/dist/runtime/litert-lm/accelerators.d.ts +54 -0
  100. package/dist/runtime/litert-lm/accelerators.js +176 -0
  101. package/dist/runtime/litert-lm/accelerators.js.map +1 -0
  102. package/dist/runtime/litert-lm/check.d.ts +44 -0
  103. package/dist/runtime/litert-lm/check.js +113 -0
  104. package/dist/runtime/litert-lm/check.js.map +1 -0
  105. package/dist/runtime/litert-lm/host/args.d.ts +47 -0
  106. package/dist/runtime/litert-lm/host/args.js +108 -0
  107. package/dist/runtime/litert-lm/host/args.js.map +1 -0
  108. package/dist/runtime/litert-lm/host/ffi-bun.d.ts +16 -0
  109. package/dist/runtime/litert-lm/host/ffi-bun.js +535 -0
  110. package/dist/runtime/litert-lm/host/ffi-bun.js.map +1 -0
  111. package/dist/runtime/litert-lm/host/library.d.ts +113 -0
  112. package/dist/runtime/litert-lm/host/library.js +38 -0
  113. package/dist/runtime/litert-lm/host/library.js.map +1 -0
  114. package/dist/runtime/litert-lm/host/openai.d.ts +97 -0
  115. package/dist/runtime/litert-lm/host/openai.js +355 -0
  116. package/dist/runtime/litert-lm/host/openai.js.map +1 -0
  117. package/dist/runtime/litert-lm/host/pool.d.ts +51 -0
  118. package/dist/runtime/litert-lm/host/pool.js +114 -0
  119. package/dist/runtime/litert-lm/host/pool.js.map +1 -0
  120. package/dist/runtime/litert-lm/host/run.d.ts +48 -0
  121. package/dist/runtime/litert-lm/host/run.js +169 -0
  122. package/dist/runtime/litert-lm/host/run.js.map +1 -0
  123. package/dist/runtime/litert-lm/host/server.d.ts +28 -0
  124. package/dist/runtime/litert-lm/host/server.js +242 -0
  125. package/dist/runtime/litert-lm/host/server.js.map +1 -0
  126. package/dist/runtime/litert-lm/host-process.d.ts +44 -0
  127. package/dist/runtime/litert-lm/host-process.js +99 -0
  128. package/dist/runtime/litert-lm/host-process.js.map +1 -0
  129. package/dist/runtime/litert-lm/index.d.ts +10 -0
  130. package/dist/runtime/litert-lm/index.js +11 -0
  131. package/dist/runtime/litert-lm/index.js.map +1 -0
  132. package/dist/runtime/litert-lm/litert-host.d.ts +17 -0
  133. package/dist/runtime/litert-lm/litert-host.js +22 -0
  134. package/dist/runtime/litert-lm/litert-host.js.map +1 -0
  135. package/dist/runtime/litert-lm/model-yml.d.ts +8 -0
  136. package/dist/runtime/litert-lm/model-yml.js +67 -0
  137. package/dist/runtime/litert-lm/model-yml.js.map +1 -0
  138. package/dist/runtime/litert-lm/npu.d.ts +11 -0
  139. package/dist/runtime/litert-lm/npu.js +24 -0
  140. package/dist/runtime/litert-lm/npu.js.map +1 -0
  141. package/dist/runtime/litert-lm/runtime.d.ts +99 -0
  142. package/dist/runtime/litert-lm/runtime.js +354 -0
  143. package/dist/runtime/litert-lm/runtime.js.map +1 -0
  144. package/dist/runtime/shared/external-sessions.js +1 -0
  145. package/dist/runtime/shared/external-sessions.js.map +1 -1
  146. package/dist/server/control/router.js +2 -0
  147. package/dist/server/control/router.js.map +1 -1
  148. package/dist/server/control/routes/litert-lm.d.ts +11 -0
  149. package/dist/server/control/routes/litert-lm.js +33 -0
  150. package/dist/server/control/routes/litert-lm.js.map +1 -0
  151. package/dist/server/control/routes/public-server.js +22 -0
  152. package/dist/server/control/routes/public-server.js.map +1 -1
  153. package/dist/server/control/types.d.ts +16 -1
  154. package/dist/server/control/types.js.map +1 -1
  155. package/dist/server/http.js +3 -0
  156. package/dist/server/http.js.map +1 -1
  157. package/dist/server/public/errors.d.ts +17 -0
  158. package/dist/server/public/errors.js +28 -0
  159. package/dist/server/public/errors.js.map +1 -1
  160. package/dist/server/public/forward.d.ts +20 -1
  161. package/dist/server/public/forward.js +64 -14
  162. package/dist/server/public/forward.js.map +1 -1
  163. package/dist/server/public/listing.d.ts +6 -0
  164. package/dist/server/public/listing.js +25 -3
  165. package/dist/server/public/listing.js.map +1 -1
  166. package/dist/server/public/responses.js +21 -10
  167. package/dist/server/public/responses.js.map +1 -1
  168. package/dist/server/public/subscription.js +2 -2
  169. package/dist/server/public/subscription.js.map +1 -1
  170. package/dist/server/public/types.d.ts +5 -0
  171. package/dist/server/public/videos-params.js +6 -1
  172. package/dist/server/public/videos-params.js.map +1 -1
  173. package/dist/settings/schema/litert-lm.json +37 -0
  174. package/dist/settings/schema.js +9 -0
  175. package/dist/settings/schema.js.map +1 -1
  176. package/dist/version.d.ts +1 -1
  177. package/dist/version.js +1 -1
  178. package/package.json +6 -1
@@ -0,0 +1,97 @@
1
+ /**
2
+ * LiteRT-LM's accelerator and compatibility check (openspec change `add-litert-lm-runtime`, tasks
3
+ * 6.4–6.5): the same routes, event and answer shapes as Foundry Local's, so the clients reuse their UI.
4
+ * The one accelerator is `openvino` — Intel's libraries an NPU variant needs on Windows (design D3);
5
+ * nothing downloads it on its own: not the start, not an install, not a load.
6
+ *
7
+ * Browser-safe: types and constants only. snake_case on the wire.
8
+ */
9
+ import type { ProxyConfig } from './backend-advisor.js';
10
+ import type { FoundryLocalPrepareStage } from './foundry-local.js';
11
+ import type { LiteRtLmBackendId, LiteRtLmNpu } from './model-yml.js';
12
+ export interface LiteRtLmAccelerator {
13
+ /** `openvino`. */
14
+ name: string;
15
+ /** `npu`: the only device it serves. */
16
+ device: string;
17
+ /** The OpenVINO version the active release pins. */
18
+ version: string;
19
+ /** What a prepare downloads. */
20
+ size_bytes: number;
21
+ /** Downloaded, checked and unpacked on this machine. */
22
+ prepared: boolean;
23
+ /** Why the last prepare failed. */
24
+ reason?: string;
25
+ }
26
+ export interface LiteRtLmAccelerators {
27
+ /** `false`: no LiteRT-LM build is installed; the list is empty. */
28
+ installed: boolean;
29
+ /** The active build, `<version>/<platform>`. */
30
+ build: string | null;
31
+ /** This machine's Intel NPU generation LiteRT-LM files target; `null` without one (the list is empty). */
32
+ npu: LiteRtLmNpu | null;
33
+ accelerators: LiteRtLmAccelerator[];
34
+ /** Why the list could not be made (no manifest for the active release, …). */
35
+ error: string | null;
36
+ }
37
+ export interface LiteRtLmPrepareRequest {
38
+ /** Names to prepare; absent or empty: every accelerator offered here. */
39
+ accelerators?: string[];
40
+ /** The proxy the wheel downloads through, as an engine install takes it. */
41
+ proxy?: ProxyConfig | null;
42
+ }
43
+ export interface LiteRtLmPrepareResult {
44
+ accelerators: Array<{
45
+ name: string;
46
+ prepared: boolean;
47
+ reason?: string;
48
+ }>;
49
+ }
50
+ /** `litert-lm:accelerators`: one step of a prepare; `fraction` 0…1 while it downloads, `null` when failed. */
51
+ export interface LiteRtLmAcceleratorsEvent {
52
+ accelerator: string;
53
+ stage: FoundryLocalPrepareStage;
54
+ fraction: number | null;
55
+ reason?: string;
56
+ }
57
+ /** What `litert-host inspect` reads from a `.litertlm` file without an engine (spec "Сведения о файле"). */
58
+ export interface LiteRtLmFileMetadata {
59
+ model_type: 'llm' | 'embedding' | 'unknown';
60
+ /** `null` when the file does not declare one. */
61
+ max_context_tokens: number | null;
62
+ dynamic_context: boolean;
63
+ /** As the file declares it; Gemma 4 files say `false` and call tools anyway. */
64
+ function_calling: boolean;
65
+ thinking: boolean;
66
+ modalities: Array<'text' | 'vision' | 'audio' | 'video'>;
67
+ /** Backends of the text modality, the default first. */
68
+ backends: LiteRtLmBackendId[];
69
+ vision_backends: LiteRtLmBackendId[];
70
+ npu: {
71
+ brand: 'unknown' | 'qualcomm' | 'google-tensor' | 'mediatek' | 'intel' | 'samsung';
72
+ soc: string | null;
73
+ } | null;
74
+ speculative_decoding: boolean;
75
+ min_runtime_version: string | null;
76
+ }
77
+ /**
78
+ * `POST /models/litert-lm/check`: a variant before it is downloaded (`backend`, `npu`,
79
+ * `min_runtime_version` from conf), a downloaded file by `path` inside `<data>/litert-lm/models` with
80
+ * the variant's `backend`/`npu`, or an installed model by `model_id`.
81
+ */
82
+ export interface LiteRtLmCheckRequest {
83
+ backend?: string;
84
+ npu?: string;
85
+ min_runtime_version?: string;
86
+ path?: string;
87
+ model_id?: string;
88
+ }
89
+ export declare const LITERT_LM_CHECK_VERDICTS: readonly ["ok", "engine-not-installed", "platform-unsupported", "accelerator-unavailable", "accelerator-not-prepared", "requires-newer-engine"];
90
+ export type LiteRtLmCheckVerdict = (typeof LITERT_LM_CHECK_VERDICTS)[number];
91
+ export interface LiteRtLmCheckResult {
92
+ verdict: LiteRtLmCheckVerdict;
93
+ /** Why, in words a card can show; `null` for `ok`. */
94
+ reason: string | null;
95
+ /** The file's facts, for a file on disk: what a client writes into `model.yml`. */
96
+ metadata?: LiteRtLmFileMetadata;
97
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * LiteRT-LM's accelerator and compatibility check (openspec change `add-litert-lm-runtime`, tasks
3
+ * 6.4–6.5): the same routes, event and answer shapes as Foundry Local's, so the clients reuse their UI.
4
+ * The one accelerator is `openvino` — Intel's libraries an NPU variant needs on Windows (design D3);
5
+ * nothing downloads it on its own: not the start, not an install, not a load.
6
+ *
7
+ * Browser-safe: types and constants only. snake_case on the wire.
8
+ */
9
+ export const LITERT_LM_CHECK_VERDICTS = [
10
+ 'ok',
11
+ 'engine-not-installed',
12
+ 'platform-unsupported',
13
+ 'accelerator-unavailable',
14
+ 'accelerator-not-prepared',
15
+ 'requires-newer-engine',
16
+ ];
17
+ //# sourceMappingURL=litert-lm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"litert-lm.js","sourceRoot":"","sources":["../../src/contracts/litert-lm.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsFH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI;IACJ,sBAAsB;IACtB,sBAAsB;IACtB,yBAAyB;IACzB,0BAA0B;IAC1B,uBAAuB;CACf,CAAA"}
@@ -30,6 +30,8 @@ export interface ModelYml {
30
30
  atomic_runtime?: ModelYmlAtomicRuntime;
31
31
  /** A Foundry Local variant (`<data>/foundry-local/models/<variant_id>/`), written by the app's installer. */
32
32
  foundry_local?: ModelYmlFoundryLocal;
33
+ /** A LiteRT-LM variant (`<data>/litert-lm/models/<variant_id>/`), written by the app or `atc`. */
34
+ litert_lm?: ModelYmlLiteRtLm;
33
35
  }
34
36
  export interface ModelYmlAtomicRuntime {
35
37
  provider: 'atomic-prism';
@@ -66,5 +68,34 @@ export interface ModelYmlFoundryLocal {
66
68
  reasoning_start?: string;
67
69
  reasoning_end?: string;
68
70
  }
71
+ /** The backends a LiteRT-LM variant runs on (change `add-litert-lm-runtime`). */
72
+ export declare const LITERT_LM_BACKENDS: readonly ["cpu", "gpu", "npu"];
73
+ export type LiteRtLmBackendId = (typeof LITERT_LM_BACKENDS)[number];
74
+ /** The Intel NPU generations LiteRT-LM files are compiled for: Lunar Lake and Panther Lake (design D3). */
75
+ export declare const LITERT_LM_NPUS: readonly ["intel-lnl", "intel-ptl"];
76
+ export type LiteRtLmNpu = (typeof LITERT_LM_NPUS)[number];
77
+ /**
78
+ * The `litert_lm` block (spec `litert-lm-models`, task 6.2): which variant the folder holds and what it
79
+ * can do. `tools`, `reasoning` and `vision` come from conf's list, or for a Hugging Face model from
80
+ * core's check of the downloaded file.
81
+ */
82
+ export interface ModelYmlLiteRtLm {
83
+ model_id: string;
84
+ variant_id: string;
85
+ backend: LiteRtLmBackendId;
86
+ /** Present exactly when `backend` is `npu`. */
87
+ npu?: LiteRtLmNpu;
88
+ /** `<org>/<name>` on Hugging Face. */
89
+ repo: string;
90
+ revision: string;
91
+ /** The file's path in the repository; its name in the variant folder. */
92
+ file: string;
93
+ /** Absent when neither conf nor the file declares one. */
94
+ context_length?: number;
95
+ tools: boolean;
96
+ reasoning: boolean;
97
+ vision: boolean;
98
+ source: 'curated' | 'huggingface';
99
+ }
69
100
  /** Key order the app's serde_yaml writer produces; `writeModelYml` must emit keys in this order. */
70
101
  export declare const MODEL_YML_KEY_ORDER: readonly (keyof ModelYml)[];
@@ -12,6 +12,10 @@ export const FOUNDRY_LOCAL_EXECUTION_PROVIDERS = [
12
12
  'vitisai',
13
13
  ];
14
14
  export const FOUNDRY_LOCAL_DEVICES = ['cpu', 'gpu', 'npu'];
15
+ /** The backends a LiteRT-LM variant runs on (change `add-litert-lm-runtime`). */
16
+ export const LITERT_LM_BACKENDS = ['cpu', 'gpu', 'npu'];
17
+ /** The Intel NPU generations LiteRT-LM files are compiled for: Lunar Lake and Panther Lake (design D3). */
18
+ export const LITERT_LM_NPUS = ['intel-lnl', 'intel-ptl'];
15
19
  /** Key order the app's serde_yaml writer produces; `writeModelYml` must emit keys in this order. */
16
20
  export const MODEL_YML_KEY_ORDER = [
17
21
  'model_path',
@@ -31,5 +35,6 @@ export const MODEL_YML_KEY_ORDER = [
31
35
  'capabilities',
32
36
  'atomic_runtime',
33
37
  'foundry_local',
38
+ 'litert_lm',
34
39
  ];
35
40
  //# sourceMappingURL=model-yml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-yml.js","sourceRoot":"","sources":["../../src/contracts/model-yml.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoDH,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,KAAK;IACL,MAAM;IACN,QAAQ;IACR,UAAU;IACV,KAAK;IACL,SAAS;CACD,CAAA;AAGV,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;AAyBnE,oGAAoG;AACpG,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,YAAY;IACZ,aAAa;IACb,MAAM;IACN,YAAY;IACZ,cAAc;IACd,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,QAAQ;IACR,cAAc;IACd,gBAAgB;IAChB,eAAe;CAChB,CAAA"}
1
+ {"version":3,"file":"model-yml.js","sourceRoot":"","sources":["../../src/contracts/model-yml.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsDH,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,KAAK;IACL,MAAM;IACN,QAAQ;IACR,UAAU;IACV,KAAK;IACL,SAAS;CACD,CAAA;AAGV,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;AAyBnE,iFAAiF;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;AAGhE,2GAA2G;AAC3G,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,CAAU,CAAA;AA2BjE,oGAAoG;AACpG,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,YAAY;IACZ,aAAa;IACb,MAAM;IACN,YAAY;IACZ,cAAc;IACd,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,QAAQ;IACR,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,WAAW;CACZ,CAAA"}
@@ -14,8 +14,12 @@
14
14
  * `foundry-local` is Microsoft Foundry Local (ONNX Runtime GenAI: NPU, CUDA, WebGPU, CPU), run by a
15
15
  * host process of this binary per model (openspec change `add-foundry-local`); registered only on
16
16
  * the platforms its archives support.
17
+ *
18
+ * `litert-lm` is Google's LiteRT-LM (`.litertlm` models on CPU, GPU and an Intel NPU), run by a host
19
+ * process of this binary per model with its own OpenAI server (openspec change
20
+ * `add-litert-lm-runtime`); registered only on macOS arm64, Linux x64/arm64 and Windows x64.
17
21
  */
18
- export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | 'foundry-local' | ManagedProviderId;
22
+ export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | 'foundry-local' | 'litert-lm' | ManagedProviderId;
19
23
  /**
20
24
  * The managed engines — each one a container core runs from a model of the managed model store — in
21
25
  * 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;AAuBH;;;;;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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH;;;;;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"}
@@ -84,6 +84,15 @@ export interface FoundationModelsConfig {
84
84
  export interface FoundryLocalConfig {
85
85
  timeout: number;
86
86
  }
87
+ /** `litert-lm` (change `add-litert-lm-runtime`, design D6). */
88
+ export interface LiteRtLmConfig {
89
+ /** Tokens; `0` takes `model.yml`'s length. Always cut to the file's maximum. */
90
+ ctx_len: number;
91
+ /** On when the file carries a draft model. */
92
+ speculative_decoding: boolean;
93
+ /** Seconds a model may take to load in its host. */
94
+ timeout: number;
95
+ }
87
96
  /**
88
97
  * `tensorrt-llm` as the settings store holds it (`src/settings/schema/tensorrt-llm.json`). `gpu_id: ''`
89
98
  * lets a load pick the card with the most free memory and `load_timeout_seconds: 0` keeps the engine's own
@@ -162,7 +171,7 @@ export interface SglangProviderConfig {
162
171
  default_min_p: string;
163
172
  default_repetition_penalty: string;
164
173
  }
165
- 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 : LlamacppConfig;
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;
166
175
  /** UI descriptor of one setting (mirrors the app's SettingComponentProps). */
167
176
  export interface SettingDescriptor {
168
177
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2NH,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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuOH,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,11 +77,16 @@ export interface AtomicCoreParts {
77
77
  telemetry?: TelemetryControl | undefined;
78
78
  }
79
79
  export declare class AtomicCore {
80
- readonly version = "0.18.4";
80
+ readonly version = "0.19.0";
81
81
  private lifecycle;
82
82
  private shutdownPromise;
83
83
  /** Whether the app's API screen is watching; previews are collected only then. */
84
84
  inspecting: boolean;
85
+ /**
86
+ * The provider the app selected to serve each model id on the public server, read per request;
87
+ * kept across server restarts, not across core restarts (the app hands it over again).
88
+ */
89
+ servedSelection: ReadonlyMap<string, string>;
85
90
  private resolveStopped;
86
91
  /** Resolves once this core has stopped, however that was triggered (API, signal, or in-process). */
87
92
  readonly stopped: Promise<void>;
@@ -27,6 +27,11 @@ export class AtomicCore {
27
27
  shutdownPromise;
28
28
  /** Whether the app's API screen is watching; previews are collected only then. */
29
29
  inspecting = false;
30
+ /**
31
+ * The provider the app selected to serve each model id on the public server, read per request;
32
+ * kept across server restarts, not across core restarts (the app hands it over again).
33
+ */
34
+ servedSelection = new Map();
30
35
  resolveStopped;
31
36
  /** Resolves once this core has stopped, however that was triggered (API, signal, or in-process). */
32
37
  stopped = new Promise((resolve) => {
@@ -129,6 +134,7 @@ export class AtomicCore {
129
134
  findLocal: (provider, modelId) => this.localSessions.localTarget(provider, modelId),
130
135
  listLocal: () => this.localSessions.listLocalTargets(),
131
136
  providers: () => this.cloud.routing(),
137
+ selection: () => this.servedSelection,
132
138
  chatgpt: parts.chatgptBackend,
133
139
  increaseCtx: (provider, modelId, trigger) => this.localSessions.serverCtxRequest(provider, modelId, trigger),
134
140
  emit: (name, payload) => this.events.emit(name, payload),
@@ -1 +1 @@
1
- {"version":3,"file":"atomic-core.js","sourceRoot":"","sources":["../../src/core/atomic-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atomic-core.js","sourceRoot":"","sources":["../../src/core/atomic-core.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { randomUUID } from 'node:crypto';
7
7
  import { homedir, release as osRelease } from 'node:os';
8
- import { join } from 'node:path';
8
+ import { basename, dirname, join } from 'node:path';
9
9
  import { AtomicCoreError, ENGINE_KINDS } from '../contracts/index.js';
10
10
  import { dataLayout, nodeDataFolderEnv, resolveCliDataFolder, resolveDataFolder } from '../config/index.js';
11
11
  import { CoreEmitter } from '../events/index.js';
@@ -16,6 +16,7 @@ import { ExternalSessions } from '../runtime/index.js';
16
16
  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
+ import { LiteRtLmAcceleratorService, LiteRtLmCheckService, LiteRtLmRuntime, liteRtHostCommand, liteRtNpuGeneration, parseLiteRtLmCheckRequest, liteRtHostProber, } from '../runtime/litert-lm/index.js';
19
20
  import { SettingsStore } from '../settings/index.js';
20
21
  import { TRANSCRIPTION_MODEL_ID } from '../speculative/index.js';
21
22
  import { ApiKeyStore, ChatGptAuth } from '../credentials/index.js';
@@ -28,7 +29,7 @@ import { DEFAULT_ENVIRONMENT_ID } from '../runtime/environment/index.js';
28
29
  import { noticeEmbeddingEngineInstall, wireEmbedding } from '../embedding/index.js';
29
30
  import { wireDiffusion } from '../diffusion/index.js';
30
31
  import { MEDIA_ADAPTERS, MediaCatalogService, MediaService } from '../media/index.js';
31
- import { EngineBuildsService, EngineManifestSource, IDLE_ENGINE_HOST, manifestKinds, foundryLocalHostPlatform, } from '../engine-builds/index.js';
32
+ import { EngineBuildsService, EngineManifestSource, IDLE_ENGINE_HOST, manifestKinds, foundryLocalHostPlatform, liteRtLmHostPlatform, } from '../engine-builds/index.js';
32
33
  import { Downloader, availableDiskSpace, defaultAvailableSpace, policyFetchFor } from '../downloads/index.js';
33
34
  import { lanAddresses, reapTunnelOrphan, wireRemoteAccess } from '../remote-access/index.js';
34
35
  import { ClientRegistry, CLIENT_EXPIRY_MS, ControlServer } from '../server/index.js';
@@ -239,8 +240,10 @@ export async function createAtomicCore(options, construct) {
239
240
  // Foundry Local (change `add-foundry-local`, design D7): which archive this host runs. glibc comes
240
241
  // from the process report, which Bun's compiled binaries fill in as Node does; musl has none. The
241
242
  // report is a whole diagnostic snapshot, so it is built on Linux only, where glibc decides.
243
+ // LiteRT-LM (change `add-litert-lm-runtime`, design D7) decides on the same facts with its own
244
+ // thresholds: macOS 12, glibc 2.27, no Windows arm64.
242
245
  const foundryLocalArch = options.foundryLocalHost?.arch ?? process.arch;
243
- const foundryLocalHost = foundryLocalHostPlatform({
246
+ const nativeHostFacts = {
244
247
  platform,
245
248
  arch: foundryLocalArch,
246
249
  osRelease: options.foundryLocalHost?.osRelease ?? osRelease(),
@@ -249,7 +252,10 @@ export async function createAtomicCore(options, construct) {
249
252
  ? process.report?.getReport()?.header
250
253
  ?.glibcVersionRuntime
251
254
  : undefined),
252
- });
255
+ };
256
+ const foundryLocalHost = foundryLocalHostPlatform(nativeHostFacts);
257
+ const liteRtLmHost = liteRtLmHostPlatform(nativeHostFacts);
258
+ const liteRtHost = liteRtHostCommand(env);
253
259
  const foundryLocalPaths = layout.provider('foundry-local');
254
260
  const foundryHost = foundryHostCommand(env);
255
261
  // The provider itself (task 6.6): one foundry-host per model, where the platform rule holds. The
@@ -278,6 +284,87 @@ export async function createAtomicCore(options, construct) {
278
284
  registries.set('foundry-local', foundryLocalRuntime.registry);
279
285
  runtimes.set('foundry-local', foundryLocalRuntime);
280
286
  }
287
+ // LiteRT-LM (change `add-litert-lm-runtime`, task 6.6): one litert-host per model, where the
288
+ // platform rule of design D7 holds. The active build, OpenVINO and the NPU generation are read per
289
+ // load, from services wired below.
290
+ const liteRtLmPaths = layout.provider('litert-lm');
291
+ const liteRtActiveBuild = async () => {
292
+ const dir = await engineBuilds.activeDir('litert-lm');
293
+ return dir ? { dir, version: basename(dirname(dir)) } : undefined;
294
+ };
295
+ // The proxy policy of one request decides that request's fetch; nothing about it is kept.
296
+ const fetchFor = (proxy) => policyFetchFor({ proxy: proxy ?? null }, options.fetch ?? fetch);
297
+ const liteRtManifest = new EngineManifestSource(manifestKinds(layout)['litert-lm'], {
298
+ env,
299
+ fetchFor,
300
+ log,
301
+ });
302
+ // Whether this machine has an NPU (task 6.5): asked once, on the first check that needs it.
303
+ let npuAnswer;
304
+ const foundryLocalNpu = () => (npuAnswer ??= probeNpu(nodeProbeDeps({ platform, arch: process.arch, env: options.env ?? process.env })));
305
+ // LiteRT-LM's NPU generation (change `add-litert-lm-runtime`, design D3): an NPU device on Windows,
306
+ // then the CPU model string; asked once. `ATOMIC_LITERT_LM_TEST_NPU` stands in for the machine in
307
+ // the e2e tests, where no Intel NPU is.
308
+ let liteRtNpuAnswer;
309
+ const liteRtNpu = () => (liteRtNpuAnswer ??= (async () => {
310
+ const standIn = env['ATOMIC_LITERT_LM_TEST_NPU'];
311
+ if (standIn === 'intel-lnl' || standIn === 'intel-ptl')
312
+ return standIn;
313
+ if (liteRtLmHost.platform !== 'win-x64' || (await foundryLocalNpu()).present === false)
314
+ return null;
315
+ return liteRtNpuGeneration((await hardware.info()).info.cpu.name);
316
+ })());
317
+ // LiteRT-LM's OpenVINO (task 6.4): offered on an Intel NPU LiteRT-LM targets, prepared on order.
318
+ const liteRtLmAccelerators = liteRtLmHost.platform === null
319
+ ? undefined
320
+ : new LiteRtLmAcceleratorService({
321
+ acceleratorsDir: liteRtLmPaths.acceleratorsDir,
322
+ tmpDir: liteRtLmPaths.tmpDir,
323
+ resolveBuild: liteRtActiveBuild,
324
+ // The cached manifest first: a published release never changes (conf's rule), and a load
325
+ // must not wait on the network for it.
326
+ release: async (version) => (await liteRtManifest.cached())?.releases.find((release) => release.version === version) ??
327
+ (await liteRtManifest.read()).manifest?.releases.find((release) => release.version === version) ??
328
+ null,
329
+ npuGeneration: liteRtNpu,
330
+ download: async (taskId, item, onFraction) => {
331
+ const off = emitter.on('download:progress', (progress) => {
332
+ if (progress.taskId === taskId && progress.total > 0)
333
+ onFraction(Math.min(1, progress.transferred / progress.total));
334
+ });
335
+ try {
336
+ await downloader.download(taskId, [{ ...item, model_id: taskId }]);
337
+ }
338
+ finally {
339
+ off();
340
+ }
341
+ },
342
+ emit: (name, payload) => emitter.emit(name, payload),
343
+ });
344
+ const liteRtLmRuntime = liteRtLmHost.platform === null || !liteRtLmAccelerators
345
+ ? undefined
346
+ : new LiteRtLmRuntime({
347
+ layout,
348
+ registry: new ModelRegistry(layout, 'litert-lm'),
349
+ instanceId: lock.instanceId,
350
+ hostPlatform: liteRtLmHost.platform,
351
+ hostCommand: liteRtHost,
352
+ resolveBuild: liteRtActiveBuild,
353
+ openVinoLibs: liteRtLmAccelerators.libsDir.bind(liteRtLmAccelerators),
354
+ npuGeneration: liteRtNpu,
355
+ trustedHosts: managedTrustedHosts,
356
+ readSettings: async () => settings.get('litert-lm'),
357
+ journal,
358
+ emit: (name, payload) => emitter.emit(name, payload),
359
+ claimGpu: gpuResidency.hook('litert-lm'),
360
+ baseEnv: env,
361
+ log: runtimeLog,
362
+ ...(options.backendOutput ? { backendOutput: options.backendOutput } : {}),
363
+ });
364
+ if (liteRtLmRuntime) {
365
+ registries.set('litert-lm', liteRtLmRuntime.registry);
366
+ runtimes.set('litert-lm', liteRtLmRuntime);
367
+ }
281
368
  const optimalStore = await OptimalBackendStore.open(layout.core.optimalBackend, (provider, state) => {
282
369
  emitter.emit('backend:optimal-changed', { provider, ...state });
283
370
  });
@@ -291,8 +378,6 @@ export async function createAtomicCore(options, construct) {
291
378
  unload: (provider, modelId) => core.unload(provider, modelId),
292
379
  fetch: options.fetch ?? fetch,
293
380
  });
294
- // The proxy policy of one request decides that request's fetch; nothing about it is kept.
295
- const fetchFor = (proxy) => policyFetchFor({ proxy: proxy ?? null }, options.fetch ?? fetch);
296
381
  // One release-index service for the fork: its memory TTL and in-flight coalescing only help
297
382
  // when every caller shares them.
298
383
  const turboquantCatalog = new TurboquantCatalogService({
@@ -452,6 +537,7 @@ export async function createAtomicCore(options, construct) {
452
537
  'sd-cpp': layout.diffusion.backendsDir,
453
538
  'mlx': layout.provider('mlx').backendsDir,
454
539
  'foundry-local': foundryLocalPaths.backendsDir,
540
+ 'litert-lm': layout.provider('litert-lm').backendsDir,
455
541
  },
456
542
  failedBackendsFile: join(layout.diffusion.root, 'failed-backends.json'),
457
543
  resourcesDir: options.resourcesDir,
@@ -465,14 +551,18 @@ export async function createAtomicCore(options, construct) {
465
551
  fetchFor,
466
552
  log,
467
553
  }),
554
+ 'litert-lm': liteRtManifest,
468
555
  },
469
- foundryLocalHost,
470
- foundryHostProbe: async (libDir) => {
471
- await runFoundryHostProbe(foundryHost, {
472
- libDir,
473
- appDataDir: foundryLocalPaths.runtimeDir,
474
- logsDir: foundryLocalPaths.logsDir,
475
- }, { env });
556
+ hostPlatforms: { 'foundry-local': foundryLocalHost, 'litert-lm': liteRtLmHost },
557
+ hostProbes: {
558
+ 'foundry-local': async (libDir) => {
559
+ await runFoundryHostProbe(foundryHost, {
560
+ libDir,
561
+ appDataDir: foundryLocalPaths.runtimeDir,
562
+ logsDir: foundryLocalPaths.logsDir,
563
+ }, { env });
564
+ },
565
+ 'litert-lm': liteRtHostProber(liteRtHost, env),
476
566
  },
477
567
  hardware: () => hardware.facts(),
478
568
  hosts: {
@@ -481,14 +571,23 @@ export async function createAtomicCore(options, construct) {
481
571
  'mlx': mlxRuntime instanceof MlxRuntime ? mlxRuntime.engineHost() : IDLE_ENGINE_HOST,
482
572
  // Where the provider is not registered nothing runs from a build.
483
573
  'foundry-local': foundryLocalRuntime ? foundryLocalRuntime.engineHost() : IDLE_ENGINE_HOST,
574
+ 'litert-lm': liteRtLmRuntime ? liteRtLmRuntime.engineHost() : IDLE_ENGINE_HOST,
484
575
  },
485
576
  availableSpace: defaultAvailableSpace,
486
577
  emit: (name, payload) => emitter.emit(name, payload),
487
578
  log,
488
579
  });
489
- // Whether this machine has an NPU (task 6.5): asked once, on the first check that needs it.
490
- let npuAnswer;
491
- const foundryLocalNpu = () => (npuAnswer ??= probeNpu(nodeProbeDeps({ platform, arch: process.arch, env: options.env ?? process.env })));
580
+ const liteRtLmCheck = liteRtLmRuntime && liteRtLmAccelerators && liteRtLmHost.platform !== null
581
+ ? new LiteRtLmCheckService({
582
+ platform: liteRtLmHost.platform,
583
+ modelsDir: liteRtLmPaths.modelsDir,
584
+ registry: liteRtLmRuntime.registry,
585
+ resolveBuild: liteRtActiveBuild,
586
+ npuGeneration: liteRtNpu,
587
+ openVinoLibs: liteRtLmAccelerators.libsDir.bind(liteRtLmAccelerators),
588
+ inspect: (buildDir, file) => liteRtLmRuntime.inspect(buildDir, file),
589
+ })
590
+ : undefined;
492
591
  // Foundry Local's accelerators (task 6.4, design D3): probed from the active build when a client
493
592
  // asks, prepared only when one orders it. Only where the platform rule registers the provider.
494
593
  const foundryLocalAccelerators = foundryLocalHost.platform === null
@@ -655,6 +754,7 @@ export async function createAtomicCore(options, construct) {
655
754
  const engineHandles = [];
656
755
  for (const engine of hostEngines(platform, [...managedRuntimes.keys()], {
657
756
  foundryLocal: foundryLocalHost.platform !== null,
757
+ liteRtLm: liteRtLmHost.platform !== null,
658
758
  })) {
659
759
  const kind = ENGINE_KINDS[engine];
660
760
  if (kind === 'llamacpp') {
@@ -719,9 +819,9 @@ export async function createAtomicCore(options, construct) {
719
819
  increaseCtx: (provider, modelId, reason) => core.increaseCtx(provider, modelId, reason),
720
820
  recreateSession: (provider, modelId) => core.recreateSession(provider, modelId),
721
821
  hardware,
722
- ...(foundryLocalAccelerators
723
- ? {
724
- nativeModelChecks: {
822
+ nativeModelChecks: {
823
+ ...(foundryLocalAccelerators
824
+ ? {
725
825
  // Task 6.5: the platform, the active build, the last probe, the NPU — no network.
726
826
  'foundry-local': async (body) => {
727
827
  const request = parseFoundryLocalCheckRequest(body);
@@ -734,13 +834,29 @@ export async function createAtomicCore(options, construct) {
734
834
  npu: (await foundryLocalNpu()).present,
735
835
  }, request);
736
836
  },
737
- },
837
+ }
838
+ : {}),
839
+ // LiteRT-LM (task 6.5): the variant without the network, a file with its own facts.
840
+ ...(liteRtLmCheck
841
+ ? { 'litert-lm': async (body) => liteRtLmCheck.check(parseLiteRtLmCheckRequest(body)) }
842
+ : {}),
843
+ },
844
+ ...(foundryLocalAccelerators
845
+ ? {
738
846
  foundryLocal: {
739
847
  accelerators: (force) => foundryLocalAccelerators.list({ force }),
740
848
  prepare: (request) => foundryLocalAccelerators.prepare(request),
741
849
  },
742
850
  }
743
851
  : {}),
852
+ ...(liteRtLmAccelerators
853
+ ? {
854
+ liteRtLm: {
855
+ accelerators: () => liteRtLmAccelerators.list(),
856
+ prepare: (request) => liteRtLmAccelerators.prepare(request),
857
+ },
858
+ }
859
+ : {}),
744
860
  foundationModelsAvailability: (force) => {
745
861
  const runtime = runtimes.get('foundation-models');
746
862
  return runtime instanceof FoundationModelsRuntime
@@ -872,6 +988,11 @@ export async function createAtomicCore(options, construct) {
872
988
  ;
873
989
  core.inspecting = enabled;
874
990
  },
991
+ selection: () => [...core.servedSelection].map(([model, provider]) => ({ model, provider })),
992
+ setSelection: (models) => {
993
+ ;
994
+ core.servedSelection = new Map(models.map((m) => [m.model, m.provider]));
995
+ },
875
996
  status: () => core.publicState(),
876
997
  start: (opts) => core.startPublicServer(opts),
877
998
  stop: () => core.stopPublicServer(),