@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":"drm-sysfs.js","sourceRoot":"","sources":["../../src/hardware/drm-sysfs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * The slice of the hardware description the backend selectors and the CPU preflight read, and the
3
+ * precedence rule between the core's probe and an injected override.
4
+ *
5
+ * Pure: no `node:*` I/O. `HardwareService` produces `HardwareFacts`; `backend/` consumes them through
6
+ * `HardwareFactsSource` so that module never depends on how the facts were measured.
7
+ */
8
+ import type { GpuInfo, GpuProbeInfo, HardwareOverride, HardwareSource, OsType, SystemInfo } from '../contracts/index.js';
9
+ export interface HardwareFacts {
10
+ /** `windows` | `linux` | `macos` | `unknown`. */
11
+ osType: string;
12
+ /** Rust spelling: `x86_64`, `arm64` / `aarch64`, `x86`. */
13
+ arch: string;
14
+ /**
15
+ * CPU flags in the plugin's lowercase spelling, or `undefined` when the probe could not read them.
16
+ * The no-AVX preflight fires only on a positive signal, so unknown must never read as "none".
17
+ */
18
+ cpuExtensions: string[] | undefined;
19
+ gpus: GpuProbeInfo[];
20
+ source: HardwareSource;
21
+ }
22
+ /** What the backend module asks for: the current facts, whatever measured them. */
23
+ export interface HardwareFactsSource {
24
+ facts(): Promise<HardwareFacts>;
25
+ }
26
+ /** Node's platform name in the spelling the selection policies and the app use. */
27
+ export declare function osTypeOf(platform: NodeJS.Platform | string): OsType;
28
+ /** Node's `process.arch` in the Rust spelling the backend and CPU policies expect (`x64` → `x86_64`). */
29
+ export declare function rustArch(arch: string): string;
30
+ /**
31
+ * Combine the probe with an override. The override replaces the probe wholesale for the GPUs and, when
32
+ * it carries them, the CPU flags and the OS type — never merged (a half-probed, half-injected list
33
+ * would be a third description of the machine matching neither side, see `override.ts`).
34
+ */
35
+ export declare function factsOf(info: SystemInfo, arch: string, override: HardwareOverride | undefined): HardwareFacts;
36
+ /**
37
+ * Render an injected `GpuProbeInfo` as a full `GpuInfo`, so `GET /hardware/info` has one shape whether
38
+ * the facts came from the probe or from an override. Missing fields get the plugin's empty values.
39
+ */
40
+ export declare function gpuInfoFromProbe(gpu: GpuProbeInfo, index: number): GpuInfo;
41
+ /** The `SystemInfo` served while an override stands: the probe's CPU/OS/memory, the override's GPUs. */
42
+ export declare function systemInfoWithOverride(info: SystemInfo, override: HardwareOverride): SystemInfo;
@@ -0,0 +1,92 @@
1
+ /**
2
+ * The slice of the hardware description the backend selectors and the CPU preflight read, and the
3
+ * precedence rule between the core's probe and an injected override.
4
+ *
5
+ * Pure: no `node:*` I/O. `HardwareService` produces `HardwareFacts`; `backend/` consumes them through
6
+ * `HardwareFactsSource` so that module never depends on how the facts were measured.
7
+ */
8
+ /** Node's platform name in the spelling the selection policies and the app use. */
9
+ export function osTypeOf(platform) {
10
+ if (platform === 'win32')
11
+ return 'windows';
12
+ if (platform === 'darwin')
13
+ return 'macos';
14
+ if (platform === 'linux')
15
+ return 'linux';
16
+ return 'unknown';
17
+ }
18
+ /** Node's `process.arch` in the Rust spelling the backend and CPU policies expect (`x64` → `x86_64`). */
19
+ export function rustArch(arch) {
20
+ if (arch === 'x64')
21
+ return 'x86_64';
22
+ if (arch === 'ia32')
23
+ return 'x86';
24
+ return arch;
25
+ }
26
+ /**
27
+ * Combine the probe with an override. The override replaces the probe wholesale for the GPUs and, when
28
+ * it carries them, the CPU flags and the OS type — never merged (a half-probed, half-injected list
29
+ * would be a third description of the machine matching neither side, see `override.ts`).
30
+ */
31
+ export function factsOf(info, arch, override) {
32
+ if (!override) {
33
+ return {
34
+ osType: info.os_type,
35
+ arch,
36
+ cpuExtensions: info.cpu.extensions_known ? [...info.cpu.extensions] : undefined,
37
+ gpus: info.gpus.map((gpu) => ({ ...gpu })),
38
+ source: 'probe',
39
+ };
40
+ }
41
+ return {
42
+ osType: override.os_type ?? info.os_type,
43
+ arch,
44
+ cpuExtensions: override.cpu_extensions
45
+ ? [...override.cpu_extensions]
46
+ : info.cpu.extensions_known
47
+ ? [...info.cpu.extensions]
48
+ : undefined,
49
+ gpus: override.gpus.map((gpu) => ({ ...gpu })),
50
+ source: 'override',
51
+ };
52
+ }
53
+ /**
54
+ * Render an injected `GpuProbeInfo` as a full `GpuInfo`, so `GET /hardware/info` has one shape whether
55
+ * the facts came from the probe or from an override. Missing fields get the plugin's empty values.
56
+ */
57
+ export function gpuInfoFromProbe(gpu, index) {
58
+ const extra = gpu;
59
+ return {
60
+ name: typeof extra.name === 'string' ? extra.name : `GPU ${index}`,
61
+ total_memory: typeof gpu.total_memory === 'number' ? gpu.total_memory : 0,
62
+ vendor: typeof gpu.vendor === 'string' ? gpu.vendor : 'Unknown (vendor_id: 0)',
63
+ uuid: typeof extra.uuid === 'string' ? extra.uuid : `override-${index}`,
64
+ driver_version: gpu.driver_version ?? '',
65
+ nvidia_info: gpu.nvidia_info
66
+ ? {
67
+ index: gpu.nvidia_info.index ?? index,
68
+ compute_capability: gpu.nvidia_info.compute_capability ?? '',
69
+ }
70
+ : null,
71
+ vulkan_info: gpu.vulkan_info
72
+ ? {
73
+ index: gpu.vulkan_info.index ?? index,
74
+ device_type: gpu.vulkan_info.device_type ?? 'Unknown',
75
+ api_version: gpu.vulkan_info.api_version ?? '',
76
+ device_id: typeof gpu.vulkan_info.device_id === 'number' ? gpu.vulkan_info.device_id : 0,
77
+ }
78
+ : null,
79
+ };
80
+ }
81
+ /** The `SystemInfo` served while an override stands: the probe's CPU/OS/memory, the override's GPUs. */
82
+ export function systemInfoWithOverride(info, override) {
83
+ return {
84
+ ...info,
85
+ ...(override.os_type ? { os_type: override.os_type } : {}),
86
+ cpu: override.cpu_extensions
87
+ ? { ...info.cpu, extensions: [...override.cpu_extensions], extensions_known: true }
88
+ : { ...info.cpu },
89
+ gpus: override.gpus.map((gpu, index) => gpuInfoFromProbe(gpu, index)),
90
+ };
91
+ }
92
+ //# sourceMappingURL=facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facts.js","sourceRoot":"","sources":["../../src/hardware/facts.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,23 @@
1
1
  /**
2
- * SystemInfo / SystemUsage via system tools, supported-feature tiers, app-injected override.
2
+ * Hardware facts: the core's own probe (shell tools and files, no NVML, no native addon), the
3
+ * app-injectable override that replaces it, and the `HardwareService` that serves both to the
4
+ * control API and to the backend selectors.
3
5
  *
4
- * Ported from: src-tauri/plugins/tauri-plugin-hardware, backend.rs get_supported_features
5
- * See PLAN.md §3.2. Public API of this module is exported from this file only.
6
+ * Ported from: src-tauri/plugins/tauri-plugin-hardware (SystemInfo shape, vendor and CPU-flag
7
+ * spelling); the measurement itself is the core's (ADR 2026-09-27, "the core probes hardware with
8
+ * shell tools"). See PLAN.md §3.2. Public API of this module is exported from this file only.
6
9
  */
