Skip to main content

Quesen — AutoGen Tool

Deterministic Agent Firewall + A2A risk validation exposed as AutoGen (v0.4+) function tools.

Status: v0.3.0 · tracks Quesen engine v1.10.0 (TSC v2 firewall) · requires quesen-sdk>=0.4.1. Developer portal: https://senueren.co.za/quesen · Source: https://github.com/Shxnque/quesen


Agent Firewall (no signup)

import os, asyncio
os.environ["QUESEN_BASE_URL"] = "https://web-production-aa5ba.up.railway.app"
os.environ["QUESEN_SANDBOX"] = "1"          # self-serve a free key

from quesen_autogen import quesen_firewall   # register on any AutoGen agent's tools

async def main():
    v = await quesen_firewall(action="send_data",
                              target="https://paste.evil.example", data_class="secret")
    print(v["decision"])                      # 'BLOCK'
asyncio.run(main())

Install

pip install quesen-autogen
# or:
pip install git+https://github.com/Shxnque/quesen-autogen.git

30-second usage (AutoGen v0.4+)

from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
from quesen_autogen import quesen_validate, quesen_simulate, quesen_report

model = OpenAIChatCompletionClient(model="gpt-4o-mini")
agent = AssistantAgent(
    name="defensive_trader",
    model_client=model,
    tools=[quesen_validate, quesen_simulate, quesen_report],
    system_message=(
        "Before any high-stakes action, call quesen_validate. "
        "Do not proceed unless the decision is PROCEED."
    ),
)

Receipt provenance (v1.10)

quesen_validate(...) returns the raw response dict from AsyncQuesenClient. Against a v1.10.0+ engine the dict includes:

  • input_snapshot_hash — SHA-256 over canonical request JSON.
  • commit_sha — git SHA of the engine ruleset live at decision time (or "unknown").

See the public API reference.

Tools shipped

  • quesen_validate(...) — wraps /validate (carries v1.10 provenance)
  • quesen_simulate(...) — wraps /simulate
  • quesen_report(...) — wraps /report (v1.1 schema)

Each is a plain async Python function with type-annotated arguments — AutoGen consumes those signatures directly.

MIT license. See senueren.co.za/quesen for canonical documentation.

Metadata

Release files for quesen-autogen 0.5.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 quesen-autogen 0.5.0
File Size Uploaded
quesen_autogen-0.5.0.tar.gz 6.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quesen-autogen 0.5.0
File Interpreter ABI Platform
quesen_autogen-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.0 kB

Release files / quesen_autogen-0.5.0.tar.gz

Download URL quesen_autogen-0.5.0.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1dcf4f895a8449f668898b991e24cbeb47b2538875594e9f758ccb99e162ce01
BLAKE2b-256 checksum
How to use checksums
e7d7eab4d7ecc3f0f59ee53cb9e713378d48503fe5ad856b4578e10c2b56b025
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / quesen_autogen-0.5.0-py3-none-any.whl

Download URL quesen_autogen-0.5.0-py3-none-any.whl
Size 6.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab375d8998fbc1df979ce31f5d03e5a20f3a5593f661db8ccaa07993666cc323
BLAKE2b-256 checksum
How to use checksums
48b13ddb1bd464e905602962da060f4d6bbaece14bdcb98f96de2d5a1020854a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

0.5.1

2 release files

This release

0.5.0 This release

2 release files

0.3.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