Agent Revert
A lightweight package to govern and track agent actions. It allows you to register agents, track their actions via decorators, and monitor affected applications.
- PyPI Package: agent-revert
- Companion Gateway: gateagent
Installation
pip install agent-revert
Usage
Basic Usage
- Register your agent with the gateway.
- Decorate your functions with
@track_actionto monitor execution and affected apps.
from agent_revert import register_agent, track_action
# Register the agent
register_agent("MyAwesomeAgent")
@track_action(agent_name="MyAwesomeAgent", affected_apps=["Database"])
def my_function():
# Do something
pass
LangChain Example
Here is an example of how to integrate agent-revert with a basic LangChain agent that fetches weather data and updates a Google Document.
Prerequisites:
import os
from langchain.agents import initialize_agent, Tool, AgentType
from langchain.llms import OpenAI
from agent_revert import register_agent, track_action
# Ensure you have OPENAI_API_KEY set
# os.environ["OPENAI_API_KEY"] = "..."
# 1. Register the Agent
AGENT_NAME = "DailyReporter"
register_agent(AGENT_NAME)
# 2. Define Tools with Tracking
@track_action(agent_name=AGENT_NAME, affected_apps=["Weather API"])
def get_weather(location: str) -> str:
"""Mock weather function."""
# In a real app, call a weather API here
return f"The weather in {location} is Sunny, 25°C."
@track_action(agent_name=AGENT_NAME, affected_apps=["Google Docs"])
def update_google_doc(text: str) -> str:
"""Mock Google Doc update."""
# In a real app, use Google Docs API here
# See: https://developers.google.com/docs/api/quickstart/python
print(f"Updating Google Doc with: {text}")
return "Document updated successfully."
tools = [
Tool(
name="GetWeather",
func=get_weather,
description="Useful for getting the weather for a specific location."
),
Tool(
name="UpdateGoogleDoc",
func=update_google_doc,
description="Useful for updating the daily report Google Document."
)
]
# 3. Initialize LangChain Agent
llm = OpenAI(temperature=0)
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# 4. Run the Agent
query = "Check the weather in San Francisco and update the daily report document with the forecast."
agent.run(query)
Features
- Agent Registration: Keep track of all active agents in your system.
- Action Tracking: Monitor start/end times and success/failure of agent actions.
- Affected Apps: Explicitly declare which external applications (e.g., Google Docs, Jira, Salesforce) are modified by an action.
- Gateway Integration: Sends events to a local or remote gateway for visualization.
Release files for agent-revert 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_revert-0.1.5.tar.gz | 4.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_revert-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.1 kB
Release files / agent_revert-0.1.5.tar.gz
| Download URL | agent_revert-0.1.5.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
165b3b5c78ac319b6fa0ba6e9dd71cf5d5146d04c9c29a2f6fc8ffdb7d0aff59
|
|
BLAKE2b-256 checksum How to use checksums |
7efa970762a95799d982aba5eb85b6f3f711978c28b0cfc67e5c3bd1682f5d66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / agent_revert-0.1.5-py3-none-any.whl
| Download URL | agent_revert-0.1.5-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88714cf004c933762062ecb77584ccb7ec9a4068e91d8228c0557d830180e78b
|
|
BLAKE2b-256 checksum How to use checksums |
f0842a4f5825258b55bc5836dcfbb9c5d5a458fca35d77d35387bf318d5cbb0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|