@atomic-chat/core 0.5.1 → 0.13.2

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 (970) hide show
  1. package/README.md +22 -0
  2. package/dist/app-daemon.js +20 -67
  3. package/dist/app-daemon.js.map +1 -1
  4. package/dist/backend/advisor/advisor.d.ts +132 -0
  5. package/dist/backend/advisor/advisor.js +537 -0
  6. package/dist/backend/advisor/advisor.js.map +1 -0
  7. package/dist/backend/advisor/index.d.ts +6 -0
  8. package/dist/backend/advisor/index.js +7 -0
  9. package/dist/backend/advisor/index.js.map +1 -0
  10. package/dist/backend/advisor/policy.d.ts +81 -0
  11. package/dist/backend/advisor/policy.js +154 -0
  12. package/dist/backend/advisor/policy.js.map +1 -0
  13. package/dist/backend/catalog/archive.d.ts +21 -7
  14. package/dist/backend/catalog/archive.js +57 -17
  15. package/dist/backend/catalog/archive.js.map +1 -1
  16. package/dist/backend/catalog/bundled-manifest-baseline.js +42 -26
  17. package/dist/backend/catalog/bundled-manifest-baseline.js.map +1 -1
  18. package/dist/backend/catalog/cuda-family.d.ts +12 -2
  19. package/dist/backend/catalog/cuda-family.js +30 -7
  20. package/dist/backend/catalog/cuda-family.js.map +1 -1
  21. package/dist/backend/catalog/index.d.ts +5 -0
  22. package/dist/backend/catalog/index.js +5 -0
  23. package/dist/backend/catalog/index.js.map +1 -1
  24. package/dist/backend/catalog/manifest.d.ts +5 -3
  25. package/dist/backend/catalog/manifest.js +12 -9
  26. package/dist/backend/catalog/manifest.js.map +1 -1
  27. package/dist/backend/catalog/migrate.d.ts +8 -6
  28. package/dist/backend/catalog/migrate.js +26 -15
  29. package/dist/backend/catalog/migrate.js.map +1 -1
  30. package/dist/backend/catalog/prism-catalog.d.ts +42 -0
  31. package/dist/backend/catalog/prism-catalog.js +101 -0
  32. package/dist/backend/catalog/prism-catalog.js.map +1 -0
  33. package/dist/backend/catalog/prism-manifest-baseline.d.ts +2 -0
  34. package/dist/backend/catalog/prism-manifest-baseline.js +11 -0
  35. package/dist/backend/catalog/prism-manifest-baseline.js.map +1 -0
  36. package/dist/backend/catalog/prism-manifest-baseline.json +134 -0
  37. package/dist/backend/catalog/prism-manifest.d.ts +90 -0
  38. package/dist/backend/catalog/prism-manifest.js +171 -0
  39. package/dist/backend/catalog/prism-manifest.js.map +1 -0
  40. package/dist/backend/catalog/turboquant-catalog.d.ts +60 -0
  41. package/dist/backend/catalog/turboquant-catalog.js +162 -0
  42. package/dist/backend/catalog/turboquant-catalog.js.map +1 -0
  43. package/dist/backend/catalog/turboquant-index.d.ts +104 -0
  44. package/dist/backend/catalog/turboquant-index.js +260 -0
  45. package/dist/backend/catalog/turboquant-index.js.map +1 -0
  46. package/dist/backend/index.d.ts +1 -0
  47. package/dist/backend/index.js +1 -0
  48. package/dist/backend/index.js.map +1 -1
  49. package/dist/backend/install/runtime-backend.d.ts +6 -6
  50. package/dist/backend/install/runtime-backend.js +23 -20
  51. package/dist/backend/install/runtime-backend.js.map +1 -1
  52. package/dist/backend/install/service.d.ts +106 -5
  53. package/dist/backend/install/service.js +247 -21
  54. package/dist/backend/install/service.js.map +1 -1
  55. package/dist/backend/installed/bundled.d.ts +19 -0
  56. package/dist/backend/installed/bundled.js +45 -0
  57. package/dist/backend/installed/bundled.js.map +1 -0
  58. package/dist/backend/installed/index.d.ts +1 -0
  59. package/dist/backend/installed/index.js +1 -0
  60. package/dist/backend/installed/index.js.map +1 -1
  61. package/dist/backend/installed/installed.js +3 -0
  62. package/dist/backend/installed/installed.js.map +1 -1
  63. package/dist/backend/optimal/optimal-cache.d.ts +27 -8
  64. package/dist/backend/optimal/optimal-cache.js +38 -19
  65. package/dist/backend/optimal/optimal-cache.js.map +1 -1
  66. package/dist/backend/optimal/optimal-store.js +1 -1
  67. package/dist/backend/optimal/optimal-store.js.map +1 -1
  68. package/dist/backend/select/categories.d.ts +2 -1
  69. package/dist/backend/select/categories.js +8 -1
  70. package/dist/backend/select/categories.js.map +1 -1
  71. package/dist/backend/select/features.d.ts +13 -5
  72. package/dist/backend/select/features.js +36 -6
  73. package/dist/backend/select/features.js.map +1 -1
  74. package/dist/backend/select/index.d.ts +2 -0
  75. package/dist/backend/select/index.js +2 -0
  76. package/dist/backend/select/index.js.map +1 -1
  77. package/dist/backend/select/prism.d.ts +54 -0
  78. package/dist/backend/select/prism.js +212 -0
  79. package/dist/backend/select/prism.js.map +1 -0
  80. package/dist/backend/select/recovery.d.ts +4 -2
  81. package/dist/backend/select/recovery.js +17 -5
  82. package/dist/backend/select/recovery.js.map +1 -1
  83. package/dist/backend/select/tiers.d.ts +20 -11
  84. package/dist/backend/select/tiers.js +49 -11
  85. package/dist/backend/select/tiers.js.map +1 -1
  86. package/dist/backend/select/turboquant-tiers.d.ts +45 -0
  87. package/dist/backend/select/turboquant-tiers.js +114 -0
  88. package/dist/backend/select/turboquant-tiers.js.map +1 -0
  89. package/dist/backend/types.d.ts +6 -69
  90. package/dist/cli/commands/backends.d.ts +10 -0
  91. package/dist/cli/commands/backends.js +142 -0
  92. package/dist/cli/commands/backends.js.map +1 -0
  93. package/dist/cli/commands/hardware.d.ts +13 -0
  94. package/dist/cli/commands/hardware.js +71 -0
  95. package/dist/cli/commands/hardware.js.map +1 -0
  96. package/dist/cli/commands/host-step.d.ts +28 -0
  97. package/dist/cli/commands/host-step.js +67 -0
  98. package/dist/cli/commands/host-step.js.map +1 -0
  99. package/dist/cli/commands/index.d.ts +4 -1
  100. package/dist/cli/commands/index.js +4 -1
  101. package/dist/cli/commands/index.js.map +1 -1
  102. package/dist/cli/commands/serve.js +4 -4
  103. package/dist/cli/commands/serve.js.map +1 -1
  104. package/dist/cli/commands/shared.d.ts +6 -1
  105. package/dist/cli/commands/shared.js +7 -0
  106. package/dist/cli/commands/shared.js.map +1 -1
  107. package/dist/cli/io.d.ts +11 -0
  108. package/dist/cli/io.js +28 -3
  109. package/dist/cli/io.js.map +1 -1
  110. package/dist/cli/launch.js +2 -2
  111. package/dist/cli/launch.js.map +1 -1
  112. package/dist/cli/main.d.ts +1 -1
  113. package/dist/cli/main.js +11 -1
  114. package/dist/cli/main.js.map +1 -1
  115. package/dist/client/control-client.d.ts +128 -7
  116. package/dist/client/control-client.js +211 -12
  117. package/dist/client/control-client.js.map +1 -1
  118. package/dist/cloud/registry.js +9 -1
  119. package/dist/cloud/registry.js.map +1 -1
  120. package/dist/config/paths.d.ts +137 -0
  121. package/dist/config/paths.js +163 -0
  122. package/dist/config/paths.js.map +1 -1
  123. package/dist/contracts/backend-advisor.d.ts +225 -0
  124. package/dist/contracts/backend-advisor.js +14 -0
  125. package/dist/contracts/backend-advisor.js.map +1 -0
  126. package/dist/contracts/control-api.d.ts +7 -1
  127. package/dist/contracts/control-api.js +7 -1
  128. package/dist/contracts/control-api.js.map +1 -1
  129. package/dist/contracts/decision.d.ts +394 -0
  130. package/dist/contracts/decision.js +69 -0
  131. package/dist/contracts/decision.js.map +1 -0
  132. package/dist/contracts/diffusion.d.ts +62 -9
  133. package/dist/contracts/embedding.d.ts +103 -0
  134. package/dist/contracts/embedding.js +24 -0
  135. package/dist/contracts/embedding.js.map +1 -0
  136. package/dist/contracts/engine-builds.d.ts +108 -0
  137. package/dist/contracts/engine-builds.js +11 -0
  138. package/dist/contracts/engine-builds.js.map +1 -0
  139. package/dist/contracts/engines.d.ts +157 -0
  140. package/dist/contracts/engines.js +50 -0
  141. package/dist/contracts/engines.js.map +1 -0
  142. package/dist/contracts/environment.d.ts +774 -0
  143. package/dist/contracts/environment.js +116 -0
  144. package/dist/contracts/environment.js.map +1 -0
  145. package/dist/contracts/errors.d.ts +43 -2
  146. package/dist/contracts/errors.js +41 -0
  147. package/dist/contracts/errors.js.map +1 -1
  148. package/dist/contracts/events.d.ts +82 -4
  149. package/dist/contracts/hardware.d.ts +79 -6
  150. package/dist/contracts/hardware.js +9 -5
  151. package/dist/contracts/hardware.js.map +1 -1
  152. package/dist/contracts/index.d.ts +8 -0
  153. package/dist/contracts/index.js +8 -0
  154. package/dist/contracts/index.js.map +1 -1
  155. package/dist/contracts/model-compatibility.d.ts +97 -0
  156. package/dist/contracts/model-compatibility.js +6 -0
  157. package/dist/contracts/model-compatibility.js.map +1 -0
  158. package/dist/contracts/model-setup.d.ts +115 -0
  159. package/dist/contracts/model-setup.js +33 -0
  160. package/dist/contracts/model-setup.js.map +1 -0
  161. package/dist/contracts/model-yml.d.ts +14 -0
  162. package/dist/contracts/model-yml.js +1 -0
  163. package/dist/contracts/model-yml.js.map +1 -1
  164. package/dist/contracts/session.d.ts +45 -2
  165. package/dist/contracts/session.js +14 -1
  166. package/dist/contracts/session.js.map +1 -1
  167. package/dist/contracts/settings.d.ts +44 -1
  168. package/dist/contracts/settings.js.map +1 -1
  169. package/dist/core/atomic-core.d.ts +44 -5
  170. package/dist/core/atomic-core.js +24 -0
  171. package/dist/core/atomic-core.js.map +1 -1
  172. package/dist/core/create.js +517 -23
  173. package/dist/core/create.js.map +1 -1
  174. package/dist/core/gpu/index.d.ts +6 -0
  175. package/dist/core/gpu/index.js +7 -0
  176. package/dist/core/gpu/index.js.map +1 -0
  177. package/dist/core/gpu/policy.d.ts +68 -0
  178. package/dist/core/gpu/policy.js +99 -0
  179. package/dist/core/gpu/policy.js.map +1 -0
  180. package/dist/core/gpu/residency.d.ts +44 -0
  181. package/dist/core/gpu/residency.js +101 -0
  182. package/dist/core/gpu/residency.js.map +1 -0
  183. package/dist/core/gpu-residency.d.ts +39 -0
  184. package/dist/core/gpu-residency.js +32 -0
  185. package/dist/core/gpu-residency.js.map +1 -0
  186. package/dist/core/index.d.ts +1 -1
  187. package/dist/core/managed-engines.d.ts +207 -0
  188. package/dist/core/managed-engines.js +579 -0
  189. package/dist/core/managed-engines.js.map +1 -0
  190. package/dist/core/managed-environment.d.ts +72 -0
  191. package/dist/core/managed-environment.js +218 -0
  192. package/dist/core/managed-environment.js.map +1 -0
  193. package/dist/core/model-setup/index.d.ts +4 -0
  194. package/dist/core/model-setup/index.js +5 -0
  195. package/dist/core/model-setup/index.js.map +1 -0
  196. package/dist/core/model-setup/plan.d.ts +56 -0
  197. package/dist/core/model-setup/plan.js +158 -0
  198. package/dist/core/model-setup/plan.js.map +1 -0
  199. package/dist/core/model-setup/service.d.ts +92 -0
  200. package/dist/core/model-setup/service.js +329 -0
  201. package/dist/core/model-setup/service.js.map +1 -0
  202. package/dist/core/model-setup/store.d.ts +29 -0
  203. package/dist/core/model-setup/store.js +116 -0
  204. package/dist/core/model-setup/store.js.map +1 -0
  205. package/dist/core/model-setup/wiring.d.ts +59 -0
  206. package/dist/core/model-setup/wiring.js +132 -0
  207. package/dist/core/model-setup/wiring.js.map +1 -0
  208. package/dist/core/prism.d.ts +36 -0
  209. package/dist/core/prism.js +42 -0
  210. package/dist/core/prism.js.map +1 -0
  211. package/dist/core/public-server.d.ts +7 -0
  212. package/dist/core/public-server.js +2 -0
  213. package/dist/core/public-server.js.map +1 -1
  214. package/dist/core/sessions.d.ts +6 -1
  215. package/dist/core/sessions.js +18 -14
  216. package/dist/core/sessions.js.map +1 -1
  217. package/dist/core/types.d.ts +27 -1
  218. package/dist/core/types.js.map +1 -1
  219. package/dist/decision/args.d.ts +110 -0
  220. package/dist/decision/args.js +126 -0
  221. package/dist/decision/args.js.map +1 -0
  222. package/dist/decision/backoff.d.ts +25 -0
  223. package/dist/decision/backoff.js +33 -0
  224. package/dist/decision/backoff.js.map +1 -0
  225. package/dist/decision/engine-candidates.d.ts +52 -0
  226. package/dist/decision/engine-candidates.js +138 -0
  227. package/dist/decision/engine-candidates.js.map +1 -0
  228. package/dist/decision/engine-fallback.d.ts +41 -0
  229. package/dist/decision/engine-fallback.js +57 -0
  230. package/dist/decision/engine-fallback.js.map +1 -0
  231. package/dist/decision/engine-version.d.ts +27 -0
  232. package/dist/decision/engine-version.js +54 -0
  233. package/dist/decision/engine-version.js.map +1 -0
  234. package/dist/decision/engine.d.ts +114 -0
  235. package/dist/decision/engine.js +253 -0
  236. package/dist/decision/engine.js.map +1 -0
  237. package/dist/decision/http.d.ts +36 -0
  238. package/dist/decision/http.js +73 -0
  239. package/dist/decision/http.js.map +1 -0
  240. package/dist/decision/index.d.ts +20 -0
  241. package/dist/decision/index.js +21 -0
  242. package/dist/decision/index.js.map +1 -0
  243. package/dist/decision/model-facts.d.ts +32 -0
  244. package/dist/decision/model-facts.js +40 -0
  245. package/dist/decision/model-facts.js.map +1 -0
  246. package/dist/decision/outcome.d.ts +35 -0
  247. package/dist/decision/outcome.js +105 -0
  248. package/dist/decision/outcome.js.map +1 -0
  249. package/dist/decision/process.d.ts +67 -0
  250. package/dist/decision/process.js +133 -0
  251. package/dist/decision/process.js.map +1 -0
  252. package/dist/decision/readiness.d.ts +74 -0
  253. package/dist/decision/readiness.js +165 -0
  254. package/dist/decision/readiness.js.map +1 -0
  255. package/dist/decision/request.d.ts +11 -0
  256. package/dist/decision/request.js +56 -0
  257. package/dist/decision/request.js.map +1 -0
  258. package/dist/decision/service.d.ts +202 -0
  259. package/dist/decision/service.js +711 -0
  260. package/dist/decision/service.js.map +1 -0
  261. package/dist/decision/upstream-version.d.ts +23 -0
  262. package/dist/decision/upstream-version.js +34 -0
  263. package/dist/decision/upstream-version.js.map +1 -0
  264. package/dist/decision/wiring.d.ts +67 -0
  265. package/dist/decision/wiring.js +101 -0
  266. package/dist/decision/wiring.js.map +1 -0
  267. package/dist/diffusion/args.d.ts +4 -2
  268. package/dist/diffusion/args.js +10 -3
  269. package/dist/diffusion/args.js.map +1 -1
  270. package/dist/diffusion/image-job.js +1 -1
  271. package/dist/diffusion/image-job.js.map +1 -1
  272. package/dist/diffusion/install.d.ts +35 -11
  273. package/dist/diffusion/install.js +74 -49
  274. package/dist/diffusion/install.js.map +1 -1
  275. package/dist/diffusion/job-kind.d.ts +33 -7
  276. package/dist/diffusion/jobs.d.ts +6 -1
  277. package/dist/diffusion/jobs.js +60 -18
  278. package/dist/diffusion/jobs.js.map +1 -1
  279. package/dist/diffusion/parse.d.ts +1 -2
  280. package/dist/diffusion/parse.js +1 -13
  281. package/dist/diffusion/parse.js.map +1 -1
  282. package/dist/diffusion/progress.js +3 -0
  283. package/dist/diffusion/progress.js.map +1 -1
  284. package/dist/diffusion/server-process.d.ts +6 -0
  285. package/dist/diffusion/server-process.js +3 -2
  286. package/dist/diffusion/server-process.js.map +1 -1
  287. package/dist/diffusion/service.d.ts +52 -6
  288. package/dist/diffusion/service.js +215 -40
  289. package/dist/diffusion/service.js.map +1 -1
  290. package/dist/diffusion/session.d.ts +27 -3
  291. package/dist/diffusion/session.js +108 -17
  292. package/dist/diffusion/session.js.map +1 -1
  293. package/dist/diffusion/state.d.ts +19 -1
  294. package/dist/diffusion/state.js +10 -0
  295. package/dist/diffusion/state.js.map +1 -1
  296. package/dist/diffusion/tracker.d.ts +15 -1
  297. package/dist/diffusion/tracker.js +32 -6
  298. package/dist/diffusion/tracker.js.map +1 -1
  299. package/dist/diffusion/types.d.ts +7 -0
  300. package/dist/diffusion/types.js +11 -0
  301. package/dist/diffusion/types.js.map +1 -1
  302. package/dist/diffusion/video-estimate.d.ts +214 -0
  303. package/dist/diffusion/video-estimate.js +402 -0
  304. package/dist/diffusion/video-estimate.js.map +1 -0
  305. package/dist/diffusion/video-eta.d.ts +90 -0
  306. package/dist/diffusion/video-eta.js +248 -0
  307. package/dist/diffusion/video-eta.js.map +1 -0
  308. package/dist/diffusion/video-history.d.ts +45 -0
  309. package/dist/diffusion/video-history.js +121 -0
  310. package/dist/diffusion/video-history.js.map +1 -0
  311. package/dist/diffusion/video-job.d.ts +13 -5
  312. package/dist/diffusion/video-job.js +42 -15
  313. package/dist/diffusion/video-job.js.map +1 -1
  314. package/dist/diffusion/video-recipe.js +3 -0
  315. package/dist/diffusion/video-recipe.js.map +1 -1
  316. package/dist/diffusion/video-tiling.d.ts +54 -0
  317. package/dist/diffusion/video-tiling.js +70 -0
  318. package/dist/diffusion/video-tiling.js.map +1 -0
  319. package/dist/diffusion/wiring.d.ts +14 -1
  320. package/dist/diffusion/wiring.js +7 -0
  321. package/dist/diffusion/wiring.js.map +1 -1
  322. package/dist/downloads/protocol.d.ts +3 -8
  323. package/dist/downloads/protocol.js.map +1 -1
  324. package/dist/embedding/args.d.ts +39 -0
  325. package/dist/embedding/args.js +46 -0
  326. package/dist/embedding/args.js.map +1 -0
  327. package/dist/embedding/engine.d.ts +50 -0
  328. package/dist/embedding/engine.js +100 -0
  329. package/dist/embedding/engine.js.map +1 -0
  330. package/dist/embedding/ffmpeg.d.ts +18 -0
  331. package/dist/embedding/ffmpeg.js +63 -0
  332. package/dist/embedding/ffmpeg.js.map +1 -0
  333. package/dist/embedding/index.d.ts +16 -0
  334. package/dist/embedding/index.js +17 -0
  335. package/dist/embedding/index.js.map +1 -0
  336. package/dist/embedding/model-facts.d.ts +51 -0
  337. package/dist/embedding/model-facts.js +84 -0
  338. package/dist/embedding/model-facts.js.map +1 -0
  339. package/dist/embedding/process.d.ts +66 -0
  340. package/dist/embedding/process.js +131 -0
  341. package/dist/embedding/process.js.map +1 -0
  342. package/dist/embedding/readiness.d.ts +56 -0
  343. package/dist/embedding/readiness.js +114 -0
  344. package/dist/embedding/readiness.js.map +1 -0
  345. package/dist/embedding/request.d.ts +43 -0
  346. package/dist/embedding/request.js +285 -0
  347. package/dist/embedding/request.js.map +1 -0
  348. package/dist/embedding/service.d.ts +152 -0
  349. package/dist/embedding/service.js +602 -0
  350. package/dist/embedding/service.js.map +1 -0
  351. package/dist/embedding/wiring.d.ts +51 -0
  352. package/dist/embedding/wiring.js +79 -0
  353. package/dist/embedding/wiring.js.map +1 -0
  354. package/dist/engine-builds/builds.d.ts +54 -0
  355. package/dist/engine-builds/builds.js +151 -0
  356. package/dist/engine-builds/builds.js.map +1 -0
  357. package/dist/engine-builds/index.d.ts +10 -0
  358. package/dist/engine-builds/index.js +11 -0
  359. package/dist/engine-builds/index.js.map +1 -0
  360. package/dist/engine-builds/install.d.ts +42 -0
  361. package/dist/engine-builds/install.js +100 -0
  362. package/dist/engine-builds/install.js.map +1 -0
  363. package/dist/engine-builds/manifest.d.ts +121 -0
  364. package/dist/engine-builds/manifest.js +254 -0
  365. package/dist/engine-builds/manifest.js.map +1 -0
  366. package/dist/engine-builds/order.d.ts +24 -0
  367. package/dist/engine-builds/order.js +44 -0
  368. package/dist/engine-builds/order.js.map +1 -0
  369. package/dist/engine-builds/select.d.ts +123 -0
  370. package/dist/engine-builds/select.js +223 -0
  371. package/dist/engine-builds/select.js.map +1 -0
  372. package/dist/engine-builds/service.d.ts +123 -0
  373. package/dist/engine-builds/service.js +392 -0
  374. package/dist/engine-builds/service.js.map +1 -0
  375. package/dist/engines/descriptor-order.d.ts +28 -0
  376. package/dist/engines/descriptor-order.js +60 -0
  377. package/dist/engines/descriptor-order.js.map +1 -0
  378. package/dist/engines/engine-build.d.ts +23 -0
  379. package/dist/engines/engine-build.js +58 -0
  380. package/dist/engines/engine-build.js.map +1 -0
  381. package/dist/engines/index.d.ts +10 -0
  382. package/dist/engines/index.js +11 -0
  383. package/dist/engines/index.js.map +1 -0
  384. package/dist/engines/llamacpp.d.ts +71 -0
  385. package/dist/engines/llamacpp.js +176 -0
  386. package/dist/engines/llamacpp.js.map +1 -0
  387. package/dist/engines/managed.d.ts +49 -0
  388. package/dist/engines/managed.js +88 -0
  389. package/dist/engines/managed.js.map +1 -0
  390. package/dist/engines/service.d.ts +46 -0
  391. package/dist/engines/service.js +61 -0
  392. package/dist/engines/service.js.map +1 -0
  393. package/dist/engines/versions.d.ts +65 -0
  394. package/dist/engines/versions.js +259 -0
  395. package/dist/engines/versions.js.map +1 -0
  396. package/dist/hardware/cpu-flags.d.ts +44 -0
  397. package/dist/hardware/cpu-flags.js +206 -0
  398. package/dist/hardware/cpu-flags.js.map +1 -0
  399. package/dist/hardware/drm-sysfs.d.ts +51 -0
  400. package/dist/hardware/drm-sysfs.js +67 -0
  401. package/dist/hardware/drm-sysfs.js.map +1 -0
  402. package/dist/hardware/facts.d.ts +42 -0
  403. package/dist/hardware/facts.js +92 -0
  404. package/dist/hardware/facts.js.map +1 -0
  405. package/dist/hardware/index.d.ts +19 -3
  406. package/dist/hardware/index.js +19 -3
  407. package/dist/hardware/index.js.map +1 -1
  408. package/dist/hardware/merge.d.ts +55 -0
  409. package/dist/hardware/merge.js +141 -0
  410. package/dist/hardware/merge.js.map +1 -0
  411. package/dist/hardware/nvidia-smi.d.ts +43 -0
  412. package/dist/hardware/nvidia-smi.js +118 -0
  413. package/dist/hardware/nvidia-smi.js.map +1 -0
  414. package/dist/hardware/probe-common.d.ts +72 -0
  415. package/dist/hardware/probe-common.js +106 -0
  416. package/dist/hardware/probe-common.js.map +1 -0
  417. package/dist/hardware/probe-darwin.d.ts +20 -0
  418. package/dist/hardware/probe-darwin.js +76 -0
  419. package/dist/hardware/probe-darwin.js.map +1 -0
  420. package/dist/hardware/probe-linux.d.ts +9 -0
  421. package/dist/hardware/probe-linux.js +133 -0
  422. package/dist/hardware/probe-linux.js.map +1 -0
  423. package/dist/hardware/probe-windows.d.ts +7 -0
  424. package/dist/hardware/probe-windows.js +50 -0
  425. package/dist/hardware/probe-windows.js.map +1 -0
  426. package/dist/hardware/probe.d.ts +16 -0
  427. package/dist/hardware/probe.js +65 -0
  428. package/dist/hardware/probe.js.map +1 -0
  429. package/dist/hardware/service.d.ts +60 -0
  430. package/dist/hardware/service.js +114 -0
  431. package/dist/hardware/service.js.map +1 -0
  432. package/dist/hardware/vulkan.d.ts +47 -0
  433. package/dist/hardware/vulkan.js +148 -0
  434. package/dist/hardware/vulkan.js.map +1 -0
  435. package/dist/hardware/windows-video.d.ts +97 -0
  436. package/dist/hardware/windows-video.js +214 -0
  437. package/dist/hardware/windows-video.js.map +1 -0
  438. package/dist/host/app-daemon.d.ts +47 -0
  439. package/dist/host/app-daemon.js +146 -0
  440. package/dist/host/app-daemon.js.map +1 -0
  441. package/dist/host/index.d.ts +5 -3
  442. package/dist/host/index.js +5 -3
  443. package/dist/host/index.js.map +1 -1
  444. package/dist/host/log-file.d.ts +74 -0
  445. package/dist/host/log-file.js +214 -0
  446. package/dist/host/log-file.js.map +1 -0
  447. package/dist/host/recipes/enable-wsl.d.ts +63 -0
  448. package/dist/host/recipes/enable-wsl.js +73 -0
  449. package/dist/host/recipes/enable-wsl.js.map +1 -0
  450. package/dist/host/recipes/executor-io-windows.d.ts +69 -0
  451. package/dist/host/recipes/executor-io-windows.js +235 -0
  452. package/dist/host/recipes/executor-io-windows.js.map +1 -0
  453. package/dist/host/recipes/executor-io.d.ts +80 -0
  454. package/dist/host/recipes/executor-io.js +211 -0
  455. package/dist/host/recipes/executor-io.js.map +1 -0
  456. package/dist/host/recipes/executor.d.ts +81 -0
  457. package/dist/host/recipes/executor.js +678 -0
  458. package/dist/host/recipes/executor.js.map +1 -0
  459. package/dist/host/recipes/guest-executor.d.ts +29 -0
  460. package/dist/host/recipes/guest-executor.js +76 -0
  461. package/dist/host/recipes/guest-executor.js.map +1 -0
  462. package/dist/host/recipes/index.d.ts +16 -0
  463. package/dist/host/recipes/index.js +17 -0
  464. package/dist/host/recipes/index.js.map +1 -0
  465. package/dist/host/recipes/install-container-runtime.d.ts +389 -0
  466. package/dist/host/recipes/install-container-runtime.js +796 -0
  467. package/dist/host/recipes/install-container-runtime.js.map +1 -0
  468. package/dist/host/recipes/openpgp.d.ts +23 -0
  469. package/dist/host/recipes/openpgp.js +153 -0
  470. package/dist/host/recipes/openpgp.js.map +1 -0
  471. package/dist/host/recipes/request-file.d.ts +96 -0
  472. package/dist/host/recipes/request-file.js +103 -0
  473. package/dist/host/recipes/request-file.js.map +1 -0
  474. package/dist/lock/process-journal.d.ts +5 -2
  475. package/dist/lock/process-journal.js.map +1 -1
  476. package/dist/models/capabilities.d.ts +7 -0
  477. package/dist/models/capabilities.js +17 -1
  478. package/dist/models/capabilities.js.map +1 -1
  479. package/dist/models/compatibility/index.d.ts +10 -0
  480. package/dist/models/compatibility/index.js +11 -0
  481. package/dist/models/compatibility/index.js.map +1 -0
  482. package/dist/models/compatibility/inspect.d.ts +19 -0
  483. package/dist/models/compatibility/inspect.js +59 -0
  484. package/dist/models/compatibility/inspect.js.map +1 -0
  485. package/dist/models/compatibility/resolve.d.ts +59 -0
  486. package/dist/models/compatibility/resolve.js +219 -0
  487. package/dist/models/compatibility/resolve.js.map +1 -0
  488. package/dist/models/compatibility/rules-baseline.d.ts +2 -0
  489. package/dist/models/compatibility/rules-baseline.js +10 -0
  490. package/dist/models/compatibility/rules-baseline.js.map +1 -0
  491. package/dist/models/compatibility/rules-baseline.json +292 -0
  492. package/dist/models/compatibility/rules-service.d.ts +36 -0
  493. package/dist/models/compatibility/rules-service.js +109 -0
  494. package/dist/models/compatibility/rules-service.js.map +1 -0
  495. package/dist/models/compatibility/rules.d.ts +81 -0
  496. package/dist/models/compatibility/rules.js +164 -0
  497. package/dist/models/compatibility/rules.js.map +1 -0
  498. package/dist/models/compatibility/service.d.ts +59 -0
  499. package/dist/models/compatibility/service.js +137 -0
  500. package/dist/models/compatibility/service.js.map +1 -0
  501. package/dist/models/decision-checkpoint.d.ts +22 -0
  502. package/dist/models/decision-checkpoint.js +33 -0
  503. package/dist/models/decision-checkpoint.js.map +1 -0
  504. package/dist/models/gguf/classify.d.ts +27 -1
  505. package/dist/models/gguf/classify.js +78 -2
  506. package/dist/models/gguf/classify.js.map +1 -1
  507. package/dist/models/gguf/index.d.ts +1 -0
  508. package/dist/models/gguf/index.js +1 -0
  509. package/dist/models/gguf/index.js.map +1 -1
  510. package/dist/models/gguf/tensors.d.ts +56 -0
  511. package/dist/models/gguf/tensors.js +236 -0
  512. package/dist/models/gguf/tensors.js.map +1 -0
  513. package/dist/models/index.d.ts +2 -0
  514. package/dist/models/index.js +2 -0
  515. package/dist/models/index.js.map +1 -1
  516. package/dist/router/resolve.d.ts +7 -1
  517. package/dist/router/resolve.js +14 -1
  518. package/dist/router/resolve.js.map +1 -1
  519. package/dist/runtime/container/argv.d.ts +88 -0
  520. package/dist/runtime/container/argv.js +406 -0
  521. package/dist/runtime/container/argv.js.map +1 -0
  522. package/dist/runtime/container/docker-binary.d.ts +4 -0
  523. package/dist/runtime/container/docker-binary.js +34 -0
  524. package/dist/runtime/container/docker-binary.js.map +1 -0
  525. package/dist/runtime/container/env.d.ts +17 -0
  526. package/dist/runtime/container/env.js +52 -0
  527. package/dist/runtime/container/env.js.map +1 -0
  528. package/dist/runtime/container/exec.d.ts +27 -0
  529. package/dist/runtime/container/exec.js +79 -0
  530. package/dist/runtime/container/exec.js.map +1 -0
  531. package/dist/runtime/container/execution-journal.d.ts +55 -0
  532. package/dist/runtime/container/execution-journal.js +167 -0
  533. package/dist/runtime/container/execution-journal.js.map +1 -0
  534. package/dist/runtime/container/heartbeat.d.ts +47 -0
  535. package/dist/runtime/container/heartbeat.js +78 -0
  536. package/dist/runtime/container/heartbeat.js.map +1 -0
  537. package/dist/runtime/container/index.d.ts +30 -0
  538. package/dist/runtime/container/index.js +31 -0
  539. package/dist/runtime/container/index.js.map +1 -0
  540. package/dist/runtime/container/operations.d.ts +40 -0
  541. package/dist/runtime/container/operations.js +233 -0
  542. package/dist/runtime/container/operations.js.map +1 -0
  543. package/dist/runtime/container/pull.d.ts +48 -0
  544. package/dist/runtime/container/pull.js +280 -0
  545. package/dist/runtime/container/pull.js.map +1 -0
  546. package/dist/runtime/container/reconcile.d.ts +34 -0
  547. package/dist/runtime/container/reconcile.js +79 -0
  548. package/dist/runtime/container/reconcile.js.map +1 -0
  549. package/dist/runtime/container/types.d.ts +124 -0
  550. package/dist/runtime/container/types.js +2 -0
  551. package/dist/runtime/container/types.js.map +1 -0
  552. package/dist/runtime/container/watchdog.d.ts +114 -0
  553. package/dist/runtime/container/watchdog.js +418 -0
  554. package/dist/runtime/container/watchdog.js.map +1 -0
  555. package/dist/runtime/container/wiring.d.ts +78 -0
  556. package/dist/runtime/container/wiring.js +92 -0
  557. package/dist/runtime/container/wiring.js.map +1 -0
  558. package/dist/runtime/container/wsl-exec.d.ts +13 -0
  559. package/dist/runtime/container/wsl-exec.js +18 -0
  560. package/dist/runtime/container/wsl-exec.js.map +1 -0
  561. package/dist/runtime/environment/cached-document.d.ts +128 -0
  562. package/dist/runtime/environment/cached-document.js +218 -0
  563. package/dist/runtime/environment/cached-document.js.map +1 -0
  564. package/dist/runtime/environment/canonical-json.d.ts +78 -0
  565. package/dist/runtime/environment/canonical-json.js +86 -0
  566. package/dist/runtime/environment/canonical-json.js.map +1 -0
  567. package/dist/runtime/environment/descriptor-provider.d.ts +121 -0
  568. package/dist/runtime/environment/descriptor-provider.js +159 -0
  569. package/dist/runtime/environment/descriptor-provider.js.map +1 -0
  570. package/dist/runtime/environment/descriptor.d.ts +35 -0
  571. package/dist/runtime/environment/descriptor.js +239 -0
  572. package/dist/runtime/environment/descriptor.js.map +1 -0
  573. package/dist/runtime/environment/diagnostics.d.ts +50 -0
  574. package/dist/runtime/environment/diagnostics.js +114 -0
  575. package/dist/runtime/environment/diagnostics.js.map +1 -0
  576. package/dist/runtime/environment/document-fields.d.ts +39 -0
  577. package/dist/runtime/environment/document-fields.js +96 -0
  578. package/dist/runtime/environment/document-fields.js.map +1 -0
  579. package/dist/runtime/environment/environment-manifest-provider.d.ts +65 -0
  580. package/dist/runtime/environment/environment-manifest-provider.js +89 -0
  581. package/dist/runtime/environment/environment-manifest-provider.js.map +1 -0
  582. package/dist/runtime/environment/environment-manifest.d.ts +35 -0
  583. package/dist/runtime/environment/environment-manifest.js +131 -0
  584. package/dist/runtime/environment/environment-manifest.js.map +1 -0
  585. package/dist/runtime/environment/guest-host.d.ts +43 -0
  586. package/dist/runtime/environment/guest-host.js +88 -0
  587. package/dist/runtime/environment/guest-host.js.map +1 -0
  588. package/dist/runtime/environment/host-exec.d.ts +38 -0
  589. package/dist/runtime/environment/host-exec.js +145 -0
  590. package/dist/runtime/environment/host-exec.js.map +1 -0
  591. package/dist/runtime/environment/host-step-failure.d.ts +33 -0
  592. package/dist/runtime/environment/host-step-failure.js +34 -0
  593. package/dist/runtime/environment/host-step-failure.js.map +1 -0
  594. package/dist/runtime/environment/index.d.ts +56 -0
  595. package/dist/runtime/environment/index.js +57 -0
  596. package/dist/runtime/environment/index.js.map +1 -0
  597. package/dist/runtime/environment/installations.d.ts +25 -0
  598. package/dist/runtime/environment/installations.js +70 -0
  599. package/dist/runtime/environment/installations.js.map +1 -0
  600. package/dist/runtime/environment/inventory.d.ts +42 -0
  601. package/dist/runtime/environment/inventory.js +57 -0
  602. package/dist/runtime/environment/inventory.js.map +1 -0
  603. package/dist/runtime/environment/linux-blockers.d.ts +130 -0
  604. package/dist/runtime/environment/linux-blockers.js +251 -0
  605. package/dist/runtime/environment/linux-blockers.js.map +1 -0
  606. package/dist/runtime/environment/linux-docker-facts.d.ts +200 -0
  607. package/dist/runtime/environment/linux-docker-facts.js +342 -0
  608. package/dist/runtime/environment/linux-docker-facts.js.map +1 -0
  609. package/dist/runtime/environment/linux-docker-network.d.ts +80 -0
  610. package/dist/runtime/environment/linux-docker-network.js +195 -0
  611. package/dist/runtime/environment/linux-docker-network.js.map +1 -0
  612. package/dist/runtime/environment/linux-host.d.ts +22 -0
  613. package/dist/runtime/environment/linux-host.js +98 -0
  614. package/dist/runtime/environment/linux-host.js.map +1 -0
  615. package/dist/runtime/environment/linux-plan.d.ts +126 -0
  616. package/dist/runtime/environment/linux-plan.js +392 -0
  617. package/dist/runtime/environment/linux-plan.js.map +1 -0
  618. package/dist/runtime/environment/linux-probe.d.ts +245 -0
  619. package/dist/runtime/environment/linux-probe.js +315 -0
  620. package/dist/runtime/environment/linux-probe.js.map +1 -0
  621. package/dist/runtime/environment/linux-provisioner.d.ts +102 -0
  622. package/dist/runtime/environment/linux-provisioner.js +734 -0
  623. package/dist/runtime/environment/linux-provisioner.js.map +1 -0
  624. package/dist/runtime/environment/provisioner-descriptors.d.ts +17 -0
  625. package/dist/runtime/environment/provisioner-descriptors.js +62 -0
  626. package/dist/runtime/environment/provisioner-descriptors.js.map +1 -0
  627. package/dist/runtime/environment/recovery.d.ts +74 -0
  628. package/dist/runtime/environment/recovery.js +121 -0
  629. package/dist/runtime/environment/recovery.js.map +1 -0
  630. package/dist/runtime/environment/rootfs-download.d.ts +2 -0
  631. package/dist/runtime/environment/rootfs-download.js +47 -0
  632. package/dist/runtime/environment/rootfs-download.js.map +1 -0
  633. package/dist/runtime/environment/service.d.ts +280 -0
  634. package/dist/runtime/environment/service.js +776 -0
  635. package/dist/runtime/environment/service.js.map +1 -0
  636. package/dist/runtime/environment/state.d.ts +163 -0
  637. package/dist/runtime/environment/state.js +479 -0
  638. package/dist/runtime/environment/state.js.map +1 -0
  639. package/dist/runtime/environment/store-models.d.ts +19 -0
  640. package/dist/runtime/environment/store-models.js +30 -0
  641. package/dist/runtime/environment/store-models.js.map +1 -0
  642. package/dist/runtime/environment/store.d.ts +210 -0
  643. package/dist/runtime/environment/store.js +438 -0
  644. package/dist/runtime/environment/store.js.map +1 -0
  645. package/dist/runtime/environment/windows-environment-record.d.ts +48 -0
  646. package/dist/runtime/environment/windows-environment-record.js +89 -0
  647. package/dist/runtime/environment/windows-environment-record.js.map +1 -0
  648. package/dist/runtime/environment/windows-forwarding.d.ts +27 -0
  649. package/dist/runtime/environment/windows-forwarding.js +84 -0
  650. package/dist/runtime/environment/windows-forwarding.js.map +1 -0
  651. package/dist/runtime/environment/windows-guest-setup.d.ts +48 -0
  652. package/dist/runtime/environment/windows-guest-setup.js +157 -0
  653. package/dist/runtime/environment/windows-guest-setup.js.map +1 -0
  654. package/dist/runtime/environment/windows-host.d.ts +46 -0
  655. package/dist/runtime/environment/windows-host.js +163 -0
  656. package/dist/runtime/environment/windows-host.js.map +1 -0
  657. package/dist/runtime/environment/windows-plan.d.ts +78 -0
  658. package/dist/runtime/environment/windows-plan.js +216 -0
  659. package/dist/runtime/environment/windows-plan.js.map +1 -0
  660. package/dist/runtime/environment/windows-probe.d.ts +135 -0
  661. package/dist/runtime/environment/windows-probe.js +261 -0
  662. package/dist/runtime/environment/windows-probe.js.map +1 -0
  663. package/dist/runtime/environment/windows-provisioner.d.ts +113 -0
  664. package/dist/runtime/environment/windows-provisioner.js +782 -0
  665. package/dist/runtime/environment/windows-provisioner.js.map +1 -0
  666. package/dist/runtime/environment/wiring.d.ts +117 -0
  667. package/dist/runtime/environment/wiring.js +354 -0
  668. package/dist/runtime/environment/wiring.js.map +1 -0
  669. package/dist/runtime/foundation-models/runtime.d.ts +8 -0
  670. package/dist/runtime/foundation-models/runtime.js +5 -2
  671. package/dist/runtime/foundation-models/runtime.js.map +1 -1
  672. package/dist/runtime/llamacpp/args.d.ts +10 -1
  673. package/dist/runtime/llamacpp/args.js +43 -7
  674. package/dist/runtime/llamacpp/args.js.map +1 -1
  675. package/dist/runtime/llamacpp/fit-margin.d.ts +46 -0
  676. package/dist/runtime/llamacpp/fit-margin.js +47 -0
  677. package/dist/runtime/llamacpp/fit-margin.js.map +1 -0
  678. package/dist/runtime/llamacpp/index.d.ts +1 -0
  679. package/dist/runtime/llamacpp/index.js +1 -0
  680. package/dist/runtime/llamacpp/index.js.map +1 -1
  681. package/dist/runtime/llamacpp/load-plan.d.ts +23 -1
  682. package/dist/runtime/llamacpp/load-plan.js +82 -1
  683. package/dist/runtime/llamacpp/load-plan.js.map +1 -1
  684. package/dist/runtime/llamacpp/policy.d.ts +16 -0
  685. package/dist/runtime/llamacpp/policy.js +20 -0
  686. package/dist/runtime/llamacpp/policy.js.map +1 -1
  687. package/dist/runtime/llamacpp/probe.d.ts +21 -1
  688. package/dist/runtime/llamacpp/probe.js +32 -6
  689. package/dist/runtime/llamacpp/probe.js.map +1 -1
  690. package/dist/runtime/llamacpp/runtime.d.ts +56 -1
  691. package/dist/runtime/llamacpp/runtime.js +142 -15
  692. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  693. package/dist/runtime/managed-engines/index.d.ts +8 -0
  694. package/dist/runtime/managed-engines/index.js +9 -0
  695. package/dist/runtime/managed-engines/index.js.map +1 -0
  696. package/dist/runtime/managed-engines/runtime.d.ts +140 -0
  697. package/dist/runtime/managed-engines/runtime.js +402 -0
  698. package/dist/runtime/managed-engines/runtime.js.map +1 -0
  699. package/dist/runtime/managed-engines/spec.d.ts +70 -0
  700. package/dist/runtime/managed-engines/spec.js +39 -0
  701. package/dist/runtime/managed-engines/spec.js.map +1 -0
  702. package/dist/runtime/managed-models/check.d.ts +50 -0
  703. package/dist/runtime/managed-models/check.js +157 -0
  704. package/dist/runtime/managed-models/check.js.map +1 -0
  705. package/dist/runtime/managed-models/compatibility.d.ts +256 -0
  706. package/dist/runtime/managed-models/compatibility.js +594 -0
  707. package/dist/runtime/managed-models/compatibility.js.map +1 -0
  708. package/dist/runtime/managed-models/delete.d.ts +15 -0
  709. package/dist/runtime/managed-models/delete.js +60 -0
  710. package/dist/runtime/managed-models/delete.js.map +1 -0
  711. package/dist/runtime/managed-models/guest-files.d.ts +8 -0
  712. package/dist/runtime/managed-models/guest-files.js +49 -0
  713. package/dist/runtime/managed-models/guest-files.js.map +1 -0
  714. package/dist/runtime/managed-models/index.d.ts +17 -0
  715. package/dist/runtime/managed-models/index.js +18 -0
  716. package/dist/runtime/managed-models/index.js.map +1 -0
  717. package/dist/runtime/managed-models/location.d.ts +22 -0
  718. package/dist/runtime/managed-models/location.js +53 -0
  719. package/dist/runtime/managed-models/location.js.map +1 -0
  720. package/dist/runtime/managed-models/migrate.d.ts +30 -0
  721. package/dist/runtime/managed-models/migrate.js +119 -0
  722. package/dist/runtime/managed-models/migrate.js.map +1 -0
  723. package/dist/runtime/managed-models/model-dir.d.ts +36 -0
  724. package/dist/runtime/managed-models/model-dir.js +136 -0
  725. package/dist/runtime/managed-models/model-dir.js.map +1 -0
  726. package/dist/runtime/managed-models/quant-format.d.ts +71 -0
  727. package/dist/runtime/managed-models/quant-format.js +299 -0
  728. package/dist/runtime/managed-models/quant-format.js.map +1 -0
  729. package/dist/runtime/managed-models/registry.d.ts +26 -0
  730. package/dist/runtime/managed-models/registry.js +66 -0
  731. package/dist/runtime/managed-models/registry.js.map +1 -0
  732. package/dist/runtime/managed-text/adapter.d.ts +266 -0
  733. package/dist/runtime/managed-text/adapter.js +96 -0
  734. package/dist/runtime/managed-text/adapter.js.map +1 -0
  735. package/dist/runtime/managed-text/backend-target.d.ts +3 -0
  736. package/dist/runtime/managed-text/backend-target.js +52 -0
  737. package/dist/runtime/managed-text/backend-target.js.map +1 -0
  738. package/dist/runtime/managed-text/deployment.d.ts +14 -0
  739. package/dist/runtime/managed-text/deployment.js +32 -0
  740. package/dist/runtime/managed-text/deployment.js.map +1 -0
  741. package/dist/runtime/managed-text/engine-cache.d.ts +15 -0
  742. package/dist/runtime/managed-text/engine-cache.js +64 -0
  743. package/dist/runtime/managed-text/engine-cache.js.map +1 -0
  744. package/dist/runtime/managed-text/gateway.d.ts +158 -0
  745. package/dist/runtime/managed-text/gateway.js +535 -0
  746. package/dist/runtime/managed-text/gateway.js.map +1 -0
  747. package/dist/runtime/managed-text/generation-defaults.d.ts +23 -0
  748. package/dist/runtime/managed-text/generation-defaults.js +51 -0
  749. package/dist/runtime/managed-text/generation-defaults.js.map +1 -0
  750. package/dist/runtime/managed-text/index.d.ts +26 -0
  751. package/dist/runtime/managed-text/index.js +27 -0
  752. package/dist/runtime/managed-text/index.js.map +1 -0
  753. package/dist/runtime/managed-text/lifecycle.d.ts +276 -0
  754. package/dist/runtime/managed-text/lifecycle.js +859 -0
  755. package/dist/runtime/managed-text/lifecycle.js.map +1 -0
  756. package/dist/runtime/managed-text/load-policy.d.ts +47 -0
  757. package/dist/runtime/managed-text/load-policy.js +111 -0
  758. package/dist/runtime/managed-text/load-policy.js.map +1 -0
  759. package/dist/runtime/managed-text/mount-source.d.ts +14 -0
  760. package/dist/runtime/managed-text/mount-source.js +18 -0
  761. package/dist/runtime/managed-text/mount-source.js.map +1 -0
  762. package/dist/runtime/managed-text/readiness.d.ts +13 -0
  763. package/dist/runtime/managed-text/readiness.js +24 -0
  764. package/dist/runtime/managed-text/readiness.js.map +1 -0
  765. package/dist/runtime/managed-text/request-rules.d.ts +18 -0
  766. package/dist/runtime/managed-text/request-rules.js +62 -0
  767. package/dist/runtime/managed-text/request-rules.js.map +1 -0
  768. package/dist/runtime/managed-text/types.d.ts +88 -0
  769. package/dist/runtime/managed-text/types.js +12 -0
  770. package/dist/runtime/managed-text/types.js.map +1 -0
  771. package/dist/runtime/managed-text/wsl-deployment.d.ts +24 -0
  772. package/dist/runtime/managed-text/wsl-deployment.js +70 -0
  773. package/dist/runtime/managed-text/wsl-deployment.js.map +1 -0
  774. package/dist/runtime/mlx/errors.d.ts +6 -1
  775. package/dist/runtime/mlx/errors.js +7 -2
  776. package/dist/runtime/mlx/errors.js.map +1 -1
  777. package/dist/runtime/mlx/runtime.d.ts +36 -1
  778. package/dist/runtime/mlx/runtime.js +85 -4
  779. package/dist/runtime/mlx/runtime.js.map +1 -1
  780. package/dist/runtime/shared/backend-output.d.ts +23 -0
  781. package/dist/runtime/shared/backend-output.js +32 -0
  782. package/dist/runtime/shared/backend-output.js.map +1 -0
  783. package/dist/runtime/shared/bounded-output.d.ts +24 -0
  784. package/dist/runtime/shared/bounded-output.js +63 -0
  785. package/dist/runtime/shared/bounded-output.js.map +1 -0
  786. package/dist/runtime/shared/external-sessions.js +9 -1
  787. package/dist/runtime/shared/external-sessions.js.map +1 -1
  788. package/dist/runtime/shared/gpu-occupancy.d.ts +60 -0
  789. package/dist/runtime/shared/gpu-occupancy.js +10 -0
  790. package/dist/runtime/shared/gpu-occupancy.js.map +1 -0
  791. package/dist/runtime/shared/index.d.ts +4 -0
  792. package/dist/runtime/shared/index.js +4 -0
  793. package/dist/runtime/shared/index.js.map +1 -1
  794. package/dist/runtime/shared/local-runtime.d.ts +35 -0
  795. package/dist/runtime/shared/ports.d.ts +6 -0
  796. package/dist/runtime/shared/ports.js +12 -1
  797. package/dist/runtime/shared/ports.js.map +1 -1
  798. package/dist/runtime/shared/process.d.ts +11 -0
  799. package/dist/runtime/shared/process.js +20 -0
  800. package/dist/runtime/shared/process.js.map +1 -1
  801. package/dist/runtime/shared/redact-args.d.ts +7 -0
  802. package/dist/runtime/shared/redact-args.js +26 -0
  803. package/dist/runtime/shared/redact-args.js.map +1 -0
  804. package/dist/runtime/shared/sidecar.d.ts +15 -0
  805. package/dist/runtime/shared/sidecar.js +43 -8
  806. package/dist/runtime/shared/sidecar.js.map +1 -1
  807. package/dist/runtime/tensorrt-llm/adapter.d.ts +250 -0
  808. package/dist/runtime/tensorrt-llm/adapter.js +1011 -0
  809. package/dist/runtime/tensorrt-llm/adapter.js.map +1 -0
  810. package/dist/runtime/tensorrt-llm/check.d.ts +12 -0
  811. package/dist/runtime/tensorrt-llm/check.js +21 -0
  812. package/dist/runtime/tensorrt-llm/check.js.map +1 -0
  813. package/dist/runtime/tensorrt-llm/compatibility.d.ts +100 -0
  814. package/dist/runtime/tensorrt-llm/compatibility.js +181 -0
  815. package/dist/runtime/tensorrt-llm/compatibility.js.map +1 -0
  816. package/dist/runtime/tensorrt-llm/engine.d.ts +3 -0
  817. package/dist/runtime/tensorrt-llm/engine.js +24 -0
  818. package/dist/runtime/tensorrt-llm/engine.js.map +1 -0
  819. package/dist/runtime/tensorrt-llm/host-facts.d.ts +55 -0
  820. package/dist/runtime/tensorrt-llm/host-facts.js +87 -0
  821. package/dist/runtime/tensorrt-llm/host-facts.js.map +1 -0
  822. package/dist/runtime/tensorrt-llm/index.d.ts +30 -0
  823. package/dist/runtime/tensorrt-llm/index.js +31 -0
  824. package/dist/runtime/tensorrt-llm/index.js.map +1 -0
  825. package/dist/runtime/tensorrt-llm/installation.d.ts +23 -0
  826. package/dist/runtime/tensorrt-llm/installation.js +53 -0
  827. package/dist/runtime/tensorrt-llm/installation.js.map +1 -0
  828. package/dist/runtime/tensorrt-llm/kv-cache.d.ts +25 -0
  829. package/dist/runtime/tensorrt-llm/kv-cache.js +28 -0
  830. package/dist/runtime/tensorrt-llm/kv-cache.js.map +1 -0
  831. package/dist/runtime/tensorrt-llm/prelaunch.d.ts +20 -0
  832. package/dist/runtime/tensorrt-llm/prelaunch.js +168 -0
  833. package/dist/runtime/tensorrt-llm/prelaunch.js.map +1 -0
  834. package/dist/runtime/tensorrt-llm/route-policy.d.ts +19 -0
  835. package/dist/runtime/tensorrt-llm/route-policy.js +17 -0
  836. package/dist/runtime/tensorrt-llm/route-policy.js.map +1 -0
  837. package/dist/runtime/tensorrt-llm/settings.d.ts +7 -0
  838. package/dist/runtime/tensorrt-llm/settings.js +48 -0
  839. package/dist/runtime/tensorrt-llm/settings.js.map +1 -0
  840. package/dist/runtime/vllm/adapter.d.ts +46 -0
  841. package/dist/runtime/vllm/adapter.js +425 -0
  842. package/dist/runtime/vllm/adapter.js.map +1 -0
  843. package/dist/runtime/vllm/engine.d.ts +16 -0
  844. package/dist/runtime/vllm/engine.js +37 -0
  845. package/dist/runtime/vllm/engine.js.map +1 -0
  846. package/dist/runtime/vllm/index.d.ts +11 -0
  847. package/dist/runtime/vllm/index.js +12 -0
  848. package/dist/runtime/vllm/index.js.map +1 -0
  849. package/dist/runtime/vllm/memory.d.ts +69 -0
  850. package/dist/runtime/vllm/memory.js +123 -0
  851. package/dist/runtime/vllm/memory.js.map +1 -0
  852. package/dist/runtime/vllm/settings.d.ts +52 -0
  853. package/dist/runtime/vllm/settings.js +151 -0
  854. package/dist/runtime/vllm/settings.js.map +1 -0
  855. package/dist/runtime/wsl/guest-paths.d.ts +33 -0
  856. package/dist/runtime/wsl/guest-paths.js +83 -0
  857. package/dist/runtime/wsl/guest-paths.js.map +1 -0
  858. package/dist/runtime/wsl/guest-scope.d.ts +14 -0
  859. package/dist/runtime/wsl/guest-scope.js +98 -0
  860. package/dist/runtime/wsl/guest-scope.js.map +1 -0
  861. package/dist/runtime/wsl/index.d.ts +12 -0
  862. package/dist/runtime/wsl/index.js +13 -0
  863. package/dist/runtime/wsl/index.js.map +1 -0
  864. package/dist/runtime/wsl/keeper.d.ts +29 -0
  865. package/dist/runtime/wsl/keeper.js +48 -0
  866. package/dist/runtime/wsl/keeper.js.map +1 -0
  867. package/dist/runtime/wsl/transport.d.ts +106 -0
  868. package/dist/runtime/wsl/transport.js +181 -0
  869. package/dist/runtime/wsl/transport.js.map +1 -0
  870. package/dist/server/control/index.d.ts +1 -1
  871. package/dist/server/control/router.js +15 -0
  872. package/dist/server/control/router.js.map +1 -1
  873. package/dist/server/control/routes/backends.js +26 -0
  874. package/dist/server/control/routes/backends.js.map +1 -1
  875. package/dist/server/control/routes/decision.d.ts +10 -0
  876. package/dist/server/control/routes/decision.js +43 -0
  877. package/dist/server/control/routes/decision.js.map +1 -0
  878. package/dist/server/control/routes/diffusion-video.js +4 -0
  879. package/dist/server/control/routes/diffusion-video.js.map +1 -1
  880. package/dist/server/control/routes/diffusion.d.ts +1 -1
  881. package/dist/server/control/routes/diffusion.js +4 -9
  882. package/dist/server/control/routes/diffusion.js.map +1 -1
  883. package/dist/server/control/routes/embedding.d.ts +9 -0
  884. package/dist/server/control/routes/embedding.js +43 -0
  885. package/dist/server/control/routes/embedding.js.map +1 -0
  886. package/dist/server/control/routes/engine-builds.d.ts +14 -0
  887. package/dist/server/control/routes/engine-builds.js +82 -0
  888. package/dist/server/control/routes/engine-builds.js.map +1 -0
  889. package/dist/server/control/routes/engines.d.ts +17 -0
  890. package/dist/server/control/routes/engines.js +152 -0
  891. package/dist/server/control/routes/engines.js.map +1 -0
  892. package/dist/server/control/routes/environments.d.ts +16 -0
  893. package/dist/server/control/routes/environments.js +207 -0
  894. package/dist/server/control/routes/environments.js.map +1 -0
  895. package/dist/server/control/routes/hardware.d.ts +1 -1
  896. package/dist/server/control/routes/hardware.js +11 -6
  897. package/dist/server/control/routes/hardware.js.map +1 -1
  898. package/dist/server/control/routes/model-setups.d.ts +11 -0
  899. package/dist/server/control/routes/model-setups.js +55 -0
  900. package/dist/server/control/routes/model-setups.js.map +1 -0
  901. package/dist/server/control/routes/models.d.ts +3 -2
  902. package/dist/server/control/routes/models.js +45 -2
  903. package/dist/server/control/routes/models.js.map +1 -1
  904. package/dist/server/control/types.d.ts +167 -9
  905. package/dist/server/control/types.js.map +1 -1
  906. package/dist/server/http.d.ts +9 -1
  907. package/dist/server/http.js +51 -1
  908. package/dist/server/http.js.map +1 -1
  909. package/dist/server/public/decision-preview.d.ts +17 -0
  910. package/dist/server/public/decision-preview.js +119 -0
  911. package/dist/server/public/decision-preview.js.map +1 -0
  912. package/dist/server/public/decision.d.ts +32 -0
  913. package/dist/server/public/decision.js +135 -0
  914. package/dist/server/public/decision.js.map +1 -0
  915. package/dist/server/public/embedding.d.ts +31 -0
  916. package/dist/server/public/embedding.js +126 -0
  917. package/dist/server/public/embedding.js.map +1 -0
  918. package/dist/server/public/errors.d.ts +2 -1
  919. package/dist/server/public/errors.js +5 -2
  920. package/dist/server/public/errors.js.map +1 -1
  921. package/dist/server/public/forward.js +75 -3
  922. package/dist/server/public/forward.js.map +1 -1
  923. package/dist/server/public/gates.d.ts +13 -0
  924. package/dist/server/public/gates.js +37 -14
  925. package/dist/server/public/gates.js.map +1 -1
  926. package/dist/server/public/index.d.ts +5 -2
  927. package/dist/server/public/index.js +14 -1
  928. package/dist/server/public/index.js.map +1 -1
  929. package/dist/server/public/listing.d.ts +13 -2
  930. package/dist/server/public/listing.js +33 -9
  931. package/dist/server/public/listing.js.map +1 -1
  932. package/dist/server/public/policy.d.ts +9 -0
  933. package/dist/server/public/policy.js +68 -0
  934. package/dist/server/public/policy.js.map +1 -0
  935. package/dist/server/public/responses.js +10 -0
  936. package/dist/server/public/responses.js.map +1 -1
  937. package/dist/server/public/trace.d.ts +2 -2
  938. package/dist/server/public/trace.js +6 -2
  939. package/dist/server/public/trace.js.map +1 -1
  940. package/dist/server/public/types.d.ts +84 -1
  941. package/dist/settings/decision.d.ts +15 -0
  942. package/dist/settings/decision.js +88 -0
  943. package/dist/settings/decision.js.map +1 -0
  944. package/dist/settings/embedding.d.ts +12 -0
  945. package/dist/settings/embedding.js +82 -0
  946. package/dist/settings/embedding.js.map +1 -0
  947. package/dist/settings/index.d.ts +2 -0
  948. package/dist/settings/index.js +2 -0
  949. package/dist/settings/index.js.map +1 -1
  950. package/dist/settings/schema/atomic-prism.json +433 -0
  951. package/dist/settings/schema/tensorrt-llm.json +253 -0
  952. package/dist/settings/schema/vllm.json +273 -0
  953. package/dist/settings/schema.js +58 -0
  954. package/dist/settings/schema.js.map +1 -1
  955. package/dist/settings/store.d.ts +13 -2
  956. package/dist/settings/store.js +44 -0
  957. package/dist/settings/store.js.map +1 -1
  958. package/dist/util/index.d.ts +1 -0
  959. package/dist/util/index.js +1 -0
  960. package/dist/util/index.js.map +1 -1
  961. package/dist/util/result.d.ts +19 -0
  962. package/dist/util/result.js +15 -0
  963. package/dist/util/result.js.map +1 -0
  964. package/dist/version.d.ts +1 -1
  965. package/dist/version.js +1 -1
  966. package/dist/version.js.map +1 -1
  967. package/package.json +1 -1
  968. package/src/settings/schema/atomic-prism.json +433 -0
  969. package/src/settings/schema/tensorrt-llm.json +253 -0
  970. package/src/settings/schema/vllm.json +273 -0
