@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,214 @@
1
+ /**
2
+ * What a video request will cost on this machine before it runs: the memory it needs against the
3
+ * budget of the pool it competes for, and a range of seconds. Pure: the loaded model's file sizes,
4
+ * the request and the hardware facts come in; the estimate and the forecast the live ETA works from
5
+ * (`video-eta.ts`) go out. The model and its first coefficients are in ADR
6
+ * 2026-09-28-estimate-video-generation-before-and-during-the-job; the coefficients are guesses until
7
+ * the live measurement replaces them.
8
+ */
9
+ import type { DiffusionBackend, DiffusionOffloadPolicy, SystemInfo, VideoEstimate, VideoMemoryPool, VideoMemoryVerdict } from '../contracts/index.js';
10
+ import type { ModelFileBytes } from './types.js';
11
+ import type { DecodeLayout, VideoDecodeTiling } from './video-tiling.js';
12
+ export type { VideoDecodeTiling } from './video-tiling.js';
13
+ /** Everything one family contributes to the estimate. Seconds are on the reference machine (speed 1). */
14
+ export interface VideoFamilyProfile {
15
+ /** Pixels across, pixels down and frames per latent token: the VAE's compression with the patchify. */
16
+ compression: {
17
+ x: number;
18
+ y: number;
19
+ t: number;
20
+ };
21
+ /** Activation bytes per latent token while sampling (flash attention on, as `speedFlags` sets it). */
22
+ bytesPerToken: number;
23
+ /** Seconds per latent token per model pass: the MLPs and projections. */
24
+ linearSeconds: number;
25
+ /** Seconds per latent token squared per model pass: self-attention. */
26
+ attentionSeconds: number;
27
+ /** Seconds per decoded pixel-frame. */
28
+ decodeSeconds: number;
29
+ /** Seconds for the text encoders and the job's fixed costs. */
30
+ encodeSeconds: number;
31
+ /** Image pixels per latent pixel on a side in the VAE alone, without the transformer's patch. */
32
+ vaeScale: number;
33
+ }
34
+ /**
35
+ * The families the catalog ships. LTX-2.3 22B: 4096-wide, 48 layers, VAE 32×32×8. Wan 2.2 TI2V 5B:
36
+ * 3072-wide, 30 layers, VAE 16×16×4 with a 2×2 patch. Seconds follow from the FLOPs of one pass at
37
+ * about 5 effective TFLOPS, what sd.cpp is taken to reach on the reference M3 Max.
38
+ */
39
+ export declare const VIDEO_FAMILY_PROFILES: Readonly<Record<string, VideoFamilyProfile>>;
40
+ /** A family the table does not know: the heavier numbers of the two, and the wider range. */
41
+ export declare const DEFAULT_VIDEO_FAMILY_PROFILE: VideoFamilyProfile;
42
+ /**
43
+ * Bytes a single-graph VAE decode asks for per pixel-frame: the Wan 2.2 VAE wanted 27.6 GB from
44
+ * Metal at 1280×704 × 121 frames (2026-09-23, see `VIDEO_VAE_TILING_PIXEL_FRAMES` in `args.ts`).
45
+ */
46
+ export declare const BYTES_PER_PIXEL_FRAME = 250;
47
+ /** The decoded clip itself, RGB in f32, which a tiled decode still holds whole. */
48
+ export declare const OUTPUT_BYTES_PER_PIXEL_FRAME = 12;
49
+ /** The runtime, the graph allocator's slack and the text encoders' activations. */
50
+ export declare const OVERHEAD_BYTES: number;
51
+ /** The share of unified memory Metal lets a process wire; the app's `MACOS_LOAD_CEILING`. */
52
+ export declare const UNIFIED_BUDGET_SHARE = 0.85;
53
+ /** `fits` up to this share of the budget, `tight` up to all of it, `exceeds` past it. */
54
+ export declare const FITS_SHARE = 0.8;
55
+ /** How far the heuristic range reaches either side of its middle: known hardware, unknown hardware or family. */
56
+ export declare const HEURISTIC_SPREAD = 2;
57
+ export declare const UNKNOWN_SPREAD = 3;
58
+ /** The range once this machine's own clips calibrated the middle. */
59
+ export declare const HISTORY_BAND: readonly [number, number];
60
+ /** What the estimate reads about the loaded model and the request. */
61
+ export interface VideoEstimateInput {
62
+ family: string;
63
+ backend: DiffusionBackend;
64
+ offload: DiffusionOffloadPolicy;
65
+ /** The session runs on the CPU backend after a ggml abort. */
66
+ cpuFallback: boolean;
67
+ fileBytes: ModelFileBytes;
68
+ width: number;
69
+ height: number;
70
+ frames: number;
71
+ steps: number;
72
+ cfgScale: number;
73
+ /** The pixel-frames past which `args.ts` tiles the decode when the plan chose no tiling. */
74
+ tilingPixelFrames: number;
75
+ /** The tiling the plan chose for the decode; absent: the threshold and sd.cpp's own tiles. */
76
+ decodeTiling?: VideoDecodeTiling;
77
+ system: SystemInfo;
78
+ }
79
+ /**
80
+ * The parts of the time the live ETA works from, in seconds, already scaled by the history
81
+ * multiplier when there is one. Kept with the job, never sent.
82
+ */
83
+ export interface VideoForecast {
84
+ encodeSeconds: number;
85
+ /** One sampling step (all its model passes), the middle of the range. */
86
+ stepSeconds: number;
87
+ /** The top of the range for one step. */
88
+ stepSecondsHigh: number;
89
+ decodeSeconds: number;
90
+ /** `encodeSeconds + steps × stepSeconds + decodeSeconds`: the middle of the job. */
91
+ totalSeconds: number;
92
+ }
93
+ export interface VideoCost {
94
+ estimate: VideoEstimate;
95
+ forecast: VideoForecast;
96
+ }
97
+ export declare const familyProfile: (family: string) => VideoFamilyProfile;
98
+ /** Latent tokens the transformer attends over: `⌈W/sx⌉ · ⌈H/sy⌉ · (1 + (frames − 1)/st)`. */
99
+ export declare function latentTokens(profile: VideoFamilyProfile, width: number, height: number, frames: number): number;
100
+ /** Latent pixels across and down the decode's input: the frame over the VAE's own scale. */
101
+ export declare function decodeLatent(input: Pick<VideoEstimateInput, 'width' | 'height'>, profile: VideoFamilyProfile): {
102
+ width: number;
103
+ height: number;
104
+ };
105
+ /**
106
+ * Whether the decode of this request is tiled: as the plan chose; without one, past the pixel-frame
107
+ * threshold, or always under `model` offload.
108
+ */
109
+ export declare function decodeTiled(input: Pick<VideoEstimateInput, 'width' | 'height' | 'frames' | 'offload' | 'tilingPixelFrames' | 'decodeTiling'>): boolean;
110
+ /**
111
+ * The tiles the engine runs for this request: the plan's tiling, or sd.cpp's own 32-pixel tiles when
112
+ * the threshold switches tiling on without one.
113
+ */
114
+ export declare function decodeLayout(input: VideoEstimateInput, profile?: VideoFamilyProfile): DecodeLayout;
115
+ /**
116
+ * The VAE decode's peak: the whole clip in one graph; or, tiled, one tile's graph across every frame
117
+ * plus the decoded clip it is assembled into.
118
+ */
119
+ export declare function vaeDecodePeakBytes(input: VideoEstimateInput, profile?: VideoFamilyProfile): number;
120
+ /** The largest discrete GPU's memory in bytes; integrated GPUs share system RAM and do not count. */
121
+ export declare function discreteVramBytes(system: SystemInfo): number;
122
+ /** Which pool a session competes for: Metal's unified memory, a discrete GPU's, or system RAM. */
123
+ export declare function memoryPool(input: Pick<VideoEstimateInput, 'backend' | 'cpuFallback' | 'system'>): VideoMemoryPool;
124
+ export declare function verdictOf(required: number, budget: number): VideoMemoryVerdict;
125
+ /**
126
+ * The memory verdict. The weights stay resident (sd-server keeps every file loaded); on top of them
127
+ * the peak of the phase that needs most. Under `group` and `model` offload the parameters live in
128
+ * RAM and each model is copied to the device while it runs, so on unified memory the running
129
+ * model counts twice, and a discrete GPU holds only the running model and its activations; `model`
130
+ * also decodes on the CPU. Undefined when the machine's memory is unknown.
131
+ */
132
+ export declare function estimateVideoMemory(input: VideoEstimateInput): VideoEstimate['memory'] | undefined;
133
+ /**
134
+ * How to tile the clip's VAE decode on this machine. One graph over the frame when the whole job
135
+ * then fits (the estimate's `fits`, at most 80 % of the budget), since every tile recomputes its
136
+ * overlap; otherwise the tiling with the least work among those that fit, from one tile per axis
137
+ * down to as many as sd.cpp's own 32-pixel tiles make; and when none fits, the one with the smallest
138
+ * peak. Undefined, so the pixel-frame threshold and sd.cpp's own tiles decide as before, under
139
+ * `model` offload (the engine decodes on the CPU, tiled by its own flag), on the CPU fallback, and
140
+ * when the machine's memory is unknown.
141
+ */
142
+ export declare function planDecodeTiling(input: VideoEstimateInput): VideoDecodeTiling | undefined;
143
+ /** How fast a machine generates against the reference (Apple M3 Max), and whether the table knew it. */
144
+ export interface MachineSpeed {
145
+ speed: number;
146
+ known: boolean;
147
+ }
148
+ /**
149
+ * Apple Silicon by chip, the lower GPU bin of each (a 30-core M3 Max, not the 40-core), as the
150
+ * ratio of GPU FP32 throughput to the 40-core M3 Max. M5 figures are extrapolated from Apple's own
151
+ * claims, not measured.
152
+ */
153
+ export declare const APPLE_SILICON_SPEED: Readonly<Record<string, number>>;
154
+ /** An Apple chip the table does not name: the slowest row. */
155
+ export declare const APPLE_SILICON_FLOOR = 0.18;
156
+ /** Discrete GPUs by the class of their memory (GiB, at least), CUDA; the smallest class is the floor. */
157
+ export declare const DISCRETE_GPU_SPEED: ReadonlyArray<readonly [number, number]>;
158
+ /** sd.cpp's kernels off CUDA: slower on the same silicon. */
159
+ export declare const BACKEND_SPEED_FACTOR: Readonly<Partial<Record<DiffusionBackend, number>>>;
160
+ /** The CPU backend, per physical core. */
161
+ export declare const CPU_CORE_SPEED = 0.006;
162
+ /** A CPU whose core count the probe did not read is taken to have this many. */
163
+ export declare const CPU_FLOOR_CORES = 4;
164
+ /** `Apple M3 Max` → `m3 max`; anything else → undefined. */
165
+ export declare function appleChip(cpuName: string): string | undefined;
166
+ /** The machine's speed for this backend. Unknown hardware gets the slowest row of its class. */
167
+ export declare function machineSpeed(input: Pick<VideoEstimateInput, 'backend' | 'cpuFallback' | 'system'>): MachineSpeed;
168
+ /**
169
+ * What every step costs whatever its size: the graph rebuilt and allocated, the kernels launched.
170
+ * Wall-clock seconds, not scaled by the machine: it keeps a tiny request's step from being forecast
171
+ * at a few milliseconds.
172
+ */
173
+ export declare const STEP_OVERHEAD_SECONDS = 0.3;
174
+ /**
175
+ * The VAE decode on the Metal device against the table's `decodeSeconds`. ggml's Metal backend has no
176
+ * `IM2COL_3D`, so every 3-D convolution of a video VAE runs the direct `kernel_conv_3d`. The one decode
177
+ * measured, a Wan 2.2 TI2V 5B clip at 704×1280 and 25 frames at 250 s per 32×32-latent tile, is about ten
178
+ * times the table on an M3 Pro to M4 Pro class Mac (ADR 2026-09-30-keep-the-video-eta-past-its-forecast).
179
+ */
180
+ export declare const METAL_DECODE_FACTOR = 10;
181
+ /**
182
+ * `METAL_DECODE_FACTOR` for an Apple GPU generation measured to differ. M1: an M1 Max decoded a Wan
183
+ * 2.2 TI2V 5B clip at 832×480 × 25 frames in one graph in 2488 s and 2594 s, 8.6–8.9 times the table
184
+ * at the default factor (2026-09-30 and 2026-10-08 runs, ADR
185
+ * 2026-10-09-calibrate-the-video-decode-apart-from-the-steps).
186
+ */
187
+ export declare const METAL_DECODE_FACTOR_BY_GENERATION: Readonly<Record<string, number>>;
188
+ /** The Metal decode factor for this machine's chip. */
189
+ export declare function metalDecodeFactor(system: SystemInfo): number;
190
+ /** Model passes per step: classifier-free guidance runs the model twice. */
191
+ export declare const passesPerStep: (cfgScale: number) => number;
192
+ /** The heuristic middle of the job, split into the parts the live ETA uses. */
193
+ export declare function heuristicParts(input: VideoEstimateInput): {
194
+ encodeSeconds: number;
195
+ stepSeconds: number;
196
+ decodeSeconds: number;
197
+ known: boolean;
198
+ };
199
+ /** The heuristic middle of the whole job in seconds; what the history multiplier is measured against. */
200
+ export declare function heuristicSeconds(input: VideoEstimateInput): number;
201
+ /**
202
+ * How many times the heuristic this machine's clips took: `sampling` for the text encoders and the
203
+ * steps, `decode` for the VAE decode.
204
+ */
205
+ export interface VideoHistoryMultiplier {
206
+ sampling: number;
207
+ decode: number;
208
+ }
209
+ /**
210
+ * The estimate and the forecast for `input`. With `multiplier` (this machine's clips ran that many
211
+ * times the heuristic) the middle moves and the range narrows to `HISTORY_BAND`. Undefined when the
212
+ * machine's memory is unknown, which leaves nothing to compare against.
213
+ */
214
+ export declare function estimateVideoCost(input: VideoEstimateInput, multiplier?: VideoHistoryMultiplier): VideoCost | undefined;
@@ -0,0 +1,402 @@
1
+ /**
2
+ * What a video request will cost on this machine before it runs: the memory it needs against the
3
+ * budget of the pool it competes for, and a range of seconds. Pure: the loaded model's file sizes,
4
+ * the request and the hardware facts come in; the estimate and the forecast the live ETA works from
5
+ * (`video-eta.ts`) go out. The model and its first coefficients are in ADR
6
+ * 2026-09-28-estimate-video-generation-before-and-during-the-job; the coefficients are guesses until
7
+ * the live measurement replaces them.
8
+ */
9
+ import { RESERVE_BYTES } from '../models/index.js';
10
+ import { ENGINE_TILE_LATENT, engineDefaultLayout, tilesAlong, tilingLayout } from './video-tiling.js';
11
+ const MIB = 1024 * 1024;
12
+ const GIB = 1024 * MIB;
13
+ /**
14
+ * The families the catalog ships. LTX-2.3 22B: 4096-wide, 48 layers, VAE 32×32×8. Wan 2.2 TI2V 5B:
15
+ * 3072-wide, 30 layers, VAE 16×16×4 with a 2×2 patch. Seconds follow from the FLOPs of one pass at
16
+ * about 5 effective TFLOPS, what sd.cpp is taken to reach on the reference M3 Max.
17
+ */
18
+ export const VIDEO_FAMILY_PROFILES = {
19
+ 'ltx-2': {
20
+ compression: { x: 32, y: 32, t: 8 },
21
+ bytesPerToken: 128 * 1024,
22
+ linearSeconds: 4.5e-3,
23
+ attentionSeconds: 1.6e-7,
24
+ decodeSeconds: 0.8e-6,
25
+ encodeSeconds: 15,
26
+ vaeScale: 32,
27
+ },
28
+ 'wan2.2-ti2v-5b': {
29
+ compression: { x: 32, y: 32, t: 4 },
30
+ bytesPerToken: 100 * 1024,
31
+ linearSeconds: 1.5e-3,
32
+ attentionSeconds: 7.4e-8,
33
+ decodeSeconds: 1.6e-6,
34
+ encodeSeconds: 5,
35
+ vaeScale: 16,
36
+ },
37
+ };
38
+ /** A family the table does not know: the heavier numbers of the two, and the wider range. */
39
+ export const DEFAULT_VIDEO_FAMILY_PROFILE = {
40
+ compression: { x: 16, y: 16, t: 4 },
41
+ bytesPerToken: 128 * 1024,
42
+ linearSeconds: 4.5e-3,
43
+ attentionSeconds: 1.6e-7,
44
+ decodeSeconds: 1.6e-6,
45
+ encodeSeconds: 15,
46
+ vaeScale: 16,
47
+ };
48
+ /**
49
+ * Bytes a single-graph VAE decode asks for per pixel-frame: the Wan 2.2 VAE wanted 27.6 GB from
50
+ * Metal at 1280×704 × 121 frames (2026-09-23, see `VIDEO_VAE_TILING_PIXEL_FRAMES` in `args.ts`).
51
+ */
52
+ export const BYTES_PER_PIXEL_FRAME = 250;
53
+ /** The decoded clip itself, RGB in f32, which a tiled decode still holds whole. */
54
+ export const OUTPUT_BYTES_PER_PIXEL_FRAME = 12;
55
+ /** The runtime, the graph allocator's slack and the text encoders' activations. */
56
+ export const OVERHEAD_BYTES = GIB;
57
+ /** The share of unified memory Metal lets a process wire; the app's `MACOS_LOAD_CEILING`. */
58
+ export const UNIFIED_BUDGET_SHARE = 0.85;
59
+ /** `fits` up to this share of the budget, `tight` up to all of it, `exceeds` past it. */
60
+ export const FITS_SHARE = 0.8;
61
+ /** How far the heuristic range reaches either side of its middle: known hardware, unknown hardware or family. */
62
+ export const HEURISTIC_SPREAD = 2;
63
+ export const UNKNOWN_SPREAD = 3;
64
+ /** The range once this machine's own clips calibrated the middle. */
65
+ export const HISTORY_BAND = [0.8, 1.25];
66
+ export const familyProfile = (family) => VIDEO_FAMILY_PROFILES[family] ?? DEFAULT_VIDEO_FAMILY_PROFILE;
67
+ /** Latent tokens the transformer attends over: `⌈W/sx⌉ · ⌈H/sy⌉ · (1 + (frames − 1)/st)`. */
68
+ export function latentTokens(profile, width, height, frames) {
69
+ const { x, y, t } = profile.compression;
70
+ const latentFrames = 1 + Math.ceil(Math.max(frames - 1, 0) / t);
71
+ return Math.ceil(width / x) * Math.ceil(height / y) * latentFrames;
72
+ }
73
+ /** Latent pixels across and down the decode's input: the frame over the VAE's own scale. */
74
+ export function decodeLatent(input, profile) {
75
+ return {
76
+ width: Math.max(Math.ceil(input.width / profile.vaeScale), 1),
77
+ height: Math.max(Math.ceil(input.height / profile.vaeScale), 1),
78
+ };
79
+ }
80
+ /**
81
+ * Whether the decode of this request is tiled: as the plan chose; without one, past the pixel-frame
82
+ * threshold, or always under `model` offload.
83
+ */
84
+ export function decodeTiled(input) {
85
+ if (input.decodeTiling)
86
+ return input.decodeTiling.tilesX > 1 || input.decodeTiling.tilesY > 1;
87
+ return input.offload === 'model' || input.width * input.height * input.frames > input.tilingPixelFrames;
88
+ }
89
+ /**
90
+ * The tiles the engine runs for this request: the plan's tiling, or sd.cpp's own 32-pixel tiles when
91
+ * the threshold switches tiling on without one.
92
+ */
93
+ export function decodeLayout(input, profile = familyProfile(input.family)) {
94
+ const latent = decodeLatent(input, profile);
95
+ if (input.decodeTiling)
96
+ return tilingLayout(latent.width, latent.height, input.decodeTiling);
97
+ if (!decodeTiled(input))
98
+ return { tiled: false, tilesX: 1, tilesY: 1, tileWidth: latent.width, tileHeight: latent.height, work: 1 };
99
+ return engineDefaultLayout(latent.width, latent.height);
100
+ }
101
+ /**
102
+ * The VAE decode's peak: the whole clip in one graph; or, tiled, one tile's graph across every frame
103
+ * plus the decoded clip it is assembled into.
104
+ */
105
+ export function vaeDecodePeakBytes(input, profile = familyProfile(input.family)) {
106
+ const pixelFrames = input.width * input.height * input.frames;
107
+ const layout = decodeLayout(input, profile);
108
+ if (!layout.tiled)
109
+ return pixelFrames * BYTES_PER_PIXEL_FRAME;
110
+ const tileWidth = Math.min(input.width, layout.tileWidth * profile.vaeScale);
111
+ const tileHeight = Math.min(input.height, layout.tileHeight * profile.vaeScale);
112
+ return (tileWidth * tileHeight * input.frames * BYTES_PER_PIXEL_FRAME + pixelFrames * OUTPUT_BYTES_PER_PIXEL_FRAME);
113
+ }
114
+ const sum = (values) => values.reduce((a, b) => a + (b ?? 0), 0);
115
+ /** The largest discrete GPU's memory in bytes; integrated GPUs share system RAM and do not count. */
116
+ export function discreteVramBytes(system) {
117
+ let best = 0;
118
+ for (const gpu of system.gpus) {
119
+ if (gpu.vulkan_info?.device_type === 'IntegratedGpu')
120
+ continue;
121
+ best = Math.max(best, gpu.total_memory);
122
+ }
123
+ return best * MIB;
124
+ }
125
+ /** Which pool a session competes for: Metal's unified memory, a discrete GPU's, or system RAM. */
126
+ export function memoryPool(input) {
127
+ if (input.cpuFallback || input.backend === 'cpu')
128
+ return 'system';
129
+ if (input.backend === 'metal')
130
+ return input.system.os_type === 'macos' ? 'unified' : 'system';
131
+ return discreteVramBytes(input.system) > 0 ? 'vram' : 'system';
132
+ }
133
+ export function verdictOf(required, budget) {
134
+ if (required <= budget * FITS_SHARE)
135
+ return 'fits';
136
+ return required <= budget ? 'tight' : 'exceeds';
137
+ }
138
+ const clampNonNegative = (value) => Math.max(value, 0);
139
+ /**
140
+ * The memory verdict. The weights stay resident (sd-server keeps every file loaded); on top of them
141
+ * the peak of the phase that needs most. Under `group` and `model` offload the parameters live in
142
+ * RAM and each model is copied to the device while it runs, so on unified memory the running
143
+ * model counts twice, and a discrete GPU holds only the running model and its activations; `model`
144
+ * also decodes on the CPU. Undefined when the machine's memory is unknown.
145
+ */
146
+ export function estimateVideoMemory(input) {
147
+ const profile = familyProfile(input.family);
148
+ const totalBytes = input.system.total_memory * MIB;
149
+ if (totalBytes <= 0)
150
+ return undefined;
151
+ const files = input.fileBytes;
152
+ const weights = sum(Object.values(files));
153
+ const transformer = files.diffusionModel ?? 0;
154
+ const vae = files.vae ?? 0;
155
+ const sampling = latentTokens(profile, input.width, input.height, input.frames) * profile.bytesPerToken;
156
+ const decode = vaeDecodePeakBytes(input, profile);
157
+ const pool = memoryPool(input);
158
+ const systemBudget = clampNonNegative(totalBytes - RESERVE_BYTES);
159
+ if (pool === 'system') {
160
+ const required = weights + Math.max(sampling, decode) + OVERHEAD_BYTES;
161
+ return {
162
+ requiredBytes: required,
163
+ budgetBytes: systemBudget,
164
+ pool,
165
+ verdict: verdictOf(required, systemBudget),
166
+ };
167
+ }
168
+ // What the device holds at the peak of each phase, and what stays in host RAM besides.
169
+ let devicePeak;
170
+ let hostRequired;
171
+ if (input.offload === 'none') {
172
+ devicePeak = weights + Math.max(sampling, decode);
173
+ hostRequired = 0;
174
+ }
175
+ else if (input.offload === 'group') {
176
+ devicePeak = Math.max(transformer + sampling, vae + decode);
177
+ hostRequired = weights;
178
+ }
179
+ else {
180
+ devicePeak = transformer + sampling;
181
+ hostRequired = weights + decode;
182
+ }
183
+ if (pool === 'unified') {
184
+ const budget = totalBytes * UNIFIED_BUDGET_SHARE;
185
+ const required = hostRequired + devicePeak + OVERHEAD_BYTES;
186
+ return { requiredBytes: required, budgetBytes: budget, pool, verdict: verdictOf(required, budget) };
187
+ }
188
+ const vramBudget = clampNonNegative(discreteVramBytes(input.system) - RESERVE_BYTES);
189
+ const device = {
190
+ requiredBytes: devicePeak + OVERHEAD_BYTES,
191
+ budgetBytes: vramBudget,
192
+ pool: 'vram',
193
+ };
194
+ const host = { requiredBytes: hostRequired, budgetBytes: systemBudget, pool: 'system' };
195
+ const share = (side) => side.budgetBytes > 0 ? side.requiredBytes / side.budgetBytes : Number.POSITIVE_INFINITY;
196
+ const worse = hostRequired > 0 && share(host) > share(device) ? host : device;
197
+ return { ...worse, verdict: verdictOf(worse.requiredBytes, worse.budgetBytes) };
198
+ }
199
+ /** Less recomputed overlap first, then fewer graphs, then the smaller peak. */
200
+ const cheaper = (a, b) => a.work !== b.work ? a.work < b.work : a.tiles !== b.tiles ? a.tiles < b.tiles : a.peak < b.peak;
201
+ /**
202
+ * How to tile the clip's VAE decode on this machine. One graph over the frame when the whole job
203
+ * then fits (the estimate's `fits`, at most 80 % of the budget), since every tile recomputes its
204
+ * overlap; otherwise the tiling with the least work among those that fit, from one tile per axis
205
+ * down to as many as sd.cpp's own 32-pixel tiles make; and when none fits, the one with the smallest
206
+ * peak. Undefined, so the pixel-frame threshold and sd.cpp's own tiles decide as before, under
207
+ * `model` offload (the engine decodes on the CPU, tiled by its own flag), on the CPU fallback, and
208
+ * when the machine's memory is unknown.
209
+ */
210
+ export function planDecodeTiling(input) {
211
+ if (input.offload === 'model' || input.cpuFallback)
212
+ return undefined;
213
+ const profile = familyProfile(input.family);
214
+ const latent = decodeLatent(input, profile);
215
+ const mostX = tilesAlong(latent.width, Math.min(ENGINE_TILE_LATENT, latent.width));
216
+ const mostY = tilesAlong(latent.height, Math.min(ENGINE_TILE_LATENT, latent.height));
217
+ let fitting;
218
+ let smallest;
219
+ for (let tilesX = 1; tilesX <= mostX; tilesX++) {
220
+ for (let tilesY = 1; tilesY <= mostY; tilesY++) {
221
+ const candidate = { ...input, decodeTiling: { tilesX, tilesY } };
222
+ const memory = estimateVideoMemory(candidate);
223
+ if (!memory)
224
+ return undefined;
225
+ const layout = decodeLayout(candidate, profile);
226
+ const option = {
227
+ tiling: { tilesX, tilesY },
228
+ peak: vaeDecodePeakBytes(candidate, profile),
229
+ work: layout.work,
230
+ tiles: layout.tilesX * layout.tilesY,
231
+ };
232
+ if (memory.verdict === 'fits' && (!fitting || cheaper(option, fitting)))
233
+ fitting = option;
234
+ if (!smallest ||
235
+ option.peak < smallest.peak ||
236
+ (option.peak === smallest.peak && cheaper(option, smallest)))
237
+ smallest = option;
238
+ }
239
+ }
240
+ return (fitting ?? smallest)?.tiling;
241
+ }
242
+ /**
243
+ * Apple Silicon by chip, the lower GPU bin of each (a 30-core M3 Max, not the 40-core), as the
244
+ * ratio of GPU FP32 throughput to the 40-core M3 Max. M5 figures are extrapolated from Apple's own
245
+ * claims, not measured.
246
+ */
247
+ export const APPLE_SILICON_SPEED = {
248
+ 'm1': 0.18,
249
+ 'm1 pro': 0.32,
250
+ 'm1 max': 0.55,
251
+ 'm1 ultra': 1.1,
252
+ 'm2': 0.25,
253
+ 'm2 pro': 0.4,
254
+ 'm2 max': 0.75,
255
+ 'm2 ultra': 1.5,
256
+ 'm3': 0.29,
257
+ 'm3 pro': 0.4,
258
+ 'm3 max': 0.75,
259
+ 'm3 ultra': 1.5,
260
+ 'm4': 0.24,
261
+ 'm4 pro': 0.52,
262
+ 'm4 max': 1.03,
263
+ 'm5': 0.45,
264
+ 'm5 pro': 1.0,
265
+ 'm5 max': 2.0,
266
+ };
267
+ /** An Apple chip the table does not name: the slowest row. */
268
+ export const APPLE_SILICON_FLOOR = 0.18;
269
+ /** Discrete GPUs by the class of their memory (GiB, at least), CUDA; the smallest class is the floor. */
270
+ export const DISCRETE_GPU_SPEED = [
271
+ [30, 7],
272
+ [22, 4],
273
+ [14, 3],
274
+ [10, 2],
275
+ [7, 1.2],
276
+ [0, 0.6],
277
+ ];
278
+ /** sd.cpp's kernels off CUDA: slower on the same silicon. */
279
+ export const BACKEND_SPEED_FACTOR = {
280
+ cuda: 1,
281
+ rocm: 0.7,
282
+ vulkan: 0.6,
283
+ };
284
+ /** The CPU backend, per physical core. */
285
+ export const CPU_CORE_SPEED = 0.006;
286
+ /** A CPU whose core count the probe did not read is taken to have this many. */
287
+ export const CPU_FLOOR_CORES = 4;
288
+ /** `Apple M3 Max` → `m3 max`; anything else → undefined. */
289
+ export function appleChip(cpuName) {
290
+ const match = /\bapple\s+(m\d+)(?:\s+(pro|max|ultra))?\b/i.exec(cpuName);
291
+ if (!match)
292
+ return undefined;
293
+ const [, chip, tier] = match;
294
+ return `${chip.toLowerCase()}${tier ? ` ${tier.toLowerCase()}` : ''}`;
295
+ }
296
+ /** The machine's speed for this backend. Unknown hardware gets the slowest row of its class. */
297
+ export function machineSpeed(input) {
298
+ const { system } = input;
299
+ if (input.cpuFallback || input.backend === 'cpu') {
300
+ const cores = system.cpu.core_count;
301
+ return cores > 0
302
+ ? { speed: cores * CPU_CORE_SPEED, known: true }
303
+ : { speed: CPU_FLOOR_CORES * CPU_CORE_SPEED, known: false };
304
+ }
305
+ if (input.backend === 'metal') {
306
+ const chip = appleChip(system.cpu.name);
307
+ const speed = chip === undefined ? undefined : APPLE_SILICON_SPEED[chip];
308
+ return speed === undefined ? { speed: APPLE_SILICON_FLOOR, known: false } : { speed, known: true };
309
+ }
310
+ const factor = BACKEND_SPEED_FACTOR[input.backend] ?? 1;
311
+ const vram = discreteVramBytes(system);
312
+ const floor = DISCRETE_GPU_SPEED[DISCRETE_GPU_SPEED.length - 1];
313
+ if (vram <= 0)
314
+ return { speed: floor[1] * factor, known: false };
315
+ const row = DISCRETE_GPU_SPEED.find(([gib]) => vram >= gib * GIB) ?? floor;
316
+ return { speed: row[1] * factor, known: true };
317
+ }
318
+ /**
319
+ * What every step costs whatever its size: the graph rebuilt and allocated, the kernels launched.
320
+ * Wall-clock seconds, not scaled by the machine: it keeps a tiny request's step from being forecast
321
+ * at a few milliseconds.
322
+ */
323
+ export const STEP_OVERHEAD_SECONDS = 0.3;
324
+ /**
325
+ * The VAE decode on the Metal device against the table's `decodeSeconds`. ggml's Metal backend has no
326
+ * `IM2COL_3D`, so every 3-D convolution of a video VAE runs the direct `kernel_conv_3d`. The one decode
327
+ * measured, a Wan 2.2 TI2V 5B clip at 704×1280 and 25 frames at 250 s per 32×32-latent tile, is about ten
328
+ * times the table on an M3 Pro to M4 Pro class Mac (ADR 2026-09-30-keep-the-video-eta-past-its-forecast).
329
+ */
330
+ export const METAL_DECODE_FACTOR = 10;
331
+ /**
332
+ * `METAL_DECODE_FACTOR` for an Apple GPU generation measured to differ. M1: an M1 Max decoded a Wan
333
+ * 2.2 TI2V 5B clip at 832×480 × 25 frames in one graph in 2488 s and 2594 s, 8.6–8.9 times the table
334
+ * at the default factor (2026-09-30 and 2026-10-08 runs, ADR
335
+ * 2026-10-09-calibrate-the-video-decode-apart-from-the-steps).
336
+ */
337
+ export const METAL_DECODE_FACTOR_BY_GENERATION = { m1: 87 };
338
+ /** The Metal decode factor for this machine's chip. */
339
+ export function metalDecodeFactor(system) {
340
+ const generation = appleChip(system.cpu.name)?.split(' ')[0];
341
+ return (generation && METAL_DECODE_FACTOR_BY_GENERATION[generation]) || METAL_DECODE_FACTOR;
342
+ }
343
+ /** Whether the decode runs on the Metal device: not on the CPU fallback, and not under `model` offload. */
344
+ const decodesOnMetal = (input) => input.backend === 'metal' && !input.cpuFallback && input.offload !== 'model';
345
+ /** Model passes per step: classifier-free guidance runs the model twice. */
346
+ export const passesPerStep = (cfgScale) => (cfgScale > 1 ? 2 : 1);
347
+ /** The heuristic middle of the job, split into the parts the live ETA uses. */
348
+ export function heuristicParts(input) {
349
+ const profile = familyProfile(input.family);
350
+ const { speed, known } = machineSpeed(input);
351
+ const tokens = latentTokens(profile, input.width, input.height, input.frames);
352
+ const pass = profile.linearSeconds * tokens + profile.attentionSeconds * tokens * tokens;
353
+ const pixelFrames = input.width * input.height * input.frames;
354
+ const decode = ((profile.decodeSeconds * pixelFrames * decodeLayout(input, profile).work) / speed) *
355
+ (decodesOnMetal(input) ? metalDecodeFactor(input.system) : 1);
356
+ return {
357
+ encodeSeconds: profile.encodeSeconds / speed,
358
+ stepSeconds: (pass * passesPerStep(input.cfgScale)) / speed + STEP_OVERHEAD_SECONDS,
359
+ decodeSeconds: decode,
360
+ known: known && VIDEO_FAMILY_PROFILES[input.family] !== undefined,
361
+ };
362
+ }
363
+ /** The heuristic middle of the whole job in seconds; what the history multiplier is measured against. */
364
+ export function heuristicSeconds(input) {
365
+ const parts = heuristicParts(input);
366
+ return parts.encodeSeconds + Math.max(input.steps, 1) * parts.stepSeconds + parts.decodeSeconds;
367
+ }
368
+ const wholeSeconds = (value) => Math.max(Math.round(value), 1);
369
+ /**
370
+ * The estimate and the forecast for `input`. With `multiplier` (this machine's clips ran that many
371
+ * times the heuristic) the middle moves and the range narrows to `HISTORY_BAND`. Undefined when the
372
+ * machine's memory is unknown, which leaves nothing to compare against.
373
+ */
374
+ export function estimateVideoCost(input, multiplier) {
375
+ const memory = estimateVideoMemory(input);
376
+ if (!memory)
377
+ return undefined;
378
+ const parts = heuristicParts(input);
379
+ const basis = multiplier === undefined ? 'heuristic' : 'history';
380
+ const [below, above] = basis === 'history'
381
+ ? HISTORY_BAND
382
+ : parts.known
383
+ ? [1 / HEURISTIC_SPREAD, HEURISTIC_SPREAD]
384
+ : [1 / UNKNOWN_SPREAD, UNKNOWN_SPREAD];
385
+ const encodeSeconds = parts.encodeSeconds * (multiplier?.sampling ?? 1);
386
+ const stepSeconds = parts.stepSeconds * (multiplier?.sampling ?? 1);
387
+ const decodeSeconds = parts.decodeSeconds * (multiplier?.decode ?? 1);
388
+ const totalSeconds = encodeSeconds + Math.max(input.steps, 1) * stepSeconds + decodeSeconds;
389
+ const low = wholeSeconds(totalSeconds * below);
390
+ const seconds = memory.verdict === 'exceeds' ? null : { low, high: Math.max(wholeSeconds(totalSeconds * above), low) };
391
+ return {
392
+ estimate: { memory, seconds, basis },
393
+ forecast: {
394
+ encodeSeconds,
395
+ stepSeconds,
396
+ stepSecondsHigh: stepSeconds * above,
397
+ decodeSeconds,
398
+ totalSeconds,
399
+ },
400
+ };
401
+ }
402
+ //# sourceMappingURL=video-estimate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-estimate.js","sourceRoot":"","sources":["../../src/diffusion/video-estimate.ts"],"names":[],"mappings":"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"}