Skip to main content

Trust infrastructure for AI agents - AI should do what it says, we make sure it does

Project description

AgentIntent

AI Should Do What It Says. We Make Sure It Does.

AgentIntent is the trust infrastructure for AI agents. Register your agents, declare their intent, and monitor their behavior to build trust.

Installation

pip install agentintent

With LangChain support:

pip install agentintent[langchain]

Quick Start

LangChain (2 lines of code)

from langchain.agents import AgentExecutor
from agentintent import AgentIntentCallback

# Just add our callback - that's it!
agent = AgentExecutor(
    agent=my_agent,
    tools=my_tools,
    callbacks=[AgentIntentCallback("ai_xxxxx")]  # ← Add this line
)

# Use your agent as normal
result = agent.invoke({"input": "Do something"})

With Intent Manifest (recommended)

Define what your agent should do, and we'll make sure it does:

from agentintent import AgentIntent, IntentManifest

# Define what your agent is supposed to do
manifest = IntentManifest(
    name="ExpenseBot",
    description="Processes expense reports",
    
    # Tools this agent is allowed to use
    allowed_tools=["email_read", "ocr", "form_submit"],
    
    # Tools this agent must NEVER use
    forbidden_tools=["code_execute", "file_delete", "send_email"],
    
    # Block violations instead of just warning
    enforcement_mode="block"
)

# Initialize AgentIntent
ai = AgentIntent(api_key="ai_xxxxx", manifest=manifest)

# Get the callback for LangChain
callback = ai.langchain_callback()

# Use with your agent
agent = AgentExecutor(
    agent=my_agent,
    tools=my_tools,
    callbacks=[callback]
)

# If agent tries to use a forbidden tool, it will be blocked
result = agent.invoke({"input": "Process this expense report"})

Universal Wrapper (any framework)

from agentintent import monitor

# Wrap any agent or function
monitored_agent = monitor(your_agent, api_key="ai_xxxxx")

# Or use as a decorator
@monitor(api_key="ai_xxxxx")
def my_agent_function(input):
    # Your agent logic
    return result

Features

🛡️ Intent Declaration

Tell us what your agent should do:

manifest = IntentManifest(
    name="CustomerServiceBot",
    allowed_tools=["search_kb", "send_response"],
    forbidden_tools=["access_billing", "modify_account"],
    allowed_api_patterns=["api.company.com/*"],
    forbidden_api_patterns=["*.stripe.com/*"],
)

📊 Automatic Monitoring

Every action is tracked:

  • LLM calls (model, tokens, duration)
  • Tool usage (which tools, inputs/outputs)
  • API calls (endpoints, patterns)
  • Agent decisions (reasoning, tool selection)

⚡ Real-Time Enforcement

Block bad behavior before it happens:

# enforcement_mode options:
# - "block": Raise exception on violation
# - "warn": Log warning but allow
# - "log": Just log, no warnings

manifest = IntentManifest(
    name="SecureBot",
    forbidden_tools=["dangerous_tool"],
    enforcement_mode="block"  # Will raise EnforcementError
)

🏆 Trust Score

Build reputation over time:

# Get your agent's trust score
score = ai.get_trust_score()
# {
#     "score": 94,
#     "tier": "TRUSTED",
#     "breakdown": {
#         "intent_alignment": 98,
#         "behavioral_consistency": 96,
#         "developer_reputation": 91,
#         "security_posture": 89
#     }
# }

Supported Frameworks

Framework Status Integration
LangChain ✅ Ready Callback handler
CrewAI 🚧 Coming Agent wrapper
AutoGen 🚧 Coming Message interceptor
LlamaIndex 🚧 Coming Event handler
Custom Python ✅ Ready Decorator/wrapper

Performance

AgentIntent is designed for zero-impact monitoring:

  • < 1ms overhead per action (local enforcement)
  • Async logging (never blocks your agent)
  • Batched uploads (efficient network usage)
  • Fail-safe (if our cloud is down, your agent keeps running)

Configuration

Environment Variables

export AGENTINTENT_API_KEY="ai_xxxxx"
export AGENTINTENT_BASE_URL="https://api.agentintent.ai/v1"  # optional

Manifest from File

# manifest.yaml
manifest = IntentManifest.from_file("manifest.yaml")
# manifest.yaml
name: MyAgent
version: "1.0.0"
description: Does useful things

allowed_tools:
  - search
  - calculator

forbidden_tools:
  - code_execute
  - file_delete

limits:
  max_llm_calls_per_minute: 60
  max_tool_calls_per_minute: 120

enforcement_mode: warn

API Reference

AgentIntent

ai = AgentIntent(
    api_key="ai_xxxxx",
    manifest=manifest,           # Optional: IntentManifest
    enforcement_mode="warn",     # Optional: override manifest
    cloud_enabled=True,          # Optional: disable cloud logging
)

# Get callbacks/wrappers
callback = ai.langchain_callback()

# Manual logging
ai.log_action("tool_call", {"tool": "search", "query": "..."})

# Check enforcement
result = ai.check_tool("dangerous_tool")
if result.blocked:
    print(f"Blocked: {result.reason}")

# Get metrics
metrics = ai.get_metrics()

# Cleanup
ai.close()

IntentManifest

manifest = IntentManifest(
    name="MyAgent",
    version="1.0.0",
    description="What this agent does",
    
    # Tool permissions
    allowed_tools=["tool1", "tool2"],
    forbidden_tools=["bad_tool"],
    
    # API permissions (regex patterns)
    allowed_api_patterns=["api.safe.com/*"],
    forbidden_api_patterns=["*.dangerous.com/*"],
    
    # Data permissions
    allowed_data_sources=["public_db"],
    forbidden_data_sources=["private_db", "credentials"],
    
    # Rate limits
    limits={
        "max_llm_calls_per_minute": 60,
        "max_tool_calls_per_minute": 120,
    },
    
    # Enforcement
    enforcement_mode="block",  # or "warn" or "log"
)

License

MIT License - see the LICENSE file in the repository.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentintent-0.1.2.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentintent-0.1.2-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file agentintent-0.1.2.tar.gz.

File metadata

  • Download URL: agentintent-0.1.2.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for agentintent-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cfc86aa1a56b164737ef4a8b97252dc1c2ff05c9b441a8eebc837d21c2f23946
MD5 d53868c3c7e32f8b6d194dab2f0c8d8c
BLAKE2b-256 b8d1e11132652527896e1df1ccc56cc2865e28a0b5f8dbd9df250ca18b6e29e9

See more details on using hashes here.

File details

Details for the file agentintent-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: agentintent-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for agentintent-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1d75328b90f32235cd32392fc11579e673456994dbdc617edd3baa562dc5c12d
MD5 0ed4c759f75247b926aafa4e025e6a4b
BLAKE2b-256 2a733cd729955f16490b94cccd8bf33db0f58e2b34d74fca3ff0844f3b96283a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page