@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,102 @@
1
+ /**
2
+ * The backend index: `atomic-chat-conf/backends/manifest.json`. Port of the manifest half of
3
+ * `extensions/llamacpp-upstream-extension/src/backend.ts` (`parseManifestForPlatform`,
4
+ * `fetchManifestWithFallbacks`, `fetchLiveManifest`, `fetchRemoteBackends`).
5
+ *
6
+ * Why a static manifest and not the GitHub API: the unauthenticated API limit (60 req/hr/IP)
7
+ * dead-ended fresh installs on shared/NAT/VPN networks (ATO-199). raw.githubusercontent.com has no
8
+ * per-IP limit and the manifest mirrors the release shape, so the parser is unchanged. Archives come
9
+ * from the manifest's `download_base` (our signed mirror) or, for an unmirrored tag, the ggml-org CDN.
10
+ *
11
+ * Seams replaced by injection:
12
+ * - the app's four transports (Rust HTTP/1.1 reqwest, WebView `globalThis.fetch`, proxy-aware and
13
+ * direct `@tauri-apps/plugin-http`) become a `ManifestTransport[]`; the core passes one built
14
+ * from its own `fetch` via `manifestTransportFromFetch`. Order is preserved as documentation —
15
+ * the app raced all four with `Promise.any`, and so does `fetchManifestWithFallbacks`.
16
+ * - the module-level `_cachedManifest` becomes a `ManifestSessionCache` the caller owns.
17
+ * - `getSystemInfo()` becomes `osType` / `arch` parameters.
18
+ * - `console.*` becomes optional `onInfo` / `onWarn` callbacks.
19
+ */
20
+ import type { ArchSuffix, BackendOsType, BackendVersion, UpstreamManifest } from '../types.js';
21
+ export declare const LLAMACPP_BACKEND_MANIFEST_URL = "https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/manifest.json";
22
+ export declare const MANIFEST_FETCH_TIMEOUT_MS = 8000;
23
+ /**
24
+ * Tag of the bundled offline baseline. NOT a pin: a live manifest carrying a newer tag is followed
25
+ * as-is, which is what lets an engine update reach users without an app release.
26
+ */
27
+ export declare const BUNDLED_BASELINE_TAG: string;
28
+ /** One way of fetching the manifest; `timeoutMs` is the hard budget the transport should honour. */
29
+ export type ManifestFetch = (url: string, timeoutMs: number) => Promise<Response>;
30
+ export interface ManifestTransport {
31
+ label: string;
32
+ fetch: ManifestFetch;
33
+ }
34
+ /** `x86_64` / `x64` → `x64`; `aarch64` / `arm64` → `arm64`. */
35
+ export declare function archSuffixFor(arch: string): ArchSuffix;
36
+ export declare function isSupportedBackendOs(osType: string): osType is BackendOsType;
37
+ /**
38
+ * Backends a manifest offers this OS + arch. Windows: the whitelisted `win-*` zips matching the arch.
39
+ * Linux: x64 only, `ubuntu-*` tarballs translated to `linux-*` ids. macOS: only `macos-<arch>`, so an
40
+ * Intel host is never offered the arm64 build the manifest lists (macOS is passed through
41
+ * `listSupportedBackends` unfiltered, so the arch filter has to happen here). Every entry has
42
+ * `order: 0` — a manifest entry never outranks an installed one by install time.
43
+ */
44
+ export declare function parseManifestForPlatform(release: UpstreamManifest, osType: string, archSuffix: ArchSuffix): BackendVersion[];
45
+ /**
46
+ * Hard `Promise` timeout around a transport. The app needed this because some `plugin-http` paths
47
+ * ignored `AbortSignal`, letting the outer 20 s detection guard fire first; a core transport built on
48
+ * `fetch` may honour the signal but the belt-and-braces guard costs nothing.
49
+ */
50
+ export declare function withHardTimeout<T>(promise: Promise<T>, timeoutMs: number, message: string): Promise<T>;
51
+ /** A transport over a `fetch`-compatible function with an abort-on-timeout and the app's headers. */
52
+ export declare function manifestTransportFromFetch(label: string, fetchImpl: typeof fetch, headers?: Record<string, string>): ManifestTransport;
53
+ /**
54
+ * Race every transport (`Promise.any`) and return the first response, labelled. All failing raises
55
+ * `IO_ERROR` whose message carries each transport's reason, labelled, so a log line explains which
56
+ * path stalled (ATO-243: the Linux h2 stall against Fastly).
57
+ */
58
+ export declare function fetchManifestWithFallbacks(transports: readonly ManifestTransport[], url?: string, timeoutMs?: number): Promise<{
59
+ label: string;
60
+ response: Response;
61
+ }>;
62
+ /**
63
+ * In-memory manifest for one session. Populated ONLY by a genuinely successful live fetch, so a
64
+ * later transient stall can reuse the last good manifest. The bundled baseline is never stored:
65
+ * caching it would pin the session to a stale snapshot even after the network recovers (the
66
+ * ATO-243 cache-poisoning regression).
67
+ */
68
+ export declare class ManifestSessionCache {
69
+ private manifest;
70
+ get(): UpstreamManifest | null;
71
+ set(manifest: UpstreamManifest): void;
72
+ clear(): void;
73
+ }
74
+ export interface FetchLiveManifestOptions {
75
+ transports: readonly ManifestTransport[];
76
+ cache: ManifestSessionCache;
77
+ url?: string;
78
+ timeoutMs?: number;
79
+ onInfo?: (message: string) => void;
80
+ onWarn?: (message: string) => void;
81
+ }
82
+ /**
83
+ * Fetch the live manifest and cache it for the session, or `null` when it could not be obtained
84
+ * (transport failure, non-2xx, unparseable body, missing `tag_name`). Callers fall back to
85
+ * `BUNDLED_MANIFEST_BASELINE` themselves, keeping the "baseline is never cached" invariant visible.
86
+ * A tag differing from the bundled baseline is followed: the manifest is authoritative.
87
+ */
88
+ export declare function fetchLiveManifest(options: FetchLiveManifestOptions): Promise<UpstreamManifest | null>;
89
+ export interface FetchRemoteBackendsOptions extends FetchLiveManifestOptions {
90
+ osType: string;
91
+ arch: string;
92
+ /** "Check for engine updates": drop the session cache so a tag published meanwhile is seen. */
93
+ force?: boolean;
94
+ /** Offline fallback; defaults to the compiled-in baseline. */
95
+ baseline?: UpstreamManifest;
96
+ }
97
+ /**
98
+ * Backend builds available to this host: the session-cached manifest, else a live fetch, else the
99
+ * bundled baseline. Never throws and never returns the baseline through the cache. `[]` for an OS
100
+ * outside windows/linux/macos, for Linux on arm64 and for an Intel Mac.
101
+ */
102
+ export declare function fetchRemoteBackends(options: FetchRemoteBackendsOptions): Promise<BackendVersion[]>;
@@ -0,0 +1,233 @@
1
+ /**
2
+ * The backend index: `atomic-chat-conf/backends/manifest.json`. Port of the manifest half of
3
+ * `extensions/llamacpp-upstream-extension/src/backend.ts` (`parseManifestForPlatform`,
4
+ * `fetchManifestWithFallbacks`, `fetchLiveManifest`, `fetchRemoteBackends`).
5
+ *
6
+ * Why a static manifest and not the GitHub API: the unauthenticated API limit (60 req/hr/IP)
7
+ * dead-ended fresh installs on shared/NAT/VPN networks (ATO-199). raw.githubusercontent.com has no
8
+ * per-IP limit and the manifest mirrors the release shape, so the parser is unchanged. Archives come
9
+ * from the manifest's `download_base` (our signed mirror) or, for an unmirrored tag, the ggml-org CDN.
10
+ *
11
+ * Seams replaced by injection:
12
+ * - the app's four transports (Rust HTTP/1.1 reqwest, WebView `globalThis.fetch`, proxy-aware and
13
+ * direct `@tauri-apps/plugin-http`) become a `ManifestTransport[]`; the core passes one built
14
+ * from its own `fetch` via `manifestTransportFromFetch`. Order is preserved as documentation —
15
+ * the app raced all four with `Promise.any`, and so does `fetchManifestWithFallbacks`.
16
+ * - the module-level `_cachedManifest` becomes a `ManifestSessionCache` the caller owns.
17
+ * - `getSystemInfo()` becomes `osType` / `arch` parameters.
18
+ * - `console.*` becomes optional `onInfo` / `onWarn` callbacks.
19
+ */
20
+ import { AtomicCoreError } from '../../contracts/index.js';
21
+ import { LINUX_BACKEND_BY_UPSTREAM_ASSET } from './archive.js';
22
+ import { BUNDLED_MANIFEST_BASELINE } from './bundled-manifest-baseline.js';
23
+ export const LLAMACPP_BACKEND_MANIFEST_URL = 'https://raw.githubusercontent.com/AtomicBot-ai/atomic-chat-conf/main/backends/manifest.json';
24
+ export const MANIFEST_FETCH_TIMEOUT_MS = 8_000;
25
+ /**
26
+ * Tag of the bundled offline baseline. NOT a pin: a live manifest carrying a newer tag is followed
27
+ * as-is, which is what lets an engine update reach users without an app release.
28
+ */
29
+ export const BUNDLED_BASELINE_TAG = BUNDLED_MANIFEST_BASELINE.tag_name;
30
+ /** `x86_64` / `x64` → `x64`; `aarch64` / `arm64` → `arm64`. */
31
+ export function archSuffixFor(arch) {
32
+ return arch.includes('aarch64') || arch.includes('arm64') ? 'arm64' : 'x64';
33
+ }
34
+ export function isSupportedBackendOs(osType) {
35
+ return osType === 'windows' || osType === 'linux' || osType === 'macos';
36
+ }
37
+ const escapeRegExp = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
38
+ /**
39
+ * Backends a manifest offers this OS + arch. Windows: the whitelisted `win-*` zips matching the arch.
40
+ * Linux: x64 only, `ubuntu-*` tarballs translated to `linux-*` ids. macOS: only `macos-<arch>`, so an
41
+ * Intel host is never offered the arm64 build the manifest lists (macOS is passed through
42
+ * `listSupportedBackends` unfiltered, so the arch filter has to happen here). Every entry has
43
+ * `order: 0` — a manifest entry never outranks an installed one by install time.
44
+ */
45
+ export function parseManifestForPlatform(release, osType, archSuffix) {
46
+ const tag = release.tag_name;
47
+ if (!tag)
48
+ return [];
49
+ const assets = release.assets ?? [];
50
+ const escapedTag = escapeRegExp(tag);
51
+ const backends = [];
52
+ if (osType === 'windows') {
53
+ const re = new RegExp(`^llama-${escapedTag}-bin-(win-.+)\\.zip$`);
54
+ const isAllowed = (name) => name === 'win-cpu-x64' ||
55
+ /^win-cuda-12\.\d+-x64$/.test(name) ||
56
+ /^win-cuda-13\.\d+-x64$/.test(name) ||
57
+ /^win-rocm-\d+\.\d+-x64$/.test(name) ||
58
+ name === 'win-vulkan-x64';
59
+ for (const asset of assets) {
60
+ const backendName = re.exec(asset.name)?.[1];
61
+ if (!backendName || !isAllowed(backendName))
62
+ continue;
63
+ if (!backendName.endsWith(`-${archSuffix}`))
64
+ continue;
65
+ backends.push({ version: tag, backend: backendName, order: 0 });
66
+ }
67
+ return backends;
68
+ }
69
+ if (osType === 'linux') {
70
+ if (archSuffix !== 'x64')
71
+ return [];
72
+ const re = new RegExp(`^llama-${escapedTag}-bin-(ubuntu-.+)\\.tar\\.gz$`);
73
+ for (const asset of assets) {
74
+ const infix = re.exec(asset.name)?.[1];
75
+ const backendName = infix ? LINUX_BACKEND_BY_UPSTREAM_ASSET[infix] : undefined;
76
+ if (!backendName)
77
+ continue;
78
+ backends.push({ version: tag, backend: backendName, order: 0 });
79
+ }
80
+ return backends;
81
+ }
82
+ if (osType === 'macos') {
83
+ const re = new RegExp(`^llama-${escapedTag}-bin-(macos-.+)\\.tar\\.gz$`);
84
+ for (const asset of assets) {
85
+ const backendName = re.exec(asset.name)?.[1];
86
+ if (backendName !== `macos-${archSuffix}`)
87
+ continue;
88
+ backends.push({ version: tag, backend: backendName, order: 0 });
89
+ }
90
+ return backends;
91
+ }
92
+ return [];
93
+ }
94
+ /**
95
+ * Hard `Promise` timeout around a transport. The app needed this because some `plugin-http` paths
96
+ * ignored `AbortSignal`, letting the outer 20 s detection guard fire first; a core transport built on
97
+ * `fetch` may honour the signal but the belt-and-braces guard costs nothing.
98
+ */
99
+ export function withHardTimeout(promise, timeoutMs, message) {
100
+ let handle;
101
+ const timeout = new Promise((_, reject) => {
102
+ handle = setTimeout(() => reject(new Error(message)), timeoutMs);
103
+ });
104
+ return Promise.race([promise, timeout]).finally(() => {
105
+ if (handle !== undefined)
106
+ clearTimeout(handle);
107
+ });
108
+ }
109
+ /** A transport over a `fetch`-compatible function with an abort-on-timeout and the app's headers. */
110
+ export function manifestTransportFromFetch(label, fetchImpl, headers = { 'Accept': 'application/json', 'User-Agent': 'atomic-chat' }) {
111
+ return {
112
+ label,
113
+ fetch: (url, timeoutMs) => {
114
+ const controller = new AbortController();
115
+ const request = fetchImpl(url, { headers, signal: controller.signal });
116
+ return withHardTimeout(request, timeoutMs, `${label} timed out after ${timeoutMs}ms`).catch((err) => {
117
+ controller.abort();
118
+ throw err;
119
+ });
120
+ },
121
+ };
122
+ }
123
+ /**
124
+ * Race every transport (`Promise.any`) and return the first response, labelled. All failing raises
125
+ * `IO_ERROR` whose message carries each transport's reason, labelled, so a log line explains which
126
+ * path stalled (ATO-243: the Linux h2 stall against Fastly).
127
+ */
128
+ export async function fetchManifestWithFallbacks(transports, url = LLAMACPP_BACKEND_MANIFEST_URL, timeoutMs = MANIFEST_FETCH_TIMEOUT_MS) {
129
+ if (transports.length === 0) {
130
+ throw new AtomicCoreError('IO_ERROR', 'All manifest fetch attempts failed: no transports configured');
131
+ }
132
+ const wrapped = transports.map(({ label, fetch }) => Promise.resolve()
133
+ .then(() => fetch(url, timeoutMs))
134
+ .then((response) => ({ label, response }))
135
+ .catch((err) => {
136
+ const reason = err instanceof Error ? err.message : String(err);
137
+ throw new Error(`${label}: ${reason}`);
138
+ }));
139
+ try {
140
+ return await Promise.any(wrapped);
141
+ }
142
+ catch (aggregate) {
143
+ const reasons = aggregate instanceof AggregateError
144
+ ? aggregate.errors.map((e) => (e instanceof Error ? e.message : String(e))).join(' | ')
145
+ : aggregate instanceof Error
146
+ ? aggregate.message
147
+ : String(aggregate);
148
+ throw new AtomicCoreError('IO_ERROR', `All manifest fetch attempts failed: ${reasons}`);
149
+ }
150
+ }
151
+ /**
152
+ * In-memory manifest for one session. Populated ONLY by a genuinely successful live fetch, so a
153
+ * later transient stall can reuse the last good manifest. The bundled baseline is never stored:
154
+ * caching it would pin the session to a stale snapshot even after the network recovers (the
155
+ * ATO-243 cache-poisoning regression).
156
+ */
157
+ export class ManifestSessionCache {
158
+ manifest = null;
159
+ get() {
160
+ return this.manifest;
161
+ }
162
+ set(manifest) {
163
+ this.manifest = manifest;
164
+ }
165
+ clear() {
166
+ this.manifest = null;
167
+ }
168
+ }
169
+ /**
170
+ * Fetch the live manifest and cache it for the session, or `null` when it could not be obtained
171
+ * (transport failure, non-2xx, unparseable body, missing `tag_name`). Callers fall back to
172
+ * `BUNDLED_MANIFEST_BASELINE` themselves, keeping the "baseline is never cached" invariant visible.
173
+ * A tag differing from the bundled baseline is followed: the manifest is authoritative.
174
+ */
175
+ export async function fetchLiveManifest(options) {
176
+ const url = options.url ?? LLAMACPP_BACKEND_MANIFEST_URL;
177
+ const info = options.onInfo ?? (() => { });
178
+ const warn = options.onWarn ?? (() => { });
179
+ try {
180
+ info(`[fetchRemoteBackends] Fetching ${url}...`);
181
+ const { label, response } = await fetchManifestWithFallbacks(options.transports, url, options.timeoutMs);
182
+ info(`[fetchRemoteBackends] Manifest fetch succeeded via ${label}`);
183
+ if (!response.ok) {
184
+ warn(`[fetchRemoteBackends] Backend manifest returned ${response.status}; using bundled baseline (not cached, will retry next call)`);
185
+ return null;
186
+ }
187
+ const release = (await response.json());
188
+ if (!release || typeof release.tag_name !== 'string' || !release.tag_name) {
189
+ warn('[fetchRemoteBackends] Manifest missing tag_name; using bundled baseline (not cached, will retry next call)');
190
+ return null;
191
+ }
192
+ if (release.tag_name !== BUNDLED_BASELINE_TAG) {
193
+ info(`[fetchRemoteBackends] Manifest tag ${release.tag_name} differs from the bundled baseline ${BUNDLED_BASELINE_TAG}; following the manifest`);
194
+ }
195
+ options.cache.set(release);
196
+ return release;
197
+ }
198
+ catch (err) {
199
+ warn(`[fetchRemoteBackends] All manifest fetch transports failed; falling back to bundled baseline (not cached, will retry next call). ${err instanceof Error ? err.message : String(err)}`);
200
+ return null;
201
+ }
202
+ }
203
+ /**
204
+ * Backend builds available to this host: the session-cached manifest, else a live fetch, else the
205
+ * bundled baseline. Never throws and never returns the baseline through the cache. `[]` for an OS
206
+ * outside windows/linux/macos, for Linux on arm64 and for an Intel Mac.
207
+ */
208
+ export async function fetchRemoteBackends(options) {
209
+ const { osType, arch, cache } = options;
210
+ if (!isSupportedBackendOs(osType))
211
+ return [];
212
+ const archSuffix = archSuffixFor(arch);
213
+ const info = options.onInfo ?? (() => { });
214
+ if (options.force) {
215
+ cache.clear();
216
+ }
217
+ else {
218
+ const cached = cache.get();
219
+ if (cached) {
220
+ info('[fetchRemoteBackends] Using in-memory manifest cache');
221
+ return parseManifestForPlatform(cached, osType, archSuffix);
222
+ }
223
+ }
224
+ const live = await fetchLiveManifest(options);
225
+ if (!live)
226
+ return parseManifestForPlatform(options.baseline ?? BUNDLED_MANIFEST_BASELINE, osType, archSuffix);
227
+ const backends = parseManifestForPlatform(live, osType, archSuffix);
228
+ info(`[fetchRemoteBackends] Found ${backends.length} remote backends for ${osType}-${archSuffix}: ${backends
229
+ .map((b) => b.backend)
230
+ .join(', ')}`);
231
+ return backends;
232
+ }
233
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/backend/catalog/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Backend-id migration and the `version_backend` setting update. Port of `map_old_backend_to_new`,
3
+ * `should_migrate_backend` and `handle_setting_update` in
4
+ * `src-tauri/plugins/tauri-plugin-llamacpp-upstream/src/backend.rs`.
5
+ *
6
+ * Two naming generations exist in persisted settings: legacy janhq-mirror ids
7
+ * (`win-cuda-12-common_cpus-x64`, `win-noavx-cuda-cu11.7-x64`, `linux-avx2-x64`, …) and the
8
+ * ggml-org native ids the upstream provider uses now (`win-cuda-12.4-x64`, `linux-vulkan-x64`,
9
+ * `macos-arm64`). `mapOldBackendToNew` folds the former onto the closest of the latter so an old
10
+ * setting still resolves to something downloadable.
11
+ */
12
+ import type { BackendVersion, SettingUpdateResult } from '../types.js';
13
+ /**
14
+ * Closest current id for a legacy backend id; current ids round-trip unchanged.
15
+ *
16
+ * - `ubuntu-*` (a tarball installed by file name, ATO-233) → `linux-{cpu,vulkan}-<arch>`.
17
+ * - Windows: `win-cpu-x64`, the family ids `win-cuda-13-x64` / `win-rocm-*`, concrete
18
+ * `cuda-12.4` / `cuda-13.3` and `win-vulkan-x64` pass through; legacy CUDA 13 / `cu13` →
19
+ * `win-cuda-13.3`, CUDA 12 / `cu12` → `win-cuda-12.4`, CUDA 11 / `cu11` → `win-cuda-12.4`
20
+ * (ggml-org dropped CUDA 11; the driver gate refuses it on too-old hosts), vulkan →
21
+ * `win-vulkan`, AVX tiers / `common_cpus` → `win-cpu`.
22
+ * - Linux (2026-05-28 ADR "Linux ships only `llamacpp-upstream`"): `linux-cpu-x64` and
23
+ * `linux-vulkan-x64` pass through; on x64 anything with `vulkan` → `linux-vulkan-x64`, everything
24
+ * else (CUDA tiers included — upstream publishes no `ubuntu-cuda-*`) → `linux-cpu-x64`; arm64 →
25
+ * the phase-2 placeholder `linux-cpu-arm64`.
26
+ * - Any other OS: legacy AVX tiers → `<os>common_cpus-<arch>`, else unchanged.
27
+ */
28
+ export declare function mapOldBackendToNew(oldBackend: string): string;
29
+ /**
30
+ * The id a stored backend-type preference should migrate to, or `null` when it is already current
31
+ * or the mapped type is not available in `versionBackends` (then the preference is left alone).
32
+ */
33
+ export declare function shouldMigrateBackend(storedBackendType: string, versionBackends: BackendVersion[]): string | null;
34
+ /**
35
+ * Interpret a settings write. Only `version_backend` matters: its value is BOM-stripped, split into
36
+ * `<version>/<backend>` (`INVALID_ARGUMENT` otherwise), the backend id normalised, and
37
+ * `backend_type_updated` says whether the effective type differs from `currentStoredBackend`
38
+ * (`null` stored → updated). A `version_backend` write always needs an installation check.
39
+ */
40
+ export declare function handleSettingUpdate(key: string, value: string, currentStoredBackend: string | null): SettingUpdateResult;
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Backend-id migration and the `version_backend` setting update. Port of `map_old_backend_to_new`,
3
+ * `should_migrate_backend` and `handle_setting_update` in
4
+ * `src-tauri/plugins/tauri-plugin-llamacpp-upstream/src/backend.rs`.
5
+ *
6
+ * Two naming generations exist in persisted settings: legacy janhq-mirror ids
7
+ * (`win-cuda-12-common_cpus-x64`, `win-noavx-cuda-cu11.7-x64`, `linux-avx2-x64`, …) and the
8
+ * ggml-org native ids the upstream provider uses now (`win-cuda-12.4-x64`, `linux-vulkan-x64`,
9
+ * `macos-arm64`). `mapOldBackendToNew` folds the former onto the closest of the latter so an old
10
+ * setting still resolves to something downloadable.
11
+ */
12
+ import { AtomicCoreError } from '../../contracts/index.js';
13
+ /**
14
+ * Closest current id for a legacy backend id; current ids round-trip unchanged.
15
+ *
16
+ * - `ubuntu-*` (a tarball installed by file name, ATO-233) → `linux-{cpu,vulkan}-<arch>`.
17
+ * - Windows: `win-cpu-x64`, the family ids `win-cuda-13-x64` / `win-rocm-*`, concrete
18
+ * `cuda-12.4` / `cuda-13.3` and `win-vulkan-x64` pass through; legacy CUDA 13 / `cu13` →
19
+ * `win-cuda-13.3`, CUDA 12 / `cu12` → `win-cuda-12.4`, CUDA 11 / `cu11` → `win-cuda-12.4`
20
+ * (ggml-org dropped CUDA 11; the driver gate refuses it on too-old hosts), vulkan →
21
+ * `win-vulkan`, AVX tiers / `common_cpus` → `win-cpu`.
22
+ * - Linux (2026-05-28 ADR "Linux ships only `llamacpp-upstream`"): `linux-cpu-x64` and
23
+ * `linux-vulkan-x64` pass through; on x64 anything with `vulkan` → `linux-vulkan-x64`, everything
24
+ * else (CUDA tiers included — upstream publishes no `ubuntu-cuda-*`) → `linux-cpu-x64`; arm64 →
25
+ * the phase-2 placeholder `linux-cpu-arm64`.
26
+ * - Any other OS: legacy AVX tiers → `<os>common_cpus-<arch>`, else unchanged.
27
+ */
28
+ export function mapOldBackendToNew(oldBackend) {
29
+ if (oldBackend.startsWith('ubuntu-')) {
30
+ const archSuffix = oldBackend.includes('-arm64') ? 'arm64' : 'x64';
31
+ if (oldBackend.includes('vulkan'))
32
+ return `linux-vulkan-${archSuffix}`;
33
+ return `linux-cpu-${archSuffix}`;
34
+ }
35
+ const isWindows = oldBackend.startsWith('win-');
36
+ const isLinux = oldBackend.startsWith('linux-');
37
+ const osPrefix = isWindows ? 'win-' : isLinux ? 'linux-' : '';
38
+ const archSuffix = oldBackend.includes('-arm64') ? 'arm64' : 'x64';
39
+ const isX64 = archSuffix === 'x64';
40
+ const arch = archSuffix;
41
+ if (isWindows &&
42
+ (oldBackend === 'win-cpu-x64' ||
43
+ oldBackend === 'win-cuda-13-x64' ||
44
+ oldBackend.includes('cuda-12.4') ||
45
+ oldBackend.includes('cuda-13.3') ||
46
+ oldBackend.includes('rocm') ||
47
+ oldBackend === 'win-vulkan-x64')) {
48
+ return oldBackend;
49
+ }
50
+ if (isWindows && (oldBackend.includes('cuda-13') || oldBackend.includes('cu13'))) {
51
+ return `win-cuda-13.3-${arch}`;
52
+ }
53
+ if (isWindows && (oldBackend.includes('cuda-12') || oldBackend.includes('cu12'))) {
54
+ return `win-cuda-12.4-${arch}`;
55
+ }
56
+ if (isWindows && (oldBackend.includes('cuda-11') || oldBackend.includes('cu11'))) {
57
+ return `win-cuda-12.4-${arch}`;
58
+ }
59
+ if (isWindows && oldBackend.includes('vulkan')) {
60
+ return `win-vulkan-${arch}`;
61
+ }
62
+ if (isWindows &&
63
+ (oldBackend.includes('common_cpus') ||
64
+ oldBackend.includes('avx512') ||
65
+ oldBackend.includes('avx2') ||
66
+ oldBackend.includes('avx-x64') ||
67
+ oldBackend.includes('noavx-x64'))) {
68
+ return `win-cpu-${arch}`;
69
+ }
70
+ if (isLinux) {
71
+ if (oldBackend === 'linux-cpu-x64' || oldBackend === 'linux-vulkan-x64')
72
+ return oldBackend;
73
+ if (isX64) {
74
+ if (oldBackend.includes('vulkan'))
75
+ return 'linux-vulkan-x64';
76
+ return 'linux-cpu-x64';
77
+ }
78
+ return 'linux-cpu-arm64';
79
+ }
80
+ const isOldCpuBackend = oldBackend.includes('avx512') ||
81
+ oldBackend.includes('avx2') ||
82
+ oldBackend.includes('avx-x64') ||
83
+ oldBackend.includes('noavx-x64');
84
+ if (isOldCpuBackend)
85
+ return `${osPrefix}common_cpus-${arch}`;
86
+ return oldBackend;
87
+ }
88
+ /**
89
+ * The id a stored backend-type preference should migrate to, or `null` when it is already current
90
+ * or the mapped type is not available in `versionBackends` (then the preference is left alone).
91
+ */
92
+ export function shouldMigrateBackend(storedBackendType, versionBackends) {
93
+ const mapped = mapOldBackendToNew(storedBackendType);
94
+ if (mapped === storedBackendType)
95
+ return null;
96
+ const available = versionBackends.some((vb) => mapOldBackendToNew(vb.backend) === mapped);
97
+ return available ? mapped : null;
98
+ }
99
+ /**
100
+ * Interpret a settings write. Only `version_backend` matters: its value is BOM-stripped, split into
101
+ * `<version>/<backend>` (`INVALID_ARGUMENT` otherwise), the backend id normalised, and
102
+ * `backend_type_updated` says whether the effective type differs from `currentStoredBackend`
103
+ * (`null` stored → updated). A `version_backend` write always needs an installation check.
104
+ */
105
+ export function handleSettingUpdate(key, value, currentStoredBackend) {
106
+ if (key !== 'version_backend') {
107
+ return {
108
+ backend_type_updated: false,
109
+ effective_backend_type: null,
110
+ needs_backend_installation: false,
111
+ version: null,
112
+ backend: null,
113
+ };
114
+ }
115
+ const cleanValue = value.replace(/\uFEFF/g, '');
116
+ const parts = cleanValue.split('/');
117
+ if (parts.length !== 2) {
118
+ throw new AtomicCoreError('INVALID_ARGUMENT', `Invalid backend format: ${cleanValue}`);
119
+ }
120
+ const version = (parts[0] ?? '').trim();
121
+ const backend = (parts[1] ?? '').trim();
122
+ if (!version || !backend) {
123
+ throw new AtomicCoreError('INVALID_ARGUMENT', `Invalid backend format: ${value}`);
124
+ }
125
+ const effectiveBackendType = mapOldBackendToNew(backend);
126
+ const backendTypeUpdated = currentStoredBackend === null ? true : currentStoredBackend !== effectiveBackendType;
127
+ return {
128
+ backend_type_updated: backendTypeUpdated,
129
+ effective_backend_type: effectiveBackendType,
130
+ needs_backend_installation: true,
131
+ version,
132
+ backend,
133
+ };
134
+ }
135
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/backend/catalog/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Backend packs: manifest + URL resolution, hardware tier selection, id migration, installed-pack
3
+ * helpers and the optimal-backend cache. Pure policy only — downloads, extraction, directory scans
4
+ * and `--list-devices` spawning are phase 1 and live in `downloads/` and `runtime/`.
5
+ *
6
+ * Ported from: extensions/llamacpp-upstream-extension/src/backend.ts, bundledManifestBaseline.ts,
7
+ * index.ts (optimal cache, configureBackends decisions, tier probing), scripts/resolve-upstream-backend.mjs,
8
+ * tauri-plugin-llamacpp-upstream/src/{backend,amd_rocm_pci_ids}.rs.
9
+ * See PLAN.md §3.2. Public API of this module is exported from this file only.
10
+ */
11
+ export * from './types.js';
12
+ export * from './version.js';
13
+ export * from './catalog/index.js';
14
+ export * from './select/index.js';
15
+ export * from './optimal/index.js';
16
+ export * from './installed/index.js';
17
+ export * from './turboquant.js';
18
+ export * from './install/index.js';
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Backend packs: manifest + URL resolution, hardware tier selection, id migration, installed-pack
3
+ * helpers and the optimal-backend cache. Pure policy only — downloads, extraction, directory scans
4
+ * and `--list-devices` spawning are phase 1 and live in `downloads/` and `runtime/`.
5
+ *
6
+ * Ported from: extensions/llamacpp-upstream-extension/src/backend.ts, bundledManifestBaseline.ts,
7
+ * index.ts (optimal cache, configureBackends decisions, tier probing), scripts/resolve-upstream-backend.mjs,
8
+ * tauri-plugin-llamacpp-upstream/src/{backend,amd_rocm_pci_ids}.rs.
9
+ * See PLAN.md §3.2. Public API of this module is exported from this file only.
10
+ */
11
+ export * from './types.js';
12
+ export * from './version.js';
13
+ export * from './catalog/index.js';
14
+ export * from './select/index.js';
15
+ export * from './optimal/index.js';
16
+ export * from './installed/index.js';
17
+ export * from './turboquant.js';
18
+ export * from './install/index.js';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Installing and updating backends, and resolving the installed backend a runtime runs on. */
2
+ export * from './runtime-backend.js';
3
+ export * from './service.js';
@@ -0,0 +1,4 @@
1
+ /** Installing and updating backends, and resolving the installed backend a runtime runs on. */
2
+ export * from './runtime-backend.js';
3
+ export * from './service.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backend/install/index.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA"}
@@ -0,0 +1,22 @@
1
+ import type { LocalProviderId } from '../../contracts/index.js';
2
+ import type { DataLayout } from '../../config/index.js';
3
+ import type { RuntimeSettings } from '../../runtime/llamacpp/index.js';
4
+ import type { SettingsStore } from '../../settings/index.js';
5
+ import type { HardwareOverrideStore } from '../../hardware/index.js';
6
+ import type { RocmHostProbe } from '../turboquant.js';
7
+ /** Provider settings plus the engine-level keys the load plan reads. */
8
+ export declare function readRuntimeSettings(settings: SettingsStore, provider: LocalProviderId, layout: DataLayout, hardware: HardwareOverrideStore): Promise<RuntimeSettings>;
9
+ /**
10
+ * The installed backend a load runs on: the configured pack when it is on disk, otherwise the best
11
+ * compatible installed one. `repair` runs on the pack that will be used before it is returned — the
12
+ * TurboQuant provider puts a missing CUDA runtime back there, as its extension did before every load.
13
+ */
14
+ export declare function ensureBackend(layout: DataLayout, provider: LocalProviderId, backend: string, version: string, hardware: HardwareOverrideStore, hostArch?: NodeJS.Architecture, repair?: (backend: string, version: string) => Promise<void>): Promise<{
15
+ version: string;
16
+ backend: string;
17
+ exePath: string;
18
+ }>;
19
+ /** Choose among installed packs using the app-injected hardware facts, never directory order. */
20
+ export declare function selectInstalledBackend(layout: DataLayout, provider: LocalProviderId, hardware: HardwareOverrideStore, hostArch?: NodeJS.Architecture, probeRocm?: () => Promise<RocmHostProbe>): Promise<import("../installed/scan.js").DiscoveredBackendBinary | undefined>;
21
+ /** Node's `process.arch` in the Rust spelling the backend and CPU policies expect (`x64` → `x86_64`). */
22
+ export declare function platformArch(arch: string): string;