Metadata-Version: 2.4
Name: agentsentinel-langgraph
Version: 0.1.0
Summary: Security scanner for LangGraph agent workflows — powered by AgentSentinel on SingularityNET
Author-email: Mohamed Hasni <medhasni760@gmail.com>
License: MIT
Project-URL: Homepage, https://huggingface.co/spaces/Ha1235/NeuralSentinel-landing
Project-URL: Repository, https://github.com/neuralsentinel/agentsentinel-langgraph
Project-URL: Documentation, https://marketplace.singularitynet.io/servicedetails/org/neuralsentinel/service/agentsentinel-scanner/tab/0
Keywords: langgraph,llm-security,ai-security,multi-agent,agentsentinel,singularitynet,eu-ai-act
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: grpcio>=1.50.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: langgraph>=0.1.0; extra == "dev"

# agentsentinel-langgraph

**Security scanner for LangGraph agent workflows.**  
Powered by [AgentSentinel](https://marketplace.singularitynet.io/servicedetails/org/neuralsentinel/service/agentsentinel-scanner/tab/0) on SingularityNET mainnet.

## Install

```bash
pip install agentsentinel-langgraph
```

## Quick Start

```python
from langgraph.graph import StateGraph, START, END
from agentsentinel_langgraph import scan_graph, SecureGraph

builder = StateGraph(MyState)
builder.add_node("agent", my_agent_fn)
builder.add_node("tools", tool_node)
builder.add_edge(START, "agent")

# Scan builder before compiling
report = scan_graph(builder)
report.print()

# Or compile then scan + invoke securely
graph = builder.compile(checkpointer=MemorySaver())
secure = SecureGraph(graph, block_on="CRITICAL")
secure.scan()

# Use graph normally after scan
result = graph.invoke({"messages": [HumanMessage(content="hello")]})
```

## What It Checks

- **AGT04** — No human-in-the-loop interrupt points (fully autonomous)
- **AGT08** — High recursion limit / infinite loop risk
- **AGT03** — No checkpointer (cannot audit or rollback)
- **AGT02** — Shell/exec nodes in graph
- **AGT05** — Credential patterns in config

## Links

- [AgentSentinel on SingularityNET](https://marketplace.singularitynet.io/servicedetails/org/neuralsentinel/service/agentsentinel-scanner/tab/0)
- Contact: medhasni760@gmail.com

MIT License — © 2026 NeuralSentinel
