@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,50 @@
1
+ /**
2
+ * What a person who is stuck can see and send (2026-10-06): a Windows on Arm test machine kept two
3
+ * commit-pinned conf URLs in its user environment, so its core read a superseded descriptor and
4
+ * blocked the setup on a driver floor conf had already lowered — and nothing on screen or in the log
5
+ * said where the descriptor came from. Diagnosing it took photos of PowerShell output.
6
+ *
7
+ * Two pieces live here, both read-only. `sourceOverrides` names the environment variables that move a
8
+ * managed-runtime source, for the snapshot (`EnvironmentSnapshot.source_overrides`), so the app can
9
+ * say so on the provider page. `buildEnvironmentDiagnostics` assembles the report behind
10
+ * `GET /environments/:environmentId/diagnostics`: the snapshot, every conf document's source and
11
+ * cache, every operation on disk, and the managed-runtime code's recent warnings.
12
+ */
13
+ import type { EnvironmentDiagnostics, EnvironmentDocumentSource, EnvironmentOperationSummary, EnvironmentSnapshot, EnvironmentSourceOverride, ManagedStoreMigration } from '../../contracts/index.js';
14
+ import type { PersistedOperation } from './store.js';
15
+ /** The variables that move where managed runtimes read conf or keep their state. */
16
+ export declare const SOURCE_OVERRIDE_VARIABLES: readonly string[];
17
+ /**
18
+ * The ones set to something other than blank in `env`: the fixed ones in their order, then every
19
+ * per-engine descriptor override (`ATOMIC_RUNTIME_DESCRIPTOR_URL_<ENGINE>`, change `add-vllm-runtime`)
20
+ * in name order.
21
+ */
22
+ export declare function sourceOverrides(env: Record<string, string | undefined>): EnvironmentSourceOverride[];
23
+ /** An operation on disk, reduced to what explains it. */
24
+ export declare function summarizeOperation(record: PersistedOperation): EnvironmentOperationSummary;
25
+ export interface DocumentSourceInput {
26
+ document: EnvironmentDocumentSource['document'];
27
+ /** A runtime descriptor's engine: its pointer is `latest-<engine_id>.json`. */
28
+ engineId?: string;
29
+ defaultUrl: string;
30
+ /** The variables that override the source, the first one set winning. */
31
+ variables: readonly string[];
32
+ cacheDir: string;
33
+ idField: string;
34
+ }
35
+ /** Where one conf document comes from in `env`, and what its cache holds. */
36
+ export declare function documentSource(input: DocumentSourceInput, env: Record<string, string | undefined>): Promise<EnvironmentDocumentSource>;
37
+ export interface DiagnosticsInput {
38
+ now: () => Date;
39
+ coreVersion: string;
40
+ platform: string;
41
+ arch: string;
42
+ environment: EnvironmentSnapshot | null;
43
+ env: Record<string, string | undefined>;
44
+ documents: readonly DocumentSourceInput[];
45
+ operations: () => Promise<PersistedOperation[]>;
46
+ recentWarnings: () => string[];
47
+ /** The move of TensorRT-LLM's models into the managed model store (change `add-vllm-runtime`, D5). */
48
+ storeMigration?: (() => ManagedStoreMigration | null) | undefined;
49
+ }
50
+ export declare function buildEnvironmentDiagnostics(input: DiagnosticsInput): Promise<EnvironmentDiagnostics>;
@@ -0,0 +1,114 @@
1
+ /**
2
+ * What a person who is stuck can see and send (2026-10-06): a Windows on Arm test machine kept two
3
+ * commit-pinned conf URLs in its user environment, so its core read a superseded descriptor and
4
+ * blocked the setup on a driver floor conf had already lowered — and nothing on screen or in the log
5
+ * said where the descriptor came from. Diagnosing it took photos of PowerShell output.
6
+ *
7
+ * Two pieces live here, both read-only. `sourceOverrides` names the environment variables that move a
8
+ * managed-runtime source, for the snapshot (`EnvironmentSnapshot.source_overrides`), so the app can
9
+ * say so on the provider page. `buildEnvironmentDiagnostics` assembles the report behind
10
+ * `GET /environments/:environmentId/diagnostics`: the snapshot, every conf document's source and
11
+ * cache, every operation on disk, and the managed-runtime code's recent warnings.
12
+ */
13
+ import { readdir, readFile } from 'node:fs/promises';
14
+ import { join } from 'node:path';
15
+ import { MANAGED_ROOT_ENV } from '../../config/index.js';
16
+ import { RUNTIME_DESCRIPTOR_URL_ENV } from './descriptor-provider.js';
17
+ import { ENVIRONMENT_MANIFEST_URL_ENV } from './environment-manifest-provider.js';
18
+ /** The variables that move where managed runtimes read conf or keep their state. */
19
+ export const SOURCE_OVERRIDE_VARIABLES = [
20
+ RUNTIME_DESCRIPTOR_URL_ENV,
21
+ ENVIRONMENT_MANIFEST_URL_ENV,
22
+ MANAGED_ROOT_ENV,
23
+ ];
24
+ /**
25
+ * The ones set to something other than blank in `env`: the fixed ones in their order, then every
26
+ * per-engine descriptor override (`ATOMIC_RUNTIME_DESCRIPTOR_URL_<ENGINE>`, change `add-vllm-runtime`)
27
+ * in name order.
28
+ */
29
+ export function sourceOverrides(env) {
30
+ const perEngine = Object.keys(env)
31
+ .filter((variable) => variable.startsWith(`${RUNTIME_DESCRIPTOR_URL_ENV}_`))
32
+ .sort();
33
+ return [...SOURCE_OVERRIDE_VARIABLES, ...perEngine].flatMap((variable) => {
34
+ const value = env[variable]?.trim();
35
+ return value === undefined || value === '' ? [] : [{ variable, value }];
36
+ });
37
+ }
38
+ /** An operation on disk, reduced to what explains it. */
39
+ export function summarizeOperation(record) {
40
+ const operation = record.machine.operation;
41
+ return {
42
+ operation_id: operation.operation_id,
43
+ kind: operation.kind,
44
+ target: operation.target,
45
+ phase: operation.phase,
46
+ checkpoint: record.machine.checkpoint ?? null,
47
+ revision: operation.revision,
48
+ consented_descriptor_id: record.machine.consented?.descriptor_id ?? null,
49
+ plan_descriptor_id: record.requirement_plan?.descriptor_id ?? null,
50
+ error: operation.error,
51
+ };
52
+ }
53
+ /**
54
+ * What one conf document's cache folder holds: the pointer (the first of `pointers` that names an
55
+ * id) and every cached id. A descriptor's pointer is per engine, `latest-<engine_id>.json`.
56
+ */
57
+ async function cacheOf(dir, idField, pointers) {
58
+ let latest = null;
59
+ for (const name of pointers) {
60
+ try {
61
+ const pointer = JSON.parse(await readFile(join(dir, name), 'utf8'));
62
+ if (typeof pointer[idField] === 'string') {
63
+ latest = pointer[idField];
64
+ break;
65
+ }
66
+ }
67
+ catch {
68
+ continue;
69
+ }
70
+ }
71
+ const ids = (await readdir(dir).catch(() => []))
72
+ .filter((name) => name.endsWith('.json') && name !== 'latest.json' && !name.startsWith('latest-'))
73
+ .map((name) => decodeURIComponent(name.slice(0, -'.json'.length)))
74
+ .sort();
75
+ return { latest, ids };
76
+ }
77
+ /** Where one conf document comes from in `env`, and what its cache holds. */
78
+ export async function documentSource(input, env) {
79
+ const variable = input.variables.find((name) => (env[name]?.trim() ?? '') !== '');
80
+ const override = variable === undefined ? undefined : env[variable]?.trim();
81
+ // TensorRT-LLM's pointer was `latest.json` before change `add-vllm-runtime`; it still counts.
82
+ const pointers = input.engineId === undefined
83
+ ? ['latest.json']
84
+ : input.engineId === 'tensorrt-llm'
85
+ ? [`latest-${input.engineId}.json`, 'latest.json']
86
+ : [`latest-${input.engineId}.json`];
87
+ const cache = await cacheOf(input.cacheDir, input.idField, pointers);
88
+ return {
89
+ document: input.document,
90
+ ...(input.engineId === undefined ? {} : { engine_id: input.engineId }),
91
+ url: override ?? input.defaultUrl,
92
+ default_url: input.defaultUrl,
93
+ overridden_by: variable ?? null,
94
+ latest_cached_id: cache.latest,
95
+ cached_ids: cache.ids,
96
+ };
97
+ }
98
+ export async function buildEnvironmentDiagnostics(input) {
99
+ const sources = await Promise.all(input.documents.map((document) => documentSource(document, input.env)));
100
+ // A corrupt record must not take the whole report down: the report is what explains it.
101
+ const records = await input.operations().catch(() => []);
102
+ return {
103
+ generated_at: input.now().toISOString(),
104
+ core_version: input.coreVersion,
105
+ platform: input.platform,
106
+ arch: input.arch,
107
+ environment: input.environment,
108
+ sources,
109
+ operations: records.map(summarizeOperation),
110
+ recent_warnings: input.recentWarnings(),
111
+ store_migration: input.storeMigration?.() ?? null,
112
+ };
113
+ }
114
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/runtime/environment/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The strict field readers both conf documents core trusts are parsed with: a runtime descriptor
3
+ * (`descriptor.ts`) and an environment manifest (`environment-manifest.ts`). Each reader either
4
+ * returns the value in its checked type or throws `AtomicCoreError('MANAGED_METADATA_INVALID', …)`
5
+ * naming the field — a document arrives over HTTPS and is never trusted blind, and an unknown field
6
+ * refuses the whole document rather than being dropped (a newer shape announces itself with
7
+ * `schema_version`, never with a field this build would silently ignore).
8
+ *
9
+ * `subject` only names the document in the message ("Invalid runtime descriptor: …"), so one shared
10
+ * set of readers keeps both parsers equally strict without either copying the other.
11
+ */
12
+ import type { InstallRecipe } from '../../contracts/index.js';
13
+ export interface DocumentFields {
14
+ fail(why: string, details?: string): never;
15
+ object(value: unknown, at: string): Record<string, unknown>;
16
+ /** Refuses any key outside `keys`, naming every extra one. */
17
+ known(source: Record<string, unknown>, at: string, keys: readonly string[]): void;
18
+ text(value: unknown, at: string): string;
19
+ boolean(value: unknown, at: string): boolean;
20
+ pattern(re: RegExp, label: string): (value: unknown, at: string) => string;
21
+ list(value: unknown, at: string): unknown[];
22
+ strings(value: unknown, at: string): string[];
23
+ unique(values: string[], at: string, what: string): void;
24
+ /** A whole number of bytes no lower than `min`. */
25
+ bytes(value: unknown, at: string, min?: number): number;
26
+ }
27
+ export declare function documentFields(subject: string): DocumentFields;
28
+ /** `#/definitions/id`: `descriptor_id`, `engine_id`, `adapter_id`, `recipes[].recipe_id`. */
29
+ export declare const DOCUMENT_ID: RegExp;
30
+ export declare const DOCUMENT_ID_LABEL = "a valid id (lowercase, starting with a letter or digit)";
31
+ /** `#/definitions/semver`: `minimum_core_version`, `minimum_app_version`. */
32
+ export declare const DOCUMENT_SEMVER: RegExp;
33
+ /**
34
+ * `#/definitions/recipe`: an id naming argv compiled into core and a non-empty list of the
35
+ * distributions it is qualified for — nothing else, so a command or a script has nowhere to go.
36
+ * Distributions are unique by `(id, version_id, arch)` within the recipe: conf CI's integrity check,
37
+ * enforced here as well.
38
+ */
39
+ export declare function installRecipe(fields: DocumentFields, value: unknown, at: string): InstallRecipe;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * The strict field readers both conf documents core trusts are parsed with: a runtime descriptor
3
+ * (`descriptor.ts`) and an environment manifest (`environment-manifest.ts`). Each reader either
4
+ * returns the value in its checked type or throws `AtomicCoreError('MANAGED_METADATA_INVALID', …)`
5
+ * naming the field — a document arrives over HTTPS and is never trusted blind, and an unknown field
6
+ * refuses the whole document rather than being dropped (a newer shape announces itself with
7
+ * `schema_version`, never with a field this build would silently ignore).
8
+ *
9
+ * `subject` only names the document in the message ("Invalid runtime descriptor: …"), so one shared
10
+ * set of readers keeps both parsers equally strict without either copying the other.
11
+ */
12
+ import { AtomicCoreError } from '../../contracts/index.js';
13
+ export function documentFields(subject) {
14
+ const fail = (why, details) => {
15
+ throw new AtomicCoreError('MANAGED_METADATA_INVALID', `Invalid ${subject}: ${why}`, details);
16
+ };
17
+ const object = (value, at) => typeof value === 'object' && value !== null && !Array.isArray(value)
18
+ ? value
19
+ : fail(`${at} is not an object`);
20
+ const known = (source, at, keys) => {
21
+ const extra = Object.keys(source).filter((key) => !keys.includes(key));
22
+ if (extra.length > 0)
23
+ fail(`${at} has unknown fields`, extra.sort().join(', '));
24
+ };
25
+ const text = (value, at) => typeof value === 'string' && value.trim() !== '' ? value : fail(`${at} is not a non-empty string`);
26
+ const boolean = (value, at) => typeof value === 'boolean' ? value : fail(`${at} is not a boolean`);
27
+ const pattern = (re, label) => (value, at) => typeof value === 'string' && re.test(value)
28
+ ? value
29
+ : fail(`${at} is not ${label}`, typeof value === 'string' ? value : undefined);
30
+ const list = (value, at) => Array.isArray(value) ? value : fail(`${at} is not an array`);
31
+ const strings = (value, at) => list(value, at).map((item, i) => text(item, `${at}[${i}]`));
32
+ const unique = (values, at, what) => {
33
+ const seen = new Set();
34
+ for (const value of values) {
35
+ if (seen.has(value))
36
+ fail(`${at} lists ${what} twice`, value);
37
+ seen.add(value);
38
+ }
39
+ };
40
+ const bytes = (value, at, min = 0) => {
41
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < min) {
42
+ fail(`${at} is not a whole number of bytes >= ${min}`, typeof value === 'number' ? String(value) : undefined);
43
+ }
44
+ return value;
45
+ };
46
+ return { fail, object, known, text, boolean, pattern, list, strings, unique, bytes };
47
+ }
48
+ // The patterns below are copied character-for-character from the conf schemas' `definitions`
49
+ // (`runtimes/schema.json`, `runtimes/environments/linux.schema.json`), so this trust boundary is at
50
+ // least as strict as what conf CI already enforced on the published document. Do not relax one
51
+ // without updating the schema first.
52
+ /** `#/definitions/id`: `descriptor_id`, `engine_id`, `adapter_id`, `recipes[].recipe_id`. */
53
+ export const DOCUMENT_ID = /^[a-z0-9][a-z0-9.-]*$/;
54
+ export const DOCUMENT_ID_LABEL = 'a valid id (lowercase, starting with a letter or digit)';
55
+ /** `#/definitions/semver`: `minimum_core_version`, `minimum_app_version`. */
56
+ export const DOCUMENT_SEMVER = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/;
57
+ /** `distribution.id`: `os-release` `ID`, e.g. `ubuntu`, `fedora`. */
58
+ const DISTRIBUTION_ID = /^[a-z0-9._-]+$/;
59
+ /** `distribution.version_id`: `os-release` `VERSION_ID`, e.g. `22.04`. */
60
+ const VERSION_ID = /^[0-9][0-9.]*$/;
61
+ const ARCHES = ['x86_64', 'aarch64'];
62
+ const DISTRIBUTION_KEYS = ['id', 'version_id', 'arch'];
63
+ const RECIPE_KEYS = ['recipe_id', 'distributions'];
64
+ /**
65
+ * `#/definitions/recipe`: an id naming argv compiled into core and a non-empty list of the
66
+ * distributions it is qualified for — nothing else, so a command or a script has nowhere to go.
67
+ * Distributions are unique by `(id, version_id, arch)` within the recipe: conf CI's integrity check,
68
+ * enforced here as well.
69
+ */
70
+ export function installRecipe(fields, value, at) {
71
+ const entry = fields.object(value, at);
72
+ fields.known(entry, at, RECIPE_KEYS);
73
+ const distributions = fields
74
+ .list(entry['distributions'], `${at}.distributions`)
75
+ .map((item, i) => distribution(fields, item, `${at}.distributions[${i}]`));
76
+ if (distributions.length === 0)
77
+ fields.fail(`${at}.distributions is empty`);
78
+ fields.unique(distributions.map((d) => `${d.id} ${d.version_id} ${d.arch}`), `${at}.distributions`, 'a distribution');
79
+ return {
80
+ recipe_id: fields.pattern(DOCUMENT_ID, DOCUMENT_ID_LABEL)(entry['recipe_id'], `${at}.recipe_id`),
81
+ distributions,
82
+ };
83
+ }
84
+ function distribution(fields, value, at) {
85
+ const entry = fields.object(value, at);
86
+ fields.known(entry, at, DISTRIBUTION_KEYS);
87
+ const arch = fields.text(entry['arch'], `${at}.arch`);
88
+ if (!ARCHES.includes(arch))
89
+ fields.fail(`${at}.arch is not x86_64 or aarch64`, arch);
90
+ return {
91
+ id: fields.pattern(DISTRIBUTION_ID, 'an os-release id')(entry['id'], `${at}.id`),
92
+ version_id: fields.pattern(VERSION_ID, 'an os-release version id')(entry['version_id'], `${at}.version_id`),
93
+ arch: arch,
94
+ };
95
+ }
96
+ //# sourceMappingURL=document-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-fields.js","sourceRoot":"","sources":["../../../src/runtime/environment/document-fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Getting this platform's environment manifest onto disk and keeping the right one in play (openspec
3
+ * change `extract-environment-manifest`, task 2.2; spec `runtime-environment-manifest`, "Core
4
+ * получает, проверяет и кэширует манифест окружения", "Операция закрепляет манифест окружения").
5
+ *
6
+ * The same mechanism as the runtime descriptor's (`cached-document.ts`, design D3): accepted only
7
+ * when it parses and its `minimum_core_version` is no higher than this build's; cached forever by
8
+ * `manifest_id` in the shared per-user root, so an app core and a CLI core read the same cache; the
9
+ * latest accepted one stands in when the network is down, the document is invalid, or it needs a
10
+ * newer core. `ATOMIC_ENVIRONMENT_MANIFEST_URL` (`file://`, `https://`) overrides the source.
11
+ *
12
+ * Only this core's own platform's manifest is ever read (change `add-tensorrt-llm-windows`, task
13
+ * 2.1): `platform` picks both the default source (`runtimes/environments/<platform>.json`) and the
14
+ * parser, which accepts nothing but that `platform` — so a manifest conf adds or changes for another
15
+ * platform never reaches this core (design D1). One override variable serves both: a machine runs one
16
+ * platform.
17
+ *
18
+ * Two ways in, one per moment of an operation (design D4): `latest()` before the consent — the
19
+ * newest manifest, so a plan built now is judged against what conf says now; `pinned(id)` after it —
20
+ * exactly the consented manifest, from the cache alone, so neither a sign-in wait nor a core
21
+ * restart can swap the distribution list a user agreed to.
22
+ */
23
+ import { AtomicCoreError } from '../../contracts/index.js';
24
+ import type { EnvironmentPlatform } from '../../contracts/index.js';
25
+ import { type CachedDocumentOptions, type DocumentFetch } from './cached-document.js';
26
+ import { type EnvironmentManifestByPlatform } from './environment-manifest.js';
27
+ /** Overrides the manifest source: `file://…` is read from disk, `https://…` is fetched. */
28
+ export declare const ENVIRONMENT_MANIFEST_URL_ENV = "ATOMIC_ENVIRONMENT_MANIFEST_URL";
29
+ /** conf main, the published Linux environment manifest. */
30
+ export declare const DEFAULT_LINUX_ENVIRONMENT_MANIFEST_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/environments/linux.json";
31
+ /** conf main, the published Windows environment manifest (absent until the live acceptance, design D14). */
32
+ export declare const DEFAULT_WINDOWS_ENVIRONMENT_MANIFEST_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/environments/windows.json";
33
+ /** conf main, the Windows on Arm manifest: its own file, which released (x64-only) cores never read. */
34
+ export declare const DEFAULT_WINDOWS_ARM64_ENVIRONMENT_MANIFEST_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/environments/windows-arm64.json";
35
+ /** A transport over a `fetch`-compatible function with an abort-on-timeout. */
36
+ export declare function environmentManifestFetchFromFetch(fetchImpl: typeof fetch): DocumentFetch;
37
+ export type EnvironmentManifestProviderOptions<P extends EnvironmentPlatform = 'linux'> = Omit<CachedDocumentOptions, 'url'> & {
38
+ /** Whose manifest this core reads: its own platform's. Linux when omitted. */
39
+ platform?: P;
40
+ /** The machine's architecture: on Windows, `aarch64` reads the Windows on Arm manifest. */
41
+ arch?: string | null;
42
+ /** The shared per-user managed root (`managedSharedRoot`); both scopes share one cache. */
43
+ root: string;
44
+ /** Default source when no override is set; defaults to the platform's published manifest. */
45
+ url?: string;
46
+ };
47
+ export type EnvironmentManifestResult<P extends EnvironmentPlatform = 'linux'> = {
48
+ kind: 'available';
49
+ manifest: EnvironmentManifestByPlatform[P];
50
+ } | {
51
+ kind: 'unavailable';
52
+ error: AtomicCoreError;
53
+ };
54
+ export interface EnvironmentManifestProvider<P extends EnvironmentPlatform = 'linux'> {
55
+ /**
56
+ * The manifest a plan built before the consent uses: fetched from the configured source, or —
57
+ * without ever surfacing that as an error — the latest one accepted before. `unavailable` only
58
+ * when nothing acceptable was fetched and nothing was ever cached. The only call that reaches
59
+ * the network.
60
+ */
61
+ latest(): Promise<EnvironmentManifestResult<P>>;
62
+ /** The manifest with this exact id, from the cache alone: never `fetch`, never `readFile`. */
63
+ pinned(manifestId: string): Promise<EnvironmentManifestResult<P>>;
64
+ }
65
+ export declare function createEnvironmentManifestProvider<P extends EnvironmentPlatform = 'linux'>(options: EnvironmentManifestProviderOptions<P>): EnvironmentManifestProvider<P>;
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Getting this platform's environment manifest onto disk and keeping the right one in play (openspec
3
+ * change `extract-environment-manifest`, task 2.2; spec `runtime-environment-manifest`, "Core
4
+ * получает, проверяет и кэширует манифест окружения", "Операция закрепляет манифест окружения").
5
+ *
6
+ * The same mechanism as the runtime descriptor's (`cached-document.ts`, design D3): accepted only
7
+ * when it parses and its `minimum_core_version` is no higher than this build's; cached forever by
8
+ * `manifest_id` in the shared per-user root, so an app core and a CLI core read the same cache; the
9
+ * latest accepted one stands in when the network is down, the document is invalid, or it needs a
10
+ * newer core. `ATOMIC_ENVIRONMENT_MANIFEST_URL` (`file://`, `https://`) overrides the source.
11
+ *
12
+ * Only this core's own platform's manifest is ever read (change `add-tensorrt-llm-windows`, task
13
+ * 2.1): `platform` picks both the default source (`runtimes/environments/<platform>.json`) and the
14
+ * parser, which accepts nothing but that `platform` — so a manifest conf adds or changes for another
15
+ * platform never reaches this core (design D1). One override variable serves both: a machine runs one
16
+ * platform.
17
+ *
18
+ * Two ways in, one per moment of an operation (design D4): `latest()` before the consent — the
19
+ * newest manifest, so a plan built now is judged against what conf says now; `pinned(id)` after it —
20
+ * exactly the consented manifest, from the cache alone, so neither a sign-in wait nor a core
21
+ * restart can swap the distribution list a user agreed to.
22
+ */
23
+ import { AtomicCoreError } from '../../contracts/index.js';
24
+ import { managedSharedPaths } from '../../config/index.js';
25
+ import { createCachedDocuments, documentFetchFromFetch, } from './cached-document.js';
26
+ import { environmentManifestParser } from './environment-manifest.js';
27
+ /** Overrides the manifest source: `file://…` is read from disk, `https://…` is fetched. */
28
+ export const ENVIRONMENT_MANIFEST_URL_ENV = 'ATOMIC_ENVIRONMENT_MANIFEST_URL';
29
+ /** conf main, the published Linux environment manifest. */
30
+ export const DEFAULT_LINUX_ENVIRONMENT_MANIFEST_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/environments/linux.json';
31
+ /** conf main, the published Windows environment manifest (absent until the live acceptance, design D14). */
32
+ export const DEFAULT_WINDOWS_ENVIRONMENT_MANIFEST_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/environments/windows.json';
33
+ /** conf main, the Windows on Arm manifest: its own file, which released (x64-only) cores never read. */
34
+ export const DEFAULT_WINDOWS_ARM64_ENVIRONMENT_MANIFEST_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/runtimes/environments/windows-arm64.json';
35
+ const DEFAULT_URLS = {
36
+ linux: DEFAULT_LINUX_ENVIRONMENT_MANIFEST_URL,
37
+ windows: DEFAULT_WINDOWS_ENVIRONMENT_MANIFEST_URL,
38
+ };
39
+ /** A transport over a `fetch`-compatible function with an abort-on-timeout. */
40
+ export function environmentManifestFetchFromFetch(fetchImpl) {
41
+ return documentFetchFromFetch(fetchImpl, 'Environment manifest');
42
+ }
43
+ const unavailable = (message, details) => ({
44
+ kind: 'unavailable',
45
+ error: new AtomicCoreError('MANAGED_METADATA_INVALID', message, details),
46
+ });
47
+ export function createEnvironmentManifestProvider(options) {
48
+ const { root, url, platform: chosen, arch, ...rest } = options;
49
+ const platform = (chosen ?? 'linux');
50
+ const paths = managedSharedPaths(root);
51
+ const documents = createCachedDocuments({
52
+ label: 'Environment manifest',
53
+ urlEnv: ENVIRONMENT_MANIFEST_URL_ENV,
54
+ parse: environmentManifestParser(platform),
55
+ idField: 'manifest_id',
56
+ id: (manifest) => manifest.manifest_id,
57
+ minimumCoreVersion: (manifest) => manifest.minimum_core_version,
58
+ cacheDir: paths.environmentManifestsDir,
59
+ cacheFile: paths.environmentManifestFile,
60
+ latestFile: paths.environmentManifestLatestFile,
61
+ }, {
62
+ ...rest,
63
+ url: url ??
64
+ (platform === 'windows' && arch === 'aarch64'
65
+ ? DEFAULT_WINDOWS_ARM64_ENVIRONMENT_MANIFEST_URL
66
+ : DEFAULT_URLS[platform]),
67
+ });
68
+ return {
69
+ async latest() {
70
+ const latest = await documents.latest();
71
+ switch (latest.kind) {
72
+ case 'fresh':
73
+ case 'cached':
74
+ return { kind: 'available', manifest: latest.document };
75
+ case 'too-new':
76
+ return unavailable('The published environment manifest requires a newer version of Atomic Chat, and no earlier one is cached.', latest.id);
77
+ case 'none':
78
+ return unavailable('No environment manifest is available: it could not be fetched and nothing has been cached yet.');
79
+ }
80
+ },
81
+ async pinned(manifestId) {
82
+ const cached = await documents.cached(manifestId);
83
+ if (cached !== null)
84
+ return { kind: 'available', manifest: cached };
85
+ return unavailable('The environment manifest this operation was approved with is no longer cached.', manifestId);
86
+ },
87
+ };
88
+ }
89
+ //# sourceMappingURL=environment-manifest-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-manifest-provider.js","sourceRoot":"","sources":["../../../src/runtime/environment/environment-manifest-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Reading an environment manifest (openspec change `extract-environment-manifest`, task 2.1; spec
3
+ * `runtime-environment-manifest`): the data about the foundation every managed engine runs on,
4
+ * published in conf apart from any engine descriptor, one file per platform. One parser per platform
5
+ * (change `add-tensorrt-llm-windows`, task 2.1): Linux's lists which install recipes exist and on
6
+ * which distributions each is qualified; Windows' pins the rootfs core imports as its own WSL
7
+ * distribution and names the recipe that prepares the guest. A core picks the parser of its own
8
+ * platform (`environmentManifestParser`), and each parser accepts nothing but its own `platform`, so
9
+ * another platform's manifest never reaches it.
10
+ *
11
+ * Each shape follows its conf schema (`atomic-chat-conf/runtimes/environments/<platform>.schema.json`)
12
+ * exactly, with the same strictness as the descriptor parser (`document-fields.ts`): every level
13
+ * refuses an unknown field, so a command or a script added anywhere refuses the whole document. Conf
14
+ * CI's integrity checks — `recipe_id` unique, a distribution unique by `(id, version_id, arch)` within
15
+ * its recipe, `manifest_id` prefixed by its platform — hold here too. An empty `recipes` list is a
16
+ * valid Linux manifest (conf ruling 1.1): it qualifies no distribution for automatic setup.
17
+ */
18
+ import type { EnvironmentPlatform, LinuxEnvironmentManifest, WindowsEnvironmentManifest } from '../../contracts/index.js';
19
+ /**
20
+ * `windows-r<N>` for x64 (`windows.json`), `windows-arm64-r<N>` for Windows on Arm
21
+ * (`windows-arm64.json`, its own file: every released core parses `windows.json` strictly and would
22
+ * refuse an arm64 rootfs there). The id names the architecture its rootfs is for.
23
+ */
24
+ export declare const WINDOWS_MANIFEST_ID: RegExp;
25
+ /** Validate one Linux environment manifest; throws `MANAGED_METADATA_INVALID` naming the first misfit. */
26
+ export declare function parseLinuxEnvironmentManifest(input: unknown): LinuxEnvironmentManifest;
27
+ /** Validate one Windows environment manifest; throws `MANAGED_METADATA_INVALID` naming the first misfit. */
28
+ export declare function parseWindowsEnvironmentManifest(input: unknown): WindowsEnvironmentManifest;
29
+ /** Which manifest each platform reads. */
30
+ export interface EnvironmentManifestByPlatform {
31
+ linux: LinuxEnvironmentManifest;
32
+ windows: WindowsEnvironmentManifest;
33
+ }
34
+ /** The parser of one platform's manifest: it refuses every other platform's document. */
35
+ export declare function environmentManifestParser<P extends EnvironmentPlatform>(platform: P): (input: unknown) => EnvironmentManifestByPlatform[P];