@atomic-chat/core 0.5.1 → 0.13.6

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 (1011) 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 +46 -5
  170. package/dist/core/atomic-core.js +25 -0
  171. package/dist/core/atomic-core.js.map +1 -1
  172. package/dist/core/create.js +523 -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 +38 -0
  209. package/dist/core/prism.js +43 -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 +5 -2
  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/tensorrt-llm.d.ts +169 -0
  218. package/dist/core/tensorrt-llm.js +428 -0
  219. package/dist/core/tensorrt-llm.js.map +1 -0
  220. package/dist/core/types.d.ts +43 -1
  221. package/dist/core/types.js.map +1 -1
  222. package/dist/decision/args.d.ts +110 -0
  223. package/dist/decision/args.js +126 -0
  224. package/dist/decision/args.js.map +1 -0
  225. package/dist/decision/backoff.d.ts +25 -0
  226. package/dist/decision/backoff.js +33 -0
  227. package/dist/decision/backoff.js.map +1 -0
  228. package/dist/decision/engine-candidates.d.ts +52 -0
  229. package/dist/decision/engine-candidates.js +138 -0
  230. package/dist/decision/engine-candidates.js.map +1 -0
  231. package/dist/decision/engine-fallback.d.ts +41 -0
  232. package/dist/decision/engine-fallback.js +57 -0
  233. package/dist/decision/engine-fallback.js.map +1 -0
  234. package/dist/decision/engine-version.d.ts +27 -0
  235. package/dist/decision/engine-version.js +54 -0
  236. package/dist/decision/engine-version.js.map +1 -0
  237. package/dist/decision/engine.d.ts +114 -0
  238. package/dist/decision/engine.js +253 -0
  239. package/dist/decision/engine.js.map +1 -0
  240. package/dist/decision/http.d.ts +36 -0
  241. package/dist/decision/http.js +73 -0
  242. package/dist/decision/http.js.map +1 -0
  243. package/dist/decision/index.d.ts +20 -0
  244. package/dist/decision/index.js +21 -0
  245. package/dist/decision/index.js.map +1 -0
  246. package/dist/decision/model-facts.d.ts +32 -0
  247. package/dist/decision/model-facts.js +40 -0
  248. package/dist/decision/model-facts.js.map +1 -0
  249. package/dist/decision/outcome.d.ts +35 -0
  250. package/dist/decision/outcome.js +105 -0
  251. package/dist/decision/outcome.js.map +1 -0
  252. package/dist/decision/process.d.ts +71 -0
  253. package/dist/decision/process.js +142 -0
  254. package/dist/decision/process.js.map +1 -0
  255. package/dist/decision/readiness.d.ts +74 -0
  256. package/dist/decision/readiness.js +165 -0
  257. package/dist/decision/readiness.js.map +1 -0
  258. package/dist/decision/request.d.ts +11 -0
  259. package/dist/decision/request.js +56 -0
  260. package/dist/decision/request.js.map +1 -0
  261. package/dist/decision/service.d.ts +202 -0
  262. package/dist/decision/service.js +711 -0
  263. package/dist/decision/service.js.map +1 -0
  264. package/dist/decision/upstream-version.d.ts +23 -0
  265. package/dist/decision/upstream-version.js +34 -0
  266. package/dist/decision/upstream-version.js.map +1 -0
  267. package/dist/decision/wiring.d.ts +67 -0
  268. package/dist/decision/wiring.js +101 -0
  269. package/dist/decision/wiring.js.map +1 -0
  270. package/dist/diffusion/args.d.ts +7 -4
  271. package/dist/diffusion/args.js +31 -7
  272. package/dist/diffusion/args.js.map +1 -1
  273. package/dist/diffusion/compat.d.ts +1 -1
  274. package/dist/diffusion/compat.js +6 -2
  275. package/dist/diffusion/compat.js.map +1 -1
  276. package/dist/diffusion/image-job.js +1 -1
  277. package/dist/diffusion/image-job.js.map +1 -1
  278. package/dist/diffusion/install.d.ts +35 -11
  279. package/dist/diffusion/install.js +74 -49
  280. package/dist/diffusion/install.js.map +1 -1
  281. package/dist/diffusion/job-kind.d.ts +33 -7
  282. package/dist/diffusion/jobs.d.ts +6 -1
  283. package/dist/diffusion/jobs.js +64 -18
  284. package/dist/diffusion/jobs.js.map +1 -1
  285. package/dist/diffusion/parse.d.ts +1 -2
  286. package/dist/diffusion/parse.js +1 -13
  287. package/dist/diffusion/parse.js.map +1 -1
  288. package/dist/diffusion/progress.js +3 -0
  289. package/dist/diffusion/progress.js.map +1 -1
  290. package/dist/diffusion/server-process.d.ts +6 -0
  291. package/dist/diffusion/server-process.js +3 -2
  292. package/dist/diffusion/server-process.js.map +1 -1
  293. package/dist/diffusion/service.d.ts +52 -6
  294. package/dist/diffusion/service.js +215 -40
  295. package/dist/diffusion/service.js.map +1 -1
  296. package/dist/diffusion/session.d.ts +27 -3
  297. package/dist/diffusion/session.js +108 -17
  298. package/dist/diffusion/session.js.map +1 -1
  299. package/dist/diffusion/state.d.ts +19 -1
  300. package/dist/diffusion/state.js +10 -0
  301. package/dist/diffusion/state.js.map +1 -1
  302. package/dist/diffusion/tracker.d.ts +21 -1
  303. package/dist/diffusion/tracker.js +43 -6
  304. package/dist/diffusion/tracker.js.map +1 -1
  305. package/dist/diffusion/types.d.ts +7 -0
  306. package/dist/diffusion/types.js +11 -0
  307. package/dist/diffusion/types.js.map +1 -1
  308. package/dist/diffusion/validate.js +2 -2
  309. package/dist/diffusion/validate.js.map +1 -1
  310. package/dist/diffusion/video-estimate.d.ts +214 -0
  311. package/dist/diffusion/video-estimate.js +402 -0
  312. package/dist/diffusion/video-estimate.js.map +1 -0
  313. package/dist/diffusion/video-eta.d.ts +90 -0
  314. package/dist/diffusion/video-eta.js +248 -0
  315. package/dist/diffusion/video-eta.js.map +1 -0
  316. package/dist/diffusion/video-history.d.ts +45 -0
  317. package/dist/diffusion/video-history.js +121 -0
  318. package/dist/diffusion/video-history.js.map +1 -0
  319. package/dist/diffusion/video-job.d.ts +13 -5
  320. package/dist/diffusion/video-job.js +42 -15
  321. package/dist/diffusion/video-job.js.map +1 -1
  322. package/dist/diffusion/video-recipe.js +3 -0
  323. package/dist/diffusion/video-recipe.js.map +1 -1
  324. package/dist/diffusion/video-tiling.d.ts +54 -0
  325. package/dist/diffusion/video-tiling.js +70 -0
  326. package/dist/diffusion/video-tiling.js.map +1 -0
  327. package/dist/diffusion/wiring.d.ts +14 -1
  328. package/dist/diffusion/wiring.js +7 -0
  329. package/dist/diffusion/wiring.js.map +1 -1
  330. package/dist/diffusion/workflow.d.ts +8 -2
  331. package/dist/diffusion/workflow.js +13 -5
  332. package/dist/diffusion/workflow.js.map +1 -1
  333. package/dist/downloads/downloader.d.ts +22 -0
  334. package/dist/downloads/downloader.js +57 -2
  335. package/dist/downloads/downloader.js.map +1 -1
  336. package/dist/downloads/protocol.d.ts +3 -8
  337. package/dist/downloads/protocol.js.map +1 -1
  338. package/dist/downloads/segmented.d.ts +40 -0
  339. package/dist/downloads/segmented.js +170 -0
  340. package/dist/downloads/segmented.js.map +1 -0
  341. package/dist/embedding/args.d.ts +39 -0
  342. package/dist/embedding/args.js +46 -0
  343. package/dist/embedding/args.js.map +1 -0
  344. package/dist/embedding/engine.d.ts +50 -0
  345. package/dist/embedding/engine.js +100 -0
  346. package/dist/embedding/engine.js.map +1 -0
  347. package/dist/embedding/ffmpeg.d.ts +18 -0
  348. package/dist/embedding/ffmpeg.js +63 -0
  349. package/dist/embedding/ffmpeg.js.map +1 -0
  350. package/dist/embedding/index.d.ts +16 -0
  351. package/dist/embedding/index.js +17 -0
  352. package/dist/embedding/index.js.map +1 -0
  353. package/dist/embedding/model-facts.d.ts +51 -0
  354. package/dist/embedding/model-facts.js +84 -0
  355. package/dist/embedding/model-facts.js.map +1 -0
  356. package/dist/embedding/process.d.ts +70 -0
  357. package/dist/embedding/process.js +140 -0
  358. package/dist/embedding/process.js.map +1 -0
  359. package/dist/embedding/readiness.d.ts +56 -0
  360. package/dist/embedding/readiness.js +114 -0
  361. package/dist/embedding/readiness.js.map +1 -0
  362. package/dist/embedding/request.d.ts +43 -0
  363. package/dist/embedding/request.js +285 -0
  364. package/dist/embedding/request.js.map +1 -0
  365. package/dist/embedding/service.d.ts +152 -0
  366. package/dist/embedding/service.js +602 -0
  367. package/dist/embedding/service.js.map +1 -0
  368. package/dist/embedding/wiring.d.ts +51 -0
  369. package/dist/embedding/wiring.js +79 -0
  370. package/dist/embedding/wiring.js.map +1 -0
  371. package/dist/engine-builds/builds.d.ts +54 -0
  372. package/dist/engine-builds/builds.js +151 -0
  373. package/dist/engine-builds/builds.js.map +1 -0
  374. package/dist/engine-builds/index.d.ts +10 -0
  375. package/dist/engine-builds/index.js +11 -0
  376. package/dist/engine-builds/index.js.map +1 -0
  377. package/dist/engine-builds/install.d.ts +42 -0
  378. package/dist/engine-builds/install.js +100 -0
  379. package/dist/engine-builds/install.js.map +1 -0
  380. package/dist/engine-builds/manifest.d.ts +121 -0
  381. package/dist/engine-builds/manifest.js +254 -0
  382. package/dist/engine-builds/manifest.js.map +1 -0
  383. package/dist/engine-builds/order.d.ts +24 -0
  384. package/dist/engine-builds/order.js +44 -0
  385. package/dist/engine-builds/order.js.map +1 -0
  386. package/dist/engine-builds/select.d.ts +123 -0
  387. package/dist/engine-builds/select.js +223 -0
  388. package/dist/engine-builds/select.js.map +1 -0
  389. package/dist/engine-builds/service.d.ts +123 -0
  390. package/dist/engine-builds/service.js +392 -0
  391. package/dist/engine-builds/service.js.map +1 -0
  392. package/dist/engines/descriptor-order.d.ts +28 -0
  393. package/dist/engines/descriptor-order.js +60 -0
  394. package/dist/engines/descriptor-order.js.map +1 -0
  395. package/dist/engines/engine-build.d.ts +23 -0
  396. package/dist/engines/engine-build.js +58 -0
  397. package/dist/engines/engine-build.js.map +1 -0
  398. package/dist/engines/index.d.ts +10 -0
  399. package/dist/engines/index.js +11 -0
  400. package/dist/engines/index.js.map +1 -0
  401. package/dist/engines/llamacpp.d.ts +71 -0
  402. package/dist/engines/llamacpp.js +176 -0
  403. package/dist/engines/llamacpp.js.map +1 -0
  404. package/dist/engines/managed.d.ts +49 -0
  405. package/dist/engines/managed.js +88 -0
  406. package/dist/engines/managed.js.map +1 -0
  407. package/dist/engines/service.d.ts +46 -0
  408. package/dist/engines/service.js +61 -0
  409. package/dist/engines/service.js.map +1 -0
  410. package/dist/engines/versions.d.ts +65 -0
  411. package/dist/engines/versions.js +259 -0
  412. package/dist/engines/versions.js.map +1 -0
  413. package/dist/hardware/cpu-flags.d.ts +44 -0
  414. package/dist/hardware/cpu-flags.js +206 -0
  415. package/dist/hardware/cpu-flags.js.map +1 -0
  416. package/dist/hardware/drm-sysfs.d.ts +51 -0
  417. package/dist/hardware/drm-sysfs.js +67 -0
  418. package/dist/hardware/drm-sysfs.js.map +1 -0
  419. package/dist/hardware/facts.d.ts +42 -0
  420. package/dist/hardware/facts.js +92 -0
  421. package/dist/hardware/facts.js.map +1 -0
  422. package/dist/hardware/index.d.ts +19 -3
  423. package/dist/hardware/index.js +19 -3
  424. package/dist/hardware/index.js.map +1 -1
  425. package/dist/hardware/merge.d.ts +55 -0
  426. package/dist/hardware/merge.js +141 -0
  427. package/dist/hardware/merge.js.map +1 -0
  428. package/dist/hardware/nvidia-smi.d.ts +43 -0
  429. package/dist/hardware/nvidia-smi.js +118 -0
  430. package/dist/hardware/nvidia-smi.js.map +1 -0
  431. package/dist/hardware/probe-common.d.ts +72 -0
  432. package/dist/hardware/probe-common.js +106 -0
  433. package/dist/hardware/probe-common.js.map +1 -0
  434. package/dist/hardware/probe-darwin.d.ts +20 -0
  435. package/dist/hardware/probe-darwin.js +76 -0
  436. package/dist/hardware/probe-darwin.js.map +1 -0
  437. package/dist/hardware/probe-linux.d.ts +9 -0
  438. package/dist/hardware/probe-linux.js +133 -0
  439. package/dist/hardware/probe-linux.js.map +1 -0
  440. package/dist/hardware/probe-windows.d.ts +7 -0
  441. package/dist/hardware/probe-windows.js +50 -0
  442. package/dist/hardware/probe-windows.js.map +1 -0
  443. package/dist/hardware/probe.d.ts +16 -0
  444. package/dist/hardware/probe.js +65 -0
  445. package/dist/hardware/probe.js.map +1 -0
  446. package/dist/hardware/service.d.ts +60 -0
  447. package/dist/hardware/service.js +114 -0
  448. package/dist/hardware/service.js.map +1 -0
  449. package/dist/hardware/vulkan.d.ts +47 -0
  450. package/dist/hardware/vulkan.js +148 -0
  451. package/dist/hardware/vulkan.js.map +1 -0
  452. package/dist/hardware/windows-video.d.ts +97 -0
  453. package/dist/hardware/windows-video.js +214 -0
  454. package/dist/hardware/windows-video.js.map +1 -0
  455. package/dist/host/app-daemon.d.ts +47 -0
  456. package/dist/host/app-daemon.js +146 -0
  457. package/dist/host/app-daemon.js.map +1 -0
  458. package/dist/host/index.d.ts +5 -3
  459. package/dist/host/index.js +5 -3
  460. package/dist/host/index.js.map +1 -1
  461. package/dist/host/log-file.d.ts +74 -0
  462. package/dist/host/log-file.js +214 -0
  463. package/dist/host/log-file.js.map +1 -0
  464. package/dist/host/recipes/enable-wsl.d.ts +63 -0
  465. package/dist/host/recipes/enable-wsl.js +73 -0
  466. package/dist/host/recipes/enable-wsl.js.map +1 -0
  467. package/dist/host/recipes/executor-io-windows.d.ts +69 -0
  468. package/dist/host/recipes/executor-io-windows.js +235 -0
  469. package/dist/host/recipes/executor-io-windows.js.map +1 -0
  470. package/dist/host/recipes/executor-io.d.ts +80 -0
  471. package/dist/host/recipes/executor-io.js +211 -0
  472. package/dist/host/recipes/executor-io.js.map +1 -0
  473. package/dist/host/recipes/executor.d.ts +81 -0
  474. package/dist/host/recipes/executor.js +678 -0
  475. package/dist/host/recipes/executor.js.map +1 -0
  476. package/dist/host/recipes/guest-executor.d.ts +29 -0
  477. package/dist/host/recipes/guest-executor.js +76 -0
  478. package/dist/host/recipes/guest-executor.js.map +1 -0
  479. package/dist/host/recipes/index.d.ts +16 -0
  480. package/dist/host/recipes/index.js +17 -0
  481. package/dist/host/recipes/index.js.map +1 -0
  482. package/dist/host/recipes/install-container-runtime.d.ts +389 -0
  483. package/dist/host/recipes/install-container-runtime.js +796 -0
  484. package/dist/host/recipes/install-container-runtime.js.map +1 -0
  485. package/dist/host/recipes/openpgp.d.ts +23 -0
  486. package/dist/host/recipes/openpgp.js +153 -0
  487. package/dist/host/recipes/openpgp.js.map +1 -0
  488. package/dist/host/recipes/request-file.d.ts +96 -0
  489. package/dist/host/recipes/request-file.js +103 -0
  490. package/dist/host/recipes/request-file.js.map +1 -0
  491. package/dist/lock/process-journal.d.ts +5 -2
  492. package/dist/lock/process-journal.js.map +1 -1
  493. package/dist/models/capabilities.d.ts +7 -0
  494. package/dist/models/capabilities.js +17 -1
  495. package/dist/models/capabilities.js.map +1 -1
  496. package/dist/models/compatibility/index.d.ts +10 -0
  497. package/dist/models/compatibility/index.js +11 -0
  498. package/dist/models/compatibility/index.js.map +1 -0
  499. package/dist/models/compatibility/inspect.d.ts +28 -0
  500. package/dist/models/compatibility/inspect.js +90 -0
  501. package/dist/models/compatibility/inspect.js.map +1 -0
  502. package/dist/models/compatibility/resolve.d.ts +59 -0
  503. package/dist/models/compatibility/resolve.js +219 -0
  504. package/dist/models/compatibility/resolve.js.map +1 -0
  505. package/dist/models/compatibility/rules-baseline.d.ts +2 -0
  506. package/dist/models/compatibility/rules-baseline.js +10 -0
  507. package/dist/models/compatibility/rules-baseline.js.map +1 -0
  508. package/dist/models/compatibility/rules-baseline.json +292 -0
  509. package/dist/models/compatibility/rules-service.d.ts +36 -0
  510. package/dist/models/compatibility/rules-service.js +109 -0
  511. package/dist/models/compatibility/rules-service.js.map +1 -0
  512. package/dist/models/compatibility/rules.d.ts +81 -0
  513. package/dist/models/compatibility/rules.js +164 -0
  514. package/dist/models/compatibility/rules.js.map +1 -0
  515. package/dist/models/compatibility/service.d.ts +62 -0
  516. package/dist/models/compatibility/service.js +138 -0
  517. package/dist/models/compatibility/service.js.map +1 -0
  518. package/dist/models/decision-checkpoint.d.ts +22 -0
  519. package/dist/models/decision-checkpoint.js +33 -0
  520. package/dist/models/decision-checkpoint.js.map +1 -0
  521. package/dist/models/gguf/classify.d.ts +27 -1
  522. package/dist/models/gguf/classify.js +78 -2
  523. package/dist/models/gguf/classify.js.map +1 -1
  524. package/dist/models/gguf/index.d.ts +1 -0
  525. package/dist/models/gguf/index.js +1 -0
  526. package/dist/models/gguf/index.js.map +1 -1
  527. package/dist/models/gguf/tensors.d.ts +57 -0
  528. package/dist/models/gguf/tensors.js +239 -0
  529. package/dist/models/gguf/tensors.js.map +1 -0
  530. package/dist/models/index.d.ts +2 -0
  531. package/dist/models/index.js +2 -0
  532. package/dist/models/index.js.map +1 -1
  533. package/dist/router/resolve.d.ts +7 -1
  534. package/dist/router/resolve.js +14 -1
  535. package/dist/router/resolve.js.map +1 -1
  536. package/dist/runtime/container/argv.d.ts +88 -0
  537. package/dist/runtime/container/argv.js +406 -0
  538. package/dist/runtime/container/argv.js.map +1 -0
  539. package/dist/runtime/container/docker-binary.d.ts +4 -0
  540. package/dist/runtime/container/docker-binary.js +34 -0
  541. package/dist/runtime/container/docker-binary.js.map +1 -0
  542. package/dist/runtime/container/env.d.ts +17 -0
  543. package/dist/runtime/container/env.js +52 -0
  544. package/dist/runtime/container/env.js.map +1 -0
  545. package/dist/runtime/container/exec.d.ts +27 -0
  546. package/dist/runtime/container/exec.js +79 -0
  547. package/dist/runtime/container/exec.js.map +1 -0
  548. package/dist/runtime/container/execution-journal.d.ts +55 -0
  549. package/dist/runtime/container/execution-journal.js +167 -0
  550. package/dist/runtime/container/execution-journal.js.map +1 -0
  551. package/dist/runtime/container/heartbeat.d.ts +47 -0
  552. package/dist/runtime/container/heartbeat.js +78 -0
  553. package/dist/runtime/container/heartbeat.js.map +1 -0
  554. package/dist/runtime/container/index.d.ts +30 -0
  555. package/dist/runtime/container/index.js +31 -0
  556. package/dist/runtime/container/index.js.map +1 -0
  557. package/dist/runtime/container/operations.d.ts +40 -0
  558. package/dist/runtime/container/operations.js +233 -0
  559. package/dist/runtime/container/operations.js.map +1 -0
  560. package/dist/runtime/container/pull.d.ts +48 -0
  561. package/dist/runtime/container/pull.js +280 -0
  562. package/dist/runtime/container/pull.js.map +1 -0
  563. package/dist/runtime/container/reconcile.d.ts +34 -0
  564. package/dist/runtime/container/reconcile.js +79 -0
  565. package/dist/runtime/container/reconcile.js.map +1 -0
  566. package/dist/runtime/container/types.d.ts +124 -0
  567. package/dist/runtime/container/types.js +2 -0
  568. package/dist/runtime/container/types.js.map +1 -0
  569. package/dist/runtime/container/watchdog.d.ts +114 -0
  570. package/dist/runtime/container/watchdog.js +418 -0
  571. package/dist/runtime/container/watchdog.js.map +1 -0
  572. package/dist/runtime/container/wiring.d.ts +78 -0
  573. package/dist/runtime/container/wiring.js +92 -0
  574. package/dist/runtime/container/wiring.js.map +1 -0
  575. package/dist/runtime/container/wsl-exec.d.ts +13 -0
  576. package/dist/runtime/container/wsl-exec.js +18 -0
  577. package/dist/runtime/container/wsl-exec.js.map +1 -0
  578. package/dist/runtime/environment/cached-document.d.ts +128 -0
  579. package/dist/runtime/environment/cached-document.js +218 -0
  580. package/dist/runtime/environment/cached-document.js.map +1 -0
  581. package/dist/runtime/environment/canonical-json.d.ts +78 -0
  582. package/dist/runtime/environment/canonical-json.js +86 -0
  583. package/dist/runtime/environment/canonical-json.js.map +1 -0
  584. package/dist/runtime/environment/descriptor-provider.d.ts +121 -0
  585. package/dist/runtime/environment/descriptor-provider.js +159 -0
  586. package/dist/runtime/environment/descriptor-provider.js.map +1 -0
  587. package/dist/runtime/environment/descriptor.d.ts +35 -0
  588. package/dist/runtime/environment/descriptor.js +239 -0
  589. package/dist/runtime/environment/descriptor.js.map +1 -0
  590. package/dist/runtime/environment/diagnostics.d.ts +50 -0
  591. package/dist/runtime/environment/diagnostics.js +114 -0
  592. package/dist/runtime/environment/diagnostics.js.map +1 -0
  593. package/dist/runtime/environment/document-fields.d.ts +39 -0
  594. package/dist/runtime/environment/document-fields.js +96 -0
  595. package/dist/runtime/environment/document-fields.js.map +1 -0
  596. package/dist/runtime/environment/environment-manifest-provider.d.ts +65 -0
  597. package/dist/runtime/environment/environment-manifest-provider.js +89 -0
  598. package/dist/runtime/environment/environment-manifest-provider.js.map +1 -0
  599. package/dist/runtime/environment/environment-manifest.d.ts +35 -0
  600. package/dist/runtime/environment/environment-manifest.js +131 -0
  601. package/dist/runtime/environment/environment-manifest.js.map +1 -0
  602. package/dist/runtime/environment/guest-host.d.ts +43 -0
  603. package/dist/runtime/environment/guest-host.js +88 -0
  604. package/dist/runtime/environment/guest-host.js.map +1 -0
  605. package/dist/runtime/environment/host-exec.d.ts +38 -0
  606. package/dist/runtime/environment/host-exec.js +145 -0
  607. package/dist/runtime/environment/host-exec.js.map +1 -0
  608. package/dist/runtime/environment/host-step-failure.d.ts +33 -0
  609. package/dist/runtime/environment/host-step-failure.js +34 -0
  610. package/dist/runtime/environment/host-step-failure.js.map +1 -0
  611. package/dist/runtime/environment/index.d.ts +56 -0
  612. package/dist/runtime/environment/index.js +57 -0
  613. package/dist/runtime/environment/index.js.map +1 -0
  614. package/dist/runtime/environment/installations.d.ts +25 -0
  615. package/dist/runtime/environment/installations.js +70 -0
  616. package/dist/runtime/environment/installations.js.map +1 -0
  617. package/dist/runtime/environment/inventory.d.ts +42 -0
  618. package/dist/runtime/environment/inventory.js +57 -0
  619. package/dist/runtime/environment/inventory.js.map +1 -0
  620. package/dist/runtime/environment/linux-blockers.d.ts +130 -0
  621. package/dist/runtime/environment/linux-blockers.js +251 -0
  622. package/dist/runtime/environment/linux-blockers.js.map +1 -0
  623. package/dist/runtime/environment/linux-docker-facts.d.ts +200 -0
  624. package/dist/runtime/environment/linux-docker-facts.js +342 -0
  625. package/dist/runtime/environment/linux-docker-facts.js.map +1 -0
  626. package/dist/runtime/environment/linux-docker-network.d.ts +80 -0
  627. package/dist/runtime/environment/linux-docker-network.js +195 -0
  628. package/dist/runtime/environment/linux-docker-network.js.map +1 -0
  629. package/dist/runtime/environment/linux-host.d.ts +22 -0
  630. package/dist/runtime/environment/linux-host.js +98 -0
  631. package/dist/runtime/environment/linux-host.js.map +1 -0
  632. package/dist/runtime/environment/linux-plan.d.ts +126 -0
  633. package/dist/runtime/environment/linux-plan.js +392 -0
  634. package/dist/runtime/environment/linux-plan.js.map +1 -0
  635. package/dist/runtime/environment/linux-probe.d.ts +245 -0
  636. package/dist/runtime/environment/linux-probe.js +315 -0
  637. package/dist/runtime/environment/linux-probe.js.map +1 -0
  638. package/dist/runtime/environment/linux-provisioner.d.ts +102 -0
  639. package/dist/runtime/environment/linux-provisioner.js +734 -0
  640. package/dist/runtime/environment/linux-provisioner.js.map +1 -0
  641. package/dist/runtime/environment/provisioner-descriptors.d.ts +17 -0
  642. package/dist/runtime/environment/provisioner-descriptors.js +62 -0
  643. package/dist/runtime/environment/provisioner-descriptors.js.map +1 -0
  644. package/dist/runtime/environment/recovery.d.ts +74 -0
  645. package/dist/runtime/environment/recovery.js +121 -0
  646. package/dist/runtime/environment/recovery.js.map +1 -0
  647. package/dist/runtime/environment/rootfs-download.d.ts +2 -0
  648. package/dist/runtime/environment/rootfs-download.js +47 -0
  649. package/dist/runtime/environment/rootfs-download.js.map +1 -0
  650. package/dist/runtime/environment/service.d.ts +280 -0
  651. package/dist/runtime/environment/service.js +776 -0
  652. package/dist/runtime/environment/service.js.map +1 -0
  653. package/dist/runtime/environment/state.d.ts +163 -0
  654. package/dist/runtime/environment/state.js +479 -0
  655. package/dist/runtime/environment/state.js.map +1 -0
  656. package/dist/runtime/environment/store-models.d.ts +19 -0
  657. package/dist/runtime/environment/store-models.js +30 -0
  658. package/dist/runtime/environment/store-models.js.map +1 -0
  659. package/dist/runtime/environment/store.d.ts +210 -0
  660. package/dist/runtime/environment/store.js +438 -0
  661. package/dist/runtime/environment/store.js.map +1 -0
  662. package/dist/runtime/environment/windows-environment-record.d.ts +48 -0
  663. package/dist/runtime/environment/windows-environment-record.js +89 -0
  664. package/dist/runtime/environment/windows-environment-record.js.map +1 -0
  665. package/dist/runtime/environment/windows-forwarding.d.ts +27 -0
  666. package/dist/runtime/environment/windows-forwarding.js +84 -0
  667. package/dist/runtime/environment/windows-forwarding.js.map +1 -0
  668. package/dist/runtime/environment/windows-guest-setup.d.ts +48 -0
  669. package/dist/runtime/environment/windows-guest-setup.js +157 -0
  670. package/dist/runtime/environment/windows-guest-setup.js.map +1 -0
  671. package/dist/runtime/environment/windows-host.d.ts +46 -0
  672. package/dist/runtime/environment/windows-host.js +163 -0
  673. package/dist/runtime/environment/windows-host.js.map +1 -0
  674. package/dist/runtime/environment/windows-plan.d.ts +78 -0
  675. package/dist/runtime/environment/windows-plan.js +216 -0
  676. package/dist/runtime/environment/windows-plan.js.map +1 -0
  677. package/dist/runtime/environment/windows-probe.d.ts +135 -0
  678. package/dist/runtime/environment/windows-probe.js +261 -0
  679. package/dist/runtime/environment/windows-probe.js.map +1 -0
  680. package/dist/runtime/environment/windows-provisioner.d.ts +113 -0
  681. package/dist/runtime/environment/windows-provisioner.js +782 -0
  682. package/dist/runtime/environment/windows-provisioner.js.map +1 -0
  683. package/dist/runtime/environment/wiring.d.ts +117 -0
  684. package/dist/runtime/environment/wiring.js +354 -0
  685. package/dist/runtime/environment/wiring.js.map +1 -0
  686. package/dist/runtime/foundation-models/runtime.d.ts +8 -0
  687. package/dist/runtime/foundation-models/runtime.js +5 -2
  688. package/dist/runtime/foundation-models/runtime.js.map +1 -1
  689. package/dist/runtime/llamacpp/args.d.ts +10 -1
  690. package/dist/runtime/llamacpp/args.js +43 -7
  691. package/dist/runtime/llamacpp/args.js.map +1 -1
  692. package/dist/runtime/llamacpp/fit-margin.d.ts +46 -0
  693. package/dist/runtime/llamacpp/fit-margin.js +47 -0
  694. package/dist/runtime/llamacpp/fit-margin.js.map +1 -0
  695. package/dist/runtime/llamacpp/index.d.ts +1 -0
  696. package/dist/runtime/llamacpp/index.js +1 -0
  697. package/dist/runtime/llamacpp/index.js.map +1 -1
  698. package/dist/runtime/llamacpp/load-plan.d.ts +23 -1
  699. package/dist/runtime/llamacpp/load-plan.js +82 -1
  700. package/dist/runtime/llamacpp/load-plan.js.map +1 -1
  701. package/dist/runtime/llamacpp/policy.d.ts +16 -0
  702. package/dist/runtime/llamacpp/policy.js +20 -0
  703. package/dist/runtime/llamacpp/policy.js.map +1 -1
  704. package/dist/runtime/llamacpp/probe.d.ts +21 -1
  705. package/dist/runtime/llamacpp/probe.js +32 -6
  706. package/dist/runtime/llamacpp/probe.js.map +1 -1
  707. package/dist/runtime/llamacpp/runtime.d.ts +56 -1
  708. package/dist/runtime/llamacpp/runtime.js +142 -15
  709. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  710. package/dist/runtime/managed-engines/index.d.ts +8 -0
  711. package/dist/runtime/managed-engines/index.js +9 -0
  712. package/dist/runtime/managed-engines/index.js.map +1 -0
  713. package/dist/runtime/managed-engines/runtime.d.ts +140 -0
  714. package/dist/runtime/managed-engines/runtime.js +402 -0
  715. package/dist/runtime/managed-engines/runtime.js.map +1 -0
  716. package/dist/runtime/managed-engines/spec.d.ts +70 -0
  717. package/dist/runtime/managed-engines/spec.js +39 -0
  718. package/dist/runtime/managed-engines/spec.js.map +1 -0
  719. package/dist/runtime/managed-models/check.d.ts +50 -0
  720. package/dist/runtime/managed-models/check.js +157 -0
  721. package/dist/runtime/managed-models/check.js.map +1 -0
  722. package/dist/runtime/managed-models/compatibility.d.ts +256 -0
  723. package/dist/runtime/managed-models/compatibility.js +594 -0
  724. package/dist/runtime/managed-models/compatibility.js.map +1 -0
  725. package/dist/runtime/managed-models/delete.d.ts +15 -0
  726. package/dist/runtime/managed-models/delete.js +60 -0
  727. package/dist/runtime/managed-models/delete.js.map +1 -0
  728. package/dist/runtime/managed-models/guest-files.d.ts +8 -0
  729. package/dist/runtime/managed-models/guest-files.js +49 -0
  730. package/dist/runtime/managed-models/guest-files.js.map +1 -0
  731. package/dist/runtime/managed-models/index.d.ts +17 -0
  732. package/dist/runtime/managed-models/index.js +18 -0
  733. package/dist/runtime/managed-models/index.js.map +1 -0
  734. package/dist/runtime/managed-models/location.d.ts +22 -0
  735. package/dist/runtime/managed-models/location.js +53 -0
  736. package/dist/runtime/managed-models/location.js.map +1 -0
  737. package/dist/runtime/managed-models/migrate.d.ts +30 -0
  738. package/dist/runtime/managed-models/migrate.js +119 -0
  739. package/dist/runtime/managed-models/migrate.js.map +1 -0
  740. package/dist/runtime/managed-models/model-dir.d.ts +36 -0
  741. package/dist/runtime/managed-models/model-dir.js +136 -0
  742. package/dist/runtime/managed-models/model-dir.js.map +1 -0
  743. package/dist/runtime/managed-models/quant-format.d.ts +71 -0
  744. package/dist/runtime/managed-models/quant-format.js +299 -0
  745. package/dist/runtime/managed-models/quant-format.js.map +1 -0
  746. package/dist/runtime/managed-models/registry.d.ts +26 -0
  747. package/dist/runtime/managed-models/registry.js +66 -0
  748. package/dist/runtime/managed-models/registry.js.map +1 -0
  749. package/dist/runtime/managed-text/adapter.d.ts +283 -0
  750. package/dist/runtime/managed-text/adapter.js +96 -0
  751. package/dist/runtime/managed-text/adapter.js.map +1 -0
  752. package/dist/runtime/managed-text/backend-target.d.ts +3 -0
  753. package/dist/runtime/managed-text/backend-target.js +52 -0
  754. package/dist/runtime/managed-text/backend-target.js.map +1 -0
  755. package/dist/runtime/managed-text/deployment.d.ts +14 -0
  756. package/dist/runtime/managed-text/deployment.js +32 -0
  757. package/dist/runtime/managed-text/deployment.js.map +1 -0
  758. package/dist/runtime/managed-text/engine-cache.d.ts +15 -0
  759. package/dist/runtime/managed-text/engine-cache.js +64 -0
  760. package/dist/runtime/managed-text/engine-cache.js.map +1 -0
  761. package/dist/runtime/managed-text/gateway.d.ts +158 -0
  762. package/dist/runtime/managed-text/gateway.js +535 -0
  763. package/dist/runtime/managed-text/gateway.js.map +1 -0
  764. package/dist/runtime/managed-text/generation-defaults.d.ts +23 -0
  765. package/dist/runtime/managed-text/generation-defaults.js +51 -0
  766. package/dist/runtime/managed-text/generation-defaults.js.map +1 -0
  767. package/dist/runtime/managed-text/index.d.ts +26 -0
  768. package/dist/runtime/managed-text/index.js +27 -0
  769. package/dist/runtime/managed-text/index.js.map +1 -0
  770. package/dist/runtime/managed-text/lifecycle.d.ts +284 -0
  771. package/dist/runtime/managed-text/lifecycle.js +896 -0
  772. package/dist/runtime/managed-text/lifecycle.js.map +1 -0
  773. package/dist/runtime/managed-text/load-policy.d.ts +47 -0
  774. package/dist/runtime/managed-text/load-policy.js +111 -0
  775. package/dist/runtime/managed-text/load-policy.js.map +1 -0
  776. package/dist/runtime/managed-text/mount-source.d.ts +14 -0
  777. package/dist/runtime/managed-text/mount-source.js +18 -0
  778. package/dist/runtime/managed-text/mount-source.js.map +1 -0
  779. package/dist/runtime/managed-text/readiness.d.ts +33 -0
  780. package/dist/runtime/managed-text/readiness.js +88 -0
  781. package/dist/runtime/managed-text/readiness.js.map +1 -0
  782. package/dist/runtime/managed-text/request-rules.d.ts +18 -0
  783. package/dist/runtime/managed-text/request-rules.js +62 -0
  784. package/dist/runtime/managed-text/request-rules.js.map +1 -0
  785. package/dist/runtime/managed-text/types.d.ts +88 -0
  786. package/dist/runtime/managed-text/types.js +12 -0
  787. package/dist/runtime/managed-text/types.js.map +1 -0
  788. package/dist/runtime/managed-text/wsl-deployment.d.ts +24 -0
  789. package/dist/runtime/managed-text/wsl-deployment.js +70 -0
  790. package/dist/runtime/managed-text/wsl-deployment.js.map +1 -0
  791. package/dist/runtime/mlx/errors.d.ts +6 -1
  792. package/dist/runtime/mlx/errors.js +7 -2
  793. package/dist/runtime/mlx/errors.js.map +1 -1
  794. package/dist/runtime/mlx/runtime.d.ts +36 -1
  795. package/dist/runtime/mlx/runtime.js +85 -4
  796. package/dist/runtime/mlx/runtime.js.map +1 -1
  797. package/dist/runtime/shared/backend-output.d.ts +23 -0
  798. package/dist/runtime/shared/backend-output.js +32 -0
  799. package/dist/runtime/shared/backend-output.js.map +1 -0
  800. package/dist/runtime/shared/bounded-output.d.ts +24 -0
  801. package/dist/runtime/shared/bounded-output.js +63 -0
  802. package/dist/runtime/shared/bounded-output.js.map +1 -0
  803. package/dist/runtime/shared/external-sessions.js +9 -1
  804. package/dist/runtime/shared/external-sessions.js.map +1 -1
  805. package/dist/runtime/shared/gpu-occupancy.d.ts +60 -0
  806. package/dist/runtime/shared/gpu-occupancy.js +10 -0
  807. package/dist/runtime/shared/gpu-occupancy.js.map +1 -0
  808. package/dist/runtime/shared/index.d.ts +4 -0
  809. package/dist/runtime/shared/index.js +4 -0
  810. package/dist/runtime/shared/index.js.map +1 -1
  811. package/dist/runtime/shared/local-runtime.d.ts +35 -0
  812. package/dist/runtime/shared/ports.d.ts +16 -0
  813. package/dist/runtime/shared/ports.js +42 -1
  814. package/dist/runtime/shared/ports.js.map +1 -1
  815. package/dist/runtime/shared/process.d.ts +11 -0
  816. package/dist/runtime/shared/process.js +20 -0
  817. package/dist/runtime/shared/process.js.map +1 -1
  818. package/dist/runtime/shared/redact-args.d.ts +7 -0
  819. package/dist/runtime/shared/redact-args.js +26 -0
  820. package/dist/runtime/shared/redact-args.js.map +1 -0
  821. package/dist/runtime/shared/sidecar.d.ts +15 -0
  822. package/dist/runtime/shared/sidecar.js +43 -8
  823. package/dist/runtime/shared/sidecar.js.map +1 -1
  824. package/dist/runtime/tensorrt-llm/adapter.d.ts +247 -0
  825. package/dist/runtime/tensorrt-llm/adapter.js +1028 -0
  826. package/dist/runtime/tensorrt-llm/adapter.js.map +1 -0
  827. package/dist/runtime/tensorrt-llm/check.d.ts +12 -0
  828. package/dist/runtime/tensorrt-llm/check.js +22 -0
  829. package/dist/runtime/tensorrt-llm/check.js.map +1 -0
  830. package/dist/runtime/tensorrt-llm/compatibility.d.ts +124 -0
  831. package/dist/runtime/tensorrt-llm/compatibility.js +213 -0
  832. package/dist/runtime/tensorrt-llm/compatibility.js.map +1 -0
  833. package/dist/runtime/tensorrt-llm/cuda-graphs.d.ts +32 -0
  834. package/dist/runtime/tensorrt-llm/cuda-graphs.js +33 -0
  835. package/dist/runtime/tensorrt-llm/cuda-graphs.js.map +1 -0
  836. package/dist/runtime/tensorrt-llm/delete.d.ts +15 -0
  837. package/dist/runtime/tensorrt-llm/delete.js +60 -0
  838. package/dist/runtime/tensorrt-llm/delete.js.map +1 -0
  839. package/dist/runtime/tensorrt-llm/engine.d.ts +3 -0
  840. package/dist/runtime/tensorrt-llm/engine.js +30 -0
  841. package/dist/runtime/tensorrt-llm/engine.js.map +1 -0
  842. package/dist/runtime/tensorrt-llm/guest-files.d.ts +8 -0
  843. package/dist/runtime/tensorrt-llm/guest-files.js +49 -0
  844. package/dist/runtime/tensorrt-llm/guest-files.js.map +1 -0
  845. package/dist/runtime/tensorrt-llm/host-facts.d.ts +55 -0
  846. package/dist/runtime/tensorrt-llm/host-facts.js +87 -0
  847. package/dist/runtime/tensorrt-llm/host-facts.js.map +1 -0
  848. package/dist/runtime/tensorrt-llm/index.d.ts +30 -0
  849. package/dist/runtime/tensorrt-llm/index.js +31 -0
  850. package/dist/runtime/tensorrt-llm/index.js.map +1 -0
  851. package/dist/runtime/tensorrt-llm/installation.d.ts +23 -0
  852. package/dist/runtime/tensorrt-llm/installation.js +53 -0
  853. package/dist/runtime/tensorrt-llm/installation.js.map +1 -0
  854. package/dist/runtime/tensorrt-llm/kv-cache.d.ts +41 -0
  855. package/dist/runtime/tensorrt-llm/kv-cache.js +48 -0
  856. package/dist/runtime/tensorrt-llm/kv-cache.js.map +1 -0
  857. package/dist/runtime/tensorrt-llm/location.d.ts +20 -0
  858. package/dist/runtime/tensorrt-llm/location.js +48 -0
  859. package/dist/runtime/tensorrt-llm/location.js.map +1 -0
  860. package/dist/runtime/tensorrt-llm/model-dir.d.ts +38 -0
  861. package/dist/runtime/tensorrt-llm/model-dir.js +137 -0
  862. package/dist/runtime/tensorrt-llm/model-dir.js.map +1 -0
  863. package/dist/runtime/tensorrt-llm/prelaunch.d.ts +20 -0
  864. package/dist/runtime/tensorrt-llm/prelaunch.js +168 -0
  865. package/dist/runtime/tensorrt-llm/prelaunch.js.map +1 -0
  866. package/dist/runtime/tensorrt-llm/quant-format.d.ts +65 -0
  867. package/dist/runtime/tensorrt-llm/quant-format.js +189 -0
  868. package/dist/runtime/tensorrt-llm/quant-format.js.map +1 -0
  869. package/dist/runtime/tensorrt-llm/registry.d.ts +26 -0
  870. package/dist/runtime/tensorrt-llm/registry.js +68 -0
  871. package/dist/runtime/tensorrt-llm/registry.js.map +1 -0
  872. package/dist/runtime/tensorrt-llm/route-policy.d.ts +19 -0
  873. package/dist/runtime/tensorrt-llm/route-policy.js +17 -0
  874. package/dist/runtime/tensorrt-llm/route-policy.js.map +1 -0
  875. package/dist/runtime/tensorrt-llm/runtime.d.ts +130 -0
  876. package/dist/runtime/tensorrt-llm/runtime.js +395 -0
  877. package/dist/runtime/tensorrt-llm/runtime.js.map +1 -0
  878. package/dist/runtime/tensorrt-llm/settings.d.ts +7 -0
  879. package/dist/runtime/tensorrt-llm/settings.js +48 -0
  880. package/dist/runtime/tensorrt-llm/settings.js.map +1 -0
  881. package/dist/runtime/vllm/adapter.d.ts +46 -0
  882. package/dist/runtime/vllm/adapter.js +425 -0
  883. package/dist/runtime/vllm/adapter.js.map +1 -0
  884. package/dist/runtime/vllm/engine.d.ts +16 -0
  885. package/dist/runtime/vllm/engine.js +37 -0
  886. package/dist/runtime/vllm/engine.js.map +1 -0
  887. package/dist/runtime/vllm/index.d.ts +11 -0
  888. package/dist/runtime/vllm/index.js +12 -0
  889. package/dist/runtime/vllm/index.js.map +1 -0
  890. package/dist/runtime/vllm/memory.d.ts +69 -0
  891. package/dist/runtime/vllm/memory.js +123 -0
  892. package/dist/runtime/vllm/memory.js.map +1 -0
  893. package/dist/runtime/vllm/settings.d.ts +52 -0
  894. package/dist/runtime/vllm/settings.js +151 -0
  895. package/dist/runtime/vllm/settings.js.map +1 -0
  896. package/dist/runtime/wsl/guest-paths.d.ts +33 -0
  897. package/dist/runtime/wsl/guest-paths.js +83 -0
  898. package/dist/runtime/wsl/guest-paths.js.map +1 -0
  899. package/dist/runtime/wsl/guest-scope.d.ts +14 -0
  900. package/dist/runtime/wsl/guest-scope.js +98 -0
  901. package/dist/runtime/wsl/guest-scope.js.map +1 -0
  902. package/dist/runtime/wsl/index.d.ts +12 -0
  903. package/dist/runtime/wsl/index.js +13 -0
  904. package/dist/runtime/wsl/index.js.map +1 -0
  905. package/dist/runtime/wsl/keeper.d.ts +29 -0
  906. package/dist/runtime/wsl/keeper.js +48 -0
  907. package/dist/runtime/wsl/keeper.js.map +1 -0
  908. package/dist/runtime/wsl/transport.d.ts +106 -0
  909. package/dist/runtime/wsl/transport.js +181 -0
  910. package/dist/runtime/wsl/transport.js.map +1 -0
  911. package/dist/server/control/index.d.ts +1 -1
  912. package/dist/server/control/router.js +16 -1
  913. package/dist/server/control/router.js.map +1 -1
  914. package/dist/server/control/routes/backends.js +26 -0
  915. package/dist/server/control/routes/backends.js.map +1 -1
  916. package/dist/server/control/routes/decision.d.ts +10 -0
  917. package/dist/server/control/routes/decision.js +43 -0
  918. package/dist/server/control/routes/decision.js.map +1 -0
  919. package/dist/server/control/routes/diffusion-video.js +4 -0
  920. package/dist/server/control/routes/diffusion-video.js.map +1 -1
  921. package/dist/server/control/routes/diffusion.d.ts +1 -1
  922. package/dist/server/control/routes/diffusion.js +4 -9
  923. package/dist/server/control/routes/diffusion.js.map +1 -1
  924. package/dist/server/control/routes/embedding.d.ts +9 -0
  925. package/dist/server/control/routes/embedding.js +43 -0
  926. package/dist/server/control/routes/embedding.js.map +1 -0
  927. package/dist/server/control/routes/engine-builds.d.ts +14 -0
  928. package/dist/server/control/routes/engine-builds.js +82 -0
  929. package/dist/server/control/routes/engine-builds.js.map +1 -0
  930. package/dist/server/control/routes/engines.d.ts +17 -0
  931. package/dist/server/control/routes/engines.js +152 -0
  932. package/dist/server/control/routes/engines.js.map +1 -0
  933. package/dist/server/control/routes/environments.d.ts +16 -0
  934. package/dist/server/control/routes/environments.js +207 -0
  935. package/dist/server/control/routes/environments.js.map +1 -0
  936. package/dist/server/control/routes/hardware.d.ts +1 -1
  937. package/dist/server/control/routes/hardware.js +11 -6
  938. package/dist/server/control/routes/hardware.js.map +1 -1
  939. package/dist/server/control/routes/model-setups.d.ts +11 -0
  940. package/dist/server/control/routes/model-setups.js +55 -0
  941. package/dist/server/control/routes/model-setups.js.map +1 -0
  942. package/dist/server/control/routes/models.d.ts +3 -2
  943. package/dist/server/control/routes/models.js +45 -2
  944. package/dist/server/control/routes/models.js.map +1 -1
  945. package/dist/server/control/types.d.ts +172 -10
  946. package/dist/server/control/types.js.map +1 -1
  947. package/dist/server/http.d.ts +9 -1
  948. package/dist/server/http.js +51 -1
  949. package/dist/server/http.js.map +1 -1
  950. package/dist/server/public/decision-preview.d.ts +17 -0
  951. package/dist/server/public/decision-preview.js +119 -0
  952. package/dist/server/public/decision-preview.js.map +1 -0
  953. package/dist/server/public/decision.d.ts +32 -0
  954. package/dist/server/public/decision.js +135 -0
  955. package/dist/server/public/decision.js.map +1 -0
  956. package/dist/server/public/embedding.d.ts +31 -0
  957. package/dist/server/public/embedding.js +126 -0
  958. package/dist/server/public/embedding.js.map +1 -0
  959. package/dist/server/public/errors.d.ts +2 -1
  960. package/dist/server/public/errors.js +5 -2
  961. package/dist/server/public/errors.js.map +1 -1
  962. package/dist/server/public/forward.js +75 -3
  963. package/dist/server/public/forward.js.map +1 -1
  964. package/dist/server/public/gates.d.ts +18 -0
  965. package/dist/server/public/gates.js +41 -14
  966. package/dist/server/public/gates.js.map +1 -1
  967. package/dist/server/public/index.d.ts +6 -2
  968. package/dist/server/public/index.js +23 -7
  969. package/dist/server/public/index.js.map +1 -1
  970. package/dist/server/public/listing.d.ts +13 -2
  971. package/dist/server/public/listing.js +33 -9
  972. package/dist/server/public/listing.js.map +1 -1
  973. package/dist/server/public/policy.d.ts +9 -0
  974. package/dist/server/public/policy.js +68 -0
  975. package/dist/server/public/policy.js.map +1 -0
  976. package/dist/server/public/responses.js +10 -0
  977. package/dist/server/public/responses.js.map +1 -1
  978. package/dist/server/public/trace.d.ts +2 -2
  979. package/dist/server/public/trace.js +6 -2
  980. package/dist/server/public/trace.js.map +1 -1
  981. package/dist/server/public/types.d.ts +91 -1
  982. package/dist/settings/decision.d.ts +15 -0
  983. package/dist/settings/decision.js +88 -0
  984. package/dist/settings/decision.js.map +1 -0
  985. package/dist/settings/embedding.d.ts +12 -0
  986. package/dist/settings/embedding.js +82 -0
  987. package/dist/settings/embedding.js.map +1 -0
  988. package/dist/settings/index.d.ts +2 -0
  989. package/dist/settings/index.js +2 -0
  990. package/dist/settings/index.js.map +1 -1
  991. package/dist/settings/schema/atomic-prism.json +433 -0
  992. package/dist/settings/schema/tensorrt-llm.json +253 -0
  993. package/dist/settings/schema/vllm.json +273 -0
  994. package/dist/settings/schema.js +58 -0
  995. package/dist/settings/schema.js.map +1 -1
  996. package/dist/settings/store.d.ts +13 -2
  997. package/dist/settings/store.js +44 -0
  998. package/dist/settings/store.js.map +1 -1
  999. package/dist/util/index.d.ts +1 -0
  1000. package/dist/util/index.js +1 -0
  1001. package/dist/util/index.js.map +1 -1
  1002. package/dist/util/result.d.ts +19 -0
  1003. package/dist/util/result.js +15 -0
  1004. package/dist/util/result.js.map +1 -0
  1005. package/dist/version.d.ts +1 -1
  1006. package/dist/version.js +1 -1
  1007. package/dist/version.js.map +1 -1
  1008. package/package.json +2 -2
  1009. package/src/settings/schema/atomic-prism.json +433 -0
  1010. package/src/settings/schema/tensorrt-llm.json +253 -0
  1011. package/src/settings/schema/vllm.json +273 -0
