@atomic-chat/core 0.17.0 → 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.
Files changed (166) hide show
  1. package/dist/app-daemon.js +9 -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 +10 -1
  7. package/dist/client/control-client.js +15 -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 +11 -0
  13. package/dist/config/paths.js.map +1 -1
  14. package/dist/contracts/engine-builds.d.ts +1 -1
  15. package/dist/contracts/engine-builds.js +1 -1
  16. package/dist/contracts/engine-builds.js.map +1 -1
  17. package/dist/contracts/engines.d.ts +1 -1
  18. package/dist/contracts/engines.js +2 -0
  19. package/dist/contracts/engines.js.map +1 -1
  20. package/dist/contracts/errors.d.ts +7 -1
  21. package/dist/contracts/errors.js.map +1 -1
  22. package/dist/contracts/events.d.ts +7 -0
  23. package/dist/contracts/foundry-local.d.ts +77 -0
  24. package/dist/contracts/foundry-local.js +17 -0
  25. package/dist/contracts/foundry-local.js.map +1 -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/model-yml.d.ts +28 -0
  30. package/dist/contracts/model-yml.js +11 -0
  31. package/dist/contracts/model-yml.js.map +1 -1
  32. package/dist/contracts/session.d.ts +5 -1
  33. package/dist/contracts/session.js.map +1 -1
  34. package/dist/contracts/settings.d.ts +5 -1
  35. package/dist/contracts/settings.js.map +1 -1
  36. package/dist/core/atomic-core.d.ts +1 -1
  37. package/dist/core/create.js +106 -5
  38. package/dist/core/create.js.map +1 -1
  39. package/dist/core/types.d.ts +9 -0
  40. package/dist/core/types.js.map +1 -1
  41. package/dist/diffusion/install.d.ts +0 -4
  42. package/dist/diffusion/install.js +5 -2
  43. package/dist/diffusion/install.js.map +1 -1
  44. package/dist/diffusion/server-process.d.ts +5 -2
  45. package/dist/diffusion/server-process.js +10 -2
  46. package/dist/diffusion/server-process.js.map +1 -1
  47. package/dist/downloads/archive.d.ts +1 -1
  48. package/dist/downloads/archive.js +2 -2
  49. package/dist/downloads/archive.js.map +1 -1
  50. package/dist/engine-builds/engines.d.ts +83 -0
  51. package/dist/engine-builds/engines.js +144 -0
  52. package/dist/engine-builds/engines.js.map +1 -0
  53. package/dist/engine-builds/foundry-local.d.ts +22 -0
  54. package/dist/engine-builds/foundry-local.js +100 -0
  55. package/dist/engine-builds/foundry-local.js.map +1 -0
  56. package/dist/engine-builds/manifest.d.ts +57 -6
  57. package/dist/engine-builds/manifest.js +109 -4
  58. package/dist/engine-builds/manifest.js.map +1 -1
  59. package/dist/engine-builds/order.d.ts +2 -1
  60. package/dist/engine-builds/order.js +11 -4
  61. package/dist/engine-builds/order.js.map +1 -1
  62. package/dist/engine-builds/select.d.ts +27 -0
  63. package/dist/engine-builds/select.js +45 -0
  64. package/dist/engine-builds/select.js.map +1 -1
  65. package/dist/engine-builds/service.d.ts +14 -15
  66. package/dist/engine-builds/service.js +68 -126
  67. package/dist/engine-builds/service.js.map +1 -1
  68. package/dist/engines/service.d.ts +6 -3
  69. package/dist/engines/service.js +6 -3
  70. package/dist/engines/service.js.map +1 -1
  71. package/dist/hardware/index.d.ts +1 -0
  72. package/dist/hardware/index.js +1 -0
  73. package/dist/hardware/index.js.map +1 -1
  74. package/dist/hardware/npu.d.ts +14 -0
  75. package/dist/hardware/npu.js +29 -0
  76. package/dist/hardware/npu.js.map +1 -0
  77. package/dist/integrations/detect.d.ts +2 -0
  78. package/dist/integrations/detect.js +4 -3
  79. package/dist/integrations/detect.js.map +1 -1
  80. package/dist/lock/instance-lock.js +5 -2
  81. package/dist/lock/instance-lock.js.map +1 -1
  82. package/dist/lock/process-identity.d.ts +9 -3
  83. package/dist/lock/process-identity.js +75 -9
  84. package/dist/lock/process-identity.js.map +1 -1
  85. package/dist/router/resolve.d.ts +2 -2
  86. package/dist/router/resolve.js +2 -1
  87. package/dist/router/resolve.js.map +1 -1
  88. package/dist/runtime/foundry-local/accelerators.d.ts +42 -0
  89. package/dist/runtime/foundry-local/accelerators.js +153 -0
  90. package/dist/runtime/foundry-local/accelerators.js.map +1 -0
  91. package/dist/runtime/foundry-local/check.d.ts +19 -0
  92. package/dist/runtime/foundry-local/check.js +69 -0
  93. package/dist/runtime/foundry-local/check.js.map +1 -0
  94. package/dist/runtime/foundry-local/host/args.d.ts +44 -0
  95. package/dist/runtime/foundry-local/host/args.js +109 -0
  96. package/dist/runtime/foundry-local/host/args.js.map +1 -0
  97. package/dist/runtime/foundry-local/host/execution-providers.d.ts +27 -0
  98. package/dist/runtime/foundry-local/host/execution-providers.js +43 -0
  99. package/dist/runtime/foundry-local/host/execution-providers.js.map +1 -0
  100. package/dist/runtime/foundry-local/host/ffi-bun.d.ts +17 -0
  101. package/dist/runtime/foundry-local/host/ffi-bun.js +256 -0
  102. package/dist/runtime/foundry-local/host/ffi-bun.js.map +1 -0
  103. package/dist/runtime/foundry-local/host/library.d.ts +61 -0
  104. package/dist/runtime/foundry-local/host/library.js +17 -0
  105. package/dist/runtime/foundry-local/host/library.js.map +1 -0
  106. package/dist/runtime/foundry-local/host/run.d.ts +54 -0
  107. package/dist/runtime/foundry-local/host/run.js +316 -0
  108. package/dist/runtime/foundry-local/host/run.js.map +1 -0
  109. package/dist/runtime/foundry-local/host-process.d.ts +78 -0
  110. package/dist/runtime/foundry-local/host-process.js +182 -0
  111. package/dist/runtime/foundry-local/host-process.js.map +1 -0
  112. package/dist/runtime/foundry-local/index.d.ts +11 -0
  113. package/dist/runtime/foundry-local/index.js +11 -0
  114. package/dist/runtime/foundry-local/index.js.map +1 -0
  115. package/dist/runtime/foundry-local/model-yml.d.ts +8 -0
  116. package/dist/runtime/foundry-local/model-yml.js +63 -0
  117. package/dist/runtime/foundry-local/model-yml.js.map +1 -0
  118. package/dist/runtime/foundry-local/runtime.d.ts +88 -0
  119. package/dist/runtime/foundry-local/runtime.js +321 -0
  120. package/dist/runtime/foundry-local/runtime.js.map +1 -0
  121. package/dist/runtime/llamacpp/args.d.ts +5 -0
  122. package/dist/runtime/llamacpp/args.js +7 -1
  123. package/dist/runtime/llamacpp/args.js.map +1 -1
  124. package/dist/runtime/llamacpp/errors.d.ts +1 -0
  125. package/dist/runtime/llamacpp/errors.js +10 -0
  126. package/dist/runtime/llamacpp/errors.js.map +1 -1
  127. package/dist/runtime/llamacpp/load-plan.d.ts +5 -0
  128. package/dist/runtime/llamacpp/load-plan.js +8 -0
  129. package/dist/runtime/llamacpp/load-plan.js.map +1 -1
  130. package/dist/runtime/llamacpp/runtime-device.d.ts +8 -0
  131. package/dist/runtime/llamacpp/runtime-device.js +9 -3
  132. package/dist/runtime/llamacpp/runtime-device.js.map +1 -1
  133. package/dist/runtime/llamacpp/runtime.d.ts +6 -1
  134. package/dist/runtime/llamacpp/runtime.js +19 -3
  135. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  136. package/dist/runtime/managed-text/gateway.d.ts +2 -0
  137. package/dist/runtime/managed-text/gateway.js +1 -1
  138. package/dist/runtime/managed-text/gateway.js.map +1 -1
  139. package/dist/runtime/shared/external-sessions.js +1 -0
  140. package/dist/runtime/shared/external-sessions.js.map +1 -1
  141. package/dist/runtime/shared/process.d.ts +13 -1
  142. package/dist/runtime/shared/process.js +21 -12
  143. package/dist/runtime/shared/process.js.map +1 -1
  144. package/dist/server/control/router.js +2 -0
  145. package/dist/server/control/router.js.map +1 -1
  146. package/dist/server/control/routes/foundry-local.d.ts +10 -0
  147. package/dist/server/control/routes/foundry-local.js +42 -0
  148. package/dist/server/control/routes/foundry-local.js.map +1 -0
  149. package/dist/server/control/routes/models.js +3 -1
  150. package/dist/server/control/routes/models.js.map +1 -1
  151. package/dist/server/control/types.d.ts +17 -1
  152. package/dist/server/control/types.js.map +1 -1
  153. package/dist/server/http.js +2 -0
  154. package/dist/server/http.js.map +1 -1
  155. package/dist/server/public/errors.d.ts +1 -0
  156. package/dist/server/public/errors.js +18 -0
  157. package/dist/server/public/errors.js.map +1 -1
  158. package/dist/server/public/listing.js +1 -0
  159. package/dist/server/public/listing.js.map +1 -1
  160. package/dist/settings/schema/foundry-local.json +14 -0
  161. package/dist/settings/schema.js +8 -0
  162. package/dist/settings/schema.js.map +1 -1
  163. package/dist/version.d.ts +1 -1
  164. package/dist/version.js +1 -1
  165. package/package.json +2 -1
  166. package/src/settings/schema/foundry-local.json +14 -0
