Skip to main content

No project description provided

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reflexio_commons-0.1.0.3.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reflexio_commons-0.1.0.3-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file reflexio_commons-0.1.0.3.tar.gz.

File metadata

  • Download URL: reflexio_commons-0.1.0.3.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for reflexio_commons-0.1.0.3.tar.gz
Algorithm Hash digest
SHA256 493ba10e21cf33ae9a323e5fccb4978d2011e1747e0e13d7322efdff4a72ac76
MD5 96e0c612e9ab23362d0619f74ad30bbb
BLAKE2b-256 3563ee2ddab96c4209fafd49a73db32e4ebd9b97f24394eac7fe1c5785f698a1

See more details on using hashes here.

File details

Details for the file reflexio_commons-0.1.0.3-py3-none-any.whl.

File metadata

  • Download URL: reflexio_commons-0.1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for reflexio_commons-0.1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b58be626d0682cb6e72efc7185ecfbede342e0731f04ab5c6f56d6cd83f05ed6
MD5 2e4f13eca417d5d81b8d7fa94f22a719
BLAKE2b-256 3d97cca31a43bb398b446212d0e3d8f97dac97800a2dcb8f30f4c56b4594d6b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page