@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
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/runtime/llamacpp/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/runtime/llamacpp/policy.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,33 @@
1
1
  /**
2
2
  * Capability probe: does the installed `llama-server` advertise a speculative type in its `-h`
3
3
  * output? Port of `check_spec_type_support` in the plugin's `commands.rs` (5 s budget, substring
4
- * match over stdout+stderr).
4
+ * match over stdout+stderr). `runHelp` is the run itself, for a caller that judges the output and
5
+ * the exit on its own (the decision engine gate, which takes only a finished help screen as proof).
5
6
  */
6
7
  import type { ManagedProcess, SpawnSpec } from '../shared/index.js';
8
+ import type { ExitInfo } from './errors.js';
7
9
  export declare const DFLASH_SPEC_TYPE = "draft-dflash";
8
10
  export declare const PROBE_TIMEOUT_MS = 5000;
11
+ /** How much of a probe's output a failure's details keep: the end, where an error is. */
12
+ export declare const PROBE_OUTPUT_TAIL_CHARS = 600;
9
13
  export interface ProbeDeps {
10
14
  spawn?: (spec: SpawnSpec) => ManagedProcess;
11
15
  timeoutMs?: number;
16
+ now?: () => number;
12
17
  }
18
+ /** What `llama-server -h` printed, how it exited and how long it took. */
19
+ export interface HelpRun {
20
+ /** stdout, then stderr. */
21
+ output: string;
22
+ exit: ExitInfo;
23
+ elapsedMs: number;
24
+ }
25
+ /** The last `chars` characters of `text` on one line, for a failure's details; `''` for no output. */
26
+ export declare function probeOutputTail(text: string, chars?: number): string;
27
+ /**
28
+ * Run `exePath -h` and collect its output. Rejects with `MODEL_LOAD_FAILED` when the process could
29
+ * not be started and with `MODEL_LOAD_TIMED_OUT` when it did not finish within the budget: neither
30
+ * says anything about what the build supports.
31
+ */
32
+ export declare function runHelp(exePath: string, env: Record<string, string>, cwd: string | undefined, deps?: ProbeDeps): Promise<HelpRun>;
13
33
  export declare function checkSpecTypeSupport(exePath: string, specType: string, env: Record<string, string>, cwd: string | undefined, deps?: ProbeDeps): Promise<boolean>;
@@ -1,15 +1,30 @@
1
1
  /**
2
2
  * Capability probe: does the installed `llama-server` advertise a speculative type in its `-h`
3
3
  * output? Port of `check_spec_type_support` in the plugin's `commands.rs` (5 s budget, substring
4
- * match over stdout+stderr).
4
+ * match over stdout+stderr). `runHelp` is the run itself, for a caller that judges the output and
5
+ * the exit on its own (the decision engine gate, which takes only a finished help screen as proof).
5
6
  */
6
7
  import { AtomicCoreError } from '../../contracts/index.js';
7
8
  import { spawnManaged } from '../shared/index.js';
8
9
  export const DFLASH_SPEC_TYPE = 'draft-dflash';
9
10
  export const PROBE_TIMEOUT_MS = 5000;
