core: add community capability profile seam

This commit is contained in:
github-ops
2026-05-14 17:11:59 +00:00
parent 7f2acdecb9
commit 1f2ef70813
4 changed files with 31 additions and 13 deletions
+26
View File
@@ -1 +1,27 @@
use crate::{
EditionCapabilities, EditionLimits, MachineAccessMode, OperationSecurityLevel, ProductEdition,
Protocol,
};
pub trait CapabilityProfile: Send + Sync {
fn capabilities(&self) -> EditionCapabilities;
}
#[derive(Clone, Copy, Debug, Default)]
pub struct CommunityCapabilityProfile;
impl CapabilityProfile for CommunityCapabilityProfile {
fn capabilities(&self) -> EditionCapabilities {
EditionCapabilities {
edition: ProductEdition::Community,
supported_protocols: vec![Protocol::Rest],
supported_security_levels: vec![OperationSecurityLevel::Standard],
machine_access_modes: vec![MachineAccessMode::StaticAgentKey],
limits: EditionLimits {
max_workspaces: Some(1),
max_users_per_workspace: Some(1),
max_agents_per_workspace: Some(1),
},
}
}
}
+1
View File
@@ -36,6 +36,7 @@ pub use ext::auth::{
MachineCredentialVerifier, MachineCredentialVerifierError, SharedMachineCredentialVerifier,
VerifiedMachineCredential,
};
pub use ext::capability::{CapabilityProfile, CommunityCapabilityProfile};
pub use ids::{
AgentId, AsyncJobId, AuthProfileId, DescriptorId, InvitationId, InvocationLogId, OperationId,
PlatformApiKeyId, SampleId, SecretId, StreamSessionId, ToolId, UserId, UserSessionId,