A safe, simple, extensible, and fast agent harness
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Use xz compression instead of gz compression for packaging standard plugins

+10 -9
+2 -2
.github/workflows/release.yml
··· 197 197 - name: Package plugins 198 198 run: | 199 199 VERSION="${{ needs.plan.outputs.tag }}" 200 - ARCHIVE="ein-plugins-${VERSION}.tar.gz" 200 + ARCHIVE="ein-plugins-${VERSION}.tar.xz" 201 201 mkdir -p dist-plugins/tools dist-plugins/model_clients 202 202 203 203 cargo metadata --no-deps --format-version 1 | \ ··· 210 210 cp "target/wasm32-wasip2/release/${name}.wasm" "dist-plugins/${plugin_type}s/" 211 211 done 212 212 213 - tar -czf "$ARCHIVE" -C dist-plugins . 213 + tar -cJf "$ARCHIVE" -C dist-plugins . 214 214 echo "ARCHIVE=$ARCHIVE" >> "$GITHUB_ENV" 215 215 - name: Upload plugin archive artifact 216 216 uses: actions/upload-artifact@v6
+1 -1
Cargo.lock
··· 1013 1013 "ein-agent", 1014 1014 "ein-proto", 1015 1015 "ein_plugin", 1016 - "flate2", 1017 1016 "futures", 1018 1017 "hyper", 1019 1018 "reqwest", ··· 1028 1027 "wasmtime", 1029 1028 "wasmtime-wasi", 1030 1029 "wasmtime-wasi-http", 1030 + "xz2", 1031 1031 ] 1032 1032 1033 1033 [[package]]
+1
Cargo.toml
··· 55 55 tracing = "0.1" 56 56 tracing-subscriber = { version = "0.3", features = ["fmt"] } 57 57 wit-bindgen = "0.53.1" 58 + xz2 = "0.1"
+1 -1
crates/ein-server/Cargo.toml
··· 37 37 wasmtime-wasi = "42.0.1" 38 38 wasmtime-wasi-http = "42.0.1" 39 39 reqwest = { version = "0.13.2", default-features = false, features = ["rustls"] } 40 - flate2 = "1.1.9" 40 + xz2 = { workspace = true } 41 41 tar = "0.4.45"
+4 -4
crates/ein-server/src/plugins.rs
··· 2 2 // Copyright 2026 Mason Stallmo 3 3 4 4 use anyhow::{Context, Result}; 5 - use flate2::read::GzDecoder; 5 + use xz2::read::XzDecoder; 6 6 use std::{io, path::Path}; 7 7 use tar::Archive; 8 8 use tokio::{fs, task}; ··· 20 20 let ver = ver.trim_start_matches('v'); 21 21 let tag = format!("v{ver}"); 22 22 let url = 23 - format!("https://github.com/mstallmo/ein/releases/download/{tag}/ein-plugins-{tag}.tar.gz"); 23 + format!("https://github.com/mstallmo/ein/releases/download/{tag}/ein-plugins-{tag}.tar.xz"); 24 24 25 25 let plugins_dir = dirs::home_dir() 26 26 .context("Failed to find home directory")? ··· 46 46 .context("Failed to read response body")?; 47 47 48 48 task::spawn_blocking(move || { 49 - let gz = GzDecoder::new(io::Cursor::new(bytes)); 50 - Archive::new(gz) 49 + let xz = XzDecoder::new(io::Cursor::new(bytes)); 50 + Archive::new(xz) 51 51 .unpack(&plugins_dir) 52 52 .context("Failed to extract plugin archive") 53 53 })
+1 -1
crates/ein-tui/Cargo.toml
··· 35 35 tracing-appender = "0.2" 36 36 tracing-subscriber = { workspace = true } 37 37 reqwest = { version = "0.13.3", default-features = false, features = ["rustls"] } 38 - xz2 = "0.1" 38 + xz2 = { workspace = true } 39 39 tar = "0.4.45"