OpenAgentID documentation
Source referencesRust module referenceopenagent-scim

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.

On this page