@@ -1,7 +1,9 @@
1
1
  /**
2
- * The two conf manifests the engine-builds module installs from: `backends/sdcpp-manifest.json`
2
+ * The conf manifests the engine-builds module installs from: `backends/sdcpp-manifest.json`
3
3
  * (stable-diffusion.cpp, which the desktop used to read itself) and `backends/mlx-manifest.json`
4
- * (the mlx-vlm fork's `mlx-server`). Openspec change `move-sdcpp-mlx-install-to-core`, design D6.
4
+ * (the mlx-vlm fork's `mlx-server`), openspec change `move-sdcpp-mlx-install-to-core` design D6;
5
+ * `backends/foundry-local-manifest.json` (Microsoft Foundry Local releases), change
6
+ * `add-foundry-local` design D2.
5
7
  *
6
8
  * The source follows the house pattern of `PrismCatalogService` and `cached-document.ts`: conf main
7
9
  * over `fetch` with an 8 s budget and the request's proxy, an `ATOMIC_*_MANIFEST_URL` override that
@@ -15,9 +17,15 @@
15
17
  * kept — the catalog shows it — but `assetInstallable` says no: nothing unverified is executed.
16
18
  */
17
19
  import type { DataLayout } from '../config/index.js';
18
- import type { ProxyConfig } from '../contracts/index.js';
20
+ import type { EngineBuildId, ProxyConfig } from '../contracts/index.js';
21
+ /**
22
+ * The `FOUNDRY_LOCAL_API_VERSION`s this core's `foundry-host` binds (design D1). A release built
23
+ * against another one is not offered.
24
+ */
25
+ export declare const FOUNDRY_LOCAL_C_API_VERSIONS: readonly number[];
19
26
  export declare const SDCPP_MANIFEST_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/sdcpp-manifest.json";
