@atomic-chat/core 0.13.6 → 0.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/README.md +1 -1
  2. package/dist/app-daemon.js +9 -0
  3. package/dist/app-daemon.js.map +1 -1
  4. package/dist/backend/advisor/advisor.d.ts +8 -7
  5. package/dist/backend/advisor/advisor.js +17 -25
  6. package/dist/backend/advisor/advisor.js.map +1 -1
  7. package/dist/backend/catalog/index.d.ts +4 -2
  8. package/dist/backend/catalog/index.js +4 -2
  9. package/dist/backend/catalog/index.js.map +1 -1
  10. package/dist/backend/catalog/manifest.d.ts +5 -51
  11. package/dist/backend/catalog/manifest.js +5 -93
  12. package/dist/backend/catalog/manifest.js.map +1 -1
  13. package/dist/backend/catalog/upstream-releases-baseline.d.ts +2 -0
  14. package/dist/backend/catalog/upstream-releases-baseline.js +12 -0
  15. package/dist/backend/catalog/upstream-releases-baseline.js.map +1 -0
  16. package/dist/backend/catalog/upstream-releases-baseline.json +101 -0
  17. package/dist/backend/catalog/upstream-releases-catalog.d.ts +54 -0
  18. package/dist/backend/catalog/upstream-releases-catalog.js +148 -0
  19. package/dist/backend/catalog/upstream-releases-catalog.js.map +1 -0
  20. package/dist/backend/catalog/upstream-releases.d.ts +75 -0
  21. package/dist/backend/catalog/upstream-releases.js +155 -0
  22. package/dist/backend/catalog/upstream-releases.js.map +1 -0
  23. package/dist/backend/install/service.d.ts +7 -4
  24. package/dist/backend/install/service.js +4 -4
  25. package/dist/backend/install/service.js.map +1 -1
  26. package/dist/cli/commands/serve.js +10 -28
  27. package/dist/cli/commands/serve.js.map +1 -1
  28. package/dist/cli/main.d.ts +1 -1
  29. package/dist/cli/main.js +5 -1
  30. package/dist/cli/main.js.map +1 -1
  31. package/dist/client/control-client.d.ts +16 -19
  32. package/dist/client/control-client.js +24 -29
  33. package/dist/client/control-client.js.map +1 -1
  34. package/dist/cloud/registry.d.ts +14 -1
  35. package/dist/cloud/registry.js +74 -2
  36. package/dist/cloud/registry.js.map +1 -1
  37. package/dist/config/paths.d.ts +8 -3
  38. package/dist/config/paths.js +21 -9
  39. package/dist/config/paths.js.map +1 -1
  40. package/dist/contracts/diffusion.d.ts +45 -18
  41. package/dist/contracts/diffusion.js +1 -1
  42. package/dist/contracts/diffusion.js.map +1 -1
  43. package/dist/contracts/engine-builds.d.ts +1 -1
  44. package/dist/contracts/engine-builds.js +1 -1
  45. package/dist/contracts/engine-builds.js.map +1 -1
  46. package/dist/contracts/engines.d.ts +1 -1
  47. package/dist/contracts/engines.js +4 -0
  48. package/dist/contracts/engines.js.map +1 -1
  49. package/dist/contracts/errors.d.ts +8 -4
  50. package/dist/contracts/errors.js +16 -0
  51. package/dist/contracts/errors.js.map +1 -1
  52. package/dist/contracts/events.d.ts +18 -6
  53. package/dist/contracts/foundry-local.d.ts +77 -0
  54. package/dist/contracts/foundry-local.js +17 -0
  55. package/dist/contracts/foundry-local.js.map +1 -0
  56. package/dist/contracts/index.d.ts +2 -1
  57. package/dist/contracts/index.js +2 -1
  58. package/dist/contracts/index.js.map +1 -1
  59. package/dist/contracts/media.d.ts +186 -0
  60. package/dist/contracts/media.js +55 -0
  61. package/dist/contracts/media.js.map +1 -0
  62. package/dist/contracts/model-yml.d.ts +28 -0
  63. package/dist/contracts/model-yml.js +11 -0
  64. package/dist/contracts/model-yml.js.map +1 -1
  65. package/dist/contracts/session.d.ts +14 -1
  66. package/dist/contracts/session.js +10 -0
  67. package/dist/contracts/session.js.map +1 -1
  68. package/dist/contracts/settings.d.ts +40 -1
  69. package/dist/contracts/settings.js.map +1 -1
  70. package/dist/core/atomic-core.d.ts +5 -5
  71. package/dist/core/atomic-core.js.map +1 -1
  72. package/dist/core/create.js +149 -64
  73. package/dist/core/create.js.map +1 -1
  74. package/dist/core/managed-engines.js +2 -0
  75. package/dist/core/managed-engines.js.map +1 -1
  76. package/dist/core/prism.d.ts +21 -6
  77. package/dist/core/prism.js +44 -0
  78. package/dist/core/prism.js.map +1 -1
  79. package/dist/core/types.d.ts +9 -5
  80. package/dist/diffusion/gallery.d.ts +24 -3
  81. package/dist/diffusion/gallery.js +151 -21
  82. package/dist/diffusion/gallery.js.map +1 -1
  83. package/dist/diffusion/index.d.ts +3 -0
  84. package/dist/diffusion/index.js +3 -0
  85. package/dist/diffusion/index.js.map +1 -1
  86. package/dist/diffusion/install.d.ts +0 -4
  87. package/dist/diffusion/install.js +5 -2
  88. package/dist/diffusion/install.js.map +1 -1
  89. package/dist/diffusion/jobs.d.ts +6 -1
  90. package/dist/diffusion/jobs.js +6 -1
  91. package/dist/diffusion/jobs.js.map +1 -1
  92. package/dist/diffusion/media-header.d.ts +22 -0
  93. package/dist/diffusion/media-header.js +149 -0
  94. package/dist/diffusion/media-header.js.map +1 -0
  95. package/dist/diffusion/parse.d.ts +3 -1
  96. package/dist/diffusion/parse.js +36 -0
  97. package/dist/diffusion/parse.js.map +1 -1
  98. package/dist/diffusion/recipe.d.ts +10 -1
  99. package/dist/diffusion/recipe.js +85 -21
  100. package/dist/diffusion/recipe.js.map +1 -1
  101. package/dist/diffusion/remote-job.d.ts +76 -0
  102. package/dist/diffusion/remote-job.js +643 -0
  103. package/dist/diffusion/remote-job.js.map +1 -0
  104. package/dist/diffusion/remote-store.d.ts +38 -0
  105. package/dist/diffusion/remote-store.js +91 -0
  106. package/dist/diffusion/remote-store.js.map +1 -0
  107. package/dist/diffusion/server-process.d.ts +5 -2
  108. package/dist/diffusion/server-process.js +10 -2
  109. package/dist/diffusion/server-process.js.map +1 -1
  110. package/dist/diffusion/service.d.ts +9 -1
  111. package/dist/diffusion/service.js +49 -9
  112. package/dist/diffusion/service.js.map +1 -1
  113. package/dist/diffusion/state.d.ts +13 -1
  114. package/dist/diffusion/state.js +8 -0
  115. package/dist/diffusion/state.js.map +1 -1
  116. package/dist/diffusion/video-gallery.d.ts +11 -4
  117. package/dist/diffusion/video-gallery.js +62 -25
  118. package/dist/diffusion/video-gallery.js.map +1 -1
  119. package/dist/diffusion/video-history.js +4 -1
  120. package/dist/diffusion/video-history.js.map +1 -1
  121. package/dist/diffusion/video-recipe.js +58 -25
  122. package/dist/diffusion/video-recipe.js.map +1 -1
  123. package/dist/diffusion/wiring.d.ts +3 -0
  124. package/dist/diffusion/wiring.js +1 -0
  125. package/dist/diffusion/wiring.js.map +1 -1
  126. package/dist/downloads/archive.d.ts +1 -1
  127. package/dist/downloads/archive.js +2 -2
  128. package/dist/downloads/archive.js.map +1 -1
  129. package/dist/downloads/downloader.d.ts +1 -18
  130. package/dist/downloads/downloader.js +1 -45
  131. package/dist/downloads/downloader.js.map +1 -1
  132. package/dist/engine-builds/engines.d.ts +83 -0
  133. package/dist/engine-builds/engines.js +144 -0
  134. package/dist/engine-builds/engines.js.map +1 -0
  135. package/dist/engine-builds/foundry-local.d.ts +22 -0
  136. package/dist/engine-builds/foundry-local.js +100 -0
  137. package/dist/engine-builds/foundry-local.js.map +1 -0
  138. package/dist/engine-builds/manifest.d.ts +57 -6
  139. package/dist/engine-builds/manifest.js +109 -4
  140. package/dist/engine-builds/manifest.js.map +1 -1
  141. package/dist/engine-builds/order.d.ts +2 -1
  142. package/dist/engine-builds/order.js +11 -4
  143. package/dist/engine-builds/order.js.map +1 -1
  144. package/dist/engine-builds/select.d.ts +27 -0
  145. package/dist/engine-builds/select.js +45 -0
  146. package/dist/engine-builds/select.js.map +1 -1
  147. package/dist/engine-builds/service.d.ts +14 -15
  148. package/dist/engine-builds/service.js +68 -126
  149. package/dist/engine-builds/service.js.map +1 -1
  150. package/dist/engines/service.d.ts +6 -3
  151. package/dist/engines/service.js +6 -3
  152. package/dist/engines/service.js.map +1 -1
  153. package/dist/hardware/index.d.ts +1 -0
  154. package/dist/hardware/index.js +1 -0
  155. package/dist/hardware/index.js.map +1 -1
  156. package/dist/hardware/npu.d.ts +14 -0
  157. package/dist/hardware/npu.js +29 -0
  158. package/dist/hardware/npu.js.map +1 -0
  159. package/dist/integrations/detect.d.ts +2 -0
  160. package/dist/integrations/detect.js +4 -3
  161. package/dist/integrations/detect.js.map +1 -1
  162. package/dist/lock/instance-lock.js +5 -2
  163. package/dist/lock/instance-lock.js.map +1 -1
  164. package/dist/lock/process-identity.d.ts +9 -3
  165. package/dist/lock/process-identity.js +75 -9
  166. package/dist/lock/process-identity.js.map +1 -1
  167. package/dist/media/adapters/a1111.d.ts +32 -0
  168. package/dist/media/adapters/a1111.js +207 -0
  169. package/dist/media/adapters/a1111.js.map +1 -0
  170. package/dist/media/adapters/aimlapi-videos.d.ts +34 -0
  171. package/dist/media/adapters/aimlapi-videos.js +172 -0
  172. package/dist/media/adapters/aimlapi-videos.js.map +1 -0
  173. package/dist/media/adapters/dashscope-image.d.ts +26 -0
  174. package/dist/media/adapters/dashscope-image.js +160 -0
  175. package/dist/media/adapters/dashscope-image.js.map +1 -0
  176. package/dist/media/adapters/dashscope-video.d.ts +47 -0
  177. package/dist/media/adapters/dashscope-video.js +251 -0
  178. package/dist/media/adapters/dashscope-video.js.map +1 -0
  179. package/dist/media/adapters/gemini-image.d.ts +27 -0
  180. package/dist/media/adapters/gemini-image.js +181 -0
  181. package/dist/media/adapters/gemini-image.js.map +1 -0
  182. package/dist/media/adapters/gemini-veo.d.ts +39 -0
  183. package/dist/media/adapters/gemini-veo.js +196 -0
  184. package/dist/media/adapters/gemini-veo.js.map +1 -0
  185. package/dist/media/adapters/hf-images.d.ts +85 -0
  186. package/dist/media/adapters/hf-images.js +439 -0
  187. package/dist/media/adapters/hf-images.js.map +1 -0
  188. package/dist/media/adapters/hf-videos.d.ts +44 -0
  189. package/dist/media/adapters/hf-videos.js +265 -0
  190. package/dist/media/adapters/hf-videos.js.map +1 -0
  191. package/dist/media/adapters/minimax-image.d.ts +26 -0
  192. package/dist/media/adapters/minimax-image.js +111 -0
  193. package/dist/media/adapters/minimax-image.js.map +1 -0
  194. package/dist/media/adapters/minimax-video-v2.d.ts +34 -0
  195. package/dist/media/adapters/minimax-video-v2.js +191 -0
  196. package/dist/media/adapters/minimax-video-v2.js.map +1 -0
  197. package/dist/media/adapters/minimax-video.d.ts +28 -0
  198. package/dist/media/adapters/minimax-video.js +155 -0
  199. package/dist/media/adapters/minimax-video.js.map +1 -0
  200. package/dist/media/adapters/mistral-agent-image.d.ts +33 -0
  201. package/dist/media/adapters/mistral-agent-image.js +108 -0
  202. package/dist/media/adapters/mistral-agent-image.js.map +1 -0
  203. package/dist/media/adapters/nvidia-genai.d.ts +28 -0
  204. package/dist/media/adapters/nvidia-genai.js +182 -0
  205. package/dist/media/adapters/nvidia-genai.js.map +1 -0
  206. package/dist/media/adapters/openai-images.d.ts +23 -0
  207. package/dist/media/adapters/openai-images.js +164 -0
  208. package/dist/media/adapters/openai-images.js.map +1 -0
  209. package/dist/media/adapters/openai-videos.d.ts +34 -0
  210. package/dist/media/adapters/openai-videos.js +175 -0
  211. package/dist/media/adapters/openai-videos.js.map +1 -0
  212. package/dist/media/adapters/openrouter-images.d.ts +25 -0
  213. package/dist/media/adapters/openrouter-images.js +161 -0
  214. package/dist/media/adapters/openrouter-images.js.map +1 -0
  215. package/dist/media/adapters/openrouter-videos.d.ts +43 -0
  216. package/dist/media/adapters/openrouter-videos.js +208 -0
  217. package/dist/media/adapters/openrouter-videos.js.map +1 -0
  218. package/dist/media/adapters/registry.d.ts +7 -0
  219. package/dist/media/adapters/registry.js +45 -0
  220. package/dist/media/adapters/registry.js.map +1 -0
  221. package/dist/media/adapters/types.d.ts +133 -0
  222. package/dist/media/adapters/types.js +15 -0
  223. package/dist/media/adapters/types.js.map +1 -0
  224. package/dist/media/adapters/xai-images.d.ts +19 -0
  225. package/dist/media/adapters/xai-images.js +83 -0
  226. package/dist/media/adapters/xai-images.js.map +1 -0
  227. package/dist/media/adapters/xai-videos.d.ts +29 -0
  228. package/dist/media/adapters/xai-videos.js +148 -0
  229. package/dist/media/adapters/xai-videos.js.map +1 -0
  230. package/dist/media/catalog-baseline.d.ts +2 -0
  231. package/dist/media/catalog-baseline.js +10 -0
  232. package/dist/media/catalog-baseline.js.map +1 -0
  233. package/dist/media/catalog-baseline.json +1819 -0
  234. package/dist/media/catalog-service.d.ts +42 -0
  235. package/dist/media/catalog-service.js +111 -0
  236. package/dist/media/catalog-service.js.map +1 -0
  237. package/dist/media/catalog.d.ts +50 -0
  238. package/dist/media/catalog.js +315 -0
  239. package/dist/media/catalog.js.map +1 -0
  240. package/dist/media/http.d.ts +125 -0
  241. package/dist/media/http.js +308 -0
  242. package/dist/media/http.js.map +1 -0
  243. package/dist/media/index.d.ts +14 -0
  244. package/dist/media/index.js +15 -0
  245. package/dist/media/index.js.map +1 -0
  246. package/dist/media/mask.d.ts +12 -0
  247. package/dist/media/mask.js +57 -0
  248. package/dist/media/mask.js.map +1 -0
  249. package/dist/media/service.d.ts +42 -0
  250. package/dist/media/service.js +144 -0
  251. package/dist/media/service.js.map +1 -0
  252. package/dist/models/hf.d.ts +3 -16
  253. package/dist/models/hf.js +4 -42
  254. package/dist/models/hf.js.map +1 -1
  255. package/dist/router/resolve.d.ts +15 -4
  256. package/dist/router/resolve.js +26 -3
  257. package/dist/router/resolve.js.map +1 -1
  258. package/dist/runtime/environment/linux-provisioner.js +7 -67
  259. package/dist/runtime/environment/linux-provisioner.js.map +1 -1
  260. package/dist/runtime/environment/runtime-removal-plan.d.ts +19 -0
  261. package/dist/runtime/environment/runtime-removal-plan.js +74 -0
  262. package/dist/runtime/environment/runtime-removal-plan.js.map +1 -0
  263. package/dist/runtime/environment/windows-provisioner.js +20 -4
  264. package/dist/runtime/environment/windows-provisioner.js.map +1 -1
  265. package/dist/runtime/foundry-local/accelerators.d.ts +42 -0
  266. package/dist/runtime/foundry-local/accelerators.js +153 -0
  267. package/dist/runtime/foundry-local/accelerators.js.map +1 -0
  268. package/dist/runtime/foundry-local/check.d.ts +19 -0
  269. package/dist/runtime/foundry-local/check.js +69 -0
  270. package/dist/runtime/foundry-local/check.js.map +1 -0
  271. package/dist/runtime/foundry-local/host/args.d.ts +44 -0
  272. package/dist/runtime/foundry-local/host/args.js +109 -0
  273. package/dist/runtime/foundry-local/host/args.js.map +1 -0
  274. package/dist/runtime/foundry-local/host/execution-providers.d.ts +27 -0
  275. package/dist/runtime/foundry-local/host/execution-providers.js +43 -0
  276. package/dist/runtime/foundry-local/host/execution-providers.js.map +1 -0
  277. package/dist/runtime/foundry-local/host/ffi-bun.d.ts +17 -0
  278. package/dist/runtime/foundry-local/host/ffi-bun.js +256 -0
  279. package/dist/runtime/foundry-local/host/ffi-bun.js.map +1 -0
  280. package/dist/runtime/foundry-local/host/library.d.ts +61 -0
  281. package/dist/runtime/foundry-local/host/library.js +17 -0
  282. package/dist/runtime/foundry-local/host/library.js.map +1 -0
  283. package/dist/runtime/foundry-local/host/run.d.ts +54 -0
  284. package/dist/runtime/foundry-local/host/run.js +316 -0
  285. package/dist/runtime/foundry-local/host/run.js.map +1 -0
  286. package/dist/runtime/foundry-local/host-process.d.ts +78 -0
  287. package/dist/runtime/foundry-local/host-process.js +182 -0
  288. package/dist/runtime/foundry-local/host-process.js.map +1 -0
  289. package/dist/runtime/foundry-local/index.d.ts +11 -0
  290. package/dist/runtime/foundry-local/index.js +11 -0
  291. package/dist/runtime/foundry-local/index.js.map +1 -0
  292. package/dist/runtime/foundry-local/model-yml.d.ts +8 -0
  293. package/dist/runtime/foundry-local/model-yml.js +63 -0
  294. package/dist/runtime/foundry-local/model-yml.js.map +1 -0
  295. package/dist/runtime/foundry-local/runtime.d.ts +88 -0
  296. package/dist/runtime/foundry-local/runtime.js +321 -0
  297. package/dist/runtime/foundry-local/runtime.js.map +1 -0
  298. package/dist/runtime/llamacpp/args.d.ts +5 -0
  299. package/dist/runtime/llamacpp/args.js +7 -1
  300. package/dist/runtime/llamacpp/args.js.map +1 -1
  301. package/dist/runtime/llamacpp/errors.d.ts +1 -0
  302. package/dist/runtime/llamacpp/errors.js +10 -0
  303. package/dist/runtime/llamacpp/errors.js.map +1 -1
  304. package/dist/runtime/llamacpp/load-plan.d.ts +5 -0
  305. package/dist/runtime/llamacpp/load-plan.js +8 -0
  306. package/dist/runtime/llamacpp/load-plan.js.map +1 -1
  307. package/dist/runtime/llamacpp/runtime-device.d.ts +8 -0
  308. package/dist/runtime/llamacpp/runtime-device.js +9 -3
  309. package/dist/runtime/llamacpp/runtime-device.js.map +1 -1
  310. package/dist/runtime/llamacpp/runtime.d.ts +6 -1
  311. package/dist/runtime/llamacpp/runtime.js +19 -3
  312. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  313. package/dist/runtime/managed-engines/spec.d.ts +2 -2
  314. package/dist/runtime/managed-engines/spec.js +6 -0
  315. package/dist/runtime/managed-engines/spec.js.map +1 -1
  316. package/dist/runtime/managed-models/compatibility.d.ts +10 -0
  317. package/dist/runtime/managed-models/compatibility.js +18 -0
  318. package/dist/runtime/managed-models/compatibility.js.map +1 -1
  319. package/dist/runtime/managed-text/gateway.d.ts +2 -0
  320. package/dist/runtime/managed-text/gateway.js +1 -1
  321. package/dist/runtime/managed-text/gateway.js.map +1 -1
  322. package/dist/runtime/managed-text/request-rules.d.ts +9 -7
  323. package/dist/runtime/managed-text/request-rules.js +58 -2
  324. package/dist/runtime/managed-text/request-rules.js.map +1 -1
  325. package/dist/runtime/managed-text/setting-values.d.ts +9 -0
  326. package/dist/runtime/managed-text/setting-values.js +44 -0
  327. package/dist/runtime/managed-text/setting-values.js.map +1 -0
  328. package/dist/runtime/sglang/adapter.d.ts +50 -0
  329. package/dist/runtime/sglang/adapter.js +393 -0
  330. package/dist/runtime/sglang/adapter.js.map +1 -0
  331. package/dist/runtime/sglang/engine.d.ts +16 -0
  332. package/dist/runtime/sglang/engine.js +38 -0
  333. package/dist/runtime/sglang/engine.js.map +1 -0
  334. package/dist/runtime/sglang/index.d.ts +11 -0
  335. package/dist/runtime/sglang/index.js +12 -0
  336. package/dist/runtime/sglang/index.js.map +1 -0
  337. package/dist/runtime/sglang/memory.d.ts +64 -0
  338. package/dist/runtime/sglang/memory.js +90 -0
  339. package/dist/runtime/sglang/memory.js.map +1 -0
  340. package/dist/runtime/sglang/settings.d.ts +49 -0
  341. package/dist/runtime/sglang/settings.js +118 -0
  342. package/dist/runtime/sglang/settings.js.map +1 -0
  343. package/dist/runtime/shared/external-sessions.js +2 -0
  344. package/dist/runtime/shared/external-sessions.js.map +1 -1
  345. package/dist/runtime/shared/process.d.ts +13 -1
  346. package/dist/runtime/shared/process.js +21 -12
  347. package/dist/runtime/shared/process.js.map +1 -1
  348. package/dist/runtime/vllm/adapter.js +2 -47
  349. package/dist/runtime/vllm/adapter.js.map +1 -1
  350. package/dist/runtime/vllm/memory.js +3 -16
  351. package/dist/runtime/vllm/memory.js.map +1 -1
  352. package/dist/runtime/vllm/settings.d.ts +7 -0
  353. package/dist/runtime/vllm/settings.js +2 -30
  354. package/dist/runtime/vllm/settings.js.map +1 -1
  355. package/dist/server/control/router.js +6 -3
  356. package/dist/server/control/router.js.map +1 -1
  357. package/dist/server/control/routes/foundry-local.d.ts +10 -0
  358. package/dist/server/control/routes/foundry-local.js +42 -0
  359. package/dist/server/control/routes/foundry-local.js.map +1 -0
  360. package/dist/server/control/routes/media.d.ts +9 -0
  361. package/dist/server/control/routes/media.js +24 -0
  362. package/dist/server/control/routes/media.js.map +1 -0
  363. package/dist/server/control/routes/model-compatibility.d.ts +9 -0
  364. package/dist/server/control/routes/model-compatibility.js +31 -0
  365. package/dist/server/control/routes/model-compatibility.js.map +1 -0
  366. package/dist/server/control/routes/models.js +3 -1
  367. package/dist/server/control/routes/models.js.map +1 -1
  368. package/dist/server/control/types.d.ts +30 -20
  369. package/dist/server/control/types.js.map +1 -1
  370. package/dist/server/http.js +17 -2
  371. package/dist/server/http.js.map +1 -1
  372. package/dist/server/public/errors.d.ts +1 -0
  373. package/dist/server/public/errors.js +18 -0
  374. package/dist/server/public/errors.js.map +1 -1
  375. package/dist/server/public/images-params.js +18 -1
  376. package/dist/server/public/images-params.js.map +1 -1
  377. package/dist/server/public/images.d.ts +11 -2
  378. package/dist/server/public/images.js +73 -9
  379. package/dist/server/public/images.js.map +1 -1
  380. package/dist/server/public/index.js +7 -1
  381. package/dist/server/public/index.js.map +1 -1
  382. package/dist/server/public/listing.js +2 -0
  383. package/dist/server/public/listing.js.map +1 -1
  384. package/dist/server/public/remote-media.d.ts +51 -0
  385. package/dist/server/public/remote-media.js +225 -0
  386. package/dist/server/public/remote-media.js.map +1 -0
  387. package/dist/server/public/responses.js +4 -2
  388. package/dist/server/public/responses.js.map +1 -1
  389. package/dist/server/public/static-assets.generated.js +1 -1
  390. package/dist/server/public/static-assets.generated.js.map +1 -1
  391. package/dist/server/public/trace.js +2 -0
  392. package/dist/server/public/trace.js.map +1 -1
  393. package/dist/server/public/types.d.ts +5 -1
  394. package/dist/server/public/videos-params.js +13 -3
  395. package/dist/server/public/videos-params.js.map +1 -1
  396. package/dist/server/public/videos.d.ts +1 -0
  397. package/dist/server/public/videos.js +21 -3
  398. package/dist/server/public/videos.js.map +1 -1
  399. package/dist/settings/schema/foundry-local.json +14 -0
  400. package/dist/settings/schema/llamacpp-upstream.json +9 -0
  401. package/dist/settings/schema/sglang.json +251 -0
  402. package/dist/settings/schema.js +35 -1
  403. package/dist/settings/schema.js.map +1 -1
  404. package/dist/version.d.ts +1 -1
  405. package/dist/version.js +1 -1
  406. package/package.json +2 -5
  407. package/src/settings/schema/foundry-local.json +14 -0
  408. package/src/settings/schema/llamacpp-upstream.json +9 -0
  409. package/src/settings/schema/sglang.json +251 -0
  410. package/dist/backend/catalog/bundled-manifest-baseline.d.ts +0 -2
  411. package/dist/backend/catalog/bundled-manifest-baseline.js +0 -65
  412. package/dist/backend/catalog/bundled-manifest-baseline.js.map +0 -1
  413. package/dist/contracts/model-setup.d.ts +0 -115
  414. package/dist/contracts/model-setup.js +0 -33
  415. package/dist/contracts/model-setup.js.map +0 -1
  416. package/dist/core/model-setup/index.d.ts +0 -4
  417. package/dist/core/model-setup/index.js +0 -5
  418. package/dist/core/model-setup/index.js.map +0 -1
  419. package/dist/core/model-setup/plan.d.ts +0 -56
  420. package/dist/core/model-setup/plan.js +0 -158
  421. package/dist/core/model-setup/plan.js.map +0 -1
  422. package/dist/core/model-setup/service.d.ts +0 -92
  423. package/dist/core/model-setup/service.js +0 -329
  424. package/dist/core/model-setup/service.js.map +0 -1
  425. package/dist/core/model-setup/store.d.ts +0 -29
  426. package/dist/core/model-setup/store.js +0 -116
  427. package/dist/core/model-setup/store.js.map +0 -1
  428. package/dist/core/model-setup/wiring.d.ts +0 -59
  429. package/dist/core/model-setup/wiring.js +0 -132
  430. package/dist/core/model-setup/wiring.js.map +0 -1
  431. package/dist/core/tensorrt-llm.d.ts +0 -169
  432. package/dist/core/tensorrt-llm.js +0 -428
  433. package/dist/core/tensorrt-llm.js.map +0 -1
  434. package/dist/downloads/segmented.d.ts +0 -40
  435. package/dist/downloads/segmented.js +0 -170
  436. package/dist/downloads/segmented.js.map +0 -1
  437. package/dist/runtime/tensorrt-llm/delete.d.ts +0 -15
  438. package/dist/runtime/tensorrt-llm/delete.js +0 -60
  439. package/dist/runtime/tensorrt-llm/delete.js.map +0 -1
  440. package/dist/runtime/tensorrt-llm/guest-files.d.ts +0 -8
  441. package/dist/runtime/tensorrt-llm/guest-files.js +0 -49
  442. package/dist/runtime/tensorrt-llm/guest-files.js.map +0 -1
  443. package/dist/runtime/tensorrt-llm/location.d.ts +0 -20
  444. package/dist/runtime/tensorrt-llm/location.js +0 -48
  445. package/dist/runtime/tensorrt-llm/location.js.map +0 -1
  446. package/dist/runtime/tensorrt-llm/model-dir.d.ts +0 -38
  447. package/dist/runtime/tensorrt-llm/model-dir.js +0 -137
  448. package/dist/runtime/tensorrt-llm/model-dir.js.map +0 -1
  449. package/dist/runtime/tensorrt-llm/quant-format.d.ts +0 -65
  450. package/dist/runtime/tensorrt-llm/quant-format.js +0 -189
  451. package/dist/runtime/tensorrt-llm/quant-format.js.map +0 -1
  452. package/dist/runtime/tensorrt-llm/registry.d.ts +0 -26
  453. package/dist/runtime/tensorrt-llm/registry.js +0 -68
  454. package/dist/runtime/tensorrt-llm/registry.js.map +0 -1
  455. package/dist/runtime/tensorrt-llm/runtime.d.ts +0 -130
  456. package/dist/runtime/tensorrt-llm/runtime.js +0 -395
  457. package/dist/runtime/tensorrt-llm/runtime.js.map +0 -1
  458. package/dist/server/control/routes/model-setups.d.ts +0 -11
  459. package/dist/server/control/routes/model-setups.js +0 -55
  460. package/dist/server/control/routes/model-setups.js.map +0 -1
