Skip to main content

CrewAI Python tool that gates KeeperHub workflow execution through SBO3L's policy boundary. Composable with sbo3l-sdk.

Project description

sbo3l-crewai-keeperhub

CrewAI Python tool that gates KeeperHub workflow execution through SBO3L's policy boundary. Composable with sbo3l-sdk.

Why this exists alongside langchain-keeperhub (Devendra's PyPI pkg)

langchain-keeperhub (Devendra) sbo3l-crewai-keeperhub (this)
Framework LangChain CrewAI
What it wraps KH webhook execution SBO3L policy gate → KH webhook execution
Decision step (agent decides) (SBO3L decides; signed receipt)
Budget enforcement no yes
Audit chain no yes (hash-chained Ed25519 log)
Multi-agent crew composition n/a one policy boundary across all crew agents
ENS / Turnkey TEE / MCP bridge yes no (not duplicated)

Composable: use Devendra's tool for the raw KH binding + ours as the policy gate that decides whether the raw call should fire. Or use ours alone for the full gate-then-execute path. The CrewAI angle adds: one SBO3L policy boundary shared across N specialized crew agents, with a single hash-chained audit log spanning every agent's KH executions.

Install

pip install "sbo3l-crewai-keeperhub[crewai]" sbo3l-sdk

The [crewai] extra pulls in crewai so the typed Sbo3lKeeperHubCrewAITool (a crewai.tools.BaseTool subclass) is importable. Without it, only the framework-agnostic sbo3l_crewai_keeperhub_tool() factory is available.

5-line setup

from sbo3l_sdk import SBO3LClientSync
from sbo3l_crewai_keeperhub import Sbo3lKeeperHubCrewAITool

client = SBO3LClientSync("http://localhost:8730")
tool = Sbo3lKeeperHubCrewAITool(client=client)
# pass `tool` into your CrewAI Agent's tools=[...] list

Or framework-agnostic:

from sbo3l_crewai_keeperhub import sbo3l_crewai_keeperhub_tool
descriptor = sbo3l_crewai_keeperhub_tool(client=client)
# descriptor.name + descriptor.description + descriptor.func

Wire path

Same as the sibling LangChain / TS packages — SBO3L decides, KH adapter executes on allow, tool returns kh_execution_ref. See the LangChain README's "Wire path" section for the full sequence. All packages share the daemon as the policy boundary, so kh_execution_ref matches across SDK languages.

Multi-agent crew composition

CrewAI's strength is N specialized agents collaborating on a shared task. Wire one Sbo3lKeeperHubCrewAITool instance into every agent's tool list and you get:

  • One policy boundary for the whole crew
  • One KH workflow_id (advisory) tagged across every execution
  • One hash-chained audit log spanning researcher → executor → auditor agents

See examples/crewai-keeperhub-demo/agent.py for a runnable 3-agent crew using this pattern.

On kh_workflow_id_advisory

The _advisory suffix is intentional: today the daemon's env-configured webhook URL is the source of truth for actual routing. The per-call workflow_id you pass is surfaced in the envelope for context tagging / audit logs, not as a routing override. See KeeperHub/cli#52 for the proposed contract that would make per-call routing safe.

API

sbo3l_crewai_keeperhub_tool(
    *,
    client: SBO3LClientLike,
    workflow_id: str | None = None,           # default: DEFAULT_KH_WORKFLOW_ID
    name: str = "sbo3l_keeperhub_payment_request",
    description: str = ...,
    idempotency_key: Callable[[dict], str] | None = None,
) -> SBO3LKeeperHubToolDescriptor

# Or, with crewai installed:
Sbo3lKeeperHubCrewAITool(
    client=...,                # required, kw-only
    workflow_id=None,          # default: DEFAULT_KH_WORKFLOW_ID
    name=None, description=None,
)
# Real crewai.tools.BaseTool subclass — drops into Agent(tools=[...]).

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sbo3l_crewai_keeperhub-1.2.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sbo3l_crewai_keeperhub-1.2.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file sbo3l_crewai_keeperhub-1.2.0.tar.gz.

File metadata

  • Download URL: sbo3l_crewai_keeperhub-1.2.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sbo3l_crewai_keeperhub-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8d62d82c0765dcc2ebd64befc886bbbb7126e63f84c748a59fde6f3274993fce
MD5 854e5770c128ef062b7a9c33b4d0f0a6
BLAKE2b-256 b7effd1c0113c020d3419504861abe2815434661bfd56469e8c6c92f79550de7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sbo3l_crewai_keeperhub-1.2.0.tar.gz:

Publisher: integrations-publish.yml on B2JK-Industry/SBO3L-ethglobal-openagents-2026

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sbo3l_crewai_keeperhub-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sbo3l_crewai_keeperhub-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32ad42244f93c4d41ff2e568e2b296dccf8c305d5daf42e5ffb07769eb7375a8
MD5 d4a119610440c3c3a4c56ad7ee20ee5a
BLAKE2b-256 c588716f70f2a100f223210229d37ead0d06234e51fb46abc9d860db0119464b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sbo3l_crewai_keeperhub-1.2.0-py3-none-any.whl:

Publisher: integrations-publish.yml on B2JK-Industry/SBO3L-ethglobal-openagents-2026

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page