Implements comprehensive RBAC system: Core Types (types.rs): - Role: named set of AccessRules - AccessRule: (resources, verbs, scope) tuple - AccessScope: project/visibility/owner/group constraints - ResourceMeta: document metadata for access checks - Verb: read/write/delete/query - Visibility: public/private per document Role Provider (role_provider.rs): - RoleProvider trait for pluggable backends - YamlRoleProvider: load from YAML files - InMemoryRoleProvider: for testing - CompositeRoleProvider: layered lookup - Built-in roles: admin, portfolio-agent, authenticated-user Scope Checker (scope_checker.rs): - ScopeChecker trait + composite pattern - ProjectScopeChecker: allowed projects list - VisibilityScopeChecker: public/private matching - OwnerScopeChecker: self/any/specific user - GroupScopeChecker: required group membership Access Guard (access_guard.rs): - Unified API for HTTP + retrieval layers - check_http_capability(): memory:read/write checks - filter_resources(): document-level filtering - Audit logging for all decisions Tests: 77 unit + 25 integration, all passing Migration note: AuthorizedPipeline retained for compatibility, will be replaced by AccessGuard integration in next phase.
44 lines
1.7 KiB
Rust
44 lines
1.7 KiB
Rust
pub mod endpoints;
|
|
pub mod http_server;
|
|
pub mod ingest_worker;
|
|
pub mod query_worker;
|
|
pub mod rate_limiter;
|
|
pub mod idempotency;
|
|
pub mod jwt_validator;
|
|
pub mod opensearch_client;
|
|
pub mod dual_write_indexer;
|
|
pub mod queue_adapter;
|
|
pub mod gateway_queue_adapter;
|
|
pub mod queue_worker;
|
|
pub mod query_optimizer;
|
|
pub mod simple_hybrid_search;
|
|
pub mod accuracy_metrics;
|
|
pub mod context_endpoint;
|
|
pub mod verify;
|
|
pub mod rbac;
|
|
pub mod hybrid_retrieval;
|
|
pub mod chunk_optimizer;
|
|
pub mod chunk_metadata;
|
|
pub mod cache_alignment;
|
|
pub mod query_orchestrator;
|
|
pub mod query_filter;
|
|
pub mod advanced_ranking;
|
|
pub mod result_compressor;
|
|
pub mod federation;
|
|
pub mod query_router;
|
|
pub mod full_pipeline;
|
|
pub mod authorized_pipeline;
|
|
|
|
pub use endpoints::{IngestQueue, IngestRequest, JobStatus};
|
|
pub use ingest_worker::IngestWorker;
|
|
pub use query_worker::QueryWorker;
|
|
pub use hybrid_retrieval::{HybridRetriever, RetrievalRoute, WikiScopedFilter, RankedCandidate};
|
|
pub use chunk_optimizer::{ChunkOptimizer, OptimizableChunk, SelectionMetrics};
|
|
pub use chunk_metadata::{MetadataExtractor, MetadataBooster, ChunkMetadata, ChunkCategory, QueryIntent};
|
|
pub use cache_alignment::{LruChunkCache, KvCacheAligner, CacheLocalityAnalyzer, RetrievalProfiler, CacheMetrics};
|
|
pub use query_orchestrator::{QueryOrchestrator, QueryResult, OptimizedChunk, QueryContext, MemoryProjection};
|
|
pub use query_filter::{QueryFilter, FilterableDocument, FilterEngine, FilterStatistics};
|
|
pub use query_router::{QueryRouter, RouterConfig, RoutedResult, SelectedChunk, WikiGraphBuilder};
|
|
pub use full_pipeline::{FullPipeline, PipelineConfig, PipelineResult, PipelineMetrics, EnrichedChunk, PipelineBuilder};
|
|
pub use authorized_pipeline::{AuthorizedPipeline, AuthorizedPipelineBuilder, AuthorizedResult, AccessStats};
|