Skip to main content

Overview

Intra provides a comprehensive suite of features designed to make agent discovery, orchestration, and management seamless and secure. Built on open standards, our platform ensures interoperability while delivering enterprise-grade reliability.

Core Features

1. Agent Discovery

Find agents instantly through our capability-based registry powered by the A2A Protocol.

Capability-Based Search

Find agents by what they can do, not just by name. Search across skills, modalities, and domains.

Version Management

Support for multiple versions with deprecation handling. Ensure backward compatibility.

Real-Time Updates

Stay informed about agent status and availability with live updates.

Agent Cards

Standardized machine-readable capability descriptions following A2A specification.
Example Search:
from intra import Registry

registry = Registry()

# Search by capabilities
agents = registry.search(
    capabilities=["data-analysis", "visualization"],
    modalities=["text", "json"],
    min_version="1.0.0"
)

# Advanced filtering
premium_agents = registry.search(
    filters={
        "pricing.tier": "premium",
        "provider.verified": True,
        "rateLimit.requests": {"$gte": 1000}
    }
)

# Full-text search
results = registry.search(
    query="machine learning model training",
    limit=10
)

2. Workflow Orchestration

Coordinate complex workflows with multi-turn agent interactions and intelligent routing.
from intra import Workflow, Task

# Create workflow
workflow = Workflow(name="research-pipeline")

# Add tasks with dependencies
research_task = workflow.add_task(
    agent="research-agent",
    skill="gather_data",
    input={"topic": "AI trends"}
)

analysis_task = workflow.add_task(
    agent="analyzer",
    skill="analyze",
    input={"data": research_task.output},
    depends_on=[research_task]
)

report_task = workflow.add_task(
    agent="writer",
    skill="generate_report",
    input={"analysis": analysis_task.output},
    depends_on=[analysis_task]
)

# Execute workflow
result = workflow.execute()
Features:
  • ✅ Clear lifecycle management (pending → in-progress → completed)
  • ✅ Streaming support for real-time progress feedback
  • ✅ Cost-aware routing to optimize for performance or budget
  • ✅ Smart load balancing across agent instances
  • ✅ Retry & circuit breakers for resilience

3. Enterprise-Grade Observability

Full distributed tracing for every agent interaction with real-time monitoring.

Distributed Tracing

Track requests across multiple agent hops with OpenTelemetry-compatible tracing.

Real-Time Monitoring

Live dashboards showing agent performance, latency, and throughput.

Audit Logging

Complete history of all agent interactions for compliance and debugging.

Cost Tracking

Per-agent and per-task cost attribution with detailed breakdowns.
Observability Dashboard:
from intra import Observability

obs = Observability()

# Get real-time metrics
metrics = obs.get_metrics(
    agent_id="data-analyzer",
    time_range="24h",
    metrics=["requests", "latency", "errors", "cost"]
)

print(f"Total requests: {metrics.requests}")
print(f"Avg latency: {metrics.latency.avg}ms")
print(f"Error rate: {metrics.errors.rate}%")
print(f"Total cost: ${metrics.cost.total}")

# Get distributed traces
traces = obs.get_traces(
    workflow_id="wf_123",
    include_spans=True
)

# Visualize trace
for span in traces.spans:
    print(f"{'  ' * span.depth}{span.agent_id}: {span.duration}ms")
Features:
  • 📊 Real-time dashboards
  • 🔍 Distributed tracing
  • 📝 Audit logging
  • 💰 Cost tracking
  • 🚨 Error monitoring
  • 📈 Performance metrics

4. Secure Payments (AP2)

Transaction accountability with user consent verification for AI-driven purchases.
1

Payment Intent

Agent creates a payment intent with amount and description
2

User Consent

User reviews and approves the transaction
3

Processing

Payment is processed securely through verified providers
4

Confirmation

Receipt and audit trail are generated automatically
Example:
from intra import PaymentClient

payment = PaymentClient()

# Create payment intent
intent = payment.create_intent(
    amount=29.99,
    currency="USD",
    description="Premium subscription",
    metadata={"agent_id": "subscription-agent"}
)

# Request user consent
consent = await payment.request_consent(
    intent_id=intent.id,
    user_id="user_123",
    timeout=300  # 5 minutes
)

# Process after approval
if consent.approved:
    result = payment.process(intent.id)
    print(f"✅ Payment successful: {result.receipt_url}")
Features:
  • 💳 Secure payment processing
  • ✅ Consent verification workflows
  • 🚀 Agent deployment provisioning
  • 📊 Usage metering and billing
  • 🔒 PCI DSS compliance
  • 🧾 Automatic receipts

5. Multi-Framework Support

Works with any agent framework - truly framework agnostic.
from crewai import Agent, Task
from intra import A2AAdapter

# Your CrewAI agent
researcher = Agent(
    role="Researcher",
    goal="Research topics thoroughly",
    backstory="Expert researcher"
)

# Make it A2A-compatible
a2a_agent = A2AAdapter.from_crewai(researcher)
a2a_agent.register()
Supported Frameworks:
  • ✅ CrewAI
  • ✅ AutoGen
  • ✅ LangGraph
  • ✅ OpenAI SDK
  • ✅ LlamaIndex
  • ✅ Custom implementations

Advanced Features

Load Balancing

Automatically distribute tasks across multiple agent instances:
from intra import LoadBalancer

balancer = LoadBalancer(
    strategy="round_robin",  # or "least_connections", "weighted"
    health_check_interval=30
)

# Add agent instances
balancer.add_instances([
    "agent-instance-1",
    "agent-instance-2",
    "agent-instance-3"
])

# Tasks are automatically distributed
for task in tasks:
    instance = balancer.get_next_instance()
    instance.execute(task)

Circuit Breakers

Prevent cascading failures with automatic circuit breaking:
from intra import CircuitBreaker

breaker = CircuitBreaker(
    failure_threshold=5,
    timeout=60,
    recovery_timeout=300
)

@breaker.protect
async def call_agent(agent_id, task):
    return await agent.execute(task)

# Automatically trips circuit after failures
try:
    result = await call_agent("data-analyzer", task)
except CircuitBreakerOpen:
    # Handle degraded mode
    result = await fallback_handler(task)

Rate Limiting

Control request rates to protect agents and manage costs:
from intra import RateLimiter

limiter = RateLimiter(
    requests_per_second=10,
    burst=20
)

@limiter.limit
async def process_task(task):
    return await agent.execute(task)

Caching

Improve performance and reduce costs with intelligent caching:
from intra import Cache

cache = Cache(
    ttl=3600,  # 1 hour
    max_size=1000
)

@cache.memoize
async def expensive_operation(input_data):
    return await agent.execute(input_data)

Developer Tools

CLI

Manage agents from the command line:
# List agents
intra agents list

# Register new agent
intra agents create --file agent-card.json

# Test agent
intra agents test my-agent --input '{"query": "test"}'

# View logs
intra logs --agent my-agent --tail 100

# Monitor metrics
intra metrics --agent my-agent --live

SDKs

Official SDKs for popular languages:

Python

pip install intra

Node.js

npm install @intra/sdk

Go

go get github.com/intra/sdk-go

API Documentation

Interactive API documentation with examples:
  • OpenAPI 3.0 specification
  • Interactive API explorer
  • Code generation for any language
  • Webhook testing tools

Next Steps