Catalog PyPI
PACKAGE EXPLORERView in registry

agenticstar-agentcore

PyPI

AgentCore — enterprise AI agent framework, part of the AGENTIC STAR platform

agentic-staragentsaienterpriselangchainlanggraphllmmulti-agent
Versions collected1
Direct dependencies28From release 1.0.3
Last observed20 Oct, 22:22 UTC

README

Version 1.0.3 documentation

AgentCore — Part of AGENTIC STAR

AGENTIC STAR is the enterprise platform for AI agent development. AgentCore is its open-source framework layer — the foundation that every agent in the platform is built on.

Python License: MIT PyPI


What is AgentCore?

AgentCore is a production-grade, enterprise AI agent framework built on LangGraph. It provides a structured, opinionated foundation for building, deploying, and orchestrating AI agents at scale.

Core problems it solves:

  • Consistency at scale — 1,000+ agents all follow the same architectural contract; no snowflakes
  • Security by design — 5-layer security model (S-1 through S-5) enforced at the framework level, not by convention
  • Namespace isolation — multi-tenant secret and environment isolation; HR keys never touch Legal agents
  • Cost visibility — per-agent LLM cost accumulation and budget enforcement built into every invocation
  • Pluggable LLM providers — Anthropic, OpenAI, Amazon Bedrock via optional extras; swap without rewriting agents

Architecture

AgentCore uses a 4-layer architecture — each layer has a single responsibility and dependencies flow in one direction only.

api/           ← Entry points (HTTP / FastAPI) — no business logic
 ↓
mediator/      ← Infrastructure: Gateway, Registry, Factory, Middleware
 ↓
agents/        ← Agent implementations (base: reusable; domain: business-specific)
 ↓
shared/        ← Cross-agent infrastructure: LLM clients, secret providers, tools
 ↓
framework/     ← Abstract core: graphs, nodes, schemas, errors — never modified directly

Import rule: dependencies are top-down only. framework/ imports nothing above it.

Two base graph types

TypeUse caseControl
AgentBaseGraphStructured, human-directed pipelinesFixed 5-step: init → pre-process → execute → post-process → finalize
AutonomousBaseGraphLLM-directed iterative loopsThink → Act → Observe → repeat (with safety ceiling)

Security Model (S-1 through S-5)

LayerWhat it enforces
S-1 Trust GateTrustLevel (ANONYMOUS / VERIFIED_EXTERNAL / INTERNAL) checked before any node executes
S-2 JWT AuthAuthMiddleware validates Bearer tokens on every HTTP request
S-3 Secret IsolationSecretProvider / ContextVar runtime isolation — no cross-namespace key leakage
S-4 Import IsolationVendor SDKs installed per-namespace as optional extras; no forced installs
S-5 Budget EnforcementPer-agent USD budget cap enforced via CostAccumulator; hard stop on overrun

Quick Install

# Core framework (LangGraph + FastAPI + JWT + Pydantic)
pip install agenticstar-agentcore

# With Anthropic Claude support
pip install "agenticstar-agentcore[anthropic]"

# With OpenAI support
pip install "agenticstar-agentcore[openai]"

# With Amazon Bedrock support
pip install "agenticstar-agentcore[bedrock]"

# Full install (all LLM providers + vector store + cache)
pip install "agenticstar-agentcore[all]"

Requires Python 3.11+


Optional Extras

ExtraInstallsUse case
anthropiclangchain-anthropicAnthropic Claude models
openailangchain-openaiOpenAI GPT models
bedrocklangchain-awsAmazon Bedrock models
redisredisSession state, caching
pineconepinecone-clientVector search (RAG)
vaulthvacHashiCorp Vault secret provider
aws-smboto3AWS Secrets Manager provider
allAll LLM + vector store + cacheFull installation

Quick Start

1. Create a simple agent

from framework.graph.agent_base_graph import AgentBaseGraph
from framework.schemas.agent_state import AgentState
from framework.nodes.base_node import BaseNode


class MyProcessNode(BaseNode):
    def execute(self, state: AgentState) -> dict:
        # Your business logic here
        return {"response": f"Processed: {state['user_input']}"}


class MyAgent(AgentBaseGraph):
    @property
    def name(self) -> str:
        return "my_agent"

    @property
    def state_schema(self) -> type:
        return AgentState

    def register_nodes(self):
        super().register_nodes()
        self._nodes["main"] = MyProcessNode()  # slot into fixed pipeline

    def get_output(self, state) -> dict:
        return {"response": state.get("response"), "status": state.get("status")}

2. Run via the mediator (HTTP)

# Set up environment
cp env/platform/.env.example env/platform/.env
# Edit .env with your LLM API keys

# Start the platform
uvicorn api.main:app --reload
# Call your agent
curl -X POST http://localhost:8000/agents/demo/my_agent \
  -H "Authorization: Bearer <your-jwt-token>" \
  -H "Content-Type: application/json" \
  -d '{"user_input": "Hello, agent!"}'

3. Direct invocation (no HTTP)

from mediator.gateway.agent_gateway import AgentGateway
from framework.schemas.trust_level import TrustLevel

gateway = AgentGateway()
result = await gateway.invoke(
    agent_name="my_agent",
    user_input="Hello, agent!",
    namespace="demo",
    caller_trust_level=TrustLevel.INTERNAL,
)
print(result["response"])

Project Structure

agentcore/
├── framework/        # Abstract core — graphs, nodes, schemas, errors, secrets
├── agents/
│   ├── base/         # Reusable base agents (RAGAgent, ChatAgent, ReactAgent, DocGenAgent)
│   └── domain/       # Business-specific agents (hr_chat, legal_rag, support_rag)
├── shared/           # Cross-agent: LLM clients, secret providers, tools, utilities
├── mediator/         # Infrastructure: Gateway, Registry, Factory, middleware
├── api/              # HTTP entry points (FastAPI routers, dependencies, main.py)
├── config/           # Runtime configuration (gitignored)
├── env/              # Tiered .env files (platform / namespaces / agents)
├── docs/             # Full documentation
│   ├── architecture/ # Layer-by-layer design documents
│   ├── adr/          # Architecture Decision Records
│   └── api/          # HTTP API layer documents
└── tests/            # Unit and integration tests

Full Documentation


Testing

Tests are organized by type under tests/:

tests/
├── unit/          # node classes, services, schemas in isolation
│   ├── agents/    # per-agent unit tests (base/ and domain/)
│   └── shared/    # shared utilities and services
├── integration/   # full graph invocations (no external calls)
├── e2e/           # HTTP-level end-to-end via FastAPI TestClient
└── fixtures/      # reusable test agents (HITL stubs)

Run the full suite:

pytest                                                              # all tests
pytest --cov=framework --cov=mediator --cov=agents --cov=shared   # with coverage
pytest tests/unit/agents/base/chat_agent/                          # one agent (unit)
pytest tests/integration/agents/domain/hr_chat/                    # one agent (integration)
pytest -k "unit"                                                   # unit only
pytest -k "integration"                                            # integration only

Requirements

  • Python: 3.11 or higher
  • Core dependencies: LangGraph ≥ 0.2, LangChain ≥ 0.3, FastAPI ≥ 0.115, Pydantic ≥ 2.9
  • LLM provider: at least one of [anthropic], [openai], [bedrock] extras

License

MIT — Copyright (c) 2026 The AgentCore Authors

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.317 Sept 202628

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
teppei-miyashita/agenticstar-agentcore

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:22 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:1f753fb2fc2daa995f85854302846e02ecfc952b2540567f821bf246c53f7e5e