
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
A Python library that provides intelligent multi-agent orchestration for Google Cloud Platform. Routes user messages to appropriate agents, manages shared memory via Firestore, and supports agent-to-agent communication using a defined ACP (Agent Communication Protocol).
GCP-Based Multi-Agent Orchestration Library
A Python library that provides intelligent multi-agent orchestration for Google Cloud Platform. Routes user messages to appropriate agents, manages shared memory via Firestore, and supports agent-to-agent communication using a defined ACP (Agent Communication Protocol).
pip install gcp-agentor
from gcp_agentor import AgentOrchestrator
from gcp_agentor.acp import ACPMessage
# Initialize the orchestrator
orchestrator = AgentOrchestrator()
# Create an ACP message
message = ACPMessage({
"from": "user:farmer123",
"to": "agent:router",
"intent": "get_crop_advice",
"message": "What crop should I grow in July?",
"language": "en-US",
"context": {
"location": "Jalgaon",
"soil_pH": 6.5
}
})
# Handle the message
response = orchestrator.handle_message(message.to_dict())
print(response)
agent_registry.py
)Manages registered agents and their metadata.
from gcp_agentor import AgentRegistry
registry = AgentRegistry()
registry.register("crop_advisor", CropAdvisorAgent(), {"capabilities": ["crop_advice"]})
router.py
)Routes ACP messages to appropriate agents based on intent.
from gcp_agentor import AgentRouter
router = AgentRouter(registry, memory_manager)
response = router.route(acp_message)
memory.py
)Shared memory layer using Firestore.
from gcp_agentor import MemoryManager
memory = MemoryManager()
memory.set_context("user123", "last_crop", "wheat")
context = memory.get_context("user123", "last_crop")
acp.py
)Standardized message schema for agent communication.
from gcp_agentor.acp import ACPMessage
message = ACPMessage({
"from": "user:farmer123",
"to": "agent:router",
"intent": "get_crop_advice",
"message": "What crop to grow?",
"context": {"location": "Jalgaon"}
})
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ User Input │───▶│ Agent Router │───▶│ Agent Registry │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ ACP Message │ │ Memory Manager │ │ Agent Invoker │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Reasoning Logger│ │ Firestore │ │ Vertex AI/ADK │
└─────────────────┘ └─────────────────┘ └─────────────────┘
export GOOGLE_APPLICATION_CREDENTIALS="path/to/service-account.json"
export GCP_PROJECT_ID="your-project-id"
export FIRESTORE_COLLECTION="agentor_memory"
Enable APIs:
Service Account:
GOOGLE_APPLICATION_CREDENTIALS
from gcp_agentor.examples.agri_agent import (
CropAdvisorAgent,
WeatherAgent,
PestAssistantAgent
)
# Register agents
registry = AgentRegistry()
registry.register("crop_advisor", CropAdvisorAgent())
registry.register("weather", WeatherAgent())
registry.register("pest_assistant", PestAssistantAgent())
# Use the orchestrator
orchestrator = AgentOrchestrator()
response = orchestrator.handle_message({
"from": "user:farmer123",
"intent": "get_crop_advice",
"message": "What should I plant this season?",
"context": {"location": "Jalgaon", "season": "monsoon"}
})
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/
# Run with coverage
pytest --cov=gcp_agentor tests/
Main orchestrator class that coordinates all components.
class AgentOrchestrator:
def __init__(self, project_id: str = None, collection_name: str = "agentor_memory")
def handle_message(self, acp_message: dict) -> dict
def register_agent(self, name: str, agent: Any, metadata: dict = {}) -> None
Standardized message format for agent communication.
class ACPMessage:
def __init__(self, data: dict)
def to_dict(self) -> dict
def is_valid(self) -> bool
MIT License - see LICENSE file for details.
Built with ❤️ for the GCP community
FAQs
A Python library that provides intelligent multi-agent orchestration for Google Cloud Platform. Routes user messages to appropriate agents, manages shared memory via Firestore, and supports agent-to-agent communication using a defined ACP (Agent Communication Protocol).
We found that gcp-agentor demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.