20
27
  export declare const MLX_MANIFEST_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/mlx-manifest.json";
28
+ export declare const FOUNDRY_LOCAL_MANIFEST_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/foundry-local-manifest.json";
21
29
  export declare const ENGINE_MANIFEST_TIMEOUT_MS = 8000;
22
30
  /** A fetched manifest is reused for this long unless the caller forces a re-read. */
23
31
  export declare const ENGINE_MANIFEST_TTL_MS: number;
@@ -52,12 +60,49 @@ export interface MlxManifest {
52
60
  published_at: string;
53
61
  assets: MlxAsset[];
54
62
  }
63
+ export declare const FOUNDRY_LOCAL_PLATFORMS: readonly ["win-x64", "win-arm64", "macos-arm64", "linux-x64", "linux-arm64"];
64
+ export type FoundryLocalPlatform = (typeof FOUNDRY_LOCAL_PLATFORMS)[number];
65
+ export interface FoundryLocalAsset {
66
+ platform: FoundryLocalPlatform;
67
+ name: string;
68
+ size: number;
69
+ sha256: string;
70
+ }
71
+ export interface FoundryLocalRelease {
72
+ /** The `microsoft/foundry-local` release tag, `v<major>.<minor>.<patch>`. */
73
+ tag: string;
74
+ /** The order builds of this engine have. */
75
+ published_at: string;
76
+ min_core_version: string;
77
+ /** `FOUNDRY_LOCAL_API_VERSION` of the release's `foundry_local_c.h`. */
78
+ c_api_version: number;
79
+ notes_url?: string;
80
+ assets: FoundryLocalAsset[];
81
+ }
82
+ /** The releases this core can install, newest first; never empty. */
83
+ export interface FoundryLocalManifest {
84
+ upstream_repo: string;
85
+ releases: FoundryLocalRelease[];
86
+ }
87
+ /** What decides which releases a core accepts. */
88
+ export interface FoundryLocalAcceptance {
89
+ coreVersion: string;
90
+ /** The C API versions this core's `foundry-host` speaks. */
91
+ cApiVersions: readonly number[];
92
+ }
55
93
  /** A conf date-time this core can order by: RFC 3339 shape and a real calendar date. */
56
94
  export declare function isDateTime(value: unknown): value is string;
57
95
  /** `backends/sdcpp-manifest.json`, or throw why it is not one. */
58
96
  export declare function parseSdcppManifest(data: unknown): SdcppManifest;
59
97
  /** `backends/mlx-manifest.json`, or throw why it is not one. */
60
98
  export declare function parseMlxManifest(data: unknown): MlxManifest;
99
+ /**
100
+ * `backends/foundry-local-manifest.json`: strict per field, lenient per record — a release or asset
101
+ * that does not parse is skipped, as is a release for a newer core or a C API `accept` does not
102
+ * speak (spec `foundry-local-runtime`, "Релизы рантайма публикуются в conf"). Throws for another
103
+ * schema version, a document without a valid repository, or no release left to install.
104
+ */
105
+ export declare function parseFoundryLocalManifest(data: unknown, accept: FoundryLocalAcceptance): FoundryLocalManifest;
61
106
  /** An asset core may download and run: pinned by both `sha256` and `size`. */