10
+ export * from './facts.js';
7
11
  export * from './override.js';
12
+ export * from './cpu-flags.js';
13
+ export * from './nvidia-smi.js';
14
+ export * from './drm-sysfs.js';
15
+ export * from './windows-video.js';
16
+ export * from './vulkan.js';
17
+ export * from './merge.js';
18
+ export * from './probe-common.js';
19
+ export * from './probe.js';
20
+ export * from './probe-linux.js';
21
+ export * from './probe-windows.js';
22
+ export * from './probe-darwin.js';
23
+ export * from './service.js';
@@ -1,8 +1,24 @@
1
1
  /**
2
- * SystemInfo / SystemUsage via system tools, supported-feature tiers, app-injected override.
2
+ * Hardware facts: the core's own probe (shell tools and files, no NVML, no native addon), the
3
+ * app-injectable override that replaces it, and the `HardwareService` that serves both to the
4
+ * control API and to the backend selectors.
3
5
  *
4
- * Ported from: src-tauri/plugins/tauri-plugin-hardware, backend.rs get_supported_features
5
- * See PLAN.md §3.2. Public API of this module is exported from this file only.
6
+ * Ported from: src-tauri/plugins/tauri-plugin-hardware (SystemInfo shape, vendor and CPU-flag
7
+ * spelling); the measurement itself is the core's (ADR 2026-09-27, "the core probes hardware with
8
+ * shell tools"). See PLAN.md §3.2. Public API of this module is exported from this file only.
6
9
  */
