Skip to main content

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.

Installation

pip install agent-revert

Usage

Basic Usage

  1. Register your agent with the gateway.
  2. Decorate your functions with @track_action to 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)

Source distribution for agent-revert 0.1.5
File Size Uploaded
agent_revert-0.1.5.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agent-revert 0.1.5
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page