@@ -0,0 +1,98 @@
1
+ /**
2
+ * A Windows scope's own folder in the guest (change `add-tensorrt-llm-windows`, task 2.6, design D5):
3
+ * `scope_key` — a random id core makes once and keeps in the scope's data
4
+ * (`ManagedScopePaths.guestScopeFile`), so that copying the data folder elsewhere keeps pointing at the
5
+ * same guest folder and its models (spec "Перенос папки данных не перемещает модели") — and the folders
6
+ * under it, created as the guest's root and handed to uid 1000: the account the app writes models as
7
+ * through `\\wsl.localhost` and the model container runs as, so the files of both belong to one user.
8
+ */
9
+ import { randomUUID } from 'node:crypto';
10
+ import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
11
+ import { dirname } from 'node:path';
12
+ import { AtomicCoreError } from '../../contracts/index.js';
13
+ import { guestScopeRoot } from './guest-paths.js';
14
+ const SCOPE_KEY = /^[A-Za-z0-9-]{1,64}$/;
15
+ /** The account in the guest that owns a scope's files (design D5). */
16
+ export const GUEST_SCOPE_OWNER = '1000:1000';
17
+ /** The scope's key, made on first use. A file that does not hold a valid key is an error, never replaced. */
18
+ export async function readOrCreateGuestScopeKey(file, newKey = randomUUID) {
19
+ let text = null;
20
+ try {
21
+ text = await readFile(file, 'utf8');
22
+ }
23
+ catch (error) {
24
+ if (error.code !== 'ENOENT')
25
+ throw error;
26
+ }
27
+ if (text !== null) {
28
+ const parsed = JSON.parse(text);
29
+ if (parsed.schema_version !== 1 ||
30
+ typeof parsed.scope_key !== 'string' ||
31
+ !SCOPE_KEY.test(parsed.scope_key)) {
32
+ throw new AtomicCoreError('MANAGED_METADATA_INVALID', 'The guest scope key file is not valid.', file);
33
+ }
34
+ return parsed.scope_key;
35
+ }
36
+ const key = newKey();
37
+ await mkdir(dirname(file), { recursive: true });
38
+ const temp = `${file}.tmp`;
39
+ await writeFile(temp, `${JSON.stringify({ schema_version: 1, scope_key: key })}\n`, 'utf8');
40
+ await rename(temp, file);
41
+ return key;
42
+ }
43
+ /** One read (or creation) of the key shared by every caller: two first callers racing would each create one. */
44
+ export function guestScopeKeyReader(file, newKey = randomUUID) {
45
+ let read = null;
46
+ return () => {
47
+ read ??= readOrCreateGuestScopeKey(file, newKey).catch((error) => {
48
+ read = null;
49
+ throw error;
50
+ });
51
+ return read;
52
+ };
53
+ }
54
+ /**
55
+ * `managed-models`, `models/tensorrt-llm`, `caches`, `heartbeats`, `watchdog` under the scope's guest root,
56
+ * owned by uid 1000 — and the folders directly in `managed-models` too: the store migration creates a
57
+ * moved model's parent (`managed-models/<org>`) as root, and a folder root owns there refuses every
58
+ * later download into it through `\\wsl.localhost` (`EACCES`, Windows `os error 5`).
59
+ */
60
+ export async function ensureGuestScope(transport, scopeKey) {
61
+ const root = guestScopeRoot(scopeKey);
62
+ const store = `${root}/managed-models`;
63
+ const leaves = [
64
+ store,
65
+ `${root}/models/tensorrt-llm`,
66
+ `${root}/caches`,
67
+ `${root}/heartbeats`,
68
+ `${root}/watchdog`,
69
+ ];
70
+ const run = async (argv) => {
71
+ const output = await transport.exec(argv, { user: 'root', timeoutMs: 120_000 });
72
+ if (output.code !== 0) {
73
+ throw new AtomicCoreError('IO_ERROR', `The model folders could not be prepared in the distribution "${transport.name}".`, `${argv.join(' ')}: ${output.stderr.trim()}`);
74
+ }
75
+ };
76
+ await run(['mkdir', '-p', ...leaves]);
77
+ // Not recursive: the folders, never every file of every model under them.
78
+ await run(['chown', GUEST_SCOPE_OWNER, root, `${root}/models`, ...leaves]);
79
+ // Only folders root owns, one level down: the model folders below them already belong to uid 1000.
80
+ await run([
81
+ 'find',
82
+ store,
83
+ '-mindepth',
84
+ '1',
85
+ '-maxdepth',
86
+ '1',
87
+ '-type',
88
+ 'd',
89
+ '-user',
90
+ 'root',
91
+ '-exec',
92
+ 'chown',
93
+ GUEST_SCOPE_OWNER,
94
+ '{}',
95
+ '+',
96
+ ]);
97
+ }
98
+ //# sourceMappingURL=guest-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-scope.js","sourceRoot":"","sources":["../../../src/runtime/wsl/guest-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * WSL from Windows (openspec change `add-tensorrt-llm-windows`): the transport every piece of the
3
+ * Windows managed environment reaches Atomic Chat's own distribution through — `wsl.exe` argv with no
4
+ * shell, its UTF-16 output decoded, deadlines, an injectable executable, and the attached process
5
+ * that keeps the distribution running (design D1, D8, D16).
6
+ *
7
+ * Public API of this module is exported from this file only.
8
+ */
9
+ export * from './transport.js';
10
+ export * from './guest-paths.js';
11
+ export * from './guest-scope.js';
12
+ export * from './keeper.js';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * WSL from Windows (openspec change `add-tensorrt-llm-windows`): the transport every piece of the
3
+ * Windows managed environment reaches Atomic Chat's own distribution through — `wsl.exe` argv with no
4
+ * shell, its UTF-16 output decoded, deadlines, an injectable executable, and the attached process
5
+ * that keeps the distribution running (design D1, D8, D16).
6
+ *
7
+ * Public API of this module is exported from this file only.
8
+ */
9
+ export * from './transport.js';
10
+ export * from './guest-paths.js';
11
+ export * from './guest-scope.js';
12
+ export * from './keeper.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/wsl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Keeping Atomic Chat's distribution running while something needs it (change
3
+ * `add-tensorrt-llm-windows`, task 2.7, design D8; spec "Дистрибутив удерживается, пока он нужен").
4
+ * WSL stops an idle distribution on its own (`instanceIdleTimeout`, 15 s by default), and systemd
5
+ * services do not reliably keep it up (microsoft/WSL#13416); an attached `wsl.exe -d <name> --exec sleep
6
+ * infinity` does. So every user of the distribution — an environment operation, a loading or loaded
7
+ * model, a file operation on models — takes a lease, and one such process runs while any lease is held
8
+ * and none when there is none, so WSL may stop the VM and give its memory back to Windows.
9
+ *
10
+ * When the holding process ends without being released — `wsl --shutdown`, the VM crashed, a
11
+ * distribution not there (yet) — every subscriber hears of it (a session then ends with
12
+ * `wsl-stopped`), and nothing is started again on its own: a new hold would boot the VM the user just
13
+ * stopped, and against a distribution that does not exist it would end at once and be restarted in a
14
+ * loop. The next `acquire` holds again.
15
+ */
16
+ import type { WslDistributionTransport } from './transport.js';
17
+ export interface DistributionLease {
18
+ /** Idempotent. */
19
+ release(): void;
20
+ }
21
+ export interface DistributionKeeper {
22
+ /** Hold the distribution until the lease is released. `reason` only names it for diagnostics. */
23
+ acquire(reason: string): DistributionLease;
24
+ /** Whether a holding process is running now. */
25
+ held(): boolean;
26
+ /** Called when the distribution stopped under a hold. Returns the unsubscribe. */
27
+ onStopped(listener: () => void): () => void;
28
+ }
29
+ export declare function createDistributionKeeper(transport: WslDistributionTransport): DistributionKeeper;
@@ -0,0 +1,48 @@
1
+ export function createDistributionKeeper(transport) {
2
+ const leases = new Set();
3
+ const listeners = new Set();
4
+ let hold = null;
5
+ const start = () => {
6
+ const current = transport.hold();
7
+ hold = current;
8
+ void current.exited.then((end) => {
9
+ if (hold === current)
10
+ hold = null;
11
+ if (end.released)
12
+ return;
13
+ for (const listener of [...listeners]) {
14
+ try {
15
+ listener();
16
+ }
17
+ catch {
18
+ // One subscriber failing must not keep the others from hearing it.
19
+ }
20
+ }
21
+ });
22
+ };
23
+ return {
24
+ acquire: () => {
25
+ const lease = Symbol('lease');
26
+ leases.add(lease);
27
+ if (hold === null)
28
+ start();
29
+ return {
30
+ release: () => {
31
+ if (!leases.delete(lease))
32
+ return;
33
+ if (leases.size === 0 && hold !== null) {
34
+ const current = hold;
35
+ hold = null;
36
+ current.release();
37
+ }
38
+ },
39
+ };
40
+ },
41
+ held: () => hold !== null,
42
+ onStopped: (listener) => {
43
+ listeners.add(listener);
44
+ return () => listeners.delete(listener);
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=keeper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keeper.js","sourceRoot":"","sources":["../../../src/runtime/wsl/keeper.ts"],"names":[],"mappings":"AA+BA,MAAM,UAAU,wBAAwB,CAAC,SAAmC;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;IACvC,IAAI,IAAI,GAAmB,IAAI,CAAA;IAE/B,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAChC,IAAI,GAAG,OAAO,CAAA;QACd,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,OAAO;gBAAE,IAAI,GAAG,IAAI,CAAA;YACjC,IAAI,GAAG,CAAC,QAAQ;gBAAE,OAAM;YACxB,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,QAAQ,EAAE,CAAA;gBACZ,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;gBACrE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;YAC7B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACjB,IAAI,IAAI,KAAK,IAAI;gBAAE,KAAK,EAAE,CAAA;YAC1B,OAAO;gBACL,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;wBAAE,OAAM;oBACjC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBACvC,MAAM,OAAO,GAAG,IAAI,CAAA;wBACpB,IAAI,GAAG,IAAI,CAAA;wBACX,OAAO,CAAC,OAAO,EAAE,CAAA;oBACnB,CAAC;gBACH,CAAC;aACF,CAAA;QACH,CAAC;QACD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,IAAI;QACzB,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACtB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACvB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Running things inside WSL from Windows (change `add-tensorrt-llm-windows`, task 2.2, design D1):
3
+ * the one place `wsl.exe` is spawned. Everything the core does in Atomic Chat's own distribution —
4
+ * probing the guest, running the install recipe, every docker call, the Engine API pull — goes
5
+ * through `exec`; `wsl.exe`'s own commands (`--list`, `--import`, `--unregister`, …) through
6
+ * `command`; keeping the distribution running through `hold`.
7
+ *
8
+ * Four things are deliberate.
9
+ *
10
+ * There is no shell, on either side. The command and every argument reach `spawn` as array elements,
11
+ * and `wsl.exe --exec` hands them to the guest's `execvp` as they are — never to `/bin/sh` — so
12
+ * nothing in a model path, a container name or a descriptor field is ever interpreted.
13
+ *
14
+ * Text is decoded, not assumed. `wsl.exe`'s own messages are UTF-16LE (`WSL_UTF8=1`, set on every
15
+ * call, asks for UTF-8, which an older WSL ignores), while a guest command's output is its own bytes,
16
+ * UTF-8; `decodeWslBytes` tells them apart.
17
+ *
18
+ * A command that could not answer — no `wsl.exe`, a spawn failure, past its deadline, aborted — is
19
+ * `code: null`, never a rejection: the same contract as `hostExec` and the docker executor, so a
20
+ * caller always gets one shape and reads "unknown" rather than "absent".
21
+ *
22
+ * The executable is injected. Production resolves the system `wsl.exe` from `%SystemRoot%`, never
23
+ * `PATH`; tests pass `process.execPath` with a fake script as `executableArgs`, which runs the same on
24
+ * a Windows CI runner as anywhere else (design D16).
25
+ */
26
+ import { spawn } from 'node:child_process';
27
+ /**
28
+ * Every command in a distribution runs through `env` with the system `PATH`. `wsl --exec` starts the
29
+ * program without a shell and with a `PATH` that has no `sbin`: `useradd`, `usermod` and the like
30
+ * were not found there (live acceptance, `execvpe(useradd) failed: No such file or directory`).
31
+ * Still one argv and no shell; `env` only sets `PATH` and resolves the program against it.
32
+ * `/usr/lib/wsl/lib` stays on it: WSL puts `nvidia-smi` and the NVIDIA user-mode libraries there and
33
+ * adds that directory to the `PATH` it gives a command itself (live acceptance: without it the probe
34
+ * could not read the library version).
35
+ */
36
+ export declare const GUEST_PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/wsl/lib";
37
+ /** What one `wsl.exe` call answered. `code: null`: it never got as far as an exit code. */
38
+ export interface WslCommandOutput {
39
+ code: number | null;
40
+ stdout: string;
41
+ stderr: string;
42
+ }
43
+ export interface WslCallOptions {
44
+ /** Overrides the default deadline for this call only. */
45
+ timeoutMs?: number;
46
+ /** Stops the call: it answers `code: null` and its process is killed. */
47
+ signal?: AbortSignal;
48
+ /** Written to the command's stdin, which is then closed. Without it stdin is not connected. */
49
+ input?: string | Buffer;
50
+ /** Each piece of stdout as it arrives, decoded as UTF-8 (a guest command's own bytes). */
51
+ onStdout?: (text: string) => void;
52
+ }
53
+ export interface WslExecOptions extends WslCallOptions {
54
+ /** `-u <user>`: the guest account to run as. The guest's default user when omitted. */
55
+ user?: string;
56
+ }
57
+ /** How a hold ended: `released` when the core let go itself, otherwise the process or the VM stopped. */
58
+ export interface WslHoldEnd {
59
+ code: number | null;
60
+ signal: string | null;
61
+ released: boolean;
62
+ }
63
+ /** An attached `wsl.exe -d <name> --exec sleep infinity`: the distribution stays up while it lives. */
64
+ export interface WslHold {
65
+ /** Resolves once, when the holding process is gone — whoever ended it. */
66
+ readonly exited: Promise<WslHoldEnd>;
67
+ /** Stop holding. Idempotent; `exited` then resolves with `released: true`. */
68
+ release(): void;
69
+ }
70
+ /** One distribution, as the core reaches it. */
71
+ export interface WslDistributionTransport {
72
+ readonly name: string;
73
+ /** `wsl.exe -d <name> [-u <user>] --exec ...argv`. */
74
+ exec(argv: string[], options?: WslExecOptions): Promise<WslCommandOutput>;
75
+ hold(): WslHold;
76
+ }
77
+ export interface Wsl {
78
+ /** `wsl.exe ...args`: its own commands, output decoded from UTF-16 when it comes that way. */
79
+ command(args: string[], options?: WslCallOptions): Promise<WslCommandOutput>;
80
+ distribution(name: string): WslDistributionTransport;
81
+ }
82
+ export interface WslOptions {
83
+ /** The `wsl.exe` to run; `defaultWslExecutable(process.env)` when omitted. */
84
+ executable?: string;
85
+ /** Arguments placed before every call's own (a test's fake script and its state folder). */
86
+ executableArgs?: string[];
87
+ /** The environment the process starts with; `process.env` when omitted. */
88
+ env?: NodeJS.ProcessEnv;
89
+ /** Ask `wsl.exe` for UTF-8 (`WSL_UTF8=1`). On by default; a test turns it off to exercise UTF-16. */
90
+ utf8?: boolean;
91
+ /** Default deadline per call. */
92
+ timeoutMs?: number;
93
+ /** Per stream; past it the start and the end are kept (`HeadAndTail`). */
94
+ maxOutputBytes?: number;
95
+ /** Tests only: stands in for `child_process.spawn`. */
96
+ spawnProcess?: typeof spawn;
97
+ }
98
+ /** The system `wsl.exe`, from `%SystemRoot%` — never whatever `PATH` finds first. */
99
+ export declare function defaultWslExecutable(env: Record<string, string | undefined>): string;
100
+ /**
101
+ * `wsl.exe`'s own text is UTF-16LE; a guest command's is UTF-8. UTF-16 is recognised by its BOM or by
102
+ * NUL bytes — every ASCII character, `\r\n` included, carries one, and a guest's text output has
103
+ * none — so a localized message (Cyrillic, CJK) decodes as well as an English one.
104
+ */
105
+ export declare function decodeWslBytes(bytes: Buffer): string;
106
+ export declare function createWsl(options?: WslOptions): Wsl;
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Running things inside WSL from Windows (change `add-tensorrt-llm-windows`, task 2.2, design D1):
3
+ * the one place `wsl.exe` is spawned. Everything the core does in Atomic Chat's own distribution —
4
+ * probing the guest, running the install recipe, every docker call, the Engine API pull — goes
5
+ * through `exec`; `wsl.exe`'s own commands (`--list`, `--import`, `--unregister`, …) through
6
+ * `command`; keeping the distribution running through `hold`.
7
+ *
8
+ * Four things are deliberate.
9
+ *
10
+ * There is no shell, on either side. The command and every argument reach `spawn` as array elements,
11
+ * and `wsl.exe --exec` hands them to the guest's `execvp` as they are — never to `/bin/sh` — so
12
+ * nothing in a model path, a container name or a descriptor field is ever interpreted.
13
+ *
14
+ * Text is decoded, not assumed. `wsl.exe`'s own messages are UTF-16LE (`WSL_UTF8=1`, set on every
15
+ * call, asks for UTF-8, which an older WSL ignores), while a guest command's output is its own bytes,
16
+ * UTF-8; `decodeWslBytes` tells them apart.
17
+ *
18
+ * A command that could not answer — no `wsl.exe`, a spawn failure, past its deadline, aborted — is
19
+ * `code: null`, never a rejection: the same contract as `hostExec` and the docker executor, so a
20
+ * caller always gets one shape and reads "unknown" rather than "absent".
21
+ *
22
+ * The executable is injected. Production resolves the system `wsl.exe` from `%SystemRoot%`, never
23
+ * `PATH`; tests pass `process.execPath` with a fake script as `executableArgs`, which runs the same on
24
+ * a Windows CI runner as anywhere else (design D16).
25
+ */
26
+ import { spawn } from 'node:child_process';
27
+ import { StringDecoder } from 'node:string_decoder';
28
+ import { HeadAndTail } from '../shared/index.js';
29
+ /**
30
+ * Every command in a distribution runs through `env` with the system `PATH`. `wsl --exec` starts the
31
+ * program without a shell and with a `PATH` that has no `sbin`: `useradd`, `usermod` and the like
32
+ * were not found there (live acceptance, `execvpe(useradd) failed: No such file or directory`).
33
+ * Still one argv and no shell; `env` only sets `PATH` and resolves the program against it.
34
+ * `/usr/lib/wsl/lib` stays on it: WSL puts `nvidia-smi` and the NVIDIA user-mode libraries there and
35
+ * adds that directory to the `PATH` it gives a command itself (live acceptance: without it the probe
36
+ * could not read the library version).
37
+ */
38
+ export const GUEST_PATH = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/wsl/lib';
39
+ const GUEST_ENV_PREFIX = ['/usr/bin/env', `PATH=${GUEST_PATH}`];
40
+ const DEFAULT_TIMEOUT_MS = 60_000;
41
+ const DEFAULT_MAX_OUTPUT_BYTES = 4 * 1024 * 1024;
42
+ const NUL = 0x00;
43
+ const BOM = '\ufeff';
44
+ /** The system `wsl.exe`, from `%SystemRoot%` — never whatever `PATH` finds first. */
45
+ export function defaultWslExecutable(env) {
46
+ const root = env['SystemRoot'] ?? env['SYSTEMROOT'] ?? 'C:\\Windows';
47
+ return `${root.replace(/[\\/]+$/, '')}\\System32\\wsl.exe`;
48
+ }
49
+ /**
50
+ * `wsl.exe`'s own text is UTF-16LE; a guest command's is UTF-8. UTF-16 is recognised by its BOM or by
51
+ * NUL bytes — every ASCII character, `\r\n` included, carries one, and a guest's text output has
52
+ * none — so a localized message (Cyrillic, CJK) decodes as well as an English one.
53
+ */
54
+ export function decodeWslBytes(bytes) {
55
+ if (bytes.length === 0)
56
+ return '';
57
+ const bom = bytes.length >= 2 && bytes[0] === 0xff && bytes[1] === 0xfe;
58
+ const text = bom || bytes.includes(NUL) ? bytes.toString('utf16le') : bytes.toString('utf8');
59
+ return text.startsWith(BOM) ? text.slice(1) : text;
60
+ }
61
+ export function createWsl(options = {}) {
62
+ const executable = options.executable ?? defaultWslExecutable(process.env);
63
+ const prefix = options.executableArgs ?? [];
64
+ const limit = options.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES;
65
+ const doSpawn = options.spawnProcess ?? spawn;
66
+ const env = {
67
+ ...(options.env ?? process.env),
68
+ ...(options.utf8 === false ? {} : { WSL_UTF8: '1' }),
69
+ };
70
+ const run = (args, call = {}) => new Promise((resolve) => {
71
+ const timeoutMs = call.timeoutMs ?? options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
72
+ if (call.signal?.aborted === true) {
73
+ resolve({ code: null, stdout: '', stderr: 'aborted before it started' });
74
+ return;
75
+ }
76
+ let settled = false;
77
+ let child;
78
+ const stdout = new HeadAndTail(limit);
79
+ const stderr = new HeadAndTail(limit);
80
+ const streaming = call.onStdout === undefined ? null : new StringDecoder('utf8');
81
+ const finish = (output) => {
82
+ if (settled)
83
+ return;
84
+ settled = true;
85
+ clearTimeout(timer);
86
+ call.signal?.removeEventListener('abort', onAbort);
87
+ resolve(output);
88
+ };
89
+ const stop = (why) => {
90
+ child?.kill('SIGKILL');
91
+ finish({ code: null, stdout: '', stderr: why });
92
+ };
93
+ const onAbort = () => stop('aborted');
94
+ // Armed before the spawn, so a spawn that throws on the spot still has a real timer to clear.
95
+ const timer = setTimeout(() => stop(`wsl.exe did not answer within ${timeoutMs} ms`), timeoutMs);
96
+ timer.unref();
97
+ call.signal?.addEventListener('abort', onAbort, { once: true });
98
+ try {
99
+ child = doSpawn(executable, [...prefix, ...args], {
100
+ shell: false,
101
+ windowsHide: true,
102
+ stdio: [call.input === undefined ? 'ignore' : 'pipe', 'pipe', 'pipe'],
103
+ env,
104
+ });
105
+ }
106
+ catch (error) {
107
+ finish({ code: null, stdout: '', stderr: error.message });
108
+ return;
109
+ }
110
+ child.stdout?.on('data', (chunk) => {
111
+ stdout.push(chunk);
112
+ if (streaming !== null)
113
+ call.onStdout?.(streaming.write(chunk));
114
+ });
115
+ child.stderr?.on('data', (chunk) => stderr.push(chunk));
116
+ if (call.input !== undefined) {
117
+ // A command that exits without reading its stdin closes the pipe under us; that is its answer.
118
+ child.stdin?.on('error', () => undefined);
119
+ child.stdin?.end(call.input);
120
+ }
121
+ // A missing executable arrives here as ENOENT, not as an exit code.
122
+ child.on('error', (error) => finish({ code: null, stdout: '', stderr: error.message }));
123
+ child.on('close', (code) => {
124
+ if (streaming !== null) {
125
+ const rest = streaming.end();
126
+ if (rest !== '')
127
+ call.onStdout?.(rest);
128
+ }
129
+ finish({ code, stdout: decodeWslBytes(stdout.bytes()), stderr: decodeWslBytes(stderr.bytes()) });
130
+ });
131
+ });
132
+ const distribution = (name) => ({
133
+ name,
134
+ exec: (argv, call = {}) => run([
135
+ '-d',
136
+ name,
137
+ ...(call.user === undefined ? [] : ['-u', call.user]),
138
+ '--exec',
139
+ ...GUEST_ENV_PREFIX,
140
+ ...argv,
141
+ ], call),
142
+ hold: () => {
143
+ let released = false;
144
+ let child;
145
+ const exited = new Promise((resolve) => {
146
+ let settled = false;
147
+ const end = (code, signal) => {
148
+ if (settled)
149
+ return;
150
+ settled = true;
151
+ resolve({ code, signal, released });
152
+ };
153
+ try {
154
+ child = doSpawn(executable, [...prefix, '-d', name, '--exec', 'sleep', 'infinity'], {
155
+ shell: false,
156
+ windowsHide: true,
157
+ stdio: 'ignore',
158
+ env,
159
+ });
160
+ }
161
+ catch {
162
+ end(null, null);
163
+ return;
164
+ }
165
+ child.on('error', () => end(null, null));
166
+ child.on('exit', (code, signal) => end(code, signal));
167
+ });
168
+ return {
169
+ exited,
170
+ release: () => {
171
+ if (released)
172
+ return;
173
+ released = true;
174
+ child?.kill('SIGKILL');
175
+ },
176
+ };
177
+ },
178
+ });
179
+ return { command: run, distribution };
180
+ }
181
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/runtime/wsl/transport.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,4 @@
9
9
  */
10
10
  export { ControlServer } from './server.js';
11
11
  export { SSE_HEARTBEAT_MS } from './types.js';
12
- export type { BackendControl, ChatGptControl, CloudControl, ControlServerDeps, ControlSnapshot, DiffusionControl, DiskControl, ExternalSessionControl, ModelControl, PublicServerControl, RemoteAccessControl, SessionSummary, SettingsControl, } from './types.js';
12
+ export type { BackendControl, ChatGptControl, CloudControl, ControlServerDeps, ControlSnapshot, DecisionControl, DiffusionControl, DiskControl, ExternalSessionControl, ModelControl, PublicServerControl, RemoteAccessControl, SessionSummary, SettingsControl, } from './types.js';
@@ -8,13 +8,19 @@ import { Router } from '../http.js';
8
8
  import { registerBackendRoutes } from './routes/backends.js';
9
9
  import { registerClientRoutes } from './routes/clients.js';
10
10
  import { registerCloudRoutes } from './routes/cloud.js';
11
+ import { registerDecisionRoutes } from './routes/decision.js';
12
+ import { registerEmbeddingRoutes } from './routes/embedding.js';
11
13
  import { registerDiffusionRoutes } from './routes/diffusion.js';
12
14
  import { registerDiffusionVideoRoutes } from './routes/diffusion-video.js';
13
15
  import { registerDiskRoutes } from './routes/disk.js';
16
+ import { registerEngineBuildRoutes } from './routes/engine-builds.js';
17
+ import { registerEngineRoutes } from './routes/engines.js';
18
+ import { registerEnvironmentRoutes } from './routes/environments.js';
14
19
  import { registerExternalSessionRoutes } from './routes/external-sessions.js';
15
20
  import { registerHardwareRoutes } from './routes/hardware.js';
16
21
  import { registerLifecycleRoutes, registerShutdownRoute } from './routes/lifecycle.js';
17
22
  import { registerModelRoutes } from './routes/models.js';
23
+ import { registerModelSetupRoutes } from './routes/model-setups.js';
18
24
  import { registerPublicServerRoutes } from './routes/public-server.js';
19
25
  import { registerRemoteAccessRoutes } from './routes/remote-access.js';
20
26
  import { registerSettingsRoutes } from './routes/settings.js';
@@ -36,17 +42,24 @@ export function buildRouter(deps, self) {
36
42
  sessions: deps.sessions(),
37
43
  server: deps.publicServer.status(),
38
44
  clients: deps.clients.list(),
39
- downloads: [],
45
+ downloads: deps.downloads?.() ?? [],
40
46
  optimal_backends: deps.backends.optimalSnapshot(),
47
+ environments: deps.environmentsSnapshot?.() ?? [],
48
+ environment_operations: deps.environmentOperations?.() ?? [],
49
+ model_setups: deps.modelSetups?.snapshot() ?? [],
41
50
  });
42
51
  const ctx = { p, now, startedAt, snapshot, self };
43
52
  const router = new Router();
44
53
  registerLifecycleRoutes(router, deps, ctx);
45
54
  registerClientRoutes(router, deps, ctx);
46
55
  registerModelRoutes(router, deps, ctx);
56
+ registerModelSetupRoutes(router, deps, ctx);
47
57
  registerBackendRoutes(router, deps, ctx);
58
+ registerEngineBuildRoutes(router, deps, ctx);
59
+ registerEngineRoutes(router, deps, ctx);
48
60
  registerHardwareRoutes(router, deps, ctx);
49
61
  registerDiskRoutes(router, deps, ctx);
62
+ registerEnvironmentRoutes(router, deps, ctx);
50
63
  registerSettingsRoutes(router, deps, ctx);
51
64
  registerExternalSessionRoutes(router, deps, ctx);
52
65
  registerCloudRoutes(router, deps, ctx);
@@ -54,6 +67,8 @@ export function buildRouter(deps, self) {
54
67
  registerRemoteAccessRoutes(router, deps, ctx);
55
68
  registerDiffusionRoutes(router, deps, ctx);
56
69
  registerDiffusionVideoRoutes(router, deps, ctx);
70
+ registerDecisionRoutes(router, deps, ctx);
71
+ registerEmbeddingRoutes(router, deps, ctx);
57
72
  registerTelemetryRoutes(router, deps, ctx);
58
73
  registerShutdownRoute(router, deps, ctx);
59
74
  return router;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/server/control/router.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAI/D,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,IAAqC;IACxF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,CAAA;IACzC,MAAM,CAAC,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,kBAAkB,GAAG,MAAM,EAAE,CAAA;IAC9D,MAAM,QAAQ,GAAG,GAAoB,EAAE,CAAC,CAAC;QACvC,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,QAAQ,EAAE,wBAAwB;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,GAAG,EAAE,GAAG,SAAS;QAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QACzB,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC5B,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;KAClD,CAAC,CAAA;IACF,MAAM,GAAG,GAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAEtE,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAE3B,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACvC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACtC,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACxC,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACzC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACrC,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACzC,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAChD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACtC,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC7C,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC7C,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,4BAA4B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/C,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAExC,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/server/control/router.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAI/D,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,IAAqC;IACxF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,CAAA;IACzC,MAAM,CAAC,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,kBAAkB,GAAG,MAAM,EAAE,CAAA;IAC9D,MAAM,QAAQ,GAAG,GAAoB,EAAE,CAAC,CAAC;QACvC,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,QAAQ,EAAE,wBAAwB;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,GAAG,EAAE,GAAG,SAAS;QAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QACzB,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE;QACnC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;QACjD,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE;QACjD,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE;QAC5D,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;KACjD,CAAC,CAAA;IACF,MAAM,GAAG,GAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAEtE,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAE3B,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACvC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACtC,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC3C,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACxC,yBAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC5C,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACvC,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACzC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACrC,yBAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC5C,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACzC,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAChD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACtC,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC7C,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC7C,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,4BAA4B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/C,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACzC,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1C,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAExC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /** llama.cpp backend packs and the download tasks that install them. */
2
2
  import { AtomicCoreError } from '../../../contracts/index.js';
3
+ import { isLlamacppProviderId } from '../../../backend/index.js';
3
4
  import { queryOf, readJsonBody, sendError, sendJson } from '../../http.js';
4
5
  export function registerBackendRoutes(router, deps, ctx) {
5
6
  const { p } = ctx;
@@ -35,6 +36,31 @@ export function registerBackendRoutes(router, deps, ctx) {
35
36
  const result = await deps.backends.setOptimal(params['provider'], body.optimal ?? null, body.expected_revision);
36
37
  sendJson(res, result.status === 'conflict' ? 409 : 200, result);
37
38
  });
39
+ // The advisor answers; the app decides when to act (ADR 2026-09-27). All three are POST because the
40
+ // proxy policy may carry credentials, and those never travel in a query string.
41
+ const llamacppProvider = (raw) => {
42
+ if (!isLlamacppProviderId(raw))
43
+ throw new AtomicCoreError('INVALID_ARGUMENT', `The backend advisor knows llamacpp-upstream, llamacpp and atomic-prism, not ${raw}`);
44
+ return raw;
45
+ };
46
+ router.post(p('/backends/:provider/catalog'), async (req, res, { params }) => {
47
+ const provider = llamacppProvider(params['provider']);
48
+ const body = await readJsonBody(req);
49
+ sendJson(res, 200, await deps.backends.catalog(provider, body));
50
+ });
51
+ router.post(p('/backends/:provider/recommendation'), async (req, res, { params }) => {
52
+ const provider = llamacppProvider(params['provider']);
53
+ const body = await readJsonBody(req);
54
+ if (body.mode !== 'refresh' && body.mode !== 'recheck')
55
+ return sendError(res, new AtomicCoreError('INVALID_ARGUMENT', 'recommendation needs mode: refresh or recheck'));
56
+ // `detection_failed` is an outcome the caller reads, not an error: the current backend stays.
57
+ sendJson(res, 200, await deps.backends.recommend(provider, body));
58
+ });
59
+ router.post(p('/backends/:provider/updates'), async (req, res, { params }) => {
60
+ const provider = llamacppProvider(params['provider']);
61
+ const body = await readJsonBody(req);
62
+ sendJson(res, 200, await deps.backends.checkUpdates(provider, body));
63
+ });
38
64
  router.post(p('/downloads/*taskId/cancel'), (_req, res, { params }) => {
39
65
  sendJson(res, 200, { cancelled: deps.backends.cancel(params['taskId']) });
40
66
  });