@atomic-chat/core 0.5.1 → 0.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (970) hide show
  1. package/README.md +22 -0
  2. package/dist/app-daemon.js +20 -67
  3. package/dist/app-daemon.js.map +1 -1
  4. package/dist/backend/advisor/advisor.d.ts +132 -0
  5. package/dist/backend/advisor/advisor.js +537 -0
  6. package/dist/backend/advisor/advisor.js.map +1 -0
  7. package/dist/backend/advisor/index.d.ts +6 -0
  8. package/dist/backend/advisor/index.js +7 -0
  9. package/dist/backend/advisor/index.js.map +1 -0
  10. package/dist/backend/advisor/policy.d.ts +81 -0
  11. package/dist/backend/advisor/policy.js +154 -0
  12. package/dist/backend/advisor/policy.js.map +1 -0
  13. package/dist/backend/catalog/archive.d.ts +21 -7
  14. package/dist/backend/catalog/archive.js +57 -17
  15. package/dist/backend/catalog/archive.js.map +1 -1
  16. package/dist/backend/catalog/bundled-manifest-baseline.js +42 -26
  17. package/dist/backend/catalog/bundled-manifest-baseline.js.map +1 -1
  18. package/dist/backend/catalog/cuda-family.d.ts +12 -2
  19. package/dist/backend/catalog/cuda-family.js +30 -7
  20. package/dist/backend/catalog/cuda-family.js.map +1 -1
  21. package/dist/backend/catalog/index.d.ts +5 -0
  22. package/dist/backend/catalog/index.js +5 -0
  23. package/dist/backend/catalog/index.js.map +1 -1
  24. package/dist/backend/catalog/manifest.d.ts +5 -3
  25. package/dist/backend/catalog/manifest.js +12 -9
  26. package/dist/backend/catalog/manifest.js.map +1 -1
  27. package/dist/backend/catalog/migrate.d.ts +8 -6
  28. package/dist/backend/catalog/migrate.js +26 -15
  29. package/dist/backend/catalog/migrate.js.map +1 -1
  30. package/dist/backend/catalog/prism-catalog.d.ts +42 -0
  31. package/dist/backend/catalog/prism-catalog.js +101 -0
  32. package/dist/backend/catalog/prism-catalog.js.map +1 -0
  33. package/dist/backend/catalog/prism-manifest-baseline.d.ts +2 -0
  34. package/dist/backend/catalog/prism-manifest-baseline.js +11 -0
  35. package/dist/backend/catalog/prism-manifest-baseline.js.map +1 -0
  36. package/dist/backend/catalog/prism-manifest-baseline.json +134 -0
  37. package/dist/backend/catalog/prism-manifest.d.ts +90 -0
  38. package/dist/backend/catalog/prism-manifest.js +171 -0
  39. package/dist/backend/catalog/prism-manifest.js.map +1 -0
  40. package/dist/backend/catalog/turboquant-catalog.d.ts +60 -0
  41. package/dist/backend/catalog/turboquant-catalog.js +162 -0
  42. package/dist/backend/catalog/turboquant-catalog.js.map +1 -0
  43. package/dist/backend/catalog/turboquant-index.d.ts +104 -0
  44. package/dist/backend/catalog/turboquant-index.js +260 -0
  45. package/dist/backend/catalog/turboquant-index.js.map +1 -0
  46. package/dist/backend/index.d.ts +1 -0
  47. package/dist/backend/index.js +1 -0
  48. package/dist/backend/index.js.map +1 -1
  49. package/dist/backend/install/runtime-backend.d.ts +6 -6
  50. package/dist/backend/install/runtime-backend.js +23 -20
  51. package/dist/backend/install/runtime-backend.js.map +1 -1
  52. package/dist/backend/install/service.d.ts +106 -5
  53. package/dist/backend/install/service.js +247 -21
  54. package/dist/backend/install/service.js.map +1 -1
  55. package/dist/backend/installed/bundled.d.ts +19 -0
  56. package/dist/backend/installed/bundled.js +45 -0
  57. package/dist/backend/installed/bundled.js.map +1 -0
  58. package/dist/backend/installed/index.d.ts +1 -0
  59. package/dist/backend/installed/index.js +1 -0
  60. package/dist/backend/installed/index.js.map +1 -1
  61. package/dist/backend/installed/installed.js +3 -0
  62. package/dist/backend/installed/installed.js.map +1 -1
  63. package/dist/backend/optimal/optimal-cache.d.ts +27 -8
  64. package/dist/backend/optimal/optimal-cache.js +38 -19
  65. package/dist/backend/optimal/optimal-cache.js.map +1 -1
  66. package/dist/backend/optimal/optimal-store.js +1 -1
  67. package/dist/backend/optimal/optimal-store.js.map +1 -1
  68. package/dist/backend/select/categories.d.ts +2 -1
  69. package/dist/backend/select/categories.js +8 -1
  70. package/dist/backend/select/categories.js.map +1 -1
  71. package/dist/backend/select/features.d.ts +13 -5
  72. package/dist/backend/select/features.js +36 -6
  73. package/dist/backend/select/features.js.map +1 -1
  74. package/dist/backend/select/index.d.ts +2 -0
  75. package/dist/backend/select/index.js +2 -0
  76. package/dist/backend/select/index.js.map +1 -1
  77. package/dist/backend/select/prism.d.ts +54 -0
  78. package/dist/backend/select/prism.js +212 -0
  79. package/dist/backend/select/prism.js.map +1 -0
  80. package/dist/backend/select/recovery.d.ts +4 -2
  81. package/dist/backend/select/recovery.js +17 -5
  82. package/dist/backend/select/recovery.js.map +1 -1
  83. package/dist/backend/select/tiers.d.ts +20 -11
  84. package/dist/backend/select/tiers.js +49 -11
  85. package/dist/backend/select/tiers.js.map +1 -1
  86. package/dist/backend/select/turboquant-tiers.d.ts +45 -0
  87. package/dist/backend/select/turboquant-tiers.js +114 -0
  88. package/dist/backend/select/turboquant-tiers.js.map +1 -0
  89. package/dist/backend/types.d.ts +6 -69
  90. package/dist/cli/commands/backends.d.ts +10 -0
  91. package/dist/cli/commands/backends.js +142 -0
  92. package/dist/cli/commands/backends.js.map +1 -0
  93. package/dist/cli/commands/hardware.d.ts +13 -0
  94. package/dist/cli/commands/hardware.js +71 -0
  95. package/dist/cli/commands/hardware.js.map +1 -0
  96. package/dist/cli/commands/host-step.d.ts +28 -0
  97. package/dist/cli/commands/host-step.js +67 -0
  98. package/dist/cli/commands/host-step.js.map +1 -0
  99. package/dist/cli/commands/index.d.ts +4 -1
  100. package/dist/cli/commands/index.js +4 -1
  101. package/dist/cli/commands/index.js.map +1 -1
  102. package/dist/cli/commands/serve.js +4 -4
  103. package/dist/cli/commands/serve.js.map +1 -1
  104. package/dist/cli/commands/shared.d.ts +6 -1
  105. package/dist/cli/commands/shared.js +7 -0
  106. package/dist/cli/commands/shared.js.map +1 -1
  107. package/dist/cli/io.d.ts +11 -0
  108. package/dist/cli/io.js +28 -3
  109. package/dist/cli/io.js.map +1 -1
  110. package/dist/cli/launch.js +2 -2
  111. package/dist/cli/launch.js.map +1 -1
  112. package/dist/cli/main.d.ts +1 -1
  113. package/dist/cli/main.js +11 -1
  114. package/dist/cli/main.js.map +1 -1
  115. package/dist/client/control-client.d.ts +128 -7
  116. package/dist/client/control-client.js +211 -12
  117. package/dist/client/control-client.js.map +1 -1
  118. package/dist/cloud/registry.js +9 -1
  119. package/dist/cloud/registry.js.map +1 -1
  120. package/dist/config/paths.d.ts +137 -0
  121. package/dist/config/paths.js +163 -0
  122. package/dist/config/paths.js.map +1 -1
  123. package/dist/contracts/backend-advisor.d.ts +225 -0
  124. package/dist/contracts/backend-advisor.js +14 -0
  125. package/dist/contracts/backend-advisor.js.map +1 -0
  126. package/dist/contracts/control-api.d.ts +7 -1
  127. package/dist/contracts/control-api.js +7 -1
  128. package/dist/contracts/control-api.js.map +1 -1
  129. package/dist/contracts/decision.d.ts +394 -0
  130. package/dist/contracts/decision.js +69 -0
  131. package/dist/contracts/decision.js.map +1 -0
  132. package/dist/contracts/diffusion.d.ts +62 -9
  133. package/dist/contracts/embedding.d.ts +103 -0
  134. package/dist/contracts/embedding.js +24 -0
  135. package/dist/contracts/embedding.js.map +1 -0
  136. package/dist/contracts/engine-builds.d.ts +108 -0
  137. package/dist/contracts/engine-builds.js +11 -0
  138. package/dist/contracts/engine-builds.js.map +1 -0
  139. package/dist/contracts/engines.d.ts +157 -0
  140. package/dist/contracts/engines.js +50 -0
  141. package/dist/contracts/engines.js.map +1 -0
  142. package/dist/contracts/environment.d.ts +774 -0
  143. package/dist/contracts/environment.js +116 -0
  144. package/dist/contracts/environment.js.map +1 -0
  145. package/dist/contracts/errors.d.ts +43 -2
  146. package/dist/contracts/errors.js +41 -0
  147. package/dist/contracts/errors.js.map +1 -1
  148. package/dist/contracts/events.d.ts +82 -4
  149. package/dist/contracts/hardware.d.ts +79 -6
  150. package/dist/contracts/hardware.js +9 -5
  151. package/dist/contracts/hardware.js.map +1 -1
  152. package/dist/contracts/index.d.ts +8 -0
  153. package/dist/contracts/index.js +8 -0
  154. package/dist/contracts/index.js.map +1 -1
  155. package/dist/contracts/model-compatibility.d.ts +97 -0
  156. package/dist/contracts/model-compatibility.js +6 -0
  157. package/dist/contracts/model-compatibility.js.map +1 -0
  158. package/dist/contracts/model-setup.d.ts +115 -0
  159. package/dist/contracts/model-setup.js +33 -0
  160. package/dist/contracts/model-setup.js.map +1 -0
  161. package/dist/contracts/model-yml.d.ts +14 -0
  162. package/dist/contracts/model-yml.js +1 -0
  163. package/dist/contracts/model-yml.js.map +1 -1
  164. package/dist/contracts/session.d.ts +45 -2
  165. package/dist/contracts/session.js +14 -1
  166. package/dist/contracts/session.js.map +1 -1
  167. package/dist/contracts/settings.d.ts +44 -1
  168. package/dist/contracts/settings.js.map +1 -1
  169. package/dist/core/atomic-core.d.ts +44 -5
  170. package/dist/core/atomic-core.js +24 -0
  171. package/dist/core/atomic-core.js.map +1 -1
  172. package/dist/core/create.js +517 -23
  173. package/dist/core/create.js.map +1 -1
  174. package/dist/core/gpu/index.d.ts +6 -0
  175. package/dist/core/gpu/index.js +7 -0
  176. package/dist/core/gpu/index.js.map +1 -0
  177. package/dist/core/gpu/policy.d.ts +68 -0
  178. package/dist/core/gpu/policy.js +99 -0
  179. package/dist/core/gpu/policy.js.map +1 -0
  180. package/dist/core/gpu/residency.d.ts +44 -0
  181. package/dist/core/gpu/residency.js +101 -0
  182. package/dist/core/gpu/residency.js.map +1 -0
  183. package/dist/core/gpu-residency.d.ts +39 -0
  184. package/dist/core/gpu-residency.js +32 -0
  185. package/dist/core/gpu-residency.js.map +1 -0
  186. package/dist/core/index.d.ts +1 -1
  187. package/dist/core/managed-engines.d.ts +207 -0
  188. package/dist/core/managed-engines.js +579 -0
  189. package/dist/core/managed-engines.js.map +1 -0
  190. package/dist/core/managed-environment.d.ts +72 -0
  191. package/dist/core/managed-environment.js +218 -0
  192. package/dist/core/managed-environment.js.map +1 -0
  193. package/dist/core/model-setup/index.d.ts +4 -0
  194. package/dist/core/model-setup/index.js +5 -0
  195. package/dist/core/model-setup/index.js.map +1 -0
  196. package/dist/core/model-setup/plan.d.ts +56 -0
  197. package/dist/core/model-setup/plan.js +158 -0
  198. package/dist/core/model-setup/plan.js.map +1 -0
  199. package/dist/core/model-setup/service.d.ts +92 -0
  200. package/dist/core/model-setup/service.js +329 -0
  201. package/dist/core/model-setup/service.js.map +1 -0
  202. package/dist/core/model-setup/store.d.ts +29 -0
  203. package/dist/core/model-setup/store.js +116 -0
  204. package/dist/core/model-setup/store.js.map +1 -0
  205. package/dist/core/model-setup/wiring.d.ts +59 -0
  206. package/dist/core/model-setup/wiring.js +132 -0
  207. package/dist/core/model-setup/wiring.js.map +1 -0
  208. package/dist/core/prism.d.ts +36 -0
  209. package/dist/core/prism.js +42 -0
  210. package/dist/core/prism.js.map +1 -0
  211. package/dist/core/public-server.d.ts +7 -0
  212. package/dist/core/public-server.js +2 -0
  213. package/dist/core/public-server.js.map +1 -1
  214. package/dist/core/sessions.d.ts +6 -1
  215. package/dist/core/sessions.js +18 -14
  216. package/dist/core/sessions.js.map +1 -1
  217. package/dist/core/types.d.ts +27 -1
  218. package/dist/core/types.js.map +1 -1
  219. package/dist/decision/args.d.ts +110 -0
  220. package/dist/decision/args.js +126 -0
  221. package/dist/decision/args.js.map +1 -0
  222. package/dist/decision/backoff.d.ts +25 -0
  223. package/dist/decision/backoff.js +33 -0
  224. package/dist/decision/backoff.js.map +1 -0
  225. package/dist/decision/engine-candidates.d.ts +52 -0
  226. package/dist/decision/engine-candidates.js +138 -0
  227. package/dist/decision/engine-candidates.js.map +1 -0
  228. package/dist/decision/engine-fallback.d.ts +41 -0
  229. package/dist/decision/engine-fallback.js +57 -0
  230. package/dist/decision/engine-fallback.js.map +1 -0
  231. package/dist/decision/engine-version.d.ts +27 -0
  232. package/dist/decision/engine-version.js +54 -0
  233. package/dist/decision/engine-version.js.map +1 -0
  234. package/dist/decision/engine.d.ts +114 -0
  235. package/dist/decision/engine.js +253 -0
  236. package/dist/decision/engine.js.map +1 -0
  237. package/dist/decision/http.d.ts +36 -0
  238. package/dist/decision/http.js +73 -0
  239. package/dist/decision/http.js.map +1 -0
  240. package/dist/decision/index.d.ts +20 -0
  241. package/dist/decision/index.js +21 -0
  242. package/dist/decision/index.js.map +1 -0
  243. package/dist/decision/model-facts.d.ts +32 -0
  244. package/dist/decision/model-facts.js +40 -0
  245. package/dist/decision/model-facts.js.map +1 -0
  246. package/dist/decision/outcome.d.ts +35 -0
  247. package/dist/decision/outcome.js +105 -0
  248. package/dist/decision/outcome.js.map +1 -0
  249. package/dist/decision/process.d.ts +67 -0
  250. package/dist/decision/process.js +133 -0
  251. package/dist/decision/process.js.map +1 -0
  252. package/dist/decision/readiness.d.ts +74 -0
  253. package/dist/decision/readiness.js +165 -0
  254. package/dist/decision/readiness.js.map +1 -0
  255. package/dist/decision/request.d.ts +11 -0
  256. package/dist/decision/request.js +56 -0
  257. package/dist/decision/request.js.map +1 -0
  258. package/dist/decision/service.d.ts +202 -0
  259. package/dist/decision/service.js +711 -0
  260. package/dist/decision/service.js.map +1 -0
  261. package/dist/decision/upstream-version.d.ts +23 -0
  262. package/dist/decision/upstream-version.js +34 -0
  263. package/dist/decision/upstream-version.js.map +1 -0
  264. package/dist/decision/wiring.d.ts +67 -0
  265. package/dist/decision/wiring.js +101 -0
  266. package/dist/decision/wiring.js.map +1 -0
  267. package/dist/diffusion/args.d.ts +4 -2
  268. package/dist/diffusion/args.js +10 -3
  269. package/dist/diffusion/args.js.map +1 -1
  270. package/dist/diffusion/image-job.js +1 -1
  271. package/dist/diffusion/image-job.js.map +1 -1
  272. package/dist/diffusion/install.d.ts +35 -11
  273. package/dist/diffusion/install.js +74 -49
  274. package/dist/diffusion/install.js.map +1 -1
  275. package/dist/diffusion/job-kind.d.ts +33 -7
  276. package/dist/diffusion/jobs.d.ts +6 -1
  277. package/dist/diffusion/jobs.js +60 -18
  278. package/dist/diffusion/jobs.js.map +1 -1
  279. package/dist/diffusion/parse.d.ts +1 -2
  280. package/dist/diffusion/parse.js +1 -13
  281. package/dist/diffusion/parse.js.map +1 -1
  282. package/dist/diffusion/progress.js +3 -0
  283. package/dist/diffusion/progress.js.map +1 -1
  284. package/dist/diffusion/server-process.d.ts +6 -0
  285. package/dist/diffusion/server-process.js +3 -2
  286. package/dist/diffusion/server-process.js.map +1 -1
  287. package/dist/diffusion/service.d.ts +52 -6
  288. package/dist/diffusion/service.js +215 -40
  289. package/dist/diffusion/service.js.map +1 -1
  290. package/dist/diffusion/session.d.ts +27 -3
  291. package/dist/diffusion/session.js +108 -17
  292. package/dist/diffusion/session.js.map +1 -1
  293. package/dist/diffusion/state.d.ts +19 -1
  294. package/dist/diffusion/state.js +10 -0
  295. package/dist/diffusion/state.js.map +1 -1
  296. package/dist/diffusion/tracker.d.ts +15 -1
  297. package/dist/diffusion/tracker.js +32 -6
  298. package/dist/diffusion/tracker.js.map +1 -1
  299. package/dist/diffusion/types.d.ts +7 -0
  300. package/dist/diffusion/types.js +11 -0
  301. package/dist/diffusion/types.js.map +1 -1
  302. package/dist/diffusion/video-estimate.d.ts +214 -0
  303. package/dist/diffusion/video-estimate.js +402 -0
  304. package/dist/diffusion/video-estimate.js.map +1 -0
  305. package/dist/diffusion/video-eta.d.ts +90 -0
  306. package/dist/diffusion/video-eta.js +248 -0
  307. package/dist/diffusion/video-eta.js.map +1 -0
  308. package/dist/diffusion/video-history.d.ts +45 -0
  309. package/dist/diffusion/video-history.js +121 -0
  310. package/dist/diffusion/video-history.js.map +1 -0
  311. package/dist/diffusion/video-job.d.ts +13 -5
  312. package/dist/diffusion/video-job.js +42 -15
  313. package/dist/diffusion/video-job.js.map +1 -1
  314. package/dist/diffusion/video-recipe.js +3 -0
  315. package/dist/diffusion/video-recipe.js.map +1 -1
  316. package/dist/diffusion/video-tiling.d.ts +54 -0
  317. package/dist/diffusion/video-tiling.js +70 -0
  318. package/dist/diffusion/video-tiling.js.map +1 -0
  319. package/dist/diffusion/wiring.d.ts +14 -1
  320. package/dist/diffusion/wiring.js +7 -0
  321. package/dist/diffusion/wiring.js.map +1 -1
  322. package/dist/downloads/protocol.d.ts +3 -8
  323. package/dist/downloads/protocol.js.map +1 -1
  324. package/dist/embedding/args.d.ts +39 -0
  325. package/dist/embedding/args.js +46 -0
  326. package/dist/embedding/args.js.map +1 -0
  327. package/dist/embedding/engine.d.ts +50 -0
  328. package/dist/embedding/engine.js +100 -0
  329. package/dist/embedding/engine.js.map +1 -0
  330. package/dist/embedding/ffmpeg.d.ts +18 -0
  331. package/dist/embedding/ffmpeg.js +63 -0
  332. package/dist/embedding/ffmpeg.js.map +1 -0
  333. package/dist/embedding/index.d.ts +16 -0
  334. package/dist/embedding/index.js +17 -0
  335. package/dist/embedding/index.js.map +1 -0
  336. package/dist/embedding/model-facts.d.ts +51 -0
  337. package/dist/embedding/model-facts.js +84 -0
  338. package/dist/embedding/model-facts.js.map +1 -0
  339. package/dist/embedding/process.d.ts +66 -0
  340. package/dist/embedding/process.js +131 -0
  341. package/dist/embedding/process.js.map +1 -0
  342. package/dist/embedding/readiness.d.ts +56 -0
  343. package/dist/embedding/readiness.js +114 -0
  344. package/dist/embedding/readiness.js.map +1 -0
  345. package/dist/embedding/request.d.ts +43 -0
  346. package/dist/embedding/request.js +285 -0
  347. package/dist/embedding/request.js.map +1 -0
  348. package/dist/embedding/service.d.ts +152 -0
  349. package/dist/embedding/service.js +602 -0
  350. package/dist/embedding/service.js.map +1 -0
  351. package/dist/embedding/wiring.d.ts +51 -0
  352. package/dist/embedding/wiring.js +79 -0
  353. package/dist/embedding/wiring.js.map +1 -0
  354. package/dist/engine-builds/builds.d.ts +54 -0
  355. package/dist/engine-builds/builds.js +151 -0
  356. package/dist/engine-builds/builds.js.map +1 -0
  357. package/dist/engine-builds/index.d.ts +10 -0
  358. package/dist/engine-builds/index.js +11 -0
  359. package/dist/engine-builds/index.js.map +1 -0
  360. package/dist/engine-builds/install.d.ts +42 -0
  361. package/dist/engine-builds/install.js +100 -0
  362. package/dist/engine-builds/install.js.map +1 -0
  363. package/dist/engine-builds/manifest.d.ts +121 -0
  364. package/dist/engine-builds/manifest.js +254 -0
  365. package/dist/engine-builds/manifest.js.map +1 -0
  366. package/dist/engine-builds/order.d.ts +24 -0
  367. package/dist/engine-builds/order.js +44 -0
  368. package/dist/engine-builds/order.js.map +1 -0
  369. package/dist/engine-builds/select.d.ts +123 -0
  370. package/dist/engine-builds/select.js +223 -0
  371. package/dist/engine-builds/select.js.map +1 -0
  372. package/dist/engine-builds/service.d.ts +123 -0
  373. package/dist/engine-builds/service.js +392 -0
  374. package/dist/engine-builds/service.js.map +1 -0
  375. package/dist/engines/descriptor-order.d.ts +28 -0
  376. package/dist/engines/descriptor-order.js +60 -0
  377. package/dist/engines/descriptor-order.js.map +1 -0
  378. package/dist/engines/engine-build.d.ts +23 -0
  379. package/dist/engines/engine-build.js +58 -0
  380. package/dist/engines/engine-build.js.map +1 -0
  381. package/dist/engines/index.d.ts +10 -0
  382. package/dist/engines/index.js +11 -0
  383. package/dist/engines/index.js.map +1 -0
  384. package/dist/engines/llamacpp.d.ts +71 -0
  385. package/dist/engines/llamacpp.js +176 -0
  386. package/dist/engines/llamacpp.js.map +1 -0
  387. package/dist/engines/managed.d.ts +49 -0
  388. package/dist/engines/managed.js +88 -0
  389. package/dist/engines/managed.js.map +1 -0
  390. package/dist/engines/service.d.ts +46 -0
  391. package/dist/engines/service.js +61 -0
  392. package/dist/engines/service.js.map +1 -0
  393. package/dist/engines/versions.d.ts +65 -0
  394. package/dist/engines/versions.js +259 -0
  395. package/dist/engines/versions.js.map +1 -0
  396. package/dist/hardware/cpu-flags.d.ts +44 -0
  397. package/dist/hardware/cpu-flags.js +206 -0
  398. package/dist/hardware/cpu-flags.js.map +1 -0
  399. package/dist/hardware/drm-sysfs.d.ts +51 -0
  400. package/dist/hardware/drm-sysfs.js +67 -0
  401. package/dist/hardware/drm-sysfs.js.map +1 -0
  402. package/dist/hardware/facts.d.ts +42 -0
  403. package/dist/hardware/facts.js +92 -0
  404. package/dist/hardware/facts.js.map +1 -0
  405. package/dist/hardware/index.d.ts +19 -3
  406. package/dist/hardware/index.js +19 -3
  407. package/dist/hardware/index.js.map +1 -1
  408. package/dist/hardware/merge.d.ts +55 -0
  409. package/dist/hardware/merge.js +141 -0
  410. package/dist/hardware/merge.js.map +1 -0
  411. package/dist/hardware/nvidia-smi.d.ts +43 -0
  412. package/dist/hardware/nvidia-smi.js +118 -0
  413. package/dist/hardware/nvidia-smi.js.map +1 -0
  414. package/dist/hardware/probe-common.d.ts +72 -0
  415. package/dist/hardware/probe-common.js +106 -0
  416. package/dist/hardware/probe-common.js.map +1 -0
  417. package/dist/hardware/probe-darwin.d.ts +20 -0
  418. package/dist/hardware/probe-darwin.js +76 -0
  419. package/dist/hardware/probe-darwin.js.map +1 -0
  420. package/dist/hardware/probe-linux.d.ts +9 -0
  421. package/dist/hardware/probe-linux.js +133 -0
  422. package/dist/hardware/probe-linux.js.map +1 -0
  423. package/dist/hardware/probe-windows.d.ts +7 -0
  424. package/dist/hardware/probe-windows.js +50 -0
  425. package/dist/hardware/probe-windows.js.map +1 -0
  426. package/dist/hardware/probe.d.ts +16 -0
  427. package/dist/hardware/probe.js +65 -0
  428. package/dist/hardware/probe.js.map +1 -0
  429. package/dist/hardware/service.d.ts +60 -0
  430. package/dist/hardware/service.js +114 -0
  431. package/dist/hardware/service.js.map +1 -0
  432. package/dist/hardware/vulkan.d.ts +47 -0
  433. package/dist/hardware/vulkan.js +148 -0
  434. package/dist/hardware/vulkan.js.map +1 -0
  435. package/dist/hardware/windows-video.d.ts +97 -0
  436. package/dist/hardware/windows-video.js +214 -0
  437. package/dist/hardware/windows-video.js.map +1 -0
  438. package/dist/host/app-daemon.d.ts +47 -0
  439. package/dist/host/app-daemon.js +146 -0
  440. package/dist/host/app-daemon.js.map +1 -0
  441. package/dist/host/index.d.ts +5 -3
  442. package/dist/host/index.js +5 -3
  443. package/dist/host/index.js.map +1 -1
  444. package/dist/host/log-file.d.ts +74 -0
  445. package/dist/host/log-file.js +214 -0
  446. package/dist/host/log-file.js.map +1 -0
  447. package/dist/host/recipes/enable-wsl.d.ts +63 -0
  448. package/dist/host/recipes/enable-wsl.js +73 -0
  449. package/dist/host/recipes/enable-wsl.js.map +1 -0
  450. package/dist/host/recipes/executor-io-windows.d.ts +69 -0
  451. package/dist/host/recipes/executor-io-windows.js +235 -0
  452. package/dist/host/recipes/executor-io-windows.js.map +1 -0
  453. package/dist/host/recipes/executor-io.d.ts +80 -0
  454. package/dist/host/recipes/executor-io.js +211 -0
  455. package/dist/host/recipes/executor-io.js.map +1 -0
  456. package/dist/host/recipes/executor.d.ts +81 -0
  457. package/dist/host/recipes/executor.js +678 -0
  458. package/dist/host/recipes/executor.js.map +1 -0
  459. package/dist/host/recipes/guest-executor.d.ts +29 -0
  460. package/dist/host/recipes/guest-executor.js +76 -0
  461. package/dist/host/recipes/guest-executor.js.map +1 -0
  462. package/dist/host/recipes/index.d.ts +16 -0
  463. package/dist/host/recipes/index.js +17 -0
  464. package/dist/host/recipes/index.js.map +1 -0
  465. package/dist/host/recipes/install-container-runtime.d.ts +389 -0
  466. package/dist/host/recipes/install-container-runtime.js +796 -0
  467. package/dist/host/recipes/install-container-runtime.js.map +1 -0
  468. package/dist/host/recipes/openpgp.d.ts +23 -0
  469. package/dist/host/recipes/openpgp.js +153 -0
  470. package/dist/host/recipes/openpgp.js.map +1 -0
  471. package/dist/host/recipes/request-file.d.ts +96 -0
  472. package/dist/host/recipes/request-file.js +103 -0
  473. package/dist/host/recipes/request-file.js.map +1 -0
  474. package/dist/lock/process-journal.d.ts +5 -2
  475. package/dist/lock/process-journal.js.map +1 -1
  476. package/dist/models/capabilities.d.ts +7 -0
  477. package/dist/models/capabilities.js +17 -1
  478. package/dist/models/capabilities.js.map +1 -1
  479. package/dist/models/compatibility/index.d.ts +10 -0
  480. package/dist/models/compatibility/index.js +11 -0
  481. package/dist/models/compatibility/index.js.map +1 -0
  482. package/dist/models/compatibility/inspect.d.ts +19 -0
  483. package/dist/models/compatibility/inspect.js +59 -0
  484. package/dist/models/compatibility/inspect.js.map +1 -0
  485. package/dist/models/compatibility/resolve.d.ts +59 -0
  486. package/dist/models/compatibility/resolve.js +219 -0
  487. package/dist/models/compatibility/resolve.js.map +1 -0
  488. package/dist/models/compatibility/rules-baseline.d.ts +2 -0
  489. package/dist/models/compatibility/rules-baseline.js +10 -0
  490. package/dist/models/compatibility/rules-baseline.js.map +1 -0
  491. package/dist/models/compatibility/rules-baseline.json +292 -0
  492. package/dist/models/compatibility/rules-service.d.ts +36 -0
  493. package/dist/models/compatibility/rules-service.js +109 -0
  494. package/dist/models/compatibility/rules-service.js.map +1 -0
  495. package/dist/models/compatibility/rules.d.ts +81 -0
  496. package/dist/models/compatibility/rules.js +164 -0
  497. package/dist/models/compatibility/rules.js.map +1 -0
  498. package/dist/models/compatibility/service.d.ts +59 -0
  499. package/dist/models/compatibility/service.js +137 -0
  500. package/dist/models/compatibility/service.js.map +1 -0
  501. package/dist/models/decision-checkpoint.d.ts +22 -0
  502. package/dist/models/decision-checkpoint.js +33 -0
  503. package/dist/models/decision-checkpoint.js.map +1 -0
  504. package/dist/models/gguf/classify.d.ts +27 -1
  505. package/dist/models/gguf/classify.js +78 -2
  506. package/dist/models/gguf/classify.js.map +1 -1
  507. package/dist/models/gguf/index.d.ts +1 -0
  508. package/dist/models/gguf/index.js +1 -0
  509. package/dist/models/gguf/index.js.map +1 -1
  510. package/dist/models/gguf/tensors.d.ts +56 -0
  511. package/dist/models/gguf/tensors.js +236 -0
  512. package/dist/models/gguf/tensors.js.map +1 -0
  513. package/dist/models/index.d.ts +2 -0
  514. package/dist/models/index.js +2 -0
  515. package/dist/models/index.js.map +1 -1
  516. package/dist/router/resolve.d.ts +7 -1
  517. package/dist/router/resolve.js +14 -1
  518. package/dist/router/resolve.js.map +1 -1
  519. package/dist/runtime/container/argv.d.ts +88 -0
  520. package/dist/runtime/container/argv.js +406 -0
  521. package/dist/runtime/container/argv.js.map +1 -0
  522. package/dist/runtime/container/docker-binary.d.ts +4 -0
  523. package/dist/runtime/container/docker-binary.js +34 -0
  524. package/dist/runtime/container/docker-binary.js.map +1 -0
  525. package/dist/runtime/container/env.d.ts +17 -0
  526. package/dist/runtime/container/env.js +52 -0
  527. package/dist/runtime/container/env.js.map +1 -0
  528. package/dist/runtime/container/exec.d.ts +27 -0
  529. package/dist/runtime/container/exec.js +79 -0
  530. package/dist/runtime/container/exec.js.map +1 -0
  531. package/dist/runtime/container/execution-journal.d.ts +55 -0
  532. package/dist/runtime/container/execution-journal.js +167 -0
  533. package/dist/runtime/container/execution-journal.js.map +1 -0
  534. package/dist/runtime/container/heartbeat.d.ts +47 -0
  535. package/dist/runtime/container/heartbeat.js +78 -0
  536. package/dist/runtime/container/heartbeat.js.map +1 -0
  537. package/dist/runtime/container/index.d.ts +30 -0
  538. package/dist/runtime/container/index.js +31 -0
  539. package/dist/runtime/container/index.js.map +1 -0
  540. package/dist/runtime/container/operations.d.ts +40 -0
  541. package/dist/runtime/container/operations.js +233 -0
  542. package/dist/runtime/container/operations.js.map +1 -0
  543. package/dist/runtime/container/pull.d.ts +48 -0
  544. package/dist/runtime/container/pull.js +280 -0
  545. package/dist/runtime/container/pull.js.map +1 -0
  546. package/dist/runtime/container/reconcile.d.ts +34 -0
  547. package/dist/runtime/container/reconcile.js +79 -0
  548. package/dist/runtime/container/reconcile.js.map +1 -0
  549. package/dist/runtime/container/types.d.ts +124 -0
  550. package/dist/runtime/container/types.js +2 -0
  551. package/dist/runtime/container/types.js.map +1 -0
  552. package/dist/runtime/container/watchdog.d.ts +114 -0
  553. package/dist/runtime/container/watchdog.js +418 -0
  554. package/dist/runtime/container/watchdog.js.map +1 -0
  555. package/dist/runtime/container/wiring.d.ts +78 -0
  556. package/dist/runtime/container/wiring.js +92 -0
  557. package/dist/runtime/container/wiring.js.map +1 -0
  558. package/dist/runtime/container/wsl-exec.d.ts +13 -0
  559. package/dist/runtime/container/wsl-exec.js +18 -0
  560. package/dist/runtime/container/wsl-exec.js.map +1 -0
  561. package/dist/runtime/environment/cached-document.d.ts +128 -0
  562. package/dist/runtime/environment/cached-document.js +218 -0
  563. package/dist/runtime/environment/cached-document.js.map +1 -0
  564. package/dist/runtime/environment/canonical-json.d.ts +78 -0
  565. package/dist/runtime/environment/canonical-json.js +86 -0
  566. package/dist/runtime/environment/canonical-json.js.map +1 -0
  567. package/dist/runtime/environment/descriptor-provider.d.ts +121 -0
  568. package/dist/runtime/environment/descriptor-provider.js +159 -0
  569. package/dist/runtime/environment/descriptor-provider.js.map +1 -0
  570. package/dist/runtime/environment/descriptor.d.ts +35 -0
  571. package/dist/runtime/environment/descriptor.js +239 -0
  572. package/dist/runtime/environment/descriptor.js.map +1 -0
  573. package/dist/runtime/environment/diagnostics.d.ts +50 -0
  574. package/dist/runtime/environment/diagnostics.js +114 -0
  575. package/dist/runtime/environment/diagnostics.js.map +1 -0
  576. package/dist/runtime/environment/document-fields.d.ts +39 -0
  577. package/dist/runtime/environment/document-fields.js +96 -0
  578. package/dist/runtime/environment/document-fields.js.map +1 -0
  579. package/dist/runtime/environment/environment-manifest-provider.d.ts +65 -0
  580. package/dist/runtime/environment/environment-manifest-provider.js +89 -0
  581. package/dist/runtime/environment/environment-manifest-provider.js.map +1 -0
  582. package/dist/runtime/environment/environment-manifest.d.ts +35 -0
  583. package/dist/runtime/environment/environment-manifest.js +131 -0
  584. package/dist/runtime/environment/environment-manifest.js.map +1 -0
  585. package/dist/runtime/environment/guest-host.d.ts +43 -0
  586. package/dist/runtime/environment/guest-host.js +88 -0
  587. package/dist/runtime/environment/guest-host.js.map +1 -0
  588. package/dist/runtime/environment/host-exec.d.ts +38 -0
  589. package/dist/runtime/environment/host-exec.js +145 -0
  590. package/dist/runtime/environment/host-exec.js.map +1 -0
  591. package/dist/runtime/environment/host-step-failure.d.ts +33 -0
  592. package/dist/runtime/environment/host-step-failure.js +34 -0
  593. package/dist/runtime/environment/host-step-failure.js.map +1 -0
  594. package/dist/runtime/environment/index.d.ts +56 -0
  595. package/dist/runtime/environment/index.js +57 -0
  596. package/dist/runtime/environment/index.js.map +1 -0
  597. package/dist/runtime/environment/installations.d.ts +25 -0
  598. package/dist/runtime/environment/installations.js +70 -0
  599. package/dist/runtime/environment/installations.js.map +1 -0
  600. package/dist/runtime/environment/inventory.d.ts +42 -0
  601. package/dist/runtime/environment/inventory.js +57 -0
  602. package/dist/runtime/environment/inventory.js.map +1 -0
  603. package/dist/runtime/environment/linux-blockers.d.ts +130 -0
  604. package/dist/runtime/environment/linux-blockers.js +251 -0
  605. package/dist/runtime/environment/linux-blockers.js.map +1 -0
  606. package/dist/runtime/environment/linux-docker-facts.d.ts +200 -0
  607. package/dist/runtime/environment/linux-docker-facts.js +342 -0
  608. package/dist/runtime/environment/linux-docker-facts.js.map +1 -0
  609. package/dist/runtime/environment/linux-docker-network.d.ts +80 -0
  610. package/dist/runtime/environment/linux-docker-network.js +195 -0
  611. package/dist/runtime/environment/linux-docker-network.js.map +1 -0
  612. package/dist/runtime/environment/linux-host.d.ts +22 -0
  613. package/dist/runtime/environment/linux-host.js +98 -0
  614. package/dist/runtime/environment/linux-host.js.map +1 -0
  615. package/dist/runtime/environment/linux-plan.d.ts +126 -0
  616. package/dist/runtime/environment/linux-plan.js +392 -0
  617. package/dist/runtime/environment/linux-plan.js.map +1 -0
  618. package/dist/runtime/environment/linux-probe.d.ts +245 -0
  619. package/dist/runtime/environment/linux-probe.js +315 -0
  620. package/dist/runtime/environment/linux-probe.js.map +1 -0
  621. package/dist/runtime/environment/linux-provisioner.d.ts +102 -0
  622. package/dist/runtime/environment/linux-provisioner.js +734 -0
  623. package/dist/runtime/environment/linux-provisioner.js.map +1 -0
  624. package/dist/runtime/environment/provisioner-descriptors.d.ts +17 -0
  625. package/dist/runtime/environment/provisioner-descriptors.js +62 -0
  626. package/dist/runtime/environment/provisioner-descriptors.js.map +1 -0
  627. package/dist/runtime/environment/recovery.d.ts +74 -0
  628. package/dist/runtime/environment/recovery.js +121 -0
  629. package/dist/runtime/environment/recovery.js.map +1 -0
  630. package/dist/runtime/environment/rootfs-download.d.ts +2 -0
  631. package/dist/runtime/environment/rootfs-download.js +47 -0
  632. package/dist/runtime/environment/rootfs-download.js.map +1 -0
  633. package/dist/runtime/environment/service.d.ts +280 -0
  634. package/dist/runtime/environment/service.js +776 -0
  635. package/dist/runtime/environment/service.js.map +1 -0
  636. package/dist/runtime/environment/state.d.ts +163 -0
  637. package/dist/runtime/environment/state.js +479 -0
  638. package/dist/runtime/environment/state.js.map +1 -0
  639. package/dist/runtime/environment/store-models.d.ts +19 -0
  640. package/dist/runtime/environment/store-models.js +30 -0
  641. package/dist/runtime/environment/store-models.js.map +1 -0
  642. package/dist/runtime/environment/store.d.ts +210 -0
  643. package/dist/runtime/environment/store.js +438 -0
  644. package/dist/runtime/environment/store.js.map +1 -0
  645. package/dist/runtime/environment/windows-environment-record.d.ts +48 -0
  646. package/dist/runtime/environment/windows-environment-record.js +89 -0
  647. package/dist/runtime/environment/windows-environment-record.js.map +1 -0
  648. package/dist/runtime/environment/windows-forwarding.d.ts +27 -0
  649. package/dist/runtime/environment/windows-forwarding.js +84 -0
  650. package/dist/runtime/environment/windows-forwarding.js.map +1 -0
  651. package/dist/runtime/environment/windows-guest-setup.d.ts +48 -0
  652. package/dist/runtime/environment/windows-guest-setup.js +157 -0
  653. package/dist/runtime/environment/windows-guest-setup.js.map +1 -0
  654. package/dist/runtime/environment/windows-host.d.ts +46 -0
  655. package/dist/runtime/environment/windows-host.js +163 -0
  656. package/dist/runtime/environment/windows-host.js.map +1 -0
  657. package/dist/runtime/environment/windows-plan.d.ts +78 -0
  658. package/dist/runtime/environment/windows-plan.js +216 -0
  659. package/dist/runtime/environment/windows-plan.js.map +1 -0
  660. package/dist/runtime/environment/windows-probe.d.ts +135 -0
  661. package/dist/runtime/environment/windows-probe.js +261 -0
  662. package/dist/runtime/environment/windows-probe.js.map +1 -0
  663. package/dist/runtime/environment/windows-provisioner.d.ts +113 -0
  664. package/dist/runtime/environment/windows-provisioner.js +782 -0
  665. package/dist/runtime/environment/windows-provisioner.js.map +1 -0
  666. package/dist/runtime/environment/wiring.d.ts +117 -0
  667. package/dist/runtime/environment/wiring.js +354 -0
  668. package/dist/runtime/environment/wiring.js.map +1 -0
  669. package/dist/runtime/foundation-models/runtime.d.ts +8 -0
  670. package/dist/runtime/foundation-models/runtime.js +5 -2
  671. package/dist/runtime/foundation-models/runtime.js.map +1 -1
  672. package/dist/runtime/llamacpp/args.d.ts +10 -1
  673. package/dist/runtime/llamacpp/args.js +43 -7
  674. package/dist/runtime/llamacpp/args.js.map +1 -1
  675. package/dist/runtime/llamacpp/fit-margin.d.ts +46 -0
  676. package/dist/runtime/llamacpp/fit-margin.js +47 -0
  677. package/dist/runtime/llamacpp/fit-margin.js.map +1 -0
  678. package/dist/runtime/llamacpp/index.d.ts +1 -0
  679. package/dist/runtime/llamacpp/index.js +1 -0
  680. package/dist/runtime/llamacpp/index.js.map +1 -1
  681. package/dist/runtime/llamacpp/load-plan.d.ts +23 -1
  682. package/dist/runtime/llamacpp/load-plan.js +82 -1
  683. package/dist/runtime/llamacpp/load-plan.js.map +1 -1
  684. package/dist/runtime/llamacpp/policy.d.ts +16 -0
  685. package/dist/runtime/llamacpp/policy.js +20 -0
  686. package/dist/runtime/llamacpp/policy.js.map +1 -1
  687. package/dist/runtime/llamacpp/probe.d.ts +21 -1
  688. package/dist/runtime/llamacpp/probe.js +32 -6
  689. package/dist/runtime/llamacpp/probe.js.map +1 -1
  690. package/dist/runtime/llamacpp/runtime.d.ts +56 -1
  691. package/dist/runtime/llamacpp/runtime.js +142 -15
  692. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  693. package/dist/runtime/managed-engines/index.d.ts +8 -0
  694. package/dist/runtime/managed-engines/index.js +9 -0
  695. package/dist/runtime/managed-engines/index.js.map +1 -0
  696. package/dist/runtime/managed-engines/runtime.d.ts +140 -0
  697. package/dist/runtime/managed-engines/runtime.js +402 -0
  698. package/dist/runtime/managed-engines/runtime.js.map +1 -0
  699. package/dist/runtime/managed-engines/spec.d.ts +70 -0
  700. package/dist/runtime/managed-engines/spec.js +39 -0
  701. package/dist/runtime/managed-engines/spec.js.map +1 -0
  702. package/dist/runtime/managed-models/check.d.ts +50 -0
  703. package/dist/runtime/managed-models/check.js +157 -0
  704. package/dist/runtime/managed-models/check.js.map +1 -0
  705. package/dist/runtime/managed-models/compatibility.d.ts +256 -0
  706. package/dist/runtime/managed-models/compatibility.js +594 -0
  707. package/dist/runtime/managed-models/compatibility.js.map +1 -0
  708. package/dist/runtime/managed-models/delete.d.ts +15 -0
  709. package/dist/runtime/managed-models/delete.js +60 -0
  710. package/dist/runtime/managed-models/delete.js.map +1 -0
  711. package/dist/runtime/managed-models/guest-files.d.ts +8 -0
  712. package/dist/runtime/managed-models/guest-files.js +49 -0
  713. package/dist/runtime/managed-models/guest-files.js.map +1 -0
  714. package/dist/runtime/managed-models/index.d.ts +17 -0
  715. package/dist/runtime/managed-models/index.js +18 -0
  716. package/dist/runtime/managed-models/index.js.map +1 -0
  717. package/dist/runtime/managed-models/location.d.ts +22 -0
  718. package/dist/runtime/managed-models/location.js +53 -0
  719. package/dist/runtime/managed-models/location.js.map +1 -0
  720. package/dist/runtime/managed-models/migrate.d.ts +30 -0
  721. package/dist/runtime/managed-models/migrate.js +119 -0
  722. package/dist/runtime/managed-models/migrate.js.map +1 -0
  723. package/dist/runtime/managed-models/model-dir.d.ts +36 -0
  724. package/dist/runtime/managed-models/model-dir.js +136 -0
  725. package/dist/runtime/managed-models/model-dir.js.map +1 -0
  726. package/dist/runtime/managed-models/quant-format.d.ts +71 -0
  727. package/dist/runtime/managed-models/quant-format.js +299 -0
  728. package/dist/runtime/managed-models/quant-format.js.map +1 -0
  729. package/dist/runtime/managed-models/registry.d.ts +26 -0
  730. package/dist/runtime/managed-models/registry.js +66 -0
  731. package/dist/runtime/managed-models/registry.js.map +1 -0
  732. package/dist/runtime/managed-text/adapter.d.ts +266 -0
  733. package/dist/runtime/managed-text/adapter.js +96 -0
  734. package/dist/runtime/managed-text/adapter.js.map +1 -0
  735. package/dist/runtime/managed-text/backend-target.d.ts +3 -0
  736. package/dist/runtime/managed-text/backend-target.js +52 -0
  737. package/dist/runtime/managed-text/backend-target.js.map +1 -0
  738. package/dist/runtime/managed-text/deployment.d.ts +14 -0
  739. package/dist/runtime/managed-text/deployment.js +32 -0
  740. package/dist/runtime/managed-text/deployment.js.map +1 -0
  741. package/dist/runtime/managed-text/engine-cache.d.ts +15 -0
  742. package/dist/runtime/managed-text/engine-cache.js +64 -0
  743. package/dist/runtime/managed-text/engine-cache.js.map +1 -0
  744. package/dist/runtime/managed-text/gateway.d.ts +158 -0
  745. package/dist/runtime/managed-text/gateway.js +535 -0
  746. package/dist/runtime/managed-text/gateway.js.map +1 -0
  747. package/dist/runtime/managed-text/generation-defaults.d.ts +23 -0
  748. package/dist/runtime/managed-text/generation-defaults.js +51 -0
  749. package/dist/runtime/managed-text/generation-defaults.js.map +1 -0
  750. package/dist/runtime/managed-text/index.d.ts +26 -0
  751. package/dist/runtime/managed-text/index.js +27 -0
  752. package/dist/runtime/managed-text/index.js.map +1 -0
  753. package/dist/runtime/managed-text/lifecycle.d.ts +276 -0
  754. package/dist/runtime/managed-text/lifecycle.js +859 -0
  755. package/dist/runtime/managed-text/lifecycle.js.map +1 -0
  756. package/dist/runtime/managed-text/load-policy.d.ts +47 -0
  757. package/dist/runtime/managed-text/load-policy.js +111 -0
  758. package/dist/runtime/managed-text/load-policy.js.map +1 -0
  759. package/dist/runtime/managed-text/mount-source.d.ts +14 -0
  760. package/dist/runtime/managed-text/mount-source.js +18 -0
  761. package/dist/runtime/managed-text/mount-source.js.map +1 -0
  762. package/dist/runtime/managed-text/readiness.d.ts +13 -0
  763. package/dist/runtime/managed-text/readiness.js +24 -0
  764. package/dist/runtime/managed-text/readiness.js.map +1 -0
  765. package/dist/runtime/managed-text/request-rules.d.ts +18 -0
  766. package/dist/runtime/managed-text/request-rules.js +62 -0
  767. package/dist/runtime/managed-text/request-rules.js.map +1 -0
  768. package/dist/runtime/managed-text/types.d.ts +88 -0
  769. package/dist/runtime/managed-text/types.js +12 -0
  770. package/dist/runtime/managed-text/types.js.map +1 -0
  771. package/dist/runtime/managed-text/wsl-deployment.d.ts +24 -0
  772. package/dist/runtime/managed-text/wsl-deployment.js +70 -0
  773. package/dist/runtime/managed-text/wsl-deployment.js.map +1 -0
  774. package/dist/runtime/mlx/errors.d.ts +6 -1
  775. package/dist/runtime/mlx/errors.js +7 -2
  776. package/dist/runtime/mlx/errors.js.map +1 -1
  777. package/dist/runtime/mlx/runtime.d.ts +36 -1
  778. package/dist/runtime/mlx/runtime.js +85 -4
  779. package/dist/runtime/mlx/runtime.js.map +1 -1
  780. package/dist/runtime/shared/backend-output.d.ts +23 -0
  781. package/dist/runtime/shared/backend-output.js +32 -0
  782. package/dist/runtime/shared/backend-output.js.map +1 -0
  783. package/dist/runtime/shared/bounded-output.d.ts +24 -0
  784. package/dist/runtime/shared/bounded-output.js +63 -0
  785. package/dist/runtime/shared/bounded-output.js.map +1 -0
  786. package/dist/runtime/shared/external-sessions.js +9 -1
  787. package/dist/runtime/shared/external-sessions.js.map +1 -1
  788. package/dist/runtime/shared/gpu-occupancy.d.ts +60 -0
  789. package/dist/runtime/shared/gpu-occupancy.js +10 -0
  790. package/dist/runtime/shared/gpu-occupancy.js.map +1 -0
  791. package/dist/runtime/shared/index.d.ts +4 -0
  792. package/dist/runtime/shared/index.js +4 -0
  793. package/dist/runtime/shared/index.js.map +1 -1
  794. package/dist/runtime/shared/local-runtime.d.ts +35 -0
  795. package/dist/runtime/shared/ports.d.ts +6 -0
  796. package/dist/runtime/shared/ports.js +12 -1
  797. package/dist/runtime/shared/ports.js.map +1 -1
  798. package/dist/runtime/shared/process.d.ts +11 -0
  799. package/dist/runtime/shared/process.js +20 -0
  800. package/dist/runtime/shared/process.js.map +1 -1
  801. package/dist/runtime/shared/redact-args.d.ts +7 -0
  802. package/dist/runtime/shared/redact-args.js +26 -0
  803. package/dist/runtime/shared/redact-args.js.map +1 -0
  804. package/dist/runtime/shared/sidecar.d.ts +15 -0
  805. package/dist/runtime/shared/sidecar.js +43 -8
  806. package/dist/runtime/shared/sidecar.js.map +1 -1
  807. package/dist/runtime/tensorrt-llm/adapter.d.ts +250 -0
  808. package/dist/runtime/tensorrt-llm/adapter.js +1011 -0
  809. package/dist/runtime/tensorrt-llm/adapter.js.map +1 -0
  810. package/dist/runtime/tensorrt-llm/check.d.ts +12 -0
  811. package/dist/runtime/tensorrt-llm/check.js +21 -0
  812. package/dist/runtime/tensorrt-llm/check.js.map +1 -0
  813. package/dist/runtime/tensorrt-llm/compatibility.d.ts +100 -0
  814. package/dist/runtime/tensorrt-llm/compatibility.js +181 -0
  815. package/dist/runtime/tensorrt-llm/compatibility.js.map +1 -0
  816. package/dist/runtime/tensorrt-llm/engine.d.ts +3 -0
  817. package/dist/runtime/tensorrt-llm/engine.js +24 -0
  818. package/dist/runtime/tensorrt-llm/engine.js.map +1 -0
  819. package/dist/runtime/tensorrt-llm/host-facts.d.ts +55 -0
  820. package/dist/runtime/tensorrt-llm/host-facts.js +87 -0
  821. package/dist/runtime/tensorrt-llm/host-facts.js.map +1 -0
  822. package/dist/runtime/tensorrt-llm/index.d.ts +30 -0
  823. package/dist/runtime/tensorrt-llm/index.js +31 -0
  824. package/dist/runtime/tensorrt-llm/index.js.map +1 -0
  825. package/dist/runtime/tensorrt-llm/installation.d.ts +23 -0
  826. package/dist/runtime/tensorrt-llm/installation.js +53 -0
  827. package/dist/runtime/tensorrt-llm/installation.js.map +1 -0
  828. package/dist/runtime/tensorrt-llm/kv-cache.d.ts +25 -0
  829. package/dist/runtime/tensorrt-llm/kv-cache.js +28 -0
  830. package/dist/runtime/tensorrt-llm/kv-cache.js.map +1 -0
  831. package/dist/runtime/tensorrt-llm/prelaunch.d.ts +20 -0
  832. package/dist/runtime/tensorrt-llm/prelaunch.js +168 -0
  833. package/dist/runtime/tensorrt-llm/prelaunch.js.map +1 -0
  834. package/dist/runtime/tensorrt-llm/route-policy.d.ts +19 -0
  835. package/dist/runtime/tensorrt-llm/route-policy.js +17 -0
  836. package/dist/runtime/tensorrt-llm/route-policy.js.map +1 -0
  837. package/dist/runtime/tensorrt-llm/settings.d.ts +7 -0
  838. package/dist/runtime/tensorrt-llm/settings.js +48 -0
  839. package/dist/runtime/tensorrt-llm/settings.js.map +1 -0
  840. package/dist/runtime/vllm/adapter.d.ts +46 -0
  841. package/dist/runtime/vllm/adapter.js +425 -0
  842. package/dist/runtime/vllm/adapter.js.map +1 -0
  843. package/dist/runtime/vllm/engine.d.ts +16 -0
  844. package/dist/runtime/vllm/engine.js +37 -0
  845. package/dist/runtime/vllm/engine.js.map +1 -0
  846. package/dist/runtime/vllm/index.d.ts +11 -0
  847. package/dist/runtime/vllm/index.js +12 -0
  848. package/dist/runtime/vllm/index.js.map +1 -0
  849. package/dist/runtime/vllm/memory.d.ts +69 -0
  850. package/dist/runtime/vllm/memory.js +123 -0
  851. package/dist/runtime/vllm/memory.js.map +1 -0
  852. package/dist/runtime/vllm/settings.d.ts +52 -0
  853. package/dist/runtime/vllm/settings.js +151 -0
  854. package/dist/runtime/vllm/settings.js.map +1 -0
  855. package/dist/runtime/wsl/guest-paths.d.ts +33 -0
  856. package/dist/runtime/wsl/guest-paths.js +83 -0
  857. package/dist/runtime/wsl/guest-paths.js.map +1 -0
  858. package/dist/runtime/wsl/guest-scope.d.ts +14 -0
  859. package/dist/runtime/wsl/guest-scope.js +98 -0
  860. package/dist/runtime/wsl/guest-scope.js.map +1 -0
  861. package/dist/runtime/wsl/index.d.ts +12 -0
  862. package/dist/runtime/wsl/index.js +13 -0
  863. package/dist/runtime/wsl/index.js.map +1 -0
  864. package/dist/runtime/wsl/keeper.d.ts +29 -0
  865. package/dist/runtime/wsl/keeper.js +48 -0
  866. package/dist/runtime/wsl/keeper.js.map +1 -0
  867. package/dist/runtime/wsl/transport.d.ts +106 -0
  868. package/dist/runtime/wsl/transport.js +181 -0
  869. package/dist/runtime/wsl/transport.js.map +1 -0
  870. package/dist/server/control/index.d.ts +1 -1
  871. package/dist/server/control/router.js +15 -0
  872. package/dist/server/control/router.js.map +1 -1
  873. package/dist/server/control/routes/backends.js +26 -0
  874. package/dist/server/control/routes/backends.js.map +1 -1
  875. package/dist/server/control/routes/decision.d.ts +10 -0
  876. package/dist/server/control/routes/decision.js +43 -0
  877. package/dist/server/control/routes/decision.js.map +1 -0
  878. package/dist/server/control/routes/diffusion-video.js +4 -0
  879. package/dist/server/control/routes/diffusion-video.js.map +1 -1
  880. package/dist/server/control/routes/diffusion.d.ts +1 -1
  881. package/dist/server/control/routes/diffusion.js +4 -9
  882. package/dist/server/control/routes/diffusion.js.map +1 -1
  883. package/dist/server/control/routes/embedding.d.ts +9 -0
  884. package/dist/server/control/routes/embedding.js +43 -0
  885. package/dist/server/control/routes/embedding.js.map +1 -0
  886. package/dist/server/control/routes/engine-builds.d.ts +14 -0
  887. package/dist/server/control/routes/engine-builds.js +82 -0
  888. package/dist/server/control/routes/engine-builds.js.map +1 -0
  889. package/dist/server/control/routes/engines.d.ts +17 -0
  890. package/dist/server/control/routes/engines.js +152 -0
  891. package/dist/server/control/routes/engines.js.map +1 -0
  892. package/dist/server/control/routes/environments.d.ts +16 -0
  893. package/dist/server/control/routes/environments.js +207 -0
  894. package/dist/server/control/routes/environments.js.map +1 -0
  895. package/dist/server/control/routes/hardware.d.ts +1 -1
  896. package/dist/server/control/routes/hardware.js +11 -6
  897. package/dist/server/control/routes/hardware.js.map +1 -1
  898. package/dist/server/control/routes/model-setups.d.ts +11 -0
  899. package/dist/server/control/routes/model-setups.js +55 -0
  900. package/dist/server/control/routes/model-setups.js.map +1 -0
  901. package/dist/server/control/routes/models.d.ts +3 -2
  902. package/dist/server/control/routes/models.js +45 -2
  903. package/dist/server/control/routes/models.js.map +1 -1
  904. package/dist/server/control/types.d.ts +167 -9
  905. package/dist/server/control/types.js.map +1 -1
  906. package/dist/server/http.d.ts +9 -1
  907. package/dist/server/http.js +51 -1
  908. package/dist/server/http.js.map +1 -1
  909. package/dist/server/public/decision-preview.d.ts +17 -0
  910. package/dist/server/public/decision-preview.js +119 -0
  911. package/dist/server/public/decision-preview.js.map +1 -0
  912. package/dist/server/public/decision.d.ts +32 -0
  913. package/dist/server/public/decision.js +135 -0
  914. package/dist/server/public/decision.js.map +1 -0
  915. package/dist/server/public/embedding.d.ts +31 -0
  916. package/dist/server/public/embedding.js +126 -0
  917. package/dist/server/public/embedding.js.map +1 -0
  918. package/dist/server/public/errors.d.ts +2 -1
  919. package/dist/server/public/errors.js +5 -2
  920. package/dist/server/public/errors.js.map +1 -1
  921. package/dist/server/public/forward.js +75 -3
  922. package/dist/server/public/forward.js.map +1 -1
  923. package/dist/server/public/gates.d.ts +13 -0
  924. package/dist/server/public/gates.js +37 -14
  925. package/dist/server/public/gates.js.map +1 -1
  926. package/dist/server/public/index.d.ts +5 -2
  927. package/dist/server/public/index.js +14 -1
  928. package/dist/server/public/index.js.map +1 -1
  929. package/dist/server/public/listing.d.ts +13 -2
  930. package/dist/server/public/listing.js +33 -9
  931. package/dist/server/public/listing.js.map +1 -1
  932. package/dist/server/public/policy.d.ts +9 -0
  933. package/dist/server/public/policy.js +68 -0
  934. package/dist/server/public/policy.js.map +1 -0
  935. package/dist/server/public/responses.js +10 -0
  936. package/dist/server/public/responses.js.map +1 -1
  937. package/dist/server/public/trace.d.ts +2 -2
  938. package/dist/server/public/trace.js +6 -2
  939. package/dist/server/public/trace.js.map +1 -1
  940. package/dist/server/public/types.d.ts +84 -1
  941. package/dist/settings/decision.d.ts +15 -0
  942. package/dist/settings/decision.js +88 -0
  943. package/dist/settings/decision.js.map +1 -0
  944. package/dist/settings/embedding.d.ts +12 -0
  945. package/dist/settings/embedding.js +82 -0
  946. package/dist/settings/embedding.js.map +1 -0
  947. package/dist/settings/index.d.ts +2 -0
  948. package/dist/settings/index.js +2 -0
  949. package/dist/settings/index.js.map +1 -1
  950. package/dist/settings/schema/atomic-prism.json +433 -0
  951. package/dist/settings/schema/tensorrt-llm.json +253 -0
  952. package/dist/settings/schema/vllm.json +273 -0
  953. package/dist/settings/schema.js +58 -0
  954. package/dist/settings/schema.js.map +1 -1
  955. package/dist/settings/store.d.ts +13 -2
  956. package/dist/settings/store.js +44 -0
  957. package/dist/settings/store.js.map +1 -1
  958. package/dist/util/index.d.ts +1 -0
  959. package/dist/util/index.js +1 -0
  960. package/dist/util/index.js.map +1 -1
  961. package/dist/util/result.d.ts +19 -0
  962. package/dist/util/result.js +15 -0
  963. package/dist/util/result.js.map +1 -0
  964. package/dist/version.d.ts +1 -1
  965. package/dist/version.js +1 -1
  966. package/dist/version.js.map +1 -1
  967. package/package.json +1 -1
  968. package/src/settings/schema/atomic-prism.json +433 -0
  969. package/src/settings/schema/tensorrt-llm.json +253 -0
  970. package/src/settings/schema/vllm.json +273 -0
