@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,43 @@
1
+ /**
2
+ * Codex CLI — `~/.codex/config.toml`.
3
+ *
4
+ * Port of `configure_codex` in `src-tauri/src/core/system/commands.rs`. This is the only writer that
5
+ * edits TOML, and it does it textually rather than by parsing: the file is the user's, so the two
6
+ * regions we own are delimited by managed markers and everything between them is left alone.
7
+ *
8
+ * Two regions, not one, because Codex 0.135+ makes Atomic the default provider through the bare
9
+ * root keys `model` / `model_provider`, and bare TOML keys must precede every `[table]`. So a head
10
+ * block goes at the very top, the user's content follows, and the `[model_providers.atomic]` table
11
+ * goes last. Rerunning strips both regions first, which is why a rerun is idempotent.
12
+ *
13
+ * The user's content is `trimEnd`-ed but never trimmed at the start: leading blank lines left by
14
+ * stripping a previous head block are part of the recorded output.
15
+ */
16
+ import { ATOMIC_MANAGED_BEGIN, ATOMIC_MANAGED_END } from '../config-io.js';
17
+ import { stripAtomicManagedBlock, tomlBasicStringEscape } from '../config-io.js';
18
+ import { registerWriter } from './registry.js';
19
+ const DIR = '.codex';
20
+ const PATH = `${DIR}/config.toml`;
21
+ export async function configureCodex(input) {
22
+ const { fs, apiUrl, model, apiKey } = input;
23
+ await fs.mkdirp(DIR);
24
+ const existing = (await fs.read(PATH)) ?? '';
25
+ const cleaned = stripAtomicManagedBlock(existing);
26
+ const head = `${ATOMIC_MANAGED_BEGIN}\n` +
27
+ `model = "${tomlBasicStringEscape(model)}"\n` +
28
+ `model_provider = "atomic"\n` +
29
+ `${ATOMIC_MANAGED_END}\n`;
30
+ // Codex reads the secret from the env var named here, never inline — so with no key there is no
31
+ // `env_key` line at all, rather than a placeholder.
32
+ const envKeyLine = apiKey === '' ? '' : `env_key = "ATOMIC_CHAT_API_KEY"\n`;
33
+ const block = `${ATOMIC_MANAGED_BEGIN}\n` +
34
+ `[model_providers.atomic]\n` +
35
+ `name = "Atomic Chat"\n` +
36
+ `base_url = "${tomlBasicStringEscape(apiUrl)}"\n` +
37
+ envKeyLine +
38
+ `${ATOMIC_MANAGED_END}\n`;
39
+ const content = cleaned.trim() === '' ? `${head}\n${block}` : `${head}\n${cleaned.trimEnd()}\n${block}`;
40
+ await fs.write(PATH, content);
41
+ }
42
+ registerWriter('codex', configureCodex);
43
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/integrations/configure/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,GAAG,GAAG,QAAQ,CAAA;AACpB,MAAM,IAAI,GAAG,GAAG,GAAG,cAAc,CAAA;AAEjC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAqB;IACxD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEpB,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC5C,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAEjD,MAAM,IAAI,GACR,GAAG,oBAAoB,IAAI;QAC3B,YAAY,qBAAqB,CAAC,KAAK,CAAC,KAAK;QAC7C,6BAA6B;QAC7B,GAAG,kBAAkB,IAAI,CAAA;IAE3B,gGAAgG;IAChG,oDAAoD;IACpD,MAAM,UAAU,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC,CAAA;IAC3E,MAAM,KAAK,GACT,GAAG,oBAAoB,IAAI;QAC3B,4BAA4B;QAC5B,wBAAwB;QACxB,eAAe,qBAAqB,CAAC,MAAM,CAAC,KAAK;QACjD,UAAU;QACV,GAAG,kBAAkB,IAAI,CAAA;IAE3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE,CAAA;IAEvG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * GitHub Copilot CLI has no provider config file — it reads its BYOK settings from the environment
3
+ * at launch — so configuring it means persisting `COPILOT_*` to the shell rc (Windows: `setx`).
4
+ * `COPILOT_OFFLINE` is on so no GitHub sign-in is required and traffic stays on the local provider.
5
+ *
6
+ * Copilot is the one agent that OMITS the key variable entirely when there is none, rather than
7
+ * writing an `atomic` placeholder: an empty `COPILOT_PROVIDER_API_KEY` would be sent as a credential.
8
+ */
9
+ import type { ConfigureWriter } from './registry.js';
10
+ export declare const configureCopilot: ConfigureWriter;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * GitHub Copilot CLI has no provider config file — it reads its BYOK settings from the environment
3
+ * at launch — so configuring it means persisting `COPILOT_*` to the shell rc (Windows: `setx`).
4
+ * `COPILOT_OFFLINE` is on so no GitHub sign-in is required and traffic stays on the local provider.
5
+ *
6
+ * Copilot is the one agent that OMITS the key variable entirely when there is none, rather than
7
+ * writing an `atomic` placeholder: an empty `COPILOT_PROVIDER_API_KEY` would be sent as a credential.
8
+ */
9
+ import { registerWriter } from './registry.js';
10
+ import { configureEnvAgent } from './env-agent.js';
11
+ const MARKER = '# Atomic Chat - Copilot CLI Config';
12
+ export const configureCopilot = (input) => configureEnvAgent(input, { agentId: 'copilot', marker: MARKER, prefix: 'COPILOT_' });
13
+ registerWriter('copilot', configureCopilot);
14
+ //# sourceMappingURL=copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/integrations/configure/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,MAAM,GAAG,oCAAoC,CAAA;AAEnD,MAAM,CAAC,MAAM,gBAAgB,GAAoB,CAAC,KAAK,EAAE,EAAE,CACzD,iBAAiB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;AAEtF,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Factory Droid keeps its BYOK providers in `~/.factory/settings.json` as a `customModels` array,
3
+ * and selects one with a top-level `model` string.
4
+ *
5
+ * The selector is the awkward part: Droid addresses a custom model by its POSITION in the array
6
+ * (`custom:<displayName with spaces->dashes>-<index>`), not by name. So the value we write depends
7
+ * on where our entry lands — seeding other models first shifts it. We upsert by `displayName`
8
+ * (our managed marker) precisely so a rerun replaces our entry in place and the selector stays valid
9
+ * instead of appending a duplicate and renumbering the user's models.
10
+ */
11
+ import type { ConfigureWriter } from './registry.js';
12
+ export declare const configureDroid: ConfigureWriter;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Factory Droid keeps its BYOK providers in `~/.factory/settings.json` as a `customModels` array,
3
+ * and selects one with a top-level `model` string.
4
+ *
5
+ * The selector is the awkward part: Droid addresses a custom model by its POSITION in the array
6
+ * (`custom:<displayName with spaces->dashes>-<index>`), not by name. So the value we write depends
7
+ * on where our entry lands — seeding other models first shifts it. We upsert by `displayName`
8
+ * (our managed marker) precisely so a rerun replaces our entry in place and the selector stays valid
9
+ * instead of appending a duplicate and renumbering the user's models.
10
+ */
11
+ import { AtomicCoreError } from '../../contracts/index.js';
12
+ import { canonicalJson, keyOr, parseJsonStrict } from '../config-io.js';
13
+ import { asJsonArray, asJsonObject } from './json-tree.js';
14
+ import { registerWriter } from './registry.js';
15
+ const DISPLAY_NAME = 'Atomic Chat';
16
+ const SETTINGS_PATH = '.factory/settings.json';
17
+ /** Droid's own ceiling for a generic chat-completions provider; lower values truncate long edits. */
18
+ const MAX_OUTPUT_TOKENS = 16_384;
19
+ export const configureDroid = async ({ apiUrl, model, apiKey, fs }) => {
20
+ const text = await fs.read(SETTINGS_PATH);
21
+ const parsed = text === undefined ? {} : parseJsonStrict(text, fs.absolute(SETTINGS_PATH));
22
+ const root = asJsonObject(parsed);
23
+ if (!root)
24
+ throw new AtomicCoreError('IO_ERROR', 'settings.json is not a JSON object');
25
+ // A `customModels` that is not an array is unusable to Droid anyway, so it is replaced rather than
26
+ // preserved — unlike the individual entries inside it, which are the user's own providers.
27
+ const models = asJsonArray(root['customModels']) ?? [];
28
+ const entry = {
29
+ model,
30
+ displayName: DISPLAY_NAME,
31
+ baseUrl: apiUrl,
32
+ // Droid rejects an empty apiKey outright, so a keyless local server still needs a placeholder.
33
+ apiKey: keyOr(apiKey, 'atomic'),
34
+ provider: 'generic-chat-completion-api',
35
+ maxOutputTokens: MAX_OUTPUT_TOKENS,
36
+ };
37
+ let index = models.findIndex((m) => asJsonObject(m)?.['displayName'] === DISPLAY_NAME);
38
+ if (index >= 0)
39
+ models[index] = entry;
40
+ else
41
+ index = models.push(entry) - 1;
42
+ root['customModels'] = models;
43
+ root['model'] = `custom:${DISPLAY_NAME.split(' ').join('-')}-${index}`;
44
+ await fs.write(SETTINGS_PATH, canonicalJson(root));
45
+ };
46
+ registerWriter('droid', configureDroid);
47
+ //# sourceMappingURL=droid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"droid.js","sourceRoot":"","sources":["../../../src/integrations/configure/droid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEvE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AAC9C,qGAAqG;AACrG,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAoB,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE;IACrF,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;IAC1F,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAA;IAEtF,mGAAmG;IACnG,2FAA2F;IAC3F,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAA;IACtD,MAAM,KAAK,GAAe;QACxB,KAAK;QACL,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,MAAM;QACf,+FAA+F;QAC/F,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC/B,QAAQ,EAAE,6BAA6B;QACvC,eAAe,EAAE,iBAAiB;KACnC,CAAA;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,YAAY,CAAC,CAAA;IACtF,IAAI,KAAK,IAAI,CAAC;QAAE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;;QAChC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEnC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAA;IAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAA;IAEtE,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * DeepSeek Harness (`dsh`) reads `$DSH_HOME/settings.yaml` (default `~/.dsh`) live, so pointing it at
3
+ * the local server is a single upsert of the `llm-pi-ai.providers.atomic` route — no restart needed.
4
+ *
5
+ * This is the only writer here that refuses its input, and the reason is blast radius: dsh rejects
6
+ * the ENTIRE `llm-pi-ai` section when one route in it is invalid, taking the user's other providers
7
+ * down with it. A route needs `api`, `baseURL` and a non-empty `models` list, so a blank URL or model
8
+ * is refused before the tree is touched at all. The credential is validated for the same reason: an
9
+ * unquoted dotenv value ends at whitespace or `#`, and a newline would inject a second assignment, so
10
+ * a key carrying any of those is rejected — with a message that names the variable and never the
11
+ * value, so a rejected key cannot leak into a log or a toast.
12
+ *
13
+ * Two more things are load-bearing. The route is replaced WHOLESALE rather than deep-merged: a merge
14
+ * would let a stale `apiKeyEnv` from an earlier keyed run survive a keyless run and break every
15
+ * request with MISSING_CREDENTIAL. And because the YAML round trip drops comments and expands
16
+ * anchors, the pre-existing file is copied to `settings.yaml.atomic-backup` — once, so a later run
17
+ * cannot overwrite the true pre-Atomic state with our own generated output.
18
+ */
19
+ import type { ConfigureWriter } from './registry.js';
20
+ type YamlMapping = Record<string, unknown>;
21
+ /** Reject a value no dotenv line can carry. The message names the variable, never the value. */
22
+ export declare function dshValidateEnvValue(name: string, value: string): void;
23
+ /** The `llm-pi-ai.providers.atomic` node. Keyless omits `apiKeyEnv` rather than writing an empty one. */
24
+ export declare function dshRouteNode(apiUrl: string, model: string, withKey: boolean): YamlMapping;
25
+ /**
26
+ * Upsert our route into an already-parsed tree. Pure: no I/O, no environment. Everything outside
27
+ * `llm-pi-ai.providers.atomic` is preserved, including relative order — assigning to an existing key
28
+ * keeps its position, in JavaScript as in `serde_yaml`'s insertion-ordered mapping.
29
+ */
30
+ export declare function applyDshProvider(root: unknown, apiUrl: string, model: string, withKey: boolean): unknown;
31
+ /** `$DSH_HOME` when set, else `~/.dsh`. A literal `~` can reach us from a quoted rc-file value. */
32
+ export declare function dshHome(env: NodeJS.ProcessEnv, home: string): string;
33
+ export declare const configureDsh: ConfigureWriter;
34
+ export {};
@@ -0,0 +1,146 @@
1
+ /**
2
+ * DeepSeek Harness (`dsh`) reads `$DSH_HOME/settings.yaml` (default `~/.dsh`) live, so pointing it at
3
+ * the local server is a single upsert of the `llm-pi-ai.providers.atomic` route — no restart needed.
4
+ *
5
+ * This is the only writer here that refuses its input, and the reason is blast radius: dsh rejects
6
+ * the ENTIRE `llm-pi-ai` section when one route in it is invalid, taking the user's other providers
7
+ * down with it. A route needs `api`, `baseURL` and a non-empty `models` list, so a blank URL or model
8
+ * is refused before the tree is touched at all. The credential is validated for the same reason: an
9
+ * unquoted dotenv value ends at whitespace or `#`, and a newline would inject a second assignment, so
10
+ * a key carrying any of those is rejected — with a message that names the variable and never the
11
+ * value, so a rejected key cannot leak into a log or a toast.
12
+ *
13
+ * Two more things are load-bearing. The route is replaced WHOLESALE rather than deep-merged: a merge
14
+ * would let a stale `apiKeyEnv` from an earlier keyed run survive a keyless run and break every
15
+ * request with MISSING_CREDENTIAL. And because the YAML round trip drops comments and expands
16
+ * anchors, the pre-existing file is copied to `settings.yaml.atomic-backup` — once, so a later run
17
+ * cannot overwrite the true pre-Atomic state with our own generated output.
18
+ */
19
+ import { AtomicCoreError } from '../../contracts/index.js';
20
+ import { ATOMIC_MANAGED_BEGIN, ATOMIC_MANAGED_END, canonicalYaml, expandTilde, parseYaml, stripAtomicManagedBlock, } from '../config-io.js';
21
+ import { registerWriter } from './registry.js';
22
+ const SECTION = 'llm-pi-ai';
23
+ const ROUTE_ID = 'atomic';
24
+ /** The route names an env var, never the secret itself. */
25
+ const KEY_ENV = 'ATOMIC_API_KEY';
26
+ const CONTEXT_WINDOW = 65_536;
27
+ const MAX_TOKENS = 8_192;
28
+ function asMapping(value) {
29
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
30
+ return undefined;
31
+ return value;
32
+ }
33
+ /**
34
+ * Borrow `parent[key]` as a mapping, creating it when absent. A bare `llm-pi-ai:` with nothing under
35
+ * it parses to null, which is a hole to fill rather than data to protect. Anything else non-mapping
36
+ * is real user content and errors out — `settings.yaml` is shared with every other harness plugin, so
37
+ * a silent overwrite would delete config we do not own.
38
+ */
39
+ function childMapping(parent, key, label) {
40
+ if (parent[key] === undefined || parent[key] === null)
41
+ parent[key] = {};
42
+ const child = asMapping(parent[key]);
43
+ if (!child) {
44
+ throw new AtomicCoreError('IO_ERROR', `\`${label}\` in settings.yaml is not a mapping. Fix or remove it and try again.`);
45
+ }
46
+ return child;
47
+ }
48
+ /** Reject a value no dotenv line can carry. The message names the variable, never the value. */
49
+ export function dshValidateEnvValue(name, value) {
50
+ if (/[\n\r#"']/.test(value) || /\s/.test(value)) {
51
+ throw new AtomicCoreError('INVALID_ARGUMENT', `${name} contains characters that cannot be stored in a .env file`);
52
+ }
53
+ }
54
+ /** The `llm-pi-ai.providers.atomic` node. Keyless omits `apiKeyEnv` rather than writing an empty one. */
55
+ export function dshRouteNode(apiUrl, model, withKey) {
56
+ return {
57
+ displayName: 'Atomic Chat',
58
+ api: 'openai-completions',
59
+ baseURL: apiUrl,
60
+ ...(withKey ? { apiKeyEnv: KEY_ENV } : {}),
61
+ models: [{ id: model, contextWindow: CONTEXT_WINDOW, maxTokens: MAX_TOKENS }],
62
+ };
63
+ }
64
+ /**
65
+ * Upsert our route into an already-parsed tree. Pure: no I/O, no environment. Everything outside
66
+ * `llm-pi-ai.providers.atomic` is preserved, including relative order — assigning to an existing key
67
+ * keeps its position, in JavaScript as in `serde_yaml`'s insertion-ordered mapping.
68
+ */
69
+ export function applyDshProvider(root, apiUrl, model, withKey) {
70
+ if (apiUrl.trim() === '') {
71
+ throw new AtomicCoreError('INVALID_ARGUMENT', 'No local server URL. Start the local API server and try again.');
72
+ }
73
+ if (model.trim() === '') {
74
+ throw new AtomicCoreError('INVALID_ARGUMENT', 'No model selected. DeepSeek Harness rejects a provider with an empty model list, which would ' +
75
+ 'also disable any other provider configured in that section.');
76
+ }
77
+ // An empty, whitespace-only or comment-only document parses to null; one heal covers all three.
78
+ const healed = root === null || root === undefined ? {} : root;
79
+ const map = asMapping(healed);
80
+ if (!map)
81
+ throw new AtomicCoreError('IO_ERROR', 'settings.yaml top level is not a YAML mapping');
82
+ const section = childMapping(map, SECTION, SECTION);
83
+ const providers = childMapping(section, 'providers', `${SECTION}.providers`);
84
+ providers[ROUTE_ID] = dshRouteNode(apiUrl, model, withKey);
85
+ return map;
86
+ }
87
+ /**
88
+ * Upsert — or, with no vars, remove — our managed block in a dotenv file, preserving every line
89
+ * outside it. Deliberately not the shell-rc writer: that one emits `export K='V'`, uses a different
90
+ * marker scheme, and always appends a fresh block, so it cannot express "remove the block and write
91
+ * nothing", which is exactly what the keyless path needs.
92
+ */
93
+ async function writeManagedEnv(fs, path, vars, unix) {
94
+ for (const v of vars)
95
+ dshValidateEnvValue(v.name, v.value);
96
+ const found = await fs.read(path);
97
+ // Nothing to clear: do not create the file just to leave it empty.
98
+ if (found === undefined && vars.length === 0)
99
+ return;
100
+ const kept = stripAtomicManagedBlock(found ?? '').trimEnd();
101
+ let out;
102
+ if (vars.length === 0) {
103
+ out = kept === '' ? '' : `${kept}\n`;
104
+ }
105
+ else {
106
+ const body = vars.map((v) => `${v.name}=${v.value}\n`).join('');
107
+ const block = `${ATOMIC_MANAGED_BEGIN}\n${body}${ATOMIC_MANAGED_END}\n`;
108
+ out = kept === '' ? block : `${kept}\n\n${block}`;
109
+ }
110
+ await fs.write(path, out, unix ? { mode: 0o600 } : {});
111
+ }
112
+ /** `$DSH_HOME` when set, else `~/.dsh`. A literal `~` can reach us from a quoted rc-file value. */
113
+ export function dshHome(env, home) {
114
+ const raw = env['DSH_HOME']?.trim();
115
+ return raw ? expandTilde(raw, home) : '.dsh';
116
+ }
117
+ export const configureDsh = async ({ apiUrl, model, apiKey, fs, env, platform }) => {
118
+ const dir = dshHome(env, fs.home);
119
+ const settingsPath = `${dir}/settings.yaml`;
120
+ const trimmed = apiKey.trim();
121
+ const key = trimmed === '' ? undefined : trimmed;
122
+ // Validate the credential before settings.yaml, so an unusable key cannot leave a route pointing at
123
+ // a reference we then failed to store.
124
+ if (key !== undefined)
125
+ dshValidateEnvValue(KEY_ENV, key);
126
+ // Parse before creating anything, so a malformed file leaves no debris.
127
+ const text = (await fs.read(settingsPath)) ?? '';
128
+ const root = parseYaml(text, fs.absolute(settingsPath));
129
+ const patched = applyDshProvider(root, apiUrl, model, key !== undefined);
130
+ const serialized = canonicalYaml(patched);
131
+ if (text !== '') {
132
+ const backup = `${dir}/settings.yaml.atomic-backup`;
133
+ if (!(await fs.exists(backup)))
134
+ await fs.write(backup, text);
135
+ }
136
+ await fs.write(settingsPath, serialized.endsWith('\n') ? serialized : `${serialized}\n`);
137
+ // The secret never enters settings.yaml. dsh resolves the reference from the inherited environment,
138
+ // then `$DSH_HOME/.credentials.yaml`, then the invoking directory's `.env`, then this file — the
139
+ // lowest-precedence layer, so anything the user sets deliberately still wins.
140
+ const unix = platform !== 'win32';
141
+ await writeManagedEnv(fs, `${dir}/.env`,
142
+ // Keyless: the route carries no `apiKeyEnv`, so a leftover value would outlive its use.
143
+ key === undefined ? [] : [{ name: KEY_ENV, value: key }], unix);
144
+ };
145
+ registerWriter('dsh', configureDsh);
146
+ //# sourceMappingURL=dsh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsh.js","sourceRoot":"","sources":["../../../src/integrations/configure/dsh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The five agents that have no provider config file at all — Copilot, Goose, OpenHands, Poolside and
3
+ * Muse Code read their endpoint from the environment. `configure_*` therefore persists the variables
4
+ * instead of writing a file: a marked block in the user's shell rc on unix, `setx` on Windows.
5
+ *
6
+ * The variables themselves come from `childEnv`, which is the same list `launch` sets directly on
7
+ * the spawned child — a rc file just written is not live in a process that is already running, so
8
+ * the two must never drift.
9
+ */
10
+ import type { EnvEntry } from '../config-io.js';
11
+ import type { ConfigureInput } from './registry.js';
12
+ export interface EnvAgentSpec {
13
+ /** Catalog id, used to look the variable list up in `childEnv`. */
14
+ agentId: string;
15
+ /** The single comment line that both opens and closes our region in the rc file. */
16
+ marker: string;
17
+ /** `export <prefix>…` lines are dropped even outside the block, as a stale-export safety net. */
18
+ prefix: string;
19
+ }
20
+ /** The variables this agent needs, in the order the Rust `*_env_vars` builder emits them. */
21
+ export declare function envAgentVars(agentId: string, apiUrl: string, model: string, apiKey: string): EnvEntry[];
22
+ /**
23
+ * Persist the variables. On Windows each one goes through `setx` (a user-scope registry write) and
24
+ * no file is touched at all; everywhere else they become one marked block in the shell rc.
25
+ */
26
+ export declare function configureEnvAgent(input: ConfigureInput, spec: EnvAgentSpec): Promise<void>;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The five agents that have no provider config file at all — Copilot, Goose, OpenHands, Poolside and
3
+ * Muse Code read their endpoint from the environment. `configure_*` therefore persists the variables
4
+ * instead of writing a file: a marked block in the user's shell rc on unix, `setx` on Windows.
5
+ *
6
+ * The variables themselves come from `childEnv`, which is the same list `launch` sets directly on
7
+ * the spawned child — a rc file just written is not live in a process that is already running, so
8
+ * the two must never drift.
9
+ */
10
+ import { AtomicCoreError } from '../../contracts/index.js';
11
+ import { childEnv, findAgent } from '../catalog.js';
12
+ import { writeMarkedEnvToShell } from '../config-io.js';
13
+ /** The variables this agent needs, in the order the Rust `*_env_vars` builder emits them. */
14
+ export function envAgentVars(agentId, apiUrl, model, apiKey) {
15
+ const agent = findAgent(agentId);
16
+ if (!agent)
17
+ throw new AtomicCoreError('INTERNAL_ERROR', `Unknown agent: ${agentId}`);
18
+ return Object.entries(childEnv(agent, apiUrl, model, apiKey)).map(([key, value]) => ({ key, value }));
19
+ }
20
+ /**
21
+ * Persist the variables. On Windows each one goes through `setx` (a user-scope registry write) and
22
+ * no file is touched at all; everywhere else they become one marked block in the shell rc.
23
+ */
24
+ export async function configureEnvAgent(input, spec) {
25
+ const entries = envAgentVars(spec.agentId, input.apiUrl, input.model, input.apiKey);
26
+ if (input.platform === 'win32') {
27
+ const spawn = input.spawn;
28
+ if (!spawn) {
29
+ throw new AtomicCoreError('INTERNAL_ERROR', 'Setting a persistent environment variable needs a command runner.', 'ConfigureInput.spawn is required on Windows');
30
+ }
31
+ for (const entry of entries) {
32
+ const result = await spawn('setx', [entry.key, entry.value]);
33
+ if (result.code !== 0) {
34
+ throw new AtomicCoreError('IO_ERROR', `Failed to set env var ${entry.key}: ${result.stderr}`);
35
+ }
36
+ }
37
+ return;
38
+ }
39
+ await writeMarkedEnvToShell(input.fs, input.shell, input.platform, spec.marker, spec.prefix, entries);
40
+ }
41
+ //# sourceMappingURL=env-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-agent.js","sourceRoot":"","sources":["../../../src/integrations/configure/env-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAYvD,6FAA6F;AAC7F,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,MAAc,EAAE,KAAa,EAAE,MAAc;IACzF,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,kBAAkB,OAAO,EAAE,CAAC,CAAA;IACpF,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AACvG,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAqB,EAAE,IAAkB;IAC/E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACnF,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CACvB,gBAAgB,EAChB,mEAAmE,EACnE,6CAA6C,CAC9C,CAAA;QACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,yBAAyB,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IACD,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACvG,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Goose reads `GOOSE_PROVIDER` / `GOOSE_MODEL` plus the OpenAI host variables from the environment;
3
+ * there is no provider file to patch. Goose appends its own path, so `OPENAI_HOST` is the bare
4
+ * host:port (the catalog marks it `endpointWithPrefix: false`) and `OPENAI_BASE_PATH` carries the
5
+ * chat-completions path.
6
+ *
7
+ * The block also holds `OPENAI_*` variables, which do not share the `GOOSE_` prefix. Rerun stays
8
+ * idempotent because the whole marked region is removed first; the prefix filter is only the safety
9
+ * net for stray lines outside it, which is why a user's own `export OPENAI_API_KEY` survives.
10
+ */
11
+ import type { ConfigureWriter } from './registry.js';
12
+ export declare const configureGoose: ConfigureWriter;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Goose reads `GOOSE_PROVIDER` / `GOOSE_MODEL` plus the OpenAI host variables from the environment;
3
+ * there is no provider file to patch. Goose appends its own path, so `OPENAI_HOST` is the bare
4
+ * host:port (the catalog marks it `endpointWithPrefix: false`) and `OPENAI_BASE_PATH` carries the
5
+ * chat-completions path.
6
+ *
7
+ * The block also holds `OPENAI_*` variables, which do not share the `GOOSE_` prefix. Rerun stays
8
+ * idempotent because the whole marked region is removed first; the prefix filter is only the safety
9
+ * net for stray lines outside it, which is why a user's own `export OPENAI_API_KEY` survives.
10
+ */
11
+ import { registerWriter } from './registry.js';
12
+ import { configureEnvAgent } from './env-agent.js';
13
+ const MARKER = '# Atomic Chat - Goose Config';
14
+ export const configureGoose = (input) => configureEnvAgent(input, { agentId: 'goose', marker: MARKER, prefix: 'GOOSE_' });
15
+ registerWriter('goose', configureGoose);
16
+ //# sourceMappingURL=goose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goose.js","sourceRoot":"","sources":["../../../src/integrations/configure/goose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,MAAM,GAAG,8BAA8B,CAAA;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAoB,CAAC,KAAK,EAAE,EAAE,CACvD,iBAAiB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;AAElF,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Hermes Agent's `config.yaml` is patched LINE BY LINE rather than parsed and re-emitted.
3
+ *
4
+ * That is deliberate: the file is hand-edited, heavily commented, and its `custom_providers` list
5
+ * carries the user's own bridges (Telegram, WhatsApp, …). A YAML round trip would drop every comment
6
+ * and reflow every block for the sake of three scalars. So we rewrite only the lines we own and
7
+ * splice our list entry in, leaving everything else byte-identical.
8
+ *
9
+ * Hermes ignores the API key entirely (`api_key` is accepted for call-site symmetry and reserved),
10
+ * and `.env` is patched only when it already exists — creating one would shadow the agent's own
11
+ * defaults.
12
+ */
13
+ import type { ConfigFs } from '../config-io.js';
14
+ import type { ConfigureWriter } from './registry.js';
15
+ /** Rewrite everything after the first colon, with no quoting — the values here never need it. */
16
+ export declare function replaceYamlScalarValue(line: string, value: string): string;
17
+ /**
18
+ * Split the document into (before, entries, after) around `custom_providers:`. `entries` is one
19
+ * array of raw lines per list item; blank lines inside the block are dropped, which is why a rerun
20
+ * never accumulates whitespace there.
21
+ */
22
+ export declare function splitCustomProviders(content: string): {
23
+ before: string[];
24
+ entries: string[][];
25
+ after: string[];
26
+ };
27
+ /** Re-emit the block: items at column 0, or `custom_providers: []` when nothing is left. */
28
+ export declare function rebuildCustomProviders(before: string[], entries: string[][], after: string[]): string;
29
+ /** Add or update only our entry, leaving the user's other bridges untouched and in order. */
30
+ export declare function upsertAtomicProvider(content: string, apiUrl: string, model: string, ctx: number): string;
31
+ /**
32
+ * Ensure `providers.<id>.request_timeout_seconds` exists, creating the `providers:` map and the
33
+ * provider sub-block as needed. A value the user already set is left alone — we only fill the gap.
34
+ */
35
+ export declare function upsertProviderRequestTimeout(content: string, providerId: string, seconds: number): string;
36
+ /**
37
+ * `~/.hermes` everywhere except Windows, where the installer writes `HERMES_HOME` to the user
38
+ * environment and the CLI honours it.
39
+ */
40
+ export declare function hermesDir(env: NodeJS.ProcessEnv, platform: NodeJS.Platform, fs: ConfigFs): string;
41
+ export declare const configureHermes: ConfigureWriter;