Reflexio Commons
Description: Shared data schemas and configurations used across client and server
Purpose
Central repository for Pydantic models that define the contract between client and server. All API requests/responses and configuration schemas are defined here to ensure consistency.
API Schemas
Directory: reflexio_commons/api_schema
Purpose: Pydantic models for API requests and responses
Key files:
-
service_schemas.py: Core data models- Interaction: User interaction data (content, actions, images)
- UserProfile: Generated user profile with TTL and embeddings
- Request: Tracks individual requests with metadata (request_id, user_id, source, agent_version)
- PublishUserInteractionRequest/Response: Publishing new interactions
- DeleteUserProfileRequest/Response: Profile deletion
- DeleteUserInteractionRequest/Response: Interaction deletion
- InteractionData: Client-provided interaction data (includes optional
tools_usedlist) - ToolUsed: Tool usage tracking (tool_name, tool_input)
- ProfileChangeLog: History of profile changes
- RawFeedback: Raw developer feedback from interactions (includes optional
blocking_issue) - Feedback: Aggregated feedback with status (pending/approved/rejected, includes optional
blocking_issue) - BlockingIssue: Capability gap that blocks user request (kind, details)
- BlockingIssueKind: Enum (
MISSING_TOOL,PERMISSION_DENIED,EXTERNAL_DEPENDENCY,POLICY_RESTRICTION) - AgentSuccessEvaluationResult: Agent success evaluation results
- RunFeedbackAggregationRequest/Response: Run feedback aggregation
- Enums:
UserActionType,ProfileTimeToLive,FeedbackStatus
-
retriever_schema.py: Search and retrieval models- SearchUserProfileRequest/Response: Profile search with query and filters
- SearchInteractionRequest/Response: Interaction search
- GetUserProfilesRequest/Response: Get profiles by user_id
- GetInteractionsRequest/Response: Get interactions by user_id
- GetRequestsRequest/Response: Get requests with filters (user_id, request_id, session_id)
- RequestData: Request with associated interactions
- Session: Group of requests sharing a session_id
- GetRawFeedbacksRequest/Response: Get raw feedbacks
- GetFeedbacksRequest/Response: Get aggregated feedbacks
-
login_schema.py: Authentication models- Token: JWT token for authentication
- User login/registration schemas (with
EmailStrvalidation)
-
validators.py: Reusable Pydantic v2 validator types- NonEmptyStr / OptionalNonEmptyStr: Reject empty/whitespace-only strings
- EmbeddingVector: Validate embedding is empty or exactly 512 dimensions
- SafeHttpUrl: SSRF-safe URL type (blocks cloud metadata always; blocks private IPs when
REFLEXIO_BLOCK_PRIVATE_URLS=true) - SanitizedStr / SanitizedNonEmptyStr: Strip C0 control characters from strings flowing into LLM prompts
- TimeRangeValidatorMixin: Reusable start_time/end_time validation
-
data_schema.py: Additional data structures
Configuration Schema
File: config_schema.py
Purpose: YAML configuration file schemas
Key models:
-
Config: Root configuration object
storage_config: Storage backend configuration (Local/SQLite)agent_context_prompt: Agent environment descriptiontool_can_use: List of available tools shared across evaluators and feedback extractors (ToolUseConfig)profile_extractor_configs: List of profile extraction configurationsagent_feedback_configs: List of feedback extraction configurationsagent_success_configs: List of success evaluation configurationsextraction_window_size: Max interactions to process per batch (optional)extraction_window_stride: Min new interactions needed to trigger processing (optional)
-
StorageConfig: Storage backend options
StorageConfigLocal: Local file storage (dir_path)StorageConfigSQLite: SQLite storage (db_path, defaults via env var)
-
ProfileExtractorConfig: Profile extraction configuration
profile_content_definition_prompt: What to extract as profilescontext_prompt: Additional contextmetadata_definition_prompt: Custom metadata fields
-
AgentFeedbackConfig: Feedback extraction configuration
feedback_name: Unique identifier for feedback typefeedback_definition_prompt: What constitutes this feedbackmetadata_definition_prompt: Custom metadata fieldsfeedback_aggregator_config: Aggregation settings
-
AgentSuccessConfig: Success evaluation configuration
feedback_name: Unique identifiersuccess_definition_prompt: What constitutes successmetadata_definition_prompt: Custom metadata fields
Note: tool_can_use lives at root Config level (shared across success evaluation and feedback extraction), NOT per-AgentSuccessConfig.
Metadata
Release files for reflexio-commons 0.1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| reflexio_commons-0.1.0.3.tar.gz | 19.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reflexio_commons-0.1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.9 kB
Release files / reflexio_commons-0.1.0.3.tar.gz
| Download URL | reflexio_commons-0.1.0.3.tar.gz |
|---|---|
| Size | 19.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
493ba10e21cf33ae9a323e5fccb4978d2011e1747e0e13d7322efdff4a72ac76
|
|
BLAKE2b-256 checksum How to use checksums |
3563ee2ddab96c4209fafd49a73db32e4ebd9b97f24394eac7fe1c5785f698a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / reflexio_commons-0.1.0.3-py3-none-any.whl
| Download URL | reflexio_commons-0.1.0.3-py3-none-any.whl |
|---|---|
| Size | 17.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b58be626d0682cb6e72efc7185ecfbede342e0731f04ab5c6f56d6cd83f05ed6
|
|
BLAKE2b-256 checksum How to use checksums |
3d97cca31a43bb398b446212d0e3d8f97dac97800a2dcb8f30f4c56b4594d6b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|