diff --git a/Cargo.lock b/Cargo.lock index 80b2f939..417f8ec7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3866,7 +3866,7 @@ dependencies = [ [[package]] name = "openfang-api" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "axum", @@ -3902,7 +3902,7 @@ dependencies = [ [[package]] name = "openfang-channels" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "axum", @@ -3933,7 +3933,7 @@ dependencies = [ [[package]] name = "openfang-cli" -version = "0.1.7" +version = "0.1.8" dependencies = [ "clap", "clap_complete", @@ -3960,7 +3960,7 @@ dependencies = [ [[package]] name = "openfang-desktop" -version = "0.1.7" +version = "0.1.8" dependencies = [ "axum", "open", @@ -3986,7 +3986,7 @@ dependencies = [ [[package]] name = "openfang-extensions" -version = "0.1.7" +version = "0.1.8" dependencies = [ "aes-gcm", "argon2", @@ -4014,7 +4014,7 @@ dependencies = [ [[package]] name = "openfang-hands" -version = "0.1.7" +version = "0.1.8" dependencies = [ "chrono", "dashmap", @@ -4031,7 +4031,7 @@ dependencies = [ [[package]] name = "openfang-kernel" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "chrono", @@ -4067,7 +4067,7 @@ dependencies = [ [[package]] name = "openfang-memory" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "chrono", @@ -4086,7 +4086,7 @@ dependencies = [ [[package]] name = "openfang-migrate" -version = "0.1.7" +version = "0.1.8" dependencies = [ "chrono", "dirs 6.0.0", @@ -4105,7 +4105,7 @@ dependencies = [ [[package]] name = "openfang-runtime" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "async-trait", @@ -4136,7 +4136,7 @@ dependencies = [ [[package]] name = "openfang-skills" -version = "0.1.7" +version = "0.1.8" dependencies = [ "chrono", "hex", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openfang-types" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "chrono", @@ -4177,7 +4177,7 @@ dependencies = [ [[package]] name = "openfang-wire" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "chrono", @@ -8789,7 +8789,7 @@ checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] name = "xtask" -version = "0.1.7" +version = "0.1.8" [[package]] name = "yoke" diff --git a/Cargo.toml b/Cargo.toml index 97be5143..02dba8cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ members = [ ] [workspace.package] -version = "0.1.8" +version = "0.1.9" edition = "2021" license = "Apache-2.0 OR MIT" repository = "https://github.com/RightNow-AI/openfang" diff --git a/crates/openfang-api/src/middleware.rs b/crates/openfang-api/src/middleware.rs index 37285e22..a386771e 100644 --- a/crates/openfang-api/src/middleware.rs +++ b/crates/openfang-api/src/middleware.rs @@ -90,6 +90,24 @@ pub async fn auth( || path == "/api/profiles" || path == "/api/config" || path.starts_with("/api/uploads/") + // Dashboard read endpoints — allow unauthenticated so the SPA can + // render before the user enters their API key. + || path == "/api/models" + || path == "/api/models/aliases" + || path == "/api/providers" + || path == "/api/budget" + || path == "/api/budget/agents" + || path.starts_with("/api/budget/agents/") + || path == "/api/network/status" + || path == "/api/a2a/agents" + || path == "/api/approvals" + || path == "/api/channels" + || path == "/api/skills" + || path == "/api/sessions" + || path == "/api/integrations" + || path == "/api/integrations/available" + || path == "/api/integrations/health" + || path.starts_with("/api/cron/") { return next.run(request).await; } diff --git a/crates/openfang-api/static/index_body.html b/crates/openfang-api/static/index_body.html index 18721fa1..90f8e426 100644 --- a/crates/openfang-api/static/index_body.html +++ b/crates/openfang-api/static/index_body.html @@ -1102,10 +1102,12 @@