Metadata-Version: 2.4
Name: socratic-agents
Version: 0.3.6
Summary: Constitutional AI Agents - Multi-agent platform with governance and ethical decision-making
Author-email: Anthropic <support@anthropic.com>
License: MIT
Project-URL: Homepage, https://github.com/Nireus79/Socratic-agents
Project-URL: Documentation, https://github.com/Nireus79/Socratic-agents#readme
Project-URL: Repository, https://github.com/Nireus79/Socratic-agents.git
Project-URL: Issues, https://github.com/Nireus79/Socratic-agents/issues
Keywords: constitutional-ai,agents,governance,multi-agent,llm,socratic
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0
Requires-Dist: colorama>=0.4.6
Provides-Extra: api
Requires-Dist: fastapi>=0.100; extra == "api"
Requires-Dist: uvicorn>=0.23; extra == "api"
Provides-Extra: client
Requires-Dist: httpx>=0.24.0; extra == "client"
Provides-Extra: governance
Requires-Dist: socratic-morality>=0.0.3; extra == "governance"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Requires-Dist: httpx>=0.24.0; extra == "dev"
Dynamic: license-file

# Socratic Agents

**Socratic Agents** - Independent multi-agent framework designed for standalone use with optional Constitutional AI governance integration.

---

## Overview

**Socratic Agents** is a collection of 19+ specialized agents that handle complex tasks like Socratic questioning, code generation, project management, quality control, learning, and conflict resolution.

The library uses **service-based architecture with dependency injection** - agents are decoupled from any monolithic system, enabling flexible use in diverse deployment scenarios.

**Key Features**:
- Service-based architecture with dependency injection
- Multi-agent orchestration with event-driven messaging via AgentBus
- Optional Constitutional AI governance (socratic-morality integration)
- Comprehensive agent implementations ready to use
- REST API for external access
- Clean service interfaces for custom implementations

## Requirements

- **Python 3.10+** (recommended 3.11 or 3.12)
- **pydantic>=2.0** - Data validation and modeling

### Optional Dependencies

- **FastAPI** - For REST API support (`pip install socratic-agents[api]`)
- **socratic-morality** - For Constitutional AI governance features (governance module)
- **Anthropic SDK** - For Claude LLM integration

---

## Installation

### Via PyPI (Recommended)

Install the latest version from PyPI:

```bash
pip install socratic-agents
```

For REST API support, install with the api extra:

```bash
pip install socratic-agents[api]
```

For governance features, install with the governance extra:

```bash
pip install socratic-agents[governance]
```

### Development Installation

For development or local testing:

```bash
cd Socratic-agents
pip install -e ".[dev]"  # Includes all dev dependencies
```

---

## The 19+ Agents

### Core Dialogue Agents
- **SocraticCounselorAgent** - Guides users through Socratic questioning with full dialogue orchestration
- **QuestionQueueAgent** - Manages and prioritizes question queues

### Project & Workflow Agents
- **ProjectManagerAgent** - Manages project lifecycle (creation, loading, collaboration)
- **QualityControllerAgent** - Orchestrates maturity tracking and quality assurance
- **WorkflowOptimizationAgent** - Optimizes workflow paths and decision strategies

### Code & Technical Agents
- **CodeGeneratorAgent** - Generates code based on project context
- **CodeValidationAgent** - Validates and tests code
- **DocumentProcessorAgent** - Processes and imports project documents
- **GitHubSyncHandler** - Handles GitHub repository synchronization

### Learning & Knowledge Agents
- **UserLearningAgent** - Tracks user behavior and learning patterns
- **KnowledgeManagerAgent** - Manages knowledge base enrichment
- **KnowledgeAnalysisAgent** - Analyzes and extracts knowledge insights
- **ConflictDetectorAgent** - Detects and resolves conflicts in specifications

### User & System Agents
- **UserManagerAgent** - Manages user accounts and preferences
- **SystemMonitorAgent** - Monitors system health and token usage
- **ContextAnalyzerAgent** - Analyzes and manages project context
- **MultiLLMAgent** - Coordinates multiple LLM providers

