Skip to main content

openai-agentlock

AgentLock authorization middleware for the OpenAI Agents SDK.

Wraps FunctionTool instances so every tool call passes through an AuthorizationGate before the tool body runs. Denials are returned to the model as plain strings; allowed calls receive a single-use execution token, optional output transforms, and provenance tracking.

Install

pip install openai-agentlock

Minimal usage

from agents import Agent, function_tool
from agentlock import AuthorizationGate, AgentLockPermissions
from openai_agentlock import lock_agent

gate = AuthorizationGate()

@function_tool
def read_record(record_id: str) -> str:
    return f"record {record_id}"

agent = Agent(name="demo", tools=[read_record])

lock_agent(
    agent,
    gate,
    permissions={
        "read_record": AgentLockPermissions(
            allowed_roles=["reader"],
            requires_auth=True,
        ),
    },
)

Pass an identity object through RunContextWrapper.context that exposes user_id, role, and (optionally) session_id so the gate can evaluate role and scope.

License

Apache 2.0.

Release files for openai-agentlock 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openai-agentlock 0.1.0
File Size Uploaded
openai_agentlock-0.1.0.tar.gz 7.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openai-agentlock 0.1.0
File Interpreter ABI Platform
openai_agentlock-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.3 kB

Release files / openai_agentlock-0.1.0.tar.gz

Download URL openai_agentlock-0.1.0.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9037153dd9c65b2b3f89b4cc08a049d8a800c502870087b451d92a3311c2c728
BLAKE2b-256 checksum
How to use checksums
717af8841c2716e8999212ecad991547b331ccf7975d7c7e3f941e8267d930b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / openai_agentlock-0.1.0-py3-none-any.whl

Download URL openai_agentlock-0.1.0-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8fd6dabc207d6ea011125e52d1fa4182c9ccb3d14122f7d57b2b7ce10b9f3bdf
BLAKE2b-256 checksum
How to use checksums
cdf4ef18652db26e67d0dc617ab98b48fd59e53e222ccccafbbab4bf780330d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.1.0 This release

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