mlx-bun 0.4.0 → 1.0.0

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 (601) hide show
  1. package/README.md +1453 -88
  2. package/THIRD_PARTY_NOTICES.md +882 -0
  3. package/bin/mlx-bun.convert.mjs +4 -0
  4. package/bin/mlx-bun.fuse.mjs +4 -0
  5. package/bin/mlx-bun.generate.mjs +4 -0
  6. package/bin/mlx-bun.lora.mjs +4 -0
  7. package/bin/mlx-bun.mjs +13 -21
  8. package/bin/mlx-bun.server.mjs +4 -0
  9. package/bin/mlx-bun.upload.mjs +4 -0
  10. package/dist/web/app.js +9584 -0
  11. package/package.json +50 -53
  12. package/src/cli/ane-install.ts +76 -0
  13. package/src/cli/args.ts +179 -0
  14. package/src/cli/engine-entry.ts +68 -0
  15. package/src/cli/inference.ts +214 -0
  16. package/src/cli/job-entry.ts +97 -0
  17. package/src/cli/library-host.ts +117 -0
  18. package/src/cli/main.ts +57 -0
  19. package/src/cli/memory-engine.ts +163 -0
  20. package/src/cli/memory.ts +36 -0
  21. package/src/cli/mlx-lm-aliases.ts +309 -0
  22. package/src/cli/model-choice.ts +33 -0
  23. package/src/cli/model-selection.ts +84 -0
  24. package/src/cli/module-host.ts +11 -0
  25. package/src/cli/module-verbs.ts +50 -0
  26. package/src/cli/numerical-policy.ts +12 -0
  27. package/src/cli/perplexity.ts +89 -0
  28. package/src/cli/serve-host.ts +423 -0
  29. package/src/cli/serve-isolated.ts +217 -0
  30. package/src/cli/serve-options.ts +106 -0
  31. package/src/cli/serve-state.ts +205 -0
  32. package/src/cli/serve.ts +500 -0
  33. package/src/cli/served-model-host.ts +102 -0
  34. package/src/cli/server-entry.ts +148 -0
  35. package/src/cli/serving-unit.ts +177 -0
  36. package/src/{tui.ts → cli/terminal.ts} +13 -8
  37. package/src/cli/worker-adapters.ts +34 -0
  38. package/src/cli/worker-entry.ts +272 -0
  39. package/src/cli/worker-unit.ts +179 -0
  40. package/src/engine/adapter-operation.ts +26 -0
  41. package/src/engine/cache-services.ts +114 -0
  42. package/src/engine/completion.ts +39 -0
  43. package/src/engine/generation-gateway.ts +358 -0
  44. package/src/engine/index.ts +59 -0
  45. package/src/engine/kv-budget.ts +120 -0
  46. package/src/engine/media-preparation.ts +232 -0
  47. package/src/engine/model-binding.ts +24 -0
  48. package/src/engine/model-host.ts +513 -0
  49. package/src/engine/model-serving.ts +89 -0
  50. package/src/{serve → engine}/preparation.ts +10 -8
  51. package/src/{serve → engine}/session-completion-engine.ts +6 -6
  52. package/src/engine/telemetry.ts +109 -0
  53. package/src/hub/downloads.ts +116 -0
  54. package/src/jobs/db.ts +16 -7
  55. package/src/jobs/events.ts +29 -0
  56. package/src/jobs/executable.ts +5 -0
  57. package/src/jobs/host.ts +51 -0
  58. package/src/jobs/in-process.ts +55 -0
  59. package/src/{contracts/jobs.ts → jobs/protocol.ts} +7 -9
  60. package/src/jobs/runner.ts +150 -231
  61. package/src/jobs/service.ts +75 -0
  62. package/src/jobs/sse.ts +59 -23
  63. package/src/jobs/worker-memory.ts +46 -0
  64. package/src/jobs/worker-process.ts +163 -0
  65. package/src/jobs/worker-supervisor.ts +258 -0
  66. package/src/modules.ts +58 -0
  67. package/src/publishing/catalog-hub.ts +18 -0
  68. package/src/publishing/credentials.ts +31 -0
  69. package/src/publishing/upload.ts +37 -0
  70. package/src/residency/leased-adapters.ts +21 -0
  71. package/src/residency/local-records.ts +16 -0
  72. package/src/residency/model-residency.ts +405 -0
  73. package/src/residency/record-index.ts +28 -0
  74. package/src/residency/resident-estimate.ts +50 -0
  75. package/src/{anthropic.ts → server/anthropic.ts} +3 -81
  76. package/src/server/cache-routes.ts +36 -0
  77. package/src/{serve → server}/chat-request.ts +12 -10
  78. package/src/{serve → server}/chat-stage.ts +27 -22
  79. package/src/{client.ts → server/client.ts} +28 -2
  80. package/src/{serve → server}/completion-executor.ts +42 -42
  81. package/src/server/decision-body.ts +55 -0
  82. package/src/server/decision-routes.ts +134 -0
  83. package/src/server/decision-wire.ts +228 -0
  84. package/src/{serve → server}/discovery-routes.ts +42 -83
  85. package/src/server/generated-token-history.ts +57 -0
  86. package/src/{serve → server}/http.ts +25 -13
  87. package/src/{serve → server}/inference-request.ts +5 -5
  88. package/src/server/job-routes.ts +20 -0
  89. package/src/server/media-prompt.ts +63 -0
  90. package/src/server/memory-completion-client.ts +46 -0
  91. package/src/server/model-routes.ts +192 -0
  92. package/src/{serve → server}/openai-wire.ts +3 -2
  93. package/src/{serve → server}/pipeline.ts +1 -1
  94. package/src/server/prompt-builder.ts +13 -0
  95. package/src/server/prompt-contracts.ts +17 -0
  96. package/src/server/proxy-routes.ts +187 -0
  97. package/src/server/publishing-routes.ts +41 -0
  98. package/src/{serve → server}/request-plan.ts +8 -8
  99. package/src/{serve → server}/request-prep.ts +82 -68
  100. package/src/{serve → server}/responses-client.ts +30 -13
  101. package/src/{responses.ts → server/responses.ts} +12 -93
  102. package/src/server/routes.ts +205 -0
  103. package/src/server/start.ts +72 -0
  104. package/src/server/status-routes.ts +108 -0
  105. package/src/{serve → server}/text-completion-stage.ts +25 -4
  106. package/src/server/text-prompt.ts +12 -0
  107. package/src/{serve → server}/token-streams.ts +36 -38
  108. package/src/server/worker-routes.ts +311 -0
  109. package/src/storage/paths.ts +61 -0
  110. package/src/web/assets.ts +37 -0
  111. package/src/web/{src → browser}/api.ts +5 -23
  112. package/src/web/browser/chat-host.ts +17 -0
  113. package/src/web/browser/installed-panels.ts +6 -0
  114. package/src/web/browser/main.ts +55 -0
  115. package/src/web/browser/markdown.ts +279 -0
  116. package/src/web/browser/memory-panel.ts +9 -0
  117. package/src/web/browser/palette.ts +64 -0
  118. package/src/web/browser/protocol.ts +13 -0
  119. package/src/web/browser/shell.ts +467 -0
  120. package/src/web/{src → browser}/status.ts +32 -36
  121. package/src/web/build.ts +51 -0
  122. package/src/web/public/app.html +1054 -0
  123. package/src/web/{sw.js → public/sw.js} +4 -3
  124. package/src/web/{vendor → public/vendor}/hljs-theme.css +2 -2
  125. package/src/web/{vendor → public/vendor}/hljs.js +2 -2
  126. package/THIRD_PARTY_LICENSES.md +0 -51
  127. package/docs/README.md +0 -94
  128. package/docs/archive/hlg-sampling.md +0 -350
  129. package/docs/archive/investigations/audio-input-plan.md +0 -356
  130. package/docs/archive/investigations/chunk-finetune-experiment.md +0 -84
  131. package/docs/archive/investigations/colibri-glm52-port.md +0 -1486
  132. package/docs/archive/investigations/colibri-oracle-pin.md +0 -1284
  133. package/docs/archive/investigations/curve-bisector-routing.md +0 -123
  134. package/docs/archive/investigations/decode-roofline-lookagain.md +0 -348
  135. package/docs/archive/investigations/diffusion-gemma-port.md +0 -602
  136. package/docs/archive/investigations/dspark-handoff.md +0 -224
  137. package/docs/archive/investigations/expert-offload-single-user-moe.md +0 -292
  138. package/docs/archive/investigations/faithful-l1-consolidation.md +0 -310
  139. package/docs/archive/investigations/hlg-sampling-investigation.md +0 -970
  140. package/docs/archive/investigations/indexshare-performance-spike.md +0 -357
  141. package/docs/archive/investigations/kernel-perf-review-2026-07.md +0 -171
  142. package/docs/archive/investigations/lab-build-journal.md +0 -157
  143. package/docs/archive/investigations/minicpm5-decode-megakernel.md +0 -489
  144. package/docs/archive/investigations/openjarvis-fit.md +0 -198
  145. package/docs/archive/investigations/openwiki-evaluation.md +0 -249
  146. package/docs/archive/investigations/optimization_plan.md +0 -346
  147. package/docs/archive/investigations/orpo-base-uf-experiment-and-directions.md +0 -120
  148. package/docs/archive/investigations/orpo-flash-cce-pin-leak.md +0 -167
  149. package/docs/archive/investigations/orpo-uf-testing-handoff.md +0 -126
  150. package/docs/archive/investigations/pareto-specialized-runtime-findings.md +0 -92
  151. package/docs/archive/investigations/pi-builtin-investigation.md +0 -308
  152. package/docs/archive/investigations/pre-colibri-stabilization.md +0 -329
  153. package/docs/archive/investigations/qwen38-27b-campaign-log.md +0 -1092
  154. package/docs/archive/investigations/segmented-backward-handoff.md +0 -148
  155. package/docs/archive/investigations/starter-model-port-handoff.md +0 -342
  156. package/docs/archive/investigations/steel-flash-cce-handoff.md +0 -489
  157. package/docs/archive/investigations/the-dreaming-handoff.md +0 -141
  158. package/docs/archive/investigations/trainer-validation-experiment.md +0 -173
  159. package/docs/archive/planning/chat-ui-vision-memory-first.md +0 -199
  160. package/docs/archive/planning/chat-ui-vision.md +0 -50
  161. package/docs/archive/planning/chunk-task-roadmap.md +0 -77
  162. package/docs/archive/planning/curve-sampler-research-plan.md +0 -331
  163. package/docs/archive/planning/journal.md +0 -316
  164. package/docs/archive/planning/memory-docs-and-dag-plan.md +0 -194
  165. package/docs/archive/planning/pi-integration-review.md +0 -178
  166. package/docs/archive/planning/release-notes-v0.0.10.md +0 -57
  167. package/docs/archive/planning/release-notes-v0.0.11.md +0 -239
  168. package/docs/archive/planning/release-notes-v0.0.12.md +0 -80
  169. package/docs/archive/planning/release-notes-v0.0.13.md +0 -77
  170. package/docs/archive/planning/release-notes-v0.0.9.md +0 -122
  171. package/docs/archive/planning/release-notes-v0.2.0.md +0 -49
  172. package/docs/archive/planning/release-notes-v0.3.0.md +0 -35
  173. package/docs/archive/planning/web-ui-pass-plan.md +0 -213
  174. package/docs/archive/planning/website-readme-pass-plan.md +0 -224
  175. package/docs/design/batching.md +0 -1841
  176. package/docs/design/decode-speed-program.md +0 -2349
  177. package/docs/design/dreaming-nightly-pipeline.md +0 -684
  178. package/docs/design/generic-model-support.md +0 -705
  179. package/docs/design/kv-cache.md +0 -824
  180. package/docs/design/orpo-training.md +0 -680
  181. package/docs/design/speculative-decoding.md +0 -1990
  182. package/docs/design/turboquant.md +0 -2212
  183. package/docs/design/unified-engine-frontier-plan.md +0 -1880
  184. package/docs/design/web-chat-redesign.md +0 -695
  185. package/docs/planning/PRODUCT_ROADMAP.md +0 -594
  186. package/docs/planning/ResearchTopics.md +0 -119
  187. package/docs/planning/release-notes-v0.4.0.md +0 -45
  188. package/docs/planning/video-series.md +0 -421
  189. package/docs/reference/benchmarks.md +0 -3613
  190. package/docs/reference/cli.md +0 -585
  191. package/docs/reference/distribution.md +0 -355
  192. package/docs/reference/environment.md +0 -398
  193. package/docs/reference/glossary.md +0 -39
  194. package/docs/reference/library-api.md +0 -674
  195. package/docs/reference/memory.md +0 -260
  196. package/docs/reference/models.md +0 -334
  197. package/docs/reference/server-api.md +0 -1775
  198. package/docs/reference/server-config.md +0 -846
  199. package/docs/reference/training.md +0 -462
  200. package/docs/reference/troubleshooting.md +0 -158
  201. package/src/admission-plan.ts +0 -18
  202. package/src/audio/conformer.ts +0 -647
  203. package/src/audio/decode.ts +0 -133
  204. package/src/audio/features.ts +0 -202
  205. package/src/audio/transcode.ts +0 -67
  206. package/src/backends/mlx/assistant-target.ts +0 -46
  207. package/src/backends/mlx/autoregressive-draft-rows.ts +0 -120
  208. package/src/backends/mlx/autoregressive.ts +0 -108
  209. package/src/backends/mlx/batch-group.ts +0 -1790
  210. package/src/backends/mlx/cache-attachment.ts +0 -67
  211. package/src/backends/mlx/cache-layout.ts +0 -31
  212. package/src/backends/mlx/checkpoint-state.ts +0 -53
  213. package/src/backends/mlx/continuation-persistence.ts +0 -106
  214. package/src/backends/mlx/continuation-request.ts +0 -43
  215. package/src/backends/mlx/continuation.ts +0 -77
  216. package/src/backends/mlx/diffusion.ts +0 -39
  217. package/src/backends/mlx/draft-target.ts +0 -32
  218. package/src/backends/mlx/evaluation.ts +0 -105
  219. package/src/backends/mlx/fill-append.ts +0 -45
  220. package/src/backends/mlx/full-kv-row-append.ts +0 -32
  221. package/src/backends/mlx/full-kv-row-donor.ts +0 -54
  222. package/src/backends/mlx/full-transitioning-kv-rows.ts +0 -65
  223. package/src/backends/mlx/gateway-binding.ts +0 -130
  224. package/src/backends/mlx/graph.ts +0 -38
  225. package/src/backends/mlx/kv-codec.ts +0 -9
  226. package/src/backends/mlx/kv-maintenance.ts +0 -133
  227. package/src/backends/mlx/kv-tensor-rows.ts +0 -212
  228. package/src/backends/mlx/memory-client.ts +0 -189
  229. package/src/backends/mlx/methods.ts +0 -90
  230. package/src/backends/mlx/model-prompt.ts +0 -164
  231. package/src/backends/mlx/model-serving.ts +0 -79
  232. package/src/backends/mlx/prefill-cohort.ts +0 -89
  233. package/src/backends/mlx/prefill-rows.ts +0 -200
  234. package/src/backends/mlx/prefill.ts +0 -33
  235. package/src/backends/mlx/projected-context-rows.ts +0 -72
  236. package/src/backends/mlx/request-policy.ts +0 -20
  237. package/src/backends/mlx/request-state-policy.ts +0 -41
  238. package/src/backends/mlx/rollback.ts +0 -89
  239. package/src/backends/mlx/row-sampling.ts +0 -49
  240. package/src/backends/mlx/serial-executor.ts +0 -242
  241. package/src/backends/mlx/speculative-group.ts +0 -359
  242. package/src/backends/mlx/speculative-round.ts +0 -161
  243. package/src/backends/mlx/speculative.ts +0 -114
  244. package/src/backends/mlx/state-rows.ts +0 -104
  245. package/src/backends/mlx/state-views.ts +0 -46
  246. package/src/backends/mlx/target-layout-capability.ts +0 -35
  247. package/src/backends/mlx/text-engine.ts +0 -73
  248. package/src/backends/mlx/transitioning-kv-rows.ts +0 -165
  249. package/src/chat-template.ts +0 -382
  250. package/src/cli.ts +0 -3168
  251. package/src/config.ts +0 -399
  252. package/src/contracts/completion.ts +0 -16
  253. package/src/contracts/execution.ts +0 -60
  254. package/src/contracts/generation.ts +0 -103
  255. package/src/contracts/host.ts +0 -7
  256. package/src/contracts/pi-provider.ts +0 -30
  257. package/src/contracts/pi.ts +0 -259
  258. package/src/contracts/prefix-cache.ts +0 -23
  259. package/src/contracts/resources.ts +0 -25
  260. package/src/contracts/sampling.ts +0 -23
  261. package/src/contracts/scheduling.ts +0 -45
  262. package/src/contracts/tsconfig.json +0 -14
  263. package/src/dataset/generators.ts +0 -1087
  264. package/src/dataset/index.ts +0 -12
  265. package/src/dataset/job.ts +0 -81
  266. package/src/dataset/llm.ts +0 -71
  267. package/src/dataset/registry.ts +0 -528
  268. package/src/diffusion/diffusion-generate.ts +0 -507
  269. package/src/download.ts +0 -505
  270. package/src/embed.ts +0 -77
  271. package/src/engine/admission.ts +0 -59
  272. package/src/engine/cancellation.ts +0 -38
  273. package/src/engine/engine.ts +0 -56
  274. package/src/engine/execution-coordinator.ts +0 -70
  275. package/src/engine/execution-plan.ts +0 -53
  276. package/src/engine/resources.ts +0 -53
  277. package/src/engine/scheduler.ts +0 -72
  278. package/src/engine/session.ts +0 -247
  279. package/src/eval/README.md +0 -130
  280. package/src/eval/ifeval.ts +0 -81
  281. package/src/eval/kl-prompts.ts +0 -29
  282. package/src/eval/kl.ts +0 -590
  283. package/src/eval/perplexity.ts +0 -164
  284. package/src/eval/quality-db.ts +0 -92
  285. package/src/eval/reference-logits.ts +0 -207
  286. package/src/eval/runner.ts +0 -124
  287. package/src/eval/score.ts +0 -49
  288. package/src/eval/tasks/bfcl.ts +0 -535
  289. package/src/eval/tasks/gsm8k.ts +0 -98
  290. package/src/eval/tasks/hashhop.ts +0 -139
  291. package/src/eval/tasks/humaneval.ts +0 -275
  292. package/src/eval/tasks/ifeval.ts +0 -525
  293. package/src/eval/tasks/mmlu.ts +0 -157
  294. package/src/eval/ultrafeedback.ts +0 -60
  295. package/src/evaldb.ts +0 -199
  296. package/src/expert-io.ts +0 -393
  297. package/src/expert-offload-build.ts +0 -77
  298. package/src/expert-offload.ts +0 -76
  299. package/src/expert-residency.ts +0 -1134
  300. package/src/expert-usage.ts +0 -415
  301. package/src/fill/echo-index.ts +0 -188
  302. package/src/fill/fill-session.ts +0 -452
  303. package/src/fill/proposal.ts +0 -68
  304. package/src/fill/schema-rows.ts +0 -506
  305. package/src/fill/tool-boundary.ts +0 -103
  306. package/src/fit.ts +0 -249
  307. package/src/generate.ts +0 -1346
  308. package/src/grammar.ts +0 -591
  309. package/src/harness-pi.ts +0 -184
  310. package/src/hf-push.ts +0 -628
  311. package/src/hub-rest.ts +0 -242
  312. package/src/index.ts +0 -63
  313. package/src/inference/denoising.ts +0 -17
  314. package/src/inference/draft-acceptance.ts +0 -41
  315. package/src/inference/draft-output.ts +0 -49
  316. package/src/inference/graph.ts +0 -33
  317. package/src/inference/prefill.ts +0 -39
  318. package/src/inference/rollback.ts +0 -7
  319. package/src/jobs/index.ts +0 -31
  320. package/src/jobs/job-entry.ts +0 -107
  321. package/src/jobs/task-client.ts +0 -19
  322. package/src/jobs/types.ts +0 -2
  323. package/src/kv-scheme.ts +0 -257
  324. package/src/kv-store.ts +0 -1099
  325. package/src/lab/README.md +0 -18
  326. package/src/lab/curve/curve-designer.html +0 -303
  327. package/src/lab/curve/curve-sampler.ts +0 -122
  328. package/src/lab/expert-trace/expert-trace.ts +0 -69
  329. package/src/lab/paged-kv/paged-kv-rows.ts +0 -83
  330. package/src/lab/paged-kv/paged-kv.ts +0 -270
  331. package/src/library.ts +0 -40
  332. package/src/lora.ts +0 -408
  333. package/src/md-modules.d.ts +0 -49
  334. package/src/media-fetch.ts +0 -442
  335. package/src/memory/article.ts +0 -558
  336. package/src/memory/chunk-validation.ts +0 -150
  337. package/src/memory/chunk.ts +0 -318
  338. package/src/memory/cluster.ts +0 -351
  339. package/src/memory/coverage.ts +0 -134
  340. package/src/memory/crosslink.ts +0 -0
  341. package/src/memory/db.ts +0 -253
  342. package/src/memory/entity.ts +0 -203
  343. package/src/memory/gate.ts +0 -187
  344. package/src/memory/history.ts +0 -152
  345. package/src/memory/ingest.ts +0 -335
  346. package/src/memory/model.ts +0 -183
  347. package/src/memory/normalize.ts +0 -671
  348. package/src/memory/parse.ts +0 -22
  349. package/src/memory/pipeline.ts +0 -275
  350. package/src/memory/prompts.ts +0 -65
  351. package/src/memory/query.ts +0 -334
  352. package/src/memory/reconcile.ts +0 -734
  353. package/src/memory/redirect.ts +0 -108
  354. package/src/memory/reindex.ts +0 -325
  355. package/src/memory/resolve.ts +0 -307
  356. package/src/memory/rest.ts +0 -245
  357. package/src/memory/route.ts +0 -272
  358. package/src/memory/schedule.ts +0 -165
  359. package/src/memory/stages.ts +0 -777
  360. package/src/memory/synthesize.ts +0 -1638
  361. package/src/memory/tools.ts +0 -749
  362. package/src/memory/vault.ts +0 -1194
  363. package/src/memory/wikify.ts +0 -1064
  364. package/src/mlx/array.ts +0 -388
  365. package/src/mlx/autograd.ts +0 -304
  366. package/src/mlx/checkpoint.ts +0 -149
  367. package/src/mlx/compile.ts +0 -168
  368. package/src/mlx/custom-vjp.ts +0 -188
  369. package/src/mlx/ffi.ts +0 -512
  370. package/src/mlx/materialize.ts +0 -23
  371. package/src/mlx/metal-kernel.ts +0 -159
  372. package/src/mlx/ops.ts +0 -1021
  373. package/src/mlx/quantized-rows.ts +0 -36
  374. package/src/mlx/token-bitmask.ts +0 -52
  375. package/src/mlx/turboquant-kv-decode.ts +0 -82
  376. package/src/mlx/turboquant-kv-inverse.ts +0 -122
  377. package/src/mlx/turboquant-ops.ts +0 -861
  378. package/src/mlx/turboquant-tables.ts +0 -237
  379. package/src/mmap.ts +0 -90
  380. package/src/model/artifact-identity.ts +0 -73
  381. package/src/model/batched-kv.ts +0 -235
  382. package/src/model/batched-mask.ts +0 -279
  383. package/src/model/batched-quant.ts +0 -212
  384. package/src/model/batched-quantized-kv.ts +0 -144
  385. package/src/model/batched-rotating-quant.ts +0 -353
  386. package/src/model/batched-rotating-state.ts +0 -149
  387. package/src/model/batched-rotating.ts +0 -338
  388. package/src/model/batched-row-storage.ts +0 -179
  389. package/src/model/batched-ssm.ts +0 -52
  390. package/src/model/batched-turboquant-kv.ts +0 -93
  391. package/src/model/compiled-decode.ts +0 -712
  392. package/src/model/decoded-kv-donor.ts +0 -12
  393. package/src/model/delayed-quantized-kv.ts +0 -72
  394. package/src/model/delayed-rotating-quantized-kv.ts +0 -93
  395. package/src/model/delayed-turboquant-kv.ts +0 -55
  396. package/src/model/diffusion-gemma.ts +0 -1026
  397. package/src/model/factory.ts +0 -189
  398. package/src/model/fingerprint.ts +0 -33
  399. package/src/model/flash-attention.ts +0 -694
  400. package/src/model/full-prefill-padding.ts +0 -56
  401. package/src/model/full-prefill-row.ts +0 -105
  402. package/src/model/gemma4-base.ts +0 -2351
  403. package/src/model/gemma4.ts +0 -1315
  404. package/src/model/generated/gemma4-12b.ts +0 -429
  405. package/src/model/generated/gemma4-26b.ts +0 -448
  406. package/src/model/generated/gemma4-e4b.ts +0 -717
  407. package/src/model/generated/index.ts +0 -18
  408. package/src/model/glm52-atlas.ts +0 -511
  409. package/src/model/glm52-cache.ts +0 -792
  410. package/src/model/glm52-config.ts +0 -262
  411. package/src/model/glm52-container.ts +0 -305
  412. package/src/model/glm52-coupling.ts +0 -388
  413. package/src/model/glm52-dsa.ts +0 -606
  414. package/src/model/glm52-expert-layout.ts +0 -253
  415. package/src/model/glm52-layout.ts +0 -152
  416. package/src/model/glm52-memory.ts +0 -500
  417. package/src/model/glm52-mla.ts +0 -792
  418. package/src/model/glm52-moe.ts +0 -223
  419. package/src/model/glm52-pilot.ts +0 -537
  420. package/src/model/glm52-reference.ts +0 -445
  421. package/src/model/glm52-residency.ts +0 -557
  422. package/src/model/glm52-resident-weights.ts +0 -135
  423. package/src/model/glm52-streamed-experts.ts +0 -453
  424. package/src/model/glm52-streamed-metal.ts +0 -610
  425. package/src/model/glm52-weights.ts +0 -503
  426. package/src/model/glm52.ts +0 -1132
  427. package/src/model/implementation.ts +0 -69
  428. package/src/model/kv-attention-view.ts +0 -67
  429. package/src/model/minicpm5.ts +0 -376
  430. package/src/model/profile.ts +0 -443
  431. package/src/model/qwen-append.ts +0 -12
  432. package/src/model/qwen-conv.ts +0 -52
  433. package/src/model/qwen3-delta-state.ts +0 -74
  434. package/src/model/qwen3-delta.ts +0 -451
  435. package/src/model/qwen3-moe.ts +0 -404
  436. package/src/model/qwen3-mrope.ts +0 -252
  437. package/src/model/qwen3.ts +0 -277
  438. package/src/model/qwen3_5-checkpoint.ts +0 -164
  439. package/src/model/qwen3_5.ts +0 -819
  440. package/src/model/rotating-kv-donor.ts +0 -35
  441. package/src/model/rotating-kv-layout.ts +0 -262
  442. package/src/model/rotating-row-transaction.ts +0 -35
  443. package/src/model/speculative-rotating-kv.ts +0 -101
  444. package/src/model/ssm-prefill-padding.ts +0 -39
  445. package/src/model/support.ts +0 -102
  446. package/src/model/trellis-balanced-scatter.ts +0 -51
  447. package/src/model/trellis-linear.ts +0 -672
  448. package/src/model/trellis-shared-m.ts +0 -151
  449. package/src/model/trellis-shared-scatter.ts +0 -144
  450. package/src/model/trellis-splitk-prefill.ts +0 -158
  451. package/src/model/trellis-tiled-prefill.ts +0 -136
  452. package/src/model/trellis-vector-expand.ts +0 -62
  453. package/src/model/trellis-wide-prefill.ts +0 -94
  454. package/src/model/turboquant-codec.ts +0 -83
  455. package/src/model/universal/archs.ts +0 -332
  456. package/src/model/universal/dense.ts +0 -612
  457. package/src/model/universal/modules.ts +0 -170
  458. package/src/model/universal/rope.ts +0 -381
  459. package/src/native/expert_io.c +0 -523
  460. package/src/native/frame_extract.swift +0 -140
  461. package/src/native-pack.ts +0 -162
  462. package/src/pi-provider.ts +0 -53
  463. package/src/pi-session.ts +0 -81
  464. package/src/pi-terminal.ts +0 -274
  465. package/src/pi-web.ts +0 -1932
  466. package/src/preflight.ts +0 -158
  467. package/src/prompt-cache.ts +0 -460
  468. package/src/quantize/allocator.ts +0 -627
  469. package/src/quantize/atomic-output.ts +0 -38
  470. package/src/quantize/calibration.ts +0 -181
  471. package/src/quantize/config-writer.ts +0 -145
  472. package/src/quantize/index.ts +0 -84
  473. package/src/quantize/job.ts +0 -162
  474. package/src/quantize/quantizer.ts +0 -666
  475. package/src/quantize/rotate.ts +0 -603
  476. package/src/quantize/safetensors-writer.ts +0 -249
  477. package/src/quantize/sensitivity.ts +0 -216
  478. package/src/quantize/trellis.ts +0 -586
  479. package/src/quantize/weight-transform.ts +0 -292
  480. package/src/registry.ts +0 -602
  481. package/src/runtime-config.ts +0 -81
  482. package/src/safetensors.ts +0 -158
  483. package/src/sampler.ts +0 -1011
  484. package/src/serve/admin-routes.ts +0 -184
  485. package/src/serve/assets/curve-terrain.html +0 -105
  486. package/src/serve/assets/training-inference-map.html +0 -575
  487. package/src/serve/aux-routes.ts +0 -132
  488. package/src/serve/batch-scheduler.ts +0 -8
  489. package/src/serve/checkpoint-identity.ts +0 -64
  490. package/src/serve/generation-gateway.ts +0 -496
  491. package/src/serve/isolate.ts +0 -609
  492. package/src/serve/kv-budget.ts +0 -14
  493. package/src/serve/lab-routes.ts +0 -341
  494. package/src/serve/lane-registry.ts +0 -45
  495. package/src/serve/model-admin-routes.ts +0 -155
  496. package/src/serve/model-binding.ts +0 -43
  497. package/src/serve/model-host.ts +0 -511
  498. package/src/serve/parent-application.ts +0 -56
  499. package/src/serve/prompt-response-trace.ts +0 -147
  500. package/src/serve/response-lease.ts +0 -24
  501. package/src/serve/session-search.ts +0 -326
  502. package/src/serve/static-routes.ts +0 -101
  503. package/src/server.ts +0 -1314
  504. package/src/spec/assistant-rows.ts +0 -92
  505. package/src/spec/assistant-source.ts +0 -126
  506. package/src/spec/cache-identity.ts +0 -22
  507. package/src/spec/deepspec-rows.ts +0 -29
  508. package/src/spec/deepspec-source.ts +0 -145
  509. package/src/spec/dflash-source.ts +0 -149
  510. package/src/spec/drafter.ts +0 -304
  511. package/src/spec/dspark/ab-stats.ts +0 -136
  512. package/src/spec/dspark/calibration.ts +0 -112
  513. package/src/spec/dspark/data-dflash.ts +0 -156
  514. package/src/spec/dspark/data.ts +0 -201
  515. package/src/spec/dspark/deepspec-module.ts +0 -776
  516. package/src/spec/dspark/generate-dflash.ts +0 -245
  517. package/src/spec/dspark/generate.ts +0 -290
  518. package/src/spec/dspark/loader.ts +0 -23
  519. package/src/spec/dspark/loss.ts +0 -213
  520. package/src/spec/dspark/module-dflash.ts +0 -560
  521. package/src/spec/dspark/module.ts +0 -540
  522. package/src/spec/dspark/quantize-drafter.ts +0 -91
  523. package/src/spec/dspark/sample.ts +0 -112
  524. package/src/spec/generate.ts +0 -276
  525. package/src/spec/glm52-mtp-graph.ts +0 -29
  526. package/src/spec/glm52-mtp-rows.ts +0 -132
  527. package/src/spec/glm52-mtp-source.ts +0 -317
  528. package/src/spec/glm52-mtp-state.ts +0 -33
  529. package/src/spec/ngram-source.ts +0 -204
  530. package/src/spec/projected-draft-rows.ts +0 -73
  531. package/src/spec/qwen-mtp-module.ts +0 -171
  532. package/src/spec/qwen-mtp-rows.ts +0 -219
  533. package/src/spec/qwen-mtp-source.ts +0 -383
  534. package/src/spec/qwen-mtp-state.ts +0 -30
  535. package/src/spec/serve-loop.ts +0 -585
  536. package/src/spec/source.ts +0 -215
  537. package/src/spec/two-model-rows.ts +0 -61
  538. package/src/spec/two-model.ts +0 -113
  539. package/src/ssd-cache.ts +0 -372
  540. package/src/ssd-durability.ts +0 -211
  541. package/src/tokenizer.ts +0 -335
  542. package/src/tool-approvals.ts +0 -131
  543. package/src/tool-call.ts +0 -695
  544. package/src/train/dataset.ts +0 -484
  545. package/src/train/diffusion-lora.ts +0 -216
  546. package/src/train/export.ts +0 -32
  547. package/src/train/flash-cce.ts +0 -1234
  548. package/src/train/forward.ts +0 -266
  549. package/src/train/fuse.ts +0 -243
  550. package/src/train/index.ts +0 -46
  551. package/src/train/job.ts +0 -205
  552. package/src/train/lora-params.ts +0 -254
  553. package/src/train/loss.ts +0 -1591
  554. package/src/train/merge.ts +0 -195
  555. package/src/train/optimizer.ts +0 -183
  556. package/src/train/prefix-shared.ts +0 -490
  557. package/src/train/rank.ts +0 -137
  558. package/src/train/segmented.ts +0 -1828
  559. package/src/train/steel-qmm-header.ts +0 -1461
  560. package/src/train/trainer.ts +0 -1221
  561. package/src/train/watch.ts +0 -542
  562. package/src/vision/diffusion-vision.ts +0 -620
  563. package/src/vision/embedder.ts +0 -168
  564. package/src/vision/preprocess.ts +0 -247
  565. package/src/vision/prompt.ts +0 -373
  566. package/src/vision/qwen3vl-preprocess.ts +0 -409
  567. package/src/vision/qwen3vl-prompt.ts +0 -196
  568. package/src/vision/qwen3vl-tower.ts +0 -555
  569. package/src/vision/siglip.ts +0 -599
  570. package/src/vision/video-frames.ts +0 -148
  571. package/src/web/app.html +0 -2143
  572. package/src/web/app.js +0 -5703
  573. package/src/web/skills/memory/SKILL.md +0 -120
  574. package/src/web/skills/web-research/SKILL.md +0 -46
  575. package/src/web/skills.ts +0 -97
  576. package/src/web/src/adapters-panel.ts +0 -288
  577. package/src/web/src/assistant.ts +0 -451
  578. package/src/web/src/chat.ts +0 -1057
  579. package/src/web/src/composer.ts +0 -959
  580. package/src/web/src/dataset.ts +0 -132
  581. package/src/web/src/finetune.ts +0 -267
  582. package/src/web/src/hub.ts +0 -428
  583. package/src/web/src/main.ts +0 -98
  584. package/src/web/src/markdown.ts +0 -0
  585. package/src/web/src/memory-panel.ts +0 -572
  586. package/src/web/src/model-picker.ts +0 -159
  587. package/src/web/src/palette.ts +0 -346
  588. package/src/web/src/protocol.ts +0 -26
  589. package/src/web/src/quantize.ts +0 -167
  590. package/src/web/src/rag.ts +0 -274
  591. package/src/web/src/sessions.ts +0 -469
  592. package/src/web/src/shell.ts +0 -804
  593. package/src/web/src/ui-catalog.ts +0 -78
  594. package/src/web/vendor/README.md +0 -61
  595. package/src/web-assets.ts +0 -47
  596. package/src/web-tools.ts +0 -478
  597. package/src/weights.ts +0 -255
  598. /package/src/{serve → server}/completion-sink.ts +0 -0
  599. /package/src/web/{icon.svg → public/icon.svg} +0 -0
  600. /package/src/web/{manifest.webmanifest → public/manifest.webmanifest} +0 -0
  601. /package/src/web/{vendor → public/vendor}/hljs-LICENSE +0 -0