62
107
  export declare function assetInstallable(asset: {
63
108
  sha256?: string;
@@ -66,7 +111,8 @@ export declare function assetInstallable(asset: {
66
111
  /** The mirror when the manifest names one, else the upstream release (which never carries `-a<sha>`). */
67
112
  export declare function sdcppAssetUrl(manifest: SdcppManifest, asset: SdcppAsset): string;
68
113
  export declare function mlxAssetUrl(manifest: MlxManifest, asset: MlxAsset): string;
69
- /** Which manifest: everything that differs between the two engines. */
114
+ export declare function foundryLocalAssetUrl(manifest: FoundryLocalManifest, release: FoundryLocalRelease, asset: FoundryLocalAsset): string;
115
+ /** Which manifest: everything that differs between the engines. */
70
116
  export interface ManifestKind<T> {
71
117
  label: string;
72
118
  url: string;
@@ -74,9 +120,14 @@ export interface ManifestKind<T> {
74
120
  parse(data: unknown): T;
75
121
  cacheFile: string;
76
122
  }
123
+ /** The manifest document of each engine. */
124
+ export interface ManifestOf {
125
+ 'sd-cpp': SdcppManifest;
126
+ 'mlx': MlxManifest;
127
+ 'foundry-local': FoundryLocalManifest;
128
+ }
77
129
  export declare function manifestKinds(layout: DataLayout): {
78
- 'sd-cpp': ManifestKind<SdcppManifest>;
79
- 'mlx': ManifestKind<MlxManifest>;
130
+ [K in EngineBuildId]: ManifestKind<ManifestOf[K]>;
80
131
  };
81
132
  /** What a read found. `source` is `null` exactly when `manifest` is. */
82
133
  export interface ManifestRead<T> {
@@ -1,7 +1,9 @@
1
1
  /**
2
- * The two conf manifests the engine-builds module installs from: `backends/sdcpp-manifest.json`
2
+ * The conf manifests the engine-builds module installs from: `backends/sdcpp-manifest.json`
3
3
  * (stable-diffusion.cpp, which the desktop used to read itself) and `backends/mlx-manifest.json`
4
- * (the mlx-vlm fork's `mlx-server`). Openspec change `move-sdcpp-mlx-install-to-core`, design D6.
4
+ * (the mlx-vlm fork's `mlx-server`), openspec change `move-sdcpp-mlx-install-to-core` design D6;
5
+ * `backends/foundry-local-manifest.json` (Microsoft Foundry Local releases), change
6
+ * `add-foundry-local` design D2.
5
7
  *
6
8
  * The source follows the house pattern of `PrismCatalogService` and `cached-document.ts`: conf main
7
9
  * over `fetch` with an 8 s budget and the request's proxy, an `ATOMIC_*_MANIFEST_URL` override that
@@ -17,18 +19,35 @@
17
19
  import { mkdir, readFile as nodeReadFile, rename, rm, writeFile } from 'node:fs/promises';
18
20
  import { join } from 'node:path';
19
21
  import { fileURLToPath } from 'node:url';
20
- import { withHardTimeout } from '../backend/index.js';
22
+ import { compareVersions, withHardTimeout } from '../backend/index.js';
23
+ import { CORE_VERSION } from '../version.js';
24
+ /**
25
+ * The `FOUNDRY_LOCAL_API_VERSION`s this core's `foundry-host` binds (design D1). A release built
26
+ * against another one is not offered.
27
+ */
28
+ export const FOUNDRY_LOCAL_C_API_VERSIONS = [2];
21
29
  export const SDCPP_MANIFEST_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/sdcpp-manifest.json';
22
30
  export const MLX_MANIFEST_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/mlx-manifest.json';
31
+ export const FOUNDRY_LOCAL_MANIFEST_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/foundry-local-manifest.json';
23
32
  export const ENGINE_MANIFEST_TIMEOUT_MS = 8_000;
24
33
  /** A fetched manifest is reused for this long unless the caller forces a re-read. */
25
34
  export const ENGINE_MANIFEST_TTL_MS = 60 * 60 * 1000;
26
35
  export const SDCPP_UPSTREAM_REPO = 'leejet/stable-diffusion.cpp';
36
+ export const FOUNDRY_LOCAL_PLATFORMS = [
37
+ 'win-x64',
38
+ 'win-arm64',
39
+ 'macos-arm64',
40
+ 'linux-x64',
41
+ 'linux-arm64',
42
+ ];
27
43
  const SDCPP_TAG_RE = /^master-[0-9]+-[0-9a-f]{7}(-a[0-9a-f]{7})?$/;
28
44
  const MLX_TAG_RE = /^mlxvlm-macos-arm64-[0-9a-f]{7,40}$/;
29
45
  const BACKEND_ID_RE = /^[a-z0-9.-]+$/;
30
46
  /** A bare file name: it lands in a download path and a URL. */
31
- const ASSET_NAME_RE = /^[A-Za-z0-9._-]+\.(zip|tar\.gz)$/;
47
+ const ASSET_NAME_RE = /^[A-Za-z0-9._-]+\.(zip|tar\.gz|tgz)$/;
48
+ const FOUNDRY_LOCAL_TAG_RE = /^v\d+\.\d+\.\d+$/;
49
+ const FOUNDRY_LOCAL_ASSET_NAME_RE = /^foundry-local-[a-z0-9-]+\.(zip|tgz)$/;
50
+ const SEMVER_RE = /^\d+\.\d+\.\d+$/;
32
51
  const REPO_RE = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/;
33
52
  const SHA256_RE = /^[0-9a-f]{64}$/;
34
53
  /** RFC 3339 with a zone; `Date.parse` alone accepts far more. */
@@ -119,6 +138,79 @@ export function parseMlxManifest(data) {
119
138
  const assets = sanitizeAssets(data['assets']).map(({ companion: _companion, ...asset }) => asset);
120
139
  return { upstream_repo: repo, tag_name: tag, published_at: published, assets };
121
140
  }
141
+ function parseFoundryLocalAsset(raw) {
142
+ if (!isRecord(raw))
143
+ return null;
144
+ const { platform, name, size, sha256 } = raw;
145
+ if (!FOUNDRY_LOCAL_PLATFORMS.some((known) => known === platform))
146
+ return null;
147
+ if (typeof name !== 'string' || !FOUNDRY_LOCAL_ASSET_NAME_RE.test(name))
148
+ return null;
149
+ if (typeof size !== 'number' || !Number.isSafeInteger(size) || size <= 0)
150
+ return null;
151
+ if (typeof sha256 !== 'string' || !SHA256_RE.test(sha256))
152
+ return null;
153
+ return { platform: platform, name, size, sha256 };
154
+ }
155
+ /** One release, or `null` when a field is not what the conf schema says. */
156
+ function parseFoundryLocalRelease(raw) {
157
+ if (!isRecord(raw))
158
+ return null;
159
+ const { tag, published_at, min_core_version, c_api_version, notes_url } = raw;
160
+ if (typeof tag !== 'string' || !FOUNDRY_LOCAL_TAG_RE.test(tag))
161
+ return null;
162
+ if (!isDateTime(published_at))
163
+ return null;
164
+ if (typeof min_core_version !== 'string' || !SEMVER_RE.test(min_core_version))
165
+ return null;
166
+ if (typeof c_api_version !== 'number' || !Number.isSafeInteger(c_api_version) || c_api_version < 1)
167
+ return null;
168
+ if (!Array.isArray(raw['assets']))
169
+ return null;
170
+ const assets = [];
171
+ for (const item of raw['assets']) {
172
+ const asset = parseFoundryLocalAsset(item);
173
+ // conf's CI refuses a platform listed twice; here the first one wins, as for the other engines.
174
+ if (asset && !assets.some((known) => known.platform === asset.platform))
175
+ assets.push(asset);
176
+ }
177
+ if (assets.length === 0)
178
+ return null;
179
+ return {
180
+ tag,
181
+ published_at,
182
+ min_core_version,
183
+ c_api_version,
184
+ ...(typeof notes_url === 'string' && /^https:\/\/\S+$/.test(notes_url) ? { notes_url } : {}),
185
+ assets,
186
+ };
187
+ }
188
+ /**
189
+ * `backends/foundry-local-manifest.json`: strict per field, lenient per record — a release or asset
190
+ * that does not parse is skipped, as is a release for a newer core or a C API `accept` does not
191
+ * speak (spec `foundry-local-runtime`, "Релизы рантайма публикуются в conf"). Throws for another
192
+ * schema version, a document without a valid repository, or no release left to install.
193
+ */
194
+ export function parseFoundryLocalManifest(data, accept) {
195
+ if (!isRecord(data))
196
+ throw new Error('the Foundry Local manifest is not an object');
197
+ if (data['schema_version'] !== 1)
198
+ throw new Error(`the Foundry Local manifest has schema_version ${JSON.stringify(data['schema_version'])}, not 1`);
199
+ const repo = data['upstream_repo'];
200
+ if (typeof repo !== 'string' || !REPO_RE.test(repo))
201
+ throw new Error(`the Foundry Local manifest has no valid upstream_repo (${JSON.stringify(repo)})`);
202
+ if (!Array.isArray(data['releases']))
203
+ throw new Error('the Foundry Local manifest has no releases array');
204
+ const releases = data['releases']
205
+ .map(parseFoundryLocalRelease)
206
+ .filter((release) => release !== null)
207
+ .filter((release) => compareVersions(release.min_core_version, accept.coreVersion) <= 0 &&
208
+ accept.cApiVersions.includes(release.c_api_version))
209
+ .sort((a, b) => Date.parse(b.published_at) - Date.parse(a.published_at));
210
+ if (releases.length === 0)
211
+ throw new Error(`the Foundry Local manifest lists no release this core can install (core ${accept.coreVersion}, C API ${accept.cApiVersions.join('/')})`);
212
+ return { upstream_repo: repo, releases };
213
+ }
122
214
  /** An asset core may download and run: pinned by both `sha256` and `size`. */
123
215
  export function assetInstallable(asset) {
124
216
  return typeof asset.sha256 === 'string' && typeof asset.size === 'number';
@@ -133,6 +225,9 @@ export function sdcppAssetUrl(manifest, asset) {
133
225
  export function mlxAssetUrl(manifest, asset) {
134
226
  return `https://github.com/${manifest.upstream_repo}/releases/download/${manifest.tag_name}/${asset.name}`;
135
227
  }
228
+ export function foundryLocalAssetUrl(manifest, release, asset) {
229
+ return `https://github.com/${manifest.upstream_repo}/releases/download/${release.tag}/${asset.name}`;
230
+ }
136
231
  export function manifestKinds(layout) {
137
232
  return {
138
233
  'sd-cpp': {
@@ -149,6 +244,16 @@ export function manifestKinds(layout) {
149
244
  parse: parseMlxManifest,
150
245
  cacheFile: join(layout.provider('mlx').root, 'mlx-manifest.cache.json'),
151
246
  },
247
+ 'foundry-local': {
248
+ label: 'Foundry Local manifest',
249
+ url: FOUNDRY_LOCAL_MANIFEST_URL,
250
+ urlEnv: 'ATOMIC_FOUNDRY_LOCAL_MANIFEST_URL',
251
+ parse: (data) => parseFoundryLocalManifest(data, {
252
+ coreVersion: CORE_VERSION,
253
+ cApiVersions: FOUNDRY_LOCAL_C_API_VERSIONS,
254
+ }),
255
+ cacheFile: join(layout.provider('foundry-local').root, 'foundry-local-manifest.cache.json'),
256
+ },
152
257
  };
153
258
  }
154
259
  export class EngineManifestSource {
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/engine-builds/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/engine-builds/manifest.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  * `diffusion/compat.ts` reads); at an equal number the Atomic rebuild (`-a<sha>`) is newer. Two
8
8
  * rebuilds of one tag are equal: their shas carry no order.
9
9
  * - MLX: `published_at` of the GitHub release. The tags are commit hashes.
10
+ * - Foundry Local: `published_at` of the `microsoft/foundry-local` release, like MLX.
10
11
  *
11
12
  * A build whose order cannot be read (a dev stub, an installer without `mlx-server.json`) is older
12
13
  * than every build whose order can, so any verified build replaces it.
@@ -14,7 +15,7 @@
14
15
  import type { EngineBuildId } from '../contracts/index.js';
15
16
  export interface OrderedBuild {
16
17
  tag: string;
17
- /** MLX only. */
18
+ /** MLX and Foundry Local. */
18
19
  published_at?: string | null;
19
20
  }
20
21
  /** `[build number, 1 for an Atomic rebuild]`, or `null` for a tag without a build number. */
@@ -7,6 +7,7 @@
7
7
  * `diffusion/compat.ts` reads); at an equal number the Atomic rebuild (`-a<sha>`) is newer. Two
8
8
  * rebuilds of one tag are equal: their shas carry no order.
9
9
  * - MLX: `published_at` of the GitHub release. The tags are commit hashes.
10
+ * - Foundry Local: `published_at` of the `microsoft/foundry-local` release, like MLX.
10
11
  *
11
12
  * A build whose order cannot be read (a dev stub, an installer without `mlx-server.json`) is older
12
13
  * than every build whose order can, so any verified build replaces it.
@@ -19,7 +20,8 @@ export function sdcppBuildKey(tag) {
19
20
  return null;
20
21
  return [Number(match[1]), match[2] ? 1 : 0];
21
22
  }
22
- function mlxKey(build) {
23
+ /** MLX and Foundry Local: the release date. */
24
+ function publishedKey(build) {
23
25
  return isDateTime(build.published_at) ? [Date.parse(build.published_at)] : null;
24
26
  }
25
27
  function compareKeys(a, b) {
@@ -32,11 +34,16 @@ function compareKeys(a, b) {
32
34
  }
33
35
  return 0;
34
36
  }
37
+ /** Each engine's order key; `null` for a build whose order cannot be read. */
38
+ const ORDER_KEYS = {
39
+ 'sd-cpp': (build) => sdcppBuildKey(build.tag),
40
+ 'mlx': publishedKey,
41
+ 'foundry-local': publishedKey,
42
+ };
35
43
  /** Negative when `a` is older, positive when newer, zero when neither is. */
36
44
  export function compareBuilds(engine, a, b) {
37
- return engine === 'sd-cpp'
38
- ? compareKeys(sdcppBuildKey(a.tag), sdcppBuildKey(b.tag))
39
- : compareKeys(mlxKey(a), mlxKey(b));
45
+ const key = ORDER_KEYS[engine];
46
+ return compareKeys(key(a), key(b));
40
47
  }
41
48
  export function isNewerBuild(engine, candidate, than) {
42
49
  return compareBuilds(engine, candidate, than) > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"order.js","sourceRoot":"","sources":["../../src/engine-builds/order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAQ1C,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,SAAS,MAAM,CAAC,KAAmB;IACjC,OAAO,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,CAA2B,EAAE,CAA2B;IAC3E,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;IAC7B,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,CAAe,EAAE,CAAe;IACnF,OAAO,MAAM,KAAK,QAAQ;QACxB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAqB,EAAE,SAAuB,EAAE,IAAkB;IAC7F,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../src/engine-builds/order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAQ1C,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,+CAA+C;AAC/C,SAAS,YAAY,CAAC,KAAmB;IACvC,OAAO,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,CAA2B,EAAE,CAA2B;IAC3E,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;IAC7B,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,GAA6E;IAC3F,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7C,KAAK,EAAE,YAAY;IACnB,eAAe,EAAE,YAAY;CAC9B,CAAA;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,CAAe,EAAE,CAAe;IACnF,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAqB,EAAE,SAAuB,EAAE,IAAkB;IAC7F,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AACnD,CAAC"}
@@ -34,6 +34,7 @@
34
34
  */
35
35
  import type { DiffusionBackend } from '../contracts/index.js';
36
36
  import type { HardwareFacts } from '../hardware/index.js';
37
+ import type { FoundryLocalPlatform } from './manifest.js';
37
38
  /**
38
39
  * Smallest Vulkan device worth moving a Linux host off the CPU build for.
39
40
  * Mirrors `LINUX_VULKAN_MIN_VRAM_MIB` in
@@ -121,3 +122,29 @@ export declare function mlxHostChoice(host: {
121
122
  backend_id: string | null;
122
123
  reason: string | null;
123
124
  };
125
+ export interface FoundryLocalHostFacts {
126
+ platform: NodeJS.Platform;
127
+ arch: string;
128
+ /** `os.release()`; on macOS the Darwin version. */
129
+ osRelease: string;
130
+ /** `process.report.getReport().header.glibcVersionRuntime`; absent off glibc (musl, Windows, macOS). */
131
+ glibcVersion: string | undefined;
132
+ }
133
+ export type FoundryLocalHostPlatform = {
134
+ platform: FoundryLocalPlatform;
135
+ } | {
136
+ platform: null;
137
+ reason: string;
138
+ };
139
+ /** Which archive of a Foundry Local release this host runs, or why none (spec "Провайдер регистрируется только на поддерживаемых платформах"). */
140
+ export declare function foundryLocalHostPlatform(host: FoundryLocalHostFacts): FoundryLocalHostPlatform;
141
+ /** The host's archive in the newest installable release, as a one-rung ladder. */
142
+ export declare function foundryLocalHostChoice(host: FoundryLocalHostPlatform, release: {
143
+ assets: readonly {
144
+ platform: FoundryLocalPlatform;
145
+ }[];
146
+ } | null): {
147
+ ladder: string[];
148
+ backend_id: string | null;
149
+ reason: string | null;
150
+ };
@@ -220,4 +220,49 @@ export function mlxHostChoice(host, manifest) {
220
220
  return { backend_id: null, reason: 'The MLX manifest lists no build for Apple Silicon.' };
221
221
  return { backend_id: MACOS_ARM64, reason: null };
222
222
  }
223
+ // --- Foundry Local: one archive per platform (change `add-foundry-local`, design D7) ---------------
224
+ /** Darwin 24 is macOS 15: `libfoundry_local.dylib` is built with `minos 15.0`. */
225
+ const FOUNDRY_LOCAL_MIN_DARWIN = 24;
226
+ /** The oldest glibc Microsoft's Linux archives run on. */
227
+ const FOUNDRY_LOCAL_MIN_GLIBC = [2, 28];
228
+ const leadingNumbers = (version) => version.split('.').map((part) => Number.parseInt(part, 10));
229
+ /** Which archive of a Foundry Local release this host runs, or why none (spec "Провайдер регистрируется только на поддерживаемых платформах"). */
230
+ export function foundryLocalHostPlatform(host) {
231
+ const arch = host.arch === 'arm64' || host.arch === 'x64' ? host.arch : null;
232
+ if (host.platform === 'win32' && arch)
233
+ return { platform: `win-${arch}` };
234
+ if (host.platform === 'darwin') {
235
+ if (arch !== 'arm64')
236
+ return { platform: null, reason: 'Foundry Local runs on Apple Silicon Macs only.' };
237
+ const [darwin = 0] = leadingNumbers(host.osRelease);
238
+ return darwin >= FOUNDRY_LOCAL_MIN_DARWIN
239
+ ? { platform: 'macos-arm64' }
240
+ : { platform: null, reason: 'Foundry Local needs macOS 15 or newer.' };
241
+ }
242
+ if (host.platform === 'linux' && arch) {
243
+ const [major = 0, minor = 0] = host.glibcVersion ? leadingNumbers(host.glibcVersion) : [];
244
+ const [needMajor, needMinor] = FOUNDRY_LOCAL_MIN_GLIBC;
245
+ if (!host.glibcVersion || major < needMajor || (major === needMajor && minor < needMinor))
246
+ return {
247
+ platform: null,
248
+ reason: `Foundry Local needs glibc ${needMajor}.${needMinor} or newer${host.glibcVersion ? `; this system has ${host.glibcVersion}` : '; this system has none'}.`,
249
+ };
250
+ return { platform: `linux-${arch}` };
251
+ }
252
+ return { platform: null, reason: `Foundry Local does not run on ${host.platform} ${host.arch}.` };
253
+ }
254
+ /** The host's archive in the newest installable release, as a one-rung ladder. */
255
+ export function foundryLocalHostChoice(host, release) {
256
+ if (host.platform === null)
257
+ return { ladder: [], backend_id: null, reason: host.reason };
258
+ if (!release)
259
+ return { ladder: [], backend_id: null, reason: 'The Foundry Local manifest is unavailable.' };
260
+ if (!release.assets.some((asset) => asset.platform === host.platform))
261
+ return {
262
+ ladder: [],
263
+ backend_id: null,
264
+ reason: `The Foundry Local manifest lists no archive for ${host.platform}.`,
265
+ };
266
+ return { ladder: [host.platform], backend_id: host.platform, reason: null };
267
+ }
223
268
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/engine-builds/select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/engine-builds/select.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,8 @@
24
24
  import type { CoreEvents, EngineBuildCatalog, EngineBuildCatalogRequest, EngineBuildId, EngineBuildInstallRequest, EngineBuildInstallResult, EngineBuildRemoveResult, EngineBuildUpdateCheck, ProxyConfig } from '../contracts/index.js';
25
25
  import type { Downloader } from '../downloads/index.js';
26
26
  import type { HardwareFacts } from '../hardware/index.js';
27
- import type { ManifestRead, MlxManifest, SdcppManifest } from './manifest.js';
27
+ import type { ManifestOf, ManifestRead } from './manifest.js';
28
+ import type { FoundryLocalHostPlatform } from './select.js';
28
29
  /** What an engine's runtime lends this module. */
29
30
  export interface EngineHost {
30
31
  /** Run `fn` with this engine's model loads held off (sd.cpp's `loadLock`, MLX's load queue). */
@@ -53,17 +54,11 @@ export interface EngineBuildsDeps {
53
54
  platform: NodeJS.Platform;
54
55
  downloader: Pick<Downloader, 'download'>;
55
56
  manifests: {
56
- 'sd-cpp': {
57
+ [K in EngineBuildId]: {
57
58
  read(options?: {
58
59
  force?: boolean;
59
60
  proxy?: ProxyConfig | null;
60
- }): Promise<ManifestRead<SdcppManifest>>;
61
- };
62
- 'mlx': {
63
- read(options?: {
64
- force?: boolean;
65
- proxy?: ProxyConfig | null;
66
- }): Promise<ManifestRead<MlxManifest>>;
61
+ }): Promise<ManifestRead<ManifestOf[K]>>;
67
62
  };
68
63
  };
69
64
  hardware: () => Promise<Pick<HardwareFacts, 'osType' | 'arch' | 'cpuExtensions' | 'gpus'>>;
@@ -76,7 +71,11 @@ export interface EngineBuildsDeps {
76
71
  emit: <K extends 'engine-build:changed' | 'engine:changed'>(name: K, payload: CoreEvents[K]) => void;
77
72
  now?: () => number;
78
73
  log?: (level: 'info' | 'warn', message: string) => void;
79
- /** Test seams for the two probes. */
74
+ /** Which Foundry Local archive this host runs; absent, none (`foundryLocalHostPlatform`). */
75
+ foundryLocalHost?: FoundryLocalHostPlatform;
76
+ /** `foundry-host probe` of this core against an unpacked build. */
77
+ foundryHostProbe?: (libDir: string) => Promise<void>;
78
+ /** Test seams for the probes. */
80
79
  probe?: Partial<Record<EngineBuildId, (dir: string) => Promise<void>>>;
81
80
  }
82
81
  export declare function parseEngineBuildId(raw: string): EngineBuildId;
@@ -107,17 +106,17 @@ export declare class EngineBuildsService {
107
106
  startupCleanup(): Promise<void>;
108
107
  /** `<root>/<tag>/<backend>.incoming-<n>[.download]` and `.retired-<n>`: only ever this module's. */
109
108
  private removeLeftovers;
109
+ /** The directory of the build the next load of `engine` uses; nothing installed, `undefined`. */
110
+ activeDir(engine: EngineBuildId): Promise<string | undefined>;
110
111
  /** The build the next MLX load starts: the newest of bundled and downloaded, bundled on a tie. */
111
112
  resolveMlxBinary(): Promise<string | undefined>;
112
113
  private builds;
113
- /**
114
- * sd.cpp: the newest install, which `selectModelInstall` hands the next load. MLX: the newest
115
- * build by `published_at`, the bundled one on a tie (spec "Две точки происхождения mlx-server").
116
- */
117
114
  private activeOf;
115
+ /** The table row of `engine`; one cast, since TypeScript cannot correlate a key with its row. */
116
+ private engine;
117
+ private context;
118
118
  private isUsed;
119
119
  private describe;
120
120
  private readManifest;
121
121
  private hostChoice;
122
- private archivesFor;
123
122
  }