@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,251 @@
1
+ /**
2
+ * The structured reasons `assessLinux` (`linux-plan.ts`) refuses a host — split out of that file
3
+ * once it grew past the ~500-line guidance for this module (task 2.4 fix round 2). Everything here
4
+ * is pure: a reason code, the message a person reads, and the machine-checkable specifics. A few
5
+ * small, self-contained decision helpers moved in alongside them in round 3, for the same reason
6
+ * (`linux-plan.ts` growing past the guidance again): `effectiveGpuRuntime` and the two exact-command
7
+ * builders (`archCommands`, `groupOnlyCommands`) that blockers built here actually use. Round 4 moved
8
+ * the install-gate blockers here too (`gateBlocker`), and added the relogin path's per-component
9
+ * blockers (`missingComponentBlockers`).
10
+ */
11
+ export function blocker(reason, message, params, commands) {
12
+ return {
13
+ reason,
14
+ message,
15
+ ...(params === undefined ? {} : { params }),
16
+ ...(commands === undefined ? {} : { commands }),
17
+ };
18
+ }
19
+ /**
20
+ * A Docker install this integration will never adopt or install over, regardless of whether it
21
+ * happens to expose a GPU runtime — there is no safe way to lay `docker-ce` next to or over it.
22
+ */
23
+ export function installMethodBlocker(method) {
24
+ switch (method) {
25
+ case 'snap':
26
+ return blocker('docker-snap', 'Docker was installed from the snap store, which does not support the NVIDIA Container ' +
27
+ 'Toolkit. Switch to the docker-ce package instead; nothing here removes the snap install.');
28
+ case 'rootless':
29
+ return blocker('docker-rootless', 'Rootless Docker is not supported for this runtime. Switch to a standard (rootful) docker-ce ' +
30
+ 'installation; nothing here removes the rootless install.');
31
+ case 'docker-desktop':
32
+ return blocker('docker-desktop-only', 'Docker Desktop without a separate system Docker Engine cannot be configured for this runtime. ' +
33
+ 'Install docker-ce as the system engine; nothing here changes the Docker Desktop install.');
34
+ case 'podman-docker':
35
+ return blocker('podman-docker', "The docker command here is Podman's compatibility shim, not Docker Engine; Podman is not " +
36
+ 'supported by this runtime. podman-docker conflicts with docker-ce at the package level, so ' +
37
+ 'it must be removed first; install Docker Engine (docker-ce) afterward. Nothing here removes ' +
38
+ 'Podman itself or installs docker-ce over it automatically.');
39
+ default:
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * Whether the GPU reaches a container: a listed NVIDIA CDI device (task 2.23, F-5), from `docker
45
+ * info`'s side when the daemon answered, from `nvidia-ctk cdi list` alone when it did not (item 3).
46
+ */
47
+ export function effectiveGpuRuntime(facts) {
48
+ return facts.docker.daemon_reachable ? facts.docker.gpu_runtime : facts.docker.gpu_runtime_from_config;
49
+ }
50
+ /**
51
+ * The commands a host missing only its `docker` group membership needs — everything else is
52
+ * already ready. An rpm-ostree host (Silverblue/Kinoite/Bazzite) needs one step first: package
53
+ * layering puts the `docker` group's line in `/usr/lib/group` (the vendor/OS-tree database), but
54
+ * `/etc/group` — what `usermod`/`getent` actually consult — does not inherit it automatically, so
55
+ * `usermod -aG docker` alone would fail with "group 'docker' does not exist" (round 3, ruling 6).
56
+ * Never called for root (D4): root needs no group membership, and the caller never reaches here for it.
57
+ */
58
+ export function groupOnlyCommands(immutableOs, user) {
59
+ const usermod = `sudo usermod -aG docker ${user}`;
60
+ if (!immutableOs)
61
+ return [usermod];
62
+ // Idempotent (round 4, item F): run twice, it must not append a second `docker:` line.
63
+ return [
64
+ `grep -q '^docker:' /etc/group || grep -E '^docker:' /usr/lib/group | sudo tee -a /etc/group`,
65
+ usermod,
66
+ ];
67
+ }
68
+ /** The CDI spec the recipe generates, as a person runs it (task 2.23, F-5; ruling R-core-8). */
69
+ const GENERATE_CDI_COMMAND = 'sudo nvidia-ctk cdi generate --output=/var/run/cdi/nvidia.yaml';
70
+ /**
71
+ * Arch never supports a partial `pacman -S` of just these two packages (design D2): installing a
72
+ * package without syncing the whole system can leave it inconsistent, so the commands run a full
73
+ * `-Syu` instead — which may itself bring in a newer kernel and NVIDIA driver, hence the reboot
74
+ * note. The CDI spec is generated too (task 2.23, F-5: Docker 28.2+ passes `--gpus` through it).
75
+ * `nvidia-ctk runtime configure` changes `/etc/docker/daemon.json`, so Docker is explicitly
76
+ * restarted afterward rather than relying on `enable --now` to notice the new config on its own
77
+ * (item 12). The `usermod` line uses the actual probed account, never the literal `$USER`, and is
78
+ * omitted entirely for root, which needs no group membership at all (round 3, ruling 8), and for an
79
+ * account that is already a member (round 5, item 1: `groupNeeded` false).
80
+ */
81
+ export function archCommands(user, groupNeeded = user !== 'root') {
82
+ const commands = [
83
+ 'sudo pacman -Syu --needed docker nvidia-container-toolkit',
84
+ 'sudo nvidia-ctk runtime configure --runtime=docker',
85
+ GENERATE_CDI_COMMAND,
86
+ 'sudo systemctl restart docker',
87
+ 'sudo systemctl enable --now docker',
88
+ ];
89
+ if (groupNeeded && user !== 'root')
90
+ commands.push(`sudo usermod -aG docker ${user}`);
91
+ return commands;
92
+ }
93
+ /** Group membership confirmed, but this login session predates it (round 3, ruling 4). */
94
+ export function reloginRequiredBlocker() {
95
+ return blocker('relogin-required', 'This account is already a member of the docker group, but this login session started before that ' +
96
+ 'took effect. Log out and back in (or restart this session) to pick it up.', undefined, []);
97
+ }
98
+ /**
99
+ * Whether the gate's own blocker applies to this host — one decision, read by the relogin path and the
100
+ * full-install path alike (round 5, item 2). Never on a recipe distribution. On an immutable base only
101
+ * when a package (Docker or the toolkit) is missing, since layering packages is what the gate is about
102
+ * (spec: "система неизменяемая … и Docker или toolkit нет"); a missing runtime configuration or a
103
+ * stopped service is an ordinary step there, reported per component. Every other gate always applies.
104
+ */
105
+ export function gateBlockerApplies(gate, facts) {
106
+ if (gate === 'recipe')
107
+ return false;
108
+ if (gate === 'immutable')
109
+ return !facts.docker.cli || !facts.toolkit_installed;
110
+ return true;
111
+ }
112
+ /** `immutable-os`, naming exactly the packages that are missing — never docker-ce over an engine (round 5, item 2). */
113
+ function immutableOsBlocker(facts) {
114
+ const missing = [];
115
+ if (!facts.docker.cli)
116
+ missing.push(['docker', 'Docker Engine']);
117
+ if (!facts.toolkit_installed)
118
+ missing.push(['nvidia-container-toolkit', 'the NVIDIA Container Toolkit']);
119
+ const base = 'This system uses an immutable base (rpm-ostree — Silverblue, Kinoite, Bazzite, or similar)';
120
+ if (missing.length === 0) {
121
+ return blocker('immutable-os', `${base}. Automatic setup is not offered here; finish the remaining Docker setup by hand, then try again.`);
122
+ }
123
+ const names = missing.map(([, label]) => label).join(' and ');
124
+ const plural = missing.length > 1;
125
+ return blocker('immutable-os', `${base}, and ${names} ${plural ? 'are' : 'is'} not installed. Installing a package here means ` +
126
+ 'layering it and rebooting, which this integration does not do automatically. ' +
127
+ `Layer ${plural ? 'them' : 'it'} yourself, then try again.`, { missing: missing.map(([key]) => key).join(',') });
128
+ }
129
+ /**
130
+ * The exact commands for joining the `docker` group, for a host where automatic setup is not offered.
131
+ * `everythingElseReady` picks the wording: the only step left, or one step among others (round 5).
132
+ */
133
+ export function dockerGroupManualBlocker(immutableOs, user, everythingElseReady) {
134
+ const commands = groupOnlyCommands(immutableOs, user);
135
+ const run = `run ${commands.map((c) => `\`${c}\``).join(', then ')}, then log out and back in.`;
136
+ return blocker('docker-group-manual', everythingElseReady
137
+ ? 'Everything else is ready — Docker, the toolkit and the NVIDIA runtime are all configured. ' +
138
+ "This account just needs to join the docker group, which is not something this distribution's " +
139
+ `automatic install can add for you: ${run}`
140
+ : `This account also needs to join the docker group: ${run}`, { user }, commands);
141
+ }
142
+ /** Why automatic setup is not offered, for every gate but `'recipe'`. */
143
+ export function gateBlocker(gate, facts, distribution, user) {
144
+ switch (gate) {
145
+ case 'immutable':
146
+ return immutableOsBlocker(facts);
147
+ case 'pacman': {
148
+ // An account already in the group (or root) gets no usermod and no "new membership" note.
149
+ const groupNeeded = user !== 'root' && facts.docker_group.configured !== true;
150
+ return blocker('arch-manual-install', "Arch and its derivatives don't support a partial package install: adding just these two " +
151
+ 'packages without a full system sync can leave the system inconsistent, so the commands ' +
152
+ 'below run a full `pacman -Syu` instead — which may itself update your kernel and NVIDIA ' +
153
+ 'driver. Reboot afterward if it does' +
154
+ (groupNeeded
155
+ ? ', then log out and back in so the new docker group membership takes effect.'
156
+ : '.') +
157
+ ' Automatic install is not offered here.', { family: 'pacman' }, archCommands(user, groupNeeded));
158
+ }
159
+ case 'unrecognised':
160
+ // Never lay docker-ce over an unknown quantity (round 1, item 15).
161
+ return blocker('docker-unrecognised', "This machine's docker command does not match any Docker install this integration " +
162
+ 'recognises (not docker-ce, docker.io, moby-engine, snap, rootless, Docker Desktop, or the ' +
163
+ 'podman-docker shim). Nothing will be installed over it automatically.');
164
+ case 'manifest-unavailable':
165
+ return environmentManifestUnavailableBlocker();
166
+ case 'unqualified':
167
+ return blocker('distribution-not-in-recipe', 'Setting the runtime up automatically is only qualified on some distributions so far.', { id: distribution.id, version_id: distribution.version_id, arch: facts.architecture ?? 'unknown' });
168
+ }
169
+ }
170
+ /**
171
+ * No environment manifest: which distributions the install recipe is qualified for is unknown, so no
172
+ * automatic setup is offered — not because this distribution is unsupported, but because the list
173
+ * could not be had (no network and nothing cached, or none this core accepts). Retrying with a
174
+ * network is the fix; a ready host never sees this (it is adopted before any gate).
175
+ */
176
+ export function environmentManifestUnavailableBlocker() {
177
+ return blocker('environment-manifest-unavailable', 'The list of systems where setup can install Docker and the NVIDIA Container Toolkit could not be ' +
178
+ 'loaded, and none was saved before. Check the internet connection and try again.');
179
+ }
180
+ /** Refuses to write next to a daemon.json this probe could not read or parse (round 2, item 6). */
181
+ /**
182
+ * The recipe installs and starts Docker through systemd (`systemctl enable --now docker`, a restart
183
+ * after `nvidia-ctk runtime configure`), so on a host that does not run it — a container whose PID 1
184
+ * is a shell, as the vast.ai GB10 instance was — every such plan would fail only at the privileged
185
+ * step, after the user consented. Whether systemd runs could not be read is the unread fact
186
+ * `init-system` instead (`unknown-fact`), never this.
187
+ */
188
+ export function initNotSystemdBlocker() {
189
+ return blocker('init-not-systemd', 'This system does not run systemd, which the Docker install needs.');
190
+ }
191
+ export function daemonJsonUnreadableBlocker() {
192
+ return blocker('daemon-json-unreadable', '/etc/docker/daemon.json exists but could not be read or parsed, so this integration cannot tell ' +
193
+ "whether the NVIDIA runtime is already configured there. Fix the file's permissions or contents " +
194
+ 'by hand, then try again — nothing here will overwrite a file it cannot read back.');
195
+ }
196
+ const CONFIGURE_RUNTIME_COMMANDS = [
197
+ 'sudo nvidia-ctk runtime configure --runtime=docker',
198
+ GENERATE_CDI_COMMAND,
199
+ 'sudo systemctl restart docker',
200
+ ];
201
+ const ENABLE_SERVICE_COMMANDS = ['sudo systemctl enable --now docker'];
202
+ /**
203
+ * One blocker per component offline evidence shows missing, for a host that also has to relogin
204
+ * (round 4, item 1 — the refined ruling 4): the Docker CLI, the NVIDIA Container Toolkit, the GPU
205
+ * runtime in Docker (or `daemon-json-unreadable` when that cannot be told), and `docker.service`
206
+ * when `systemctl` says it is not active. An `'unknown'` service state is not evidence of anything and
207
+ * is not reported. Empty when the relogin alone is the fix.
208
+ *
209
+ * What each one tells the person depends on the gate: on a recipe distribution setup will do it after
210
+ * the relogin, so there is nothing to run by hand; on Arch each carries its exact commands (a full
211
+ * `pacman -Syu` for packages, design D2); anywhere else the package steps have no command this
212
+ * integration can vouch for (the caller adds the gate's own blocker), while the runtime and service
213
+ * steps are the same `nvidia-ctk`/`systemctl` commands on every distribution.
214
+ */
215
+ export function missingComponentBlockers(facts, gate) {
216
+ const recipe = gate === 'recipe';
217
+ const later = (what) => ` After you log back in, setup will offer to ${what}.`;
218
+ const packageStep = (reason, subject, pacmanPackage) => blocker(reason, `${subject} is not installed.` +
219
+ (recipe
220
+ ? later('install it')
221
+ : gate === 'pacman'
222
+ ? ' Install it with a full system sync (Arch does not support partial upgrades); reboot ' +
223
+ 'afterward if the kernel or NVIDIA driver was updated.'
224
+ : gate === 'manifest-unavailable'
225
+ ? ' Whether setup can install it for you is not known until the list of supported ' +
226
+ 'systems loads; try again with a working internet connection.'
227
+ : ' Automatic install is not offered on this system; install it yourself.'), undefined, gate === 'pacman' ? [`sudo pacman -Syu --needed ${pacmanPackage}`] : []);
228
+ const blockers = [];
229
+ if (!facts.docker.cli)
230
+ blockers.push(packageStep('docker-cli-missing', 'Docker Engine', 'docker'));
231
+ if (!facts.toolkit_installed) {
232
+ blockers.push(packageStep('toolkit-missing', 'The NVIDIA Container Toolkit', 'nvidia-container-toolkit'));
233
+ }
234
+ if (!effectiveGpuRuntime(facts)) {
235
+ // A registered `nvidia` runtime without a CDI spec needs only the spec, and no restart (F-5).
236
+ const specOnly = facts.docker.nvidia_runtime;
237
+ blockers.push(facts.docker.daemon_json_unreadable && !specOnly
238
+ ? daemonJsonUnreadableBlocker()
239
+ : blocker('gpu-runtime-not-configured', (specOnly
240
+ ? 'Docker has no NVIDIA CDI specification, so it cannot pass the GPU into a container.'
241
+ : 'Docker is not configured with the NVIDIA runtime and has no NVIDIA CDI specification. ' +
242
+ 'Configuring it restarts Docker, which stops any running containers.') +
243
+ (recipe ? later('configure it') : ' Configure it yourself with the commands below.'), undefined, recipe ? [] : specOnly ? [GENERATE_CDI_COMMAND] : CONFIGURE_RUNTIME_COMMANDS));
244
+ }
245
+ if (facts.docker.service_active === false) {
246
+ blockers.push(blocker('docker-service-inactive', 'docker.service is not running.' +
247
+ (recipe ? later('enable and start it') : ' Enable and start it with the command below.'), undefined, recipe ? [] : ENABLE_SERVICE_COMMANDS));
248
+ }
249
+ return blockers;
250
+ }
251
+ //# sourceMappingURL=linux-blockers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linux-blockers.js","sourceRoot":"","sources":["../../../src/runtime/environment/linux-blockers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * What `docker info` and the distribution's package database say about this machine's Docker
3
+ * install, read without running or changing anything.
4
+ *
5
+ * `docker info` alone cannot say *how* Docker got here: a `docker-ce` package and a `moby-engine`
6
+ * package expose the same daemon shape over the same socket. That distinction matters because the
7
+ * install plan must never lay `docker-ce` over a `moby-engine` or `docker.io` install (design D2:
8
+ * they conflict at the package-manager level) and must never touch a snap, rootless, Docker
9
+ * Desktop or Podman-shim install at all. So install-method detection also reads the package
10
+ * database (`dpkg-query`/`rpm -q`, both read-only queries) and `docker --version`'s own banner,
11
+ * which is all `podman-docker`'s `docker` shim actually prints differently.
12
+ *
13
+ * `docker info`'s own exit code cannot be trusted either: the CLI shipped in docker-ce/docker.io/
14
+ * moby-engine through roughly 28.2 (which is what Debian, Ubuntu and Fedora's recipe-qualified
15
+ * releases carry) still exits `0` and prints a fully-formed JSON document when the daemon call
16
+ * itself failed — `ServerErrors` holds the real error and every other field is the Go zero value
17
+ * (`""`/`0`/`null`). 28.3 and later exit non-zero instead. `parseDockerInfo` treats the former the
18
+ * same as the latter (task 2.4 fix round 2, item 1) — the alternative, trusting `code === 0`, was
19
+ * reading a `docker.io`/`moby-engine` host that plainly refused a connection as reachable, which
20
+ * broke both relogin detection and runtime-config planning downstream.
21
+ *
22
+ * The installed *engine version* (round 3, ruling 5) is a separate signal from any of the above: it
23
+ * comes from the package database alone (`dpkg-query`'s `${Version}` field, `rpm -q`'s own
24
+ * name-version-release string, or `pacman -Q docker`), so it is available even when the daemon
25
+ * cannot be reached at all. Since task 2.23 it is diagnostic only: whether the GPU reaches a
26
+ * container no longer depends on Docker's CDI-on-by-default version (see `cdiListsNvidiaGpu`).
27
+ *
28
+ * The GPU runtime counts as ready only when `nvidia-ctk cdi list` names an `nvidia.com/gpu` device
29
+ * (task 2.23, finding F-5, ruling R-core-8). Docker 28.2+ serves `--gpus` through CDI, so without a
30
+ * spec the card never reaches the container — even with a runtime named `nvidia` registered, which
31
+ * is what this probe used to accept (the 3.10 host: `nvidia-container-toolkit-base` only, `--gpus`
32
+ * failed with "unresolvable CDI devices"). An older Docker without CDI serves `--gpus` through the
33
+ * full toolkit's `nvidia-container-runtime-hook` instead; the recipe installs the full toolkit and
34
+ * generates the spec, so a host it set up passes on either path. A runtime named `nvidia` is still
35
+ * read (`nvidia_runtime`), but only to decide whether `nvidia-ctk runtime configure` is needed.
36
+ */
37
+ import type { CommandOutput } from './linux-probe.js';
38
+ import type { LinuxDockerInstallMethod } from '../../contracts/index.js';
39
+ /**
40
+ * Parsed `docker info --format '{{json .}}'`, plus the signals `docker info` alone cannot settle
41
+ * (`rootless`, `desktop`) that feed into {@link detectDockerInstallMethod}.
42
+ */
43
+ export interface DockerInfoFacts {
44
+ daemon_reachable: boolean;
45
+ engine_identity: string | null;
46
+ version: string | null;
47
+ /** `nvidia-ctk cdi list` names an `nvidia.com/gpu` device: `--gpus` can reach the card (F-5). */
48
+ gpu_runtime: boolean;
49
+ /** The daemon that answered loaded a runtime named `nvidia` (`Runtimes`). Not readiness on its own. */
50
+ nvidia_runtime: boolean;
51
+ /**
52
+ * `SecurityOptions` names `selinux`. Docker is enforcing for containers, so a mount of our own
53
+ * directories (model, engine cache, entrypoint, heartbeat) needs the shared `:z` label — never
54
+ * `:Z`, which would take exclusive ownership and break the next container of the same model
55
+ * (design D15).
56
+ */
57
+ selinux: boolean;
58
+ docker_root_dir: string | null;
59
+ containers_running: number;
60
+ /** `SecurityOptions` names `rootless` on the daemon that actually answered this query. */
61
+ rootless: boolean;
62
+ /** `Name`/`OperatingSystem` names Docker Desktop. */
63
+ desktop: boolean;
64
+ /**
65
+ * `ServerErrors`: partial failures (a plugin, a storage-driver problem) the daemon reports even
66
+ * though `info` itself returned successfully. Surfaced for diagnostics; a populated payload next
67
+ * to a real `ServerVersion` is still read as reachable — only an *empty* payload (round 2, item 1)
68
+ * is read as a failed call.
69
+ */
70
+ server_errors: string[];
71
+ }
72
+ /**
73
+ * `nvidia-ctk cdi list`: read-only, and the only way this probe confirms an NVIDIA CDI device actually
74
+ * exists — the one readiness signal for the GPU runtime (F-5). It reads the spec directories
75
+ * (`/etc/cdi`, `/var/run/cdi`) itself, so it answers whether or not the daemon does.
76
+ */
77
+ export declare function cdiListsNvidiaGpu(cdiList: CommandOutput | null): boolean;
78
+ /**
79
+ * Whether `/etc/docker/daemon.json`'s own `runtimes` map names `nvidia` — read-only evidence the
80
+ * GPU runtime is configured that does not require the daemon to answer at all, used when the system
81
+ * socket could not be reached (item 3: never plan a runtime reconfigure without real evidence).
82
+ *
83
+ * Three-way rather than boolean (round 2, item 6): a file that does not exist yet is a real fact
84
+ * ("not configured"), but one that exists and fails to parse is not — planning `nvidia-ctk runtime
85
+ * configure` against a daemon.json this probe cannot even read risks corrupting it further, so that
86
+ * case is surfaced separately as `'unreadable'` and `assessLinux` blocks instead of guessing.
87
+ *
88
+ * `read` distinguishes the file genuinely not existing (`{ text: null, unreadable: false }`, e.g.
89
+ * `readFile` resolving `null` for `ENOENT`) from a real read failure such as `EACCES` on a `0600`
90
+ * file (`{ text: null, unreadable: true }`, e.g. `readFile` rejecting) — round 3, item 2: a caller
91
+ * that collapsed both into `null` would read "permission denied" as "nothing configured yet" and
92
+ * plan a runtime reconfigure against a file it was never able to look at in the first place.
93
+ */
94
+ export type DaemonJsonEvidence = 'configured' | 'not-configured' | 'unreadable';
95
+ export declare function daemonJsonNvidiaRuntimeEvidence(read: {
96
+ text: string | null;
97
+ unreadable: boolean;
98
+ }): DaemonJsonEvidence;
99
+ /** `dpkg-query -W -f '${db:Status-Abbrev} ${Package} ${Version}\n' <candidates>`'s third column, for
100
+ * whichever recognised engine package is `ii` (installed). */
101
+ export declare function dpkgEngineVersion(output: CommandOutput | null): string | null;
102
+ /** `rpm -q <candidates>`'s name-version-release line for whichever recognised engine package hit. */
103
+ export declare function rpmEngineVersion(output: CommandOutput | null): string | null;
104
+ /**
105
+ * `pacman -Q docker docker-desktop`: a `name version` line on stdout per installed name (`docker
106
+ * 1:28.3.3-1`, with Arch's epoch), an `error: package '...' was not found` line on stderr per
107
+ * missing one, and exit `1` whenever any name is missing — so the exit code says nothing about
108
+ * whether `docker` itself is installed; only stdout does (round 4, item E).
109
+ */
110
+ export declare function pacmanEngineVersion(output: CommandOutput | null): string | null;
111
+ /** The first engine version any of the three package managers can confirm, or null (round 3, ruling 5). */
112
+ export declare function detectEngineVersion(dpkgQuery: CommandOutput | null, rpmQuery: CommandOutput | null, pacmanQuery: CommandOutput | null): string | null;
113
+ /**
114
+ * `docker -H unix:///var/run/docker.sock info --format '{{json .}}'`. The `-H` flag pins the
115
+ * query to the system socket under the current user and overrides both `DOCKER_HOST` and an
116
+ * active `DOCKER_CONTEXT`, so this reads the same daemon a `docker` group member would reach —
117
+ * never a user's own rootless daemon or a context pointed elsewhere (spec: "Доступ к Docker MUST
118
+ * определяться фактическим вызовом daemon по системному сокету... а не пользовательским Docker
119
+ * context").
120
+ *
121
+ * `cdiList` is {@link cdiListsNvidiaGpu}'s source command.
122
+ */
123
+ export declare function parseDockerInfo(output: CommandOutput | null, cdiList: CommandOutput | null): DockerInfoFacts;
124
+ /**
125
+ * `dpkg-query -W -f '${db:Status-Abbrev} ${Package} ${Version}\n' <candidates>`: one line per
126
+ * package dpkg has ever heard of, prefixed with its status (`ii` installed, `rc` removed with
127
+ * config left behind, `un` unknown/never installed, ...). Only `ii` counts as actually installed —
128
+ * `-W` alone (without the status prefix) would also print a `rc` package's name, which is exactly a
129
+ * package that `apt remove` (not `purge`) took out, and treating that as present would leave a
130
+ * stale install undetected. A package dpkg has never heard of at all prints nothing to stdout (and
131
+ * "no packages found matching ..." to stderr instead), which this simply never matches. The
132
+ * trailing `${Version}` column (round 3, ruling 5) is read by {@link dpkgEngineVersion}; this
133
+ * function only ever reads the first two.
134
+ */
135
+ export declare function installedDpkgPackages(output: CommandOutput | null, candidates: string[]): string[];
136
+ /**
137
+ * `rpm -q <candidates>`: a hit prints the full name-version-release (`docker-ce-3:28.3.0-1.fc41...`)
138
+ * on its own line; a miss prints `package <name> is not installed` (to stdout, with a non-zero exit
139
+ * code this parser does not need to check), which this only has to avoid matching.
140
+ */
141
+ export declare function installedRpmPackages(output: CommandOutput | null, candidates: string[]): string[];
142
+ /**
143
+ * `pacman -Q <candidates>`: one `name version` line on stdout per installed name; a missing name
144
+ * only adds an error line on stderr (and makes the exit code 1, whatever else was found).
145
+ */
146
+ export declare function installedPacmanPackages(output: CommandOutput | null, candidates: string[]): string[];
147
+ /** The package the recipe installs, and the only one that counts as the toolkit (F-5). */
148
+ export declare const TOOLKIT_PACKAGE = "nvidia-container-toolkit";
149
+ /**
150
+ * Whether the full NVIDIA Container Toolkit is installed — the `nvidia-container-toolkit` package,
151
+ * not `nvidia-container-toolkit-base` alone (F-5). `-base` ships `nvidia-ctk` and
152
+ * `nvidia-container-runtime`, so `nvidia-ctk --version` answers either way; the package database is
153
+ * what tells them apart. `query` is the family's own single-package query (`dpkg-query -W -f
154
+ * '${db:Status-Abbrev} ${Package}\n' nvidia-container-toolkit`, `rpm -q nvidia-container-toolkit` or
155
+ * `pacman -Q nvidia-container-toolkit`), or null on a family without one, where the CLI answering is
156
+ * all there is to go by.
157
+ */
158
+ export declare function fullToolkitInstalled(family: 'apt' | 'dnf' | 'pacman' | 'other' | null, ctkVersion: CommandOutput, query: CommandOutput | null): boolean;
159
+ /** Arch's own engine package, and Docker Desktop's package on Arch (round 4, item E). */
160
+ export declare const PACMAN_PACKAGE_CANDIDATES: string[];
161
+ /** The read-only lookups {@link detectDockerInstallMethod} needs beyond `docker info` itself. */
162
+ export interface DockerPackageSignals {
163
+ /** `docker --version`: podman-docker's shim prints Podman's own banner here, not Docker's. */
164
+ dockerVersion: CommandOutput | null;
165
+ dpkgQuery: CommandOutput | null;
166
+ rpmQuery: CommandOutput | null;
167
+ /** `pacman -Q docker docker-desktop` (round 4, item E). */
168
+ pacmanQuery: CommandOutput | null;
169
+ /** `snap list docker`. */
170
+ snapList: CommandOutput | null;
171
+ }
172
+ /** `docker-desktop` is Docker Desktop for Linux's own `.deb`/`.rpm` package name (item 5). */
173
+ export declare const DOCKER_PACKAGE_CANDIDATES: string[];
174
+ /**
175
+ * How Docker got onto this machine, or null when none of the signals recognise an install.
176
+ *
177
+ * Order matters: a `podman-docker` shim or a snap package is decided before anything from `docker
178
+ * info` (their `docker` command may not even resolve to a real Engine, so `info`'s own answer is
179
+ * not trusted over the package database for these).
180
+ *
181
+ * Desktop is decided next, but only two ways (round 2, item 4 — the previous order blocked a
182
+ * working Desktop+Engine host that also happened to have the `docker-desktop` package installed
183
+ * alongside a real, reachable `docker-ce`): `info.desktop` when the daemon that actually answered
184
+ * says so directly, or the `docker-desktop` package **only when the system socket did not answer at
185
+ * all and no recognised engine package is also present** — a reachable `docker-ce`/`moby-engine`/
186
+ * `docker.io` always wins over a Desktop package that merely happens to be installed alongside it.
187
+ *
188
+ * `rootlessSocketPresent` (a leftover `$XDG_RUNTIME_DIR/docker.sock`) only counts when the system
189
+ * socket itself did not answer *and* `docker.service` is not active either (round 2, item 8) — a
190
+ * working rootful engine, or one that is simply unreachable for some other reason while the service
191
+ * is confirmed running, takes priority over a stray rootless socket file from an earlier, abandoned
192
+ * setup.
193
+ *
194
+ * Arch's own `docker` package never becomes an install method here (it is not a
195
+ * `LinuxDockerInstallMethod`; `assessLinux` recognises it through `distribution.family === 'pacman'
196
+ * && docker.cli` instead, round 3 item 1). It does count as an installed engine for the Desktop rule
197
+ * above, and `pacman -Q docker-desktop` counts as the Desktop package, so a Desktop-only Arch host is
198
+ * read as Docker Desktop, not as an unrecognised install (round 4, item E).
199
+ */
200
+ export declare function detectDockerInstallMethod(info: DockerInfoFacts, packages: DockerPackageSignals, rootlessSocketPresent: boolean, serviceActive: boolean | 'unknown'): LinuxDockerInstallMethod | null;