@@ -6,10 +6,10 @@
6
6
  import type { DiffusionErrorEvent, DiffusionJobEvent, DiffusionVideoJobEvent, DiffusionVideoProgressEvent, DiffusionProgressEvent, DiffusionStateEvent } from './diffusion.js';
7
7
  import type { EngineBuildChangedEvent } from './engine-builds.js';
8
8
  import type { EngineChangedEvent } from './engines.js';
9
+ import type { FoundryLocalAcceleratorsEvent } from './foundry-local.js';
9
10
  import type { EnvironmentOperation, EnvironmentSnapshot } from './environment.js';
10
11
  import type { DecisionErrorEvent, DecisionStateEvent } from './decision.js';
11
12
  import type { EmbeddingErrorEvent, EmbeddingStateEvent } from './embedding.js';
12
- import type { ModelSetup } from './model-setup.js';
13
13
  import type { RemoteAccessStatus } from './remote-access.js';
14
14
  import type { LocalProviderId, RuntimeDeviceInfo, SessionInfo, SessionLoadStage } from './session.js';
15
15
  export type DownloadKind = 'model' | 'backend' | 'draft' | 'cudart';
@@ -24,6 +24,17 @@ export interface DownloadStage {
24
24
  attempt: number;
25
25
  maxAttempts: number;
26
26
  }
