openagent-scim · types
Declared module signatures, types, configuration, and source documentation.
Source: openagent-sdk/bridges/scim/rust/src/types.rs. SHA-256: 90751b9c8de304eb38dc8898876cbbdc4295ea101863ee05818abf122a152306.
This source reference follows declared modules and preserves feature attributes. It includes public declarations and implementation methods in those modules. Private-module exports and trait resolution still require the compiler; not every declaration is a crate-root import. Function bodies and constant values are omitted. Source comments describe their implementation context and are not a production deployment claim.
types::SCIM_USER_SCHEMA
SCIM core User schema URN.
pub const SCIM_USER_SCHEMA: &str;Source line: 6.
types::OPENAGENT_AGENT_SCHEMA
OpenAgent agent extension schema URN.
pub const OPENAGENT_AGENT_SCHEMA: &str;Source line: 9.
types::SCIM_LIST_RESPONSE_SCHEMA
SCIM List Response schema URN.
pub const SCIM_LIST_RESPONSE_SCHEMA: &str;Source line: 12.
types::SCIM_ERROR_SCHEMA
SCIM Error schema URN.
pub const SCIM_ERROR_SCHEMA: &str;Source line: 16.
types::SCIM_PATCH_OP_SCHEMA
SCIM PatchOp schema URN.
pub const SCIM_PATCH_OP_SCHEMA: &str;Source line: 19.
types::ConformanceLevel
Conformance levels for OpenAgent agents.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum ConformanceLevel {
L0,
L1,
L2,
}Source line: 23.
types::AgentExtension
The OpenAgent agent extension attribute group.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AgentExtension {
pub parent_did: String,
pub conformance_level: ConformanceLevel,
pub scopes: Vec<String>,
pub lineage_depth: u32,
pub created_via: String,
pub keypair_fingerprint: String
}Source line: 38.
types::ScimMeta
SCIM resource metadata.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ScimMeta {
pub resource_type: String,
pub created: String,
pub last_modified: String,
pub location: String,
pub version: String
}Source line: 50.
types::ScimAgentResource
Full SCIM User resource with agent extension.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ScimAgentResource {
pub schemas: Vec<String>,
pub id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
pub user_name: String,
pub display_name: String,
pub active: bool,
pub meta: ScimMeta,
#[serde(rename = "urn:openagent:scim:1.0:Agent")]
pub agent_extension: AgentExtension
}Source line: 61.
types::ScimListResponse
SCIM List Response envelope.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ScimListResponse<T: Serialize> {
pub schemas: Vec<String>,
pub total_results: usize,
pub start_index: usize,
pub items_per_page: usize,
#[serde(rename = "Resources")]
pub resources: Vec<T>
}Source line: 77.
types::ScimErrorResponse
SCIM Error response.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ScimErrorResponse {
pub schemas: Vec<String>,
pub status: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub scim_type: Option<String>,
pub detail: String
}Source line: 89.
types::ScimErrorResponse::new
Create a new SCIM error response.
pub fn new(status: u16, scim_type: impl Into<String>, detail: impl Into<String>) -> Self;Source line: 99.
types::AgentRecord
Internal agent record — the canonical representation of a provisioned agent.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AgentRecord {
pub did: String,
pub user_name: String,
pub display_name: String,
pub active: bool,
pub parent_did: String,
pub conformance_level: ConformanceLevel,
pub scopes: Vec<String>,
pub lineage_depth: u32,
pub created_via: String,
pub keypair_fingerprint: String,
pub created_at: String,
pub updated_at: String,
pub version: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>
}Source line: 112.
types::CreateAgentParams
Parameters for creating a new agent via SCIM.
#[derive(Debug, Clone)]
pub struct CreateAgentParams {
pub user_name: String,
pub display_name: Option<String>,
pub parent_did: String,
pub conformance_level: ConformanceLevel,
pub scopes: Vec<String>,
pub external_id: Option<String>
}Source line: 132.
types::AuditEvent
Audit event emitted during agent lifecycle operations.
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct AuditEvent {
#[serde(rename = "type")]
pub event_type: AuditEventType,
pub did: String,
pub timestamp: String,
pub details: serde_json::Value
}Source line: 144.
types::AuditEventType
Audit event types.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)]
pub enum AuditEventType {
#[serde(rename = "agent.created")]
AgentCreated,
#[serde(rename = "agent.updated")]
AgentUpdated,
#[serde(rename = "agent.deprovisioned")]
AgentDeprovisioned,
}Source line: 154.
types::PatchOperation
SCIM PATCH operation.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PatchOperation {
pub op: PatchOp,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<serde_json::Value>
}Source line: 165.
types::PatchOp
SCIM PATCH operation type.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum PatchOp {
Add,
Replace,
Remove,
}Source line: 176.