systemprompt-identifiers 0.0.2

Core identifier types for systemprompt.io OS
Documentation

systemprompt-identifiers

Core identifier types for systemprompt.io OS.

Crates.io Documentation License: FSL-1.1-ALv2

Overview

Part of the Shared layer in the systemprompt.io architecture.

Provides strongly-typed wrappers for all domain identifiers, ensuring type safety and preventing accidental mixing of different ID types.

Installation

Add to your Cargo.toml:

[dependencies]
systemprompt-identifiers = "0.0.1"

Quick Example

use systemprompt_identifiers::{UserId, TaskId, ContextId};

let user_id = UserId::new();
let task_id = TaskId::new();
let context_id = ContextId::new();

println!("User: {}, Task: {}, Context: {}", user_id, task_id, context_id);

Types

  • SessionId - User session identifier
  • UserId - User identifier
  • AgentId - Agent UUID identifier
  • AgentName - Agent name string
  • TaskId - Task identifier
  • ContextId - Conversation context identifier
  • TraceId - Distributed tracing identifier
  • ClientId - OAuth client identifier
  • McpExecutionId - MCP execution tracking ID
  • McpServerId - MCP server name
  • SkillId - Skill identifier
  • SourceId - Content source identifier
  • CategoryId - Content category identifier
  • JwtToken - JWT token wrapper

Usage

All ID types implement:

  • Clone, Debug, PartialEq, Eq, Hash
  • Serialize, Deserialize (with #[serde(transparent)])
  • AsRef<str>, Display

Feature Flags

Feature Default Description
sqlx No SQLx type implementations for database queries

Dependencies

  • serde - Serialization
  • uuid - UUID generation
  • schemars - JSON schema generation

License

FSL-1.1-ALv2 - See LICENSE for details.