10
+ export * from './facts.js';
7
11
  export * from './override.js';
12
+ export * from './cpu-flags.js';
13
+ export * from './nvidia-smi.js';
14
+ export * from './drm-sysfs.js';
15
+ export * from './windows-video.js';
16
+ export * from './vulkan.js';
17
+ export * from './merge.js';
18
+ export * from './probe-common.js';
19
+ export * from './probe.js';
20
+ export * from './probe-linux.js';
21
+ export * from './probe-windows.js';
22
+ export * from './probe-darwin.js';
23
+ export * from './service.js';
8
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hardware/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hardware/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * One GPU list from several partial views: nvidia-smi (driver version, compute capability, VRAM —
3
+ * authoritative for NVIDIA), the PCI enumeration (sysfs on Linux, CIM + registry on Windows — every
4
+ * vendor's device id and, for the others, VRAM) and Vulkan (vulkaninfo's exact device type, or only
5
+ * the ICD registrations). Each GPU appears once; the selectors then read `nvidia_info`, `vendor`,
6
+ * `driver_version`, `total_memory` and `vulkan_info.device_id` / `device_type` from it.
7
+ *
8
+ * Pure. `hardware/` never imports from `backend/`; the selectors' expectations are asserted in the test.
9
+ */
10
+ import type { GpuInfo, OsType, SystemInfo } from '../contracts/index.js';
11
+ import type { SysfsGpu } from './drm-sysfs.js';
12
+ import type { VulkanDevice } from './vulkan.js';
13
+ import type { WindowsAdapter } from './windows-video.js';
14
+ /** An nvidia-smi row as a `GpuInfo`, with the bus id it is matched to the PCI enumeration by. */
15
+ export interface NvidiaSmiGpu {
16
+ gpu: GpuInfo;
17
+ /** sysfs spelling (`0000:01:00.0`); absent when the tool did not report it. */
18
+ busId?: string;
19
+ }
20
+ export interface MergeInput {
21
+ nvidia: NvidiaSmiGpu[];
22
+ /** Linux `SysfsGpu` rows or Windows `WindowsAdapter` rows, never mixed. */
23
+ pci: Array<SysfsGpu | WindowsAdapter>;
24
+ /** `vulkaninfo --summary` devices, empty when the tool is not installed. */
25
+ vulkan: VulkanDevice[];
26
+ /** Vendors with a registered ICD (`NVIDIA`, `AMD`, `Intel`). */
27
+ icdVendors: Set<string>;
28
+ /** `false` when the loader is known to be missing (no `vulkan-1.dll`); a registered ICD is then useless. */
29
+ loaderPresent: boolean;
30
+ }
31
+ /**
32
+ * nvidia-smi rows first, in their order, then the PCI-only GPUs in enumeration order, then any Vulkan
33
+ * device neither list knew. A PCI NVIDIA device nvidia-smi did not report (nouveau, a driver that is not
34
+ * loaded) is listed with `nvidia_info: null`: the CUDA tiers need the driver version, and there is none.
35
+ */
36
+ export declare function mergeGpus(input: MergeInput): {
37
+ gpus: GpuInfo[];
38
+ warnings: string[];
39
+ };
40
+ export interface AssembleInput {
41
+ cpu: {
42
+ name: string;
43
+ coreCount: number;
44
+ /** Rust spelling, `x86_64` / `arm64`. */
45
+ arch: string;
46
+ /** Plugin-spelled flags, or `undefined` when the probe could not read them. */
47
+ extensions: string[] | undefined;
48
+ };
49
+ osType: OsType;
50
+ osName: string;
51
+ totalMemoryMiB: number;
52
+ gpus: GpuInfo[];
53
+ }
54
+ /** The `SystemInfo` the core serves; `extensions_known` is the one field the plugin never had. */
55
+ export declare function assembleSystemInfo(input: AssembleInput): SystemInfo;
@@ -0,0 +1,141 @@
1
+ /**
2
+ * One GPU list from several partial views: nvidia-smi (driver version, compute capability, VRAM —
3
+ * authoritative for NVIDIA), the PCI enumeration (sysfs on Linux, CIM + registry on Windows — every
4
+ * vendor's device id and, for the others, VRAM) and Vulkan (vulkaninfo's exact device type, or only
5
+ * the ICD registrations). Each GPU appears once; the selectors then read `nvidia_info`, `vendor`,
6
+ * `driver_version`, `total_memory` and `vulkan_info.device_id` / `device_type` from it.
7
+ *
8
+ * Pure. `hardware/` never imports from `backend/`; the selectors' expectations are asserted in the test.
9
+ */
10
+ import { vendorName } from './drm-sysfs.js';
11
+ import { guessDeviceType } from './vulkan.js';
12
+ function isWindowsAdapter(row) {
13
+ return 'pnpDeviceId' in row;
14
+ }
15
+ const sameName = (a, b) => a.trim().toLowerCase() === b.trim().toLowerCase();
16
+ /**
17
+ * nvidia-smi rows first, in their order, then the PCI-only GPUs in enumeration order, then any Vulkan
18
+ * device neither list knew. A PCI NVIDIA device nvidia-smi did not report (nouveau, a driver that is not
19
+ * loaded) is listed with `nvidia_info: null`: the CUDA tiers need the driver version, and there is none.
20
+ */
21
+ export function mergeGpus(input) {
22
+ const warnings = [];
23
+ const gpus = [];
24
+ const pci = input.pci.map((row) => ({ row, taken: false }));
25
+ const vulkan = input.vulkan.map((device) => ({ device, taken: false }));
26
+ const takeVulkan = (pick) => {
27
+ const entry = vulkan.find((e) => !e.taken && pick(e.device));
28
+ if (entry)
29
+ entry.taken = true;
30
+ return entry?.device;
31
+ };
32
+ const takePci = (pick) => {
33
+ const entry = pci.find((e) => !e.taken && pick(e.row));
34
+ if (entry)
35
+ entry.taken = true;
36
+ return entry?.row;
37
+ };
38
+ const vulkanFromDevice = (device) => ({
39
+ index: device.index,
40
+ device_type: device.deviceType,
41
+ api_version: device.apiVersion,
42
+ device_id: device.deviceId,
43
+ });
44
+ const vulkanFromIcd = (position, vendor, deviceId, vramTotalMiB, adapterHasIcd) => {
45
+ if (!input.loaderPresent)
46
+ return null;
47
+ if (!adapterHasIcd && !input.icdVendors.has(vendor))
48
+ return null;
49
+ return {
50
+ index: position,
51
+ device_type: guessDeviceType({
52
+ vendor,
53
+ deviceId,
54
+ ...(vramTotalMiB !== undefined ? { vramTotalMiB } : {}),
55
+ }),
56
+ api_version: '',
57
+ device_id: deviceId,
58
+ };
59
+ };
60
+ for (const { gpu, busId } of input.nvidia) {
61
+ const matched = (busId ? takePci((row) => !isWindowsAdapter(row) && row.busId === busId) : undefined) ??
62
+ takePci((row) => isWindowsAdapter(row) && row.vendorId === 0x10de && sameName(row.name, gpu.name));
63
+ const deviceId = matched?.deviceId;
64
+ const device = deviceId !== undefined
65
+ ? takeVulkan((d) => d.vendorId === 0x10de && d.deviceId === deviceId)
66
+ : takeVulkan((d) => d.vendorId === 0x10de && sameName(d.deviceName, gpu.name));
67
+ const vramTotalMiB = matched?.vramTotalMiB;
68
+ const merged = {
69
+ ...gpu,
70
+ total_memory: gpu.total_memory > 0 ? gpu.total_memory : (vramTotalMiB ?? 0),
71
+ uuid: gpu.uuid !== '' ? gpu.uuid : matched ? opaqueId(matched) : `nvidia-${gpus.length}`,
72
+ vulkan_info: device
73
+ ? vulkanFromDevice(device)
74
+ : vulkanFromIcd(gpus.length, 'NVIDIA', deviceId ?? 0, vramTotalMiB, matched !== undefined && isWindowsAdapter(matched) && matched.vulkanDriver),
75
+ };
76
+ gpus.push(merged);
77
+ }
78
+ for (const entry of pci) {
79
+ if (entry.taken)
80
+ continue;
81
+ entry.taken = true;
82
+ const row = entry.row;
83
+ const vendor = vendorName(row.vendorId);
84
+ const device = takeVulkan((d) => d.vendorId === row.vendorId && d.deviceId === row.deviceId);
85
+ const windows = isWindowsAdapter(row) ? row : undefined;
86
+ const name = windows?.name ?? device?.deviceName ?? `${vendor} GPU 0x${row.deviceId.toString(16).padStart(4, '0')}`;
87
+ if (row.vendorId === 0x10de)
88
+ warnings.push(`${name}: NVIDIA GPU without an nvidia-smi answer; driver version and compute capability unknown`);
89
+ gpus.push({
90
+ name,
91
+ total_memory: row.vramTotalMiB ?? 0,
92
+ vendor,
93
+ uuid: opaqueId(row),
94
+ driver_version: windows?.driverVersion ?? device?.driverVersion ?? '',
95
+ nvidia_info: null,
96
+ vulkan_info: device
97
+ ? vulkanFromDevice(device)
98
+ : vulkanFromIcd(gpus.length, vendor, row.deviceId, row.vramTotalMiB, windows?.vulkanDriver ?? false),
99
+ });
100
+ }
101
+ for (const entry of vulkan) {
102
+ if (entry.taken)
103
+ continue;
104
+ entry.taken = true;
105
+ const device = entry.device;
106
+ const vendor = vendorName(device.vendorId);
107
+ warnings.push(`${device.deviceName || vendor}: enumerated by Vulkan only; no PCI record for it`);
108
+ gpus.push({
109
+ name: device.deviceName || `${vendor} GPU 0x${device.deviceId.toString(16).padStart(4, '0')}`,
110
+ total_memory: 0,
111
+ vendor,
112
+ uuid: `vulkan-${device.index}`,
113
+ driver_version: device.driverVersion,
114
+ nvidia_info: null,
115
+ vulkan_info: vulkanFromDevice(device),
116
+ });
117
+ }
118
+ return { gpus, warnings };
119
+ }
120
+ /** The stable id of a non-NVIDIA GPU: the PNP instance on Windows, the PCI bus id (or DRM node) on Linux. */
121
+ function opaqueId(row) {
122
+ return isWindowsAdapter(row) ? row.pnpDeviceId : (row.busId ?? row.card);
123
+ }
124
+ /** The `SystemInfo` the core serves; `extensions_known` is the one field the plugin never had. */
125
+ export function assembleSystemInfo(input) {
126
+ const cpu = {
127
+ name: input.cpu.name,
128
+ core_count: input.cpu.coreCount,
129
+ arch: input.cpu.arch,
130
+ extensions: input.cpu.extensions ? [...input.cpu.extensions] : [],
131
+ extensions_known: input.cpu.extensions !== undefined,
132
+ };
133
+ return {
134
+ cpu,
135
+ os_type: input.osType,
136
+ os_name: input.osName,
137
+ total_memory: input.totalMemoryMiB,
138
+ gpus: input.gpus,
139
+ };
140
+ }
141
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/hardware/merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * `nvidia-smi --query-gpu=… --format=csv,noheader,nounits`: the one tool that knows an NVIDIA driver's
3
+ * exact version and a GPU's compute capability without NVML being linked, both of which decide the
4
+ * CUDA tier a backend is chosen from.
5
+ *
6
+ * Pure: the arguments to run, the CSV that comes back, the `GpuInfo` it becomes. The I/O runner picks
7
+ * the first candidate path that exists and retries with `NVIDIA_SMI_FIELDS_LEGACY` when the driver is
8
+ * too old to know `compute_cap` (added in 470).
9
+ */
10
+ import type { GpuInfo } from '../contracts/index.js';
11
+ export declare const NVIDIA_SMI_FIELDS: readonly string[];
12
+ /** Drivers before 470 refuse `compute_cap`; the compute capability is then `''` (unknown). */
13
+ export declare const NVIDIA_SMI_FIELDS_LEGACY: readonly string[];
14
+ export declare function nvidiaSmiArgs(fields: readonly string[]): string[];
15
+ /** `Field "compute_cap" is not a valid field to query.` — the driver is older than the field. */
16
+ export declare function isUnknownFieldError(stderr: string): boolean;
17
+ /** One CSV row keyed by field name; a value the tool could not report is absent. */
18
+ export type NvidiaSmiRow = Record<string, string | undefined>;
19
+ /**
20
+ * Rows in `fields` order. Lines whose column count does not match (a warning the tool printed to
21
+ * stdout, an empty trailing line) are dropped rather than mis-keyed, and so is a header line (a
22
+ * query without `noheader`), which would otherwise read as a card named `name`.
23
+ */
24
+ export declare function parseNvidiaSmiCsv(stdout: string, fields: readonly string[]): NvidiaSmiRow[];
25
+ /**
26
+ * The plugin's `GpuInfo` for one nvidia-smi row: NVML's uuid without `GPU-`, MiB (with or without the
27
+ * ` MiB` a query without `nounits` appends), `''` for an unknown compute capability. An unreported
28
+ * size — `[N/A]` on a unified-memory card such as the GB10 — is `total_memory: 0`, the app's own
29
+ * "unknown" in this contract, never `NaN`.
30
+ */
31
+ export declare function nvidiaGpuFromRow(row: NvidiaSmiRow): GpuInfo;
32
+ /** The row's PCI bus id in sysfs spelling, for matching against `/sys/class/drm`; absent when unreported. */
33
+ export declare function nvidiaBusIdOf(row: NvidiaSmiRow): string | undefined;
34
+ /**
35
+ * nvidia-smi prints a 32-bit domain (`00000000:01:00.0`); sysfs and vulkaninfo a 16-bit one
36
+ * (`0000:01:00.0`). Lower case, four-digit domain; anything else is returned trimmed and lower-cased.
37
+ */
38
+ export declare function normalizePciBusId(busId: string): string;
39
+ /**
40
+ * Where `nvidia-smi` lives, in the order to try: PATH first, then the driver's own install
41
+ * locations, which are not on PATH for a service or a fresh shell. WSL ships it under `/usr/lib/wsl/lib`.
42
+ */
43
+ export declare function nvidiaSmiCandidates(platform: NodeJS.Platform | string, env: NodeJS.ProcessEnv): string[];
@@ -0,0 +1,118 @@
1
+ /**
2
+ * `nvidia-smi --query-gpu=… --format=csv,noheader,nounits`: the one tool that knows an NVIDIA driver's
3
+ * exact version and a GPU's compute capability without NVML being linked, both of which decide the
4
+ * CUDA tier a backend is chosen from.
5
+ *
6
+ * Pure: the arguments to run, the CSV that comes back, the `GpuInfo` it becomes. The I/O runner picks
7
+ * the first candidate path that exists and retries with `NVIDIA_SMI_FIELDS_LEGACY` when the driver is
8
+ * too old to know `compute_cap` (added in 470).
9
+ */
10
+ export const NVIDIA_SMI_FIELDS = [
11
+ 'index',
12
+ 'name',
13
+ 'uuid',
14
+ 'memory.total',
15
+ 'driver_version',
16
+ 'compute_cap',
17
+ 'pci.bus_id',
18
+ ];
19
+ /** Drivers before 470 refuse `compute_cap`; the compute capability is then `''` (unknown). */
20
+ export const NVIDIA_SMI_FIELDS_LEGACY = NVIDIA_SMI_FIELDS.filter((f) => f !== 'compute_cap');
21
+ export function nvidiaSmiArgs(fields) {
22
+ return [`--query-gpu=${fields.join(',')}`, '--format=csv,noheader,nounits'];
23
+ }
24
+ /** `Field "compute_cap" is not a valid field to query.` — the driver is older than the field. */
25
+ export function isUnknownFieldError(stderr) {
26
+ return /not a valid field to query/i.test(stderr);
27
+ }
28
+ const UNREPORTED = new Set([
29
+ '[N/A]',
30
+ '[Not Supported]',
31
+ 'N/A',
32
+ '[Unknown Error]',
33
+ '[Insufficient Permissions]',
34
+ ]);
35
+ /** A header cell is the field name, with ` [MiB]`-style units when the query asked for them. */
36
+ function isHeaderLine(cells, fields) {
37
+ return cells.every((cell, i) => cell.replace(/\s*\[[^\]]*\]$/, '') === fields[i]);
38
+ }
39
+ /**
40
+ * Rows in `fields` order. Lines whose column count does not match (a warning the tool printed to
41
+ * stdout, an empty trailing line) are dropped rather than mis-keyed, and so is a header line (a
42
+ * query without `noheader`), which would otherwise read as a card named `name`.
43
+ */
44
+ export function parseNvidiaSmiCsv(stdout, fields) {
45
+ const rows = [];
46
+ for (const line of stdout.split(/\r?\n/)) {
47
+ if (line.trim() === '')
48
+ continue;
49
+ const cells = line.split(',').map((cell) => cell.trim());
50
+ if (cells.length !== fields.length || isHeaderLine(cells, fields))
51
+ continue;
52
+ const row = {};
53
+ fields.forEach((field, i) => {
54
+ const cell = cells[i] ?? '';
55
+ if (cell !== '' && !UNREPORTED.has(cell))
56
+ row[field] = cell;
57
+ });
58
+ rows.push(row);
59
+ }
60
+ return rows;
61
+ }
62
+ /**
63
+ * The plugin's `GpuInfo` for one nvidia-smi row: NVML's uuid without `GPU-`, MiB (with or without the
64
+ * ` MiB` a query without `nounits` appends), `''` for an unknown compute capability. An unreported
65
+ * size — `[N/A]` on a unified-memory card such as the GB10 — is `total_memory: 0`, the app's own
66
+ * "unknown" in this contract, never `NaN`.
67
+ */
68
+ export function nvidiaGpuFromRow(row) {
69
+ const index = Number(row['index']);
70
+ const memory = Number((row['memory.total'] ?? '').replace(/\s*MiB$/, ''));
71
+ return {
72
+ name: row['name'] ?? 'NVIDIA GPU',
73
+ total_memory: Number.isFinite(memory) && memory > 0 ? Math.floor(memory) : 0,
74
+ vendor: 'NVIDIA',
75
+ uuid: (row['uuid'] ?? '').replace(/^GPU-/i, ''),
76
+ driver_version: row['driver_version'] ?? '',
77
+ nvidia_info: {
78
+ index: Number.isInteger(index) && index >= 0 ? index : 0,
79
+ compute_capability: row['compute_cap'] ?? '',
80
+ },
81
+ vulkan_info: null,
82
+ };
83
+ }
84
+ /** The row's PCI bus id in sysfs spelling, for matching against `/sys/class/drm`; absent when unreported. */
85
+ export function nvidiaBusIdOf(row) {
86
+ const raw = row['pci.bus_id'];
87
+ return raw === undefined ? undefined : normalizePciBusId(raw);
88
+ }
89
+ /**
90
+ * nvidia-smi prints a 32-bit domain (`00000000:01:00.0`); sysfs and vulkaninfo a 16-bit one
91
+ * (`0000:01:00.0`). Lower case, four-digit domain; anything else is returned trimmed and lower-cased.
92
+ */
93
+ export function normalizePciBusId(busId) {
94
+ const m = /^([0-9a-f]+):([0-9a-f]{2}):([0-9a-f]{2})\.([0-9a-f])$/i.exec(busId.trim());
95
+ if (!m)
96
+ return busId.trim().toLowerCase();
97
+ const domain = (m[1] ?? '').toLowerCase().slice(-4).padStart(4, '0');
98
+ return `${domain}:${m[2]}:${m[3]}.${m[4]}`.toLowerCase();
99
+ }
100
+ /**
101
+ * Where `nvidia-smi` lives, in the order to try: PATH first, then the driver's own install
102
+ * locations, which are not on PATH for a service or a fresh shell. WSL ships it under `/usr/lib/wsl/lib`.
103
+ */
104
+ export function nvidiaSmiCandidates(platform, env) {
105
+ if (platform === 'win32') {
106
+ const systemRoot = env['SystemRoot'] ?? env['SYSTEMROOT'] ?? 'C:\\Windows';
107
+ const programFiles = env['ProgramFiles'] ?? env['PROGRAMFILES'] ?? 'C:\\Program Files';
108
+ return [
109
+ 'nvidia-smi',
110
+ `${systemRoot}\\System32\\nvidia-smi.exe`,
111
+ `${programFiles}\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe`,
112
+ ];
113
+ }
114
+ if (platform === 'linux')
115
+ return ['nvidia-smi', '/usr/bin/nvidia-smi', '/usr/lib/wsl/lib/nvidia-smi'];
116
+ return [];
117
+ }
118
+ //# sourceMappingURL=nvidia-smi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nvidia-smi.js","sourceRoot":"","sources":["../../src/hardware/nvidia-smi.ts"],"names":[],"mappings":"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"}