@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
package/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # atomic-chat-core
2
+
3
+ TypeScript inference core of [Atomic Chat](https://github.com/AtomicBot-ai/Atomic-Chat): local llama.cpp /
4
+ MLX / Apple Foundation Models runtime, backend and model management, cloud providers, model router and the
5
+ OpenAI-compatible server on `http://localhost:1337/v1`.
6
+
7
+ - Working in this repo: [`AGENTS.md`](AGENTS.md)
8
+ - The plan, architecture and port-spec: [`PLAN.md`](PLAN.md)
9
+ - Decisions: [`docs/decisions/INDEX.md`](docs/decisions/INDEX.md)
10
+
11
+ ```bash
12
+ bun install
13
+ npm run verify
14
+ ```
15
+
16
+ Phase-1 CLI examples:
17
+
18
+ ```bash
19
+ atomic-chat-core serve owner/repository --select
20
+ atomic-chat-core serve --model-path ./model.gguf --bin ./llama-server --port 6767
21
+ atomic-chat-core models list --json
22
+ atomic-chat-core shutdown
23
+ ```
24
+
25
+ `serve` attaches to the one persistent owner for the selected data folder. The command can exit
26
+ without unloading the model; `shutdown` explicitly stops that owner and its sessions.
27
+
28
+ ## Releasing
29
+
30
+ The desktop app pins a core version (`atomicCore.version` in its `package.json`) and downloads that
31
+ release's binaries, checking them against `SHA256SUMS`.
32
+
33
+ ```bash
34
+ make release # patch; or VERSION=minor, major, or an explicit X.Y.Z
35
+ ```
36
+
37
+ It bumps `package.json` and `src/version.ts` together, commits `release: vX.Y.Z`, tags it and pushes
38
+ the branch and the tag (the current version, given explicitly, only tags `HEAD`). Without make:
39
+ `npm run release -- patch --push`, or leave out `--push` to look before pushing. The tag runs the
40
+ `release` workflow: the same gates as CI on macOS, Linux and Windows (Linux and Windows on x64 and arm64), both
41
+ binaries cross-compiled for every target (macOS arm64 and x64, Windows x64 and arm64, Linux x64 and arm64), then
42
+ `vX.Y.Z` published with the binaries and `SHA256SUMS` as the latest release.
43
+
44
+ The workflow can also be started by hand for the version already in `package.json` on a branch
45
+ (Actions → release → Run workflow, or `gh workflow run release.yml --ref <branch>`); it creates the
46
+ tag itself. A published version is never replaced: a second run for it fails, so bump first.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env node
2
+ /** Dedicated app-owned binary. It has no CLI command dispatcher or path override for CLI commands. */
3
+ import { homedir } from 'node:os';
4
+ import { parseArgs } from 'node:util';
5
+ import { dataLayout } from './config/index.js';
6
+ import { AtomicCore } from './core/index.js';
7
+ import { CORE_VERSION } from './version.js';
8
+ import { nodeCliIo } from './cli/io.js';
9
+ import { breadcrumbLogger, createCoreReporter, failFatally, installProcessHandlers, parseTelemetryFlag, } from './telemetry/index.js';
10
+ const io = nodeCliIo();
11
+ const args = process.argv.slice(2);
12
+ if (args.length === 1 && args[0] === '--version') {
13
+ io.stdout(`${CORE_VERSION}\n`);
14
+ }
15
+ else {
16
+ const command = args.shift();
17
+ if (command !== 'daemon')
18
+ throw new Error('The app core only accepts the daemon command.');
19
+ const { values } = parseArgs({
20
+ args,
21
+ options: {
22
+ 'data-folder': { type: 'string' },
23
+ 'control-port': { type: 'string' },
24
+ 'resources-dir': { type: 'string' },
25
+ 'cloudflared-bin': { type: 'string' },
26
+ // The app's `productAnalytic` consent at launch; it updates it later over PUT /telemetry.
27
+ // Absent, the core decides for itself (docs/decisions/*-the-core-owns-its-error-reporting.md).
28
+ 'telemetry': { type: 'string' },
29
+ },
30
+ strict: true,
31
+ });
32
+ const dataFolder = values['data-folder'];
33
+ if (!dataFolder)
34
+ throw new Error('The app must supply its data folder.');
35
+ const reporter = await createCoreReporter({
36
+ host: 'atomic-chat',
37
+ ownerScope: 'app',
38
+ enabled: parseTelemetryFlag(values['telemetry']),
39
+ dataFolder,
40
+ telemetryFile: dataLayout(dataFolder).core.telemetry,
41
+ homeDir: homedir(),
42
+ env: io.env,
43
+ platform: process.platform,
44
+ arch: process.arch,
45
+ version: CORE_VERSION,
46
+ warn: (message) => io.stderr(`[warn] ${message}\n`),
47
+ });
48
+ const fatal = { reporter, writeStderr: io.stderr, exit: (code) => process.exit(code) };
49
+ installProcessHandlers(process, fatal);
50
+ let core;
51
+ try {
52
+ core = await AtomicCore.create({
53
+ ownerScope: 'app',
54
+ dataFolder,
55
+ controlPort: Number(values['control-port'] ?? 0),
56
+ ...(values['resources-dir'] ? { resourcesDir: values['resources-dir'] } : {}),
57
+ // The app bundles the tunnel binary next to its own executable, not under its resources.
58
+ ...(values['cloudflared-bin'] ? { cloudflaredPath: values['cloudflared-bin'] } : {}),
59
+ env: io.env,
60
+ errorReporter: reporter,
61
+ logger: breadcrumbLogger(reporter, (level, message) => io.stderr(`[${level}] ${message}\n`)),
62
+ });
63
+ }
64
+ catch (error) {
65
+ await failFatally('startup', error, fatal);
66
+ throw error;
67
+ }
68
+ io.stdout(`${JSON.stringify(core.readyLine())}\n`);
69
+ await Promise.race([io.waitForShutdown(() => core.shutdown()), core.stopped]);
70
+ await reporter.flush();
71
+ }
72
+ //# sourceMappingURL=app-daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-daemon.js","sourceRoot":"","sources":["../src/app-daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Archive names, download URLs and the cudart companion. Port of
3
+ * `extensions/llamacpp-upstream-extension/src/backend.ts` (`getBackendArchiveName`,
4
+ * `getBackendDownloadUrl`, `resolveBackendArchiveSource`, `friendlyBackendLabel`,
5
+ * `requiredDiskSpaceForBackend`, `getCudart*`, `getCudaToolkitVersion`). The build-time duplicate
6
+ * in `scripts/resolve-upstream-backend.mjs` (`assetNameFor`, `pickSource`) gives the same answers;
7
+ * `archive.test.ts` proves it so the script can be deleted later.
8
+ *
9
+ * Pure: `resolveBackendArchiveSource` takes the manifest as data instead of fetching it.
10
+ */
11
+ import type { BackendArchiveSource, UpstreamManifest } from '../types.js';
12
+ /**
13
+ * Un-mirrored fallback: the official ggml-org/llama.cpp release stream. Deliberately not the
14
+ * janhq mirror and not the TurboQuant fork.
15
+ */
16
+ export declare const GGML_ORG_DOWNLOAD_BASE = "https://github.com/ggml-org/llama.cpp/releases/download";
17
+ /**
18
+ * Internal Linux backend id → ggml-org asset infix (between `bin-` and `.tar.gz`). Upstream calls
19
+ * its Linux builds `ubuntu-*`; the app surfaces them as `linux-*`. The whitelist is deliberately
20
+ * narrow (`s390x`, `arm64`, `rocm-*`, `openvino-*`, `vulkan-arm64` are dropped).
21
+ */
22
+ export declare const LINUX_UPSTREAM_ASSET_BY_BACKEND: Readonly<Record<string, string>>;
23
+ export declare const LINUX_BACKEND_BY_UPSTREAM_ASSET: Readonly<Record<string, string>>;
24
+ /**
25
+ * `llama-{tag}-bin-{variant}.{tar.gz|zip}`: macOS and Linux tarballs, Windows zips; Linux ids are
26
+ * translated to their `ubuntu-*` infix.
27
+ */
28
+ export declare function getBackendArchiveName(version: string, backend: string): string;
29
+ /**
30
+ * Download URL on the ggml-org CDN — the un-mirrored shape. Download paths should prefer
31
+ * `resolveBackendArchiveSource`. A literal `latest` tag is an unresolved dropdown sentinel that
32
+ * leaked through (ATO-95) and is rejected rather than turned into a guaranteed-404 URL.
33
+ */
34
+ export declare function getBackendDownloadUrl(version: string, backend: string): string;
35
+ /**
36
+ * Where to download an archive from and what it must hash to. The manifest's `download_base` (the
37
+ * signed mirror) is used only when the manifest describes *this exact tag* and lists *this exact
38
+ * asset* with a hash and size; anything else — an older tag, an unmirrored tag, no manifest —
39
+ * resolves to the ggml-org CDN without a hash.
40
+ */
41
+ export declare function resolveBackendArchiveSource(version: string, backend: string, manifest: UpstreamManifest | null | undefined): BackendArchiveSource;
42
+ /** Short label for the "Latest <variant>" dropdown entries; the raw id for anything unrecognised. */
43
+ export declare function friendlyBackendLabel(backend: string): string;
44
+ /**
45
+ * Unpacked size of the Windows HIP tree (1072 MB on b10809 / ROCm 10.0; `ggml-hip.dll` alone is
46
+ * 896 MB). The reason a free-space precondition exists at all. Re-measure on the next HIP major.
47
+ */
48
+ export declare const WIN_ROCM_UNPACKED_BYTES: number;
49
+ /** Headroom over archive + unpacked so the check does not green-light a volume landing at zero. */
50
+ export declare const BACKEND_INSTALL_HEADROOM_BYTES: number;
51
+ /** Archive size used when the manifest carries none (232.9 MB measured for b10809 win-rocm-10.0). */
52
+ export declare const WIN_ROCM_ARCHIVE_BYTES_FALLBACK: number;
53
+ /**
54
+ * Bytes that must be free before downloading `backend`, or `null` when no precondition is
55
+ * warranted (every non-HIP archive unpacks well under 300 MB). The archive counts alongside the
56
+ * unpacked tree because it stays in staging until extraction finishes.
57
+ */
58
+ export declare function requiredDiskSpaceForBackend(backend: string, archiveBytes?: number): number | null;
59
+ /**
60
+ * `cudart-llama-bin-win-cuda-<toolkit>-x64.zip`: the CUDA runtime DLLs the main Windows CUDA
61
+ * archive does not carry. Without them `llama-server.exe --list-devices` is empty on hosts without
62
+ * a system-wide toolkit (Atomic-Chat#14). Never mirrored — NVIDIA-signed and ~391 MB each.
63
+ */
64
+ export declare function buildWindowsCudartArchiveName(cudaToolkitVersion: string): string;
65
+ /** cudart companion URL on the ggml-org CDN, or `null` for a non-CUDA Windows backend. */
66
+ export declare function getCudartDownloadUrl(version: string, backend: string): string | null;
67
+ /** cudart companion file name, or `null` for a non-CUDA Windows backend. */
68
+ export declare function getCudartArchiveName(backend: string): string | null;
69
+ /** CUDA toolkit version (`"13.3"`) `isCudaInstalled` expects for a Windows CUDA backend, else `null`. */
70
+ export declare function getCudaToolkitVersion(backend: string): string | null;
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Archive names, download URLs and the cudart companion. Port of
3
+ * `extensions/llamacpp-upstream-extension/src/backend.ts` (`getBackendArchiveName`,
4
+ * `getBackendDownloadUrl`, `resolveBackendArchiveSource`, `friendlyBackendLabel`,
5
+ * `requiredDiskSpaceForBackend`, `getCudart*`, `getCudaToolkitVersion`). The build-time duplicate
6
+ * in `scripts/resolve-upstream-backend.mjs` (`assetNameFor`, `pickSource`) gives the same answers;
7
+ * `archive.test.ts` proves it so the script can be deleted later.
8
+ *
9
+ * Pure: `resolveBackendArchiveSource` takes the manifest as data instead of fetching it.
10
+ */
11
+ import { AtomicCoreError } from '../../contracts/index.js';
12
+ import { matchWindowsCudaBackend } from './cuda-family.js';
13
+ import { stripBom } from '../version.js';
14
+ /**
15
+ * Un-mirrored fallback: the official ggml-org/llama.cpp release stream. Deliberately not the
16
+ * janhq mirror and not the TurboQuant fork.
17
+ */
18
+ export const GGML_ORG_DOWNLOAD_BASE = 'https://github.com/ggml-org/llama.cpp/releases/download';
19
+ /**
20
+ * Internal Linux backend id → ggml-org asset infix (between `bin-` and `.tar.gz`). Upstream calls
21
+ * its Linux builds `ubuntu-*`; the app surfaces them as `linux-*`. The whitelist is deliberately
22
+ * narrow (`s390x`, `arm64`, `rocm-*`, `openvino-*`, `vulkan-arm64` are dropped).
23
+ */
24
+ export const LINUX_UPSTREAM_ASSET_BY_BACKEND = {
25
+ 'linux-cpu-x64': 'ubuntu-x64',
26
+ 'linux-vulkan-x64': 'ubuntu-vulkan-x64',
27
+ };
28
+ export const LINUX_BACKEND_BY_UPSTREAM_ASSET = Object.fromEntries(Object.entries(LINUX_UPSTREAM_ASSET_BY_BACKEND).map(([k, v]) => [v, k]));
29
+ /**
30
+ * `llama-{tag}-bin-{variant}.{tar.gz|zip}`: macOS and Linux tarballs, Windows zips; Linux ids are
31
+ * translated to their `ubuntu-*` infix.
32
+ */
33
+ export function getBackendArchiveName(version, backend) {
34
+ const tag = stripBom(version);
35
+ const id = stripBom(backend);
36
+ const linuxInfix = LINUX_UPSTREAM_ASSET_BY_BACKEND[id];
37
+ if (linuxInfix)
38
+ return `llama-${tag}-bin-${linuxInfix}.tar.gz`;
39
+ const extension = id.startsWith('macos-') ? 'tar.gz' : 'zip';
40
+ return `llama-${tag}-bin-${id}.${extension}`;
41
+ }
42
+ /**
43
+ * Download URL on the ggml-org CDN — the un-mirrored shape. Download paths should prefer
44
+ * `resolveBackendArchiveSource`. A literal `latest` tag is an unresolved dropdown sentinel that
45
+ * leaked through (ATO-95) and is rejected rather than turned into a guaranteed-404 URL.
46
+ */
47
+ export function getBackendDownloadUrl(version, backend) {
48
+ const tag = stripBom(version);
49
+ const id = stripBom(backend);
50
+ if (tag === 'latest') {
51
+ throw new AtomicCoreError('INVALID_ARGUMENT', `getBackendDownloadUrl: unresolved 'latest' tag for backend '${id}'. The latest/<backend> sentinel must be resolved to a concrete release tag before download.`);
52
+ }
53
+ return `${GGML_ORG_DOWNLOAD_BASE}/${tag}/${getBackendArchiveName(tag, id)}`;
54
+ }
55
+ /**
56
+ * Where to download an archive from and what it must hash to. The manifest's `download_base` (the
57
+ * signed mirror) is used only when the manifest describes *this exact tag* and lists *this exact
58
+ * asset* with a hash and size; anything else — an older tag, an unmirrored tag, no manifest —
59
+ * resolves to the ggml-org CDN without a hash.
60
+ */
61
+ export function resolveBackendArchiveSource(version, backend, manifest) {
62
+ const tag = stripBom(version);
63
+ const archiveName = getBackendArchiveName(tag, backend);
64
+ const fallback = { url: `${GGML_ORG_DOWNLOAD_BASE}/${tag}/${archiveName}` };
65
+ if (!manifest || manifest.tag_name !== tag || !manifest.download_base)
66
+ return fallback;
67
+ const asset = (manifest.assets ?? []).find((a) => a.name === archiveName);
68
+ if (!asset?.sha256 || !asset.size)
69
+ return fallback;
70
+ return { url: `${manifest.download_base}/${tag}/${archiveName}`, sha256: asset.sha256, size: asset.size };
71
+ }
72
+ /** Short label for the "Latest <variant>" dropdown entries; the raw id for anything unrecognised. */
73
+ export function friendlyBackendLabel(backend) {
74
+ const id = stripBom(backend);
75
+ if (id.endsWith('cpu-x64'))
76
+ return 'CPU';
77
+ if (id.includes('cuda-13'))
78
+ return 'CUDA 13';
79
+ if (id.includes('cuda-12'))
80
+ return 'CUDA 12';
81
+ if (id.includes('rocm')) {
82
+ const version = /rocm-(\d+\.\d+)/.exec(id)?.[1];
83
+ return version ? `ROCm ${version} (~1 GB)` : 'ROCm (~1 GB)';
84
+ }
85
+ if (id.includes('vulkan'))
86
+ return 'Vulkan';
87
+ if (id === 'macos-arm64')
88
+ return 'Apple Silicon';
89
+ if (id === 'macos-x64')
90
+ return 'Intel';
91
+ return id;
92
+ }
93
+ /**
94
+ * Unpacked size of the Windows HIP tree (1072 MB on b10809 / ROCm 10.0; `ggml-hip.dll` alone is
95
+ * 896 MB). The reason a free-space precondition exists at all. Re-measure on the next HIP major.
96
+ */
97
+ export const WIN_ROCM_UNPACKED_BYTES = 1080 * 1024 * 1024;
98
+ /** Headroom over archive + unpacked so the check does not green-light a volume landing at zero. */
99
+ export const BACKEND_INSTALL_HEADROOM_BYTES = 200 * 1024 * 1024;
100
+ /** Archive size used when the manifest carries none (232.9 MB measured for b10809 win-rocm-10.0). */
101
+ export const WIN_ROCM_ARCHIVE_BYTES_FALLBACK = 250 * 1024 * 1024;
102
+ /**
103
+ * Bytes that must be free before downloading `backend`, or `null` when no precondition is
104
+ * warranted (every non-HIP archive unpacks well under 300 MB). The archive counts alongside the
105
+ * unpacked tree because it stays in staging until extraction finishes.
106
+ */
107
+ export function requiredDiskSpaceForBackend(backend, archiveBytes) {
108
+ const id = stripBom(backend);
109
+ if (!id.includes('rocm'))
110
+ return null;
111
+ const archive = archiveBytes && archiveBytes > 0 ? archiveBytes : WIN_ROCM_ARCHIVE_BYTES_FALLBACK;
112
+ return archive + WIN_ROCM_UNPACKED_BYTES + BACKEND_INSTALL_HEADROOM_BYTES;
113
+ }
114
+ /**
115
+ * `cudart-llama-bin-win-cuda-<toolkit>-x64.zip`: the CUDA runtime DLLs the main Windows CUDA
116
+ * archive does not carry. Without them `llama-server.exe --list-devices` is empty on hosts without
117
+ * a system-wide toolkit (Atomic-Chat#14). Never mirrored — NVIDIA-signed and ~391 MB each.
118
+ */
119
+ export function buildWindowsCudartArchiveName(cudaToolkitVersion) {
120
+ return `cudart-llama-bin-win-cuda-${cudaToolkitVersion}-x64.zip`;
121
+ }
122
+ /** cudart companion URL on the ggml-org CDN, or `null` for a non-CUDA Windows backend. */
123
+ export function getCudartDownloadUrl(version, backend) {
124
+ const toolkit = matchWindowsCudaBackend(backend);
125
+ if (!toolkit)
126
+ return null;
127
+ return `${GGML_ORG_DOWNLOAD_BASE}/${stripBom(version)}/${buildWindowsCudartArchiveName(toolkit)}`;
128
+ }
129
+ /** cudart companion file name, or `null` for a non-CUDA Windows backend. */
130
+ export function getCudartArchiveName(backend) {
131
+ const toolkit = matchWindowsCudaBackend(backend);
132
+ return toolkit ? buildWindowsCudartArchiveName(toolkit) : null;
133
+ }
134
+ /** CUDA toolkit version (`"13.3"`) `isCudaInstalled` expects for a Windows CUDA backend, else `null`. */
135
+ export function getCudaToolkitVersion(backend) {
136
+ return matchWindowsCudaBackend(backend);
137
+ }
138
+ //# sourceMappingURL=archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/backend/catalog/archive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { UpstreamManifest } from '../types.js';
2
+ export declare const BUNDLED_MANIFEST_BASELINE: UpstreamManifest;
@@ -0,0 +1,49 @@
1
+ export const BUNDLED_MANIFEST_BASELINE = {
2
+ tag_name: 'b10809',
3
+ download_base: 'https://github.com/AtomicBot-ai/atomic-chat-conf/releases/download',
4
+ assets: [
5
+ {
6
+ name: 'llama-b10809-bin-macos-arm64.tar.gz',
7
+ sha256: '60bd20e22dcaee096da9147f3ab49eee37020191faafd636af398e099930b753',
8
+ size: 11224595,
9
+ },
10
+ {
11
+ name: 'llama-b10809-bin-ubuntu-vulkan-x64.tar.gz',
12
+ sha256: '07f029cef440c82c3cff5310641eb6347e5cbcd865a5d88990215058aa049e93',
13
+ size: 33799345,
14
+ },
15
+ {
16
+ name: 'llama-b10809-bin-ubuntu-x64.tar.gz',
17
+ sha256: '5e34434ddc6d03cd1584f403201aff0d4bd1a5793a72ff7e286532dfd1e4b941',
18
+ size: 16734586,
19
+ },
20
+ {
21
+ name: 'llama-b10809-bin-win-cpu-x64.zip',
22
+ sha256: 'e1bb4c011f07258d5a9097f30bc7a146c218f7277a379a4c6cd3a387ee4f2365',
23
+ size: 18795766,
24
+ },
25
+ {
26
+ name: 'llama-b10809-bin-win-cuda-12.4-x64.zip',
27
+ sha256: 'a6bd974afd54d0944c7b2fbb852ccf6edb24c6d52cf2dc1be1b1e5ff15fc16f0',
28
+ size: 253794542,
29
+ },
30
+ {
31
+ name: 'llama-b10809-bin-win-cuda-13.3-x64.zip',
32
+ sha256: '71b040eec949e91d2e4845b7a6977169f1978d6b93b0b8f5c81251f7f738d11f',
33
+ size: 149413981,
34
+ },
35
+ {
36
+ name: 'llama-b10809-bin-win-rocm-10.0-x64.zip',
37
+ sha256: 'a2f7668e4ae1d63eef635e2d2748f3b3c053fe9733ae902056fddb3911e063a3',
38
+ size: 244117554,
39
+ },
40
+ {
41
+ name: 'llama-b10809-bin-win-vulkan-x64.zip',
42
+ sha256: 'caa5ea1e4b642260116f7f7bb36ef18e69d9cc00888516f8f71a454023672f7a',
43
+ size: 35079269,
44
+ },
45
+ { name: 'cudart-llama-bin-win-cuda-12.4-x64.zip' },
46
+ { name: 'cudart-llama-bin-win-cuda-13.3-x64.zip' },
47
+ ],
48
+ };
49
+ //# sourceMappingURL=bundled-manifest-baseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundled-manifest-baseline.js","sourceRoot":"","sources":["../../../src/backend/catalog/bundled-manifest-baseline.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,oEAAoE;IACnF,MAAM,EAAE;QACN;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,2CAA2C;YACjD,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,oCAAoC;YAC1C,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,kCAAkC;YACxC,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,wCAAwC;YAC9C,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,SAAS;SAChB;QACD;YACE,IAAI,EAAE,wCAAwC;YAC9C,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,SAAS;SAChB;QACD;YACE,IAAI,EAAE,wCAAwC;YAC9C,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,SAAS;SAChB;QACD;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,QAAQ;SACf;QACD,EAAE,IAAI,EAAE,wCAAwC,EAAE;QAClD,EAAE,IAAI,EAAE,wCAAwC,EAAE;KACnD;CACF,CAAA"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Version-less GPU family ids and their concrete assets. Port of the family helpers in
3
+ * `extensions/llamacpp-upstream-extension/src/backend.ts` (`cudaFamilyMajor`,
4
+ * `isConcreteOfGpuFamily`, `resolveGpuFamilyConcrete`) and of `resolveLatestBackendString` in
5
+ * `index.ts`.
6
+ *
7
+ * The Rust matrix (`determine_supported_backends`) and the "Latest <variant>" dropdown emit
8
+ * *minor-less* ids — `win-cuda-13-x64`, `win-cuda-12-x64`, `win-rocm-x64` — because ggml-org bumps
9
+ * the CUDA toolkit minor (13.1 → 13.3 → 13.x) and the HIP version (7.14 → 10.0) between releases.
10
+ * The concrete asset (`win-cuda-13.3-x64`, `win-rocm-10.0-x64`) is only known once the manifest is
11
+ * read, and is resolved here (ATO-105 / ATO-174).
12
+ */
13
+ import type { BackendVersion } from '../types.js';
14
+ /** Minor-less Windows CUDA family id: `win-cuda-13-x64`, `win-cuda-12-x64`. */
15
+ export declare const WIN_CUDA_FAMILY_RE: RegExp;
16
+ /** Concrete Windows CUDA asset id: `win-cuda-12.4-x64`, `win-cuda-13.3-x64`. */
17
+ export declare const WINDOWS_CUDA_BACKEND_RE: RegExp;
18
+ /** HIP has no major to pin: one `win-rocm-<major>.<minor>-x64` asset per release, moved wholesale. */
19
+ export declare const WIN_ROCM_FAMILY_ID = "win-rocm-x64";
20
+ export declare const WIN_ROCM_CONCRETE_RE: RegExp;
21
+ /**
22
+ * The CUDA major (`"13"`, `"12"`) of a minor-less family id, or `null` when `backend` is not one.
23
+ * Concrete ids (`win-cuda-13.3-x64`) deliberately return `null` — they need no family resolution.
24
+ */
25
+ export declare function cudaFamilyMajor(backend: string): string | null;
26
+ /**
27
+ * Regex matching every concrete asset id of a family id, with the version components captured so
28
+ * the newest can be picked. `null` when `familyBackend` is not a family id.
29
+ */
30
+ export declare function gpuFamilyConcreteRe(familyBackend: string): RegExp | null;
31
+ /** True when `familyBackend` is one of the version-less family ids. */
32
+ export declare function isGpuFamilyId(backend: string): boolean;
33
+ /**
34
+ * True when `concrete` (`win-cuda-13.3-x64`, `win-rocm-7.14-x64`) belongs to the family
35
+ * `familyBackend` (`win-cuda-13-x64`, `win-rocm-x64`). False for a non-family `familyBackend`.
36
+ */
37
+ export declare function isConcreteOfGpuFamily(familyBackend: string, concrete: string): boolean;
38
+ /**
39
+ * Newest concrete `<tag>/<backend>` of a family present in `remote` (`b10405/win-rocm-7.14-x64`),
40
+ * comparing the captured version numerically (`10.0` beats `7.14`). `null` when `familyBackend` is
41
+ * not a family id or no concrete asset is listed.
42
+ */
43
+ export declare function resolveGpuFamilyConcrete(familyBackend: string, remote: BackendVersion[]): string | null;
44
+ /**
45
+ * CUDA toolkit version (`"13.3"`) of a concrete Windows CUDA backend id, or `null` for anything
46
+ * else (family ids included). The cudart companion archive and `is_cuda_installed` key off it.
47
+ */
48
+ export declare function matchWindowsCudaBackend(backend: string): string | null;
49
+ /**
50
+ * Resolve a "Latest <variant>" sentinel's backend id to a concrete `<tag>/<backend>` from the
51
+ * remote catalog: an exact id match first, then the newest asset of its family. `null` when the
52
+ * catalog has nothing for it (app `resolveLatestBackendString`, minus the fetch and the logging).
53
+ */
54
+ export declare function resolveLatestVersionBackend(backend: string, remote: BackendVersion[]): string | null;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Version-less GPU family ids and their concrete assets. Port of the family helpers in
3
+ * `extensions/llamacpp-upstream-extension/src/backend.ts` (`cudaFamilyMajor`,
4
+ * `isConcreteOfGpuFamily`, `resolveGpuFamilyConcrete`) and of `resolveLatestBackendString` in
5
+ * `index.ts`.
6
+ *
7
+ * The Rust matrix (`determine_supported_backends`) and the "Latest <variant>" dropdown emit
8
+ * *minor-less* ids — `win-cuda-13-x64`, `win-cuda-12-x64`, `win-rocm-x64` — because ggml-org bumps
9
+ * the CUDA toolkit minor (13.1 → 13.3 → 13.x) and the HIP version (7.14 → 10.0) between releases.
10
+ * The concrete asset (`win-cuda-13.3-x64`, `win-rocm-10.0-x64`) is only known once the manifest is
11
+ * read, and is resolved here (ATO-105 / ATO-174).
12
+ */
13
+ import { stripBom } from '../version.js';
14
+ /** Minor-less Windows CUDA family id: `win-cuda-13-x64`, `win-cuda-12-x64`. */
15
+ export const WIN_CUDA_FAMILY_RE = /^win-cuda-(\d+)-x64$/;
16
+ /** Concrete Windows CUDA asset id: `win-cuda-12.4-x64`, `win-cuda-13.3-x64`. */
17
+ export const WINDOWS_CUDA_BACKEND_RE = /^win-cuda-(12\.\d+|13\.\d+)-x64$/;
18
+ /** HIP has no major to pin: one `win-rocm-<major>.<minor>-x64` asset per release, moved wholesale. */
19
+ export const WIN_ROCM_FAMILY_ID = 'win-rocm-x64';
20
+ export const WIN_ROCM_CONCRETE_RE = /^win-rocm-(\d+)\.(\d+)-x64$/;
21
+ /**
22
+ * The CUDA major (`"13"`, `"12"`) of a minor-less family id, or `null` when `backend` is not one.
23
+ * Concrete ids (`win-cuda-13.3-x64`) deliberately return `null` — they need no family resolution.
24
+ */
25
+ export function cudaFamilyMajor(backend) {
26
+ const m = WIN_CUDA_FAMILY_RE.exec(stripBom(backend));
27
+ return m ? (m[1] ?? null) : null;
28
+ }
29
+ /**
30
+ * Regex matching every concrete asset id of a family id, with the version components captured so
31
+ * the newest can be picked. `null` when `familyBackend` is not a family id.
32
+ */
33
+ export function gpuFamilyConcreteRe(familyBackend) {
34
+ const id = stripBom(familyBackend);
35
+ if (id === WIN_ROCM_FAMILY_ID)
36
+ return WIN_ROCM_CONCRETE_RE;
37
+ const major = cudaFamilyMajor(id);
38
+ return major ? new RegExp(`^win-cuda-(${major})\\.(\\d+)-x64$`) : null;
39
+ }
40
+ /** True when `familyBackend` is one of the version-less family ids. */
41
+ export function isGpuFamilyId(backend) {
42
+ return gpuFamilyConcreteRe(backend) !== null;
43
+ }
44
+ /**
45
+ * True when `concrete` (`win-cuda-13.3-x64`, `win-rocm-7.14-x64`) belongs to the family
46
+ * `familyBackend` (`win-cuda-13-x64`, `win-rocm-x64`). False for a non-family `familyBackend`.
47
+ */
48
+ export function isConcreteOfGpuFamily(familyBackend, concrete) {
49
+ const re = gpuFamilyConcreteRe(familyBackend);
50
+ return re ? re.test(stripBom(concrete)) : false;
51
+ }
52
+ /**
53
+ * Newest concrete `<tag>/<backend>` of a family present in `remote` (`b10405/win-rocm-7.14-x64`),
54
+ * comparing the captured version numerically (`10.0` beats `7.14`). `null` when `familyBackend` is
55
+ * not a family id or no concrete asset is listed.
56
+ */
57
+ export function resolveGpuFamilyConcrete(familyBackend, remote) {
58
+ const re = gpuFamilyConcreteRe(familyBackend);
59
+ if (!re)
60
+ return null;
61
+ let best = null;
62
+ for (const b of remote) {
63
+ const backendName = stripBom(b.backend);
64
+ const m = re.exec(backendName);
65
+ if (!m)
66
+ continue;
67
+ const rank = [parseInt(m[1] ?? '', 10), parseInt(m[2] ?? '', 10)];
68
+ if (!best || rank[0] > best.rank[0] || (rank[0] === best.rank[0] && rank[1] > best.rank[1])) {
69
+ best = { version: b.version, backend: backendName, rank };
70
+ }
71
+ }
72
+ return best ? `${best.version}/${best.backend}` : null;
73
+ }
74
+ /**
75
+ * CUDA toolkit version (`"13.3"`) of a concrete Windows CUDA backend id, or `null` for anything
76
+ * else (family ids included). The cudart companion archive and `is_cuda_installed` key off it.
77
+ */
78
+ export function matchWindowsCudaBackend(backend) {
79
+ const m = WINDOWS_CUDA_BACKEND_RE.exec(stripBom(backend));
80
+ return m ? (m[1] ?? null) : null;
81
+ }
82
+ /**
83
+ * Resolve a "Latest <variant>" sentinel's backend id to a concrete `<tag>/<backend>` from the
84
+ * remote catalog: an exact id match first, then the newest asset of its family. `null` when the
85
+ * catalog has nothing for it (app `resolveLatestBackendString`, minus the fetch and the logging).
86
+ */
87
+ export function resolveLatestVersionBackend(backend, remote) {
88
+ const match = remote.find((b) => b.backend === backend);
89
+ if (match?.version)
90
+ return `${match.version}/${backend}`;
91
+ return resolveGpuFamilyConcrete(backend, remote);
92
+ }
93
+ //# sourceMappingURL=cuda-family.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cuda-family.js","sourceRoot":"","sources":["../../../src/backend/catalog/cuda-family.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** The backend catalog: manifest + bundled baseline, archive naming, GPU family ids, legacy id migration. */
2
+ export * from './cuda-family.js';
3
+ export * from './archive.js';
4
+ export * from './manifest.js';
5
+ export * from './bundled-manifest-baseline.js';
6
+ export * from './migrate.js';
@@ -0,0 +1,7 @@
1
+ /** The backend catalog: manifest + bundled baseline, archive naming, GPU family ids, legacy id migration. */
2
+ export * from './cuda-family.js';
3
+ export * from './archive.js';
4
+ export * from './manifest.js';
5
+ export * from './bundled-manifest-baseline.js';
6
+ export * from './migrate.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backend/catalog/index.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,cAAc,CAAA"}