@@ -1,259 +0,0 @@
1
- /** Shared browser/server protocol. Data only; no SDK, DOM, or native imports. */
2
- export type Lane = "serial" | "serial+spec" | "batched";
3
- export const APP_ROUTE_IDS = ["chat", "quantize", "finetune", "dataset", "status"] as const;
4
-
5
- export type ApprovalDecision = "allow" | "deny";
6
-
7
- export interface ImageAttachment {
8
- data: string;
9
- mimeType: string;
10
- }
11
-
12
- export type ClientMessage =
13
- | { type: "prompt"; text: string; images?: ImageAttachment[] }
14
- | { type: "abort" }
15
- // `editedArgs`: when the user edited the proposed arguments in the
16
- // approval card's textarea before approving, the (re-parsed) JSON object
17
- // to substitute for the tool's original input — mutated onto the pi SDK's
18
- // ToolCallEvent.input in place (the SDK's documented mutation contract;
19
- // see installApprovalGate). Ignored on "deny". `alwaysAllow`: persist this
20
- // tool to the durable always-allow config (src/tool-approvals.ts) so
21
- // future calls to the SAME TOOL NAME skip the card entirely, on this and
22
- // every other session.
23
- | { type: "approval"; callId: string; decision: ApprovalDecision; editedArgs?: Record<string, unknown>; alwaysAllow?: boolean }
24
- // Toggle the model's reasoning channel on/off (only meaningful when the
25
- // model supports thinking — ready.thinking). Maps to Pi's session thinking
26
- // level: "medium" (on) ↔ "off". Pi sends it as enable_thinking to the server.
27
- | { type: "set_thinking"; enabled: boolean }
28
- // Opt-in toggle (plan §5.4/§6.5/§9 Phase 2, default OFF): "let the agent
29
- // touch files on this machine". Persisted per-browser by the client
30
- // (localStorage `mlxbun.codingTools`); the ALLOWLIST decision is enforced
31
- // here, server-side. buildPiAgentSurface's tool list is fixed for the
32
- // life of an AgentSession (pi's DefaultResourceLoader config is baked in
33
- // at createAgentSessionServices time), so this can't rewire an
34
- // in-progress session — it takes effect starting with the next
35
- // new_session/open_session/fork_session (createRuntimeFactory reads
36
- // this.codingToolsRequested fresh every time the SDK calls it, including
37
- // from AgentSessionRuntime.newSession()'s internal re-invocation). The
38
- // `coding_tools` ServerMessage below reports the honest current-vs-pending
39
- // state so the UI can say so instead of implying it applies immediately.
40
- | { type: "set_coding_tools"; enabled: boolean }
41
- // Select the active LoRA adapter for subsequent turns (null = none/base).
42
- // app.html mounts it (POST /v1/adapters) before sending this; the
43
- // before_provider_request hook injects it into the provider payload.
44
- | { type: "set_adapter"; id: string | null }
45
- // Per-request sampling overrides. Each field is optional; null/undefined
46
- // means "leave it to the server default" (the mode-aware recommended
47
- // value resolved in toOptions). A present numeric value is injected into
48
- // the provider payload and always wins. The before_provider_request hook
49
- // injects whatever is set here.
50
- //
51
- // `scope` (plan §9 Phase 3 / beat matrix Axis 4 "per-message sampling
52
- // scope"): "session" (default, omitting the field means this too) persists
53
- // the override on the connection until changed — today's behavior,
54
- // unchanged. "next_turn" stores a ONE-SHOT override applied to exactly
55
- // the next prompt's injection, then cleared automatically — it never
56
- // touches the session-level values (a later plain set_sampling with
57
- // scope:"session" or omitted still sees whatever was there before this
58
- // message). Composition when both are present: next_turn's SET fields
59
- // win over session's for that one request; anything next_turn leaves
60
- // null/unset falls back to the session-level override for that field
61
- // (composeSampling — session-level itself falls back to the server's
62
- // mode-aware default per injectSampling's existing contract).
63
- | {
64
- type: "set_sampling";
65
- scope?: "session" | "next_turn";
66
- temperature?: number | null;
67
- top_p?: number | null;
68
- top_k?: number | null;
69
- min_p?: number | null;
70
- xtc_probability?: number | null;
71
- xtc_threshold?: number | null;
72
- repetition_penalty?: number | null;
73
- repetition_context_size?: number | null;
74
- presence_penalty?: number | null;
75
- frequency_penalty?: number | null;
76
- seed?: number | null;
77
- }
78
- // Per-session USER system prompt, layered ON TOP OF (not replacing) the
79
- // built-in surface prompt (buildWebChatSystemPrompt + memoryHint). null
80
- // clears it. Applied by the before_agent_start hook on the NEXT turn (pi
81
- // calls it fresh inside every session.prompt(), so this is a true
82
- // per-turn injection, not a session-creation-only setting — see
83
- // installSystemPromptHook). Presets v1 (composer.ts) send this alongside
84
- // set_sampling to apply a saved bundle.
85
- | { type: "set_system_prompt"; text: string | null }
86
- // Session management (recent-chats sidebar + new chat).
87
- | { type: "new_session" }
88
- | { type: "list_sessions" }
89
- | { type: "open_session"; path: string }
90
- | { type: "fork_session"; path: string }
91
- | { type: "delete_session"; path: string }
92
- // Message actions (plan §5.2). All three navigate the session's leaf
93
- // pointer via AgentSession.navigateTree() then re-prompt — a sibling
94
- // branch in the SAME session file, never a new one (see the helpers above
95
- // findLastUserMessageEntry for the full rationale). Regenerate re-sends the
96
- // last user message's original content verbatim; edit_resend re-sends it
97
- // with edited text (images preserved); switch_sibling moves the active
98
- // leaf to a previously-created sibling (an earlier edit/regeneration)
99
- // without sending anything new.
100
- | { type: "regenerate" }
101
- | { type: "edit_resend"; text: string }
102
- | { type: "switch_sibling"; entryId: string }
103
- // App-aware assistant (plan §6.6, §9 Phase 3, beat matrix Axis 12): pushed
104
- // by chat.ts on every route change AND on wizard-step change (quantize/
105
- // finetune/dataset), never on a timer. `context` is opaque here (the
106
- // browser's AppContext shape, src/web/src/assistant.ts) — stored verbatim
107
- // as the connection's currentAppContext and returned by the
108
- // get_current_app_context tool, plus mined for the compact one-line
109
- // ambient context auto-prepended to the NEXT prompt (see
110
- // installAppContextHook / ambientContextLine). This is a DIFFERENT frame
111
- // from the server->client `context` ServerMessage (context-window usage,
112
- // above) — same name, opposite direction, disambiguated by which type
113
- // union it's a member of; the two are never in scope at the same call
114
- // site (ClientMessage here vs. ServerMessage below).
115
- | { type: "context"; context: AppUiContext };
116
-
117
- export interface UiSnapshotElement {
118
- ref: string;
119
- tag: string;
120
- label: string;
121
- kind: "interactive" | "region";
122
- role?: string;
123
- selector: string;
124
- spotlightId?: string;
125
- }
126
-
127
- export interface UiSnapshot {
128
- route: string;
129
- capturedAt: string;
130
- elements: UiSnapshotElement[];
131
- }
132
-
133
- export interface WizardStep {
134
- index: number;
135
- count: number;
136
- label: string;
137
- }
138
-
139
- export interface AppUiContext {
140
- route: string;
141
- view?: string;
142
- step?: WizardStep;
143
- snapshot: UiSnapshot;
144
- }
145
-
146
- export type AppRouteId = (typeof APP_ROUTE_IDS)[number];
147
-
148
- export interface ReadyGenDefaults {
149
- temperature: number | null;
150
- topP: number | null;
151
- topK: number | null;
152
- }
153
-
154
- export type ServerMessage =
155
- // `vision`: whether the loaded model can accept images (drives the UI's
156
- // image-attach affordance — false on e4b until the SigLIP sidecar lands).
157
- // `audio`: whether the loaded model can accept `input_audio` parts (audio
158
- // tower loaded or loadable). Discovery-only for now: pi's Model.input type
159
- // has no "audio" modality, so unlike `vision` this flag never feeds the
160
- // provider declaration — clients use it instead of probing for a 400.
161
- // `thinking`: whether the model has a switchable reasoning channel (drives
162
- // the UI's thinking on/off toggle; false hides it).
163
- | { type: "ready"; model: string; vision: boolean; audio: boolean; thinking: boolean; genDefaults: ReadyGenDefaults }
164
- | { type: "turn_start" }
165
- | { type: "text_delta"; delta: string }
166
- | { type: "thinking_delta"; delta: string }
167
- | { type: "tool_start"; callId: string; tool: string; args: unknown }
168
- | { type: "tool_approval_request"; callId: string; tool: string; args: unknown }
169
- | { type: "tool_update"; callId: string; chunk: unknown }
170
- | { type: "tool_end"; callId: string; ok: boolean; result: unknown }
171
- // `lane`: the serving lane the just-finished turn ran on (serial /
172
- // serial+spec / batched), correlated via the lane registry keyed by the
173
- // AssistantMessage's responseId (the pi SDK's own usage parsing drops
174
- // custom fields — see src/serve/lane-registry.ts). Absent when the turn
175
- // produced no assistant message with a responseId (e.g. an aborted turn
176
- // before any model call) — never guessed client-side (risk #5).
177
- | { type: "turn_end"; lane?: Lane }
178
- | { type: "queue_update"; steering: readonly string[]; followUp: readonly string[] }
179
- // Replay a session's transcript (rebuilds the thread); and the sidebar list.
180
- | { type: "history"; items: HistoryItem[] }
181
- | { type: "sessions"; items: SessionListItem[]; activePath?: string }
182
- // Sibling group for the LAST user message (edit-and-resend's `< i/n >`
183
- // toggle, plan §5.2). Sent after every history rebuild and after a
184
- // completed turn. `count` <= 1 means no toggle to show (the common case:
185
- // no edits/regenerations yet). `entryId` is the currently-active sibling's
186
- // id; `siblingIds` is the full ordered group so the client can resolve
187
- // "previous/next" locally and send switch_sibling with a concrete id
188
- // (never inferred/guessed — the server is the source of truth for order).
189
- | { type: "siblings"; entryId?: string; index: number; count: number; siblingIds: string[] }
190
- // Context-window usage indicator. tokens/percent are null right after a
191
- // compaction until the next assistant reply (pi can't estimate yet).
192
- | { type: "context"; tokens: number | null; contextWindow: number; percent: number | null }
193
- // Effective vs. pending codingTools state (set_coding_tools above).
194
- // `active` is what the CURRENT session actually built with (gates
195
- // whether the approval card can ever fire); `pending` is the browser's
196
- // most recent request, which only takes effect on the next
197
- // new/opened/forked session — surfaced so the settings copy can say
198
- // "will apply to your next new chat" instead of lying about immediacy.
199
- | { type: "coding_tools"; active: boolean; pending: boolean }
200
- // Full always-allow set for THIS machine (src/tool-approvals.ts), sent on
201
- // `ready` and after any change, so the settings panel can list/forget
202
- // durable per-tool approvals without a separate REST round-trip.
203
- | { type: "tool_approvals"; alwaysAllow: string[] }
204
- // App-aware assistant (plan §6.6): the navigate_app / spotlight_ui tools'
205
- // side-channel notifications, mapped 1:1 from the tool call's params —
206
- // never guessed or re-derived, so chat.ts's router/spotlight get exactly
207
- // what the model asked for. `route` here is always a validated
208
- // AppRouteId (isAppRouteId already ran server-side before this frame is
209
- // ever sent — see navigate_app's execute). ui_spotlight's fields mirror
210
- // SpotlightRequest 1:1 (assistant.ts resolves ref/label/selector/target
211
- // client-side, in that precedence order, against its last snapshot).
212
- | { type: "ui_navigate"; route: AppRouteId }
213
- | { type: "ui_spotlight"; ref?: string; label?: string; selector?: string; target?: string; message?: string; route?: AppRouteId }
214
- | { type: "error"; message: string };
215
-
216
- export interface HistoryToolItem {
217
- callId: string;
218
- name: string;
219
- args: unknown;
220
- /** Tool result text, filled from the matching toolResult message. */
221
- result: string;
222
- }
223
-
224
- export interface HistoryItem {
225
- role: "user" | "assistant";
226
- text: string;
227
- /** Model reasoning/thinking, kept separate from the final answer. */
228
- thinking?: string;
229
- tools: HistoryToolItem[];
230
- /** Session entry id (user items only). Lets the browser correlate "the
231
- * last user message" in the replayed thread with the `siblings` frame's
232
- * entryId, so it knows which DOM node gets the edit/sibling-toggle UI
233
- * (plan §5.2). Undefined for assistant items — they aren't fork targets. */
234
- entryId?: string;
235
- }
236
-
237
- export interface SessionListItem {
238
- path: string;
239
- id: string;
240
- title: string;
241
- /** Last-modified epoch ms (newest first). */
242
- modified: number;
243
- messageCount: number;
244
- forked: boolean;
245
- }
246
-
247
- export interface SamplingOverrides {
248
- temperature?: number | null;
249
- top_p?: number | null;
250
- top_k?: number | null;
251
- min_p?: number | null;
252
- xtc_probability?: number | null;
253
- xtc_threshold?: number | null;
254
- repetition_penalty?: number | null;
255
- repetition_context_size?: number | null;
256
- presence_penalty?: number | null;
257
- frequency_penalty?: number | null;
258
- seed?: number | null;
259
- }
@@ -1,23 +0,0 @@
1
- /** A reusable prefix and the backend/method state that covers its tokens.
2
- * The caller owns a returned hit. After releasing or returning its state,
3
- * it must release any retained backing through retain. */
4
- export interface PrefixCacheHit<State, Attachment = never> {
5
- tokens: number[];
6
- caches: State;
7
- attachments?: Attachment;
8
- retain?: () => void;
9
- }
10
-
11
- /** Storage is independent of request scheduling and the method producing
12
- * state. Both prefill and decode can publish processed-token prefixes.
13
- * State is opaque here; its backend/method defines layout and alignment.
14
- * Implementations own prefix selection, retention and storage tiers. */
15
- export interface PrefixCache<State, Attachment = never> {
16
- /** Return owned state for the longest usable prefix, or null on a miss.
17
- * Namespace distinguishes incompatible artifacts, methods and adapters. */
18
- take(prompt: number[], ns?: string): PrefixCacheHit<State, Attachment> | null;
19
- /** Transfer state and its optional backing release to storage. If this
20
- * throws, ownership stays with the caller; successful return transfers
21
- * ownership even when storage immediately spills or disposes the entry. */
22
- put(tokens: number[], caches: State, ns?: string, retain?: () => void, attachments?: Attachment): void;
23
- }
@@ -1,25 +0,0 @@
1
- /** A single owner. Borrowing does not extend lifetime; transfer invalidates
2
- * the old owner. close is idempotent, including when release throws. */
3
- export interface ResourceOwner<T> {
4
- borrow(): T;
5
- transfer(): T;
6
- close(): void;
7
- }
8
-
9
- /** State views may own temporary handles or borrow live state. Consumers
10
- * always close the lease; only the provider knows which handles to release. */
11
- export interface StateView<T> {
12
- borrow(): readonly T[];
13
- close(): void;
14
- }
15
-
16
- export interface DisposableResource {
17
- dispose(): void;
18
- }
19
-
20
- /** A prepared replacement for live state. Commit once between method rounds;
21
- * it publishes already-built state without graph work or validation. Dispose
22
- * releases the unpublished replacement, or the superseded state after commit. */
23
- export interface PreparedStateChange extends DisposableResource {
24
- commit(): void;
25
- }
@@ -1,23 +0,0 @@
1
- /** Sampling owns score processing, token selection, and request-local history.
2
- * Score/token representations and sync/device execution belong to the backend;
3
- * this contract has no scheduling, cache, or tensor-runtime dependency. */
4
- export interface SampledToken<Token, Metadata> {
5
- token: Token;
6
- extras: Metadata | null;
7
- }
8
-
9
- export interface SamplingSession<Scores, DeviceToken, Result> {
10
- /** Optional stateless operation shared across compatible rows and positions.
11
- * It borrows scores and returns owned device tokens, without advancing history. */
12
- readonly independent?: { sample(scores: Scores): DeviceToken };
13
- readonly isPlainGreedy: boolean;
14
- readonly capturesLogprobs: boolean;
15
- readonly needsHistory: boolean;
16
- /** Borrows scores; transfers ownership of the result to the caller. */
17
- sample(logits: Scores, step: number): Result;
18
- seedHistory(tokens: readonly number[]): void;
19
- /** Commit accepted tokens when configured for manual history updates. */
20
- commitDevice(token: DeviceToken): void;
21
- commitNumbers(tokens: readonly number[]): void;
22
- dispose(): void;
23
- }
@@ -1,45 +0,0 @@
1
- /** Backend-owned context shared by compatible requests. A key identifies
2
- * equivalent execution state; enter returns its scoped release. Scheduling
3
- * observes group readiness without inspecting this context. */
4
- export interface ExecutionContext {
5
- readonly key: string;
6
- enter(): () => void;
7
- }
8
-
9
- /** A backend execution group exposes bounded work units and readiness. Queue
10
- * payloads, tensors, cache merging and sampling remain inside its adapter. */
11
- export interface ExecutionGroup {
12
- readonly active: number;
13
- readonly queued: number;
14
- readonly preparing: boolean;
15
- readonly preparingRows?: number;
16
- /** The preparation owner can accept another row before its next work unit. */
17
- readonly canPrepareMore?: boolean;
18
- /** Work estimates affect grouping only. A request larger than this budget
19
- * still runs alone; it is never rejected or sent to another executor. */
20
- readonly preparingTokens?: number;
21
- readonly nextPreparationTokens?: number;
22
- readonly maxPreparationTokens?: number;
23
- /** The latest preparation published output that can be flushed by yielding. */
24
- readonly preparationPublishedOutput?: boolean;
25
- readonly maxActive: number;
26
- readonly admissionHeld: boolean;
27
- readonly closed: boolean;
28
- pruneCancelled(): void;
29
- /** May reject/remove an impossible queued request before returning false. */
30
- admitNext(): boolean;
31
- /** Read-only budget check used to preserve admission before decode. */
32
- canBurst(): boolean;
33
- advancePreparation(): Promise<void>;
34
- advance(): Promise<void>;
35
- failActive(error: unknown): void;
36
- failAll(error: unknown): void;
37
- reserveResidency(): () => void;
38
- acquireExecution?(): Promise<() => void>;
39
- waitForWork(): Promise<void>;
40
- }
41
-
42
- export interface SchedulingClock {
43
- now(): number;
44
- yield(): Promise<void>;
45
- }
@@ -1,14 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "lib": ["ES2022"],
4
- "target": "ES2022",
5
- "module": "Preserve",
6
- "moduleResolution": "bundler",
7
- "types": [],
8
- "strict": true,
9
- "skipLibCheck": false,
10
- "noUncheckedIndexedAccess": true,
11
- "noEmit": true
12
- },
13
- "include": ["./*.ts", "../engine/**/*.ts", "../inference/**/*.ts"]
14
- }