@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,266 @@
1
+ /**
2
+ * The seam between the engine-neutral managed-text lifecycle (`lifecycle.ts`) and one containerized
3
+ * engine (openspec change `add-tensorrt-llm-linux`, task 2.12; the TensorRT-LLM adapter is task 2.13).
4
+ *
5
+ * An adapter is compiled into core and looked up by the `adapter_id` a pinned runtime descriptor
6
+ * names — never loaded from metadata. Everything engine-specific the lifecycle needs goes through
7
+ * this interface: the engine's argv and port, how to tell it is ready, which log lines mark its
8
+ * progress, how long it may take, and what its exit meant. The lifecycle itself holds no
9
+ * `engine_id` branch anywhere; a second engine is a second adapter, not an `if`.
10
+ */
11
+ import { AtomicCoreError } from '../../contracts/index.js';
12
+ import type { ModelFamilySupport, SessionLoadStage } from '../../contracts/index.js';
13
+ import type { EngineLaunchSpec } from './types.js';
14
+ /** The adapter contract this core implements; a descriptor's `adapter_contract_version` must match. */
15
+ export declare const MANAGED_TEXT_ADAPTER_CONTRACT_VERSION = 1;
16
+ /**
17
+ * The load stages an engine's own log can move a load into. `stopping-previous` and `ready` belong
18
+ * to the lifecycle alone: the first happens before any container exists, the second only once the
19
+ * readiness probe answers.
20
+ */
21
+ export type EngineLoadStage = Extract<SessionLoadStage, 'starting-container' | 'initializing-engine'>;
22
+ /**
23
+ * A log line that tells the lifecycle the engine reached `stage`. With no markers the lifecycle moves
24
+ * to `initializing-engine` as soon as the container starts; with markers it stays in
25
+ * `starting-container` until one of them shows up in the container's log.
26
+ */
27
+ export interface ManagedStageMarker {
28
+ stage: EngineLoadStage;
29
+ pattern: RegExp;
30
+ }
31
+ /** An HTTP GET against the engine's server root that answers `expectedStatus` once it can serve. */
32
+ export interface ManagedReadinessProbe {
33
+ /** Absolute path, no query, no `..`: joined onto the internal `BackendTarget`, never a full URL. */
34
+ path: string;
35
+ /** A 2xx status. A redirect is never readiness: the probe does not follow redirects at all. */
36
+ expectedStatus: number;
37
+ }
38
+ /** What an adapter is told when it builds a launch. Container paths are fixed by the executor. */
39
+ export interface ManagedLaunchContext<S> {
40
+ modelId: string;
41
+ settings: S;
42
+ /** The model directory as the container sees it, mounted read-only. */
43
+ modelPath: string;
44
+ /** The engine cache directory as the container sees it, mounted read-write and kept across loads. */
45
+ engineCachePath: string;
46
+ /**
47
+ * This generation's own directory as the container sees it, mounted read-only: where the launch's
48
+ * `files` land (beside the watchdog's heartbeat file), and gone with the generation.
49
+ */
50
+ generationFilesPath: string;
51
+ weightBytes: number;
52
+ /** The pinned descriptor's `model_families` entry for this model's architecture, or null. */
53
+ family: ModelFamilySupport | null;
54
+ /**
55
+ * The card has no memory of its own (GB10/DGX Spark): what an engine sees as free GPU memory is the
56
+ * host's free RAM, so a launch that sizes a cache as a share of it takes the operating system's
57
+ * memory too.
58
+ */
59
+ unifiedMemory: boolean;
60
+ /** The chosen card's memory in bytes (`null` on a unified-memory card or when unknown). */
61
+ gpuTotalVramBytes?: number | null;
62
+ /** The chosen card's compute capability (`"8.9"`), or `null` when unknown. */
63
+ gpuComputeCapability?: string | null;
64
+ /**
65
+ * What the provider's `beforeCreate` check answered right before this launch (change
66
+ * `add-vllm-runtime`, design D9): numbers taken from the card as it stands after the previous
67
+ * sessions stopped, shaped by and for one engine (vLLM's KV bytes and memory share). Absent for an
68
+ * engine whose provider plans nothing.
69
+ */
70
+ plan?: unknown;
71
+ }
72
+ export interface ManagedEngineLaunch {
73
+ engine: EngineLaunchSpec;
74
+ /** The engine's own argv. The container runs `<watchdog entrypoint> -- <argv>`. */
75
+ argv: string[];
76
+ /** Engine env vars; the watchdog's own `ATOMIC_WATCHDOG_*` vars are the lifecycle's and win. */
77
+ env?: Record<string, string>;
78
+ /**
79
+ * Files the lifecycle writes, before the container is created, into this generation's read-only
80
+ * directory (`ManagedLaunchContext.generationFilesPath` inside the container), keyed by a bare file
81
+ * name — e.g. an engine's option file its argv points at. Core writes them, so nothing the
82
+ * container runs can change them; the name `heartbeat` is the watchdog's and is refused.
83
+ */
84
+ files?: Readonly<Record<string, string>>;
85
+ /**
86
+ * `--shm-size` for this engine's container (`<n>k|m|g`, at most the executor's 16g ceiling); absent,
87
+ * the executor's default (2g). vLLM V1 passes tensors between its API server and engine core through
88
+ * shared memory (change `add-vllm-runtime`, design D8).
89
+ */
90
+ shm_size?: string;
91
+ }
92
+ export type ManagedExitKind = 'out-of-memory' | 'unsupported-model' | 'other';
93
+ /** What an engine's exit meant, read from its log (the whole log before readiness) and exit code. */
94
+ export interface ManagedExitClassification {
95
+ kind: ManagedExitKind;
96
+ /** Human wording, including whatever numbers the log gave (e.g. requested vs. free memory). */
97
+ message: string;
98
+ /** The numbers behind `message`, for a caller that wants to render them itself. */
99
+ numbers?: Record<string, number>;
100
+ /**
101
+ * The log lines that decided this classification. The lifecycle puts them ahead of the log tail in
102
+ * the error's details when they are not already in it, so a line a long traceback pushed out of the
103
+ * tail still reaches the user.
104
+ */
105
+ excerpt?: string;
106
+ }
107
+ /** What a loaded model can do through this engine (spec `tensorrt-llm-runtime`, design D9). */
108
+ export interface ManagedTextCapabilities {
109
+ tools: boolean;
110
+ reasoning: boolean;
111
+ structured_output: boolean;
112
+ vision: boolean;
113
+ embeddings: boolean;
114
+ responses: boolean;
115
+ }
116
+ /**
117
+ * One route this engine serves through the session gateway: method and path together
118
+ * (findings-2.13-r3.md item 1). Path alone is not enough to declare a route — a path match with the
119
+ * wrong method must still be refused (`405`), not silently forwarded, or `GET /v1/chat/completions`
120
+ * would reach the upstream just because the *path* `/v1/chat/completions` happens to be declared for
121
+ * `POST`. `method` is compared to `IncomingMessage.method` exactly as Node reports it (always
122
+ * upper-case for a real request; a fake source in a test should match that). `HEAD` is never implied
123
+ * by a declared `GET` route — an adapter that wants to serve `HEAD` declares it explicitly; the
124
+ * default (nothing declares it) is a `405`, which is the correct, safe answer for a route that has
125
+ * no `HEAD` handler of its own.
126
+ */
127
+ export interface ManagedRoute {
128
+ method: string;
129
+ /** Absolute path, no query, no `..`: the same shape a readiness path is held to. */
130
+ path: string;
131
+ }
132
+ /**
133
+ * One containerized text engine. `S` is the adapter's own validated settings shape; the lifecycle
134
+ * treats it as opaque and only ever hands back what `validateSettings` returned.
135
+ */
136
+ export interface ManagedTextAdapter<S = unknown> {
137
+ /** Matches the descriptor's `adapter_id`. */
138
+ readonly id: string;
139
+ /** Matches the descriptor's `adapter_contract_version`. */
140
+ readonly contractVersion: number;
141
+ readonly readiness: ManagedReadinessProbe;
142
+ readonly stageMarkers: readonly ManagedStageMarker[];
143
+ /**
144
+ * Every method+path this engine serves through the session gateway. A path with no matching
145
+ * method gets `404` from the gateway; a path that *is* declared, but not for the method the
146
+ * request used, gets `405` with an `Allow` header — neither is ever forwarded upstream
147
+ * (findings-2.13-r2.md item 3, keyed on method+path since findings-2.13-r3.md item 1: path alone
148
+ * let `GET`/`PUT`/`DELETE /v1/chat/completions` and `POST`/`DELETE`/`HEAD`/`OPTIONS /v1/models`
149
+ * all reach the upstream). This is what closes off an engine's own undocumented or administrative
150
+ * routes (e.g. `trtllm-serve`'s `/update_weights`, `/release_memory`) that were never meant to be
151
+ * reachable from outside the container. The readiness path (`readiness.path` above) is
152
+ * deliberately not part of this list — the lifecycle probes it directly against the container's
153
+ * own port, never through the gateway a caller's traffic goes over.
154
+ */
155
+ readonly routes: readonly ManagedRoute[];
156
+ /**
157
+ * The subset of `routes` whose request body `rewriteRequestBody` may rewrite — each entry must
158
+ * also appear in `routes` (checked at registration). Every other declared route (and every
159
+ * undeclared or wrong-method one, which never gets this far) streams through byte-for-byte: no
160
+ * JSON parsing, no re-serialization. Absent or empty when `rewriteRequestBody` is not defined at
161
+ * all.
162
+ */
163
+ readonly rewritableRoutes?: readonly ManagedRoute[];
164
+ /** Throws `AtomicCoreError('INVALID_ARGUMENT', ...)` before any container exists. */
165
+ validateSettings(raw: unknown): S;
166
+ buildLaunch(context: ManagedLaunchContext<S>): ManagedEngineLaunch;
167
+ /** How long readiness may take for this much weight, with margin; a provider setting overrides it. */
168
+ readinessTimeoutMs(weightBytes: number, settings: S): number;
169
+ /**
170
+ * Why the engine exited. Before readiness `log` is the container's whole log (bounded by the docker
171
+ * exec's per-stream output cap, which keeps a longer log's start and end), so a decisive line far
172
+ * above the last one still counts; after a crash of a ready session it is the log tail.
173
+ */
174
+ classifyExit(log: string, exitCode: number | null): ManagedExitClassification;
175
+ /**
176
+ * Optional: why an engine that answers its readiness probe still cannot serve its own launch, read
177
+ * off the container's whole log right after readiness; `null` when it can. The load then fails as an
178
+ * exit before readiness would, with this classification, and the container is stopped with
179
+ * confirmation (TensorRT-LLM on an 8 GB card started with a KV cache of 224 tokens for a 4096-token
180
+ * context, and every request then failed mid-stream).
181
+ */
182
+ classifyReady?(log: string, settings: S): ManagedExitClassification | null;
183
+ /**
184
+ * Optional: why the engine cut a streamed answer short, read off the session's log tail right after
185
+ * the stream broke off; null when the log does not say. The session gateway sends it to the client
186
+ * as an error event in place of the missing end (`gateway.ts`, `guardedEventStream`).
187
+ */
188
+ describeStreamFailure?(logTail: string): string | null;
189
+ capabilities(context: {
190
+ settings: S;
191
+ family: ModelFamilySupport | null;
192
+ }): ManagedTextCapabilities;
193
+ /**
194
+ * Optional: rewrites a JSON POST request body before the session gateway forwards it upstream
195
+ * (`../managed-text/gateway.ts`'s `startManagedGateway`; see
196
+ * `docs/decisions/2026-09-28-tensorrt-llm-output-cap-enforced-by-the-session-gateway.md` for why
197
+ * this exists at all — most engines need no request-side rewriting and should leave it undefined,
198
+ * and `rewritableRoutes` empty/absent). `route` is the request path with no query string, decoded
199
+ * and already matched — method and path together — against `routes` by the gateway. The gateway
200
+ * calls this only for a request whose method+path is listed in `rewritableRoutes`, only with a
201
+ * non-empty body, under a byte cap enforced while the body streams in (over it answers `413`
202
+ * before this is even called, without buffering the rest), and only once the body parses as JSON
203
+ * (a parse failure answers `400` without calling this or reaching the upstream). This may throw to
204
+ * reject the request outright — e.g. a client-supplied value that is present but not usable — and
205
+ * must not silently substitute a different value for something invalid and forward that instead.
206
+ * Throw `AtomicCoreError('INVALID_ARGUMENT', message)` for that: the gateway surfaces its
207
+ * `message` verbatim as an OpenAI-shaped `400`, since that text was written to be read by the
208
+ * client whose request it rejects; a `ManagedRequestRefusal` (below) also chooses the OpenAI `code`,
209
+ * e.g. `unsupported_capability` for what `capabilities` — this session's own, bound by the lifecycle —
210
+ * says the model cannot do (findings-2.14-r1.md item 1). Any other throw (a bug in this hook itself, not a rejection of
211
+ * the client's input) becomes a generic `500` instead — the gateway does not assume an arbitrary
212
+ * thrown value's `message` is safe to show a client (findings-2.13-r3.md item 3). The response
213
+ * stream is never touched by this hook, on any route, streamed or not.
214
+ */
215
+ rewriteRequestBody?(route: string, body: unknown, settings: S, capabilities: ManagedTextCapabilities): unknown;
216
+ /**
217
+ * Optional (task 2.14 fix round 1, findings-2.14-r1.md item 1): the OpenAI error body a client gets
218
+ * for an engine's own error answer on a declared POST route, or `null` to relay the engine's answer
219
+ * as it is. The gateway calls this only for a non-2xx answer, reads that answer under a small cap
220
+ * (`MANAGED_GATEWAY_ERROR_BODY_CAP_BYTES`) to do so, and never touches a 2xx answer — streamed or
221
+ * not. What an engine needs here is a translation of its own error wording into the one clients
222
+ * already handle (`context_length_exceeded` for `trtllm-serve`'s context overflow).
223
+ */
224
+ mapErrorResponse?(route: string, status: number, body: string): object | null;
225
+ /**
226
+ * Optional: a rewrite of a 2xx answer's JSON — the whole body, or each SSE `data:` event of a
227
+ * stream — chosen per request from the request's own (already rewritten) body and the session's
228
+ * model family, or `null` to relay the answer byte for byte as before. Only for rewritable routes.
229
+ * Exists for one engine behaviour: a reasoning parser that assumes every reply starts inside the
230
+ * reasoning (`qwen3_5` on 1.3.0rc29) files a no-thinking reply under `reasoning_content`, and only
231
+ * the request says whether thinking was on.
232
+ */
233
+ rewriteResponseFor?(route: string, requestBody: unknown, family: ModelFamilySupport | null): ManagedResponseRewrite | null;
234
+ /**
235
+ * Optional: the part of the validated settings a running container was started with. A later load
236
+ * of the same model whose settings differ only outside this part joins the running session (with
237
+ * the new settings in force for what the gateway enforces per request) instead of restarting a
238
+ * container (findings-2.14-r1.md item 3). Absent, every setting counts.
239
+ */
240
+ restartKey?(settings: S): unknown;
241
+ }
242
+ /** Rewrites one JSON object of an engine's 2xx answer (`ManagedTextAdapter.rewriteResponseFor`). */
243
+ export type ManagedResponseRewrite = (json: Record<string, unknown>) => Record<string, unknown>;
244
+ /**
245
+ * What a request-side hook (`rewriteRequestBody`) throws to refuse a request with a specific OpenAI
246
+ * error `code` — e.g. `unsupported_capability` for `tools` sent to a model with no tool-call parser.
247
+ * The gateway answers it as `400 {"error": {message, type: 'invalid_request_error', code}}`, the same
248
+ * envelope `:1337` uses, so a client sees one shape whichever port it talks to.
249
+ */
250
+ export declare class ManagedRequestRefusal extends AtomicCoreError {
251
+ readonly openaiCode: string;
252
+ constructor(message: string, openaiCode: string);
253
+ }
254
+ /** The adapters compiled into this core, keyed by `adapter_id`. */
255
+ export declare class ManagedTextAdapterRegistry {
256
+ private readonly adapters;
257
+ register(adapter: ManagedTextAdapter): void;
258
+ has(adapterId: string): boolean;
259
+ ids(): string[];
260
+ /**
261
+ * The adapter a pinned descriptor asks for. An id this core does not know, or a contract version
262
+ * it does not implement, is `MANAGED_ADAPTER_UNAVAILABLE`: the installation cannot be served by
263
+ * this core, whatever the descriptor says.
264
+ */
265
+ resolve(adapterId: string, contractVersion?: number): ManagedTextAdapter;
266
+ }
@@ -0,0 +1,96 @@
1
+ /**
2
+ * The seam between the engine-neutral managed-text lifecycle (`lifecycle.ts`) and one containerized
3
+ * engine (openspec change `add-tensorrt-llm-linux`, task 2.12; the TensorRT-LLM adapter is task 2.13).
4
+ *
5
+ * An adapter is compiled into core and looked up by the `adapter_id` a pinned runtime descriptor
6
+ * names — never loaded from metadata. Everything engine-specific the lifecycle needs goes through
7
+ * this interface: the engine's argv and port, how to tell it is ready, which log lines mark its
8
+ * progress, how long it may take, and what its exit meant. The lifecycle itself holds no
9
+ * `engine_id` branch anywhere; a second engine is a second adapter, not an `if`.
10
+ */
11
+ import { AtomicCoreError } from '../../contracts/index.js';
12
+ /** The adapter contract this core implements; a descriptor's `adapter_contract_version` must match. */
13
+ export const MANAGED_TEXT_ADAPTER_CONTRACT_VERSION = 1;
14
+ /**
15
+ * What a request-side hook (`rewriteRequestBody`) throws to refuse a request with a specific OpenAI
16
+ * error `code` — e.g. `unsupported_capability` for `tools` sent to a model with no tool-call parser.
17
+ * The gateway answers it as `400 {"error": {message, type: 'invalid_request_error', code}}`, the same
18
+ * envelope `:1337` uses, so a client sees one shape whichever port it talks to.
19
+ */
20
+ export class ManagedRequestRefusal extends AtomicCoreError {
21
+ openaiCode;
22
+ constructor(message, openaiCode) {
23
+ super('INVALID_ARGUMENT', message);
24
+ this.name = 'ManagedRequestRefusal';
25
+ this.openaiCode = openaiCode;
26
+ }
27
+ }
28
+ const READINESS_PATH = /^\/(?!\/)[A-Za-z0-9._~/-]*$/;
29
+ function invalid(message, detail) {
30
+ throw new AtomicCoreError('INVALID_ARGUMENT', message, detail);
31
+ }
32
+ /** Same shape a readiness path must have; a declared route is held to the same rule. */
33
+ function assertRoutePath(path, what) {
34
+ if (!READINESS_PATH.test(path) || path.split('/').some((segment) => segment === '..')) {
35
+ invalid(`${what} is not an absolute path with no query, fragment or \`..\`.`, path);
36
+ }
37
+ }
38
+ function assertAdapterShape(adapter) {
39
+ if (adapter.id === '')
40
+ invalid('A managed text adapter needs an id.', adapter.id);
41
+ if (!Number.isInteger(adapter.contractVersion) || adapter.contractVersion < 1) {
42
+ invalid('A managed text adapter contract version is a positive integer.', String(adapter.contractVersion));
43
+ }
44
+ const { path, expectedStatus } = adapter.readiness;
45
+ assertRoutePath(path, 'A readiness path');
46
+ if (!Number.isInteger(expectedStatus) || expectedStatus < 200 || expectedStatus > 299) {
47
+ invalid('A readiness probe expects a 2xx status.', String(expectedStatus));
48
+ }
49
+ if (adapter.routes.length === 0) {
50
+ invalid('A managed text adapter needs at least one declared route.', adapter.id);
51
+ }
52
+ for (const route of adapter.routes) {
53
+ if (route.method === '')
54
+ invalid('A declared route needs a method.', route.path);
55
+ assertRoutePath(route.path, 'A declared route');
56
+ }
57
+ const isDeclared = (route) => adapter.routes.some((r) => r.method === route.method && r.path === route.path);
58
+ for (const route of adapter.rewritableRoutes ?? []) {
59
+ if (!isDeclared(route)) {
60
+ invalid('A rewritable route must also be a declared route.', `${route.method} ${route.path}`);
61
+ }
62
+ }
63
+ }
64
+ /** The adapters compiled into this core, keyed by `adapter_id`. */
65
+ export class ManagedTextAdapterRegistry {
66
+ adapters = new Map();
67
+ register(adapter) {
68
+ assertAdapterShape(adapter);
69
+ if (this.adapters.has(adapter.id)) {
70
+ invalid('A managed text adapter with this id is already registered.', adapter.id);
71
+ }
72
+ this.adapters.set(adapter.id, adapter);
73
+ }
74
+ has(adapterId) {
75
+ return this.adapters.has(adapterId);
76
+ }
77
+ ids() {
78
+ return [...this.adapters.keys()];
79
+ }
80
+ /**
81
+ * The adapter a pinned descriptor asks for. An id this core does not know, or a contract version
82
+ * it does not implement, is `MANAGED_ADAPTER_UNAVAILABLE`: the installation cannot be served by
83
+ * this core, whatever the descriptor says.
84
+ */
85
+ resolve(adapterId, contractVersion) {
86
+ const adapter = this.adapters.get(adapterId);
87
+ if (adapter === undefined) {
88
+ throw new AtomicCoreError('MANAGED_ADAPTER_UNAVAILABLE', 'This core has no adapter for the engine this installation needs.', adapterId);
89
+ }
90
+ if (contractVersion !== undefined && contractVersion !== adapter.contractVersion) {
91
+ throw new AtomicCoreError('MANAGED_ADAPTER_UNAVAILABLE', 'The installation needs a different adapter contract version than this core implements.', `${adapterId}: wants ${contractVersion}, core implements ${adapter.contractVersion}`);
92
+ }
93
+ return adapter;
94
+ }
95
+ }
96
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/runtime/managed-text/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { BackendTarget } from './types.js';
2
+ /** Pure: throws `AtomicCoreError('FORBIDDEN_HOST', ...)` rather than return an unpublishable port. */
3
+ export declare function projectSessionPort(target: BackendTarget): number;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Reduces an internal `BackendTarget` to today's desktop `SessionInfo.port` representation.
3
+ *
4
+ * ADR T01e (`docs/decisions/2026-09-23-preserve-deployment-seams.md`): production desktop adapters
5
+ * publish only on exactly `127.0.0.1` over plain `http`, at an explicit, valid TCP port, with an
6
+ * empty or root path and no credentials, query or fragment. Projecting another loopback spelling
7
+ * (`localhost`, `::1`, `127.0.0.2`, ...) to just a port would point an existing caller that already
8
+ * assumes `127.0.0.1` — the app, the public server's forwarder — at the wrong listener. Anything
9
+ * that does not fit is refused here, before publication, rather than silently reduced.
10
+ */
11
+ import { AtomicCoreError } from '../../contracts/index.js';
12
+ const DESKTOP_HOST = '127.0.0.1';
13
+ function refuse(baseUrl, why) {
14
+ throw new AtomicCoreError('FORBIDDEN_HOST', `Managed backend target cannot be published as a desktop session: ${why}.`, baseUrl);
15
+ }
16
+ /** Pure: throws `AtomicCoreError('FORBIDDEN_HOST', ...)` rather than return an unpublishable port. */
17
+ export function projectSessionPort(target) {
18
+ let url;
19
+ try {
20
+ url = new URL(target.base_url);
21
+ }
22
+ catch {
23
+ return refuse(target.base_url, 'base_url is not a valid URL');
24
+ }
25
+ if (url.protocol !== 'http:') {
26
+ return refuse(target.base_url, `protocol is ${url.protocol.replace(':', '')}, not http`);
27
+ }
28
+ if (url.hostname !== DESKTOP_HOST) {
29
+ return refuse(target.base_url, `host is not exactly ${DESKTOP_HOST}`);
30
+ }
31
+ if (url.username !== '' || url.password !== '') {
32
+ return refuse(target.base_url, 'URL carries credentials');
33
+ }
34
+ if (url.search !== '') {
35
+ return refuse(target.base_url, 'URL carries a query string');
36
+ }
37
+ if (url.hash !== '') {
38
+ return refuse(target.base_url, 'URL carries a fragment');
39
+ }
40
+ if (url.pathname !== '/') {
41
+ return refuse(target.base_url, 'URL is not the server root');
42
+ }
43
+ if (url.port === '') {
44
+ return refuse(target.base_url, 'URL has no explicit port');
45
+ }
46
+ const port = Number(url.port);
47
+ if (!Number.isInteger(port) || port < 1 || port > 65535) {
48
+ return refuse(target.base_url, 'port is out of range');
49
+ }
50
+ return port;
51
+ }
52
+ //# sourceMappingURL=backend-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-target.js","sourceRoot":"","sources":["../../../src/runtime/managed-text/backend-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG1D,MAAM,YAAY,GAAG,WAAW,CAAA;AAEhC,SAAS,MAAM,CAAC,OAAe,EAAE,GAAW;IAC1C,MAAM,IAAI,eAAe,CACvB,gBAAgB,EAChB,oEAAoE,GAAG,GAAG,EAC1E,OAAO,CACR,CAAA;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,kBAAkB,CAAC,MAAqB;IACtD,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,CAAA;IAC1F,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,YAAY,EAAE,CAAC,CAAA;IACvE,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAA;IAC3D,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ManagedDeployment, MountSourceResolver } from './types.js';
2
+ export interface DesktopManagedDeploymentDeps {
3
+ /** Host ports already claimed by other sessions, so the new publication does not collide. */
4
+ usedHostPorts?: () => Iterable<number>;
5
+ /** Injected for tests; the production default binds `randomFreePort` (`runtime/shared`) to loopback. */
6
+ allocateHostPort?: (usedHostPorts: Iterable<number>) => Promise<number>;
7
+ mountSource?: MountSourceResolver;
8
+ }
9
+ /**
10
+ * Desktop bindings for a container started on this machine: loopback publication at a random free
11
+ * host port, and an identity-mounted heartbeat path by default (a core running on the host and the
12
+ * Docker daemon it talks to share one filesystem).
13
+ */
14
+ export declare function createDesktopManagedDeployment(deps?: DesktopManagedDeploymentDeps): ManagedDeployment;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The desktop `ManagedDeployment` (`types.ts`): publishes an engine's `container_port` on loopback
3
+ * with a random host port, and resolves the heartbeat file's mount source through the given
4
+ * `MountSourceResolver` (identity by default; WSL's guest-path resolver replaces it, task 2.8,
5
+ * without touching this shape). The shared lifecycle depends only on `ManagedDeployment` — it never
6
+ * allocates a port, picks a socket/distro or branches on OS itself, per ADR T01e.
7
+ */
8
+ import { randomFreePort } from '../shared/index.js';
9
+ import { identityMountSourceResolver } from './mount-source.js';
10
+ const DESKTOP_HOST = '127.0.0.1';
11
+ /**
12
+ * Desktop bindings for a container started on this machine: loopback publication at a random free
13
+ * host port, and an identity-mounted heartbeat path by default (a core running on the host and the
14
+ * Docker daemon it talks to share one filesystem).
15
+ */
16
+ export function createDesktopManagedDeployment(deps = {}) {
17
+ const usedHostPorts = deps.usedHostPorts ?? (() => []);
18
+ const allocateHostPort = deps.allocateHostPort ?? ((used) => randomFreePort(used));
19
+ const mountSource = deps.mountSource ?? identityMountSourceResolver;
20
+ return {
21
+ mountSource,
22
+ async prepareLaunch(spec, heartbeatCorePath) {
23
+ const host_port = await allocateHostPort(usedHostPorts());
24
+ return {
25
+ publication: { host: DESKTOP_HOST, host_port, container_port: spec.container_port },
26
+ target: { base_url: `http://${DESKTOP_HOST}:${host_port}` },
27
+ heartbeat: { core_path: heartbeatCorePath, mount_source: mountSource(heartbeatCorePath) },
28
+ };
29
+ },
30
+ };
31
+ }
32
+ //# sourceMappingURL=deployment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../src/runtime/managed-text/deployment.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAG/D,MAAM,YAAY,GAAG,WAAW,CAAA;AAUhC;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAqC,EAAE;IACpF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,GAAqB,EAAE,CAAC,EAAE,CAAC,CAAA;IACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IACpG,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,2BAA2B,CAAA;IAEnE,OAAO;QACL,WAAW;QACX,KAAK,CAAC,aAAa,CAAC,IAAsB,EAAE,iBAAyB;YACnE,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAA;YACzD,OAAO;gBACL,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;gBACnF,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,YAAY,IAAI,SAAS,EAAE,EAAE;gBAC3D,SAAS,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE;aAC1F,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type ManagedScopePaths } from '../../config/index.js';
2
+ /** Creates (if missing) and returns the cache directory for one model under one pinned descriptor. */
3
+ export declare function ensureEngineCacheDir(paths: ManagedScopePaths, descriptorId: string, modelId: string): Promise<string>;
4
+ /** Which caches to remove: one model everywhere, one descriptor entirely, or exactly one of each. */
5
+ export interface EngineCacheSelector {
6
+ descriptorId?: string;
7
+ modelId?: string;
8
+ }
9
+ /** Every existing cache folder of one model, one per descriptor it was loaded with (task 2.24). */
10
+ export declare function engineCacheDirsOf(paths: ManagedScopePaths, modelId: string): Promise<string[]>;
11
+ /**
12
+ * Removes the selected caches and returns the directories it removed. Selecting nothing is refused
13
+ * rather than read as "everything": wiping every cache is never what removing one thing means.
14
+ */
15
+ export declare function removeEngineCaches(paths: ManagedScopePaths, selector: EngineCacheSelector): Promise<string[]>;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * The engine cache of a managed text model (spec `tensorrt-llm-runtime`, "Кэш движка ускоряет
3
+ * повторный старт"; design D8): `<data>/atomic-core/managed-runtimes/caches/<descriptor_id>/<model>`,
4
+ * mounted read-write into that model's container and kept between loads, so a second start does not
5
+ * redo the engine's preparation. Keying by `descriptor_id` means a new engine release never reads a
6
+ * cache an older one wrote; removing a model or an installation removes its caches with it.
7
+ *
8
+ * Paths come from `config/paths.ts` (`ManagedScopePaths`), which percent-encodes both ids into one
9
+ * path segment each, so no id can climb out of the cache root.
10
+ */
11
+ import { mkdir, readdir, rm } from 'node:fs/promises';
12
+ import { join } from 'node:path';
13
+ import { AtomicCoreError } from '../../contracts/index.js';
14
+ import { encodeManagedId } from '../../config/index.js';
15
+ /** Creates (if missing) and returns the cache directory for one model under one pinned descriptor. */
16
+ export async function ensureEngineCacheDir(paths, descriptorId, modelId) {
17
+ const dir = paths.engineCacheDir(descriptorId, modelId);
18
+ await mkdir(dir, { recursive: true });
19
+ return dir;
20
+ }
21
+ async function descriptorDirs(cachesDir) {
22
+ const entries = await readdir(cachesDir, { withFileTypes: true }).catch((error) => {
23
+ if (error.code === 'ENOENT')
24
+ return [];
25
+ throw error;
26
+ });
27
+ return entries.filter((entry) => entry.isDirectory()).map((entry) => join(cachesDir, entry.name));
28
+ }
29
+ /** Every existing cache folder of one model, one per descriptor it was loaded with (task 2.24). */
30
+ export async function engineCacheDirsOf(paths, modelId) {
31
+ const candidates = (await descriptorDirs(paths.cachesDir)).map((dir) => join(dir, encodeManagedId(modelId)));
32
+ const present = await Promise.all(candidates.map((dir) => readdir(dir).then(() => true, () => false)));
33
+ return candidates.filter((_, i) => present[i]);
34
+ }
35
+ async function removeIfPresent(path) {
36
+ const existed = await readdir(path).then(() => true, () => false);
37
+ if (existed)
38
+ await rm(path, { recursive: true, force: true });
39
+ return existed;
40
+ }
41
+ /**
42
+ * Removes the selected caches and returns the directories it removed. Selecting nothing is refused
43
+ * rather than read as "everything": wiping every cache is never what removing one thing means.
44
+ */
45
+ export async function removeEngineCaches(paths, selector) {
46
+ const { descriptorId, modelId } = selector;
47
+ if (descriptorId === undefined && modelId === undefined) {
48
+ throw new AtomicCoreError('INVALID_ARGUMENT', 'Say which engine caches to remove: a model, a descriptor, or both.');
49
+ }
50
+ const targets = descriptorId === undefined
51
+ ? (await descriptorDirs(paths.cachesDir)).map((dir) => join(dir, encodeManagedId(modelId)))
52
+ : [
53
+ modelId === undefined
54
+ ? paths.descriptorCachesDir(descriptorId)
55
+ : paths.engineCacheDir(descriptorId, modelId),
56
+ ];
57
+ const removed = [];
58
+ for (const target of targets) {
59
+ if (await removeIfPresent(target))
60
+ removed.push(target);
61
+ }
62
+ return removed;
63
+ }
64
+ //# sourceMappingURL=engine-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-cache.js","sourceRoot":"","sources":["../../../src/runtime/managed-text/engine-cache.ts"],"names":[],"mappings":"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"}