@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 @@
1
+ {"version":3,"file":"linux-plan.js","sourceRoot":"","sources":["../../../src/runtime/environment/linux-plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,245 @@
1
+ /**
2
+ * What a Linux machine can already do, read without changing any of it.
3
+ *
4
+ * The answer this produces decides whether Atomic Chat asks for a password at all. A machine that
5
+ * already runs containers on its GPU — which describes most people who would want this engine — is
6
+ * adopted exactly as it is: no packages, no daemon restart, no prompt. Everything else is a list of
7
+ * what would have to be added, shown before the system asks for authorization. Turning these facts
8
+ * into that verdict is `assessLinux` in `./linux-plan.js`; this file only reads the machine.
9
+ *
10
+ * Nothing here runs a container or writes a file. The one check that would — starting a container
11
+ * with a GPU attached — pulls an image, so it belongs to provisioning and is reported as `not-run`
12
+ * until somebody has run it.
13
+ *
14
+ * A fact that could not be read is not a fact. Every probe that fails lands in `unknown`, and an
15
+ * unknown prerequisite blocks the setup instead of being assumed present: guessing wrong here means
16
+ * asking for a password to install something that is already there, or claiming a machine is ready
17
+ * and failing halfway through a sixteen-gigabyte download.
18
+ */
19
+ import type { GpuFacts, LinuxDockerInstallMethod, LinuxPackageFamily } from '../../contracts/index.js';
20
+ import { type LinuxRoute } from './linux-docker-network.js';
21
+ export interface CommandOutput {
22
+ /** Null when the binary is not on the machine at all. */
23
+ code: number | null;
24
+ stdout: string;
25
+ stderr: string;
26
+ }
27
+ export interface LinuxProbeDeps {
28
+ /**
29
+ * `env`, when given, is an *overlay* on the environment this call would otherwise inherit — never
30
+ * a full replacement. Every other inherited variable (`PATH`, locale, ...) stays; a key mapped to
31
+ * a string sets it, a key mapped to `undefined` strips it. Used to keep a stray `DOCKER_HOST`/
32
+ * `DOCKER_CONTEXT`/`DOCKER_TLS_VERIFY`/`DOCKER_CERT_PATH` from steering the forced system-socket
33
+ * `docker info` call anywhere else, without discarding the rest of the environment the command
34
+ * would normally need (round 2, item 10 — the earlier wording here said "replaces", which is not
35
+ * what a caller should implement: `hostExec` in `host-exec.ts` merges this onto `process.env`, or
36
+ * onto its own configured base environment, rather than substituting it wholesale).
37
+ */
38
+ exec: (command: string, args: string[], env?: Record<string, string | undefined>) => Promise<CommandOutput>;
39
+ /**
40
+ * The file's text. Contract (round 4, item D): resolve `null` **only** when the file does not
41
+ * exist (`ENOENT`); **reject** on every other failure (`EACCES`, `EISDIR`, `EIO`, ...). This probe
42
+ * relies on the difference for `/etc/docker/daemon.json`: `null` reads as "nothing configured
43
+ * yet", a rejection as "exists but unreadable", which blocks rather than planning a runtime change
44
+ * over a file nobody could read. An implementation that maps every error to `null` silently turns
45
+ * a locked-down file into "not configured". This module ships no default implementation; the
46
+ * caller that wires `probeLinux` to the real filesystem owns this contract.
47
+ */
48
+ readFile: (path: string) => Promise<string | null>;
49
+ /**
50
+ * For a socket, a directory, or a flag file such as `/run/ostree-booted`; never its contents.
51
+ * Resolves `false` only when the path is not there (`ENOENT`/`ENOTDIR`) and rejects on every other
52
+ * failure (`EACCES`, `EIO`, ...), the same contract as `readFile`: a check that could not run is an
53
+ * unread fact, not an absent path.
54
+ */
55
+ pathExists: (path: string) => Promise<boolean>;
56
+ /**
57
+ * Free space at one path, computed however the caller likes (`statfs`, a platform API, ...).
58
+ * Always called with a path this probe has already confirmed exists (`freeDiskBytes` itself does
59
+ * not need to walk up to find one) — see `nearestExistingAncestor` in `probeLinux`.
60
+ */
61
+ freeDiskBytes: (path: string) => Promise<number | null>;
62
+ }
63
+ export interface LinuxProbeOptions {
64
+ /** The account core is running as. Used only to label a plan step, never to gate access (D2). */
65
+ user: string;
66
+ /** `$XDG_RUNTIME_DIR`, supplied by the caller — never read from `process.env` here. Null when unset. */
67
+ xdgRuntimeDir: string | null;
68
+ }
69
+ export interface LinuxDistribution {
70
+ id: string;
71
+ /** `VERSION_ID`, or `BUILD_ID` (Arch/Manjaro/EndeavourOS, Debian testing/sid) when there is no
72
+ * `VERSION_ID` at all, or `''` when the file has neither — which then matches no install recipe
73
+ * (item 1: a rolling-release host is never mistaken for one with no distribution at all). */
74
+ version_id: string;
75
+ /** `ID_LIKE`, space-separated, lowercase. Empty when the file has none. */
76
+ id_like: string[];
77
+ family: LinuxPackageFamily;
78
+ }
79
+ /** The account this probe ran as, from `id -nG` / `getent group docker` — diagnostic only. */
80
+ export interface DockerGroupFacts {
81
+ /**
82
+ * The account is listed in the `docker` group's members. `'unknown'` when `getent` itself could
83
+ * not answer *and* this session's own groups (`id -nG`) do not already show it either — a probe
84
+ * that cannot read `/etc/group` has not learned "not a member", so this must not be reported as a
85
+ * confident `false` (round 2, item 9). `getent`'s own exit `2` ("no such key": the `docker` group
86
+ * does not exist on this system at all) is different — that is a real, definitive answer, not a
87
+ * failure to read anything, so it reports `false` rather than `'unknown'` (round 3, ruling 7).
88
+ */
89
+ configured: boolean | 'unknown';
90
+ /** ...and this login session already carries it (`id -nG`); a group change needs a fresh login. */
91
+ effective: boolean;
92
+ }
93
+ export interface DockerFacts {
94
+ cli: boolean;
95
+ daemon_reachable: boolean;
96
+ /** The daemon's own id, so a later check can tell it is still the same daemon. */
97
+ engine_identity: string | null;
98
+ version: string | null;
99
+ install_method: LinuxDockerInstallMethod | null;
100
+ /**
101
+ * The installed engine package's version (`dpkg-query`'s `${Version}`, `rpm -q`'s own
102
+ * name-version-release string, or `pacman -Q docker`), independent of whether the daemon can be
103
+ * reached. Diagnostic only since task 2.23 (it used to decide Docker's CDI-on-by-default). Null
104
+ * when no package database confirms a version (including for `docker-desktop`/`snap`/
105
+ * `podman-docker`/rootless, which this never looks at — only `docker-ce`/`docker.io`/`moby-engine`).
106
+ */
107
+ engine_version: string | null;
108
+ /**
109
+ * The GPU can reach a container: `nvidia-ctk cdi list` names an `nvidia.com/gpu` device (task
110
+ * 2.23, F-5) — never a runtime named `nvidia` on its own. Only meaningful when `daemon_reachable`
111
+ * (it is `false` without an answer); `gpu_runtime_from_config` is the same signal read without
112
+ * the daemon.
113
+ */
114
+ gpu_runtime: boolean;
115
+ /**
116
+ * The same CDI evidence as `gpu_runtime`, independent of the daemon answering: `nvidia-ctk cdi
117
+ * list` reads the spec directories itself. What `effectiveGpuRuntime` uses when the daemon could
118
+ * not be reached, so a plan never skips the spec on a guess (item 3).
119
+ */
120
+ gpu_runtime_from_config: boolean;
121
+ /**
122
+ * A runtime named `nvidia` is registered: loaded by the daemon when it answered (`Runtimes`),
123
+ * otherwise `daemon.json`'s own `runtimes.nvidia`. Decides only whether the plan runs `nvidia-ctk
124
+ * runtime configure`; it never makes the GPU runtime ready by itself (F-5).
125
+ */
126
+ nvidia_runtime: boolean;
127
+ /**
128
+ * `/etc/docker/daemon.json` sets `bip` or `default-address-pools`, replacing Docker's own default
129
+ * address pools (F-4); `'unknown'` when the file exists but could not be read or parsed.
130
+ */
131
+ address_pools_configured: boolean | 'unknown';
132
+ /**
133
+ * `/etc/docker/daemon.json` exists but this probe could not use it: reading it failed (`readFile`
134
+ * rejected — `EACCES` on a `0600` file, a directory at that path, ...) or its contents did not
135
+ * parse as JSON. `assessLinux` must not plan `nvidia-ctk runtime configure` in this state — it
136
+ * would be writing next to a file it cannot even read back — and blocks with an instruction to fix
137
+ * the file by hand instead (round 2 item 6; round 3 item 2; round 4 item C). Neither the runtime
138
+ * entry nor the CDI setting is assumed behind an unreadable file (round 4, item A).
139
+ */
140
+ daemon_json_unreadable: boolean;
141
+ /** SELinux is enforcing for containers: mounts of our directories need the `:z` label (D15). */
142
+ selinux: boolean;
143
+ docker_root_dir: string | null;
144
+ containers_running: number;
145
+ /** `systemctl is-active docker`. `'unknown'` only when the check itself could not run. */
146
+ service_active: boolean | 'unknown';
147
+ /** `docker info`'s own `ServerErrors`, surfaced for diagnostics (item 17). */
148
+ server_errors: string[];
149
+ }
150
+ export interface LinuxFacts {
151
+ /** `uname -m`, `arm64` normalised to `aarch64`. Null when the command did not answer with `0`. */
152
+ architecture: string | null;
153
+ distribution: LinuxDistribution | null;
154
+ /** `/run/ostree-booted` exists: an rpm-ostree host (Silverblue, Kinoite, Bazzite, ...). */
155
+ immutable_os: boolean;
156
+ /**
157
+ * The host runs systemd: `/run/systemd/system` exists, the `sd_booted()` test. `false` on a
158
+ * container whose PID 1 is not an init system; null when the check itself failed, which is then
159
+ * the unread fact `init-system` in `unknown`.
160
+ */
161
+ systemd: boolean | null;
162
+ driver_version: string | null;
163
+ gpus: GpuFacts[];
164
+ docker: DockerFacts;
165
+ /** Diagnostic only — never gates readiness (spec: access is `docker info` answering, not group
166
+ * membership). 2.6 reads this to tell "daemon active, this session just needs to relogin" apart
167
+ * from "the daemon is not reachable at all" (item 2). */
168
+ docker_group: DockerGroupFacts;
169
+ /**
170
+ * The full `nvidia-container-toolkit` package is installed, by the distribution's package database
171
+ * (F-5) — `nvidia-container-toolkit-base` alone does not count, although it answers `nvidia-ctk
172
+ * --version` too. On a family without a known package database, the CLI answering is the signal.
173
+ */
174
+ toolkit_installed: boolean;
175
+ /**
176
+ * `/proc/net/route` (the main IPv4 table Docker checks its pools against), every route but the
177
+ * default one — destination in CIDR form and interface; null when the table could not be read
178
+ * (F-4). Never blocks.
179
+ */
180
+ routes: LinuxRoute[] | null;
181
+ free_disk_bytes: number | null;
182
+ /**
183
+ * The path `free_disk_bytes` is for: `docker.docker_root_dir` when `docker info` answered,
184
+ * otherwise `/var/lib/docker`, Docker's default. Always the path the image would land in, never
185
+ * the nearest existing ancestor the space was actually read at on a clean host (task 2.22,
186
+ * R-core-6). Set even when the read failed; `free_disk_bytes` is null then.
187
+ */
188
+ free_disk_path: string;
189
+ /** Named checks whose answer could not be read. Each one blocks, none is assumed. */
190
+ unknown: string[];
191
+ }
192
+ /** `/etc/os-release` is `KEY=value`, values optionally quoted. */
193
+ export declare function parseOsRelease(text: string | null): LinuxDistribution | null;
194
+ /** `uname -m`: normalise the one alias (`arm64`, common outside Linux) to the Linux spelling. */
195
+ export declare function normalizeArchitecture(raw: string): string;
196
+ /**
197
+ * `nvidia-smi --query-gpu=uuid,name,compute_cap,memory.total,memory.free,driver_version
198
+ * --format=csv,noheader,nounits`: one line per device, memory in MiB.
199
+ *
200
+ * A unified-memory card (GB10/DGX Spark) reports `[N/A]` for both memory columns instead of a
201
+ * number (captured on a DGX Spark-class host, driver 595.71.05), so those fields come out `null`
202
+ * rather than a wrong number — the model-compatibility check reads that as "compare against host
203
+ * memory instead" (design D13). A header line (`uuid, name, ...`, from a query without `noheader`)
204
+ * is not a card.
205
+ */
206
+ export declare function parseNvidiaSmi(output: CommandOutput | null): {
207
+ driver_version: string | null;
208
+ gpus: GpuFacts[];
209
+ };
210
+ /**
211
+ * Parses `docker` from `id -nG` (this session's groups) and `getent group docker` (its members).
212
+ *
213
+ * `effective` (this session's own groups) is always a real answer on its own. For `configured`:
214
+ * `getent` exiting `2` ("no such key" — the `docker` group does not exist on this system at all) is
215
+ * itself a real, definitive answer, so that reads as `false`, not `'unknown'` (round 3, ruling 7).
216
+ * Any other failure (a different exit code, or the binary not being on the machine) proves nothing
217
+ * either way, so it falls back to `'unknown'` unless `effective` already confirmed membership on its
218
+ * own — this session already showing `docker` in `id -nG` needs no corroboration from `getent`
219
+ * (round 2, item 9).
220
+ */
221
+ export declare function parseDockerGroup(sessionGroups: CommandOutput | null, groupEntry: CommandOutput | null, user: string): DockerGroupFacts;
222
+ /**
223
+ * `systemctl is-active docker`: exits `0` and prints `active` only when the unit is really up.
224
+ *
225
+ * Known gap, documented rather than closed here (round 2 finding, "socket-activation note"): a host
226
+ * where `docker.socket` is active but `docker.service` itself is only started on first connection
227
+ * (`systemctl is-active docker` answering `inactive` right up until something dials the socket)
228
+ * would read as not active here, even though a real connection would in fact start it. Closing this
229
+ * needs a second `systemctl is-active docker.socket` call and a decision about how it interacts with
230
+ * every branch that reads `service_active` (`assessLinux`'s access-only/relogin path and
231
+ * `buildInstallPlan`'s `enable-docker-service`/`restart-docker` steps) — left for task 2.6 to decide
232
+ * against the actual wiring rather than guessed at here.
233
+ */
234
+ export declare function parseServiceActive(output: CommandOutput | null): boolean | 'unknown';
235
+ /**
236
+ * Walks a path up to the nearest existing ancestor (`/var/lib/docker` → `/var/lib` → `/var` → `/`),
237
+ * so a free-space check on a not-yet-installed `DockerRootDir` lands somewhere real instead of
238
+ * failing outright (item 7: a clean machine has no `/var/lib/docker` yet).
239
+ */
240
+ export declare function nearestExistingAncestor(pathExists: LinuxProbeDeps['pathExists'], path: string): Promise<string>;
241
+ /**
242
+ * Read the machine. Every command here is read-only; none of them installs, starts, enables or
243
+ * pulls anything.
244
+ */
245
+ export declare function probeLinux(deps: LinuxProbeDeps, options: LinuxProbeOptions): Promise<LinuxFacts>;
@@ -0,0 +1,315 @@
1
+ /**
2
+ * What a Linux machine can already do, read without changing any of it.
3
+ *
4
+ * The answer this produces decides whether Atomic Chat asks for a password at all. A machine that
5
+ * already runs containers on its GPU — which describes most people who would want this engine — is
6
+ * adopted exactly as it is: no packages, no daemon restart, no prompt. Everything else is a list of
7
+ * what would have to be added, shown before the system asks for authorization. Turning these facts
8
+ * into that verdict is `assessLinux` in `./linux-plan.js`; this file only reads the machine.
9
+ *
10
+ * Nothing here runs a container or writes a file. The one check that would — starting a container
11
+ * with a GPU attached — pulls an image, so it belongs to provisioning and is reported as `not-run`
12
+ * until somebody has run it.
13
+ *
14
+ * A fact that could not be read is not a fact. Every probe that fails lands in `unknown`, and an
15
+ * unknown prerequisite blocks the setup instead of being assumed present: guessing wrong here means
16
+ * asking for a password to install something that is already there, or claiming a machine is ready
17
+ * and failing halfway through a sixteen-gigabyte download.
18
+ */
19
+ import { cdiListsNvidiaGpu, daemonJsonNvidiaRuntimeEvidence, detectDockerInstallMethod, detectEngineVersion, fullToolkitInstalled, PACMAN_PACKAGE_CANDIDATES, parseDockerInfo, TOOLKIT_PACKAGE, } from './linux-docker-facts.js';
20
+ import { daemonJsonSetsAddressPools, parseProcNetRoute } from './linux-docker-network.js';
21
+ /** `/etc/os-release` is `KEY=value`, values optionally quoted. */
22
+ export function parseOsRelease(text) {
23
+ if (text === null)
24
+ return null;
25
+ const fields = new Map();
26
+ for (const line of text.split('\n')) {
27
+ const match = /^([A-Z_]+)=(.*)$/.exec(line.trim());
28
+ if (match === null)
29
+ continue;
30
+ const value = match[2]
31
+ .trim()
32
+ .replace(/^"(.*)"$/, '$1')
33
+ .replace(/^'(.*)'$/, '$1');
34
+ fields.set(match[1], value);
35
+ }
36
+ const id = fields.get('ID');
37
+ if (id === undefined || id === '')
38
+ return null;
39
+ // Arch, Manjaro and EndeavourOS ship no VERSION_ID at all (rolling release); Debian testing/sid
40
+ // has none either. BUILD_ID is Arch's nearest equivalent; when even that is absent, '' matches no
41
+ // install recipe (item 1) rather than making the whole distribution look unread.
42
+ const versionId = fields.get('VERSION_ID') ?? fields.get('BUILD_ID') ?? '';
43
+ const idLike = (fields.get('ID_LIKE') ?? '')
44
+ .split(/\s+/)
45
+ .map((entry) => entry.toLowerCase())
46
+ .filter(Boolean);
47
+ return {
48
+ id: id.toLowerCase(),
49
+ version_id: versionId,
50
+ id_like: idLike,
51
+ family: packageFamilyFor(id.toLowerCase(), idLike),
52
+ };
53
+ }
54
+ const APT_FAMILY = new Set(['debian', 'ubuntu']);
55
+ const DNF_FAMILY = new Set(['fedora', 'rhel', 'centos', 'rocky', 'almalinux']);
56
+ const PACMAN_FAMILY = new Set(['arch', 'manjaro', 'endeavouros']);
57
+ /** `ID` first, `ID_LIKE` as a fallback for a derivative distribution (e.g. Linux Mint, Nobara). */
58
+ function packageFamilyFor(id, idLike) {
59
+ if (APT_FAMILY.has(id) || idLike.some((entry) => APT_FAMILY.has(entry)))
60
+ return 'apt';
61
+ if (DNF_FAMILY.has(id) || idLike.some((entry) => DNF_FAMILY.has(entry)))
62
+ return 'dnf';
63
+ if (PACMAN_FAMILY.has(id) || idLike.some((entry) => PACMAN_FAMILY.has(entry)))
64
+ return 'pacman';
65
+ return 'other';
66
+ }
67
+ /** `uname -m`: normalise the one alias (`arm64`, common outside Linux) to the Linux spelling. */
68
+ export function normalizeArchitecture(raw) {
69
+ const trimmed = raw.trim();
70
+ return trimmed === 'arm64' ? 'aarch64' : trimmed;
71
+ }
72
+ const MIB = 1024 * 1024;
73
+ /**
74
+ * One memory cell in MiB, as bytes: a plain number (`nounits`) or one followed by ` MiB` (a query
75
+ * without `nounits`). Anything else — `[N/A]`/`N/A` on a unified-memory card, `[Not Supported]`, an
76
+ * empty cell — is `null`, never `0`: `Number('')` is `0`, and a zero read as a size would refuse
77
+ * every model for "no memory" instead of taking the unified-memory branch (design D13), while a
78
+ * `NaN` from `Number('32607 MiB')` would turn a discrete card into a unified-memory one.
79
+ */
80
+ function mibCellBytes(cell) {
81
+ const match = /^(\d+(?:\.\d+)?)(?:\s*MiB)?$/.exec(cell);
82
+ return match === null ? null : Number(match[1]) * MIB;
83
+ }
84
+ /**
85
+ * `nvidia-smi --query-gpu=uuid,name,compute_cap,memory.total,memory.free,driver_version
86
+ * --format=csv,noheader,nounits`: one line per device, memory in MiB.
87
+ *
88
+ * A unified-memory card (GB10/DGX Spark) reports `[N/A]` for both memory columns instead of a
89
+ * number (captured on a DGX Spark-class host, driver 595.71.05), so those fields come out `null`
90
+ * rather than a wrong number — the model-compatibility check reads that as "compare against host
91
+ * memory instead" (design D13). A header line (`uuid, name, ...`, from a query without `noheader`)
92
+ * is not a card.
93
+ */
94
+ export function parseNvidiaSmi(output) {
95
+ if (output === null || output.code !== 0)
96
+ return { driver_version: null, gpus: [] };
97
+ const gpus = [];
98
+ let driver = null;
99
+ for (const line of output.stdout.split('\n')) {
100
+ const cells = line.split(',').map((cell) => cell.trim());
101
+ if (cells.length < 6 || cells[0] === '' || cells[0] === 'uuid')
102
+ continue;
103
+ driver = cells[5];
104
+ gpus.push({
105
+ gpu_id: cells[0],
106
+ name: cells[1],
107
+ compute_capability: cells[2],
108
+ total_vram_bytes: mibCellBytes(cells[3]),
109
+ free_vram_bytes: mibCellBytes(cells[4]),
110
+ driver_version: driver,
111
+ });
112
+ }
113
+ return { driver_version: driver, gpus };
114
+ }
115
+ /**
116
+ * Parses `docker` from `id -nG` (this session's groups) and `getent group docker` (its members).
117
+ *
118
+ * `effective` (this session's own groups) is always a real answer on its own. For `configured`:
119
+ * `getent` exiting `2` ("no such key" — the `docker` group does not exist on this system at all) is
120
+ * itself a real, definitive answer, so that reads as `false`, not `'unknown'` (round 3, ruling 7).
121
+ * Any other failure (a different exit code, or the binary not being on the machine) proves nothing
122
+ * either way, so it falls back to `'unknown'` unless `effective` already confirmed membership on its
123
+ * own — this session already showing `docker` in `id -nG` needs no corroboration from `getent`
124
+ * (round 2, item 9).
125
+ */
126
+ export function parseDockerGroup(sessionGroups, groupEntry, user) {
127
+ const effective = sessionGroups !== null && sessionGroups.code === 0 && sessionGroups.stdout.split(/\s+/).includes('docker');
128
+ if (groupEntry !== null && groupEntry.code === 2) {
129
+ return { configured: effective, effective };
130
+ }
131
+ if (groupEntry === null || groupEntry.code !== 0) {
132
+ return { configured: effective ? true : 'unknown', effective };
133
+ }
134
+ const members = (groupEntry.stdout.split(':')[3] ?? '').trim().split(',').filter(Boolean);
135
+ return { configured: effective || members.includes(user), effective };
136
+ }
137
+ /**
138
+ * `systemctl is-active docker`: exits `0` and prints `active` only when the unit is really up.
139
+ *
140
+ * Known gap, documented rather than closed here (round 2 finding, "socket-activation note"): a host
141
+ * where `docker.socket` is active but `docker.service` itself is only started on first connection
142
+ * (`systemctl is-active docker` answering `inactive` right up until something dials the socket)
143
+ * would read as not active here, even though a real connection would in fact start it. Closing this
144
+ * needs a second `systemctl is-active docker.socket` call and a decision about how it interacts with
145
+ * every branch that reads `service_active` (`assessLinux`'s access-only/relogin path and
146
+ * `buildInstallPlan`'s `enable-docker-service`/`restart-docker` steps) — left for task 2.6 to decide
147
+ * against the actual wiring rather than guessed at here.
148
+ */
149
+ export function parseServiceActive(output) {
150
+ if (output === null || output.code === null)
151
+ return 'unknown';
152
+ return output.code === 0 && output.stdout.trim() === 'active';
153
+ }
154
+ /** Where Docker Engine keeps images unless configured otherwise: the disk check's path before it answers. */
155
+ const DEFAULT_DOCKER_ROOT_DIR = '/var/lib/docker';
156
+ const DOCKER_SOCKET = 'unix:///var/run/docker.sock';
157
+ // The forced-socket query must never be steered by a leftover remote/TLS context (item 17).
158
+ const STRIP_DOCKER_ENV = {
159
+ DOCKER_HOST: undefined,
160
+ DOCKER_CONTEXT: undefined,
161
+ DOCKER_TLS_VERIFY: undefined,
162
+ DOCKER_CERT_PATH: undefined,
163
+ };
164
+ /**
165
+ * Walks a path up to the nearest existing ancestor (`/var/lib/docker` → `/var/lib` → `/var` → `/`),
166
+ * so a free-space check on a not-yet-installed `DockerRootDir` lands somewhere real instead of
167
+ * failing outright (item 7: a clean machine has no `/var/lib/docker` yet).
168
+ */
169
+ export async function nearestExistingAncestor(pathExists, path) {
170
+ const segments = path.split('/').filter(Boolean);
171
+ for (let end = segments.length; end >= 0; end--) {
172
+ const candidate = `/${segments.slice(0, end).join('/')}`;
173
+ if (await pathExists(candidate).catch(() => false))
174
+ return candidate;
175
+ }
176
+ return '/';
177
+ }
178
+ /**
179
+ * `readFile` collapses "does not exist" (`ENOENT`) and every other failure (`EACCES` on a `0600`
180
+ * file, a directory where a file was expected, ...) into the same `null` when a caller blanket-
181
+ * catches it — which is correct for `/etc/os-release` (never expected to be permission-restricted)
182
+ * but wrong for `/etc/docker/daemon.json`, which a hardened host may deliberately lock down. This
183
+ * distinguishes them: `{ text: null, unreadable: false }` only for a `readFile` that itself resolved
184
+ * `null` (this repo's convention for "not there"); a `readFile` that *rejects* is a real read error,
185
+ * reported as `{ text: null, unreadable: true }` rather than silently folded into "not configured"
186
+ * (round 3, item 2).
187
+ */
188
+ async function readDaemonJson(readFile) {
189
+ try {
190
+ return { text: await readFile('/etc/docker/daemon.json'), unreadable: false };
191
+ }
192
+ catch {
193
+ return { text: null, unreadable: true };
194
+ }
195
+ }
196
+ /**
197
+ * Read the machine. Every command here is read-only; none of them installs, starts, enables or
198
+ * pulls anything.
199
+ */
200
+ export async function probeLinux(deps, options) {
201
+ const unknown = [];
202
+ const osRelease = await deps.readFile('/etc/os-release').catch(() => null);
203
+ const distribution = parseOsRelease(osRelease);
204
+ if (distribution === null)
205
+ unknown.push('distribution');
206
+ const [unameM, smi, dockerVersion, dockerInfo, ctk, cdiList, dpkgQuery, rpmQuery, pacmanQuery, snapList, immutableOs, systemd, sessionGroups, groupEntry, serviceActive, daemonJsonRead, toolkitQuery, routeTable,] = await Promise.all([
207
+ deps.exec('uname', ['-m']),
208
+ deps.exec('nvidia-smi', [
209
+ '--query-gpu=uuid,name,compute_cap,memory.total,memory.free,driver_version',
210
+ '--format=csv,noheader,nounits',
211
+ ]),
212
+ deps.exec('docker', ['--version']),
213
+ // `-H` pins the query to the system socket as the current user, overriding both DOCKER_HOST
214
+ // and an active DOCKER_CONTEXT; the explicit env override also strips it and TLS settings from
215
+ // the child process rather than relying on the flag alone (spec: access is decided by calling
216
+ // the daemon, never by a user context or group membership).
217
+ deps.exec('docker', ['-H', DOCKER_SOCKET, 'info', '--format', '{{json .}}'], STRIP_DOCKER_ENV),
218
+ deps.exec('nvidia-ctk', ['--version']),
219
+ deps.exec('nvidia-ctk', ['cdi', 'list']),
220
+ // `${Version}` (round 3, ruling 5) feeds `detectEngineVersion`; install-method detection itself
221
+ // only ever reads the first two columns (`installedDpkgPackages`).
222
+ deps.exec('dpkg-query', [
223
+ '-W',
224
+ '-f',
225
+ '${db:Status-Abbrev} ${Package} ${Version}\n',
226
+ 'docker-ce',
227
+ 'docker.io',
228
+ 'moby-engine',
229
+ 'podman-docker',
230
+ 'docker-desktop',
231
+ ]),
232
+ deps.exec('rpm', ['-q', 'docker-ce', 'docker.io', 'moby-engine', 'podman-docker', 'docker-desktop']),
233
+ // Read-only query; Arch's own `docker` package is not one `dpkg-query`/`rpm -q` ever see, and
234
+ // this is also `engine_version`'s only source there (round 3, item 1/ruling 5). `docker-desktop`
235
+ // is Docker Desktop's package name on Arch (round 4, item E).
236
+ // Only on a pacman-family distribution: elsewhere a `pacman` on PATH can be something unrelated
237
+ // entirely (Debian's /usr/games/pacman), and there is no Arch package to ask about (round 5, item 3).
238
+ distribution?.family === 'pacman'
239
+ ? deps.exec('pacman', ['-Q', ...PACMAN_PACKAGE_CANDIDATES])
240
+ : Promise.resolve(null),
241
+ deps.exec('snap', ['list', 'docker']),
242
+ deps.pathExists('/run/ostree-booted').catch(() => false),
243
+ deps.pathExists('/run/systemd/system').catch(() => null),
244
+ deps.exec('id', ['-nG']),
245
+ deps.exec('getent', ['group', 'docker']),
246
+ deps.exec('systemctl', ['is-active', 'docker']),
247
+ readDaemonJson(deps.readFile),
248
+ // The full toolkit, by its own package (F-5): `nvidia-ctk --version` answers for `-base` alone.
249
+ // One package name per query, so `-base` can never match it as a prefix.
250
+ distribution?.family === 'apt'
251
+ ? deps.exec('dpkg-query', ['-W', '-f', '${db:Status-Abbrev} ${Package}\n', TOOLKIT_PACKAGE])
252
+ : distribution?.family === 'dnf'
253
+ ? deps.exec('rpm', ['-q', TOOLKIT_PACKAGE])
254
+ : distribution?.family === 'pacman'
255
+ ? deps.exec('pacman', ['-Q', TOOLKIT_PACKAGE])
256
+ : Promise.resolve(null),
257
+ deps.readFile('/proc/net/route').catch(() => null),
258
+ ]);
259
+ if (unameM.code !== 0)
260
+ unknown.push('architecture');
261
+ if (systemd === null)
262
+ unknown.push('init-system');
263
+ const architecture = unameM.code === 0 ? normalizeArchitecture(unameM.stdout) : null;
264
+ const nvidia = parseNvidiaSmi(smi);
265
+ if (smi.code === null)
266
+ unknown.push('nvidia-driver');
267
+ const cli = dockerVersion.code === 0;
268
+ const info = parseDockerInfo(cli ? dockerInfo : null, cdiList);
269
+ const serviceActiveParsed = parseServiceActive(serviceActive);
270
+ const rootlessSocketPresent = options.xdgRuntimeDir !== null &&
271
+ (await deps.pathExists(`${options.xdgRuntimeDir}/docker.sock`).catch(() => false));
272
+ const installMethod = detectDockerInstallMethod(info, { dockerVersion, dpkgQuery, rpmQuery, pacmanQuery, snapList }, rootlessSocketPresent, serviceActiveParsed);
273
+ const engineVersion = detectEngineVersion(dpkgQuery, rpmQuery, pacmanQuery);
274
+ const daemonJsonEvidence = daemonJsonNvidiaRuntimeEvidence(daemonJsonRead);
275
+ // Before anything is installed there is no DockerRootDir yet; check the nearest ancestor that
276
+ // does exist instead of failing outright on a path that is not there yet (item 7).
277
+ const diskCheckTarget = info.docker_root_dir ?? DEFAULT_DOCKER_ROOT_DIR;
278
+ const diskCheckPath = await nearestExistingAncestor(deps.pathExists, diskCheckTarget);
279
+ const disk = await deps.freeDiskBytes(diskCheckPath).catch(() => null);
280
+ if (disk === null)
281
+ unknown.push('free-disk');
282
+ return {
283
+ architecture,
284
+ distribution,
285
+ immutable_os: immutableOs,
286
+ systemd,
287
+ driver_version: nvidia.driver_version,
288
+ gpus: nvidia.gpus,
289
+ docker: {
290
+ cli,
291
+ daemon_reachable: info.daemon_reachable,
292
+ engine_identity: info.engine_identity,
293
+ version: info.version,
294
+ install_method: installMethod,
295
+ engine_version: engineVersion,
296
+ gpu_runtime: info.gpu_runtime,
297
+ gpu_runtime_from_config: cdiListsNvidiaGpu(cdiList),
298
+ nvidia_runtime: info.daemon_reachable ? info.nvidia_runtime : daemonJsonEvidence === 'configured',
299
+ address_pools_configured: daemonJsonSetsAddressPools(daemonJsonRead),
300
+ daemon_json_unreadable: daemonJsonEvidence === 'unreadable',
301
+ selinux: info.selinux,
302
+ docker_root_dir: info.docker_root_dir,
303
+ containers_running: info.containers_running,
304
+ service_active: serviceActiveParsed,
305
+ server_errors: info.server_errors,
306
+ },
307
+ docker_group: parseDockerGroup(sessionGroups, groupEntry, options.user),
308
+ toolkit_installed: fullToolkitInstalled(distribution?.family ?? null, ctk, toolkitQuery),
309
+ routes: parseProcNetRoute(routeTable),
310
+ free_disk_bytes: disk,
311
+ free_disk_path: diskCheckTarget,
312
+ unknown,
313
+ };
314
+ }
315
+ //# sourceMappingURL=linux-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linux-probe.js","sourceRoot":"","sources":["../../../src/runtime/environment/linux-probe.ts"],"names":[],"mappings":"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"}