Metadata-Version: 2.4
Name: agentfoundry
Version: 1.2.9.1
Summary: AgentFoundry: A modular autonomous AI agent framework
Author-email: Chris Steel <csteel@syntheticore.com>
License-Expression: LicenseRef-Proprietary
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: appdirs~=1.4.4
Requires-Dist: beautifulsoup4~=4.12.2
Requires-Dist: chromadb>=1.0.7
Requires-Dist: cryptography~=44.0.2
Requires-Dist: cython~=3.1.1
Requires-Dist: docling~=2.31.0
Requires-Dist: duckduckgo_search~=8.0.1
Requires-Dist: dynaconf~=3.2.11
Requires-Dist: elasticsearch~=8.17.2
Requires-Dist: faiss-cpu~=1.11.0
Requires-Dist: fastapi<1.0.0,>=0.100.0
Requires-Dist: google-api-python-client>=2.100.0
Requires-Dist: google-search-results>=2.4.2
Requires-Dist: gradio==5.32.1
Requires-Dist: Jinja2~=3.1.5
Requires-Dist: langchain~=0.3.18
Requires-Dist: langchain-core~=0.3.34
Requires-Dist: langchain-openai~=0.3.4
Requires-Dist: langchain-community~=0.3.17
Requires-Dist: langchain-experimental~=0.3.4
Requires-Dist: langchain-ollama~=0.2.3
Requires-Dist: langchain-openai==0.3.4
Requires-Dist: langgraph~=0.4.8
Requires-Dist: langgraph-checkpoint==2.0.26
Requires-Dist: langgraph-checkpoint-sqlite~=2.0.6
Requires-Dist: langgraph-prebuilt==0.2.2
Requires-Dist: langgraph-supervisor~=0.0.27
Requires-Dist: langsmith==0.3.13
Requires-Dist: lxml[html_clean]
Requires-Dist: msal~=1.31.1
Requires-Dist: ollama~=0.4.7
Requires-Dist: openai~=1.86.0
Requires-Dist: pandas~=2.2.3
Requires-Dist: pandocfilters~=1.5.1
Requires-Dist: posthog~=3.11.0
Requires-Dist: pydantic~=2.10.6
Requires-Dist: pydantic-settings~=2.9.1
Requires-Dist: pypdf2~=3.0.1
Requires-Dist: pytz~=2025.2
Requires-Dist: pytest==7.0.0
Requires-Dist: python-dotenv==1.0.0
Requires-Dist: requests~=2.32.3
Requires-Dist: requests-html~=0.10.0
Requires-Dist: sentence-transformers~=3.4
Requires-Dist: setuptools~=80.9.0
Requires-Dist: tiktoken~=0.9.0
Requires-Dist: tornado<7.0.0,>=6.0.0
Requires-Dist: typing_extensions~=4.13.2
Requires-Dist: uvicorn[standard]<1.0.0,>=0.23.0
Dynamic: license-file
Dynamic: requires-dist

# AIgent

**AIgent** is a modular, extensible AI framework designed to support the construction and orchestration of autonomous agents across a variety of complex tasks. The system is built in Python and leverages modern AI tooling to integrate large language models (LLMs), vector stores, rule-based decision logic, and dynamic tool discovery in secure and performance-conscious environments.

## Features

- Modular agent architecture with support for specialization (e.g., memory agents, reactive agents, compliance agents)
- Cython-compiled backend for performance and IP protection
- Integration with popular frameworks such as LangChain, ChromaDB, and OpenAI
- Support for licensed or embedded deployments via license file verification or compiled-only distribution
- Configurable with runtime enforcement of execution licenses (RSA-signed, machine-bound)

## Use Cases

AIgent is designed to serve as a core intelligence engine for:

- Secure enterprise AI platforms (e.g., QuantumDrive)
- Compliance monitoring and rule-based alerting systems
- Conversational interfaces with dynamic tool execution
- Embedded agents in SaaS and on-premise environments

## Requirements

- Python 3.11+
- Cython
- Compatible dependencies (see `requirements.txt`)

## Author

**Christopher Steel**  
AI Practice Lead, AlphaSix Corporation  
Founder, Syntheticore, Inc.  
Email: `csteel@syntheticore.com`

## Licensing and Legal Notice

© Syntheticore, Inc. All rights reserved.

> **This software is proprietary and confidential.**  
> Any use, reproduction, modification, distribution, or commercial deployment of AIgent or any part thereof requires **explicit written authorization** from Syntheticore, Inc.

Unauthorized use is strictly prohibited and may result in legal action.

---

For licensing inquiries or permission to use this software, please contact:  
📧 **csteel@syntheticore.com**

## Gradio Chat Interface

A simple Gradio-based chat interface for interacting with the HybridOrchestrator agent.

### Prerequisites

- Ensure you have set your OpenAI API key:

```bash
export OPENAI_API_KEY=<your_api_key>
```

### Running the App

```bash
python gradio_app.py
```

The interface will be available at http://localhost:7860 by default.

## API Server

Genie can be accessed programmatically via a FastAPI‑based HTTP API. Two main endpoints are provided:

- **POST /v1/chat**: Send or continue a multi‑turn conversation with Genie. Accepts JSON payload with conversation history and returns the assistant reply and updated history.
- **POST /v1/orchestrate**: Discover APIs and execute a main task across all agents. Returns aggregated results.
- **GET /health**: Health check endpoint.

### Prerequisites

- Ensure you have set your OpenAI API key:

```bash
export OPENAI_API_KEY=<your_api_key>
```
- Install FastAPI and Uvicorn (if not already):

```bash
pip install fastapi uvicorn[standard]
```

### Running the API

```bash
python api_server.py
# Or with auto‑reload during development:
uvicorn api_server:app --reload --host 0.0.0.0 --port 8000
```

Interactive API docs will be available at http://localhost:8000/docs

## Logging & Debugging

AgentFoundry automatically logs events to a file and rotates it on each startup.

By default, logs are written to `agentfoundry.log` at INFO level. You can customize
logging behavior via environment variables:

```bash
export AGENTFOUNDRY_LOG_FILE=agentfoundry.log
export AGENTFOUNDRY_LOG_LEVEL=DEBUG  # or INFO, WARNING, ERROR
```

Upon each restart of the application or API server, if `agentfoundry.log` already exists,
it is renamed to `agentfoundry.log.YYYYMMDDHHMMSS` for archival, and a fresh log file
is started. View live logs in `agentfoundry.log` and inspect past runs in the timestamped
backup files.

