Metadata-Version: 2.4
Name: agentfoundry
Version: 1.5.95
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: langchain>=1.3.11
Requires-Dist: langchain-anthropic>=0.3.0
Requires-Dist: langchain-aws>=0.2.0
Requires-Dist: langchain_community>=0.4.0
Requires-Dist: langchain_core>=1.4.8
Requires-Dist: langchain_google_genai>=4.2.0
Requires-Dist: langchain-milvus<0.4,>=0.3.0
Requires-Dist: langchain_ollama>=1.1.0
Requires-Dist: langchain-openai>=1.1.14
Requires-Dist: langchain_xai>=1.2.0
Requires-Dist: langgraph>=1.1.0
Requires-Dist: langgraph.checkpoint.sqlite>=3.0.0
Requires-Dist: openai>=2.32.0
Requires-Dist: duckdb>=1.5.0
Requires-Dist: neo4j>=6.1.0
Requires-Dist: boto3>=1.42.0
Requires-Dist: psycopg2-binary>=2.9.0
Requires-Dist: psycopg[binary,pool]>=3.1
Requires-Dist: psycopg_pool
Requires-Dist: beautifulsoup4>=4.14.0
Requires-Dist: pdfkit>=1.0.0
Requires-Dist: pypdf>=6.10.0
Requires-Dist: pandas>=3.0.0
Requires-Dist: python-docx>=1.1.0
Requires-Dist: python-pptx>=1.0.0
Requires-Dist: pyodbc>=5.3.0
Requires-Dist: adbc_driver_manager>=1.11.0
Requires-Dist: faiss-cpu>=1.13.0
Requires-Dist: pydantic>=2.13.0
Requires-Dist: requests>=2.33.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: markdown>=3.10.0
Requires-Dist: markdown-it-py<4.0.0,>=3.0.0
Requires-Dist: cryptography>=46.0.0
Requires-Dist: pycryptodome>=3.23.0
Requires-Dist: pqcrypto>=0.4.0
Requires-Dist: mcp>=1.27.0
Requires-Dist: toml>=0.10.0
Requires-Dist: idna>=3.11
Requires-Dist: importlib_metadata>=9.0.0
Requires-Dist: packaging>=26.0
Requires-Dist: pygments>=2.20.0
Requires-Dist: requests_toolbelt>=1.0.0
Requires-Dist: pytz>=2026.1
Requires-Dist: setuptools>=82.0.0
Requires-Dist: typing_extensions>=4.15.0
Requires-Dist: wheel>=0.46.0
Dynamic: license-file
Dynamic: requires-dist

# AgentFoundry

AgentFoundry is Syntheticore's proprietary Python library for building and
orchestrating enterprise AI agents. It provides LLM orchestration, governed
tool execution, multi-tenant memory, vector and knowledge-graph integration,
workflow lifecycle management, and execution tracing.

## Start Here

| You want | Read |
|---|---|
| Coding standards, TDD, IP rules, and agent workflow | [`AGENTS.md`](AGENTS.md) |
| Documentation map and current priorities | [`docs/README.md`](docs/README.md) |
| Current backlog | [`docs/TODO.md`](docs/TODO.md) |
| Configuration and environment variables | [`docs/reference/Configuration_Guide.md`](docs/reference/Configuration_Guide.md) |
| Supported LLM providers | [`docs/reference/LLM_Providers.md`](docs/reference/LLM_Providers.md) |
| Memory architecture and operations | [`docs/reference/Memory_Management_Guide.md`](docs/reference/Memory_Management_Guide.md) |

## What It Provides

- Flat, hierarchical, and deep-agent orchestration over LangGraph
- Registry-based tool discovery and governed execution
- Thread, user, organization, and global memory scopes
- Milvus and FAISS vector-store providers
- DuckDB/SQLite, PostgreSQL, and Neo4j knowledge-graph providers
- Dependency-aware workflow execution with pause, resume, cancel, retry, and replan
- Request tracing, cost accounting, execution budgets, and audit export
- Cython-compiled distribution for performance and IP protection
- Fail-fast initialization and operation: required backends do not silently
  degrade to substitute providers or pseudo-embeddings

## Requirements

- Python 3.11+
- The dependencies in [`requirements.txt`](requirements.txt)
- A valid AgentFoundry license for enforced runtime use

## Quick Start

Use the top-level public API for host-facing classes and the documented
`agentfoundry.config` API for configuration:

```python
from agentfoundry import Orchestrator, ToolRegistry
from agentfoundry.config import AgentConfig, set_module_config

config = AgentConfig.from_dict({
    "scope": {
        "org_id": "myorg",
        "user_id": "u1",
        "thread_id": "t1",
    },
    "llm": {
        "provider": "openai",
        "model_name": "gpt-5.4",
        "api_key": "sk-...",
    },
    "vector_store": {
        "provider": "milvus",
        "milvus": {"uri": "http://localhost:19530"},
    },
})
set_module_config(config)

registry = ToolRegistry(config=config)
registry.load_tools_from_directory()
orchestrator = Orchestrator(registry, config=config)

result = orchestrator.process_request(
    "Summarize recent activity",
    config={
        "configurable": {
            "org_id": "myorg",
            "user_id": "u1",
            "thread_id": "t1",
        }
    },
)
```

For a TOML deployment, start from
[`agentfoundry.template.toml`](agentfoundry.template.toml):

```python
config = AgentConfig.from_toml("agentfoundry.toml", apply_env=True)
```

Canonical environment overrides use nested `AF__*` paths, for example
`AF__LLM__PROVIDER` and `AF__VECTOR_STORE__MILVUS__URI`. See the
[Configuration Guide](docs/reference/Configuration_Guide.md) for precedence,
secret aliases, and migration from legacy flat keys.

## Development

AgentFoundry follows mandatory test-driven development. Most production modules
are Cython compiled, so rebuild extensions after changing a Python source that
has a matching shared object:

```bash
python setup.py build_ext --inplace
python -m pytest tests/test_<module>.py -v
```

See [`AGENTS.md`](AGENTS.md) for the complete workflow and
[`docs/workflows/tdd-workflow.md`](docs/workflows/tdd-workflow.md) for the TDD
guide.

## Licensing

Copyright (c) Syntheticore, Inc. All rights reserved.

This software is proprietary and confidential. Use, reproduction,
modification, distribution, or commercial deployment requires explicit written
authorization from Syntheticore, Inc. Licensing inquiries:
`csteel@syntheticore.com`.