27
+ /**
28
+ * One running download's combined progress, as its last `download:progress` event said: what
29
+ * `GET /atomic/v1/snapshot` lists under `downloads`. The core downloads engine builds only; model
30
+ * files are the clients' (ADR 2026-10-15-core-does-not-download-models).
31
+ */
32
+ export interface DownloadProgress {
33
+ taskId: string;
34
+ transferred: number;
35
+ total: number;
36
+ percent: number;
37
+ }
27
38
  export interface CoreEvents {
28
39
  'download:started': {
29
40
  taskId: string;
@@ -221,6 +232,12 @@ export interface CoreEvents {
221
232
  * the desktop releases that listen to it.
222
233
  */
223
234
  'engine:changed': EngineChangedEvent;
235
+ /**
236
+ * One accelerator's step of `POST /runtimes/foundry-local/accelerators/prepare` (change
237
+ * `add-foundry-local`, design D3): progress while the library downloads it, then `done` or
238
+ * `failed`. Re-read `GET /runtimes/foundry-local/accelerators` after the last one.
239
+ */
240
+ 'foundry-local:accelerators': FoundryLocalAcceleratorsEvent;
224
241
  /**
225
242
  * The decision model (ADR 2026-09-30-the-decision-model-is-its-own-core-module). `state` on every
226
243
  * status change (the payload is the whole `DecisionStatus`, like `GET /decision/status`); `error`
@@ -235,11 +252,6 @@ export interface CoreEvents {
235
252
  */
236
253
  'embedding:state': EmbeddingStateEvent;
237
254
  'embedding:error': EmbeddingErrorEvent;
238
- /**
239
- * Every write of a model setup (`src/contracts/model-setup.ts`), the whole record: keep the one
240
- * with the highest `revision` per `setup_id`.
241
- */
242
- 'model-setup:changed': ModelSetup;
243
255
  /**
244
256
  * One request to the Local API Server, for the app's analytics window and its API screen
245
257
  * (PLAN.md §2 decision 15). `started` and `progress` are sent only while the app's inspector is
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Foundry Local's accelerators (openspec change `add-foundry-local`, task 6.4, design D3): what the
3
+ * library of the active build finds on this machine, and the explicit, client-ordered step that
4
+ * downloads them (NPU plugins through Windows ML, CUDA and WebGPU from Microsoft's CDN). Nothing
5
+ * downloads an accelerator on its own: not the start, not an install, not a model load.
6
+ *
7
+ * Browser-safe: types and constants only. snake_case on the wire, like `/engine-builds`.
8
+ */
9
+ import type { FoundryLocalExecutionProvider } from './model-yml.js';
10
+ export interface FoundryLocalAccelerator {
11
+ /** The library's name (`OpenVINOExecutionProvider`, `CUDAExecutionProvider`, …). */
12
+ name: string;
13
+ /** The conf/`model.yml` spelling; `null` for one this core runs no variant on (TensorRT-RTX). */
14
+ execution_provider: FoundryLocalExecutionProvider | null;
15
+ /** `gpu`, `npu`, `cpu`, or `gpu/npu` for OpenVINO, which Windows ML offers without an NPU too. */
16
+ device: string;
17
+ /** Downloaded and registered by a `prepare` on this machine. */
18
+ prepared: boolean;
19
+ /** Why the last `prepare` did not prepare it, in the library's words when it had any. */
20
+ reason?: string;
21
+ }
22
+ export interface FoundryLocalAccelerators {
23
+ /** `false`: no Foundry Local build is installed; the list is empty and nothing was probed. */
24
+ installed: boolean;
25
+ /** The build probed: `<tag>/<platform>` directory name pair, e.g. `v2.1.0/win-x64`. */
26
+ build: string | null;
27
+ /** The library's version string and C API version, from the probe. */
28
+ version: string | null;
29
+ c_api_version: number | null;
30
+ /** Milliseconds since the epoch of the probe this answer is; `null` when none ran. */
31
+ probed_at: number | null;
32
+ accelerators: FoundryLocalAccelerator[];
33
+ /** Why the probe failed (the library does not load, …); the list is then empty. */
34
+ error: string | null;
35
+ }
36
+ export interface FoundryLocalPrepareRequest {
37
+ /** The library names to prepare; absent or empty: every accelerator the library offers here. */
38
+ accelerators?: string[];
39
+ }
40
+ export interface FoundryLocalPrepareResult {
41
+ accelerators: Array<{
42
+ name: string;
43
+ prepared: boolean;
44
+ reason?: string;
45
+ }>;
46
+ }
47
+ export declare const FOUNDRY_LOCAL_PREPARE_STAGES: readonly ["started", "downloading", "done", "failed"];
48
+ export type FoundryLocalPrepareStage = (typeof FOUNDRY_LOCAL_PREPARE_STAGES)[number];
49
+ /**
50
+ * `foundry-local:accelerators`: one accelerator's step of a `prepare`. `fraction` is 0…1 while a CDN
51
+ * download runs; Windows ML accelerators report none, only `started` and `done`/`failed`, and a
52
+ * `failed` step has `fraction: null` (rulings R6 of the change).
53
+ */
54
+ export interface FoundryLocalAcceleratorsEvent {
55
+ accelerator: string;
56
+ stage: FoundryLocalPrepareStage;
57
+ fraction: number | null;
58
+ reason?: string;
59
+ }
60
+ /** `POST /models/foundry-local/check`: the variant's accelerator and device, as conf and `model.yml` spell them. */
61
+ export interface FoundryLocalCheckRequest {
62
+ execution_provider: string;
63
+ device: string;
64
+ }
65
+ export declare const FOUNDRY_LOCAL_CHECK_VERDICTS: readonly ["ok", "accelerator-not-prepared", "accelerator-unavailable", "platform-unsupported", "engine-not-installed"];
66
+ export type FoundryLocalCheckVerdict = (typeof FOUNDRY_LOCAL_CHECK_VERDICTS)[number];
67
+ /**
68
+ * Whether a Foundry Local variant would run here, from the platform, the installed build and the
69
+ * last accelerators probe — never the network (spec "Совместимость варианта проверяется в core").
70
+ */
71
+ export interface FoundryLocalCheckResult {
72
+ verdict: FoundryLocalCheckVerdict;
73
+ /** Why, in words a card can show; `null` for `ok`. */
74
+ reason: string | null;
75
+ /** The library name of the accelerator the variant needs; `null` for the CPU. */
76
+ accelerator: string | null;
77
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Foundry Local's accelerators (openspec change `add-foundry-local`, task 6.4, design D3): what the
3
+ * library of the active build finds on this machine, and the explicit, client-ordered step that
4
+ * downloads them (NPU plugins through Windows ML, CUDA and WebGPU from Microsoft's CDN). Nothing
5
+ * downloads an accelerator on its own: not the start, not an install, not a model load.
6
+ *
7
+ * Browser-safe: types and constants only. snake_case on the wire, like `/engine-builds`.
8
+ */
9
+ export const FOUNDRY_LOCAL_PREPARE_STAGES = ['started', 'downloading', 'done', 'failed'];
10
+ export const FOUNDRY_LOCAL_CHECK_VERDICTS = [
11
+ 'ok',
12
+ 'accelerator-not-prepared',
13
+ 'accelerator-unavailable',
14
+ 'platform-unsupported',
15
+ 'engine-not-installed',
16
+ ];
17
+ //# sourceMappingURL=foundry-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foundry-local.js","sourceRoot":"","sources":["../../src/contracts/foundry-local.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyCH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAqBjG,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,IAAI;IACJ,0BAA0B;IAC1B,yBAAyB;IACzB,sBAAsB;IACtB,sBAAsB;CACd,CAAA"}
@@ -9,12 +9,13 @@ export * from './events.js';
9
9
  export * from './control-api.js';
10
10
  export * from './remote-access.js';
11
11
  export * from './diffusion.js';
12
+ export * from './media.js';
12
13
  export * from './decision.js';
13
14
  export * from './embedding.js';
14
15
  export * from './hardware.js';
15
16
  export * from './backend-advisor.js';
16
17
  export * from './environment.js';
17
18
  export * from './model-compatibility.js';
18
- export * from './model-setup.js';
19
19
  export * from './engine-builds.js';
20
20
  export * from './engines.js';
21
+ export * from './foundry-local.js';
@@ -9,13 +9,14 @@ export * from './events.js';
9
9
  export * from './control-api.js';
10
10
  export * from './remote-access.js';
11
11
  export * from './diffusion.js';
12
+ export * from './media.js';
12
13
  export * from './decision.js';
13
14
  export * from './embedding.js';
14
15
  export * from './hardware.js';
15
16
  export * from './backend-advisor.js';
16
17
  export * from './environment.js';
17
18
  export * from './model-compatibility.js';
18
- export * from './model-setup.js';
19
19
  export * from './engine-builds.js';
20
20
  export * from './engines.js';
21
+ export * from './foundry-local.js';
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
@@ -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"}
@@ -28,6 +28,8 @@ export interface ModelYml {
28
28
  * llama.cpp provider; the load gate still reads the header either way.
29
29
  */
30
30
  atomic_runtime?: ModelYmlAtomicRuntime;
31
+ /** A Foundry Local variant (`<data>/foundry-local/models/<variant_id>/`), written by the app's installer. */
32
+ foundry_local?: ModelYmlFoundryLocal;
31
33
  }
32
34
  export interface ModelYmlAtomicRuntime {
33
35
  provider: 'atomic-prism';
@@ -38,5 +40,31 @@ export interface ModelYmlAtomicRuntime {
38
40
  /** Conf model-rules family id. */
39
41
  family?: string;
40
42
  }
43
+ /** The accelerators a Foundry Local variant may name, as conf's model list spells them. */
44
+ export declare const FOUNDRY_LOCAL_EXECUTION_PROVIDERS: readonly ["cpu", "cuda", "webgpu", "openvino", "qnn", "vitisai"];
45
+ export type FoundryLocalExecutionProvider = (typeof FOUNDRY_LOCAL_EXECUTION_PROVIDERS)[number];
46
+ export declare const FOUNDRY_LOCAL_DEVICES: readonly ["cpu", "gpu", "npu"];
47
+ export type FoundryLocalDevice = (typeof FOUNDRY_LOCAL_DEVICES)[number];
48
+ /**
49
+ * The `foundry_local` block (openspec change `add-foundry-local`, design D4): which variant the folder
50
+ * holds and what the host registers it with. The accelerator is passed to the library explicitly.
51
+ */
52
+ export interface ModelYmlFoundryLocal {
53
+ /** The model the variant belongs to (conf list id, or the catalog's parent model). */
54
+ model_id: string;
55
+ variant_id: string;
56
+ execution_provider: FoundryLocalExecutionProvider;
57
+ device: FoundryLocalDevice;
58
+ /** `azureml://registries/<r>/models/<name>/versions/<v>`. */
59
+ asset_id?: string;
60
+ asset_version?: string;
61
+ /** The variant's context, when it is smaller than the model's (NPU builds). */
62
+ context_length?: number;
63
+ tools: boolean;
64
+ reasoning: boolean;
65
+ /** The markers the library splits reasoning on; without them `<think>` lands in the text (operator decision Q1). */
66
+ reasoning_start?: string;
67
+ reasoning_end?: string;
68
+ }
41
69
  /** Key order the app's serde_yaml writer produces; `writeModelYml` must emit keys in this order. */
42
70
  export declare const MODEL_YML_KEY_ORDER: readonly (keyof ModelYml)[];
@@ -2,6 +2,16 @@
2
2
  * `<data>/llamacpp/models/<id>/model.yml` — the file that defines a model. Shared with the app;
3
3
  * see PLAN.md §8.1. Canonical shape: guest-js/types.ts:142-171 (+ `capabilities` from cli/mod.rs).
4
4
  */
5
+ /** The accelerators a Foundry Local variant may name, as conf's model list spells them. */
6
+ export const FOUNDRY_LOCAL_EXECUTION_PROVIDERS = [
7
+ 'cpu',
8
+ 'cuda',
9
+ 'webgpu',
10
+ 'openvino',
11
+ 'qnn',
12
+ 'vitisai',
13
+ ];
14
+ export const FOUNDRY_LOCAL_DEVICES = ['cpu', 'gpu', 'npu'];
5
15
  /** Key order the app's serde_yaml writer produces; `writeModelYml` must emit keys in this order. */
6
16
  export const MODEL_YML_KEY_ORDER = [
7
17
  'model_path',
@@ -20,5 +30,6 @@ export const MODEL_YML_KEY_ORDER = [
20
30
  'source',
21
31
  'capabilities',
22
32
  'atomic_runtime',
33
+ 'foundry_local',
23
34
  ];
24
35
  //# 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;AAkDH,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;CACjB,CAAA"}
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"}
@@ -10,8 +10,21 @@
10
10
  * `atomic-prism` is PrismML's llama.cpp fork, the only engine that runs Bonsai's Prism packings
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
+ *
14
+ * `foundry-local` is Microsoft Foundry Local (ONNX Runtime GenAI: NPU, CUDA, WebGPU, CPU), run by a
15
+ * host process of this binary per model (openspec change `add-foundry-local`); registered only on
16
+ * the platforms its archives support.
17
+ */
18
+ export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | 'foundry-local' | ManagedProviderId;
19
+ /**
20
+ * The managed engines — each one a container core runs from a model of the managed model store — in
21
+ * the order their registry lists them (change `add-sglang-runtime`, D1). The one list every place
22
+ * that must tell a managed provider from the others reads, rather than naming them one by one; the
23
+ * managed engine registry refuses, at startup, an engine missing from it.
13
24
  */
14
- export type LocalProviderId = 'llamacpp-upstream' | 'llamacpp' | 'atomic-prism' | 'mlx' | 'foundation-models' | 'tensorrt-llm' | 'vllm';
25
+ export declare const MANAGED_PROVIDER_IDS: readonly ["tensorrt-llm", "vllm", "sglang"];
26
+ export type ManagedProviderId = (typeof MANAGED_PROVIDER_IDS)[number];
27
+ export declare function isManagedProviderId(provider: string): provider is ManagedProviderId;
15
28
  export interface RuntimeDeviceInfo {
16
29
  /** Backends in load order, deduped, e.g. ["CUDA", "CPU"]. */
17
30
  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;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"}
@@ -80,6 +80,10 @@ export interface MlxConfig {
80
80
  export interface FoundationModelsConfig {
81
81
  timeout: number;
82
82
  }
83
+ /** `foundry-local` (change `add-foundry-local`): seconds a model may take to load in its host. */
84
+ export interface FoundryLocalConfig {
85
+ timeout: number;
86
+ }
83
87
  /**
84
88
  * `tensorrt-llm` as the settings store holds it (`src/settings/schema/tensorrt-llm.json`). `gpu_id: ''`
85
89
  * lets a load pick the card with the most free memory and `load_timeout_seconds: 0` keeps the engine's own
@@ -123,7 +127,42 @@ export interface VllmProviderConfig {
123
127
  kv_cache_dtype: 'auto' | 'fp8';
124
128
  load_timeout_seconds: number;
125
129
  }
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;
130
+ /**
131
+ * `sglang` (change `add-sglang-runtime`, spec `sglang-runtime`, design D6): stored values. `0` and `''`
132
+ * are "not set" and reach the engine as nothing: SGLang's own value, or core's own memory share.
133
+ */
134
+ export interface SglangProviderConfig {
135
+ /** The card's UUID; `''` picks the card with the most free memory at load time. */
136
+ gpu_id: string;
137
+ context_length: number;
138
+ /** Enforced per request by the session gateway and the engine's default output limit. */
139
+ max_output_tokens: number;
140
+ /** `--max-running-requests`: requests served at once. */
141
+ max_running_requests: number;
142
+ /** `--mem-fraction-static`; `0` (auto) lets core compute it from the card's free memory. */
143
+ mem_fraction_static: number;
144
+ /** `--max-total-tokens`, the KV cache in tokens; `0` lets SGLang size it from its share. */
145
+ max_total_tokens: number;
146
+ /** `auto` (graphs captured up to `max_running_requests`), `on` (SGLang's own) or `off`. */
147
+ cuda_graphs: 'auto' | 'on' | 'off';
148
+ /** `auto` (the model's own precision) or `fp8` (Ada and newer; ignored on older cards). */
149
+ kv_cache_dtype: 'auto' | 'fp8';
150
+ load_timeout_seconds: number;
151
+ /** `false` passes `--disable-radix-cache`. */
152
+ enable_prefix_caching: boolean;
153
+ /** `--chunked-prefill-size`; `0` leaves SGLang's own. */
154
+ chunked_prefill_size: number;
155
+ dtype: 'auto' | 'float16' | 'bfloat16' | 'float32';
156
+ /** `--random-seed`; `0` leaves SGLang's own. */
157
+ seed: number;
158
+ /** Sampling defaults for a request that sets none; `''` is the model's own. */
159
+ default_temperature: string;
160
+ default_top_p: string;
161
+ default_top_k: string;
162
+ default_min_p: string;
163
+ default_repetition_penalty: string;
164
+ }
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;
127
166
  /** UI descriptor of one setting (mirrors the app's SettingComponentProps). */
128
167
  export interface SettingDescriptor {
129
168
  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;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"}