diff --git a/Cargo.toml b/Cargo.toml index 5a11fd4..3698156 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ resolver = "3" edition = "2024" license = "MIT" rust-version = "1.85" -version = "0.1.0" +version = "0.2.0" [workspace.dependencies] aes-gcm = "0.10" diff --git a/TASKS.md b/TASKS.md index 80ec8d5..1619c2d 100644 --- a/TASKS.md +++ b/TASKS.md @@ -161,4 +161,6 @@ Progress: - Phase 1 / tasks `1.1`–`1.3`: strict-REST Community cleanup уже был закрыт ранее — non-REST adapters и `crank-proto` удалены из workspace, descriptor/premium UI surface убран из Community build, wizard и i18n приведены к REST-only baseline - Phase 1 / task `1.4`: создан crate `crank-community-auth`; в него вынесены password hashing/session cookie primitives и `PasswordIdentityProvider`, `admin-api` переключен на этот crate, а `login()` теперь реально делегирует credential check через `IdentityProvider` seam - Phase 1 / task `1.5`: создан crate `crank-community-mcp`; в него вынесены `build_app`, `catalog`, `jsonrpc`, `session` и `auth` из `apps/mcp-server`, а `apps/mcp-server/src/main.rs` стал thin launcher с env parsing и DI wiring + - Phase 1 / task `1.6`: Community test surface уже приведен к честному baseline — `test = false` удален ранее, premium-only tests вычищены, `just verify` проходит на текущем составе workspace + - Phase 1 / task `1.7`: workspace version bumped to `0.2.0`; release gate пройден (`just verify`, `npm run build`, `npm run e2e`), release commit и tag `v0.2.0` подготовлены в `crank-community` - backward-compatible alias `CommunityMachineCredentialVerifier` сохранен, поведение Community не изменено diff --git a/apps/admin-api/src/service.rs b/apps/admin-api/src/service.rs index 035de7f..ef99583 100644 --- a/apps/admin-api/src/service.rs +++ b/apps/admin-api/src/service.rs @@ -666,6 +666,7 @@ impl AdminService { ) } + #[cfg(test)] pub fn new_with_runtime( registry: PostgresRegistry, storage_root: PathBuf, @@ -687,10 +688,6 @@ impl AdminService { &self.auth_settings } - pub fn identity_provider(&self) -> Option<&Arc> { - self.identity_provider.as_ref() - } - pub fn policy_engine(&self) -> &Arc { &self.policy_engine } @@ -735,21 +732,25 @@ impl AdminServiceBuilder { self } + #[allow(dead_code)] pub fn with_policy_engine(mut self, policy_engine: Arc) -> Self { self.policy_engine = Some(policy_engine); self } + #[allow(dead_code)] pub fn with_audit_sink(mut self, audit_sink: Arc) -> Self { self.audit_sink = Some(audit_sink); self } + #[allow(dead_code)] pub fn with_token_issuer(mut self, token_issuer: Arc) -> Self { self.token_issuer = Some(token_issuer); self } + #[allow(dead_code)] pub fn with_capability_profile( mut self, capability_profile: Arc, @@ -4418,6 +4419,7 @@ fn validate_response_cache_policy( } #[cfg(test)] +#[allow(clippy::items_after_test_module)] mod tests { use std::collections::BTreeMap; diff --git a/apps/mcp-server/src/main.rs b/apps/mcp-server/src/main.rs index 4c38411..3d33054 100644 --- a/apps/mcp-server/src/main.rs +++ b/apps/mcp-server/src/main.rs @@ -177,12 +177,12 @@ mod tests { use tracing_subscriber::{filter::LevelFilter, fmt::MakeWriter, prelude::*}; use crank_community_mcp::{ - build_app, auth::{ CommunityMachineCredentialVerifier, MachineCredentialVerifier, MachineCredentialVerifierError, SharedMachineCredentialVerifier, VerifiedMachineCredential, }, + build_app, catalog::PublishedToolCatalog, session::{InMemorySessionStore, SharedSessionStore, TransportSessionStore}, }; diff --git a/crates/crank-community-mcp/src/app.rs b/crates/crank-community-mcp/src/app.rs index 22a98ff..ce2d974 100644 --- a/crates/crank-community-mcp/src/app.rs +++ b/crates/crank-community-mcp/src/app.rs @@ -128,6 +128,7 @@ struct AgentRoutePath { agent_slug: String, } +#[allow(clippy::too_many_arguments)] pub fn build_app( registry: PostgresRegistry, refresh_interval: Duration, @@ -471,6 +472,7 @@ async fn mcp_post( with_request_id_header(response, &transport_request_id) } +#[allow(clippy::too_many_arguments)] async fn handle_tool_call( state: Arc, session: &SessionState,