Skip to main content

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_used list)
    • 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 EmailStr validation)
  • 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 description
    • tool_can_use: List of available tools shared across evaluators and feedback extractors (ToolUseConfig)
    • profile_extractor_configs: List of profile extraction configurations
    • agent_feedback_configs: List of feedback extraction configurations
    • agent_success_configs: List of success evaluation configurations
    • extraction_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 profiles
    • context_prompt: Additional context
    • metadata_definition_prompt: Custom metadata fields
  • AgentFeedbackConfig: Feedback extraction configuration

    • feedback_name: Unique identifier for feedback type
    • feedback_definition_prompt: What constitutes this feedback
    • metadata_definition_prompt: Custom metadata fields
    • feedback_aggregator_config: Aggregation settings
  • AgentSuccessConfig: Success evaluation configuration

    • feedback_name: Unique identifier
    • success_definition_prompt: What constitutes success
    • metadata_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)

Source distribution for reflexio-commons 0.1.0.3
File Size Uploaded
reflexio_commons-0.1.0.3.tar.gz 19.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reflexio-commons 0.1.0.3
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.1.0.3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page