Metadata-Version: 2.5
Name: inspect_sentinel
Version: 0.3.0
Summary: Monitors and control protocols that watch agents and intervene in their execution.
Project-URL: Source Code, https://github.com/meridianlabs-ai/inspect_sentinel
Project-URL: Issue Tracker, https://github.com/meridianlabs-ai/inspect_sentinel/issues
Project-URL: Documentation, https://meridianlabs-ai.github.io/inspect_sentinel/
Author: Meridian Labs
License: MIT License
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Requires-Dist: anyio>=4.0
Requires-Dist: inspect-ai>=0.3.285
Requires-Dist: inspect-scout>=0.6.1
Requires-Dist: jinja2>=3.0
Requires-Dist: pydantic>=2.0
Requires-Dist: typing-extensions>=4.12
Provides-Extra: anthropic
Requires-Dist: anthropic>=2.0.0; extra == 'anthropic'
Provides-Extra: dev
Requires-Dist: anthropic>=2.0.0; extra == 'dev'
Requires-Dist: grpcio>=1.74.0; extra == 'dev'
Requires-Dist: httpx; extra == 'dev'
Requires-Dist: ipython; extra == 'dev'
Requires-Dist: jsonschema; extra == 'dev'
Requires-Dist: openai>=3.4.0; extra == 'dev'
Requires-Dist: protobuf>=6.31.1; extra == 'dev'
Requires-Dist: pyright; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-timeout>=2.4.0; extra == 'dev'
Requires-Dist: pytest-xdist; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: starlette>=1.3.1; extra == 'dev'
Requires-Dist: trio; extra == 'dev'
Requires-Dist: types-grpcio; extra == 'dev'
Requires-Dist: types-protobuf; extra == 'dev'
Requires-Dist: uvicorn>=0.29.0; extra == 'dev'
Provides-Extra: dist
Requires-Dist: build; extra == 'dist'
Requires-Dist: twine; extra == 'dist'
Provides-Extra: doc
Requires-Dist: griffe>=2; extra == 'doc'
Requires-Dist: jupyter; extra == 'doc'
Requires-Dist: markdown; extra == 'doc'
Requires-Dist: panflute; extra == 'doc'
Requires-Dist: pyyaml; extra == 'doc'
Requires-Dist: quarto-cli>=1.9.36; extra == 'doc'
Requires-Dist: rich; extra == 'doc'
Requires-Dist: types-pyyaml; extra == 'doc'
Provides-Extra: envoy
Requires-Dist: grpcio>=1.74.0; extra == 'envoy'
Requires-Dist: protobuf>=6.31.1; extra == 'envoy'
Requires-Dist: starlette>=1.3.1; extra == 'envoy'
Requires-Dist: uvicorn>=0.29.0; extra == 'envoy'
Provides-Extra: openai
Requires-Dist: openai>=3.4.0; extra == 'openai'
Provides-Extra: sidecar
Requires-Dist: starlette>=1.3.1; extra == 'sidecar'
Requires-Dist: uvicorn>=0.29.0; extra == 'sidecar'
Description-Content-Type: text/markdown

# Inspect Sentinel

Monitors and control protocols that watch agents and intervene in their execution.

A **monitor** observes a step of an agent's execution and reports a suspicion score; it never acts. A **protocol** decides what happens at that step, optionally after consulting monitors, and a protocol with no monitors is a rule. Both run before a tool call executes or after its result comes back; stages around model generation are planned. The same monitor runs inside an Inspect eval and offline over recorded transcripts with Inspect Scout for validation and calibration; running it in a network proxy in front of a model API is planned.

```bash
pip install inspect-sentinel
```

It requires `inspect-ai` 0.3.278 or later.

The package is under active design. The design documents are in [`design/`](design/); start with [`sentinel-overview.md`](design/sentinel-overview.md).

Runnable examples are in [`examples/`](examples/).

Documentation: <https://meridianlabs-ai.github.io/inspect_sentinel>.