### Note & Data Agents
- **NoteManagerAgent** - Manages project notes and documentation
- **DocumentContextAnalyzer** - Analyzes semantic content of documents

---

## Architecture

### Architecture

Agents are organized by function and work together through the AgentOrchestrator:

```
┌─────────────────────────────────────┐
│  AgentOrchestrator                  │
│  ├─ Event System                    │
│  ├─ LLM Client (Multi-provider)     │
│  └─ Message Routing (AgentBus)      │
├─────────────────────────────────────┤
│  Socratic Agents (19+)              │
│  ├─ Dialogue Agents                 │
│  ├─ Project Agents                  │
│  ├─ Code Agents                     │
│  ├─ Learning Agents                 │
│  └─ System Agents                   │
├─────────────────────────────────────┤
│  Constitutional AI Governance       │
│  └─ Via socratic-morality library   │
└─────────────────────────────────────┘
```

### Key Features

- **Agent Orchestration** - Coordinated agent workflows through AgentOrchestrator
- **Async Support** - Full async/await support for non-blocking operations
- **Event System** - Real-time event emission for status tracking
- **Database Integration** - Direct access to Socrates database
- **Vector DB Access** - Knowledge and context retrieval
- **Multi-Provider LLM** - Via Socratic Nexus integration
- **Type Hints** - Full Python type annotations
- **Comprehensive Logging** - Detailed operation logging

### Phase 3 Features - Constitutional AI & Governance

- **GovernedAgent** - Wraps agents with constitutional governance checks
- **Agent Bus** - Inter-agent message routing with history tracking (1000 message buffer)
- **Governance Integration** - Uses socratic-morality for ethical decision making
- **REST API** - FastAPI endpoints for governance, agents, and precedent lookup
- **YAML Configuration** - Constitutional governance rules and agent configuration

---

## Quick Reference

### Initialize Agents Within Socrates

```python
from socratic_agents import AgentOrchestrator, SocraticCounselorAgent

# Create orchestrator (within Socrates context)
orchestrator = AgentOrchestrator(
    database=socrates_db,
    vector_db=socrates_vector_db,
    claude_client=socrates_llm_client
)

# Create and use specific agent
counselor = SocraticCounselorAgent(orchestrator)
result = counselor.process({
    "action": "generate_question",
    "project": project_context,
    "current_user": user_id
})
```

### Available Actions Vary by Agent

Each agent has specific actions. See individual agent documentation for details.

---

## Testing

```bash
# Install development dependencies
pip install -e ".[dev]"

# Run all tests
pytest tests/ -v --cov=src/socratic_agents

# Run with coverage report
pytest tests/ --cov=src/socratic_agents --cov-report=html

# Run specific test category
pytest -m unit
pytest -m integration
```

### Test Coverage

Current test coverage: 81%+ across all agent implementations.

---

## Future: Post-Architecture Redesign

After the Socrates architecture is redesigned and optimized, the following changes are planned:

1. **Independent Agents** - Some agents will be refactored as independent packages
2. **Decoupled Dependencies** - Reduced reliance on Socrates internals
3. **Modular Publishing** - Agent libraries published separately to PyPI
4. **Standalone Mode** - Core agents usable without full Socrates installation

Current independent Socratic libraries:
- **socratic-analyzer** - Code analysis (standalone)
- **socratic-learning** - Learning algorithms (standalone)
- **Socratic-workflow** - Workflow definitions (standalone)
- **Socratic-maturity** - Maturity tracking (standalone)
- And 4+ others...

---

## Architecture Documentation

**Status**: Currently in integration phase within Socrates monolith.

For detailed agent documentation, see the `docs/` directory (available after Socrates publication).

---

## Contributing

This library is maintained as part of the Socrates monolith. Contributions should follow Socrates contribution guidelines.

---

## License

MIT License - See [LICENSE](LICENSE) for details.

---

**This library is part of the Socrates AI platform**

Made by [@Nireus79](https://github.com/Nireus79)
