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.

pip install tide-runtime
tide run

tide run scans the repo, lets you pick a starter pack, shows each risky tool, and writes the wrappers plus .tide/ledger/policy.json in one terminal flow. 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 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.9.tar.gz (18.9 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.9-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tide_runtime-0.2.9.tar.gz
  • Upload date:
  • Size: 18.9 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.9.tar.gz
Algorithm Hash digest
SHA256 82c192e755acfbdcbd67dbe5eecd70c3d94c6aa94bfdd7c4d2f6627a21b748fd
MD5 89d7b8565c44132e6a888692ba5df008
BLAKE2b-256 676602d827aaaf80016d3de1adc064bb878fd75f02affc0c8dbd674593cb7915

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tide_runtime-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 17.6 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 37a04c33538b51aa65843ce91c8b3cbfa3e13984f6585785aa07a9759e46a4e4
MD5 e5d99bb4593b56a829db3cb25513fef1
BLAKE2b-256 da785a465425be44701d629efbcaa4e89159f955f17777b7977aedb04b4f5d06

See more details on using hashes here.

Provenance

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