@@ -0,0 +1,479 @@
1
+ /**
2
+ * The setup, update and removal state machine, as a pure function.
3
+ *
4
+ * Everything that can fail halfway lives here: a user who must sign out and back in before the
5
+ * `docker` group counts, a machine that must reboot before WSL exists, a package transaction that
6
+ * cannot be interrupted, a core that died between importing a distribution and recording that it
7
+ * did. None of that is testable against a real machine often enough to trust, so the rules are a
8
+ * table: previous state plus one event in, next state and at most one effect intent out. No clock,
9
+ * no ids, no filesystem — the caller supplies those facts and runs the effects.
10
+ *
11
+ * Two invariants hold the rest together. An effect's result is accepted only for the effect that is
12
+ * actually pending, at the revision it was issued at, so a late answer from a superseded attempt
13
+ * cannot move the machine. And nothing privileged happens without a consent whose hash still
14
+ * matches the plan: if the host changed under an approval, the machine goes back to asking.
15
+ */
16
+ import { err, ok } from '../../util/index.js';
17
+ import { hostStepFailureError } from './host-step-failure.js';
18
+ /**
19
+ * Where a freshly probed digest goes. Before any consent it is the plan on offer (`plan_digest`).
20
+ * Once work started under one, `plan_digest` is left as it is and the fresh digest is reported as
21
+ * `carried_plan_digest` instead. What `plan_digest` then holds is the consented digest — equal to
22
+ * `approved_plan_digest` (review r2, ruling A) — or, once the core re-asked because the host changed
23
+ * beyond the consent, the plan it last offered, which differs from the approval until the user
24
+ * approves it; no work runs while they differ.
25
+ */
26
+ const probedDigest = (state, digest) => (state.consented ?? null) !== null ? { carried_plan_digest: digest } : { plan_digest: digest };
27
+ const sameTarget = (a, b) => a.kind === b.kind &&
28
+ (a.kind === 'environment' ||
29
+ (b.kind === 'runtime' && a.installation_id === b.installation_id && a.engine_id === b.engine_id));
30
+ /**
31
+ * Whether `plan` still asks for what the consent covered. A removal downloads nothing, so the
32
+ * same target is enough; a setup must also name the same descriptor and the same image digest —
33
+ * otherwise continuing would download something nobody approved — and the same environment manifest,
34
+ * the distribution list the approved system changes were judged against.
35
+ */
36
+ const consentCovers = (basis, plan, kind) => sameTarget(basis.target, plan.target) &&
37
+ (kind === 'remove' ||
38
+ (basis.descriptor_id === plan.descriptor_id &&
39
+ basis.image_digest === plan.image_digest &&
40
+ (basis.environment_manifest_id ?? null) === plan.environment_manifest_id));
41
+ /** Phases from which nothing more happens on its own. */
42
+ const TERMINAL = ['ready', 'removed', 'cancelled', 'failed'];
43
+ /** Phases that change the machine. Entering one records the checkpoint (`OperationMachine.checkpoint`). */
44
+ const WORK_PHASES = [
45
+ 'preparing-host',
46
+ 'preparing-environment',
47
+ 'pulling-image',
48
+ 'verifying',
49
+ 'activating',
50
+ 'removing',
51
+ ];
52
+ /** Only the `ErrorBody` part of a blocker becomes the operation's error; its reason goes in `details`. */
53
+ const errorOf = (blocker) => {
54
+ const details = blocker.details ?? blocker.reason;
55
+ return { code: blocker.code, message: blocker.message, ...(details === undefined ? {} : { details }) };
56
+ };
57
+ const RELOGIN_ERROR = {
58
+ code: 'MANAGED_RELOGIN_REQUIRED',
59
+ message: 'Log out and back in so the docker group takes effect; setup continues on its own after that.',
60
+ };
61
+ /** Which effect each internal event is the answer to. A result for anything else is not accepted. */
62
+ const ANSWERS = {
63
+ 'requirements-ready': 'probe',
64
+ 'host-step-started': 'host-step',
65
+ 'host-receipt-verified': 'host-step',
66
+ 'environment-verified': 'prepare-environment',
67
+ 'image-pulled': 'pull-image',
68
+ 'verification-passed': 'verify',
69
+ 'resident-unloaded': 'unload-resident',
70
+ 'activation-committed': 'activate',
71
+ 'removal-completed': 'remove',
72
+ 'cleanup-completed': 'cleanup',
73
+ 'reconciled': 'reconcile',
74
+ };
75
+ const conflict = (why) => err('MANAGED_OPERATION_CONFLICT', 'This event does not apply to the operation.', why);
76
+ /**
77
+ * What happens to the work already in flight. `KEEP` is for a transition that records something —
78
+ * a cancellation asked for, a step reported as started — while the effect it is about is still
79
+ * running: dropping the pending effect there would leave its eventual result with nothing to
80
+ * attach to, and the machine would refuse the answer to its own question.
81
+ */
82
+ const KEEP = 'keep';
83
+ /** Build the next machine. Every accepted change moves the revision on exactly once. */
84
+ const advance = (state, operation, effect, flags = {}) => {
85
+ const revision = state.operation.revision + 1;
86
+ const next = { ...state.operation, ...operation, revision };
87
+ const issued = effect === null || effect === KEEP
88
+ ? null
89
+ : {
90
+ effect_id: effect.input.next_effect_id,
91
+ operation_id: next.operation_id,
92
+ expected_revision: revision,
93
+ kind: effect.kind,
94
+ plan_digest: next.plan_digest,
95
+ };
96
+ return ok({
97
+ state: {
98
+ ...state,
99
+ operation: next,
100
+ pending_effect: effect === KEEP ? state.pending_effect : issued,
101
+ indivisible_host_step_running: flags.indivisible ?? false,
102
+ checkpoint: WORK_PHASES.includes(next.phase) ? next.phase : (state.checkpoint ?? null),
103
+ },
104
+ effects: issued === null ? [] : [issued],
105
+ });
106
+ };
107
+ /** A fresh operation: nothing has been touched yet, and the first thing to do is look. */
108
+ export function startOperation(input, transition) {
109
+ const operation = {
110
+ schema_version: 1,
111
+ operation_id: input.operation_id,
112
+ request_id: input.request_id,
113
+ environment_id: input.environment_id,
114
+ target: input.target,
115
+ kind: input.kind,
116
+ instance_id: input.instance_id,
117
+ revision: 0,
118
+ phase: 'checking',
119
+ plan_digest: null,
120
+ approved_plan_digest: input.approved_plan_digest ?? null,
121
+ carried_plan_digest: null,
122
+ progress: null,
123
+ pending_host_step: null,
124
+ completed_step_ids: [],
125
+ cancellation_requested: false,
126
+ error: null,
127
+ };
128
+ const intent = {
129
+ effect_id: transition.next_effect_id,
130
+ operation_id: operation.operation_id,
131
+ expected_revision: 0,
132
+ kind: 'probe',
133
+ plan_digest: null,
134
+ };
135
+ return {
136
+ state: { operation, pending_effect: intent, indivisible_host_step_running: false },
137
+ effects: [intent],
138
+ };
139
+ }
140
+ /** Stop and clean up whatever this operation may have started. */
141
+ const startCancelling = (state, input) => advance(state, { phase: 'cancelling', cancellation_requested: true }, { kind: 'cleanup', input });
142
+ /**
143
+ * Where a plan goes once it is approved and the host is ready for it. Setup builds the environment
144
+ * first; an update only stages a new image over an environment that already exists; a removal has
145
+ * nothing to prepare.
146
+ */
147
+ const afterConsent = (state, input, hostStep) => {
148
+ if (hostStep !== null) {
149
+ // The step is bound to the revision it is issued at, whatever the probe that built it wrote
150
+ // there: that revision is what a receipt has to name.
151
+ const issued = { ...hostStep, expected_operation_revision: state.operation.revision + 1 };
152
+ return advance(state, { phase: 'preparing-host', pending_host_step: issued, error: null }, { kind: 'host-step', input });
153
+ }
154
+ switch (state.operation.kind) {
155
+ case 'setup':
156
+ return advance(state, { phase: 'preparing-environment', error: null }, { kind: 'prepare-environment', input });
157
+ case 'update':
158
+ return advance(state, { phase: 'pulling-image', error: null }, { kind: 'pull-image', input });
159
+ case 'remove':
160
+ return advance(state, { phase: 'removing', error: null }, { kind: 'remove', input });
161
+ }
162
+ };
163
+ /**
164
+ * Where work consent already covered picks up again, after a sign-in, a failure the user resumed,
165
+ * or a core restart. What is left changes nothing on the host (the caller checked there is no host
166
+ * step), so it needs no new consent: an image that was being pulled is verified if it is all there
167
+ * and pulled on otherwise, without re-running the GPU check that already passed; everything before
168
+ * the pull starts again at the GPU check; a removal carries on removing.
169
+ */
170
+ const continueConsentedWork = (state, input, imagePresent) => {
171
+ const checkpoint = state.checkpoint ?? null;
172
+ const { kind, target } = state.operation;
173
+ const pulledSomething = checkpoint === 'pulling-image' || checkpoint === 'verifying' || checkpoint === 'activating';
174
+ if (kind !== 'remove' && target.kind === 'runtime' && pulledSomething) {
175
+ return imagePresent
176
+ ? advance(state, { phase: 'verifying', error: null }, { kind: 'verify', input })
177
+ : advance(state, { phase: 'pulling-image', error: null }, { kind: 'pull-image', input });
178
+ }
179
+ if (kind !== 'remove' && target.kind === 'environment' && checkpoint === 'verifying') {
180
+ return advance(state, { phase: 'verifying', error: null }, { kind: 'verify', input });
181
+ }
182
+ return afterConsent(state, input, null);
183
+ };
184
+ /** After any step that completed, honour a cancellation that arrived while it was running. */
185
+ const continueOrCancel = (state, input, proceed) => (state.operation.cancellation_requested ? startCancelling(state, input) : proceed());
186
+ const failWith = (state, error, keepStep = false) => advance(state, {
187
+ phase: 'failed',
188
+ error,
189
+ ...(keepStep ? {} : { pending_host_step: null }),
190
+ }, null);
191
+ /**
192
+ * Apply one event. Returns the next machine and the effect to run, or a failure explaining why the
193
+ * event does not apply — in which case the caller keeps the state it had.
194
+ */
195
+ export function reduceOperation(state, event, input) {
196
+ const { operation } = state;
197
+ const phase = operation.phase;
198
+ // A caller's cancel and resume are not answers to an effect; everything else must be.
199
+ if (event.type !== 'cancel' && event.type !== 'resume' && event.type !== 'approve') {
200
+ const pending = state.pending_effect;
201
+ if (pending === null)
202
+ return conflict(`no effect is pending in ${phase}`);
203
+ if (pending.effect_id !== event.effect_id)
204
+ return conflict('this is another effect’s result');
205
+ if (event.expected_revision !== operation.revision) {
206
+ return conflict(`result is for revision ${event.expected_revision}, now at ${operation.revision}`);
207
+ }
208
+ const answers = ANSWERS[event.type];
209
+ if (answers !== undefined && answers !== pending.kind) {
210
+ return conflict(`a ${pending.kind} effect cannot answer with ${event.type}`);
211
+ }
212
+ }
213
+ switch (event.type) {
214
+ case 'cancel': {
215
+ if (phase === 'ready' || phase === 'removed' || phase === 'cancelled')
216
+ return ok({ state, effects: [] });
217
+ if (phase === 'cancelling')
218
+ return ok({ state, effects: [] });
219
+ if (phase === 'failed') {
220
+ // Nothing was started, so there is nothing to undo.
221
+ return operation.completed_step_ids.length === 0
222
+ ? advance(state, { phase: 'cancelled', cancellation_requested: true }, null)
223
+ : startCancelling(state, input);
224
+ }
225
+ // A package transaction or an atomic activation is running: record the wish and let it finish.
226
+ // Killing the first leaves a half-installed system; interrupting the second would either lose
227
+ // an installation that did commit or claim one that did not.
228
+ if (state.indivisible_host_step_running || phase === 'activating') {
229
+ if (operation.cancellation_requested)
230
+ return ok({ state, effects: [] });
231
+ return advance(state, { cancellation_requested: true }, KEEP, {
232
+ indivisible: state.indivisible_host_step_running,
233
+ });
234
+ }
235
+ return startCancelling(state, input);
236
+ }
237
+ case 'resume': {
238
+ if (phase === 'ready' || phase === 'removed')
239
+ return ok({ state, effects: [] });
240
+ if (event.input.expected_revision !== operation.revision) {
241
+ return err('MANAGED_REVISION_CONFLICT', 'The operation has moved on since this resume was prepared.', `expected ${event.input.expected_revision}, now at ${operation.revision}`);
242
+ }
243
+ if (phase !== 'failed' &&
244
+ phase !== 'cancelled' &&
245
+ phase !== 'relogin-required' &&
246
+ phase !== 'reboot-required') {
247
+ return conflict(`${phase} is already running`);
248
+ }
249
+ // A resume may carry an approval only of the plan the operation names now (`plan_digest`):
250
+ // normally the approval it already has, restated; after a re-ask, the plan that was on offer,
251
+ // which the user did see. Any other digest is refused: it would put an approval the user
252
+ // never saw a plan for next to the plan the work runs under (review r3, N1). Refused, not
253
+ // ignored, so a client that meant to approve something else finds out instead of carrying on
254
+ // under the old consent.
255
+ const restated = event.input.approved_plan_digest;
256
+ if (restated !== undefined && restated !== operation.plan_digest) {
257
+ return err('MANAGED_PLAN_CHANGED', 'This approval is not for the plan the operation is on; resume without one, and approve the plan it offers.', `approval ${restated}, plan ${String(operation.plan_digest)}`);
258
+ }
259
+ // Never continue from a stored phase: look at the machine first.
260
+ return advance(state, {
261
+ phase: 'checking',
262
+ error: null,
263
+ cancellation_requested: false,
264
+ approved_plan_digest: restated ?? operation.approved_plan_digest,
265
+ }, { kind: 'reconcile', input });
266
+ }
267
+ case 'approve': {
268
+ if (phase !== 'awaiting-consent')
269
+ return conflict(`nothing is awaiting consent in ${phase}`);
270
+ if (event.input.expected_revision !== operation.revision) {
271
+ return err('MANAGED_REVISION_CONFLICT', 'The operation has moved on since this approval was prepared.', `expected ${event.input.expected_revision}, now at ${operation.revision}`);
272
+ }
273
+ const approved = event.input.approved_plan_digest;
274
+ if (approved === undefined) {
275
+ return err('MANAGED_CONSENT_REQUIRED', 'This operation needs the plan to be approved.');
276
+ }
277
+ // An approval is not a licence to act on what was true a moment ago: look again first, and
278
+ // let the fresh plan decide whether this consent still covers it.
279
+ return advance(state, { phase: 'checking', approved_plan_digest: approved, error: null }, { kind: 'probe', input });
280
+ }
281
+ case 'requirements-ready': {
282
+ if (phase !== 'checking')
283
+ return conflict(`requirements arrived in ${phase}`);
284
+ if (operation.cancellation_requested)
285
+ return startCancelling(state, input);
286
+ const plan = event.plan;
287
+ const blocker = plan.blockers[0];
288
+ if (blocker !== undefined) {
289
+ // A sign-in is something to wait for, not a failure: the operation stays resumable and
290
+ // continues on its own at the next core start once the group counts (spec "Повторный вход").
291
+ const relogin = plan.blockers.find((entry) => entry.code === 'MANAGED_RELOGIN_REQUIRED');
292
+ if (relogin !== undefined && plan.blockers.length === 1) {
293
+ return advance(state, { phase: 'relogin-required', ...probedDigest(state, plan.plan_digest), error: errorOf(relogin) }, null);
294
+ }
295
+ return advance(state, { phase: 'failed', ...probedDigest(state, plan.plan_digest), error: errorOf(blocker) }, null);
296
+ }
297
+ // Consent this operation already acted on covers the rest of its work, as long as the rest
298
+ // asks nothing new of the host: the plan digest moves on its own once work has begun (the
299
+ // packages it installed, the space a pull used), and asking again for what is already
300
+ // underway would be asking for nothing.
301
+ // It never covers a different descriptor, image or target: that is a new download.
302
+ const basis = state.consented ?? null;
303
+ if ((state.checkpoint ?? null) !== null &&
304
+ event.host_step === null &&
305
+ basis !== null &&
306
+ // The approval on record must still be the consent the work began under: only then does
307
+ // the work continue with plan and approval equal (review r3, N1).
308
+ operation.approved_plan_digest === basis.plan_digest &&
309
+ consentCovers(basis, plan, operation.kind)) {
310
+ const carried = {
311
+ ...state,
312
+ operation: { ...operation, plan_digest: basis.plan_digest, carried_plan_digest: plan.plan_digest },
313
+ };
314
+ return continueConsentedWork(carried, input, event.image_present ?? false);
315
+ }
316
+ if (operation.approved_plan_digest !== plan.plan_digest) {
317
+ // Either nothing was approved yet, or the host changed under an approval. Both mean asking.
318
+ const changed = operation.approved_plan_digest !== null;
319
+ return advance(state, {
320
+ phase: 'awaiting-consent',
321
+ plan_digest: plan.plan_digest,
322
+ carried_plan_digest: null,
323
+ error: changed
324
+ ? {
325
+ code: 'MANAGED_PLAN_CHANGED',
326
+ message: 'What this setup would do has changed; approve it again.',
327
+ }
328
+ : null,
329
+ }, null);
330
+ }
331
+ // The user's approval matches this plan: work starts under it, and what it covers is recorded.
332
+ return afterConsent({
333
+ ...state,
334
+ consented: {
335
+ plan_digest: plan.plan_digest,
336
+ descriptor_id: plan.descriptor_id,
337
+ image_digest: plan.image_digest,
338
+ environment_manifest_id: plan.environment_manifest_id,
339
+ target: plan.target,
340
+ },
341
+ operation: { ...operation, plan_digest: plan.plan_digest, carried_plan_digest: null },
342
+ }, input, event.host_step);
343
+ }
344
+ case 'host-step-started': {
345
+ if (phase !== 'preparing-host')
346
+ return conflict(`a host step started in ${phase}`);
347
+ return advance(state, {}, KEEP, { indivisible: true });
348
+ }
349
+ case 'safe-boundary': {
350
+ // The indivisible work reached a point where stopping is safe.
351
+ if (operation.cancellation_requested)
352
+ return startCancelling(state, input);
353
+ return advance(state, {}, KEEP, { indivisible: false });
354
+ }
355
+ case 'host-receipt-verified': {
356
+ if (phase !== 'preparing-host')
357
+ return conflict(`a receipt arrived in ${phase}`);
358
+ const { receipt } = event;
359
+ const steps = operation.completed_step_ids.includes(receipt.step_id)
360
+ ? operation.completed_step_ids
361
+ : [...operation.completed_step_ids, receipt.step_id];
362
+ if (receipt.outcome === 'declined') {
363
+ return failWith(state, {
364
+ code: 'MANAGED_ELEVATION_DECLINED',
365
+ message: 'The system change was not authorized.',
366
+ });
367
+ }
368
+ if (receipt.outcome === 'failed') {
369
+ // The step's own log tail, when the app forwards it, names a cause the core recognises and
370
+ // is kept as the details (task 2.23, F-4); without one, the receipt id, as before.
371
+ return failWith(state, hostStepFailureError(receipt, event.address_pools_configured));
372
+ }
373
+ // A completed host step is kept whatever happens next: it changed the machine, and a later
374
+ // cancellation does not un-install a package.
375
+ const kept = { completed_step_ids: steps, pending_host_step: null };
376
+ // Whether to wait for a sign-in is the probe's call, never the helper's (task 2.6): the
377
+ // receipt is an assertion, and a helper that reports a relogin the machine does not show is
378
+ // a helper whose step did not take.
379
+ const waiting = event.needs_relogin
380
+ ? 'relogin-required'
381
+ : receipt.outcome === 'reboot-required' && !event.prerequisites_met
382
+ ? 'reboot-required'
383
+ : null;
384
+ if (waiting !== null) {
385
+ return operation.cancellation_requested
386
+ ? advance(state, { ...kept, phase: 'cancelling' }, { kind: 'cleanup', input })
387
+ : advance(state, { ...kept, phase: waiting, error: waiting === 'relogin-required' ? RELOGIN_ERROR : null }, null);
388
+ }
389
+ if (!event.prerequisites_met) {
390
+ // The helper reported success and the machine disagrees. Believe the machine.
391
+ return advance(state, {
392
+ ...kept,
393
+ phase: 'failed',
394
+ error: event.probe_error ?? {
395
+ code: 'MANAGED_PREREQUISITE_BLOCKED',
396
+ message: 'The system change was reported as done, but the requirement is still missing.',
397
+ },
398
+ }, null);
399
+ }
400
+ return continueOrCancel({ ...state, operation: { ...operation, ...kept } }, input, () => advance({ ...state, operation: { ...operation, ...kept } }, { ...kept, phase: 'preparing-environment', error: null }, { kind: 'prepare-environment', input }));
401
+ }
402
+ case 'reconciled': {
403
+ if (phase !== 'checking')
404
+ return conflict(`reconciliation answered in ${phase}`);
405
+ const base = {
406
+ instance_id: event.instance_id,
407
+ completed_step_ids: event.verified_completed_step_ids,
408
+ ...probedDigest(state, event.current_plan_digest),
409
+ pending_host_step: null,
410
+ };
411
+ if (operation.cancellation_requested) {
412
+ return advance(state, { ...base, phase: 'cancelling' }, { kind: 'cleanup', input });
413
+ }
414
+ // Still waiting on the user: the group is not effective yet, or the machine has not rebooted.
415
+ // The consumed nonce is dropped either way, so nothing re-elevates on its own.
416
+ if (event.needs_relogin) {
417
+ return advance(state, { ...base, phase: 'relogin-required', error: RELOGIN_ERROR }, null);
418
+ }
419
+ if (event.needs_reboot)
420
+ return advance(state, { ...base, phase: 'reboot-required' }, null);
421
+ // The wait is over, or this is a restart mid-operation: look at requirements again.
422
+ return advance(state, base, { kind: 'probe', input });
423
+ }
424
+ case 'environment-verified': {
425
+ if (phase !== 'preparing-environment')
426
+ return conflict(`the environment was verified in ${phase}`);
427
+ return continueOrCancel(state, input, () => operation.target.kind === 'environment'
428
+ ? advance(state, { phase: 'verifying' }, { kind: 'verify', input })
429
+ : advance(state, { phase: 'pulling-image' }, { kind: 'pull-image', input }));
430
+ }
431
+ case 'image-pulled': {
432
+ if (phase !== 'pulling-image')
433
+ return conflict(`an image arrived in ${phase}`);
434
+ return continueOrCancel(state, input, () => advance(state, { phase: 'verifying', progress: null }, { kind: 'verify', input }));
435
+ }
436
+ case 'verification-passed': {
437
+ if (phase !== 'verifying')
438
+ return conflict(`verification passed in ${phase}`);
439
+ return continueOrCancel(state, input, () => {
440
+ if (operation.target.kind === 'environment') {
441
+ return advance(state, { phase: 'ready', error: null }, null);
442
+ }
443
+ // An update has to take the GPU back from the model that is running on the old image
444
+ // before its smoke test can prove the new one.
445
+ return operation.kind === 'update'
446
+ ? advance(state, { phase: 'activating' }, { kind: 'unload-resident', input })
447
+ : advance(state, { phase: 'activating' }, { kind: 'activate', input });
448
+ });
449
+ }
450
+ case 'resident-unloaded': {
451
+ if (phase !== 'activating')
452
+ return conflict(`a model was unloaded in ${phase}`);
453
+ return advance(state, {}, { kind: 'activate', input });
454
+ }
455
+ case 'activation-committed': {
456
+ if (phase !== 'activating')
457
+ return conflict(`an activation committed in ${phase}`);
458
+ // The installation is live. A cancellation that arrived mid-commit lost the race, and saying
459
+ // otherwise would leave the record claiming a descriptor that is actually running.
460
+ return advance(state, { phase: 'ready', cancellation_requested: false, error: null }, null);
461
+ }
462
+ case 'removal-completed': {
463
+ if (phase !== 'removing')
464
+ return conflict(`a removal completed in ${phase}`);
465
+ return advance(state, { phase: 'removed', error: null }, null);
466
+ }
467
+ case 'cleanup-completed': {
468
+ if (phase !== 'cancelling')
469
+ return conflict(`cleanup completed in ${phase}`);
470
+ return advance(state, { phase: 'cancelled' }, null);
471
+ }
472
+ case 'failed': {
473
+ if (TERMINAL.includes(phase))
474
+ return conflict(`${phase} has already finished`);
475
+ return failWith(state, event.error, true);
476
+ }
477
+ }
478
+ }
479
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/runtime/environment/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * What a removal of one managed engine does with the managed model store (change `add-vllm-runtime`,
3
+ * design D13; spec `managed-runtime-environment`, "Удаление установки движка"): the models are every
4
+ * managed engine's, so `retain_models: false` deletes them only when no installation of another engine
5
+ * is left after this one goes. Otherwise they stay, and the plan says which engines still use them.
6
+ * Shared by the Linux and the Windows provisioner, which must agree on it exactly.
7
+ */
8
+ import type { ManagedOperationTarget, ManagedSystemChange } from '../../contracts/index.js';
9
+ import type { InstallationStore } from './installations.js';
10
+ /**
11
+ * The engines of the installations other than the one being removed that use the models: installed
12
+ * once (an active descriptor) and not being removed. A setup that failed before it ever installed
13
+ * anything uses nothing.
14
+ */
15
+ export declare function otherEngines(installations: Pick<InstallationStore, 'list'>, target: Extract<ManagedOperationTarget, {
16
+ kind: 'runtime';
17
+ }>): Promise<string[]>;
18
+ /** The plan's line about the models, if the request asks to delete them. */
19
+ export declare function storeModelsChange(retainModels: boolean, usedBy: readonly string[]): ManagedSystemChange[];
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The engines of the installations other than the one being removed that use the models: installed
3
+ * once (an active descriptor) and not being removed. A setup that failed before it ever installed
4
+ * anything uses nothing.
5
+ */
6
+ export async function otherEngines(installations, target) {
7
+ const records = await installations.list();
8
+ const engines = records
9
+ .map((record) => record.installation)
10
+ .filter((installation) => installation.installation_id !== target.installation_id)
11
+ .filter((installation) => installation.active_descriptor_id !== null && installation.status !== 'removing')
12
+ .map((installation) => installation.engine_id);
13
+ return [...new Set(engines)].sort();
14
+ }
15
+ /** The plan's line about the models, if the request asks to delete them. */
16
+ export function storeModelsChange(retainModels, usedBy) {
17
+ if (retainModels)
18
+ return [];
19
+ if (usedBy.length > 0) {
20
+ return [
21
+ {
22
+ code: 'keep-models',
23
+ text: `The downloaded models stay: ${usedBy.join(', ')} still uses them.`,
24
+ params: { engines: usedBy.join(',') },
25
+ },
26
+ ];
27
+ }
28
+ return [{ code: 'remove-models', text: 'Delete the downloaded models of the managed engines.' }];
29
+ }
30
+ //# sourceMappingURL=store-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-models.js","sourceRoot":"","sources":["../../../src/runtime/environment/store-models.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,aAA8C,EAC9C,MAA4D;IAE5D,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAA;IAC1C,MAAM,OAAO,GAAG,OAAO;SACpB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;SACpC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe,CAAC;SACjF,MAAM,CACL,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,oBAAoB,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,CACnG;SACA,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACrC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,YAAqB,EAAE,MAAyB;IAChF,IAAI,YAAY;QAAE,OAAO,EAAE,CAAA;IAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,+BAA+B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBACzE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aACtC;SACF,CAAA;IACH,CAAC;IACD,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,CAAA;AAClG,CAAC"}