@atomic-chat/core 0.13.6 → 0.17.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 (342) hide show
  1. package/README.md +1 -1
  2. package/dist/backend/advisor/advisor.d.ts +8 -7
  3. package/dist/backend/advisor/advisor.js +17 -25
  4. package/dist/backend/advisor/advisor.js.map +1 -1
  5. package/dist/backend/catalog/index.d.ts +4 -2
  6. package/dist/backend/catalog/index.js +4 -2
  7. package/dist/backend/catalog/index.js.map +1 -1
  8. package/dist/backend/catalog/manifest.d.ts +5 -51
  9. package/dist/backend/catalog/manifest.js +5 -93
  10. package/dist/backend/catalog/manifest.js.map +1 -1
  11. package/dist/backend/catalog/upstream-releases-baseline.d.ts +2 -0
  12. package/dist/backend/catalog/upstream-releases-baseline.js +12 -0
  13. package/dist/backend/catalog/upstream-releases-baseline.js.map +1 -0
  14. package/dist/backend/catalog/upstream-releases-baseline.json +101 -0
  15. package/dist/backend/catalog/upstream-releases-catalog.d.ts +54 -0
  16. package/dist/backend/catalog/upstream-releases-catalog.js +148 -0
  17. package/dist/backend/catalog/upstream-releases-catalog.js.map +1 -0
  18. package/dist/backend/catalog/upstream-releases.d.ts +75 -0
  19. package/dist/backend/catalog/upstream-releases.js +155 -0
  20. package/dist/backend/catalog/upstream-releases.js.map +1 -0
  21. package/dist/backend/install/service.d.ts +7 -4
  22. package/dist/backend/install/service.js +4 -4
  23. package/dist/backend/install/service.js.map +1 -1
  24. package/dist/cli/commands/serve.js +10 -28
  25. package/dist/cli/commands/serve.js.map +1 -1
  26. package/dist/cli/main.d.ts +1 -1
  27. package/dist/cli/main.js +0 -1
  28. package/dist/cli/main.js.map +1 -1
  29. package/dist/client/control-client.d.ts +7 -19
  30. package/dist/client/control-client.js +9 -29
  31. package/dist/client/control-client.js.map +1 -1
  32. package/dist/cloud/registry.d.ts +14 -1
  33. package/dist/cloud/registry.js +73 -2
  34. package/dist/cloud/registry.js.map +1 -1
  35. package/dist/config/paths.d.ts +4 -3
  36. package/dist/config/paths.js +15 -14
  37. package/dist/config/paths.js.map +1 -1
  38. package/dist/contracts/diffusion.d.ts +45 -18
  39. package/dist/contracts/diffusion.js +1 -1
  40. package/dist/contracts/diffusion.js.map +1 -1
  41. package/dist/contracts/engines.d.ts +1 -1
  42. package/dist/contracts/engines.js +2 -0
  43. package/dist/contracts/engines.js.map +1 -1
  44. package/dist/contracts/errors.d.ts +1 -3
  45. package/dist/contracts/errors.js +16 -0
  46. package/dist/contracts/errors.js.map +1 -1
  47. package/dist/contracts/events.d.ts +11 -6
  48. package/dist/contracts/index.d.ts +1 -1
  49. package/dist/contracts/index.js +1 -1
  50. package/dist/contracts/index.js.map +1 -1
  51. package/dist/contracts/media.d.ts +186 -0
  52. package/dist/contracts/media.js +55 -0
  53. package/dist/contracts/media.js.map +1 -0
  54. package/dist/contracts/session.d.ts +10 -1
  55. package/dist/contracts/session.js +10 -0
  56. package/dist/contracts/session.js.map +1 -1
  57. package/dist/contracts/settings.d.ts +36 -1
  58. package/dist/contracts/settings.js.map +1 -1
  59. package/dist/core/atomic-core.d.ts +5 -5
  60. package/dist/core/atomic-core.js.map +1 -1
  61. package/dist/core/create.js +43 -59
  62. package/dist/core/create.js.map +1 -1
  63. package/dist/core/managed-engines.js +2 -0
  64. package/dist/core/managed-engines.js.map +1 -1
  65. package/dist/core/prism.d.ts +21 -6
  66. package/dist/core/prism.js +44 -0
  67. package/dist/core/prism.js.map +1 -1
  68. package/dist/core/types.d.ts +0 -5
  69. package/dist/core/types.js.map +1 -1
  70. package/dist/diffusion/gallery.d.ts +24 -3
  71. package/dist/diffusion/gallery.js +151 -21
  72. package/dist/diffusion/gallery.js.map +1 -1
  73. package/dist/diffusion/index.d.ts +3 -0
  74. package/dist/diffusion/index.js +3 -0
  75. package/dist/diffusion/index.js.map +1 -1
  76. package/dist/diffusion/jobs.d.ts +6 -1
  77. package/dist/diffusion/jobs.js +6 -1
  78. package/dist/diffusion/jobs.js.map +1 -1
  79. package/dist/diffusion/media-header.d.ts +22 -0
  80. package/dist/diffusion/media-header.js +149 -0
  81. package/dist/diffusion/media-header.js.map +1 -0
  82. package/dist/diffusion/parse.d.ts +3 -1
  83. package/dist/diffusion/parse.js +36 -0
  84. package/dist/diffusion/parse.js.map +1 -1
  85. package/dist/diffusion/recipe.d.ts +10 -1
  86. package/dist/diffusion/recipe.js +85 -21
  87. package/dist/diffusion/recipe.js.map +1 -1
  88. package/dist/diffusion/remote-job.d.ts +76 -0
  89. package/dist/diffusion/remote-job.js +643 -0
  90. package/dist/diffusion/remote-job.js.map +1 -0
  91. package/dist/diffusion/remote-store.d.ts +38 -0
  92. package/dist/diffusion/remote-store.js +91 -0
  93. package/dist/diffusion/remote-store.js.map +1 -0
  94. package/dist/diffusion/service.d.ts +9 -1
  95. package/dist/diffusion/service.js +49 -9
  96. package/dist/diffusion/service.js.map +1 -1
  97. package/dist/diffusion/state.d.ts +13 -1
  98. package/dist/diffusion/state.js +8 -0
  99. package/dist/diffusion/state.js.map +1 -1
  100. package/dist/diffusion/video-gallery.d.ts +11 -4
  101. package/dist/diffusion/video-gallery.js +62 -25
  102. package/dist/diffusion/video-gallery.js.map +1 -1
  103. package/dist/diffusion/video-history.js +4 -1
  104. package/dist/diffusion/video-history.js.map +1 -1
  105. package/dist/diffusion/video-recipe.js +58 -25
  106. package/dist/diffusion/video-recipe.js.map +1 -1
  107. package/dist/diffusion/wiring.d.ts +3 -0
  108. package/dist/diffusion/wiring.js +1 -0
  109. package/dist/diffusion/wiring.js.map +1 -1
  110. package/dist/downloads/downloader.d.ts +1 -18
  111. package/dist/downloads/downloader.js +1 -45
  112. package/dist/downloads/downloader.js.map +1 -1
  113. package/dist/media/adapters/a1111.d.ts +32 -0
  114. package/dist/media/adapters/a1111.js +207 -0
  115. package/dist/media/adapters/a1111.js.map +1 -0
  116. package/dist/media/adapters/aimlapi-videos.d.ts +34 -0
  117. package/dist/media/adapters/aimlapi-videos.js +172 -0
  118. package/dist/media/adapters/aimlapi-videos.js.map +1 -0
  119. package/dist/media/adapters/dashscope-image.d.ts +26 -0
  120. package/dist/media/adapters/dashscope-image.js +160 -0
  121. package/dist/media/adapters/dashscope-image.js.map +1 -0
  122. package/dist/media/adapters/dashscope-video.d.ts +47 -0
  123. package/dist/media/adapters/dashscope-video.js +251 -0
  124. package/dist/media/adapters/dashscope-video.js.map +1 -0
  125. package/dist/media/adapters/gemini-image.d.ts +27 -0
  126. package/dist/media/adapters/gemini-image.js +181 -0
  127. package/dist/media/adapters/gemini-image.js.map +1 -0
  128. package/dist/media/adapters/gemini-veo.d.ts +39 -0
  129. package/dist/media/adapters/gemini-veo.js +196 -0
  130. package/dist/media/adapters/gemini-veo.js.map +1 -0
  131. package/dist/media/adapters/hf-images.d.ts +85 -0
  132. package/dist/media/adapters/hf-images.js +439 -0
  133. package/dist/media/adapters/hf-images.js.map +1 -0
  134. package/dist/media/adapters/hf-videos.d.ts +44 -0
  135. package/dist/media/adapters/hf-videos.js +265 -0
  136. package/dist/media/adapters/hf-videos.js.map +1 -0
  137. package/dist/media/adapters/minimax-image.d.ts +26 -0
  138. package/dist/media/adapters/minimax-image.js +111 -0
  139. package/dist/media/adapters/minimax-image.js.map +1 -0
  140. package/dist/media/adapters/minimax-video-v2.d.ts +34 -0
  141. package/dist/media/adapters/minimax-video-v2.js +191 -0
  142. package/dist/media/adapters/minimax-video-v2.js.map +1 -0
  143. package/dist/media/adapters/minimax-video.d.ts +28 -0
  144. package/dist/media/adapters/minimax-video.js +155 -0
  145. package/dist/media/adapters/minimax-video.js.map +1 -0
  146. package/dist/media/adapters/mistral-agent-image.d.ts +33 -0
  147. package/dist/media/adapters/mistral-agent-image.js +108 -0
  148. package/dist/media/adapters/mistral-agent-image.js.map +1 -0
  149. package/dist/media/adapters/nvidia-genai.d.ts +28 -0
  150. package/dist/media/adapters/nvidia-genai.js +182 -0
  151. package/dist/media/adapters/nvidia-genai.js.map +1 -0
  152. package/dist/media/adapters/openai-images.d.ts +23 -0
  153. package/dist/media/adapters/openai-images.js +164 -0
  154. package/dist/media/adapters/openai-images.js.map +1 -0
  155. package/dist/media/adapters/openai-videos.d.ts +34 -0
  156. package/dist/media/adapters/openai-videos.js +175 -0
  157. package/dist/media/adapters/openai-videos.js.map +1 -0
  158. package/dist/media/adapters/openrouter-images.d.ts +25 -0
  159. package/dist/media/adapters/openrouter-images.js +161 -0
  160. package/dist/media/adapters/openrouter-images.js.map +1 -0
  161. package/dist/media/adapters/openrouter-videos.d.ts +43 -0
  162. package/dist/media/adapters/openrouter-videos.js +208 -0
  163. package/dist/media/adapters/openrouter-videos.js.map +1 -0
  164. package/dist/media/adapters/registry.d.ts +7 -0
  165. package/dist/media/adapters/registry.js +45 -0
  166. package/dist/media/adapters/registry.js.map +1 -0
  167. package/dist/media/adapters/types.d.ts +133 -0
  168. package/dist/media/adapters/types.js +15 -0
  169. package/dist/media/adapters/types.js.map +1 -0
  170. package/dist/media/adapters/xai-images.d.ts +19 -0
  171. package/dist/media/adapters/xai-images.js +83 -0
  172. package/dist/media/adapters/xai-images.js.map +1 -0
  173. package/dist/media/adapters/xai-videos.d.ts +29 -0
  174. package/dist/media/adapters/xai-videos.js +148 -0
  175. package/dist/media/adapters/xai-videos.js.map +1 -0
  176. package/dist/media/catalog-baseline.d.ts +2 -0
  177. package/dist/media/catalog-baseline.js +10 -0
  178. package/dist/media/catalog-baseline.js.map +1 -0
  179. package/dist/media/catalog-baseline.json +1819 -0
  180. package/dist/media/catalog-service.d.ts +42 -0
  181. package/dist/media/catalog-service.js +111 -0
  182. package/dist/media/catalog-service.js.map +1 -0
  183. package/dist/media/catalog.d.ts +50 -0
  184. package/dist/media/catalog.js +315 -0
  185. package/dist/media/catalog.js.map +1 -0
  186. package/dist/media/http.d.ts +125 -0
  187. package/dist/media/http.js +308 -0
  188. package/dist/media/http.js.map +1 -0
  189. package/dist/media/index.d.ts +14 -0
  190. package/dist/media/index.js +15 -0
  191. package/dist/media/index.js.map +1 -0
  192. package/dist/media/mask.d.ts +12 -0
  193. package/dist/media/mask.js +57 -0
  194. package/dist/media/mask.js.map +1 -0
  195. package/dist/media/service.d.ts +42 -0
  196. package/dist/media/service.js +144 -0
  197. package/dist/media/service.js.map +1 -0
  198. package/dist/models/hf.d.ts +3 -16
  199. package/dist/models/hf.js +4 -42
  200. package/dist/models/hf.js.map +1 -1
  201. package/dist/router/resolve.d.ts +15 -4
  202. package/dist/router/resolve.js +25 -3
  203. package/dist/router/resolve.js.map +1 -1
  204. package/dist/runtime/environment/linux-provisioner.js +7 -67
  205. package/dist/runtime/environment/linux-provisioner.js.map +1 -1
  206. package/dist/runtime/environment/runtime-removal-plan.d.ts +19 -0
  207. package/dist/runtime/environment/runtime-removal-plan.js +74 -0
  208. package/dist/runtime/environment/runtime-removal-plan.js.map +1 -0
  209. package/dist/runtime/environment/windows-provisioner.js +20 -4
  210. package/dist/runtime/environment/windows-provisioner.js.map +1 -1
  211. package/dist/runtime/managed-engines/spec.d.ts +2 -2
  212. package/dist/runtime/managed-engines/spec.js +6 -0
  213. package/dist/runtime/managed-engines/spec.js.map +1 -1
  214. package/dist/runtime/managed-models/compatibility.d.ts +10 -0
  215. package/dist/runtime/managed-models/compatibility.js +18 -0
  216. package/dist/runtime/managed-models/compatibility.js.map +1 -1
  217. package/dist/runtime/managed-text/request-rules.d.ts +9 -7
  218. package/dist/runtime/managed-text/request-rules.js +58 -2
  219. package/dist/runtime/managed-text/request-rules.js.map +1 -1
  220. package/dist/runtime/managed-text/setting-values.d.ts +9 -0
  221. package/dist/runtime/managed-text/setting-values.js +44 -0
  222. package/dist/runtime/managed-text/setting-values.js.map +1 -0
  223. package/dist/runtime/sglang/adapter.d.ts +50 -0
  224. package/dist/runtime/sglang/adapter.js +393 -0
  225. package/dist/runtime/sglang/adapter.js.map +1 -0
  226. package/dist/runtime/sglang/engine.d.ts +16 -0
  227. package/dist/runtime/sglang/engine.js +38 -0
  228. package/dist/runtime/sglang/engine.js.map +1 -0
  229. package/dist/runtime/sglang/index.d.ts +11 -0
  230. package/dist/runtime/sglang/index.js +12 -0
  231. package/dist/runtime/sglang/index.js.map +1 -0
  232. package/dist/runtime/sglang/memory.d.ts +64 -0
  233. package/dist/runtime/sglang/memory.js +90 -0
  234. package/dist/runtime/sglang/memory.js.map +1 -0
  235. package/dist/runtime/sglang/settings.d.ts +49 -0
  236. package/dist/runtime/sglang/settings.js +118 -0
  237. package/dist/runtime/sglang/settings.js.map +1 -0
  238. package/dist/runtime/shared/external-sessions.js +1 -0
  239. package/dist/runtime/shared/external-sessions.js.map +1 -1
  240. package/dist/runtime/vllm/adapter.js +2 -47
  241. package/dist/runtime/vllm/adapter.js.map +1 -1
  242. package/dist/runtime/vllm/memory.js +3 -16
  243. package/dist/runtime/vllm/memory.js.map +1 -1
  244. package/dist/runtime/vllm/settings.d.ts +7 -0
  245. package/dist/runtime/vllm/settings.js +2 -30
  246. package/dist/runtime/vllm/settings.js.map +1 -1
  247. package/dist/server/control/router.js +4 -3
  248. package/dist/server/control/router.js.map +1 -1
  249. package/dist/server/control/routes/media.d.ts +9 -0
  250. package/dist/server/control/routes/media.js +24 -0
  251. package/dist/server/control/routes/media.js.map +1 -0
  252. package/dist/server/control/routes/model-compatibility.d.ts +9 -0
  253. package/dist/server/control/routes/model-compatibility.js +31 -0
  254. package/dist/server/control/routes/model-compatibility.js.map +1 -0
  255. package/dist/server/control/types.d.ts +14 -20
  256. package/dist/server/control/types.js.map +1 -1
  257. package/dist/server/http.js +15 -2
  258. package/dist/server/http.js.map +1 -1
  259. package/dist/server/public/images-params.js +18 -1
  260. package/dist/server/public/images-params.js.map +1 -1
  261. package/dist/server/public/images.d.ts +11 -2
  262. package/dist/server/public/images.js +73 -9
  263. package/dist/server/public/images.js.map +1 -1
  264. package/dist/server/public/index.js +7 -1
  265. package/dist/server/public/index.js.map +1 -1
  266. package/dist/server/public/listing.js +1 -0
  267. package/dist/server/public/listing.js.map +1 -1
  268. package/dist/server/public/remote-media.d.ts +51 -0
  269. package/dist/server/public/remote-media.js +225 -0
  270. package/dist/server/public/remote-media.js.map +1 -0
  271. package/dist/server/public/responses.js +4 -2
  272. package/dist/server/public/responses.js.map +1 -1
  273. package/dist/server/public/static-assets.generated.js +1 -1
  274. package/dist/server/public/static-assets.generated.js.map +1 -1
  275. package/dist/server/public/trace.js +2 -0
  276. package/dist/server/public/trace.js.map +1 -1
  277. package/dist/server/public/types.d.ts +5 -1
  278. package/dist/server/public/videos-params.js +13 -3
  279. package/dist/server/public/videos-params.js.map +1 -1
  280. package/dist/server/public/videos.d.ts +1 -0
  281. package/dist/server/public/videos.js +21 -3
  282. package/dist/server/public/videos.js.map +1 -1
  283. package/dist/settings/schema/llamacpp-upstream.json +9 -0
  284. package/dist/settings/schema/sglang.json +251 -0
  285. package/dist/settings/schema.js +27 -1
  286. package/dist/settings/schema.js.map +1 -1
  287. package/dist/version.d.ts +1 -1
  288. package/dist/version.js +1 -1
  289. package/package.json +1 -5
  290. package/src/settings/schema/llamacpp-upstream.json +9 -0
  291. package/src/settings/schema/sglang.json +251 -0
  292. package/dist/backend/catalog/bundled-manifest-baseline.d.ts +0 -2
  293. package/dist/backend/catalog/bundled-manifest-baseline.js +0 -65
  294. package/dist/backend/catalog/bundled-manifest-baseline.js.map +0 -1
  295. package/dist/contracts/model-setup.d.ts +0 -115
  296. package/dist/contracts/model-setup.js +0 -33
  297. package/dist/contracts/model-setup.js.map +0 -1
  298. package/dist/core/model-setup/index.d.ts +0 -4
  299. package/dist/core/model-setup/index.js +0 -5
  300. package/dist/core/model-setup/index.js.map +0 -1
  301. package/dist/core/model-setup/plan.d.ts +0 -56
  302. package/dist/core/model-setup/plan.js +0 -158
  303. package/dist/core/model-setup/plan.js.map +0 -1
  304. package/dist/core/model-setup/service.d.ts +0 -92
  305. package/dist/core/model-setup/service.js +0 -329
  306. package/dist/core/model-setup/service.js.map +0 -1
  307. package/dist/core/model-setup/store.d.ts +0 -29
  308. package/dist/core/model-setup/store.js +0 -116
  309. package/dist/core/model-setup/store.js.map +0 -1
  310. package/dist/core/model-setup/wiring.d.ts +0 -59
  311. package/dist/core/model-setup/wiring.js +0 -132
  312. package/dist/core/model-setup/wiring.js.map +0 -1
  313. package/dist/core/tensorrt-llm.d.ts +0 -169
  314. package/dist/core/tensorrt-llm.js +0 -428
  315. package/dist/core/tensorrt-llm.js.map +0 -1
  316. package/dist/downloads/segmented.d.ts +0 -40
  317. package/dist/downloads/segmented.js +0 -170
  318. package/dist/downloads/segmented.js.map +0 -1
  319. package/dist/runtime/tensorrt-llm/delete.d.ts +0 -15
  320. package/dist/runtime/tensorrt-llm/delete.js +0 -60
  321. package/dist/runtime/tensorrt-llm/delete.js.map +0 -1
  322. package/dist/runtime/tensorrt-llm/guest-files.d.ts +0 -8
  323. package/dist/runtime/tensorrt-llm/guest-files.js +0 -49
  324. package/dist/runtime/tensorrt-llm/guest-files.js.map +0 -1
  325. package/dist/runtime/tensorrt-llm/location.d.ts +0 -20
  326. package/dist/runtime/tensorrt-llm/location.js +0 -48
  327. package/dist/runtime/tensorrt-llm/location.js.map +0 -1
  328. package/dist/runtime/tensorrt-llm/model-dir.d.ts +0 -38
  329. package/dist/runtime/tensorrt-llm/model-dir.js +0 -137
  330. package/dist/runtime/tensorrt-llm/model-dir.js.map +0 -1
  331. package/dist/runtime/tensorrt-llm/quant-format.d.ts +0 -65
  332. package/dist/runtime/tensorrt-llm/quant-format.js +0 -189
  333. package/dist/runtime/tensorrt-llm/quant-format.js.map +0 -1
  334. package/dist/runtime/tensorrt-llm/registry.d.ts +0 -26
  335. package/dist/runtime/tensorrt-llm/registry.js +0 -68
  336. package/dist/runtime/tensorrt-llm/registry.js.map +0 -1
  337. package/dist/runtime/tensorrt-llm/runtime.d.ts +0 -130
  338. package/dist/runtime/tensorrt-llm/runtime.js +0 -395
  339. package/dist/runtime/tensorrt-llm/runtime.js.map +0 -1
  340. package/dist/server/control/routes/model-setups.d.ts +0 -11
  341. package/dist/server/control/routes/model-setups.js +0 -55
  342. package/dist/server/control/routes/model-setups.js.map +0 -1
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Remote media: the image and video models cloud providers and self-hosted servers offer through the
3
+ * core (ADR 2026-10-13-remote-media-shares-the-diffusion-job-table). The catalog shapes are conf's
4
+ * `providers/media.json` as the core serves it (snake_case, like the cloud provider routes); what a
5
+ * generation request carries for a remote model sits in the camelCase diffusion requests
6
+ * (`target`, `remote`).
7
+ */
8
+ /** The adapters the core has: one per media API it speaks. */
9
+ export declare const MEDIA_DIALECTS: readonly ["openai-images", "xai-images", "openrouter-images", "gemini-image", "minimax-image", "dashscope-image", "hf-images", "nvidia-genai", "mistral-agent-image", "a1111", "openai-videos", "openrouter-videos", "xai-videos", "gemini-veo", "minimax-video", "minimax-video-v2", "dashscope-video", "aimlapi-videos", "hf-videos"];
10
+ export type MediaDialect = (typeof MEDIA_DIALECTS)[number];
11
+ export type MediaKind = 'image' | 'video';
12
+ /** Which kind of media each dialect makes. */
13
+ export declare const MEDIA_DIALECT_KIND: Readonly<Record<MediaDialect, MediaKind>>;
14
+ /** What a remote image model can be asked to do; a subset of `ImageWorkflowId`. */
15
+ export declare const REMOTE_IMAGE_WORKFLOWS: readonly ["create", "transform", "inpaint", "reference", "edit"];
16
+ export type RemoteImageWorkflow = (typeof REMOTE_IMAGE_WORKFLOWS)[number];
17
+ export declare const REMOTE_VIDEO_WORKFLOWS: readonly ["create", "image-to-video"];
18
+ export type RemoteVideoWorkflow = (typeof REMOTE_VIDEO_WORKFLOWS)[number];
19
+ /** A closed list of values a control offers, with the one it starts on. */
20
+ export interface MediaChoice {
21
+ values: string[];
22
+ default?: string;
23
+ }
24
+ export interface MediaNumberRange {
25
+ min: number;
26
+ max: number;
27
+ default?: number;
28
+ step?: number;
29
+ }
30
+ /** Pixel size: a list of `WxH` (and `auto`), or a free range on a grid. */
31
+ export type MediaSizeParam = {
32
+ kind: 'enum';
33
+ values: string[];
34
+ default?: string;
35
+ } | {
36
+ kind: 'range';
37
+ min: number;
38
+ max: number;
39
+ multiple: number;
40
+ default_width?: number;
41
+ default_height?: number;
42
+ };
43
+ /** What the generation form offers for an image model; a missing key is a hidden control. */
44
+ export interface MediaImageParams {
45
+ size?: MediaSizeParam;
46
+ aspect_ratios?: MediaChoice;
47
+ resolutions?: MediaChoice;
48
+ n?: {
49
+ max: number;
50
+ };
51
+ seed?: boolean;
52
+ negative_prompt?: boolean;
53
+ quality?: MediaChoice;
54
+ background?: MediaChoice;
55
+ output_format?: MediaChoice;
56
+ steps?: MediaNumberRange;
57
+ cfg?: MediaNumberRange;
58
+ guidance?: MediaNumberRange;
59
+ strength?: MediaNumberRange;
60
+ /** The server lists samplers live (`MediaModelDescriptor.samplers`). */
61
+ sampler?: boolean;
62
+ max_input_images?: number;
63
+ }
64
+ /** Clip length in seconds: a list of values, or a range. */
65
+ export interface MediaDurations {
66
+ values?: number[];
67
+ min?: number;
68
+ max?: number;
69
+ default?: number;
70
+ }
71
+ export interface MediaVideoParams {
72
+ durations?: MediaDurations;
73
+ resolutions?: MediaChoice;
74
+ aspect_ratios?: MediaChoice;
75
+ sizes?: MediaChoice;
76
+ /** The model can generate sound; the form offers a switch. */
77
+ audio?: boolean;
78
+ seed?: boolean;
79
+ negative_prompt?: boolean;
80
+ /** Image to video also takes a last frame. */
81
+ last_frame?: boolean;
82
+ }
83
+ export type MediaModelOptions = Record<string, string | number | boolean>;
84
+ interface MediaModelCommon {
85
+ id: string;
86
+ name: string;
87
+ description?: string;
88
+ /** The adapter that serves this model (the model's own, else its provider section's). */
89
+ api: MediaDialect;
90
+ /** Offered as soon as the provider is connected. */
91
+ default?: boolean;
92
+ options?: MediaModelOptions;
93
+ /** `catalog`: conf names it. `live`: only the provider's listing does; the dialect's defaults apply. */
94
+ source: 'catalog' | 'live';
95
+ }
96
+ export interface ImageModelDescriptor extends MediaModelCommon {
97
+ kind: 'image';
98
+ workflows: RemoteImageWorkflow[];
99
+ params: MediaImageParams;
100
+ /** Samplers the server listed, when `params.sampler` is set (A1111/Forge). */
101
+ samplers?: string[];
102
+ }
103
+ export interface VideoModelDescriptor extends MediaModelCommon {
104
+ kind: 'video';
105
+ workflows: RemoteVideoWorkflow[];
106
+ params: MediaVideoParams;
107
+ }
108
+ export type MediaModelDescriptor = ImageModelDescriptor | VideoModelDescriptor;
109
+ export interface MediaDialectDefaults {
110
+ kind: MediaKind;
111
+ workflows: string[];
112
+ params: MediaImageParams | MediaVideoParams;
113
+ }
114
+ /** One provider's media, as `GET /atomic/v1/media/catalog` answers it. */
115
+ export interface MediaProviderSection {
116
+ image?: {
117
+ api: MediaDialect;
118
+ models: ImageModelDescriptor[];
119
+ };
120
+ video?: {
121
+ api: MediaDialect;
122
+ models: VideoModelDescriptor[];
123
+ };
124
+ }
125
+ /** `GET /atomic/v1/media/catalog`. */
126
+ export interface MediaCatalogView {
127
+ catalog_version: number;
128
+ /** `live` when the conf document was fetched, `cache` from disk, `baseline` the bundled copy. */
129
+ origin: 'live' | 'cache' | 'baseline';
130
+ dialects: Partial<Record<MediaDialect, MediaDialectDefaults>>;
131
+ providers: Record<string, MediaProviderSection>;
132
+ }
133
+ /** `GET /atomic/v1/media/providers/:provider/models?kind=`: the catalog's models plus the live listing. */
134
+ export interface MediaProviderModels {
135
+ provider: string;
136
+ kind: MediaKind;
137
+ /** The adapter the provider's media of this kind go through; null when it has none. */
138
+ api: MediaDialect | null;
139
+ models: MediaModelDescriptor[];
140
+ /** Whether the provider was asked live; false for adapters without a listing. */
141
+ live: boolean;
142
+ /** Why the live listing failed; the catalog's models are still answered. */
143
+ error?: {
144
+ code: string;
145
+ message: string;
146
+ };
147
+ }
148
+ /** One enabled media model in a provider registration. */
149
+ export interface CloudProviderMediaModel {
150
+ id: string;
151
+ kind: MediaKind;
152
+ }
153
+ /**
154
+ * The media part of `PUT /atomic/v1/cloud/providers/:provider`. Absent keeps what is stored, `null`
155
+ * clears it. `image_api` / `video_api` name the adapter for a provider the catalog does not know
156
+ * (a custom server); absent, the catalog's applies.
157
+ */
158
+ export interface CloudProviderMedia {
159
+ image_api?: MediaDialect | null;
160
+ video_api?: MediaDialect | null;
161
+ models: CloudProviderMediaModel[];
162
+ }
163
+ /** Which provider and model a generation request is for; absent on a request for the local model. */
164
+ export interface MediaTarget {
165
+ provider: string;
166
+ model: string;
167
+ }
168
+ /** Image settings only a remote model takes; every one optional, the model's default otherwise. */
169
+ export interface RemoteImageOptions {
170
+ /** `auto` or `WxH`, for a model whose size is a list; a range model uses `width`/`height`. */
171
+ size?: string;
172
+ aspectRatio?: string;
173
+ resolution?: string;
174
+ quality?: string;
175
+ background?: string;
176
+ outputFormat?: string;
177
+ }
178
+ export interface RemoteVideoOptions {
179
+ durationSecs?: number;
180
+ resolution?: string;
181
+ aspectRatio?: string;
182
+ /** `WxH`, for a model whose size is a list. */
183
+ size?: string;
184
+ generateAudio?: boolean;
185
+ }
186
+ export {};
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Remote media: the image and video models cloud providers and self-hosted servers offer through the
3
+ * core (ADR 2026-10-13-remote-media-shares-the-diffusion-job-table). The catalog shapes are conf's
4
+ * `providers/media.json` as the core serves it (snake_case, like the cloud provider routes); what a
5
+ * generation request carries for a remote model sits in the camelCase diffusion requests
6
+ * (`target`, `remote`).
7
+ */
8
+ /** The adapters the core has: one per media API it speaks. */
9
+ export const MEDIA_DIALECTS = [
10
+ 'openai-images',
11
+ 'xai-images',
12
+ 'openrouter-images',
13
+ 'gemini-image',
14
+ 'minimax-image',
15
+ 'dashscope-image',
16
+ 'hf-images',
17
+ 'nvidia-genai',
18
+ 'mistral-agent-image',
19
+ 'a1111',
20
+ 'openai-videos',
21
+ 'openrouter-videos',
22
+ 'xai-videos',
23
+ 'gemini-veo',
24
+ 'minimax-video',
25
+ 'minimax-video-v2',
26
+ 'dashscope-video',
27
+ 'aimlapi-videos',
28
+ 'hf-videos',
29
+ ];
30
+ /** Which kind of media each dialect makes. */
31
+ export const MEDIA_DIALECT_KIND = {
32
+ 'openai-images': 'image',
33
+ 'xai-images': 'image',
34
+ 'openrouter-images': 'image',
35
+ 'gemini-image': 'image',
36
+ 'minimax-image': 'image',
37
+ 'dashscope-image': 'image',
38
+ 'hf-images': 'image',
39
+ 'nvidia-genai': 'image',
40
+ 'mistral-agent-image': 'image',
41
+ 'a1111': 'image',
42
+ 'openai-videos': 'video',
43
+ 'openrouter-videos': 'video',
44
+ 'xai-videos': 'video',
45
+ 'gemini-veo': 'video',
46
+ 'minimax-video': 'video',
47
+ 'minimax-video-v2': 'video',
48
+ 'dashscope-video': 'video',
49
+ 'aimlapi-videos': 'video',
50
+ 'hf-videos': 'video',
51
+ };
52
+ /** What a remote image model can be asked to do; a subset of `ImageWorkflowId`. */
53
+ export const REMOTE_IMAGE_WORKFLOWS = ['create', 'transform', 'inpaint', 'reference', 'edit'];
54
+ export const REMOTE_VIDEO_WORKFLOWS = ['create', 'image-to-video'];
55
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/contracts/media.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,eAAe;IACf,YAAY;IACZ,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,qBAAqB;IACrB,OAAO;IACP,eAAe;IACf,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;CACH,CAAA;AAKV,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAA8C;IAC3E,eAAe,EAAE,OAAO;IACxB,YAAY,EAAE,OAAO;IACrB,mBAAmB,EAAE,OAAO;IAC5B,cAAc,EAAE,OAAO;IACvB,eAAe,EAAE,OAAO;IACxB,iBAAiB,EAAE,OAAO;IAC1B,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,OAAO;IACvB,qBAAqB,EAAE,OAAO;IAC9B,OAAO,EAAE,OAAO;IAChB,eAAe,EAAE,OAAO;IACxB,mBAAmB,EAAE,OAAO;IAC5B,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,OAAO;IACrB,eAAe,EAAE,OAAO;IACxB,kBAAkB,EAAE,OAAO;IAC3B,iBAAiB,EAAE,OAAO;IAC1B,gBAAgB,EAAE,OAAO;IACzB,WAAW,EAAE,OAAO;CACrB,CAAA;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAU,CAAA;AAGtG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAU,CAAA"}
@@ -11,7 +11,16 @@
11
11
  * (`PQ2_0`, `PTQ1_0`, the Hadamard transform). It shares the GGUF model tree with the two other