@@ -0,0 +1,71 @@
1
+ /**
2
+ * One llama.cpp provider as an engine of the `/engines` layer (change `unify-engine-lifecycle`, spec
3
+ * `engine-lifecycle`, "Обновление llama.cpp применяет core"; design D3, D5). The desktop's three
4
+ * extensions used to apply an update themselves; the core does it now, in this order:
5
+ *
6
+ * 1. install the target pack, under the caller's task id — before the lock: the download is long
7
+ * and the models keep running meanwhile;
8
+ * 2. in the load queue's turn, write `version_backend` (clients get `settings:changed`), so the
9
+ * next load, the desktop's automatic reload included, starts from the new pack;
10
+ * 3. unload the provider's sessions, as an ordinary unload would;
11
+ * 4. `engine:changed {reason: update}`.
12
+ *
13
+ * Nothing is deleted: the old build stays installed, to switch back to or to remove from the list of
14
+ * builds (a decision during the acceptance of the change, which replaced the retirement of design
15
+ * D5). `retired` and `kept_in_use` are therefore always empty.
16
+ *
17
+ * A failure or a cancel before step 2 changes nothing: the pack moves into place only once complete,
18
+ * and the setting still names the old one. The whole update holds the provider's operation slot, so
19
+ * a second update, an activation or a removal of the same provider is `ENGINE_INSTALL_IN_PROGRESS`.
20
+ */
21
+ import type { CoreEvents, EngineActivateResult, EngineBuildDeleteResult, EngineUpdateRequest, EngineUpdateResult, EngineVersions, EngineVersionsRequest, LlamacppProviderId } from '../contracts/index.js';
22
+ import type { BackendAdvisor, BackendService } from '../backend/index.js';
23
+ import type { EngineHandle } from './service.js';
24
+ export interface LlamacppEngineDeps {
25
+ engine: LlamacppProviderId;
26
+ backends: Pick<BackendService, 'operate' | 'install' | 'exclusive' | 'listInstalled' | 'bundledPack' | 'busyChecker' | 'remove'>;
27
+ advisor: Pick<BackendAdvisor, 'catalog' | 'checkUpdates'>;
28
+ /** The provider's `version_backend` in the core's settings. */
29
+ currentVersionBackend: () => string;
30
+ /** Write `version_backend`; the settings store publishes `settings:changed`. */
31
+ selectVersionBackend: (versionBackend: string) => Promise<void>;
32
+ /** Unload every session of this provider through the facade, the way a client's unload goes. */
33
+ unloadSessions: () => Promise<void>;
34
+ emit: (name: 'engine:changed', payload: CoreEvents['engine:changed']) => void;
35
+ /** A pack was downloaded: the decision and embedding models may now find a build to run on. */
36
+ onInstalled?: (installed: boolean) => void;
37
+ log?: (level: 'info' | 'warn', message: string) => void;
38
+ }
39
+ export declare class LlamacppEngine implements EngineHandle {
40
+ private readonly deps;
41
+ readonly engine: LlamacppProviderId;
42
+ readonly kind: "llamacpp";
43
+ constructor(deps: LlamacppEngineDeps);
44
+ versions(request: EngineVersionsRequest): Promise<EngineVersions>;
45
+ /** `POST /engines/:engine/update`. Answers once applied, which can take as long as the download. */
46
+ update(request: EngineUpdateRequest): Promise<EngineUpdateResult>;
47
+ private updateHeld;
48
+ /**
49
+ * `POST /engines/:engine/builds/:version/:variant/activate` (design D11): steps 2, 3 and 4 of an
50
+ * update — write `version_backend` and unload the provider's sessions in the load queue's turn, then
51
+ * `engine:changed {reason: activate}` — with nothing downloaded and nothing removed. Under the same
52
+ * operation slot as an update, so the two never race on the setting.
53
+ */
54
+ activate(version: string, variant: string): Promise<EngineActivateResult>;
55
+ /**
56
+ * `DELETE /engines/:engine/builds/:version/:variant`: in the load queue's turn, so it waits for a load
57
+ * in flight; never the active pack (`INVALID_REQUEST`, `active`), the installer's (`bundled`) or one
58
+ * something runs from (`BACKEND_IN_USE`).
59
+ */
60
+ remove(version: string, variant: string): Promise<EngineBuildDeleteResult>;
61
+ /**
62
+ * The build to move to: the offer of the update check; an explicit `<version>/<variant>` (no family
63
+ * check: the client chose); or only a variant — the newest of it in the provider's catalog.
64
+ */
65
+ private target;
66
+ /**
67
+ * The switch is already written when this runs: a session that does not stop keeps running from its
68
+ * old pack, which stays on disk, and the answer still says the update applied.
69
+ */
70
+ private unload;
71
+ }
@@ -0,0 +1,176 @@
1
+ /**
2
+ * One llama.cpp provider as an engine of the `/engines` layer (change `unify-engine-lifecycle`, spec
3
+ * `engine-lifecycle`, "Обновление llama.cpp применяет core"; design D3, D5). The desktop's three
4
+ * extensions used to apply an update themselves; the core does it now, in this order:
5
+ *
6
+ * 1. install the target pack, under the caller's task id — before the lock: the download is long
7
+ * and the models keep running meanwhile;
8
+ * 2. in the load queue's turn, write `version_backend` (clients get `settings:changed`), so the
9
+ * next load, the desktop's automatic reload included, starts from the new pack;
10
+ * 3. unload the provider's sessions, as an ordinary unload would;
11
+ * 4. `engine:changed {reason: update}`.
12
+ *
13
+ * Nothing is deleted: the old build stays installed, to switch back to or to remove from the list of
14
+ * builds (a decision during the acceptance of the change, which replaced the retirement of design
15
+ * D5). `retired` and `kept_in_use` are therefore always empty.
16
+ *
17
+ * A failure or a cancel before step 2 changes nothing: the pack moves into place only once complete,
18
+ * and the setting still names the old one. The whole update holds the provider's operation slot, so
19
+ * a second update, an activation or a removal of the same provider is `ENGINE_INSTALL_IN_PROGRESS`.
20
+ */
21
+ import { AtomicCoreError } from '../contracts/index.js';
22
+ import { DOWNLOAD_CANCELLED } from '../downloads/index.js';
23
+ import { llamacppVersions } from './versions.js';
24
+ function parseKey(versionBackend) {
25
+ const [version, variant, ...rest] = versionBackend.trim().split('/');
26
+ if (!version || !variant || rest.length > 0 || version === 'latest' || version === 'none')
27
+ return null;
28
+ return { version, variant };
29
+ }
30
+ /**
31
+ * The downloader speaks in message strings; this surface speaks in codes, like `engine-builds`. The
32
+ * message stays as it was: the app reads the disk tags (`[disk_full]` …) out of it.
33
+ */
34
+ function installError(error) {
35
+ if (error instanceof AtomicCoreError)
36
+ return error;
37
+ const message = error instanceof Error ? error.message : String(error);
38
+ if (message === DOWNLOAD_CANCELLED)
39
+ return new AtomicCoreError('CANCELLED', 'The engine update was cancelled.');
40
+ return new AtomicCoreError('ENGINE_INSTALL_FAILED', message);
41
+ }
42
+ export class LlamacppEngine {
43
+ deps;
44
+ engine;
45
+ kind = 'llamacpp';
46
+ constructor(deps) {
47
+ this.deps = deps;
48
+ this.engine = deps.engine;
49
+ }
50
+ versions(request) {
51
+ const { deps } = this;
52
+ // One look at what runs, for every pack of this answer.
53
+ let busy;
54
+ return llamacppVersions({
55
+ engine: deps.engine,
56
+ current: deps.currentVersionBackend,
57
+ checkUpdates: (r) => deps.advisor.checkUpdates(r),
58
+ catalog: (r) => deps.advisor.catalog(r),
59
+ listInstalled: (current) => deps.backends.listInstalled(current),
60
+ bundledPack: () => deps.backends.bundledPack(),
61
+ inUse: async (version, backend) => (await (busy ??= deps.backends.busyChecker()))(version, backend),
62
+ }, request);
63
+ }
64
+ /** `POST /engines/:engine/update`. Answers once applied, which can take as long as the download. */
65
+ async update(request) {
66
+ if (!('task_id' in request))
67
+ throw new AtomicCoreError('INVALID_ARGUMENT', `An update of ${this.engine} needs task_id.`);
68
+ return this.deps.backends.operate('update', (operation) => this.updateHeld(request, operation));
69
+ }
70
+ async updateHeld(request, operation) {
71
+ const active = parseKey(this.deps.currentVersionBackend());
72
+ const unchanged = (reason) => ({
73
+ updated: false,
74
+ reason,
75
+ active,
76
+ retired: [],
77
+ kept_in_use: [],
78
+ });
79
+ const target = await this.target(request);
80
+ if (target === null)
81
+ return unchanged('no-update');
82
+ if (active !== null && active.version === target.version && active.variant === target.variant)
83
+ return unchanged('already-active');
84
+ let installed;
85
+ try {
86
+ installed = (await this.deps.backends.install(target.version, target.variant, {
87
+ taskId: request.task_id,
88
+ ...(request.force !== undefined ? { force: request.force } : {}),
89
+ ...(request.proxy !== undefined ? { proxy: request.proxy } : {}),
90
+ operation,
91
+ })).installed;
92
+ }
93
+ catch (error) {
94
+ throw installError(error);
95
+ }
96
+ this.deps.onInstalled?.(installed);
97
+ await this.deps.backends.exclusive(async () => {
98
+ await this.deps.selectVersionBackend(`${target.version}/${target.variant}`);
99
+ await this.unload();
100
+ });
101
+ this.deps.emit('engine:changed', { engine: this.engine, reason: 'update' });
102
+ return { updated: true, active: target, retired: [], kept_in_use: [] };
103
+ }
104
+ /**
105
+ * `POST /engines/:engine/builds/:version/:variant/activate` (design D11): steps 2, 3 and 4 of an
106
+ * update — write `version_backend` and unload the provider's sessions in the load queue's turn, then
107
+ * `engine:changed {reason: activate}` — with nothing downloaded and nothing removed. Under the same
108
+ * operation slot as an update, so the two never race on the setting.
109
+ */
110
+ activate(version, variant) {
111
+ const target = { version, variant };
112
+ return this.deps.backends.operate('activate', async () => {
113
+ const active = parseKey(this.deps.currentVersionBackend());
114
+ if (active !== null && active.version === version && active.variant === variant)
115
+ return { activated: false, reason: 'already-active', active: target };
116
+ const packs = await this.deps.backends.listInstalled();
117
+ if (!packs.some((pack) => pack.version === version && pack.backend === variant))
118
+ throw new AtomicCoreError('INVALID_REQUEST', `${version}/${variant} is not installed.`, 'not-installed');
119
+ await this.deps.backends.exclusive(async () => {
120
+ await this.deps.selectVersionBackend(`${version}/${variant}`);
121
+ await this.unload();
122
+ });
123
+ this.deps.emit('engine:changed', { engine: this.engine, reason: 'activate' });
124
+ return { activated: true, active: target };
125
+ });
126
+ }
127
+ /**
128
+ * `DELETE /engines/:engine/builds/:version/:variant`: in the load queue's turn, so it waits for a load
129
+ * in flight; never the active pack (`INVALID_REQUEST`, `active`), the installer's (`bundled`) or one
130
+ * something runs from (`BACKEND_IN_USE`).
131
+ */
132
+ async remove(version, variant) {
133
+ // `engine:changed {reason: uninstall}` comes from the backend service, for this route and `/backends`.
134
+ const removed = await this.deps.backends.remove(version, variant, this.deps.currentVersionBackend, {
135
+ refuseActiveAs: 'INVALID_REQUEST',
136
+ });
137
+ return { removed };
138
+ }
139
+ /**
140
+ * The build to move to: the offer of the update check; an explicit `<version>/<variant>` (no family
141
+ * check: the client chose); or only a variant — the newest of it in the provider's catalog.
142
+ */
143
+ async target(request) {
144
+ const current = this.deps.currentVersionBackend().trim();
145
+ const common = {
146
+ force: request.force ?? false,
147
+ app_version: request.app_version ?? null,
148
+ proxy: request.proxy ?? null,
149
+ };
150
+ if (request.target === undefined) {
151
+ const check = await this.deps.advisor.checkUpdates({ current, ...common });
152
+ return check.offer ? parseKey(check.offer) : null;
153
+ }
154
+ const { version, variant } = request.target;
155
+ if (version !== undefined)
156
+ return { version, variant };
157
+ const catalog = await this.deps.advisor.catalog({ current_backend: current, ...common });
158
+ const newest = catalog.available.find((entry) => entry.backend === variant);
159
+ if (newest === undefined)
160
+ throw new AtomicCoreError('BACKEND_TAG_UNRESOLVED', `The ${this.engine} catalog has no ${variant} build for this computer.`, variant);
161
+ return { version: newest.version, variant };
162
+ }
163
+ /**
164
+ * The switch is already written when this runs: a session that does not stop keeps running from its
165
+ * old pack, which stays on disk, and the answer still says the update applied.
166
+ */
167
+ async unload() {
168
+ try {
169
+ await this.deps.unloadSessions();
170
+ }
171
+ catch (error) {
172
+ this.deps.log?.('warn', `${this.engine}: a session did not unload after the switch: ${String(error)}`);
173
+ }
174
+ }
175
+ }
176
+ //# sourceMappingURL=llamacpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llamacpp.js","sourceRoot":"","sources":["../../src/engines/llamacpp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAcvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAqBhD,SAAS,QAAQ,CAAC,cAAsB;IACtC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IACtG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,YAAY,eAAe;QAAE,OAAO,KAAK,CAAA;IAClD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,IAAI,OAAO,KAAK,kBAAkB;QAChC,OAAO,IAAI,eAAe,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAA;IAC7E,OAAO,IAAI,eAAe,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,OAAO,cAAc;IAII;IAHpB,MAAM,CAAoB;IAC1B,IAAI,GAAG,UAAmB,CAAA;IAEnC,YAA6B,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,QAAQ,CAAC,OAA8B;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QACrB,wDAAwD;QACxD,IAAI,IAA8D,CAAA;QAClE,OAAO,gBAAgB,CACrB;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,qBAAqB;YACnC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACjD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;YAChE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC9C,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;SACpG,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAED,oGAAoG;IACpG,KAAK,CAAC,MAAM,CAAC,OAA4B;QACvC,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC;YACzB,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,IAAI,CAAC,MAAM,iBAAiB,CAAC,CAAA;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;IACjG,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAAgC,EAChC,SAA2B;QAE3B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAA;QAC1D,MAAM,SAAS,GAAG,CAAC,MAAsC,EAAsB,EAAE,CAAC,CAAC;YACjF,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;YACN,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,EAAE;SAChB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC,WAAW,CAAC,CAAA;QAClD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;YAC3F,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAEpC,IAAI,SAAkB,CAAA;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,CACV,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC/D,MAAM,EAAE,OAAO,CAAC,OAAO;gBACvB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,SAAS;aACV,CAAC,CACH,CAAC,SAAS,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAA;QAElC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YAC3E,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IACxE,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,OAAe,EAAE,OAAe;QACvC,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAA;YAC1D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;gBAC7E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;YACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;YACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC;gBAC7E,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,GAAG,OAAO,IAAI,OAAO,oBAAoB,EACzC,eAAe,CAChB,CAAA;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;gBAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC,CAAA;gBAC7D,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;YACrB,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;YAC7E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAe;QAC3C,uGAAuG;QACvG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACjG,cAAc,EAAE,iBAAiB;SAClC,CAAC,CAAA;QACF,OAAO,EAAE,OAAO,EAAE,CAAA;IACpB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM,CAAC,OAAgC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,CAAA;QACxD,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;YAC7B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;SAC7B,CAAA;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;YAC1E,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACnD,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;QAC3C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;QACxF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;QAC3E,IAAI,MAAM,KAAK,SAAS;YACtB,MAAM,IAAI,eAAe,CACvB,wBAAwB,EACxB,OAAO,IAAI,CAAC,MAAM,mBAAmB,OAAO,2BAA2B,EACvE,OAAO,CACR,CAAA;QACH,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM;QAClB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,gDAAgD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxG,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * TensorRT-LLM and vLLM as engines of the `/engines` layer (change `unify-engine-lifecycle`, spec
3
+ * `engine-lifecycle`, "Обновление managed-движка переустановкой"; design D6, D7). A managed engine has
4
+ * one installation, pinned to the descriptor it was set up with; a newer descriptor in conf is offered
5
+ * as a reinstall, which the environment runs as a durable removal (models kept) followed by a setup
6
+ * that asks for consent. There is no update in place: the provisioners do not implement `kind: update`.
7
+ */
8
+ import type { EngineBuildDeleteResult, EngineId, EngineOperationStarted, EngineUpdateRequest, EngineUpdateResult, EngineVersions, EngineVersionsRequest } from '../contracts/index.js';
9
+ import type { EnvironmentService, InstallationRecord, RuntimeDescriptorProvider } from '../runtime/environment/index.js';
10
+ import type { EngineHandle, EngineRemoveOptions } from './service.js';
11
+ export interface ManagedEngineDeps {
12
+ engine: EngineId;
13
+ environmentId: string;
14
+ /** The image platform a setup on this host pulls. */
15
+ platform: 'linux/amd64' | 'linux/arm64';
16
+ /** Every installation of this user's environment (shared by both scopes). */
17
+ installations: () => Promise<InstallationRecord[]>;
18
+ /** What a fresh setup of the engine would use now (`RuntimeDescriptorProvider.forNewSetup`). */
19
+ newSetup: RuntimeDescriptorProvider['forNewSetup'];
20
+ /** The engine's models loaded right now. */
21
+ residentModels: () => readonly string[];
22
+ environment: Pick<EnvironmentService, 'beginReinstall' | 'planRemoval' | 'begin'>;
23
+ /** The request id of a removal asked for through `DELETE`, which has no body to carry one. */
24
+ newId?: () => string;
25
+ }
26
+ export declare class ManagedEngine implements EngineHandle {
27
+ private readonly deps;
28
+ readonly engine: EngineId;
29
+ readonly kind: "managed";
30
+ constructor(deps: ManagedEngineDeps);
31
+ /**
32
+ * The installation `installation_id` = `engine_id` (the clients' convention), ready and pinned to a
33
+ * descriptor; one being removed (`removing`, possibly by the other scope's core) is not offered.
34
+ */
35
+ private installation;
36
+ private latest;
37
+ versions(request: EngineVersionsRequest): Promise<EngineVersions>;
38
+ /**
39
+ * `POST /engines/:engine/update`: with an offer, the reinstall's removal (`202`); without one,
40
+ * `no-update` and no operation. The call itself is the consent to remove, the setup asks its own.
41
+ */
42
+ update(request: EngineUpdateRequest): Promise<EngineUpdateResult | EngineOperationStarted>;
43
+ /**
44
+ * `DELETE /engines/:engine/builds/:version/:variant`: the durable removal of the installation, the
45
+ * request itself being the consent (the plan it approves is the one the removal's probe computes).
46
+ * `202` with the operation; a release that is not the one installed is `removed: false`.
47
+ */
48
+ remove(version: string, variant: string, options: EngineRemoveOptions): Promise<EngineBuildDeleteResult | EngineOperationStarted>;
49
+ }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * TensorRT-LLM and vLLM as engines of the `/engines` layer (change `unify-engine-lifecycle`, spec
3
+ * `engine-lifecycle`, "Обновление managed-движка переустановкой"; design D6, D7). A managed engine has
4
+ * one installation, pinned to the descriptor it was set up with; a newer descriptor in conf is offered
5
+ * as a reinstall, which the environment runs as a durable removal (models kept) followed by a setup
6
+ * that asks for consent. There is no update in place: the provisioners do not implement `kind: update`.
7
+ */
8
+ import { randomUUID } from 'node:crypto';
9
+ import { AtomicCoreError } from '../contracts/index.js';
10
+ import { managedVersions } from './versions.js';
11
+ export class ManagedEngine {
12
+ deps;
13
+ engine;
14
+ kind = 'managed';
15
+ constructor(deps) {
16
+ this.deps = deps;
17
+ this.engine = deps.engine;
18
+ }
19
+ /**
20
+ * The installation `installation_id` = `engine_id` (the clients' convention), ready and pinned to a
21
+ * descriptor; one being removed (`removing`, possibly by the other scope's core) is not offered.
22
+ */
23
+ async installation() {
24
+ const records = await this.deps.installations();
25
+ return (records.find((record) => record.installation.engine_id === this.engine &&
26
+ record.installation.status === 'ready' &&
27
+ record.installation.active_descriptor_id !== null) ?? null);
28
+ }
29
+ async latest() {
30
+ const result = await this.deps.newSetup(this.engine);
31
+ return result.kind === 'available'
32
+ ? { kind: 'available', descriptor: result.descriptor, source: result.source ?? 'cache' }
33
+ : { kind: 'unavailable', error: result.error };
34
+ }
35
+ versions(request) {
36
+ return managedVersions({
37
+ engine: this.engine,
38
+ installation: () => this.installation(),
39
+ latest: () => this.latest(),
40
+ inUse: () => this.deps.residentModels().length > 0,
41
+ platform: this.deps.platform,
42
+ }, request);
43
+ }
44
+ /**
45
+ * `POST /engines/:engine/update`: with an offer, the reinstall's removal (`202`); without one,
46
+ * `no-update` and no operation. The call itself is the consent to remove, the setup asks its own.
47
+ */
48
+ async update(request) {
49
+ if (!('request_id' in request))
50
+ throw new AtomicCoreError('INVALID_ARGUMENT', `An update of ${this.engine} needs request_id.`);
51
+ if ('target' in request)
52
+ throw new AtomicCoreError('INVALID_ARGUMENT', `The core picks the ${this.engine} release; an update takes no target.`);
53
+ const entry = await this.versions({ app_version: request.app_version ?? null });
54
+ const target = entry.update.needed ? entry.update.target : null;
55
+ if (target === null)
56
+ return { updated: false, reason: 'no-update', active: entry.active, retired: [], kept_in_use: [] };
57
+ const removal = await this.deps.environment.beginReinstall(this.deps.environmentId, {
58
+ request_id: request.request_id,
59
+ target: { kind: 'runtime', installation_id: this.engine, engine_id: this.engine },
60
+ descriptor_id: target.version,
61
+ });
62
+ return { operation_id: removal.operation_id };
63
+ }
64
+ /**
65
+ * `DELETE /engines/:engine/builds/:version/:variant`: the durable removal of the installation, the
66
+ * request itself being the consent (the plan it approves is the one the removal's probe computes).
67
+ * `202` with the operation; a release that is not the one installed is `removed: false`.
68
+ */
69
+ async remove(version, variant, options) {
70
+ const record = await this.installation();
71
+ if (record === null ||
72
+ record.installation.active_descriptor_id !== version ||
73
+ record.platform !== variant)
74
+ return { removed: false };
75
+ const target = { kind: 'runtime', installation_id: this.engine, engine_id: this.engine };
76
+ const retainModels = options.retainModels ?? true;
77
+ const plan = await this.deps.environment.planRemoval(this.deps.environmentId, target, retainModels);
78
+ const removal = await this.deps.environment.begin(this.deps.environmentId, {
79
+ request_id: (this.deps.newId ?? randomUUID)(),
80
+ target,
81
+ kind: 'remove',
82
+ retain_models: retainModels,
83
+ approved_plan_digest: plan.plan_digest,
84
+ });
85
+ return { operation_id: removal.operation_id };
86
+ }
87
+ }
88
+ //# sourceMappingURL=managed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed.js","sourceRoot":"","sources":["../../src/engines/managed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The `/engines` layer (change `unify-engine-lifecycle`, design D1): it only gathers and directs.
3
+ * Each engine of this host is an `EngineHandle` over the system that installs it — the llama.cpp
4
+ * backend service, `engine-builds`, the managed environments — and this class answers the versions
5
+ * of all of them and sends each command to the one it names.
6
+ */
7
+ import type { EngineActivateResult, EngineBuildDeleteResult, EngineId, EngineKind, EngineOperationStarted, EngineUpdateRequest, EngineUpdateResult, EngineVersions, EngineVersionsRequest, EngineVersionsResponse } from '../contracts/index.js';
8
+ /** One engine of this host, over the system underneath. */
9
+ export interface EngineHandle {
10
+ engine: EngineId;
11
+ kind: EngineKind;
12
+ versions(request: EngineVersionsRequest): Promise<EngineVersions>;
13
+ /** `swap` engines answer once applied; a managed engine answers with the operation it began. */
14
+ update(request: EngineUpdateRequest): Promise<EngineUpdateResult | EngineOperationStarted>;
15
+ /** One build; a managed engine answers with the removal it began. */
16
+ remove(version: string, variant: string, options: EngineRemoveOptions): Promise<EngineBuildDeleteResult | EngineOperationStarted>;
17
+ /** Only where the client picks the active build (`active_choice: client`, llama.cpp). */
18
+ activate?(version: string, variant: string): Promise<EngineActivateResult>;
19
+ }
20
+ export interface EngineRemoveOptions {
21
+ /** A managed engine only: keep its models (the default). */
22
+ retainModels?: boolean;
23
+ }
24
+ /**
25
+ * The engines registered on this host, in catalog order: the three llama.cpp providers and sd.cpp
26
+ * everywhere, MLX on macOS, a managed engine where this core offers it (Linux, Windows with Atomic
27
+ * Chat's WSL distribution).
28
+ */
29
+ export declare function hostEngines(platform: NodeJS.Platform, managed: readonly string[]): EngineId[];
30
+ export interface EnginesServiceDeps {
31
+ engines: readonly EngineHandle[];
32
+ }
33
+ export declare class EnginesService {
34
+ private readonly engines;
35
+ constructor(deps: EnginesServiceDeps);
36
+ /** The handle of an engine this host has; `INVALID_ARGUMENT` for any other name. */
37
+ private handle;
38
+ /** `POST /engines/:engine/update`. */
39
+ update(engine: string, request: EngineUpdateRequest): Promise<EngineUpdateResult | EngineOperationStarted>;
40
+ /** `DELETE /engines/:engine/builds/:version/:variant`. */
41
+ remove(engine: string, version: string, variant: string, options?: EngineRemoveOptions): Promise<EngineBuildDeleteResult | EngineOperationStarted>;
42
+ /** `POST /engines/:engine/builds/:version/:variant/activate`. */
43
+ activate(engine: string, version: string, variant: string): Promise<EngineActivateResult>;
44
+ /** `POST /engines/versions`: every engine at once; one engine's failure is its own `error`. */
45
+ versions(request?: EngineVersionsRequest): Promise<EngineVersionsResponse>;
46
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * The `/engines` layer (change `unify-engine-lifecycle`, design D1): it only gathers and directs.
3
+ * Each engine of this host is an `EngineHandle` over the system that installs it — the llama.cpp
4
+ * backend service, `engine-builds`, the managed environments — and this class answers the versions
5
+ * of all of them and sends each command to the one it names.
6
+ */
7
+ import { AtomicCoreError, ENGINE_IDS, ENGINE_KINDS } from '../contracts/index.js';
8
+ import { collectEngineVersions } from './versions.js';
9
+ /**
10
+ * The engines registered on this host, in catalog order: the three llama.cpp providers and sd.cpp
11
+ * everywhere, MLX on macOS, a managed engine where this core offers it (Linux, Windows with Atomic
12
+ * Chat's WSL distribution).
13
+ */
14
+ export function hostEngines(platform, managed) {
15
+ return ENGINE_IDS.filter((engine) => {
16
+ if (engine === 'mlx')
17
+ return platform === 'darwin';
18
+ if (ENGINE_KINDS[engine] === 'managed')
19
+ return managed.includes(engine);
20
+ return true;
21
+ });
22
+ }
23
+ export class EnginesService {
24
+ engines;
25
+ constructor(deps) {
26
+ this.engines = [...deps.engines].sort((a, b) => ENGINE_IDS.indexOf(a.engine) - ENGINE_IDS.indexOf(b.engine));
27
+ }
28
+ /** The handle of an engine this host has; `INVALID_ARGUMENT` for any other name. */
29
+ handle(engine) {
30
+ const handle = this.engines.find((candidate) => candidate.engine === engine);
31
+ if (handle !== undefined)
32
+ return handle;
33
+ throw new AtomicCoreError('INVALID_ARGUMENT', ENGINE_IDS.includes(engine)
34
+ ? `The ${engine} engine is not available on this computer.`
35
+ : `There is no engine named ${engine}.`, engine);
36
+ }
37
+ /** `POST /engines/:engine/update`. */
38
+ async update(engine, request) {
39
+ return this.handle(engine).update(request);
40
+ }
41
+ /** `DELETE /engines/:engine/builds/:version/:variant`. */
42
+ async remove(engine, version, variant, options = {}) {
43
+ return this.handle(engine).remove(version, variant, options);
44
+ }
45
+ /** `POST /engines/:engine/builds/:version/:variant/activate`. */
46
+ async activate(engine, version, variant) {
47
+ const handle = this.handle(engine);
48
+ if (handle.activate === undefined)
49
+ throw new AtomicCoreError('INVALID_ARGUMENT', `The core picks the active ${engine} build; it cannot be chosen.`, engine);
50
+ return handle.activate(version, variant);
51
+ }
52
+ /** `POST /engines/versions`: every engine at once; one engine's failure is its own `error`. */
53
+ versions(request = {}) {
54
+ return collectEngineVersions(this.engines.map((handle) => ({
55
+ engine: handle.engine,
56
+ kind: handle.kind,
57
+ read: () => handle.versions(request),
58
+ })));
59
+ }
60
+ }
61
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/engines/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAajF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAwBrD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAAyB,EAAE,OAA0B;IAC/E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,QAAQ,KAAK,QAAQ,CAAA;QAClD,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACvE,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAMD,MAAM,OAAO,cAAc;IACR,OAAO,CAAgB;IAExC,YAAY,IAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CACtE,CAAA;IACH,CAAC;IAED,oFAAoF;IAC5E,MAAM,CAAC,MAAc;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QAC5E,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,MAAM,IAAI,eAAe,CACvB,kBAAkB,EACjB,UAAgC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAChD,CAAC,CAAC,OAAO,MAAM,4CAA4C;YAC3D,CAAC,CAAC,4BAA4B,MAAM,GAAG,EACzC,MAAM,CACP,CAAA;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAA4B;QAE5B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAAe,EACf,OAAe,EACf,UAA+B,EAAE;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAC/B,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,6BAA6B,MAAM,8BAA8B,EACjE,MAAM,CACP,CAAA;QACH,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,+FAA+F;IAC/F,QAAQ,CAAC,UAAiC,EAAE;QAC1C,OAAO,qBAAqB,CAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;SACrC,CAAC,CAAC,CACJ,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * `POST /engines/versions` (change `unify-engine-lifecycle`, spec `engine-lifecycle`, "Версии всех
3
+ * движков хоста", "Описание установленной сборки", "Предложение обновления"; design D1, D2): one entry
4
+ * per engine of this host, each built from the system that installs it, never by merging them.
5
+ *
6
+ * - llama.cpp — the backend advisor's update check and catalog, and the packs on disk;
7
+ * - sd.cpp, MLX — the `engine-builds` catalog and update check;
8
+ * - TensorRT-LLM, vLLM — the installation record and the last accepted descriptor, ordered by
9
+ * `descriptor-order.ts`.
10
+ *
11
+ * Every builder only reads: it downloads nothing but the documents that say what exists, and changes
12
+ * no build and no setting. The entries are built in parallel, and one engine's failure is that
13
+ * engine's `error`, so a broken TurboQuant index never hides an MLX update.
14
+ */
15
+ import { AtomicCoreError } from '../contracts/index.js';
16
+ import type { BackendCatalogRequest, BackendCatalogResponse, BackendUpdateCheckRequest, BackendUpdateCheckResponse, EngineBuildCatalog, EngineBuildCatalogRequest, EngineBuildId, EngineBuildUpdateCheck, EngineId, EngineKind, EngineVersions, EngineVersionsRequest, EngineVersionsResponse, LlamacppProviderId, RuntimeDescriptor } from '../contracts/index.js';
17
+ import type { InstalledBackendPack } from '../backend/index.js';
18
+ import type { InstallationRecord } from '../runtime/environment/index.js';
19
+ export interface LlamacppVersionsDeps {
20
+ engine: LlamacppProviderId;
21
+ /** The provider's `version_backend` in the core's settings. */
22
+ current: () => string;
23
+ checkUpdates: (request: BackendUpdateCheckRequest) => Promise<BackendUpdateCheckResponse>;
24
+ catalog: (request: BackendCatalogRequest) => Promise<BackendCatalogResponse>;
25
+ listInstalled: (current: string) => Promise<InstalledBackendPack[]>;
26
+ bundledPack: () => Promise<{
27
+ version: string;
28
+ backend: string;
29
+ } | null>;
30
+ inUse: (version: string, backend: string) => Promise<boolean>;
31
+ }
32
+ export declare function llamacppVersions(deps: LlamacppVersionsDeps, request: EngineVersionsRequest): Promise<EngineVersions>;
33
+ export interface EngineBuildVersionsDeps {
34
+ engine: EngineBuildId;
35
+ catalog: (request: EngineBuildCatalogRequest) => Promise<EngineBuildCatalog>;
36
+ checkUpdates: (request: EngineBuildCatalogRequest) => Promise<EngineBuildUpdateCheck>;
37
+ }
38
+ export declare function engineBuildVersions(deps: EngineBuildVersionsDeps, request: EngineVersionsRequest): Promise<EngineVersions>;
39
+ /** What a fresh setup would use now: the descriptor just fetched, the last one accepted, or neither. */
40
+ export type LatestDescriptor = {
41
+ kind: 'available';
42
+ descriptor: RuntimeDescriptor;
43
+ source: 'remote' | 'cache';
44
+ } | {
45
+ kind: 'unavailable';
46
+ error: AtomicCoreError;
47
+ };
48
+ export interface ManagedVersionsDeps {
49
+ engine: EngineId;
50
+ /** The engine's installation in this user's environment, or `null` when it is not installed. */
51
+ installation: () => Promise<InstallationRecord | null>;
52
+ latest: () => Promise<LatestDescriptor>;
53
+ /** A model of this engine is resident. */
54
+ inUse: () => boolean;
55
+ /** The image platform a setup on this host pulls. */
56
+ platform: 'linux/amd64' | 'linux/arm64';
57
+ }
58
+ export declare function managedVersions(deps: ManagedVersionsDeps, request: EngineVersionsRequest): Promise<EngineVersions>;
59
+ export interface EngineVersionsReader {
60
+ engine: EngineId;
61
+ kind: EngineKind;
62
+ read: () => Promise<EngineVersions>;
63
+ }
64
+ /** All entries at once, in the order given; a reader that throws becomes its engine's `error`. */
65
+ export declare function collectEngineVersions(readers: readonly EngineVersionsReader[]): Promise<EngineVersionsResponse>;