10
- export async function checkSpecTypeSupport(exePath, specType, env, cwd, deps = {}) {
11
+ /** How much of a probe's output a failure's details keep: the end, where an error is. */
12
+ export const PROBE_OUTPUT_TAIL_CHARS = 600;
13
+ /** The last `chars` characters of `text` on one line, for a failure's details; `''` for no output. */
14
+ export function probeOutputTail(text, chars = PROBE_OUTPUT_TAIL_CHARS) {
15
+ const flat = text.replace(/\s+/g, ' ').trim();
16
+ return flat.length > chars ? `…${flat.slice(-chars)}` : flat;
17
+ }
18
+ /**
19
+ * Run `exePath -h` and collect its output. Rejects with `MODEL_LOAD_FAILED` when the process could
20
+ * not be started and with `MODEL_LOAD_TIMED_OUT` when it did not finish within the budget: neither
21
+ * says anything about what the build supports.
22
+ */
23
+ export async function runHelp(exePath, env, cwd, deps = {}) {
11
24
  const spawn = deps.spawn ?? spawnManaged;
12
25
  const timeoutMs = deps.timeoutMs ?? PROBE_TIMEOUT_MS;
26
+ const now = deps.now ?? Date.now;
27
+ const started = now();
13
28
  let proc;
14
29
  try {
15
30
  proc = spawn({ exe: exePath, args: ['-h'], env, cwd });
@@ -17,11 +32,19 @@ export async function checkSpecTypeSupport(exePath, specType, env, cwd, deps = {
17
32
  catch (e) {
18
33
  throw new AtomicCoreError('MODEL_LOAD_FAILED', 'Could not probe llama.cpp backend capabilities.', e.message);
19
34
  }
20
- const timeout = new Promise((r) => setTimeout(() => r('timeout'), timeoutMs).unref());
21
- const outcome = await Promise.race([proc.exited.then(() => 'exited'), timeout]);
35
+ let timer;
36
+ const timeout = new Promise((r) => {
37
+ timer = setTimeout(() => r('timeout'), timeoutMs);
38
+ timer.unref();
39
+ });
40
+ const outcome = await Promise.race([proc.exited, timeout]);
41
+ clearTimeout(timer);
22
42
  if (outcome === 'timeout') {
43
+ const { stdout, stderr } = proc.output();
44
+ const tail = probeOutputTail(`${stdout}\n${stderr}`);
23
45
  await proc.terminate(500);
24
- throw new AtomicCoreError('MODEL_LOAD_TIMED_OUT', 'Timed out while probing llama.cpp backend capabilities.', `llama-server -h did not finish within ${Math.round(timeoutMs / 1000)}s for ${exePath}`);
46
+ throw new AtomicCoreError('MODEL_LOAD_TIMED_OUT', 'Timed out while probing llama.cpp backend capabilities.', `llama-server -h did not finish within ${Math.round(timeoutMs / 1000)}s for ${exePath}` +
47
+ (tail ? `; output so far: ${tail}` : '; no output'));
25
48
  }
26
49
  const failure = proc.spawnFailure();
27
50
  if (failure) {
@@ -30,6 +53,9 @@ export async function checkSpecTypeSupport(exePath, specType, env, cwd, deps = {
30
53
  // let the line readers drain
31
54
  await new Promise((r) => setTimeout(r, 10));
32
55
  const { stdout, stderr } = proc.output();
33
- return `${stdout}\n${stderr}`.includes(specType);
56
+ return { output: `${stdout}\n${stderr}`, exit: outcome, elapsedMs: now() - started };
57
+ }
58
+ export async function checkSpecTypeSupport(exePath, specType, env, cwd, deps = {}) {
59
+ return (await runHelp(exePath, env, cwd, deps)).output.includes(specType);
34
60
  }
35
61
  //# sourceMappingURL=probe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../../src/runtime/llamacpp/probe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAA;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAOpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,QAAgB,EAChB,GAA2B,EAC3B,GAAuB,EACvB,OAAkB,EAAE;IAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAA;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAA;IACpD,IAAI,IAAoB,CAAA;IACxB,IAAI,CAAC;QACH,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CACvB,mBAAmB,EACnB,iDAAiD,EAChD,CAAW,CAAC,OAAO,CACrB,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAY,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAChG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IACxF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACzB,MAAM,IAAI,eAAe,CACvB,sBAAsB,EACtB,yDAAyD,EACzD,yCAAyC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,OAAO,EAAE,CACxF,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,eAAe,CACvB,mBAAmB,EACnB,iDAAiD,EACjD,OAAO,CAAC,OAAO,CAChB,CAAA;IACH,CAAC;IACD,6BAA6B;IAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IACxC,OAAO,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../../src/runtime/llamacpp/probe.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import type { DataLayout } from '../../config/index.js';
19
19
  import type { ProcessJournal } from '../../lock/index.js';
20
20
  import type { ModelRegistry } from '../../models/index.js';
21
21
  import { spawnAndAwaitReady } from '../shared/index.js';
22
- import type { ManagedProcess, SpawnSpec, CtxIncreaseResult, LocalRuntime, RecreateResult } from '../shared/index.js';
22
+ import type { BackendOutputSink, ManagedProcess, SpawnSpec, CtxIncreaseResult, GpuClaimHook, GpuOccupancy, LocalRuntime, RecreateResult } from '../shared/index.js';
23
23
  import type { LlamacppConfigInput } from './args.js';
24
24
  import type { LlamacppEngineSettings, LoadPlanDeps } from './load-plan.js';
25
25
  export type EmitFn = <K extends keyof CoreEvents>(name: K, payload: CoreEvents[K]) => void;
@@ -63,16 +63,38 @@ export interface LlamacppRuntimeOptions {
63
63
  platform?: NodeJS.Platform;
64
64
  baseEnv?: NodeJS.ProcessEnv;
65
65
  fetch?: typeof fetch;
66
+ /**
67
+ * Every stdout/stderr line the backend prints, for the life of the session. A throwing sink is
68
+ * swallowed, with one `warn` through `log` per session.
69
+ */
70
+ backendOutput?: BackendOutputSink;
71
+ /** The core's own logger: the one warning about a throwing `backendOutput` sink goes here. */
72
+ log?: (level: 'debug' | 'info' | 'warn' | 'error', message: string) => void;
66
73
  /** Provider settings for a load; re-read per load so a settings change lands on the next one. */
67
74
  readSettings: () => Promise<RuntimeSettings>;
68
75
  /** Resolve `<version>/<backend>` to an installed executable (the backend service in a full core). */
69
76
  ensureBackendReady?: LoadPlanDeps['ensureBackendReady'] | undefined;
70
77
  resolveLatestBackend?: LoadPlanDeps['resolveLatestBackend'] | undefined;
71
78
  cpuInfo?: LoadPlanDeps['cpuInfo'] | undefined;
79
+ unifiedMemory?: LoadPlanDeps['unifiedMemory'] | undefined;
72
80
  ensureGemmaMtpDraft?: LoadPlanDeps['ensureGemmaMtpDraft'] | undefined;
73
81
  ensureDflashDraft?: LoadPlanDeps['ensureDflashDraft'] | undefined;
74
82
  /** Model that must never be auto-unloaded. */
75
83
  transcriptionModelId?: string;
84
+ /**
85
+ * Core's GPU residency (spec `gpu-residency`): asked once a load knows its backend, before anything
86
+ * is spawned, to free the cards it will take from every other engine. Absent, nothing is asked.
87
+ */
88
+ claimGpu?: GpuClaimHook | undefined;
89
+ /**
90
+ * Refuses a file this engine cannot run (a PrismML-only Bonsai file on stock llama.cpp), by
91
+ * throwing. Asked before the auto-unload, so a refused load never costs the user the chat model.
92
+ */
93
+ checkCompatibility?: ((target: {
94
+ modelId: string;
95
+ modelPath: string;
96
+ sha256?: string;
97
+ }) => Promise<void>) | undefined;
76
98
  /**
77
99
  * Read a model's GGUF metadata. A seam because the model's trained context comes from here, and
78
100
  * it is what decides when the context ladder has nowhere left to climb — untestable otherwise
@@ -88,6 +110,13 @@ export declare class LlamacppRuntime implements LocalRuntime {
88
110
  private readonly options;
89
111
  private readonly sessions;
90
112
  private readonly loading;
113
+ /** Loads past their GPU claim and not yet a session: they hold their cards as `loading`. */
114
+ private readonly claimed;
115
+ /**
116
+ * Sessions being stopped: out of the session table, but their process has not exited yet, so they
117
+ * still hold their cards (`stopping`) and a second unload waits for the same exit.
118
+ */
119
+ private readonly stopping;
91
120
  private loadTail;
92
121
  private readonly shutdownController;
93
122
  private closing;
@@ -100,12 +129,37 @@ export declare class LlamacppRuntime implements LocalRuntime {
100
129
  list(): SessionInfo[];
101
130
  findSession(modelId: string): SessionInfo | undefined;
102
131
  getLoadedModels(): string[];
132
+ /** The GPUs every session holds, and every load past its claim, for core's residency rule. */
133
+ gpuOccupancy(): GpuOccupancy[];
134
+ private footprint;
103
135
  getRuntimeDeviceInfo(modelId: string): RuntimeDeviceInfo | undefined;
104
136
  getMaxCtxTrain(modelId: string): number | undefined;
105
137
  isLoading(modelId: string): boolean;
138
+ /**
139
+ * The pack directories the sessions run from, the ones still stopping included: what an engine
140
+ * removal must leave alone (change `unify-engine-lifecycle`, task 2.4). `<pack>/build/bin/<exe>`,
141
+ * or the legacy flat `<pack>/<exe>`.
142
+ */
143
+ buildDirsInUse(): string[];
144
+ /**
145
+ * Run `fn` in the load queue's turn: it starts once the load in flight is done, and every load asked
146
+ * for meanwhile waits for it. An engine update or removal switches or deletes a build in here, so no
147
+ * load ever starts from a build half-way through either.
148
+ */
149
+ exclusive<T>(fn: () => Promise<T>): Promise<T>;
106
150
  /** Load a model, or join the load already in flight for it. */
107
151
  load(modelId: string, opts?: LoadOptions): Promise<SessionInfo>;
108
152
  private loadOnce;
153
+ /** The spawn, and the two post-failure retries of `performLoad` (drop mmproj, drop MTP), once each. */
154
+ private spawnWithRetries;
155
+ /**
156
+ * A decision model (a laya GGUF, a GGUF stamped with `decision.spec`, or a laya checkpoint folder)
157
+ * runs only in the decision module: as a chat or embedding server it answers nothing useful, or
158
+ * crashes. Refused before the auto-unload, so asking for one never costs the user the chat model.
159
+ * A model whose header cannot be read is left to the load plan, which says why.
160
+ */
161
+ private assertNotDecisionModel;
162
+ private assertCompatible;
109
163
  private enqueueLoad;
110
164
  private planDeps;
111
165
  /** Ports this runtime already handed out, so a second load never lands on the same one. */
@@ -142,6 +196,7 @@ export declare class LlamacppRuntime implements LocalRuntime {
142
196
  */
143
197
  recreateSession(modelId: string): Promise<RecreateResult>;
144
198
  private unloadSession;
199
+ private terminateSession;
145
200
  unloadAll(): Promise<void>;
146
201
  /** `llama-server --list-devices` against an installed backend. */
147
202
  getDevices(exePath: string): Promise<DeviceInfo[]>;
@@ -14,20 +14,20 @@
14
14
  * - a load the user cancels stops wherever it is — queued, planning, spawning or just ready — kills
15
15
  * what it started at once, and never falls into a retry.
16
16
  */
17
- import { dirname } from 'node:path';
17
+ import { dirname, win32 } from 'node:path';
18
18
  import { AtomicCoreError } from '../../contracts/index.js';
19
19
  import { DEFAULT_CTX_LEN, computeNextCtxLen } from './ctx-ladder.js';
20
20
  import { processStartId } from '../../lock/index.js';
21
- import { readGgufMetadataFromFile } from '../../models/index.js';
21
+ import { isDecisionCheckpointDir, isDecisionGguf, readGgufMetadataFromFile } from '../../models/index.js';
22
22
  import { resolveLlama3TemplateOverride, STRICT_SYSTEM_GUARD_SIGNATURE } from '../../speculative/index.js';
23
23
  import { checkDflashSupport } from '../../speculative/dflash-registry.js';
24
24
  import { checkGemmaMtpSupport } from '../../speculative/gemma-mtp-registry.js';
25
- import { buildProcessEnv, discoverCudaPaths, nodeCudaProbeEnv, textMentionsCudaRuntime, randomFreePort, spawnAndAwaitReady, spawnManaged, LLAMA_READY_MARKERS, closeLogStream, openLogStream, isLoadCancelled, raceLoadCancel, throwIfLoadCancelled, } from '../shared/index.js';
25
+ import { buildProcessEnv, discoverCudaPaths, nodeCudaProbeEnv, textMentionsCudaRuntime, randomFreePort, backendOutputReporter, spawnAndAwaitReady, spawnManaged, LLAMA_READY_MARKERS, closeLogStream, openLogStream, isLoadCancelled, raceLoadCancel, redactArgs, throwIfLoadCancelled, hostPid, } from '../shared/index.js';
26
26
  import { planLlamaArgs } from './args.js';
27
27
  import { parseDeviceOutput } from './devices.js';
28
28
  import { classifyProcessOutput } from './errors.js';
29
- import { autoUnloadTargets, nextRetry, planLlamaLoad } from './load-plan.js';
30
- import { classifyBackendMismatch, formatLoadError, isConcreteVersionBackend } from './policy.js';
29
+ import { autoUnloadTargets, llamaGpuFootprint, nextRetry, planLlamaLoad } from './load-plan.js';
30
+ import { classifyBackendMismatch, formatLoadError, isConcreteVersionBackend, packDirOfExe } from './policy.js';
31
31
  import { checkSpecTypeSupport, DFLASH_SPEC_TYPE } from './probe.js';
32
32
  import { RuntimeDeviceAccumulator } from './runtime-device.js';
33
33
  export const DEVICE_PROBE_TIMEOUT_MS = 10_000;
@@ -35,6 +35,13 @@ export class LlamacppRuntime {
35
35
  options;
36
36
  sessions = new Map();
37
37
  loading = new Map();
38
+ /** Loads past their GPU claim and not yet a session: they hold their cards as `loading`. */
39
+ claimed = new Map();
40
+ /**
41
+ * Sessions being stopped: out of the session table, but their process has not exited yet, so they
42
+ * still hold their cards (`stopping`) and a second unload waits for the same exit.
43
+ */
44
+ stopping = new Map();
38
45
  loadTail = Promise.resolve();
39
46
  shutdownController = new AbortController();
40
47
  closing = false;
@@ -60,6 +67,22 @@ export class LlamacppRuntime {
60
67
  getLoadedModels() {
61
68
  return [...this.sessions.keys()];
62
69
  }
70
+ /** The GPUs every session holds, and every load past its claim, for core's residency rule. */
71
+ gpuOccupancy() {
72
+ const ready = [...this.sessions.values()].map((session) => {
73
+ return { model_id: session.plan.modelId, ...this.footprint(session.plan), state: 'ready' };
74
+ });
75
+ const stopping = [...this.stopping.values()].map(({ session }) => ({
76
+ model_id: session.plan.modelId,
77
+ ...this.footprint(session.plan),
78
+ state: 'stopping',
79
+ }));
80
+ const loading = [...this.claimed.values()].filter((claim) => !this.sessions.has(claim.model_id));
81
+ return [...ready, ...stopping, ...loading];
82
+ }
83
+ footprint(plan) {
84
+ return llamaGpuFootprint(plan, this.options.transcriptionModelId);
85
+ }
63
86
  getRuntimeDeviceInfo(modelId) {
64
87
  return this.sessions.get(modelId)?.devices.snapshot();
65
88
  }
@@ -69,6 +92,23 @@ export class LlamacppRuntime {
69
92
  isLoading(modelId) {
70
93
  return this.loading.has(modelId);
71
94
  }
95
+ /**
96
+ * The pack directories the sessions run from, the ones still stopping included: what an engine
97
+ * removal must leave alone (change `unify-engine-lifecycle`, task 2.4). `<pack>/build/bin/<exe>`,
98
+ * or the legacy flat `<pack>/<exe>`.
99
+ */
100
+ buildDirsInUse() {
101
+ const sessions = [...this.sessions.values(), ...[...this.stopping.values()].map(({ session }) => session)];
102
+ return [...new Set(sessions.map((session) => packDirOfExe(session.plan.exePath)))];
103
+ }
104
+ /**
105
+ * Run `fn` in the load queue's turn: it starts once the load in flight is done, and every load asked
106
+ * for meanwhile waits for it. An engine update or removal switches or deletes a build in here, so no
107
+ * load ever starts from a build half-way through either.
108
+ */
109
+ exclusive(fn) {
110
+ return this.enqueueLoad(fn);
111
+ }
72
112
  /** Load a model, or join the load already in flight for it. */
73
113
  async load(modelId, opts = {}) {
74
114
  this.assertRunning();
@@ -87,6 +127,10 @@ export class LlamacppRuntime {
87
127
  throwIfLoadCancelled(opts.signal);
88
128
  const settings = await this.options.readSettings();
89
129
  throwIfLoadCancelled(opts.signal);
130
+ await this.assertNotDecisionModel(modelId, opts);
131
+ throwIfLoadCancelled(opts.signal);
132
+ await this.assertCompatible(modelId, opts);
133
+ throwIfLoadCancelled(opts.signal);
90
134
  const config = { ...settings.config };
91
135
  if (opts.exePath)
92
136
  config.version_backend = opts.versionBackend ?? 'cli/llama-server';
@@ -139,6 +183,34 @@ export class LlamacppRuntime {
139
183
  }, this.planDeps(opts)), opts.signal);
140
184
  if (opts.port !== undefined)
141
185
  plan = { ...plan, port: opts.port };
186
+ // GPU residency: the backend is known now, and nothing is started yet. Every other engine on the
187
+ // cards this build takes is stopped, with its exit confirmed, before the spawn below.
188
+ // It holds its cards as `loading` from the moment core grants the claim, inside core's turn.
189
+ const footprint = this.footprint(plan);
190
+ const occupancy = { model_id: modelId, ...footprint, state: 'loading' };
191
+ const hold = () => {
192
+ this.claimed.set(modelId, occupancy);
193
+ };
194
+ try {
195
+ if (this.options.claimGpu) {
196
+ await this.options.claimGpu({ model_id: modelId, ...footprint }, opts.signal, hold);
197
+ hold();
198
+ this.assertRunning();
199
+ throwIfLoadCancelled(opts.signal);
200
+ }
201
+ else
202
+ hold();
203
+ return await this.spawnWithRetries(plan, opts);
204
+ }
205
+ finally {
206
+ if (this.claimed.get(modelId) === occupancy)
207
+ this.claimed.delete(modelId);
208
+ }
209
+ }
210
+ /** The spawn, and the two post-failure retries of `performLoad` (drop mmproj, drop MTP), once each. */
211
+ async spawnWithRetries(initial, opts) {
212
+ let plan = initial;
213
+ const { modelId } = plan;
142
214
  for (let attempt = 0; attempt < 3; attempt++) {
143
215
  this.assertRunning();
144
216
  throwIfLoadCancelled(opts.signal);
@@ -164,6 +236,38 @@ export class LlamacppRuntime {
164
236
  }
165
237
  throw new AtomicCoreError('MODEL_LOAD_FAILED', `Could not load model "${modelId}" after fallback attempts.`);
166
238
  }
239
+ /**
240
+ * A decision model (a laya GGUF, a GGUF stamped with `decision.spec`, or a laya checkpoint folder)
241
+ * runs only in the decision module: as a chat or embedding server it answers nothing useful, or
242
+ * crashes. Refused before the auto-unload, so asking for one never costs the user the chat model.
243
+ * A model whose header cannot be read is left to the load plan, which says why.
244
+ */
245
+ async assertNotDecisionModel(modelId, opts) {
246
+ const { registry } = this.options;
247
+ const configured = opts.modelPath ?? (await registry.read(modelId).catch(() => undefined))?.model_path;
248
+ if (!configured)
249
+ return;
250
+ const path = registry.resolvePaths({ model_path: configured }).modelPath;
251
+ const read = this.options.readGgufMetadata ?? (async (p) => (await readGgufMetadataFromFile(p)).metadata);
252
+ const decision = (await isDecisionCheckpointDir(path)) || isDecisionGguf(await read(path).catch(() => undefined));
253
+ if (decision)
254
+ throw new AtomicCoreError('DECISION_MODEL_NOT_CHAT', `"${modelId}" is a decision model and cannot be loaded for chat. Decision models run in the decision module (settings: decision.model_path).`, path);
255
+ }
256
+ async assertCompatible(modelId, opts) {
257
+ const { registry, checkCompatibility } = this.options;
258
+ if (!checkCompatibility)
259
+ return;
260
+ const yml = opts.modelPath === undefined ? await registry.read(modelId).catch(() => undefined) : undefined;
261
+ const configured = opts.modelPath ?? yml?.model_path;
262
+ if (!configured)
263
+ return;
264
+ const modelPath = registry.resolvePaths({ model_path: configured }).modelPath;
265
+ await checkCompatibility({
266
+ modelId,
267
+ modelPath,
268
+ ...(yml?.model_sha256 ? { sha256: yml.model_sha256 } : {}),
269
+ });
270
+ }
167
271
  enqueueLoad(operation, signal) {
168
272
  const turn = this.loadTail;
169
273
  const result = raceLoadCancel(turn, signal).then(operation);
@@ -190,6 +294,8 @@ export class LlamacppRuntime {
190
294
  throw new AtomicCoreError('BINARY_NOT_FOUND', 'No llama.cpp backend is available for this data folder.', `${version}/${backend} in ${layout.provider(this.provider).backendsDir}`);
191
295
  },
192
296
  cpuInfo: this.options.cpuInfo ?? (async () => undefined),
297
+ ...(this.options.unifiedMemory ? { unifiedMemory: this.options.unifiedMemory } : {}),
298
+ listDevices: (exePath) => this.getDevices(exePath),
193
299
  exists: async (path) => {
194
300
  const { stat } = await import('node:fs/promises');
195
301
  return stat(path).then(() => true, () => false);
@@ -235,6 +341,8 @@ export class LlamacppRuntime {
235
341
  const apiKey = plan.apiKey;
236
342
  throwIfLoadCancelled(opts.signal);
237
343
  const logStream = opts.logPath ? await openLogStream(opts.logPath) : undefined;
344
+ const reportOutput = backendOutputReporter(this.options.backendOutput, this.options.log);
345
+ this.options.log?.('info', `starting ${win32.basename(plan.exePath)} for ${plan.provider}/${plan.modelId}: ${redactArgs(args.argv).join(' ')}`);
238
346
  let proc;
239
347
  try {
240
348
  ;
@@ -255,6 +363,7 @@ export class LlamacppRuntime {
255
363
  level: 'debug',
256
364
  msg: `[${plan.provider}/${plan.modelId}][${stream}] ${line}`,
257
365
  });
366
+ reportOutput({ provider: plan.provider, model: plan.modelId, stream, line });
258
367
  },
259
368
  classifyExit: (exit, stderr, stdout) => classifyProcessOutput(exit, stderr, stdout, this.platform, plan.provider),
260
369
  timeoutMessage: `Timeout: ${plan.timeoutSecs}s`,
@@ -294,7 +403,7 @@ export class LlamacppRuntime {
294
403
  catch (error) {
295
404
  await proc.terminate(isLoadCancelled(opts.signal) ? 0 : undefined).catch(() => { });
296
405
  if (session.journalled)
297
- await this.options.journal?.remove(session.info.pid).catch(() => { });
406
+ await this.options.journal?.remove(hostPid(session.info)).catch(() => { });
298
407
  await closeLogStream(session.logStream);
299
408
  throw error;
300
409
  }
@@ -308,8 +417,8 @@ export class LlamacppRuntime {
308
417
  return;
309
418
  const record = {
310
419
  instance_id: this.options.instanceId,
311
- pid: session.info.pid,
312
- process_start_id: (await processStartId(session.info.pid)) ?? null,
420
+ pid: hostPid(session.info),
421
+ process_start_id: (await processStartId(hostPid(session.info))) ?? null,
313
422
  exe: session.plan.exePath,
314
423
  provider: session.plan.provider,
315
424
  model_id: session.plan.modelId,
@@ -326,13 +435,13 @@ export class LlamacppRuntime {
326
435
  return; // already replaced or unloaded
327
436
  this.sessions.delete(session.plan.modelId);
328
437
  if (session.journalled)
329
- await this.options.journal?.remove(session.info.pid).catch(() => { });
438
+ await this.options.journal?.remove(hostPid(session.info)).catch(() => { });
330
439
  await closeLogStream(session.logStream);
331
440
  const { stderr, stdout } = session.process.output();
332
441
  const error = classifyProcessOutput(exit, stderr, stdout, this.platform, session.plan.provider);
333
442
  this.emit('session:died', {
334
443
  provider: session.plan.provider,
335
- pid: session.info.pid,
444
+ pid: hostPid(session.info),
336
445
  model_id: session.plan.modelId,
337
446
  exit_code: exit.code,
338
447
  signal: exit.signal === null ? null : String(exit.signal),
@@ -451,20 +560,38 @@ export class LlamacppRuntime {
451
560
  });
452
561
  return { ok: true, session: info };
453
562
  }
454
- async unloadSession(modelId) {
563
+ unloadSession(modelId) {
564
+ // A stop already in flight is joined: its answer comes only once the process has exited.
565
+ const inFlight = this.stopping.get(modelId);
566
+ if (inFlight)
567
+ return inFlight.done;
455
568
  const session = this.sessions.get(modelId);
456
569
  if (!session)
457
- return { success: true };
570
+ return Promise.resolve({ success: true });
458
571
  this.sessions.delete(modelId);
572
+ const done = this.terminateSession(modelId, session);
573
+ const entry = { session, done };
574
+ this.stopping.set(modelId, entry);
575
+ // `.catch`: `done` goes back to the caller, who handles its rejection; this derived promise would
576
+ // otherwise be a second, unhandled one (final review M-8).
577
+ void done
578
+ .finally(() => {
579
+ if (this.stopping.get(modelId) === entry)
580
+ this.stopping.delete(modelId);
581
+ })
582
+ .catch(() => { });
583
+ return done;
584
+ }
585
+ async terminateSession(modelId, session) {
459
586
  try {
460
587
  await session.process.terminate();
461
588
  if (session.journalled)
462
- await this.options.journal?.remove(session.info.pid).catch(() => { });
589
+ await this.options.journal?.remove(hostPid(session.info)).catch(() => { });
463
590
  await closeLogStream(session.logStream);
464
591
  this.emit('session:unloaded', {
465
592
  provider: session.plan.provider,
466
593
  model_id: modelId,
467
- pid: session.info.pid,
594
+ pid: hostPid(session.info),
468
595
  });
469
596
  return { success: true };
470
597
  }
@@ -472,7 +599,7 @@ export class LlamacppRuntime {
472
599
  if (session.process.child.exitCode === null && session.process.child.signalCode === null)
473
600
  this.sessions.set(modelId, session);
474
601
  else if (session.journalled)
475
- await this.options.journal?.remove(session.info.pid).catch(() => { });
602
+ await this.options.journal?.remove(hostPid(session.info)).catch(() => { });
476
603
  return { success: false, error: e.message };
477
604
  }
478
605
  }