12
12
  * llama.cpp providers and never becomes the default for an ordinary model.
13
13
  */
14
- export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | 'tensorrt-llm' | 'vllm';
14
+ export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | ManagedProviderId;
15
+ /**
16
+ * The managed engines — each one a container core runs from a model of the managed model store — in
17
+ * the order their registry lists them (change `add-sglang-runtime`, D1). The one list every place
18
+ * that must tell a managed provider from the others reads, rather than naming them one by one; the
19
+ * managed engine registry refuses, at startup, an engine missing from it.
20
+ */
21
+ export declare const MANAGED_PROVIDER_IDS: readonly ["tensorrt-llm", "vllm", "sglang"];
22
+ export type ManagedProviderId = (typeof MANAGED_PROVIDER_IDS)[number];
23
+ export declare function isManagedProviderId(provider: string): provider is ManagedProviderId;
15
24
  export interface RuntimeDeviceInfo {
16
25
  /** Backends in load order, deduped, e.g. ["CUDA", "CPU"]. */
17
26
  loaded_backends: string[];
@@ -3,6 +3,16 @@
3
3
  * and by the Rust agent (`core_sessions` mirror). Byte-identical with
4
4
  * src-tauri/plugins/tauri-plugin-llamacpp-upstream/guest-js/types.ts:122-132 and state.rs:9-23.
5
5
  */
6
+ /**
7
+ * The managed engines — each one a container core runs from a model of the managed model store — in
8
+ * the order their registry lists them (change `add-sglang-runtime`, D1). The one list every place
9
+ * that must tell a managed provider from the others reads, rather than naming them one by one; the
10
+ * managed engine registry refuses, at startup, an engine missing from it.
11
+ */
12
+ export const MANAGED_PROVIDER_IDS = ['tensorrt-llm', 'vllm', 'sglang'];
13
+ export function isManagedProviderId(provider) {
14
+ return MANAGED_PROVIDER_IDS.includes(provider);
15
+ }
6
16
  /**
7
17
  * Stage of a managed-runtime model load, reported on `session:load-progress` (spec
8
18
  * `tensorrt-llm-runtime`, design D8): `stopping-previous` evicts whatever currently holds the GPU,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/contracts/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyDH;;;;;;;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;AAaH;;;;;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"}
@@ -123,7 +123,42 @@ export interface VllmProviderConfig {
123
123
  kv_cache_dtype: 'auto' | 'fp8';
124
124
  load_timeout_seconds: number;
125
125
  }
126
- export type ProviderSettings<P extends LocalProviderId> = P extends 'mlx' ? MlxConfig : P extends 'foundation-models' ? FoundationModelsConfig : P extends 'tensorrt-llm' ? TensorrtLlmProviderConfig : P extends 'vllm' ? VllmProviderConfig : LlamacppConfig;
126
+ /**
127
+ * `sglang` (change `add-sglang-runtime`, spec `sglang-runtime`, design D6): stored values. `0` and `''`
128
+ * are "not set" and reach the engine as nothing: SGLang's own value, or core's own memory share.
129
+ */
130
+ export interface SglangProviderConfig {
131
+ /** The card's UUID; `''` picks the card with the most free memory at load time. */
132
+ gpu_id: string;
133
+ context_length: number;
134
+ /** Enforced per request by the session gateway and the engine's default output limit. */
135
+ max_output_tokens: number;
136
+ /** `--max-running-requests`: requests served at once. */
137
+ max_running_requests: number;
138
+ /** `--mem-fraction-static`; `0` (auto) lets core compute it from the card's free memory. */
139
+ mem_fraction_static: number;
140
+ /** `--max-total-tokens`, the KV cache in tokens; `0` lets SGLang size it from its share. */
141
+ max_total_tokens: number;
142
+ /** `auto` (graphs captured up to `max_running_requests`), `on` (SGLang's own) or `off`. */
143
+ cuda_graphs: 'auto' | 'on' | 'off';
144
+ /** `auto` (the model's own precision) or `fp8` (Ada and newer; ignored on older cards). */
145
+ kv_cache_dtype: 'auto' | 'fp8';
146
+ load_timeout_seconds: number;
147
+ /** `false` passes `--disable-radix-cache`. */
148
+ enable_prefix_caching: boolean;
149
+ /** `--chunked-prefill-size`; `0` leaves SGLang's own. */
150
+ chunked_prefill_size: number;
151
+ dtype: 'auto' | 'float16' | 'bfloat16' | 'float32';
152
+ /** `--random-seed`; `0` leaves SGLang's own. */
153
+ seed: number;
154
+ /** Sampling defaults for a request that sets none; `''` is the model's own. */
155
+ default_temperature: string;
156
+ default_top_p: string;
157
+ default_top_k: string;
158
+ default_min_p: string;
159
+ default_repetition_penalty: string;
160
+ }
161
+ 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 : LlamacppConfig;
127
162
  /** UI descriptor of one setting (mirrors the app's SettingComponentProps). */
128
163
  export interface SettingDescriptor {
129
164
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/contracts/settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8KH,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;AAoNH,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"}
@@ -10,7 +10,7 @@
10
10
  * whose stop must never take control down with it.
11
11
  */
12
12
  import type { ReadyLine } from '../contracts/index.js';
13
- import type { LlamacppProviderId, LocalApiServerState, LocalProviderId, RemoteAccessStatus, SessionInfo, UnloadResult } from '../contracts/index.js';
13
+ import type { LlamacppProviderId, LocalApiServerState, LocalProviderId, ManagedProviderId, RemoteAccessStatus, SessionInfo, UnloadResult } from '../contracts/index.js';
14
14
  import type { DataLayout } from '../config/index.js';
15
15
  import type { DecisionService } from '../decision/index.js';
16
16
  import type { EmbeddingService } from '../embedding/index.js';
@@ -77,7 +77,7 @@ export interface AtomicCoreParts {
77
77
  telemetry?: TelemetryControl | undefined;
78
78
  }
79
79
  export declare class AtomicCore {
80
- readonly version = "0.13.6";
80
+ readonly version = "0.17.0";
81
81
  private lifecycle;
82
82
  private shutdownPromise;
83
83
  /** Whether the app's API screen is watching; previews are collected only then. */
@@ -136,14 +136,14 @@ export declare class AtomicCore {
136
136
  readyLine(): ReadyLine;
137
137
  /**
138
138
  * The per-provider model listing (task 2.16w round 1, finding 2): `ModelRegistry` for every
139
- * llama.cpp/MLX provider, `ManagedModelRegistry` for a managed one (`tensorrt-llm`, `vllm`) — the
139
+ * llama.cpp/MLX provider, `ManagedModelRegistry` for a managed one (`MANAGED_PROVIDER_IDS`) — the
140
140
  * same scan of the managed model store for every one of them, fresh on every `list()`, so a model
141
141
  * the app finishes downloading appears with no restart, the same guarantee the llama.cpp registry
142
142
  * already gives. `unknownProvider` when this core does not offer the provider at all (a managed one
143
143
  * off Linux and Windows, for instance).
144
144
  */
145
- registry(provider?: Exclude<LocalProviderId, 'tensorrt-llm' | 'vllm'>): ModelRegistry;
146
- registry(provider: 'tensorrt-llm' | 'vllm'): ManagedModelRegistry;
145
+ registry(provider?: Exclude<LocalProviderId, ManagedProviderId>): ModelRegistry;
146
+ registry(provider: ManagedProviderId): ManagedModelRegistry;
147
147
  registry(provider: LocalProviderId): ModelRegistry | ManagedModelRegistry;
148
148
  runtime(provider?: LocalProviderId): LocalRuntime;
149
149
  /** A llama.cpp runtime, for what only llama.cpp has (devices, runtime device info, context size). */
@@ -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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"}
@@ -20,12 +20,13 @@ import { TRANSCRIPTION_MODEL_ID } from '../speculative/index.js';
20
20
  import { ApiKeyStore, ChatGptAuth } from '../credentials/index.js';
21
21
  import { CloudRegistry, listSubscriptionModels } from '../cloud/index.js';
22
22
  import { HardwareService, nodeProbeDeps, probeSystemInfo, probeUnifiedMemory } from '../hardware/index.js';
23
- import { BackendAdvisor, BackendService, PrismCatalogService, TurboquantCatalogService, ensureBackend, ensureTurboquantCudart, ensureUpstreamCudart, ManifestSessionCache, probeLinuxRocmHost, OptimalBackendStore, fetchLiveManifest, manifestTransportFromFetch, readRuntimeSettings, resolveBackendExe, selectInstalledBackend, } from '../backend/index.js';
23
+ import { BackendAdvisor, BackendService, PrismCatalogService, TurboquantCatalogService, UpstreamReleasesCatalogService, upstreamManifestForTag, ensureBackend, ensureTurboquantCudart, ensureUpstreamCudart, OptimalBackendStore, readRuntimeSettings, resolveBackendExe, selectInstalledBackend, } from '../backend/index.js';
24
24
  import { noticeEngineInstall, wireDecision } from '../decision/index.js';
25
25
  import { EngineBuildEngine, EnginesService, LlamacppEngine, ManagedEngine, hostEngines, } from '../engines/index.js';
26
26
  import { DEFAULT_ENVIRONMENT_ID } from '../runtime/environment/index.js';
27
27
  import { noticeEmbeddingEngineInstall, wireEmbedding } from '../embedding/index.js';
28
28
  import { wireDiffusion } from '../diffusion/index.js';
29
+ import { MEDIA_ADAPTERS, MediaCatalogService, MediaService } from '../media/index.js';
29
30
  import { EngineBuildsService, EngineManifestSource, IDLE_ENGINE_HOST, manifestKinds, } from '../engine-builds/index.js';
30
31
  import { Downloader, availableDiskSpace, defaultAvailableSpace, policyFetchFor } from '../downloads/index.js';
31
32
  import { lanAddresses, reapTunnelOrphan, wireRemoteAccess } from '../remote-access/index.js';
@@ -33,8 +34,7 @@ import { ClientRegistry, CLIENT_EXPIRY_MS, ControlServer } from '../server/index
33
34
  import { captureReport, createCoreReporter, processFailureReport, reportCoreEvents, } from '../telemetry/index.js';
34
35
  import { CORE_VERSION } from '../version.js';
35
36
  import { wireManagedEnvironment } from './managed-environment.js';
36
- import { compatibilityFor, wireModelSetups } from './model-setup/index.js';
37
- import { currentPrismPack, wirePrismCompatibility } from './prism.js';
37
+ import { compatibilityFor, removeLegacyPrismSetups, wirePrismCompatibility } from './prism.js';
38
38
  import { DIFFUSION_GPU_PROVIDER, wireGpuResidency } from './gpu-residency.js';
39
39
  import { reapOrphans } from './reap-orphans.js';
40
40
  import { sessionsOf, unknownProvider } from './sessions.js';
@@ -141,7 +141,6 @@ export async function createAtomicCore(options, construct) {
141
141
  // One downloader per core process: it owns the active-task table that `cancel` works from, so
142
142
  // two of them would each know only half of what is running.
143
143
  const downloader = new Downloader({
144
- ...(options.downloadStreams !== undefined ? { streams: options.downloadStreams } : {}),
145
144
  dataFolder: layout.root,
146
145
  platform: process.platform,
147
146
  fetch: options.fetch ?? fetch,
@@ -239,7 +238,6 @@ export async function createAtomicCore(options, construct) {
239
238
  const optimalStore = await OptimalBackendStore.open(layout.core.optimalBackend, (provider, state) => {
240
239
  emitter.emit('backend:optimal-changed', { provider, ...state });
241
240
  });
242
- const manifestCache = new ManifestSessionCache();
243
241
  const capabilities = new ModelCapabilityService({
244
242
  layout,
245
243
  registry: (provider) => registries.get(provider),
@@ -260,11 +258,19 @@ export async function createAtomicCore(options, construct) {
260
258
  platform,
261
259
  log: (level, message) => log(level, message),
262
260
  });
263
- // Test hooks (docs/contracts.md "Test hooks"): where the PrismML manifest, the model rules and
264
- // model files are read from. Unset in production.
261
+ // Test hooks (docs/contracts.md "Test hooks"): where the upstream release list, the PrismML
262
+ // manifest and the model rules are read from. Unset in production.
263
+ const upstreamReleasesUrl = env['ATOMIC_LLAMACPP_UPSTREAM_RELEASES_URL'];
265
264
  const prismManifestUrl = env['ATOMIC_PRISM_MANIFEST_URL'];
266
265
  const prismRulesUrl = env['ATOMIC_PRISM_MODEL_RULES_URL'];
267
- const hfEndpoint = env['ATOMIC_HF_ENDPOINT'];
266
+ // One release list for the advisor and the installs, so a catalog and the download it leads to
267
+ // read the same hashes.
268
+ const upstreamCatalog = new UpstreamReleasesCatalogService({
269
+ layout,
270
+ fetchFor,
271
+ ...(upstreamReleasesUrl ? { url: upstreamReleasesUrl } : {}),
272
+ log,
273
+ });
268
274
  const prismCatalog = new PrismCatalogService({
269
275
  layout,
270
276
  fetchFor,
@@ -286,7 +292,6 @@ export async function createAtomicCore(options, construct) {
286
292
  env,
287
293
  log,
288
294
  });
289
- const allowPrismCandidates = () => settings.get('atomic-prism')['allow_candidate_builds'] === true;
290
295
  const advisors = new Map();
291
296
  const backendAdvisor = (provider) => {
292
297
  const existing = advisors.get(provider);
@@ -300,10 +305,10 @@ export async function createAtomicCore(options, construct) {
300
305
  optimalStore,
301
306
  emit: (name, payload) => emitter.emit(name, payload),
302
307
  fetchFor,
303
- manifestCache,
308
+ upstreamCatalog,
304
309
  turboquantCatalog,
305
310
  prismCatalog,
306
- allowCandidateBuilds: allowPrismCandidates,
311
+ allowCandidateBuilds: () => settings.get(provider)['allow_candidate_builds'] === true,
307
312
  // The Windows tier check runs `--list-devices` on the installed pack of that tier.
308
313
  listDevices: async (installed) => {
309
314
  const exePath = await resolveBackendExe(layout, provider, installed.version, installed.backend);
@@ -347,22 +352,12 @@ export async function createAtomicCore(options, construct) {
347
352
  ];
348
353
  },
349
354
  },
350
- readManifest: async (proxy) => {
351
- const cached = manifestCache.get();
352
- if (cached)
353
- return cached;
354
- return fetchLiveManifest({
355
- cache: manifestCache,
356
- transports: [manifestTransportFromFetch('core fetch', fetchFor(proxy))],
357
- onWarn: (message) => log('warn', message),
358
- });
359
- },
355
+ readManifest: async (tag, proxy) => upstreamManifestForTag((await upstreamCatalog.catalog({ proxy: proxy ?? null })).catalog, tag),
360
356
  });
361
357
  backendServices.set(provider, created);
362
358
  return created;
363
359
  };
364
- // One model-setup runner per core: it owns the in-memory table of runs and the shared engine
365
- // installs that a cancel works from. The records survive a restart as `interrupted`.
360
+ // `POST /models/compatibility` by `model_id`: the verdict is read from the registered file on disk.
366
361
  const modelFile = async (provider, modelId) => {
367
362
  const registry = registries.get(provider);
368
363
  if (!(registry instanceof ModelRegistry))
@@ -373,31 +368,22 @@ export async function createAtomicCore(options, construct) {
373
368
  ...(yml.model_sha256 ? { sha256: yml.model_sha256 } : {}),
374
369
  };
375
370
  };
376
- const modelSetupDeps = {
377
- layout,
378
- compatibility: prismCompatibility,
379
- prismCatalog,
380
- hardware: () => hardware.facts(),
381
- offer: () => ({ coreVersion: CORE_VERSION, allowCandidates: allowPrismCandidates() }),
382
- currentPack: () => currentPrismPack({ layout, settings, hardware }),
383
- installEngine: (version, backend, opts) => backendService('atomic-prism').install(version, backend, opts),
384
- selectEngine: (versionBackend) => settings.update('atomic-prism', { version_backend: versionBackend }),
385
- downloader,
386
- register: async (provider, modelId, yml) => {
387
- await registries.get(provider).write(modelId, yml);
388
- },
389
- modelFile,
390
- emit: (name, payload) => emitter.emit(name, payload),
391
- freeBytes: () => availableDiskSpace(layout.root, undefined),
392
- fetchFor,
393
- newId: () => randomUUID(),
394
- ...(hfEndpoint ? { hfEndpoint } : {}),
395
- env,
396
- platform,
397
- ...(platform === 'linux' ? { rocmProbe: () => probeLinuxRocmHost() } : {}),
398
- log,
399
- };
400
- const modelSetups = wireModelSetups(modelSetupDeps);
371
+ // Cloud and self-hosted providers' image and video models (ADR
372
+ // 2026-10-13-remote-media-shares-the-diffusion-job-table). `ATOMIC_MEDIA_CATALOG_URL` is a test hook
373
+ // (docs/contracts.md "Test hooks"): an https or file URL of the catalog to read instead of conf's.
374
+ const mediaCatalogUrl = env['ATOMIC_MEDIA_CATALOG_URL'];
375
+ const media = new MediaService({
376
+ catalog: new MediaCatalogService({
377
+ cachePath: layout.core.mediaCatalogCache,
378
+ fetch: options.fetch ?? fetch,
379
+ ...(mediaCatalogUrl ? { url: mediaCatalogUrl } : {}),
380
+ log,
381
+ }),
382
+ providers: () => cloud.routing(),
383
+ adapters: MEDIA_ADAPTERS,
384
+ fetch: options.fetch ?? fetch,
385
+ log: runtimeLog,
386
+ });
401
387
  const diffusion = wireDiffusion({
402
388
  layout,
403
389
  journal,
@@ -408,6 +394,7 @@ export async function createAtomicCore(options, construct) {
408
394
  platform,
409
395
  env,
410
396
  claimGpu: gpuResidency.hook(DIFFUSION_GPU_PROVIDER),
397
+ remoteMedia: media,
411
398
  ...(options.diffusion ? { overrides: options.diffusion } : {}),
412
399
  ...(options.backendOutput ? { backendOutput: options.backendOutput } : {}),
413
400
  });
@@ -682,16 +669,9 @@ export async function createAtomicCore(options, construct) {
682
669
  },
683
670
  embed: (provider, modelId, input, ubatchSize) => embeddings.embed(provider, modelId, input, ubatchSize),
684
671
  },
685
- modelSetups: {
686
- compatibility: (request) => compatibilityFor(modelSetupDeps, request),
687
- plan: (request) => modelSetups.plan(request),
672
+ modelCompatibility: {
673
+ compatibility: (request) => compatibilityFor({ compatibility: prismCompatibility, modelFile }, request),
688
674
  families: () => prismCompatibility.families(),
689
- start: (request) => modelSetups.start(request),
690
- list: () => modelSetups.list(),
691
- get: (setupId) => modelSetups.get(setupId),
692
- cancel: (setupId) => modelSetups.cancel(setupId),
693
- resume: (setupId, opts) => modelSetups.resume(setupId, opts),
694
- snapshot: () => modelSetups.snapshot(),
695
675
  },
696
676
  managedModelChecks,
697
677
  ...(managedModelDelete !== null ? { managedModelDelete } : {}),
@@ -772,6 +752,10 @@ export async function createAtomicCore(options, construct) {
772
752
  upsert: (input) => cloud.upsert(input),
773
753
  remove: (provider) => cloud.remove(provider),
774
754
  },
755
+ media: {
756
+ catalog: () => media.catalogView(),
757
+ providerModels: (provider, kind) => media.providerModels(provider, kind),
758
+ },
775
759
  chatgpt: {
776
760
  status: () => chatgpt.status(),
777
761
  reload: () => chatgpt.reload(),
@@ -865,8 +849,8 @@ export async function createAtomicCore(options, construct) {
865
849
  // Before the first load (design D5): downloaded engine builds no newer than the installer's, the
866
850
  // ones a session kept on the last install, the leftovers of an interrupted install.
867
851
  await engineBuilds.startupCleanup();
868
- // A model setup a stopped core left mid-way becomes `interrupted`, resumable from its files.
869
- await modelSetups.recover().catch((e) => warn(`model setup recovery: ${String(e)}`));
852
+ // Bonsai setup records an older core left; the core no longer downloads models, so none resumes.
853
+ await removeLegacyPrismSetups(layout.core.dir).catch((e) => warn(`removing the old model setup records: ${String(e)}`));
870
854
  // A tunnel is worse to orphan than a backend: it keeps a public URL pointed at a local port.
871
855
  await reapTunnelOrphan(layout.core.remoteAccessTunnel, { log: warn });
872
856
  // Atomic Chat 2.0.40 journalled its tunnel at the data root and reaped it at its own startup; the