Current collected state Current
Observed since 20 Oct, 21:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
ageniko
The open trust boundary for AI agents — receipts, approval gates, and OTEL tracing in one decorator.
The open trust boundary for AI agents.
One decorator gives every agent action a receipt it can't forge and a gate it can't cross. Open-source, framework-agnostic, 30 seconds to first trace.
pip install ageniko
from ageniko import instrument, check, approve, agent
# Initialize OTEL tracing
instrument()
# Add receipts to agent functions — proves what it claimed vs what it did
@check
def handle_ticket(ticket):
result = process(ticket)
return result
# Add approval gates — blocks before irreversible actions
@approve(when="irreversible")
def delete_account(user_id):
db.delete_user(user_id)
# Full agent wrapper — tracing + receipts + cost tracking
@agent(name="support-agent", model="gpt-4o")
def run_agent(query):
return llm.complete(query)
| Feature | Description |
|---|---|
| Receipts | Claimed vs. actual verdict on every run |
| Approval Gates | Deterministic block before irreversible actions |
| Tracing | OTEL-native, every span, tool call, token, cost |
| Kill-Switch | Budget, loop, and token caps per run |
git clone https://github.com/ageniko-ai/ageniko
cd ageniko
cp .env.example .env
docker compose up
Open http://localhost:3000 for the console.
| Tier | Price | Details |
|---|---|---|
| Open Source | $0 forever | Self-host, two containers |
| Pro | $49/mo | Managed cloud, silent-failure alerts |
| Business | $299/mo | SSO, RBAC, compliance export |
| Enterprise | From $1,500/mo | Self-hosted support, SLAs |
Apache 2.0
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
httpxEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | httpx>=0.27.0 | runtime |
opentelemetry-apiEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-api>=1.27.0 | runtime |
opentelemetry-exporter-otlp-proto-grpcEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-exporter-otlp-proto-grpc>=1.27.0 | runtime |
opentelemetry-sdkEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-sdk>=1.27.0 | runtime |
pydantic-settingsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pydantic-settings>=2.6.0 | runtime |
pydanticEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pydantic>=2.9.0 | runtime |
opentelemetry-instrumentation-anthropicEnvironment{
"extras": "",
"marker": "extra == \"anthropic\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-instrumentation-anthropic>=0.34.0; extra == "anthropic" | runtime |
mypyEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mypy>=1.11.0; extra == "dev" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio>=0.24.0; extra == "dev" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pytest>=8.3.0; extra == "dev" | runtime |
ruffEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | ruff>=0.6.0; extra == "dev" | runtime |
opentelemetry-instrumentation-openaiEnvironment{
"extras": "",
"marker": "extra == \"openai\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-instrumentation-openai>=0.40.0; extra == "openai" | runtime |
bdist_wheel · 7.29 KB · Python py3
sdist · 4.88 KB · Python source
Observed since 20 Oct, 21:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:c6217046e728a625f52fa608bb87fc3683e2da4f2b657d70715033a811da136d