Skip to main content

Tide runtime policy, approvals, and earned-use ledger for AI agent tools.

Project description

Tide Runtime SDK

Python SDK for wrapping production agent tools with Tide policy, approvals, and earned-use logging.

Recommended from an agent repo:

npx -y --package rippletide-package@latest tide run

That command creates a local .venv, installs tide-runtime inside it, scans Python and Node/JS agent code, lets you pick decisions for risky tools, and writes wrappers plus .tide/ledger/policy.json in one terminal flow. Omit --pack for baseline; add --pack support-refunds for refund agents.

Python-only install:

python3 -m venv .venv
source .venv/bin/activate
pip install -U tide-runtime
tide run --pack support-refunds

For a non-interactive install, use tide run --pack support-refunds --yes.

tide init --dry-run --pack <name> prints the policy before writing it. Built-in packs: baseline, support-refunds, sql-analyst, mcp-baseline.

To have Tide suggest wrappers for an existing Python or Node/JS agent:

tide scan --path . --pack support-refunds
$EDITOR .tide/tide-plan.json
tide apply --interactive --write-policy

--interactive shows each proposed tool wrapper with its file, function, inferred tool name, risk class, captured fields, and runtime decision. Press enter to accept the suggested decision, or type allow, log, escalate, or deny (block) to write an explicit per-tool policy override. Use tide apply --yes --write-policy to accept the reviewed plan non-interactively.

from tide import configure, controlled_tool, record_outcome

configure(agent_id="crm-agent", workflow_id="lead-sync", environment="prod")

@controlled_tool(name="crm.update_lead", risk_class="internal_write", capture=["lead_id"])
def update_lead(lead_id, status):
    return {"lead_id": lead_id, "status": status}

try:
    update_lead("L-1", "qualified")
    record_outcome("success")
except Exception:
    record_outcome("failure")
    raise

Default files live in .tide/ledger/. Override with TIDE_LEDGER_DIR or configure(project="...").

tide approvals
tide approve <id>
tide deny <id> --reason "not in scope"
tide report

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

tide_runtime-0.2.11.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

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

tide_runtime-0.2.11-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file tide_runtime-0.2.11.tar.gz.

File metadata

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

File hashes

Hashes for tide_runtime-0.2.11.tar.gz
Algorithm Hash digest
SHA256 09b8b4ddeffa3e272a324d33e5691772f4036ad52d0c87c7d6288b0cb847f1fe
MD5 be5aa025c2550404be04a308b7c568ee
BLAKE2b-256 3504706d6f90e1d39dc6016b48b5a6614401c1ddb721909650cea3a04cdfe79f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tide_runtime-0.2.11.tar.gz:

Publisher: publish-python.yml on rippletideco/rippletide-package

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

File details

Details for the file tide_runtime-0.2.11-py3-none-any.whl.

File metadata

  • Download URL: tide_runtime-0.2.11-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tide_runtime-0.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 c0744db836e8d63697ae239f115d7b7a932a34fa4a44250cab4fc9e1bd360c8e
MD5 edcbfc9b2801801298f1d850162e6059
BLAKE2b-256 8917bf42da88e5035ecf64777900b20fc3a62a7779dfb435bc431910c3bea727

See more details on using hashes here.

Provenance

The following attestation bundles were made for tide_runtime-0.2.11-py3-none-any.whl:

Publisher: publish-python.yml on rippletideco/rippletide-package

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