-
Notifications
You must be signed in to change notification settings - Fork 0
SDK Packages
github-actions[bot] edited this page Feb 27, 2026
·
1 revision
Three standalone pip-installable packages for integrating governance into existing agent frameworks. Each package wraps AgentSession to produce sealed decision episodes without modifying application code.
| Package | PyPI | Framework | Tests |
|---|---|---|---|
langchain-deepsigma |
pip install langchain-deepsigma |
LangChain + LangGraph | 21 |
deepsigma-middleware |
pip install deepsigma-middleware |
FastAPI + Flask | 15 |
openai-deepsigma |
pip install openai-deepsigma |
Any tool-calling agent SDK | 11 |
Source: packages/ directory in repo root.
Repackages enterprise LangChain adapters into a standalone package with optional AgentSession integration.
- ExhaustCallbackHandler — captures LLM calls, tool invocations, chain completions, and errors as exhaust events
-
GovernanceCallbackHandler — enforces DTE constraints mid-chain with three violation modes (
raise,log,degrade) -
DTEViolationError — raised when governance constraints are violated in
raisemode -
LangGraphExhaustTracker — async event tracker for
astream_events()output -
LangGraphConnector — trace-to-canonical record mapper with
to_agent_session_decisions()for simplified decision dicts
from langchain_deepsigma import ExhaustCallbackHandler, GovernanceCallbackHandler
from core.agent import AgentSession
session = AgentSession("my-agent")
exhaust = ExhaustCallbackHandler(session=session)
governance = GovernanceCallbackHandler(dte_enforcer=my_dte, session=session)
chain.invoke(input, config={"callbacks": [exhaust, governance]})Generic REST middleware backed by AgentSession via contextvars for async safety.
- configure(agent_id, storage_dir) — set default session parameters
- log_decision(actor_type, decision_type) — decorator for sync and async functions
-
get_session() — returns or creates an
AgentSessionfrom the current context - DeepSigmaMiddleware — ASGI middleware for FastAPI/Starlette
- FlaskDeepSigma — Flask extension
from deepsigma_middleware import DeepSigmaMiddleware
app = FastAPI()
app.add_middleware(DeepSigmaMiddleware, agent_id="api-server")from deepsigma_middleware import FlaskDeepSigma
app = Flask(__name__)
FlaskDeepSigma(app, agent_id="api-server")from deepsigma_middleware import configure, log_decision
configure(agent_id="my-agent")
@log_decision(actor_type="api", decision_type="order_approval")
def approve_order(order_id):
...Generic wrapper for tool-calling agent SDKs. Not vendor-specific at runtime.
-
DeepSigmaAgentWrapper(agent, session, detect_drift=False) — wraps any agent with a
.run()method - AgentRunResult(output, episode_count, drift_signals, raw_result) — structured result
from openai_deepsigma import DeepSigmaAgentWrapper
from core.agent import AgentSession
session = AgentSession("fraud-detector")
wrapper = DeepSigmaAgentWrapper(agent, session, detect_drift=True)
result = wrapper.run("Analyze transaction 12345")
print(result.episode_count) # sealed episodes logged
print(result.drift_signals) # drift detected across runs- Log intent decision (pre-run)
- Execute
agent.run(input_text) - Intercept each tool call and log as separate decision
- Seal completion episode
- If
detect_drift=Trueand run count > 1: runsession.detect_drift()
Each package has a dedicated publish workflow triggered by version tags:
| Package | Tag Pattern | Workflow |
|---|---|---|
langchain-deepsigma |
langchain-v* |
publish-langchain.yml |
deepsigma-middleware |
middleware-v* |
publish-middleware.yml |
openai-deepsigma |
openai-v* |
publish-openai.yml |
All workflows use OIDC trusted publishing and test across Python 3.10-3.12.
Σ OVERWATCH — Coherence Ops Platform • Current release: v2.1.0 • DeepSigma
- Start
- Core
- Schemas
- FEEDS + Exhaust
- Integrations
- Reference Layer
- Ops
- Excel-First
- EDGE + ABP
- Domain Modes
- Governance
- Meta