sci-misc/llama-swap
Reliable LLM model swapping proxy for llama.cpp / vllm / etc.
ChangeLog
commit 43af72f350aa7ddbe3d57c6fa6e311389eb792a6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 03:50:30 2026 +0200
sci-misc/llama-swap: trim 253 comment prose
commit b9a77ab22ec503c71c5ea5907ac38a99062b5c82
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 03:44:04 2026 +0200
sci-misc/llama-swap: trim 255 comment prose
commit a3c4aae804fa890d5d26575323964385ffb3f5e2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 10:12:55 2026 +0200
sci-misc/llama-swap: install the real example config
Upstream left only a one-line "moved to docs/" pointer at the source root,
so both ebuilds installed a 37-byte comment as
/usr/share/llama-swap/config.example.yaml -- the very file pkg_postinst
tells users to copy as their starting config. Point doins at docs/, which
carries the ~770-line reference.
Fixed in place rather than by revision: the file is a setup-time example
that the daemon never reads, so anyone already running llama-swap has long
since written their own config and gains nothing from a rebuild, while a
revbump would force the whole Go build (and npm under USE=ui) for a
documentation file.
commit a75ba6ab8287cf74f3d3613556ef1b951322aecc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Sep 6 09:58:13 2026 +0200
sci-misc/llama-swap: drop 252
Retention: 253 and 255 are the last two. The 252 bundle and its tag stay
in extra-stuff -- old tags remain reachable for anyone still on that
ebuild, and nothing there is pruned.
commit 4c3ec6f72b1c14f971df678ef5193b62b5dab999
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Sep 6 09:58:02 2026 +0200
sci-misc/llama-swap: add 255
Bundle rebuilt in extra-stuff (upstream v255 + `go mod vendor`) so the build
stays network-sandbox clean.
Two things re-derived from the 255 source rather than carried over. The go
directive in go.mod rose to 1.27.1, so the BDEPEND floor rises with it. And
the UI-embedding assumptions the ebuild depends on were re-checked: ui/ and
its package-lock are present, vite still writes to
../internal/server/ui_dist, the embed_ui/!embed_ui pair is intact, and
main.version still exists for the -X ldflag to land on -- it lives in
llama-swap.go in a `package main`, not under cmd/, which is worth recording
because a grep for cmd/*/main.go finds nothing and reads like a break.
Requires the extra-stuff tag llama-swap-255-r0-0 to be pushed FIRST or the
distfile is unfetchable.
commit 6c09e0622be26eed15e6f926a3c69ccdb7820015
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 4 09:54:49 2026 +0200
sci-misc/llama-swap: drop 251
Down to the last two. Nothing in the tree depends on this package; it is
an end-user proxy daemon. Its extra-stuff bundle and tag stay reachable
for anyone still on the older ebuild.
commit f86e1cfc9ba1d61e7c5bc26dbacdae07eb7a47b0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 4 09:54:49 2026 +0200
sci-misc/llama-swap: add 253
Not a straight copy: upstream raises go.mod's language version from
1.26.1 to 1.27.0, so the BDEPEND floor moves with it. ::gentoo ships
go-1.27.1, so the floor solves.
The vendored bundle grows from 11.4 MB to 14.3 MB because the module set
goes from 80 to 125 entries. The archive shape is unchanged -- same
top-level entry set as 252 -- so that is real dependency growth rather
than a differently-rolled bundle.
Build interface re-derived rather than assumed, since the src_compile
comment rests on it: ui/ and its package-lock are still present for
npm ci, vite still writes to ../internal/server/ui_dist, the
embed_ui / !embed_ui pair in internal/server is unchanged, and
main.version still exists for the -X ldflag to land on. The comment now
carries that check's date.
commit 80f4017079436c9835142fe2da01d1b5c998babf
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 1 11:34:09 2026 +0200
sci-misc/llama-swap: drop 250
Retention: keep the last two (251, 252). No ebuild depends on llama-swap
-- the only tree mentions are comments and elog text in www-apps/hollama
and sci-ml/unsloth -- so nothing pins a version.
bin/retention-audit.py cannot judge this package: it derives a version's
major series from the leading [._-]-delimited field, and llama-swap's
PVs are bare integers, so every version looks like its own series and
none is ever reported droppable. Applied the last-two rule by hand, as
the earlier llama-swap bumps did.
commit cd3db1ed0815a722f0f3c95d71309f47974f4f92
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 1 11:33:46 2026 +0200
sci-misc/llama-swap: add 252
go.mod and go.sum are UNCHANGED from 251, and the regenerated
vendor/modules.txt is byte-identical to 251's -- so this is a pure
source-content bump and the vendored bundle needed only a rebuild, not a
dependency review.
Two build-interface deltas checked rather than assumed:
- 252 adds docs/embed.go, an UNGATED //go:embed of docs/kb,
docs/config.example.yaml and docs/README.md, imported unconditionally
from llama-swap.go. All three targets do ship in the release tarball,
so a plain 'ego build' still works.
- The Makefile change is only a new eval-docs-agent target plus a .PHONE
typo fix; the -tags embed_ui contract this ebuild relies on is
unchanged.
Built with default USE (no ui): the binary reports 'version: 252'.
Bundle rebuilt per the extra-stuff recipe (GitHub archive, go mod
vendor, xz -9e -T1), 11431420 bytes.
commit b9748cb9c599dda2d8f1fcdd06ecee4e50183004
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 18:45:55 2026 +0200
sci-misc/llama-swap: drop 249
commit 1164b8c6d55df7c07df9fd6e970bfef1e525cce8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 18:41:30 2026 +0200
sci-misc/llama-swap: add 251
commit 7eacf53bfc906ca8c9693d1da1a8972aba73746d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 17 23:27:37 2026 +0200
sci-misc/llama-swap: drop 248
commit 232cdf5d33d9986f08fc19e04fe0a5ef0f388fe7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 17 23:27:36 2026 +0200
sci-misc/llama-swap: add 250
commit d2e1f1c8af51b540b03dec44cbf08748a21323c4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Aug 15 11:19:23 2026 +0200
sci-misc/llama-swap: avoid literal home layout in service
Keep the systemd configuration rationale portable without embedding a conventional
account path.
commit 6ac928f4208b0ad30e6175e61c14550bf6fba2b6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 10 19:29:05 2026 +0200
sci-misc/llama-swap: drop 247
commit 7da528c46ed639ea1f80f1acc57a24be54d61060
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 10 19:28:53 2026 +0200
sci-misc/llama-swap: add 249
commit b142b7e1d7673b011eaf74b5e4152eaf82439bcc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 9 12:35:36 2026 +0200
sci-misc/llama-swap: drop 246
commit 550ecbd2bf7e34799021595b6ebf9dc662e48961
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 9 12:35:27 2026 +0200
sci-misc/llama-swap: add 248
commit 0ed34eb915752b4e743aa54ecc7efa38d41bb0bb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 6 18:49:47 2026 +0200
sci-misc/llama-swap: drop 245
commit 5079e9c46f3f36fabe4d18eadfd965f68131ceba
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 6 18:49:42 2026 +0200
sci-misc/llama-swap: add 247
commit a74250e868c9af5c2371ad8f4e51874af2007930
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 3 10:02:33 2026 +0200
sci-misc/llama-swap: drop 244
commit ae1d217ef8c320b52fccaf2eb368f4e42d23c034
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 3 10:02:27 2026 +0200
sci-misc/llama-swap: add 246
commit 75bad22c517328ff955b39eaad2f4c4c434e4239
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 31 10:13:06 2026 +0200
sci-misc/llama-swap: drop 243
Superseded; retention keeps the last two releases (244, 245).
commit a982ca46ef2c7ef1e9efafd0f187a891db089a6b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 31 10:13:01 2026 +0200
sci-misc/llama-swap: add 245
Upstream v245; the ebuild derives all version references from PV, so it
is copied verbatim. New vendored Go-module bundle on extra-stuff
(tag llama-swap-245-r0-0); go.mod still requires go 1.26.1.
commit 4ecff4126d9978bbdfe65a2e3222cbb010684248
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jul 28 09:50:34 2026 +0200
sci-misc/llama-swap: drop 242
Retention: 243 and 244 are the last two snapshots. The extra-stuff
bundle and its signed tag stay reachable for anyone still on 242.
commit ae6e86ebb2b4141a8bfb824810821947ab552479
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jul 28 09:50:18 2026 +0200
sci-misc/llama-swap: add 244
go.mod and go.sum are unchanged from 243 - the 243..244 diff is an
internal matrix-DSL refactor under internal/ - so the freshly vendored
tree produces a vendor/modules.txt byte-identical to 243. Rebuilt the
extra-stuff bundle from the v244 archive the same way.
commit 470a43aaeb9a83b58ed78ffd62afc9d68d4dd789
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 26 12:58:32 2026 +0200
sci-misc/llama-swap: drop 241
commit 01dbd32e9f29bf6b43fa822e731f717ebcaa891d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 26 12:58:32 2026 +0200
sci-misc/llama-swap: add 243
commit 2e7d7c1e62b55d049a225f9b32fd0d28d718221f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 25 10:59:44 2026 +0200
sci-misc/llama-swap: drop 239, 240
commit 1d021f67514e718733f4c8e4d82c77aeaf2639d4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 25 10:59:35 2026 +0200
sci-misc/llama-swap: add 242
go.mod/go.sum unchanged over 241, so the vendored module set (vendor/modules.txt) is
byte-identical; pure source-content bump. Bundle rebuilt and hosted on extra-stuff as
llama-swap-242-r0-0.
commit 56e1a801760872ae9d508f7e7f2b92a6c9de6e99
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 22 15:54:31 2026 +0200
sci-misc/llama-swap: add 241
commit 9e7877fc961f9a448f1e790ca362c0e5391a7b9e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 15 11:49:02 2026 +0200
sci-misc/llama-swap: drop 238
commit adb9803daea8692a73bbd50425501050fdf2d458
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 15 11:49:02 2026 +0200
sci-misc/llama-swap: add 240
commit 1eb927b28b3c384bb5c87694b29fae27fcee6e10
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 12 22:08:15 2026 +0200
sci-misc/llama-swap: drop 237
commit f65c72e543f160a856eba1c2222ced71c26912d3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 12 22:07:53 2026 +0200
sci-misc/llama-swap: add 239
commit b575aa6de8f6ceb91650f9f217deb53314f9ec1c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 11 09:21:08 2026 +0200
sci-misc/llama-swap: drop 236
commit 3b489bc76a70da3272194be4c86ccce3c06ae7b9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 11 09:21:07 2026 +0200
sci-misc/llama-swap: add 238
commit 5a4260f4618961b2ea63bb5e2f67fa36458934f0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 10 15:25:51 2026 +0200
sci-misc/llama-swap: drop 235
commit de980d8a336ba6a4303b041bdda13bc9cf324a01
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 10 15:25:51 2026 +0200
sci-misc/llama-swap: add 237
commit 8f6c437156528fdb028f267c5f3d7dbbb018872a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 8 10:31:09 2026 +0200
sci-misc/llama-swap: drop 234
commit c1dfd382d8ef39728565aaa5432c05fcb8d99dd0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 8 10:31:09 2026 +0200
sci-misc/llama-swap: add 236
commit 2213843dd46cf14fa4836c16bef6e736fe44676b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 4 10:47:28 2026 +0200
sci-misc/llama-swap: drop 233
commit db596af860c59ac53e0cadd99eed7ada7d67f58c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 4 10:47:28 2026 +0200
sci-misc/llama-swap: add 235
commit e453c62ba666c950f8edb2d22f988f679930536a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 1 09:43:50 2026 +0200
sci-misc/llama-swap: drop 232
commit dedce0be19596501dd774a7b24960534b9bc2c11
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 1 09:43:50 2026 +0200
sci-misc/llama-swap: add 234
commit 113e4d3f20966061c9db57244df301f4b65b048c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jun 30 10:48:34 2026 +0200
sci-misc/llama-swap: drop 230
commit 7c4e6250bd9e489c3d7769f651f0ac8a8e09ec22
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jun 30 10:48:34 2026 +0200
sci-misc/llama-swap: add 233
commit 1b8556b9bc612050233f6f6dd6a6582e847cdabe
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 29 09:23:28 2026 +0200
sci-misc/llama-swap: drop 228, 229
commit 7479598bcafe7a2d83e61fd6d9e7563bb05ae83c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 29 09:23:22 2026 +0200
sci-misc/llama-swap: add 232
commit 68f7f9a9feb6d5ea195d6e85d7e28db429015790
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 25 17:51:28 2026 +0200
sci-misc/llama-swap: add 230
commit c94782ed1bf4b3d0001979c7dd097ccc49a3fb09
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 22 11:04:39 2026 +0200
sci-misc/llama-swap: drop 225, 226
commit 1e76fda35a3da52098f74e698d5869cdef46b576
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 22 11:03:51 2026 +0200
sci-misc/llama-swap: add 229
Tracks upstream tag v229 (activity-page column, failed-request
capture, upstream.ignorePaths). go.mod/go.sum are unchanged from
228, so the vendored module set is identical; the bundle adds only
the two new internal/config/upstream.go sources. Vendored bundle
hosted on extra-stuff under tag llama-swap-229-r0-0.
commit 890a8e28f326ffad8eb3c497554f55b917bc12f1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jun 20 15:49:48 2026 +0200
sci-misc/llama-swap: Keyword 225 for ~arm64
commit 8d65c006954848e63aa19a4c2023313b281d1162
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 18 10:36:01 2026 +0200
sci-misc/llama-swap: Keyword 228 for ~arm64
commit cba727e66f575dbc0aa4efdbb56b7a86ed6b56bd
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jun 17 17:19:05 2026 +0200
sci-misc/llama-swap: Keyword 226 for ~arm64
Go proxy/model-swapper for llama.cpp servers; the Go toolchain targets
aarch64 natively. Architecture-independent at the source level.
commit 01ba1c8cd4a838e0b83942d5c3535a9f3d702349
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 18 08:12:13 2026 +0200
sci-misc/llama-swap: add 228
commit d5c80e5086cb2c7fb99419cff14763cc434e90d4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jun 16 14:59:40 2026 +0200
sci-misc/llama-swap: drop 220, 223, 224
commit 5762a5c6a505ea89155535c4c6faf971467f613d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 15 15:47:40 2026 +0200
sci-misc/llama-swap: add 226
commit 9fca9a65a3b6af343e7ee794e94dbbb95b953d70
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jun 14 12:34:59 2026 +0200
sci-misc/llama-swap: add 225
commit 9da24ddb97f79fe7061e5281e07f02e774f919d9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jun 10 19:49:54 2026 +0200
sci-misc/llama-swap: add 224
commit addcce6085de07582e1a16f95623567f4ffa4f71
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jun 6 20:09:34 2026 +0200
sci-misc/llama-swap: drop 222
commit de38c4f79f8ae72de8e33f22b8f9c3a4ea4a8bed
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 4 10:53:35 2026 +0200
sci-misc/llama-swap: drop 217
commit bbf67b93a88eda51efb02c849646f1664530dbc7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 4 10:53:25 2026 +0200
sci-misc/llama-swap: add 223
commit 2414ee242a98fcc2f74ef360a635751eafcec09b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 1 11:59:47 2026 +0200
sci-misc/llama-swap: add 222
Two upstream commits: Unix process-group + Windows job-object handling
for clean child-process shutdown, plus an SSE goroutine race fix.
go.mod baseline 1.26.1 unchanged; golang.org/x/sys promoted from
indirect to direct (the new process-management code imports it).
commit c08854619280f171384e02f12c2b761741fcf076
Author: Raukaan Cogbrother <cogbrother@raukaan.local>
Date: Sun May 31 11:03:32 2026 +0200
sci-misc/llama-swap: add 220
Two upstream commits: load-testing TUI added (pulls bubbletea / lipgloss /
bubbles + transitive deps into go.sum) plus concurrency-middleware JSON
payload fix. go.mod baseline stays at 1.26.1.
commit 97b222aeced2669a0c84267c1de0b8a6574292e2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 13:14:09 2026 +0200
sci-misc/llama-swap, sci-ml/fastflowlm: add openrc + systemd services
Both get supervise-daemon-driven openrc init.d/conf.d and a systemd
per-instance template (pkg@<user>.service). Runners are USE-gated
and default off; the existing manual-start flow stays the unchanged
baseline.
llama-swap openrc refuses to start until LLAMA_SWAP_USER is set;
auto-derives LLAMA_SWAP_CONFIG from that user's $HOME via getent if
unset. Listener defaults to 127.0.0.1:8080 so a fresh install doesn't
expose the LLM API to the LAN. systemd unit has no default
LLAMA_SWAP_CONFIG -- systemd's %h resolves to /root for system-
manager units and /home/%i would bake in a passwd layout we can't
promise -- so EnvironmentFile=/etc/default/llama-swap@%i is required.
fastflowlm openrc refuses to start until FLM_USER is set; rc_ulimit
'-l unlimited' (and LimitMEMLOCK=infinity in systemd) is needed
because flm mlocks NPU buffers. systemd ExecStart goes through
/bin/sh -c with $$ escapes so ${FLM_PORT:+--port "$FLM_PORT"}
parameter expansion runs in the shell -- systemd's variable parser
has no :+ semantics.
Hardening:
- llama-swap: ProtectSystem=full rather than =strict so backends
spawned by it (llama.cpp et al.) can still write to ~/.cache/.
- fastflowlm: deliberately omits ProtectKernelTunables (NPU power-
mode may touch /sys/) and MemoryDenyWriteExecute (XDNA path may
use JIT); revisit once empirically verified safe.
Service files live at files/<pkg>.service (no @) because pkgcheck
BannedCharacter rejects @ in files/* filenames; systemd_newunit's
target arg adds the @ at install.
commit 6f17f543c81c02adddb622daad1d612e41726efa
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon May 25 20:54:28 2026 +0200
sci-misc/llama-swap: new package, 217
LLM model-swapping HTTP proxy for llama.cpp / vllm / mlx-server / etc.
Single Go binary; routes OpenAI/Anthropic-compatible API requests to
the right backend and lifecycle-manages those backends on demand so a
single endpoint can serve many models without keeping them all
GPU-resident.
Source build via go-module eclass against a vendored bundle hosted
on extra-stuff (sci-misc/llama-swap/llama-swap-217.tar.xz, tag
llama-swap-217-r0-0). The bundle is the upstream v217 tag plus
`go mod vendor`, generated locally so the in-tree build is
network-sandbox-clean.
Upstream embeds a Svelte web UI via `//go:embed ui_dist`. That UI
needs npm+vite, which can't sanely be vendored alongside the Go
modules. USE=ui pulls in net-libs/nodejs and runs `npm ci && npm
run build` at compile time (with RESTRICT=network-sandbox lifted —
same shape sci-misc/llama-cpp uses for its own webui). Default
USE=-ui stubs proxy/ui_dist/ with a "rebuild with USE=ui" index.html
so the //go:embed directive is satisfied and the HTTP API still
functions standalone.
Build-verified both USE=-ui (16 MB binary) and USE=ui (20 MB binary,
adds ~4 MB embedded Svelte assets) against go 1.26.3 + nodejs 24 +
npm 11.
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 03:50:30 2026 +0200
sci-misc/llama-swap: trim 253 comment prose
commit b9a77ab22ec503c71c5ea5907ac38a99062b5c82
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 03:44:04 2026 +0200
sci-misc/llama-swap: trim 255 comment prose
commit a3c4aae804fa890d5d26575323964385ffb3f5e2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 10:12:55 2026 +0200
sci-misc/llama-swap: install the real example config
Upstream left only a one-line "moved to docs/" pointer at the source root,
so both ebuilds installed a 37-byte comment as
/usr/share/llama-swap/config.example.yaml -- the very file pkg_postinst
tells users to copy as their starting config. Point doins at docs/, which
carries the ~770-line reference.
Fixed in place rather than by revision: the file is a setup-time example
that the daemon never reads, so anyone already running llama-swap has long
since written their own config and gains nothing from a rebuild, while a
revbump would force the whole Go build (and npm under USE=ui) for a
documentation file.
commit a75ba6ab8287cf74f3d3613556ef1b951322aecc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Sep 6 09:58:13 2026 +0200
sci-misc/llama-swap: drop 252
Retention: 253 and 255 are the last two. The 252 bundle and its tag stay
in extra-stuff -- old tags remain reachable for anyone still on that
ebuild, and nothing there is pruned.
commit 4c3ec6f72b1c14f971df678ef5193b62b5dab999
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Sep 6 09:58:02 2026 +0200
sci-misc/llama-swap: add 255
Bundle rebuilt in extra-stuff (upstream v255 + `go mod vendor`) so the build
stays network-sandbox clean.
Two things re-derived from the 255 source rather than carried over. The go
directive in go.mod rose to 1.27.1, so the BDEPEND floor rises with it. And
the UI-embedding assumptions the ebuild depends on were re-checked: ui/ and
its package-lock are present, vite still writes to
../internal/server/ui_dist, the embed_ui/!embed_ui pair is intact, and
main.version still exists for the -X ldflag to land on -- it lives in
llama-swap.go in a `package main`, not under cmd/, which is worth recording
because a grep for cmd/*/main.go finds nothing and reads like a break.
Requires the extra-stuff tag llama-swap-255-r0-0 to be pushed FIRST or the
distfile is unfetchable.
commit 6c09e0622be26eed15e6f926a3c69ccdb7820015
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 4 09:54:49 2026 +0200
sci-misc/llama-swap: drop 251
Down to the last two. Nothing in the tree depends on this package; it is
an end-user proxy daemon. Its extra-stuff bundle and tag stay reachable
for anyone still on the older ebuild.
commit f86e1cfc9ba1d61e7c5bc26dbacdae07eb7a47b0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 4 09:54:49 2026 +0200
sci-misc/llama-swap: add 253
Not a straight copy: upstream raises go.mod's language version from
1.26.1 to 1.27.0, so the BDEPEND floor moves with it. ::gentoo ships
go-1.27.1, so the floor solves.
The vendored bundle grows from 11.4 MB to 14.3 MB because the module set
goes from 80 to 125 entries. The archive shape is unchanged -- same
top-level entry set as 252 -- so that is real dependency growth rather
than a differently-rolled bundle.
Build interface re-derived rather than assumed, since the src_compile
comment rests on it: ui/ and its package-lock are still present for
npm ci, vite still writes to ../internal/server/ui_dist, the
embed_ui / !embed_ui pair in internal/server is unchanged, and
main.version still exists for the -X ldflag to land on. The comment now
carries that check's date.
commit 80f4017079436c9835142fe2da01d1b5c998babf
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 1 11:34:09 2026 +0200
sci-misc/llama-swap: drop 250
Retention: keep the last two (251, 252). No ebuild depends on llama-swap
-- the only tree mentions are comments and elog text in www-apps/hollama
and sci-ml/unsloth -- so nothing pins a version.
bin/retention-audit.py cannot judge this package: it derives a version's
major series from the leading [._-]-delimited field, and llama-swap's
PVs are bare integers, so every version looks like its own series and
none is ever reported droppable. Applied the last-two rule by hand, as
the earlier llama-swap bumps did.
commit cd3db1ed0815a722f0f3c95d71309f47974f4f92
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 1 11:33:46 2026 +0200
sci-misc/llama-swap: add 252
go.mod and go.sum are UNCHANGED from 251, and the regenerated
vendor/modules.txt is byte-identical to 251's -- so this is a pure
source-content bump and the vendored bundle needed only a rebuild, not a
dependency review.
Two build-interface deltas checked rather than assumed:
- 252 adds docs/embed.go, an UNGATED //go:embed of docs/kb,
docs/config.example.yaml and docs/README.md, imported unconditionally
from llama-swap.go. All three targets do ship in the release tarball,
so a plain 'ego build' still works.
- The Makefile change is only a new eval-docs-agent target plus a .PHONE
typo fix; the -tags embed_ui contract this ebuild relies on is
unchanged.
Built with default USE (no ui): the binary reports 'version: 252'.
Bundle rebuilt per the extra-stuff recipe (GitHub archive, go mod
vendor, xz -9e -T1), 11431420 bytes.
commit b9748cb9c599dda2d8f1fcdd06ecee4e50183004
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 18:45:55 2026 +0200
sci-misc/llama-swap: drop 249
commit 1164b8c6d55df7c07df9fd6e970bfef1e525cce8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 18:41:30 2026 +0200
sci-misc/llama-swap: add 251
commit 7eacf53bfc906ca8c9693d1da1a8972aba73746d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 17 23:27:37 2026 +0200
sci-misc/llama-swap: drop 248
commit 232cdf5d33d9986f08fc19e04fe0a5ef0f388fe7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 17 23:27:36 2026 +0200
sci-misc/llama-swap: add 250
commit d2e1f1c8af51b540b03dec44cbf08748a21323c4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Aug 15 11:19:23 2026 +0200
sci-misc/llama-swap: avoid literal home layout in service
Keep the systemd configuration rationale portable without embedding a conventional
account path.
commit 6ac928f4208b0ad30e6175e61c14550bf6fba2b6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 10 19:29:05 2026 +0200
sci-misc/llama-swap: drop 247
commit 7da528c46ed639ea1f80f1acc57a24be54d61060
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 10 19:28:53 2026 +0200
sci-misc/llama-swap: add 249
commit b142b7e1d7673b011eaf74b5e4152eaf82439bcc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 9 12:35:36 2026 +0200
sci-misc/llama-swap: drop 246
commit 550ecbd2bf7e34799021595b6ebf9dc662e48961
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 9 12:35:27 2026 +0200
sci-misc/llama-swap: add 248
commit 0ed34eb915752b4e743aa54ecc7efa38d41bb0bb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 6 18:49:47 2026 +0200
sci-misc/llama-swap: drop 245
commit 5079e9c46f3f36fabe4d18eadfd965f68131ceba
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 6 18:49:42 2026 +0200
sci-misc/llama-swap: add 247
commit a74250e868c9af5c2371ad8f4e51874af2007930
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 3 10:02:33 2026 +0200
sci-misc/llama-swap: drop 244
commit ae1d217ef8c320b52fccaf2eb368f4e42d23c034
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 3 10:02:27 2026 +0200
sci-misc/llama-swap: add 246
commit 75bad22c517328ff955b39eaad2f4c4c434e4239
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 31 10:13:06 2026 +0200
sci-misc/llama-swap: drop 243
Superseded; retention keeps the last two releases (244, 245).
commit a982ca46ef2c7ef1e9efafd0f187a891db089a6b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 31 10:13:01 2026 +0200
sci-misc/llama-swap: add 245
Upstream v245; the ebuild derives all version references from PV, so it
is copied verbatim. New vendored Go-module bundle on extra-stuff
(tag llama-swap-245-r0-0); go.mod still requires go 1.26.1.
commit 4ecff4126d9978bbdfe65a2e3222cbb010684248
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jul 28 09:50:34 2026 +0200
sci-misc/llama-swap: drop 242
Retention: 243 and 244 are the last two snapshots. The extra-stuff
bundle and its signed tag stay reachable for anyone still on 242.
commit ae6e86ebb2b4141a8bfb824810821947ab552479
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jul 28 09:50:18 2026 +0200
sci-misc/llama-swap: add 244
go.mod and go.sum are unchanged from 243 - the 243..244 diff is an
internal matrix-DSL refactor under internal/ - so the freshly vendored
tree produces a vendor/modules.txt byte-identical to 243. Rebuilt the
extra-stuff bundle from the v244 archive the same way.
commit 470a43aaeb9a83b58ed78ffd62afc9d68d4dd789
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 26 12:58:32 2026 +0200
sci-misc/llama-swap: drop 241
commit 01dbd32e9f29bf6b43fa822e731f717ebcaa891d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 26 12:58:32 2026 +0200
sci-misc/llama-swap: add 243
commit 2e7d7c1e62b55d049a225f9b32fd0d28d718221f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 25 10:59:44 2026 +0200
sci-misc/llama-swap: drop 239, 240
commit 1d021f67514e718733f4c8e4d82c77aeaf2639d4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 25 10:59:35 2026 +0200
sci-misc/llama-swap: add 242
go.mod/go.sum unchanged over 241, so the vendored module set (vendor/modules.txt) is
byte-identical; pure source-content bump. Bundle rebuilt and hosted on extra-stuff as
llama-swap-242-r0-0.
commit 56e1a801760872ae9d508f7e7f2b92a6c9de6e99
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 22 15:54:31 2026 +0200
sci-misc/llama-swap: add 241
commit 9e7877fc961f9a448f1e790ca362c0e5391a7b9e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 15 11:49:02 2026 +0200
sci-misc/llama-swap: drop 238
commit adb9803daea8692a73bbd50425501050fdf2d458
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 15 11:49:02 2026 +0200
sci-misc/llama-swap: add 240
commit 1eb927b28b3c384bb5c87694b29fae27fcee6e10
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 12 22:08:15 2026 +0200
sci-misc/llama-swap: drop 237
commit f65c72e543f160a856eba1c2222ced71c26912d3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 12 22:07:53 2026 +0200
sci-misc/llama-swap: add 239
commit b575aa6de8f6ceb91650f9f217deb53314f9ec1c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 11 09:21:08 2026 +0200
sci-misc/llama-swap: drop 236
commit 3b489bc76a70da3272194be4c86ccce3c06ae7b9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 11 09:21:07 2026 +0200
sci-misc/llama-swap: add 238
commit 5a4260f4618961b2ea63bb5e2f67fa36458934f0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 10 15:25:51 2026 +0200
sci-misc/llama-swap: drop 235
commit de980d8a336ba6a4303b041bdda13bc9cf324a01
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 10 15:25:51 2026 +0200
sci-misc/llama-swap: add 237
commit 8f6c437156528fdb028f267c5f3d7dbbb018872a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 8 10:31:09 2026 +0200
sci-misc/llama-swap: drop 234
commit c1dfd382d8ef39728565aaa5432c05fcb8d99dd0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 8 10:31:09 2026 +0200
sci-misc/llama-swap: add 236
commit 2213843dd46cf14fa4836c16bef6e736fe44676b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 4 10:47:28 2026 +0200
sci-misc/llama-swap: drop 233
commit db596af860c59ac53e0cadd99eed7ada7d67f58c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 4 10:47:28 2026 +0200
sci-misc/llama-swap: add 235
commit e453c62ba666c950f8edb2d22f988f679930536a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 1 09:43:50 2026 +0200
sci-misc/llama-swap: drop 232
commit dedce0be19596501dd774a7b24960534b9bc2c11
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 1 09:43:50 2026 +0200
sci-misc/llama-swap: add 234
commit 113e4d3f20966061c9db57244df301f4b65b048c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jun 30 10:48:34 2026 +0200
sci-misc/llama-swap: drop 230
commit 7c4e6250bd9e489c3d7769f651f0ac8a8e09ec22
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jun 30 10:48:34 2026 +0200
sci-misc/llama-swap: add 233
commit 1b8556b9bc612050233f6f6dd6a6582e847cdabe
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 29 09:23:28 2026 +0200
sci-misc/llama-swap: drop 228, 229
commit 7479598bcafe7a2d83e61fd6d9e7563bb05ae83c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 29 09:23:22 2026 +0200
sci-misc/llama-swap: add 232
commit 68f7f9a9feb6d5ea195d6e85d7e28db429015790
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 25 17:51:28 2026 +0200
sci-misc/llama-swap: add 230
commit c94782ed1bf4b3d0001979c7dd097ccc49a3fb09
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 22 11:04:39 2026 +0200
sci-misc/llama-swap: drop 225, 226
commit 1e76fda35a3da52098f74e698d5869cdef46b576
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 22 11:03:51 2026 +0200
sci-misc/llama-swap: add 229
Tracks upstream tag v229 (activity-page column, failed-request
capture, upstream.ignorePaths). go.mod/go.sum are unchanged from
228, so the vendored module set is identical; the bundle adds only
the two new internal/config/upstream.go sources. Vendored bundle
hosted on extra-stuff under tag llama-swap-229-r0-0.
commit 890a8e28f326ffad8eb3c497554f55b917bc12f1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jun 20 15:49:48 2026 +0200
sci-misc/llama-swap: Keyword 225 for ~arm64
commit 8d65c006954848e63aa19a4c2023313b281d1162
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 18 10:36:01 2026 +0200
sci-misc/llama-swap: Keyword 228 for ~arm64
commit cba727e66f575dbc0aa4efdbb56b7a86ed6b56bd
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jun 17 17:19:05 2026 +0200
sci-misc/llama-swap: Keyword 226 for ~arm64
Go proxy/model-swapper for llama.cpp servers; the Go toolchain targets
aarch64 natively. Architecture-independent at the source level.
commit 01ba1c8cd4a838e0b83942d5c3535a9f3d702349
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 18 08:12:13 2026 +0200
sci-misc/llama-swap: add 228
commit d5c80e5086cb2c7fb99419cff14763cc434e90d4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jun 16 14:59:40 2026 +0200
sci-misc/llama-swap: drop 220, 223, 224
commit 5762a5c6a505ea89155535c4c6faf971467f613d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 15 15:47:40 2026 +0200
sci-misc/llama-swap: add 226
commit 9fca9a65a3b6af343e7ee794e94dbbb95b953d70
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jun 14 12:34:59 2026 +0200
sci-misc/llama-swap: add 225
commit 9da24ddb97f79fe7061e5281e07f02e774f919d9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jun 10 19:49:54 2026 +0200
sci-misc/llama-swap: add 224
commit addcce6085de07582e1a16f95623567f4ffa4f71
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jun 6 20:09:34 2026 +0200
sci-misc/llama-swap: drop 222
commit de38c4f79f8ae72de8e33f22b8f9c3a4ea4a8bed
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 4 10:53:35 2026 +0200
sci-misc/llama-swap: drop 217
commit bbf67b93a88eda51efb02c849646f1664530dbc7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jun 4 10:53:25 2026 +0200
sci-misc/llama-swap: add 223
commit 2414ee242a98fcc2f74ef360a635751eafcec09b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jun 1 11:59:47 2026 +0200
sci-misc/llama-swap: add 222
Two upstream commits: Unix process-group + Windows job-object handling
for clean child-process shutdown, plus an SSE goroutine race fix.
go.mod baseline 1.26.1 unchanged; golang.org/x/sys promoted from
indirect to direct (the new process-management code imports it).
commit c08854619280f171384e02f12c2b761741fcf076
Author: Raukaan Cogbrother <cogbrother@raukaan.local>
Date: Sun May 31 11:03:32 2026 +0200
sci-misc/llama-swap: add 220
Two upstream commits: load-testing TUI added (pulls bubbletea / lipgloss /
bubbles + transitive deps into go.sum) plus concurrency-middleware JSON
payload fix. go.mod baseline stays at 1.26.1.
commit 97b222aeced2669a0c84267c1de0b8a6574292e2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 13:14:09 2026 +0200
sci-misc/llama-swap, sci-ml/fastflowlm: add openrc + systemd services
Both get supervise-daemon-driven openrc init.d/conf.d and a systemd
per-instance template (pkg@<user>.service). Runners are USE-gated
and default off; the existing manual-start flow stays the unchanged
baseline.
llama-swap openrc refuses to start until LLAMA_SWAP_USER is set;
auto-derives LLAMA_SWAP_CONFIG from that user's $HOME via getent if
unset. Listener defaults to 127.0.0.1:8080 so a fresh install doesn't
expose the LLM API to the LAN. systemd unit has no default
LLAMA_SWAP_CONFIG -- systemd's %h resolves to /root for system-
manager units and /home/%i would bake in a passwd layout we can't
promise -- so EnvironmentFile=/etc/default/llama-swap@%i is required.
fastflowlm openrc refuses to start until FLM_USER is set; rc_ulimit
'-l unlimited' (and LimitMEMLOCK=infinity in systemd) is needed
because flm mlocks NPU buffers. systemd ExecStart goes through
/bin/sh -c with $$ escapes so ${FLM_PORT:+--port "$FLM_PORT"}
parameter expansion runs in the shell -- systemd's variable parser
has no :+ semantics.
Hardening:
- llama-swap: ProtectSystem=full rather than =strict so backends
spawned by it (llama.cpp et al.) can still write to ~/.cache/.
- fastflowlm: deliberately omits ProtectKernelTunables (NPU power-
mode may touch /sys/) and MemoryDenyWriteExecute (XDNA path may
use JIT); revisit once empirically verified safe.
Service files live at files/<pkg>.service (no @) because pkgcheck
BannedCharacter rejects @ in files/* filenames; systemd_newunit's
target arg adds the @ at install.
commit 6f17f543c81c02adddb622daad1d612e41726efa
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon May 25 20:54:28 2026 +0200
sci-misc/llama-swap: new package, 217
LLM model-swapping HTTP proxy for llama.cpp / vllm / mlx-server / etc.
Single Go binary; routes OpenAI/Anthropic-compatible API requests to
the right backend and lifecycle-manages those backends on demand so a
single endpoint can serve many models without keeping them all
GPU-resident.
Source build via go-module eclass against a vendored bundle hosted
on extra-stuff (sci-misc/llama-swap/llama-swap-217.tar.xz, tag
llama-swap-217-r0-0). The bundle is the upstream v217 tag plus
`go mod vendor`, generated locally so the in-tree build is
network-sandbox-clean.
Upstream embeds a Svelte web UI via `//go:embed ui_dist`. That UI
needs npm+vite, which can't sanely be vendored alongside the Go
modules. USE=ui pulls in net-libs/nodejs and runs `npm ci && npm
run build` at compile time (with RESTRICT=network-sandbox lifted —
same shape sci-misc/llama-cpp uses for its own webui). Default
USE=-ui stubs proxy/ui_dist/ with a "rebuild with USE=ui" index.html
so the //go:embed directive is satisfied and the HTTP API still
functions standalone.
Build-verified both USE=-ui (16 MB binary) and USE=ui (20 MB binary,
adds ~4 MB embedded Svelte assets) against go 1.26.3 + nodejs 24 +
npm 11.


View
Download
Browse