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 --pack support-refunds

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.

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.10.tar.gz (24.0 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.10-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tide_runtime-0.2.10.tar.gz
  • Upload date:
  • Size: 24.0 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.10.tar.gz
Algorithm Hash digest
SHA256 7ddef82baca59898a804c4d6d1b968d936de3849883b43e52338a39d45cd45fb
MD5 8a706c184b50f5f524d442bf635818db
BLAKE2b-256 1601f6ddf6e4ff2a204e0ab5a1de5e64e64edb4bd6e5d754ac8de3dfb0198267

See more details on using hashes here.

Provenance

The following attestation bundles were made for tide_runtime-0.2.10.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.10-py3-none-any.whl.

File metadata

  • Download URL: tide_runtime-0.2.10-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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 60dbc61cd677c01f701de0938f3d2999bea63e6791e093477093df3d03581d3a
MD5 527b0794acb576966328db3c022399d5
BLAKE2b-256 58a023be7106cdb235ee0f2951634117a23fc5d8326a60812076a6978b021aef

See more details on using hashes here.

Provenance

The following attestation bundles were made for tide_runtime-0.2.10-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