@atomic-chat/core 0.5.1

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 (868) hide show
  1. package/README.md +46 -0
  2. package/dist/app-daemon.d.ts +2 -0
  3. package/dist/app-daemon.js +72 -0
  4. package/dist/app-daemon.js.map +1 -0
  5. package/dist/backend/catalog/archive.d.ts +70 -0
  6. package/dist/backend/catalog/archive.js +138 -0
  7. package/dist/backend/catalog/archive.js.map +1 -0
  8. package/dist/backend/catalog/bundled-manifest-baseline.d.ts +2 -0
  9. package/dist/backend/catalog/bundled-manifest-baseline.js +49 -0
  10. package/dist/backend/catalog/bundled-manifest-baseline.js.map +1 -0
  11. package/dist/backend/catalog/cuda-family.d.ts +54 -0
  12. package/dist/backend/catalog/cuda-family.js +93 -0
  13. package/dist/backend/catalog/cuda-family.js.map +1 -0
  14. package/dist/backend/catalog/index.d.ts +6 -0
  15. package/dist/backend/catalog/index.js +7 -0
  16. package/dist/backend/catalog/index.js.map +1 -0
  17. package/dist/backend/catalog/manifest.d.ts +102 -0
  18. package/dist/backend/catalog/manifest.js +233 -0
  19. package/dist/backend/catalog/manifest.js.map +1 -0
  20. package/dist/backend/catalog/migrate.d.ts +40 -0
  21. package/dist/backend/catalog/migrate.js +135 -0
  22. package/dist/backend/catalog/migrate.js.map +1 -0
  23. package/dist/backend/index.d.ts +18 -0
  24. package/dist/backend/index.js +19 -0
  25. package/dist/backend/index.js.map +1 -0
  26. package/dist/backend/install/index.d.ts +3 -0
  27. package/dist/backend/install/index.js +4 -0
  28. package/dist/backend/install/index.js.map +1 -0
  29. package/dist/backend/install/runtime-backend.d.ts +22 -0
  30. package/dist/backend/install/runtime-backend.js +95 -0
  31. package/dist/backend/install/runtime-backend.js.map +1 -0
  32. package/dist/backend/install/service.d.ts +119 -0
  33. package/dist/backend/install/service.js +218 -0
  34. package/dist/backend/install/service.js.map +1 -0
  35. package/dist/backend/installed/index.d.ts +3 -0
  36. package/dist/backend/installed/index.js +4 -0
  37. package/dist/backend/installed/index.js.map +1 -0
  38. package/dist/backend/installed/installed.d.ts +93 -0
  39. package/dist/backend/installed/installed.js +209 -0
  40. package/dist/backend/installed/installed.js.map +1 -0
  41. package/dist/backend/installed/scan.d.ts +39 -0
  42. package/dist/backend/installed/scan.js +105 -0
  43. package/dist/backend/installed/scan.js.map +1 -0
  44. package/dist/backend/optimal/index.d.ts +3 -0
  45. package/dist/backend/optimal/index.js +4 -0
  46. package/dist/backend/optimal/index.js.map +1 -0
  47. package/dist/backend/optimal/optimal-cache.d.ts +90 -0
  48. package/dist/backend/optimal/optimal-cache.js +198 -0
  49. package/dist/backend/optimal/optimal-cache.js.map +1 -0
  50. package/dist/backend/optimal/optimal-store.d.ts +24 -0
  51. package/dist/backend/optimal/optimal-store.js +103 -0
  52. package/dist/backend/optimal/optimal-store.js.map +1 -0
  53. package/dist/backend/select/amd-rocm-pci-ids.d.ts +3 -0
  54. package/dist/backend/select/amd-rocm-pci-ids.js +57 -0
  55. package/dist/backend/select/amd-rocm-pci-ids.js.map +1 -0
  56. package/dist/backend/select/categories.d.ts +49 -0
  57. package/dist/backend/select/categories.js +178 -0
  58. package/dist/backend/select/categories.js.map +1 -0
  59. package/dist/backend/select/features.d.ts +81 -0
  60. package/dist/backend/select/features.js +221 -0
  61. package/dist/backend/select/features.js.map +1 -0
  62. package/dist/backend/select/index.d.ts +9 -0
  63. package/dist/backend/select/index.js +10 -0
  64. package/dist/backend/select/index.js.map +1 -0
  65. package/dist/backend/select/recovery.d.ts +51 -0
  66. package/dist/backend/select/recovery.js +108 -0
  67. package/dist/backend/select/recovery.js.map +1 -0
  68. package/dist/backend/select/tiers.d.ts +76 -0
  69. package/dist/backend/select/tiers.js +179 -0
  70. package/dist/backend/select/tiers.js.map +1 -0
  71. package/dist/backend/turboquant.d.ts +134 -0
  72. package/dist/backend/turboquant.js +587 -0
  73. package/dist/backend/turboquant.js.map +1 -0
  74. package/dist/backend/types.d.ts +139 -0
  75. package/dist/backend/types.js +13 -0
  76. package/dist/backend/types.js.map +1 -0
  77. package/dist/backend/version.d.ts +59 -0
  78. package/dist/backend/version.js +168 -0
  79. package/dist/backend/version.js.map +1 -0
  80. package/dist/cli/bin.d.ts +2 -0
  81. package/dist/cli/bin.js +10 -0
  82. package/dist/cli/bin.js.map +1 -0
  83. package/dist/cli/cloud.d.ts +13 -0
  84. package/dist/cli/cloud.js +146 -0
  85. package/dist/cli/cloud.js.map +1 -0
  86. package/dist/cli/commands/daemon.d.ts +4 -0
  87. package/dist/cli/commands/daemon.js +88 -0
  88. package/dist/cli/commands/daemon.js.map +1 -0
  89. package/dist/cli/commands/index.d.ts +16 -0
  90. package/dist/cli/commands/index.js +17 -0
  91. package/dist/cli/commands/index.js.map +1 -0
  92. package/dist/cli/commands/models.d.ts +4 -0
  93. package/dist/cli/commands/models.js +52 -0
  94. package/dist/cli/commands/models.js.map +1 -0
  95. package/dist/cli/commands/serve.d.ts +16 -0
  96. package/dist/cli/commands/serve.js +263 -0
  97. package/dist/cli/commands/serve.js.map +1 -0
  98. package/dist/cli/commands/server.d.ts +4 -0
  99. package/dist/cli/commands/server.js +126 -0
  100. package/dist/cli/commands/server.js.map +1 -0
  101. package/dist/cli/commands/shared.d.ts +10 -0
  102. package/dist/cli/commands/shared.js +34 -0
  103. package/dist/cli/commands/shared.js.map +1 -0
  104. package/dist/cli/commands/shutdown.d.ts +4 -0
  105. package/dist/cli/commands/shutdown.js +32 -0
  106. package/dist/cli/commands/shutdown.js.map +1 -0
  107. package/dist/cli/commands/telemetry.d.ts +8 -0
  108. package/dist/cli/commands/telemetry.js +50 -0
  109. package/dist/cli/commands/telemetry.js.map +1 -0
  110. package/dist/cli/index.d.ts +7 -0
  111. package/dist/cli/index.js +8 -0
  112. package/dist/cli/index.js.map +1 -0
  113. package/dist/cli/io.d.ts +46 -0
  114. package/dist/cli/io.js +101 -0
  115. package/dist/cli/io.js.map +1 -0
  116. package/dist/cli/launch.d.ts +50 -0
  117. package/dist/cli/launch.js +327 -0
  118. package/dist/cli/launch.js.map +1 -0
  119. package/dist/cli/main.d.ts +10 -0
  120. package/dist/cli/main.js +109 -0
  121. package/dist/cli/main.js.map +1 -0
  122. package/dist/cli/owner.d.ts +39 -0
  123. package/dist/cli/owner.js +179 -0
  124. package/dist/cli/owner.js.map +1 -0
  125. package/dist/client/control-client.d.ts +213 -0
  126. package/dist/client/control-client.js +368 -0
  127. package/dist/client/control-client.js.map +1 -0
  128. package/dist/client/index.d.ts +7 -0
  129. package/dist/client/index.js +8 -0
  130. package/dist/client/index.js.map +1 -0
  131. package/dist/cloud/chatgpt.d.ts +63 -0
  132. package/dist/cloud/chatgpt.js +233 -0
  133. package/dist/cloud/chatgpt.js.map +1 -0
  134. package/dist/cloud/index.d.ts +8 -0
  135. package/dist/cloud/index.js +9 -0
  136. package/dist/cloud/index.js.map +1 -0
  137. package/dist/cloud/registry.d.ts +51 -0
  138. package/dist/cloud/registry.js +148 -0
  139. package/dist/cloud/registry.js.map +1 -0
  140. package/dist/config/data-folder.d.ts +57 -0
  141. package/dist/config/data-folder.js +150 -0
  142. package/dist/config/data-folder.js.map +1 -0
  143. package/dist/config/index.d.ts +9 -0
  144. package/dist/config/index.js +10 -0
  145. package/dist/config/index.js.map +1 -0
  146. package/dist/config/paths.d.ts +98 -0
  147. package/dist/config/paths.js +109 -0
  148. package/dist/config/paths.js.map +1 -0
  149. package/dist/contracts/control-api.d.ts +61 -0
  150. package/dist/contracts/control-api.js +7 -0
  151. package/dist/contracts/control-api.js.map +1 -0
  152. package/dist/contracts/diffusion.d.ts +477 -0
  153. package/dist/contracts/diffusion.js +10 -0
  154. package/dist/contracts/diffusion.js.map +1 -0
  155. package/dist/contracts/errors.d.ts +61 -0
  156. package/dist/contracts/errors.js +70 -0
  157. package/dist/contracts/errors.js.map +1 -0
  158. package/dist/contracts/events.d.ts +270 -0
  159. package/dist/contracts/events.js +7 -0
  160. package/dist/contracts/events.js.map +1 -0
  161. package/dist/contracts/hardware.d.ts +53 -0
  162. package/dist/contracts/hardware.js +12 -0
  163. package/dist/contracts/hardware.js.map +1 -0
  164. package/dist/contracts/index.d.ts +12 -0
  165. package/dist/contracts/index.js +13 -0
  166. package/dist/contracts/index.js.map +1 -0
  167. package/dist/contracts/model-yml.d.ts +28 -0
  168. package/dist/contracts/model-yml.js +23 -0
  169. package/dist/contracts/model-yml.js.map +1 -0
  170. package/dist/contracts/remote-access.d.ts +43 -0
  171. package/dist/contracts/remote-access.js +12 -0
  172. package/dist/contracts/remote-access.js.map +1 -0
  173. package/dist/contracts/session.d.ts +39 -0
  174. package/dist/contracts/session.js +7 -0
  175. package/dist/contracts/session.js.map +1 -0
  176. package/dist/contracts/settings.d.ts +106 -0
  177. package/dist/contracts/settings.js +17 -0
  178. package/dist/contracts/settings.js.map +1 -0
  179. package/dist/core/atomic-core.d.ts +149 -0
  180. package/dist/core/atomic-core.js +289 -0
  181. package/dist/core/atomic-core.js.map +1 -0
  182. package/dist/core/create.d.ts +12 -0
  183. package/dist/core/create.js +393 -0
  184. package/dist/core/create.js.map +1 -0
  185. package/dist/core/index.d.ts +10 -0
  186. package/dist/core/index.js +9 -0
  187. package/dist/core/index.js.map +1 -0
  188. package/dist/core/public-server.d.ts +76 -0
  189. package/dist/core/public-server.js +143 -0
  190. package/dist/core/public-server.js.map +1 -0
  191. package/dist/core/reap-orphans.d.ts +7 -0
  192. package/dist/core/reap-orphans.js +40 -0
  193. package/dist/core/reap-orphans.js.map +1 -0
  194. package/dist/core/sessions.d.ts +60 -0
  195. package/dist/core/sessions.js +180 -0
  196. package/dist/core/sessions.js.map +1 -0
  197. package/dist/core/types.d.ts +61 -0
  198. package/dist/core/types.js +2 -0
  199. package/dist/core/types.js.map +1 -0
  200. package/dist/credentials/api-keys.d.ts +41 -0
  201. package/dist/credentials/api-keys.js +156 -0
  202. package/dist/credentials/api-keys.js.map +1 -0
  203. package/dist/credentials/chatgpt-auth.d.ts +73 -0
  204. package/dist/credentials/chatgpt-auth.js +167 -0
  205. package/dist/credentials/chatgpt-auth.js.map +1 -0
  206. package/dist/credentials/chatgpt-oauth.d.ts +97 -0
  207. package/dist/credentials/chatgpt-oauth.js +329 -0
  208. package/dist/credentials/chatgpt-oauth.js.map +1 -0
  209. package/dist/credentials/chatgpt-store.d.ts +33 -0
  210. package/dist/credentials/chatgpt-store.js +110 -0
  211. package/dist/credentials/chatgpt-store.js.map +1 -0
  212. package/dist/credentials/index.d.ts +11 -0
  213. package/dist/credentials/index.js +12 -0
  214. package/dist/credentials/index.js.map +1 -0
  215. package/dist/diffusion/args.d.ts +102 -0
  216. package/dist/diffusion/args.js +291 -0
  217. package/dist/diffusion/args.js.map +1 -0
  218. package/dist/diffusion/compat.d.ts +20 -0
  219. package/dist/diffusion/compat.js +58 -0
  220. package/dist/diffusion/compat.js.map +1 -0
  221. package/dist/diffusion/containment.d.ts +15 -0
  222. package/dist/diffusion/containment.js +32 -0
  223. package/dist/diffusion/containment.js.map +1 -0
  224. package/dist/diffusion/errors.d.ts +28 -0
  225. package/dist/diffusion/errors.js +63 -0
  226. package/dist/diffusion/errors.js.map +1 -0
  227. package/dist/diffusion/gallery.d.ts +76 -0
  228. package/dist/diffusion/gallery.js +307 -0
  229. package/dist/diffusion/gallery.js.map +1 -0
  230. package/dist/diffusion/http.d.ts +16 -0
  231. package/dist/diffusion/http.js +41 -0
  232. package/dist/diffusion/http.js.map +1 -0
  233. package/dist/diffusion/idle.d.ts +23 -0
  234. package/dist/diffusion/idle.js +45 -0
  235. package/dist/diffusion/idle.js.map +1 -0
  236. package/dist/diffusion/image-job.d.ts +25 -0
  237. package/dist/diffusion/image-job.js +176 -0
  238. package/dist/diffusion/image-job.js.map +1 -0
  239. package/dist/diffusion/index.d.ts +35 -0
  240. package/dist/diffusion/index.js +36 -0
  241. package/dist/diffusion/index.js.map +1 -0
  242. package/dist/diffusion/install.d.ts +61 -0
  243. package/dist/diffusion/install.js +287 -0
  244. package/dist/diffusion/install.js.map +1 -0
  245. package/dist/diffusion/job-kind.d.ts +74 -0
  246. package/dist/diffusion/job-kind.js +7 -0
  247. package/dist/diffusion/job-kind.js.map +1 -0
  248. package/dist/diffusion/jobs.d.ts +90 -0
  249. package/dist/diffusion/jobs.js +433 -0
  250. package/dist/diffusion/jobs.js.map +1 -0
  251. package/dist/diffusion/mutex.d.ts +16 -0
  252. package/dist/diffusion/mutex.js +46 -0
  253. package/dist/diffusion/mutex.js.map +1 -0
  254. package/dist/diffusion/parse.d.ts +19 -0
  255. package/dist/diffusion/parse.js +274 -0
  256. package/dist/diffusion/parse.js.map +1 -0
  257. package/dist/diffusion/png.d.ts +77 -0
  258. package/dist/diffusion/png.js +335 -0
  259. package/dist/diffusion/png.js.map +1 -0
  260. package/dist/diffusion/progress.d.ts +74 -0
  261. package/dist/diffusion/progress.js +223 -0
  262. package/dist/diffusion/progress.js.map +1 -0
  263. package/dist/diffusion/recipe.d.ts +26 -0
  264. package/dist/diffusion/recipe.js +206 -0
  265. package/dist/diffusion/recipe.js.map +1 -0
  266. package/dist/diffusion/server-process.d.ts +59 -0
  267. package/dist/diffusion/server-process.js +235 -0
  268. package/dist/diffusion/server-process.js.map +1 -0
  269. package/dist/diffusion/service.d.ts +107 -0
  270. package/dist/diffusion/service.js +431 -0
  271. package/dist/diffusion/service.js.map +1 -0
  272. package/dist/diffusion/session.d.ts +58 -0
  273. package/dist/diffusion/session.js +226 -0
  274. package/dist/diffusion/session.js.map +1 -0
  275. package/dist/diffusion/state.d.ts +90 -0
  276. package/dist/diffusion/state.js +122 -0
  277. package/dist/diffusion/state.js.map +1 -0
  278. package/dist/diffusion/tracker.d.ts +46 -0
  279. package/dist/diffusion/tracker.js +153 -0
  280. package/dist/diffusion/tracker.js.map +1 -0
  281. package/dist/diffusion/types.d.ts +62 -0
  282. package/dist/diffusion/types.js +10 -0
  283. package/dist/diffusion/types.js.map +1 -0
  284. package/dist/diffusion/validate.d.ts +36 -0
  285. package/dist/diffusion/validate.js +166 -0
  286. package/dist/diffusion/validate.js.map +1 -0
  287. package/dist/diffusion/video-gallery.d.ts +56 -0
  288. package/dist/diffusion/video-gallery.js +252 -0
  289. package/dist/diffusion/video-gallery.js.map +1 -0
  290. package/dist/diffusion/video-job.d.ts +33 -0
  291. package/dist/diffusion/video-job.js +150 -0
  292. package/dist/diffusion/video-job.js.map +1 -0
  293. package/dist/diffusion/video-recipe.d.ts +12 -0
  294. package/dist/diffusion/video-recipe.js +141 -0
  295. package/dist/diffusion/video-recipe.js.map +1 -0
  296. package/dist/diffusion/wiring.d.ts +24 -0
  297. package/dist/diffusion/wiring.js +38 -0
  298. package/dist/diffusion/wiring.js.map +1 -0
  299. package/dist/diffusion/workflow.d.ts +33 -0
  300. package/dist/diffusion/workflow.js +78 -0
  301. package/dist/diffusion/workflow.js.map +1 -0
  302. package/dist/downloads/archive.d.ts +15 -0
  303. package/dist/downloads/archive.js +121 -0
  304. package/dist/downloads/archive.js.map +1 -0
  305. package/dist/downloads/disk-space.d.ts +18 -0
  306. package/dist/downloads/disk-space.js +32 -0
  307. package/dist/downloads/disk-space.js.map +1 -0
  308. package/dist/downloads/disk.d.ts +38 -0
  309. package/dist/downloads/disk.js +88 -0
  310. package/dist/downloads/disk.js.map +1 -0
  311. package/dist/downloads/downloader.d.ts +75 -0
  312. package/dist/downloads/downloader.js +479 -0
  313. package/dist/downloads/downloader.js.map +1 -0
  314. package/dist/downloads/index.d.ts +14 -0
  315. package/dist/downloads/index.js +15 -0
  316. package/dist/downloads/index.js.map +1 -0
  317. package/dist/downloads/protocol.d.ts +52 -0
  318. package/dist/downloads/protocol.js +153 -0
  319. package/dist/downloads/protocol.js.map +1 -0
  320. package/dist/downloads/proxy-fetch.d.ts +45 -0
  321. package/dist/downloads/proxy-fetch.js +571 -0
  322. package/dist/downloads/proxy-fetch.js.map +1 -0
  323. package/dist/downloads/verify.d.ts +22 -0
  324. package/dist/downloads/verify.js +74 -0
  325. package/dist/downloads/verify.js.map +1 -0
  326. package/dist/events/emitter.d.ts +44 -0
  327. package/dist/events/emitter.js +104 -0
  328. package/dist/events/emitter.js.map +1 -0
  329. package/dist/events/index.d.ts +5 -0
  330. package/dist/events/index.js +6 -0
  331. package/dist/events/index.js.map +1 -0
  332. package/dist/hardware/index.d.ts +7 -0
  333. package/dist/hardware/index.js +8 -0
  334. package/dist/hardware/index.js.map +1 -0
  335. package/dist/hardware/override.d.ts +46 -0
  336. package/dist/hardware/override.js +81 -0
  337. package/dist/hardware/override.js.map +1 -0
  338. package/dist/host/index.d.ts +15 -0
  339. package/dist/host/index.js +16 -0
  340. package/dist/host/index.js.map +1 -0
  341. package/dist/index.d.ts +5 -0
  342. package/dist/index.js +6 -0
  343. package/dist/index.js.map +1 -0
  344. package/dist/integrations/catalog.d.ts +67 -0
  345. package/dist/integrations/catalog.js +385 -0
  346. package/dist/integrations/catalog.js.map +1 -0
  347. package/dist/integrations/config-io.d.ts +86 -0
  348. package/dist/integrations/config-io.js +229 -0
  349. package/dist/integrations/config-io.js.map +1 -0
  350. package/dist/integrations/configure/atomic-agent.d.ts +33 -0
  351. package/dist/integrations/configure/atomic-agent.js +127 -0
  352. package/dist/integrations/configure/atomic-agent.js.map +1 -0
  353. package/dist/integrations/configure/claude-code.d.ts +16 -0
  354. package/dist/integrations/configure/claude-code.js +45 -0
  355. package/dist/integrations/configure/claude-code.js.map +1 -0
  356. package/dist/integrations/configure/cline.d.ts +28 -0
  357. package/dist/integrations/configure/cline.js +70 -0
  358. package/dist/integrations/configure/cline.js.map +1 -0
  359. package/dist/integrations/configure/codex.d.ts +17 -0
  360. package/dist/integrations/configure/codex.js +43 -0
  361. package/dist/integrations/configure/codex.js.map +1 -0
  362. package/dist/integrations/configure/copilot.d.ts +10 -0
  363. package/dist/integrations/configure/copilot.js +14 -0
  364. package/dist/integrations/configure/copilot.js.map +1 -0
  365. package/dist/integrations/configure/droid.d.ts +12 -0
  366. package/dist/integrations/configure/droid.js +47 -0
  367. package/dist/integrations/configure/droid.js.map +1 -0
  368. package/dist/integrations/configure/dsh.d.ts +34 -0
  369. package/dist/integrations/configure/dsh.js +146 -0
  370. package/dist/integrations/configure/dsh.js.map +1 -0
  371. package/dist/integrations/configure/env-agent.d.ts +26 -0
  372. package/dist/integrations/configure/env-agent.js +41 -0
  373. package/dist/integrations/configure/env-agent.js.map +1 -0
  374. package/dist/integrations/configure/goose.d.ts +12 -0
  375. package/dist/integrations/configure/goose.js +16 -0
  376. package/dist/integrations/configure/goose.js.map +1 -0
  377. package/dist/integrations/configure/hermes.d.ts +41 -0
  378. package/dist/integrations/configure/hermes.js +247 -0
  379. package/dist/integrations/configure/hermes.js.map +1 -0
  380. package/dist/integrations/configure/index.d.ts +25 -0
  381. package/dist/integrations/configure/index.js +26 -0
  382. package/dist/integrations/configure/index.js.map +1 -0
  383. package/dist/integrations/configure/json-tree.d.ts +16 -0
  384. package/dist/integrations/configure/json-tree.js +19 -0
  385. package/dist/integrations/configure/json-tree.js.map +1 -0
  386. package/dist/integrations/configure/kilo.d.ts +9 -0
  387. package/dist/integrations/configure/kilo.js +19 -0
  388. package/dist/integrations/configure/kilo.js.map +1 -0
  389. package/dist/integrations/configure/mimo.d.ts +9 -0
  390. package/dist/integrations/configure/mimo.js +19 -0
  391. package/dist/integrations/configure/mimo.js.map +1 -0
  392. package/dist/integrations/configure/muse.d.ts +9 -0
  393. package/dist/integrations/configure/muse.js +13 -0
  394. package/dist/integrations/configure/muse.js.map +1 -0
  395. package/dist/integrations/configure/openclaude.d.ts +13 -0
  396. package/dist/integrations/configure/openclaude.js +56 -0
  397. package/dist/integrations/configure/openclaude.js.map +1 -0
  398. package/dist/integrations/configure/openclaw.d.ts +24 -0
  399. package/dist/integrations/configure/openclaw.js +99 -0
  400. package/dist/integrations/configure/openclaw.js.map +1 -0
  401. package/dist/integrations/configure/opencode-style.d.ts +25 -0
  402. package/dist/integrations/configure/opencode-style.js +43 -0
  403. package/dist/integrations/configure/opencode-style.js.map +1 -0
  404. package/dist/integrations/configure/opencode.d.ts +9 -0
  405. package/dist/integrations/configure/opencode.js +19 -0
  406. package/dist/integrations/configure/opencode.js.map +1 -0
  407. package/dist/integrations/configure/openhands.d.ts +8 -0
  408. package/dist/integrations/configure/openhands.js +12 -0
  409. package/dist/integrations/configure/openhands.js.map +1 -0
  410. package/dist/integrations/configure/pi.d.ts +14 -0
  411. package/dist/integrations/configure/pi.js +49 -0
  412. package/dist/integrations/configure/pi.js.map +1 -0
  413. package/dist/integrations/configure/poolside.d.ts +8 -0
  414. package/dist/integrations/configure/poolside.js +12 -0
  415. package/dist/integrations/configure/poolside.js.map +1 -0
  416. package/dist/integrations/configure/registry.d.ts +41 -0
  417. package/dist/integrations/configure/registry.js +50 -0
  418. package/dist/integrations/configure/registry.js.map +1 -0
  419. package/dist/integrations/configure/zcode.d.ts +59 -0
  420. package/dist/integrations/configure/zcode.js +260 -0
  421. package/dist/integrations/configure/zcode.js.map +1 -0
  422. package/dist/integrations/configure/zed.d.ts +16 -0
  423. package/dist/integrations/configure/zed.js +61 -0
  424. package/dist/integrations/configure/zed.js.map +1 -0
  425. package/dist/integrations/detect.d.ts +29 -0
  426. package/dist/integrations/detect.js +43 -0
  427. package/dist/integrations/detect.js.map +1 -0
  428. package/dist/integrations/index.d.ts +9 -0
  429. package/dist/integrations/index.js +10 -0
  430. package/dist/integrations/index.js.map +1 -0
  431. package/dist/lock/control-token.d.ts +19 -0
  432. package/dist/lock/control-token.js +58 -0
  433. package/dist/lock/control-token.js.map +1 -0
  434. package/dist/lock/index.d.ts +10 -0
  435. package/dist/lock/index.js +11 -0
  436. package/dist/lock/index.js.map +1 -0
  437. package/dist/lock/instance-lock.d.ts +93 -0
  438. package/dist/lock/instance-lock.js +244 -0
  439. package/dist/lock/instance-lock.js.map +1 -0
  440. package/dist/lock/legacy-guard.d.ts +46 -0
  441. package/dist/lock/legacy-guard.js +87 -0
  442. package/dist/lock/legacy-guard.js.map +1 -0
  443. package/dist/lock/model-claim.d.ts +20 -0
  444. package/dist/lock/model-claim.js +84 -0
  445. package/dist/lock/model-claim.js.map +1 -0
  446. package/dist/lock/process-identity.d.ts +48 -0
  447. package/dist/lock/process-identity.js +180 -0
  448. package/dist/lock/process-identity.js.map +1 -0
  449. package/dist/lock/process-journal.d.ts +56 -0
  450. package/dist/lock/process-journal.js +113 -0
  451. package/dist/lock/process-journal.js.map +1 -0
  452. package/dist/models/capabilities.d.ts +73 -0
  453. package/dist/models/capabilities.js +123 -0
  454. package/dist/models/capabilities.js.map +1 -0
  455. package/dist/models/embed.d.ts +30 -0
  456. package/dist/models/embed.js +83 -0
  457. package/dist/models/embed.js.map +1 -0
  458. package/dist/models/gguf/classify.d.ts +29 -0
  459. package/dist/models/gguf/classify.js +89 -0
  460. package/dist/models/gguf/classify.js.map +1 -0
  461. package/dist/models/gguf/index.d.ts +5 -0
  462. package/dist/models/gguf/index.js +6 -0
  463. package/dist/models/gguf/index.js.map +1 -0
  464. package/dist/models/gguf/kv-cache.d.ts +27 -0
  465. package/dist/models/gguf/kv-cache.js +101 -0
  466. package/dist/models/gguf/kv-cache.js.map +1 -0
  467. package/dist/models/gguf/read-file.d.ts +11 -0
  468. package/dist/models/gguf/read-file.js +21 -0
  469. package/dist/models/gguf/read-file.js.map +1 -0
  470. package/dist/models/gguf/reader.d.ts +40 -0
  471. package/dist/models/gguf/reader.js +271 -0
  472. package/dist/models/gguf/reader.js.map +1 -0
  473. package/dist/models/gguf/support.d.ts +47 -0
  474. package/dist/models/gguf/support.js +48 -0
  475. package/dist/models/gguf/support.js.map +1 -0
  476. package/dist/models/hf.d.ts +35 -0
  477. package/dist/models/hf.js +140 -0
  478. package/dist/models/hf.js.map +1 -0
  479. package/dist/models/index.d.ts +14 -0
  480. package/dist/models/index.js +15 -0
  481. package/dist/models/index.js.map +1 -0
  482. package/dist/models/model-yml.d.ts +22 -0
  483. package/dist/models/model-yml.js +63 -0
  484. package/dist/models/model-yml.js.map +1 -0
  485. package/dist/models/registry.d.ts +51 -0
  486. package/dist/models/registry.js +102 -0
  487. package/dist/models/registry.js.map +1 -0
  488. package/dist/models/shards.d.ts +20 -0
  489. package/dist/models/shards.js +46 -0
  490. package/dist/models/shards.js.map +1 -0
  491. package/dist/remote-access/cloudflared-args.d.ts +41 -0
  492. package/dist/remote-access/cloudflared-args.js +59 -0
  493. package/dist/remote-access/cloudflared-args.js.map +1 -0
  494. package/dist/remote-access/cloudflared-output.d.ts +26 -0
  495. package/dist/remote-access/cloudflared-output.js +51 -0
  496. package/dist/remote-access/cloudflared-output.js.map +1 -0
  497. package/dist/remote-access/index.d.ts +16 -0
  498. package/dist/remote-access/index.js +17 -0
  499. package/dist/remote-access/index.js.map +1 -0
  500. package/dist/remote-access/journal.d.ts +63 -0
  501. package/dist/remote-access/journal.js +140 -0
  502. package/dist/remote-access/journal.js.map +1 -0
  503. package/dist/remote-access/lan-probe.d.ts +28 -0
  504. package/dist/remote-access/lan-probe.js +63 -0
  505. package/dist/remote-access/lan-probe.js.map +1 -0
  506. package/dist/remote-access/lan.d.ts +31 -0
  507. package/dist/remote-access/lan.js +90 -0
  508. package/dist/remote-access/lan.js.map +1 -0
  509. package/dist/remote-access/manager.d.ts +111 -0
  510. package/dist/remote-access/manager.js +316 -0
  511. package/dist/remote-access/manager.js.map +1 -0
  512. package/dist/remote-access/probe.d.ts +92 -0
  513. package/dist/remote-access/probe.js +186 -0
  514. package/dist/remote-access/probe.js.map +1 -0
  515. package/dist/remote-access/process.d.ts +66 -0
  516. package/dist/remote-access/process.js +160 -0
  517. package/dist/remote-access/process.js.map +1 -0
  518. package/dist/remote-access/spawner.d.ts +25 -0
  519. package/dist/remote-access/spawner.js +49 -0
  520. package/dist/remote-access/spawner.js.map +1 -0
  521. package/dist/remote-access/status.d.ts +39 -0
  522. package/dist/remote-access/status.js +49 -0
  523. package/dist/remote-access/status.js.map +1 -0
  524. package/dist/remote-access/wiring.d.ts +34 -0
  525. package/dist/remote-access/wiring.js +47 -0
  526. package/dist/remote-access/wiring.js.map +1 -0
  527. package/dist/router/index.d.ts +7 -0
  528. package/dist/router/index.js +8 -0
  529. package/dist/router/index.js.map +1 -0
  530. package/dist/router/resolve.d.ts +41 -0
  531. package/dist/router/resolve.js +53 -0
  532. package/dist/router/resolve.js.map +1 -0
  533. package/dist/runtime/foundation-models/errors.d.ts +28 -0
  534. package/dist/runtime/foundation-models/errors.js +48 -0
  535. package/dist/runtime/foundation-models/errors.js.map +1 -0
  536. package/dist/runtime/foundation-models/index.d.ts +8 -0
  537. package/dist/runtime/foundation-models/index.js +9 -0
  538. package/dist/runtime/foundation-models/index.js.map +1 -0
  539. package/dist/runtime/foundation-models/runtime.d.ts +73 -0
  540. package/dist/runtime/foundation-models/runtime.js +186 -0
  541. package/dist/runtime/foundation-models/runtime.js.map +1 -0
  542. package/dist/runtime/index.d.ts +5 -0
  543. package/dist/runtime/index.js +6 -0
  544. package/dist/runtime/index.js.map +1 -0
  545. package/dist/runtime/llamacpp/args.d.ts +90 -0
  546. package/dist/runtime/llamacpp/args.js +379 -0
  547. package/dist/runtime/llamacpp/args.js.map +1 -0
  548. package/dist/runtime/llamacpp/ctx-ladder.d.ts +16 -0
  549. package/dist/runtime/llamacpp/ctx-ladder.js +28 -0
  550. package/dist/runtime/llamacpp/ctx-ladder.js.map +1 -0
  551. package/dist/runtime/llamacpp/devices.d.ts +26 -0
  552. package/dist/runtime/llamacpp/devices.js +86 -0
  553. package/dist/runtime/llamacpp/devices.js.map +1 -0
  554. package/dist/runtime/llamacpp/errors.d.ts +34 -0
  555. package/dist/runtime/llamacpp/errors.js +137 -0
  556. package/dist/runtime/llamacpp/errors.js.map +1 -0
  557. package/dist/runtime/llamacpp/index.d.ts +14 -0
  558. package/dist/runtime/llamacpp/index.js +15 -0
  559. package/dist/runtime/llamacpp/index.js.map +1 -0
  560. package/dist/runtime/llamacpp/load-plan.d.ts +113 -0
  561. package/dist/runtime/llamacpp/load-plan.js +259 -0
  562. package/dist/runtime/llamacpp/load-plan.js.map +1 -0
  563. package/dist/runtime/llamacpp/policy.d.ts +70 -0
  564. package/dist/runtime/llamacpp/policy.js +191 -0
  565. package/dist/runtime/llamacpp/policy.js.map +1 -0
  566. package/dist/runtime/llamacpp/probe.d.ts +13 -0
  567. package/dist/runtime/llamacpp/probe.js +35 -0
  568. package/dist/runtime/llamacpp/probe.js.map +1 -0
  569. package/dist/runtime/llamacpp/runtime-device.d.ts +33 -0
  570. package/dist/runtime/llamacpp/runtime-device.js +169 -0
  571. package/dist/runtime/llamacpp/runtime-device.js.map +1 -0
  572. package/dist/runtime/llamacpp/runtime.d.ts +151 -0
  573. package/dist/runtime/llamacpp/runtime.js +535 -0
  574. package/dist/runtime/llamacpp/runtime.js.map +1 -0
  575. package/dist/runtime/mlx/args.d.ts +10 -0
  576. package/dist/runtime/mlx/args.js +44 -0
  577. package/dist/runtime/mlx/args.js.map +1 -0
  578. package/dist/runtime/mlx/config.d.ts +71 -0
  579. package/dist/runtime/mlx/config.js +91 -0
  580. package/dist/runtime/mlx/config.js.map +1 -0
  581. package/dist/runtime/mlx/errors.d.ts +21 -0
  582. package/dist/runtime/mlx/errors.js +73 -0
  583. package/dist/runtime/mlx/errors.js.map +1 -0
  584. package/dist/runtime/mlx/index.d.ts +12 -0
  585. package/dist/runtime/mlx/index.js +13 -0
  586. package/dist/runtime/mlx/index.js.map +1 -0
  587. package/dist/runtime/mlx/model-files.d.ts +29 -0
  588. package/dist/runtime/mlx/model-files.js +82 -0
  589. package/dist/runtime/mlx/model-files.js.map +1 -0
  590. package/dist/runtime/mlx/runtime.d.ts +77 -0
  591. package/dist/runtime/mlx/runtime.js +223 -0
  592. package/dist/runtime/mlx/runtime.js.map +1 -0
  593. package/dist/runtime/mlx/shard-repair.d.ts +25 -0
  594. package/dist/runtime/mlx/shard-repair.js +44 -0
  595. package/dist/runtime/mlx/shard-repair.js.map +1 -0
  596. package/dist/runtime/shared/env.d.ts +49 -0
  597. package/dist/runtime/shared/env.js +155 -0
  598. package/dist/runtime/shared/env.js.map +1 -0
  599. package/dist/runtime/shared/external-sessions.d.ts +67 -0
  600. package/dist/runtime/shared/external-sessions.js +155 -0
  601. package/dist/runtime/shared/external-sessions.js.map +1 -0
  602. package/dist/runtime/shared/index.d.ts +17 -0
  603. package/dist/runtime/shared/index.js +18 -0
  604. package/dist/runtime/shared/index.js.map +1 -0
  605. package/dist/runtime/shared/load-cancel.d.ts +45 -0
  606. package/dist/runtime/shared/load-cancel.js +95 -0
  607. package/dist/runtime/shared/load-cancel.js.map +1 -0
  608. package/dist/runtime/shared/local-runtime.d.ts +68 -0
  609. package/dist/runtime/shared/local-runtime.js +12 -0
  610. package/dist/runtime/shared/local-runtime.js.map +1 -0
  611. package/dist/runtime/shared/log-stream.d.ts +4 -0
  612. package/dist/runtime/shared/log-stream.js +28 -0
  613. package/dist/runtime/shared/log-stream.js.map +1 -0
  614. package/dist/runtime/shared/paths.d.ts +21 -0
  615. package/dist/runtime/shared/paths.js +63 -0
  616. package/dist/runtime/shared/paths.js.map +1 -0
  617. package/dist/runtime/shared/ports.d.ts +26 -0
  618. package/dist/runtime/shared/ports.js +45 -0
  619. package/dist/runtime/shared/ports.js.map +1 -0
  620. package/dist/runtime/shared/process.d.ts +95 -0
  621. package/dist/runtime/shared/process.js +224 -0
  622. package/dist/runtime/shared/process.js.map +1 -0
  623. package/dist/runtime/shared/sidecar.d.ts +86 -0
  624. package/dist/runtime/shared/sidecar.js +214 -0
  625. package/dist/runtime/shared/sidecar.js.map +1 -0
  626. package/dist/server/clients.d.ts +40 -0
  627. package/dist/server/clients.js +74 -0
  628. package/dist/server/clients.js.map +1 -0
  629. package/dist/server/control/index.d.ts +12 -0
  630. package/dist/server/control/index.js +12 -0
  631. package/dist/server/control/index.js.map +1 -0
  632. package/dist/server/control/router.d.ts +9 -0
  633. package/dist/server/control/router.js +61 -0
  634. package/dist/server/control/router.js.map +1 -0
  635. package/dist/server/control/routes/backends.d.ts +4 -0
  636. package/dist/server/control/routes/backends.js +47 -0
  637. package/dist/server/control/routes/backends.js.map +1 -0
  638. package/dist/server/control/routes/clients.d.ts +4 -0
  639. package/dist/server/control/routes/clients.js +30 -0
  640. package/dist/server/control/routes/clients.js.map +1 -0
  641. package/dist/server/control/routes/cloud.d.ts +4 -0
  642. package/dist/server/control/routes/cloud.js +32 -0
  643. package/dist/server/control/routes/cloud.js.map +1 -0
  644. package/dist/server/control/routes/diffusion-video.d.ts +10 -0
  645. package/dist/server/control/routes/diffusion-video.js +33 -0
  646. package/dist/server/control/routes/diffusion-video.js.map +1 -0
  647. package/dist/server/control/routes/diffusion.d.ts +15 -0
  648. package/dist/server/control/routes/diffusion.js +71 -0
  649. package/dist/server/control/routes/diffusion.js.map +1 -0
  650. package/dist/server/control/routes/disk.d.ts +4 -0
  651. package/dist/server/control/routes/disk.js +11 -0
  652. package/dist/server/control/routes/disk.js.map +1 -0
  653. package/dist/server/control/routes/external-sessions.d.ts +4 -0
  654. package/dist/server/control/routes/external-sessions.js +27 -0
  655. package/dist/server/control/routes/external-sessions.js.map +1 -0
  656. package/dist/server/control/routes/hardware.d.ts +4 -0
  657. package/dist/server/control/routes/hardware.js +14 -0
  658. package/dist/server/control/routes/hardware.js.map +1 -0
  659. package/dist/server/control/routes/lifecycle.d.ts +12 -0
  660. package/dist/server/control/routes/lifecycle.js +67 -0
  661. package/dist/server/control/routes/lifecycle.js.map +1 -0
  662. package/dist/server/control/routes/models.d.ts +7 -0
  663. package/dist/server/control/routes/models.js +59 -0
  664. package/dist/server/control/routes/models.js.map +1 -0
  665. package/dist/server/control/routes/public-server.d.ts +4 -0
  666. package/dist/server/control/routes/public-server.js +30 -0
  667. package/dist/server/control/routes/public-server.js.map +1 -0
  668. package/dist/server/control/routes/remote-access.d.ts +7 -0
  669. package/dist/server/control/routes/remote-access.js +16 -0
  670. package/dist/server/control/routes/remote-access.js.map +1 -0
  671. package/dist/server/control/routes/settings.d.ts +4 -0
  672. package/dist/server/control/routes/settings.js +58 -0
  673. package/dist/server/control/routes/settings.js.map +1 -0
  674. package/dist/server/control/routes/telemetry.d.ts +7 -0
  675. package/dist/server/control/routes/telemetry.js +46 -0
  676. package/dist/server/control/routes/telemetry.js.map +1 -0
  677. package/dist/server/control/server.d.ts +26 -0
  678. package/dist/server/control/server.js +111 -0
  679. package/dist/server/control/server.js.map +1 -0
  680. package/dist/server/control/types.d.ts +271 -0
  681. package/dist/server/control/types.js +6 -0
  682. package/dist/server/control/types.js.map +1 -0
  683. package/dist/server/http.d.ts +62 -0
  684. package/dist/server/http.js +220 -0
  685. package/dist/server/http.js.map +1 -0
  686. package/dist/server/index.d.ts +9 -0
  687. package/dist/server/index.js +10 -0
  688. package/dist/server/index.js.map +1 -0
  689. package/dist/server/public/ctx.d.ts +23 -0
  690. package/dist/server/public/ctx.js +42 -0
  691. package/dist/server/public/ctx.js.map +1 -0
  692. package/dist/server/public/dynamic-hosts.d.ts +40 -0
  693. package/dist/server/public/dynamic-hosts.js +117 -0
  694. package/dist/server/public/dynamic-hosts.js.map +1 -0
  695. package/dist/server/public/errors.d.ts +36 -0
  696. package/dist/server/public/errors.js +120 -0
  697. package/dist/server/public/errors.js.map +1 -0
  698. package/dist/server/public/exchange.d.ts +42 -0
  699. package/dist/server/public/exchange.js +85 -0
  700. package/dist/server/public/exchange.js.map +1 -0
  701. package/dist/server/public/forward.d.ts +53 -0
  702. package/dist/server/public/forward.js +448 -0
  703. package/dist/server/public/forward.js.map +1 -0
  704. package/dist/server/public/gates.d.ts +49 -0
  705. package/dist/server/public/gates.js +181 -0
  706. package/dist/server/public/gates.js.map +1 -0
  707. package/dist/server/public/images-params.d.ts +50 -0
  708. package/dist/server/public/images-params.js +162 -0
  709. package/dist/server/public/images-params.js.map +1 -0
  710. package/dist/server/public/images.d.ts +12 -0
  711. package/dist/server/public/images.js +96 -0
  712. package/dist/server/public/images.js.map +1 -0
  713. package/dist/server/public/index.d.ts +58 -0
  714. package/dist/server/public/index.js +253 -0
  715. package/dist/server/public/index.js.map +1 -0
  716. package/dist/server/public/listing.d.ts +27 -0
  717. package/dist/server/public/listing.js +116 -0
  718. package/dist/server/public/listing.js.map +1 -0
  719. package/dist/server/public/responses.d.ts +11 -0
  720. package/dist/server/public/responses.js +158 -0
  721. package/dist/server/public/responses.js.map +1 -0
  722. package/dist/server/public/sse.d.ts +33 -0
  723. package/dist/server/public/sse.js +48 -0
  724. package/dist/server/public/sse.js.map +1 -0
  725. package/dist/server/public/static-assets.generated.d.ts +3 -0
  726. package/dist/server/public/static-assets.generated.js +6 -0
  727. package/dist/server/public/static-assets.generated.js.map +1 -0
  728. package/dist/server/public/static.d.ts +13 -0
  729. package/dist/server/public/static.js +75 -0
  730. package/dist/server/public/static.js.map +1 -0
  731. package/dist/server/public/subscription.d.ts +14 -0
  732. package/dist/server/public/subscription.js +56 -0
  733. package/dist/server/public/subscription.js.map +1 -0
  734. package/dist/server/public/telemetry.d.ts +65 -0
  735. package/dist/server/public/telemetry.js +284 -0
  736. package/dist/server/public/telemetry.js.map +1 -0
  737. package/dist/server/public/trace.d.ts +66 -0
  738. package/dist/server/public/trace.js +223 -0
  739. package/dist/server/public/trace.js.map +1 -0
  740. package/dist/server/public/types.d.ts +131 -0
  741. package/dist/server/public/types.js +9 -0
  742. package/dist/server/public/types.js.map +1 -0
  743. package/dist/server/public/videos-params.d.ts +95 -0
  744. package/dist/server/public/videos-params.js +220 -0
  745. package/dist/server/public/videos-params.js.map +1 -0
  746. package/dist/server/public/videos.d.ts +16 -0
  747. package/dist/server/public/videos.js +188 -0
  748. package/dist/server/public/videos.js.map +1 -0
  749. package/dist/server/public/wire.d.ts +53 -0
  750. package/dist/server/public/wire.js +174 -0
  751. package/dist/server/public/wire.js.map +1 -0
  752. package/dist/server/shims/anthropic.d.ts +52 -0
  753. package/dist/server/shims/anthropic.js +519 -0
  754. package/dist/server/shims/anthropic.js.map +1 -0
  755. package/dist/server/shims/chat-to-responses.d.ts +113 -0
  756. package/dist/server/shims/chat-to-responses.js +557 -0
  757. package/dist/server/shims/chat-to-responses.js.map +1 -0
  758. package/dist/server/shims/index.d.ts +8 -0
  759. package/dist/server/shims/index.js +9 -0
  760. package/dist/server/shims/index.js.map +1 -0
  761. package/dist/server/shims/json.d.ts +10 -0
  762. package/dist/server/shims/json.js +78 -0
  763. package/dist/server/shims/json.js.map +1 -0
  764. package/dist/server/shims/responses.d.ts +79 -0
  765. package/dist/server/shims/responses.js +543 -0
  766. package/dist/server/shims/responses.js.map +1 -0
  767. package/dist/server/state-file.d.ts +44 -0
  768. package/dist/server/state-file.js +107 -0
  769. package/dist/server/state-file.js.map +1 -0
  770. package/dist/settings/import.d.ts +61 -0
  771. package/dist/settings/import.js +104 -0
  772. package/dist/settings/import.js.map +1 -0
  773. package/dist/settings/index.d.ts +11 -0
  774. package/dist/settings/index.js +12 -0
  775. package/dist/settings/index.js.map +1 -0
  776. package/dist/settings/schema/foundation-models.json +1 -0
  777. package/dist/settings/schema/llamacpp-upstream.json +489 -0
  778. package/dist/settings/schema/llamacpp.json +475 -0
  779. package/dist/settings/schema/mlx.json +136 -0
  780. package/dist/settings/schema.d.ts +35 -0
  781. package/dist/settings/schema.js +196 -0
  782. package/dist/settings/schema.js.map +1 -0
  783. package/dist/settings/store.d.ts +168 -0
  784. package/dist/settings/store.js +350 -0
  785. package/dist/settings/store.js.map +1 -0
  786. package/dist/speculative/chat-template-overrides.d.ts +35 -0
  787. package/dist/speculative/chat-template-overrides.js +142 -0
  788. package/dist/speculative/chat-template-overrides.js.map +1 -0
  789. package/dist/speculative/dflash-registry.d.ts +50 -0
  790. package/dist/speculative/dflash-registry.js +258 -0
  791. package/dist/speculative/dflash-registry.js.map +1 -0
  792. package/dist/speculative/gemma-mtp-registry.d.ts +48 -0
  793. package/dist/speculative/gemma-mtp-registry.js +79 -0
  794. package/dist/speculative/gemma-mtp-registry.js.map +1 -0
  795. package/dist/speculative/index.d.ts +18 -0
  796. package/dist/speculative/index.js +19 -0
  797. package/dist/speculative/index.js.map +1 -0
  798. package/dist/speculative/mlx-dflash-registry.d.ts +39 -0
  799. package/dist/speculative/mlx-dflash-registry.js +230 -0
  800. package/dist/speculative/mlx-dflash-registry.js.map +1 -0
  801. package/dist/speculative/mlx-eagle3-registry.d.ts +24 -0
  802. package/dist/speculative/mlx-eagle3-registry.js +81 -0
  803. package/dist/speculative/mlx-eagle3-registry.js.map +1 -0
  804. package/dist/speculative/mlx-mtp-registry.d.ts +31 -0
  805. package/dist/speculative/mlx-mtp-registry.js +139 -0
  806. package/dist/speculative/mlx-mtp-registry.js.map +1 -0
  807. package/dist/speculative/transcription-registry.d.ts +72 -0
  808. package/dist/speculative/transcription-registry.js +94 -0
  809. package/dist/speculative/transcription-registry.js.map +1 -0
  810. package/dist/telemetry/config.d.ts +38 -0
  811. package/dist/telemetry/config.js +44 -0
  812. package/dist/telemetry/config.js.map +1 -0
  813. package/dist/telemetry/consent.d.ts +21 -0
  814. package/dist/telemetry/consent.js +35 -0
  815. package/dist/telemetry/consent.js.map +1 -0
  816. package/dist/telemetry/core-reporter.d.ts +47 -0
  817. package/dist/telemetry/core-reporter.js +72 -0
  818. package/dist/telemetry/core-reporter.js.map +1 -0
  819. package/dist/telemetry/daemon.d.ts +40 -0
  820. package/dist/telemetry/daemon.js +67 -0
  821. package/dist/telemetry/daemon.js.map +1 -0
  822. package/dist/telemetry/dsn.d.ts +15 -0
  823. package/dist/telemetry/dsn.js +32 -0
  824. package/dist/telemetry/dsn.js.map +1 -0
  825. package/dist/telemetry/envelope.d.ts +97 -0
  826. package/dist/telemetry/envelope.js +95 -0
  827. package/dist/telemetry/envelope.js.map +1 -0
  828. package/dist/telemetry/index.d.ts +18 -0
  829. package/dist/telemetry/index.js +19 -0
  830. package/dist/telemetry/index.js.map +1 -0
  831. package/dist/telemetry/policy.d.ts +39 -0
  832. package/dist/telemetry/policy.js +142 -0
  833. package/dist/telemetry/policy.js.map +1 -0
  834. package/dist/telemetry/reporter.d.ts +80 -0
  835. package/dist/telemetry/reporter.js +0 -0
  836. package/dist/telemetry/reporter.js.map +1 -0
  837. package/dist/telemetry/reports.d.ts +68 -0
  838. package/dist/telemetry/reports.js +212 -0
  839. package/dist/telemetry/reports.js.map +1 -0
  840. package/dist/telemetry/scrub.d.ts +19 -0
  841. package/dist/telemetry/scrub.js +75 -0
  842. package/dist/telemetry/scrub.js.map +1 -0
  843. package/dist/telemetry/stack.d.ts +21 -0
  844. package/dist/telemetry/stack.js +68 -0
  845. package/dist/telemetry/stack.js.map +1 -0
  846. package/dist/telemetry/store.d.ts +17 -0
  847. package/dist/telemetry/store.js +51 -0
  848. package/dist/telemetry/store.js.map +1 -0
  849. package/dist/telemetry/subscribe.d.ts +13 -0
  850. package/dist/telemetry/subscribe.js +19 -0
  851. package/dist/telemetry/subscribe.js.map +1 -0
  852. package/dist/telemetry/types.d.ts +40 -0
  853. package/dist/telemetry/types.js +2 -0
  854. package/dist/telemetry/types.js.map +1 -0
  855. package/dist/util/index.d.ts +5 -0
  856. package/dist/util/index.js +6 -0
  857. package/dist/util/index.js.map +1 -0
  858. package/dist/util/rust-number.d.ts +27 -0
  859. package/dist/util/rust-number.js +101 -0
  860. package/dist/util/rust-number.js.map +1 -0
  861. package/dist/version.d.ts +2 -0
  862. package/dist/version.js +3 -0
  863. package/dist/version.js.map +1 -0
  864. package/package.json +86 -0
  865. package/src/settings/schema/foundation-models.json +1 -0
  866. package/src/settings/schema/llamacpp-upstream.json +489 -0
  867. package/src/settings/schema/llamacpp.json +475 -0
  868. package/src/settings/schema/mlx.json +136 -0
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The video side of the job runner: what a video job validates, sends to `vid_gen`, decodes and
3
+ * saves. One clip per job, VP8 in WebM, the recipe beside it as a sidecar; the shared runner in
4
+ * `jobs.ts` drives it through `VIDEO_JOB_KIND`.
5
+ */
6
+ import type { GalleryVideoItem, ImageJobProgress, VideoGenerateRequest, VideoJob, VideoJobProgress } from '../contracts/index.js';
7
+ import type { JobKind, SaveContext } from './job-kind.js';
8
+ import type { JobDeps } from './jobs.js';
9
+ import type { ResolvedInputs, ServerCapabilities } from './types.js';
10
+ /** What a completed `vid_gen` job carries once decoded. */
11
+ export interface DecodedVideo {
12
+ bytes: Buffer;
13
+ fps: number;
14
+ frameCount: number;
15
+ outputFormat: string;
16
+ mimeType: string;
17
+ }
18
+ /** The first and last frames as the base64 `sd-server` takes; nothing is read for text-to-video. */
19
+ export declare function resolveVideoInputs(request: VideoGenerateRequest, deps: Pick<JobDeps, 'readSource'>): Promise<ResolvedInputs>;
20
+ /** The request as the job record carries it: file paths stay, inline bytes are blanked. */
21
+ export declare function withoutVideoSources(request: VideoGenerateRequest): VideoGenerateRequest;
22
+ /** The clip of a completed job: `result.b64_json` in the container the request asked for. */
23
+ export declare function decodeVideo(job: Record<string, unknown>): DecodedVideo;
24
+ /** Refuse anything that is not a WebM, then write the clip and its sidecar into the video gallery. */
25
+ export declare function saveVideoOutput(deps: JobDeps, ctx: SaveContext<VideoGenerateRequest>, decoded: DecodedVideo): Promise<{
26
+ items: GalleryVideoItem[];
27
+ bytes: Buffer[];
28
+ }>;
29
+ /** The wire progress of a clip: the tracker's snapshot without the batch fields. */
30
+ export declare function videoProgress(snapshot: ImageJobProgress): VideoJobProgress;
31
+ /** A build without libwebm cannot write the one container the app plays; say so before submitting. */
32
+ export declare function checkWebmSupport(capabilities: ServerCapabilities | undefined): void;
33
+ export declare const VIDEO_JOB_KIND: JobKind<VideoGenerateRequest, VideoJob, GalleryVideoItem, VideoJobProgress, DecodedVideo>;
@@ -0,0 +1,150 @@
1
+ /**
2
+ * The video side of the job runner: what a video job validates, sends to `vid_gen`, decodes and
3
+ * saves. One clip per job, VP8 in WebM, the recipe beside it as a sidecar; the shared runner in
4
+ * `jobs.ts` drives it through `VIDEO_JOB_KIND`.
5
+ */
6
+ import { basename } from 'node:path';
7
+ import { buildVidGenRequest } from './args.js';
8
+ import { diffusionError, internalError } from './errors.js';
9
+ import { redactSource, resolveSource } from './image-job.js';
10
+ import { validateVideoRequest } from './validate.js';
11
+ import { isWebm } from './video-gallery.js';
12
+ /** The first and last frames as the base64 `sd-server` takes; nothing is read for text-to-video. */
13
+ export async function resolveVideoInputs(request, deps) {
14
+ const inputs = { refs: [] };
15
+ if ((request.workflow ?? 'create') !== 'image-to-video')
16
+ return inputs;
17
+ if (request.initImage !== undefined)
18
+ inputs.init = await resolveSource(request.initImage, deps);
19
+ if (request.endImage !== undefined)
20
+ inputs.end = await resolveSource(request.endImage, deps);
21
+ return inputs;
22
+ }
23
+ /** The request as the job record carries it: file paths stay, inline bytes are blanked. */
24
+ export function withoutVideoSources(request) {
25
+ const copy = { ...request };
26
+ if (request.initImage)
27
+ copy.initImage = redactSource(request.initImage);
28
+ if (request.endImage)
29
+ copy.endImage = redactSource(request.endImage);
30
+ return copy;
31
+ }
32
+ /** The clip of a completed job: `result.b64_json` in the container the request asked for. */
33
+ export function decodeVideo(job) {
34
+ const result = job['result'];
35
+ const fields = result !== null && typeof result === 'object' ? result : {};
36
+ const b64 = fields['b64_json'];
37
+ if (typeof b64 !== 'string' || b64.trim() === '')
38
+ throw internalError('The video server completed the job but returned no video.');
39
+ const outputFormat = typeof fields['output_format'] === 'string' ? fields['output_format'] : 'webm';
40
+ if (outputFormat !== 'webm')
41
+ throw internalError('The video server returned a video in an unexpected format.', outputFormat);
42
+ const bytes = Buffer.from(b64.trim(), 'base64');
43
+ if (bytes.length === 0)
44
+ throw internalError('sd-server returned an undecodable video.');
45
+ const fps = fields['fps'];
46
+ const frameCount = fields['frame_count'];
47
+ return {
48
+ bytes,
49
+ fps: typeof fps === 'number' && Number.isInteger(fps) && fps > 0 ? fps : 0,
50
+ frameCount: typeof frameCount === 'number' && Number.isInteger(frameCount) && frameCount > 0 ? frameCount : 0,
51
+ outputFormat,
52
+ mimeType: typeof fields['mime_type'] === 'string' ? fields['mime_type'] : 'video/webm',
53
+ };
54
+ }
55
+ /** Refuse anything that is not a WebM, then write the clip and its sidecar into the video gallery. */
56
+ export async function saveVideoOutput(deps, ctx, decoded) {
57
+ const { id, request, spec, seed, startedAt } = ctx;
58
+ if (!isWebm(decoded.bytes))
59
+ throw diffusionError('INVALID_OUTPUT', 'The video engine returned something that is not a WebM.');
60
+ const video = spec.defaults.video;
61
+ const frames = request.frames ?? video?.frames ?? decoded.frameCount;
62
+ const fps = request.fps ?? video?.fps ?? decoded.fps;
63
+ const createdAtMs = deps.now();
64
+ const recipe = {
65
+ jobId: id,
66
+ prompt: request.prompt,
67
+ negativePrompt: request.negativePrompt ? request.negativePrompt : null,
68
+ width: request.width,
69
+ height: request.height,
70
+ frames,
71
+ // What the engine wrote, after its own normalisation; the requested count is `frames`.
72
+ frameCount: decoded.frameCount > 0 ? decoded.frameCount : frames,
73
+ fps: decoded.fps > 0 ? decoded.fps : fps,
74
+ steps: request.steps,
75
+ cfgScale: request.cfgScale,
76
+ guidance: request.guidance ?? spec.defaults.guidance ?? null,
77
+ seed,
78
+ samplingMethod: request.samplingMethod ?? spec.defaults.samplingMethod ?? null,
79
+ flowShift: request.flowShift ?? spec.defaults.flowShift ?? null,
80
+ workflow: request.workflow ?? 'create',
81
+ outputFormat: 'webm',
82
+ model: {
83
+ modelId: spec.modelId,
84
+ family: spec.family,
85
+ displayName: spec.displayName,
86
+ filename: basename(spec.files.diffusionModel),
87
+ },
88
+ engine: {
89
+ kind: spec.engine,
90
+ backend: spec.backend,
91
+ tag: spec.tag,
92
+ offload: spec.offload,
93
+ cpuFallback: spec.cpuFallback,
94
+ },
95
+ createdAtMs,
96
+ durationMs: Math.max(createdAtMs - startedAt, 0),
97
+ };
98
+ const saved = await deps.videoGallery.save(deps.state.videoOutputDir(), recipe, decoded.bytes);
99
+ deps.state.updateJob(id, (record) => record.job.outputs.push(saved.item));
100
+ return { items: [saved.item], bytes: [saved.bytes] };
101
+ }
102
+ /** The wire progress of a clip: the tracker's snapshot without the batch fields. */
103
+ export function videoProgress(snapshot) {
104
+ return {
105
+ phase: snapshot.phase,
106
+ step: snapshot.step,
107
+ totalSteps: snapshot.totalSteps,
108
+ fraction: snapshot.fraction,
109
+ etaSeconds: snapshot.etaSeconds,
110
+ elapsedMs: snapshot.elapsedMs,
111
+ };
112
+ }
113
+ /** A build without libwebm cannot write the one container the app plays; say so before submitting. */
114
+ export function checkWebmSupport(capabilities) {
115
+ const formats = capabilities?.vidGen?.outputFormats;
116
+ if (formats !== undefined && !formats.includes('webm'))
117
+ throw diffusionError('UNSUPPORTED_BACKEND', 'This engine build was made without WebM support.', `output formats: ${formats.join(', ') || 'none'}`);
118
+ }
119
+ export const VIDEO_JOB_KIND = {
120
+ id: 'video',
121
+ modality: 'video',
122
+ submitPath: '/sdcpp/v1/vid_gen',
123
+ messages: {
124
+ busy: 'A video is already being generated.',
125
+ wrongModel: 'The loaded model generates images, not video. Load a video model first.',
126
+ outOfMemory: 'sd-server ran out of memory while generating the clip: a clip this long at this size does not fit. Fewer frames or a smaller size will.',
127
+ failed: 'The video server failed to generate.',
128
+ },
129
+ validate: (request, spec, deps) => validateVideoRequest(request, spec, deps),
130
+ newJob: (id, spec, request, now) => ({
131
+ id,
132
+ state: 'queued',
133
+ modelId: spec.modelId,
134
+ request: withoutVideoSources(request),
135
+ createdAtMs: now,
136
+ progress: null,
137
+ outputs: [],
138
+ }),
139
+ resolveInputs: resolveVideoInputs,
140
+ buildBody: (request, spec, seed, inputs) => buildVidGenRequest(request, spec.defaults, seed, inputs),
141
+ trackerShape: (request) => ({ steps: Math.max(request.steps, 1), batch: 1 }),
142
+ progress: videoProgress,
143
+ emitJob: (emit, job) => emit('diffusion:video-job', { job }),
144
+ emitProgress: (emit, jobId, progress) => emit('diffusion:video-progress', { jobId, progress }),
145
+ cancelGenerating: (capabilities) => capabilities.vidGen?.cancelGenerating ?? false,
146
+ preflight: checkWebmSupport,
147
+ decode: decodeVideo,
148
+ save: saveVideoOutput,
149
+ };
150
+ //# sourceMappingURL=video-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-job.js","sourceRoot":"","sources":["../../src/diffusion/video-job.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The generation recipe of a video, written as `<jobId>.json` beside the clip (WebM has no text
3
+ * chunk to carry it). Exactly `VideoRecipe`, every key present and absent values `null`, in the
4
+ * order of `ImageRecipe`'s sibling, so a clip copied anywhere can be reproduced. The parser is as
5
+ * strict as `parseRecipe`, because it decides whether a `.webm` in the folder is ours.
6
+ */
7
+ import type { VideoRecipe } from '../contracts/index.js';
8
+ export declare const RECIPE_SIDECAR_SUFFIX = ".json";
9
+ /** The sidecar's text: every key, fixed order, `null`s, two-space indent like the flags file. */
10
+ export declare function serializeVideoRecipe(recipe: VideoRecipe): string;
11
+ /** The recipe out of a sidecar, or `undefined` when the text is not one. */
12
+ export declare function parseVideoRecipe(text: string): VideoRecipe | undefined;
@@ -0,0 +1,141 @@
1
+ /**
2
+ * The generation recipe of a video, written as `<jobId>.json` beside the clip (WebM has no text
3
+ * chunk to carry it). Exactly `VideoRecipe`, every key present and absent values `null`, in the
4
+ * order of `ImageRecipe`'s sibling, so a clip copied anywhere can be reproduced. The parser is as
5
+ * strict as `parseRecipe`, because it decides whether a `.webm` in the folder is ours.
6
+ */
7
+ import { VIDEO_WORKFLOWS } from './workflow.js';
8
+ export const RECIPE_SIDECAR_SUFFIX = '.json';
9
+ const ENGINES = ['sd-cpp', 'diffusers'];
10
+ const BACKENDS = ['cpu', 'metal', 'cuda', 'vulkan', 'rocm'];
11
+ const OFFLOADS = ['none', 'group', 'model'];
12
+ const isObject = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
13
+ const isWhole = (value) => typeof value === 'number' && Number.isInteger(value) && value >= 0;
14
+ /** Seeds as `parseRecipe` takes them: an `i64` as a double sees it. */
15
+ const isI64 = (value) => typeof value === 'number' && Number.isInteger(value) && Math.abs(value) <= 2 ** 63;
16
+ const isNumber = (value) => typeof value === 'number' && Number.isFinite(value);
17
+ const isString = (value) => typeof value === 'string';
18
+ const among = (value, allowed) => isString(value) && allowed.includes(value);
19
+ /** `value` when it passes, `null` when it is absent or `null`, `undefined` (a failure) otherwise. */
20
+ function optional(value, check) {
21
+ if (value === undefined || value === null)
22
+ return null;
23
+ return check(value) ? value : undefined;
24
+ }
25
+ /** The sidecar's text: every key, fixed order, `null`s, two-space indent like the flags file. */
26
+ export function serializeVideoRecipe(recipe) {
27
+ const ordered = {
28
+ jobId: recipe.jobId,
29
+ prompt: recipe.prompt,
30
+ negativePrompt: recipe.negativePrompt,
31
+ width: recipe.width,
32
+ height: recipe.height,
33
+ frames: recipe.frames,
34
+ frameCount: recipe.frameCount,
35
+ fps: recipe.fps,
36
+ steps: recipe.steps,
37
+ cfgScale: recipe.cfgScale,
38
+ guidance: recipe.guidance,
39
+ seed: recipe.seed,
40
+ samplingMethod: recipe.samplingMethod,
41
+ flowShift: recipe.flowShift,
42
+ workflow: recipe.workflow,
43
+ outputFormat: recipe.outputFormat,
44
+ model: {
45
+ modelId: recipe.model.modelId,
46
+ family: recipe.model.family,
47
+ displayName: recipe.model.displayName,
48
+ filename: recipe.model.filename,
49
+ },
50
+ engine: {
51
+ kind: recipe.engine.kind,
52
+ backend: recipe.engine.backend,
53
+ tag: recipe.engine.tag,
54
+ offload: recipe.engine.offload,
55
+ cpuFallback: recipe.engine.cpuFallback,
56
+ },
57
+ createdAtMs: recipe.createdAtMs,
58
+ durationMs: recipe.durationMs,
59
+ };
60
+ return `${JSON.stringify(ordered, null, 2)}\n`;
61
+ }
62
+ /** The recipe out of a sidecar, or `undefined` when the text is not one. */
63
+ export function parseVideoRecipe(text) {
64
+ let raw;
65
+ try {
66
+ raw = JSON.parse(text);
67
+ }
68
+ catch {
69
+ return undefined;
70
+ }
71
+ if (!isObject(raw) || !isObject(raw['model']) || !isObject(raw['engine']))
72
+ return undefined;
73
+ const { model, engine } = raw;
74
+ const negativePrompt = optional(raw['negativePrompt'], isString);
75
+ const guidance = optional(raw['guidance'], isNumber);
76
+ const samplingMethod = optional(raw['samplingMethod'], isString);
77
+ const flowShift = optional(raw['flowShift'], isNumber);
78
+ const ok = isString(raw['jobId']) &&
79
+ isString(raw['prompt']) &&
80
+ isWhole(raw['width']) &&
81
+ isWhole(raw['height']) &&
82
+ isWhole(raw['frames']) &&
83
+ isWhole(raw['frameCount']) &&
84
+ isWhole(raw['fps']) &&
85
+ isWhole(raw['steps']) &&
86
+ isNumber(raw['cfgScale']) &&
87
+ isI64(raw['seed']) &&
88
+ among(raw['workflow'], VIDEO_WORKFLOWS) &&
89
+ raw['outputFormat'] === 'webm' &&
90
+ isString(model['modelId']) &&
91
+ isString(model['family']) &&
92
+ isString(model['displayName']) &&
93
+ isString(model['filename']) &&
94
+ among(engine['kind'], ENGINES) &&
95
+ among(engine['backend'], BACKENDS) &&
96
+ isString(engine['tag']) &&
97
+ among(engine['offload'], OFFLOADS) &&
98
+ typeof engine['cpuFallback'] === 'boolean' &&
99
+ isWhole(raw['createdAtMs']) &&
100
+ isWhole(raw['durationMs']) &&
101
+ negativePrompt !== undefined &&
102
+ guidance !== undefined &&
103
+ samplingMethod !== undefined &&
104
+ flowShift !== undefined;
105
+ if (!ok)
106
+ return undefined;
107
+ return {
108
+ jobId: raw['jobId'],
109
+ prompt: raw['prompt'],
110
+ negativePrompt,
111
+ width: raw['width'],
112
+ height: raw['height'],
113
+ frames: raw['frames'],
114
+ frameCount: raw['frameCount'],
115
+ fps: raw['fps'],
116
+ steps: raw['steps'],
117
+ cfgScale: raw['cfgScale'],
118
+ guidance,
119
+ seed: raw['seed'],
120
+ samplingMethod,
121
+ flowShift,
122
+ workflow: raw['workflow'],
123
+ outputFormat: 'webm',
124
+ model: {
125
+ modelId: model['modelId'],
126
+ family: model['family'],
127
+ displayName: model['displayName'],
128
+ filename: model['filename'],
129
+ },
130
+ engine: {
131
+ kind: engine['kind'],
132
+ backend: engine['backend'],
133
+ tag: engine['tag'],
134
+ offload: engine['offload'],
135
+ cpuFallback: engine['cpuFallback'],
136
+ },
137
+ createdAtMs: raw['createdAtMs'],
138
+ durationMs: raw['durationMs'],
139
+ };
140
+ }
141
+ //# sourceMappingURL=video-recipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-recipe.js","sourceRoot":"","sources":["../../src/diffusion/video-recipe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * How the owner builds the image-generation service: the child journal adapter (an `sd-server` is
3
+ * journalled like any backend, under `provider: 'diffusion'`, right after it spawns) and the event
4
+ * bus. Kept out of `create.ts`, which stays a list of `await`s.
5
+ */
6
+ import type { DataLayout } from '../config/index.js';
7
+ import type { CoreEvents } from '../contracts/index.js';
8
+ import type { ProcessJournal } from '../lock/index.js';
9
+ import { DiffusionService } from './service.js';
10
+ import type { DiffusionServiceDeps } from './service.js';
11
+ export interface WireDiffusionOptions {
12
+ layout: DataLayout;
13
+ journal: Pick<ProcessJournal, 'add' | 'remove'>;
14
+ instanceId: string;
15
+ emit: <K extends keyof CoreEvents>(name: K, payload: CoreEvents[K]) => void;
16
+ log: (level: 'info' | 'warn' | 'debug', msg: string) => void;
17
+ platform?: NodeJS.Platform;
18
+ env?: NodeJS.ProcessEnv;
19
+ /** Test seams, straight through to the service. */
20
+ overrides?: Pick<DiffusionServiceDeps, 'http' | 'spawn' | 'timings' | 'idleTickMs' | 'now' | 'sleep' | 'drawSeed'>;
21
+ }
22
+ /** The journal entry an `sd-server` gets the moment it starts, so a crashed owner's successor can reap it. */
23
+ export declare function diffusionJournal(journal: Pick<ProcessJournal, 'add' | 'remove'>, instanceId: string, now?: () => number): NonNullable<DiffusionServiceDeps['journal']>;
24
+ export declare function wireDiffusion(options: WireDiffusionOptions): DiffusionService;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * How the owner builds the image-generation service: the child journal adapter (an `sd-server` is
3
+ * journalled like any backend, under `provider: 'diffusion'`, right after it spawns) and the event
4
+ * bus. Kept out of `create.ts`, which stays a list of `await`s.
5
+ */
6
+ import { processStartId } from '../lock/index.js';
7
+ import { DiffusionService } from './service.js';
8
+ /** The journal entry an `sd-server` gets the moment it starts, so a crashed owner's successor can reap it. */
9
+ export function diffusionJournal(journal, instanceId, now = Date.now) {
10
+ return {
11
+ add: async (pid, port, exe, modelId) => journal.add({
12
+ instance_id: instanceId,
13
+ pid,
14
+ process_start_id: (await processStartId(pid)) ?? null,
15
+ exe,
16
+ provider: 'diffusion',
17
+ model_id: modelId,
18
+ port,
19
+ started_at: new Date(now()).toISOString(),
20
+ }),
21
+ remove: (pid) => journal.remove(pid),
22
+ };
23
+ }
24
+ export function wireDiffusion(options) {
25
+ const service = new DiffusionService({
26
+ paths: options.layout.diffusion,
27
+ dataFolder: options.layout.root,
28
+ emit: options.emit,
29
+ log: options.log,
30
+ journal: diffusionJournal(options.journal, options.instanceId),
31
+ ...(options.platform ? { platform: options.platform } : {}),
32
+ ...(options.env ? { env: options.env } : {}),
33
+ ...options.overrides,
34
+ });
35
+ service.start();
36
+ return service;
37
+ }
38
+ //# sourceMappingURL=wiring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/diffusion/wiring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAkB/C,8GAA8G;AAC9G,MAAM,UAAU,gBAAgB,CAC9B,OAA+C,EAC/C,UAAkB,EAClB,MAAoB,IAAI,CAAC,GAAG;IAE5B,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CACrC,OAAO,CAAC,GAAG,CAAC;YACV,WAAW,EAAE,UAAU;YACvB,GAAG;YACH,gBAAgB,EAAE,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI;YACrD,GAAG;YACH,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,OAAO;YACjB,IAAI;YACJ,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;SAC1C,CAAC;QACJ,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;KACrC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;QAC/B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;QAC/B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;QAC9D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,OAAO,CAAC,SAAS;KACrB,CAAC,CAAA;IACF,OAAO,CAAC,KAAK,EAAE,CAAA;IACf,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * What each workflow sends to `img_gen`, and which model family can run which. `ImageWorkflow` in
3
+ * `state.rs` and `workflows_for_family` / `workflows_for_spec` in `session.rs` (app commit
4
+ * `ec1fd3ea7`).
5
+ */
6
+ import type { ImageGenerateRequest, ImageWorkflowId, VideoWorkflowId } from '../contracts/index.js';
7
+ import type { ServerSpec } from './types.js';
8
+ export declare const IMAGE_WORKFLOWS: readonly ImageWorkflowId[];
9
+ export declare function workflowOf(request: Pick<ImageGenerateRequest, 'workflow'>): ImageWorkflowId;
10
+ /** Workflows that send an `init_image`, and therefore a `strength`. */
11
+ export declare function usesInitImage(workflow: ImageWorkflowId): boolean;
12
+ export declare function usesMask(workflow: ImageWorkflowId): boolean;
13
+ /** Workflows that send `ref_images` instead of an init image. */
14
+ export declare function usesReferences(workflow: ImageWorkflowId): boolean;
15
+ /**
16
+ * The denoise strength when the request leaves it unset. `extend` repaints its blank border fully;
17
+ * `upscale` is a re-detail pass that keeps most of the enlarged source.
18
+ */
19
+ export declare function defaultStrength(workflow: ImageWorkflowId): number;
20
+ /**
21
+ * img2img and masking are generic in sd.cpp (the init image is VAE-encoded and noised to `strength`,
22
+ * a mask blends latents), so the established base families get them; a distilled model such as
23
+ * Krea 2 Turbo keeps to its verified Create. Reference-guided generation and instruction edits need
24
+ * a model trained on reference images: FLUX.2 Klein and Qwen Image 2.1, which also needs its vision
25
+ * projector loaded (`workflowsForSpec`). Anything else, video families included, only creates.
26
+ */
27
+ export declare function workflowsForFamily(family: string): ImageWorkflowId[];
28
+ /** The workflows the loaded server can actually run: Qwen Image 2.1 without `llmVision` only creates. */
29
+ export declare function workflowsForSpec(spec: Pick<ServerSpec, 'family' | 'files'>): ImageWorkflowId[];
30
+ /** The video workflows on the wire; `image-to-video` is parsed and recorded but not served yet. */
31
+ export declare const VIDEO_WORKFLOWS: readonly VideoWorkflowId[];
32
+ /** What a video family can run in this build: text-to-video, whatever the family. */
33
+ export declare function videoWorkflowsForFamily(_family: string): VideoWorkflowId[];
@@ -0,0 +1,78 @@
1
+ /**
2
+ * What each workflow sends to `img_gen`, and which model family can run which. `ImageWorkflow` in
3
+ * `state.rs` and `workflows_for_family` / `workflows_for_spec` in `session.rs` (app commit
4
+ * `ec1fd3ea7`).
5
+ */
6
+ export const IMAGE_WORKFLOWS = [
7
+ 'create',
8
+ 'transform',
9
+ 'inpaint',
10
+ 'extend',
11
+ 'upscale',
12
+ 'reference',
13
+ 'edit',
14
+ ];
15
+ export function workflowOf(request) {
16
+ return request.workflow ?? 'create';
17
+ }
18
+ /** Workflows that send an `init_image`, and therefore a `strength`. */
19
+ export function usesInitImage(workflow) {
20
+ return workflow === 'transform' || workflow === 'inpaint' || workflow === 'extend' || workflow === 'upscale';
21
+ }
22
+ export function usesMask(workflow) {
23
+ return workflow === 'inpaint' || workflow === 'extend';
24
+ }
25
+ /** Workflows that send `ref_images` instead of an init image. */
26
+ export function usesReferences(workflow) {
27
+ return workflow === 'reference' || workflow === 'edit';
28
+ }
29
+ /**
30
+ * The denoise strength when the request leaves it unset. `extend` repaints its blank border fully;
31
+ * `upscale` is a re-detail pass that keeps most of the enlarged source.
32
+ */
33
+ export function defaultStrength(workflow) {
34
+ if (workflow === 'extend')
35
+ return 1.0;
36
+ if (workflow === 'upscale')
37
+ return 0.35;
38
+ return 0.75;
39
+ }
40
+ /**
41
+ * img2img and masking are generic in sd.cpp (the init image is VAE-encoded and noised to `strength`,
42
+ * a mask blends latents), so the established base families get them; a distilled model such as
43
+ * Krea 2 Turbo keeps to its verified Create. Reference-guided generation and instruction edits need
44
+ * a model trained on reference images: FLUX.2 Klein and Qwen Image 2.1, which also needs its vision
45
+ * projector loaded (`workflowsForSpec`). Anything else, video families included, only creates.
46
+ */
47
+ export function workflowsForFamily(family) {
48
+ switch (family) {
49
+ case 'flux.2-klein':
50
+ return ['create', 'transform', 'inpaint', 'extend', 'upscale', 'reference', 'edit'];
51
+ case 'qwen-image-2.1':
52
+ return ['create', 'reference', 'edit'];
53
+ case 'krea-2-turbo':
54
+ return ['create'];
55
+ case 'z-image':
56
+ case 'qwen-image':
57
+ return ['create', 'transform', 'inpaint', 'extend', 'upscale'];
58
+ default:
59
+ // flux.1 and its variants: flux.1-uncensored, -abliterated, -nsfw-realism, -krea.
60
+ if (family.startsWith('flux.1'))
61
+ return ['create', 'transform', 'inpaint', 'extend', 'upscale'];
62
+ return ['create'];
63
+ }
64
+ }
65
+ /** The workflows the loaded server can actually run: Qwen Image 2.1 without `llmVision` only creates. */
66
+ export function workflowsForSpec(spec) {
67
+ const workflows = workflowsForFamily(spec.family);
68
+ if (spec.family === 'qwen-image-2.1' && spec.files.llmVision === undefined)
69
+ return workflows.filter((workflow) => !usesReferences(workflow));
70
+ return workflows;
71
+ }
72
+ /** The video workflows on the wire; `image-to-video` is parsed and recorded but not served yet. */
73
+ export const VIDEO_WORKFLOWS = ['create', 'image-to-video'];
74
+ /** What a video family can run in this build: text-to-video, whatever the family. */
75
+ export function videoWorkflowsForFamily(_family) {
76
+ return ['create'];
77
+ }
78
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/diffusion/workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,QAAQ;IACR,WAAW;IACX,SAAS;IACT,QAAQ;IACR,SAAS;IACT,WAAW;IACX,MAAM;CACP,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,OAA+C;IACxE,OAAO,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAA;AACrC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,aAAa,CAAC,QAAyB;IACrD,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,CAAA;AAC9G,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAyB;IAChD,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAA;AACxD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,QAAyB;IACtD,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,MAAM,CAAA;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAyB;IACvD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAA;IACrC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACvC,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QACrF,KAAK,gBAAgB;YACnB,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QACxC,KAAK,cAAc;YACjB,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACf,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QAChE;YACE,kFAAkF;YAClF,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;YAC/F,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrB,CAAC;AACH,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,gBAAgB,CAAC,IAA0C;IACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;QACxE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;IAClE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAA+B,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;AAEvF,qFAAqF;AACrF,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,OAAO,CAAC,QAAQ,CAAC,CAAA;AACnB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Archive extraction and backend-pack layout normalisation. Port of `decompress` and
3
+ * `normalize_backend_layout` in `src-tauri/src/core/filesystem/commands.rs`.
4
+ *
5
+ * Only `.tar.gz` and `.zip` are supported (same error text as the app). Zip entries are guarded
6
+ * against zip-slip, directory entries are created, and the unix mode bits are applied.
7
+ */
8
+ export declare const UNSUPPORTED_ARCHIVE_MESSAGE = "Unsupported file format. Only .tar.gz and .zip are supported.";
9
+ export declare function extractArchive(archivePath: string, outputDir: string): Promise<void>;
10
+ /**
11
+ * Ensure `<outputDir>/build/bin/<exe>` exists after extraction: a flat archive (exe at the root) is
12
+ * moved into `build/bin/` (except `build`, `version.txt`, `backend.txt`); a single nested `llama-*`
13
+ * directory holding the exe is unpacked into `build/bin/` and removed.
14
+ */
15
+ export declare function normalizeBackendLayout(outputDir: string, exeName: string): Promise<void>;