Metadata-Version: 2.4
Name: chatsee-ai
Version: 0.9.5
Summary: A Python SDK for Chatsee AI.
Maintainer: ChatSee
Maintainer-email: contact@chatsee.ai
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31.0
Provides-Extra: closed-loop
Requires-Dist: mcp>=1.2.0; extra == "closed-loop"
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: maintainer
Dynamic: maintainer-email
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Chatsee SDK (Python)

## Installation

```bash
pip install chatsee-ai
```

## Environment deployment (Dev / QA / Demo / Poc)

The SDK supports **one package** and you select the environment by setting `api_base_url` to an **alias**: `"dev" | "qa" | "demo" | "poc"`.

| Alias | URL |
|-------|-----|
| `dev` | `https://dev.chatsee.ai/api` |
| `qa` | `https://qa.chatsee.ai/api` |
| `demo` | `https://gcp-demo.chatsee.ai/api` |
| `poc` | `https://app.chatsee.ai/api` |

Or pass any full URL (e.g. `"https://my-custom-host.com/api"`).

### Classifiers source (redaction)
Redaction classifiers are fetched from the same environment you select via `api_base_url`
(endpoint `…/v1/redaction/fetch_classifiers`). Override with `redaction_classifiers_url` if needed.

## Usage (tracking)

```python
from chatsee import ChatseeTracker

tracker = ChatseeTracker(
    agent_id="agent_1",
    tenant_id="tenant_1",
    api_base_url="qa",  # or "dev" / "demo" / "poc"
    redaction_enabled=True,  # optional: locally redact before sending
)

tracker.start_turn("My email is test@example.com", metadata={"any": "metadata"})
tracker.end_turn("Thanks!")
```

## Usage (redaction as an SDK feature)

### Module-level `chatsee.redact()`

```python
from chatsee import redact

redacted = redact(
    {"message": "Card 4111 1111 1111 1111", "email": "a@b.com"},
    api_base_url="qa",
    fields_to_redact="*",
    verify_ssl=True,
)
```

### Tracker instance `tracker.redact()`

```python
redacted = tracker.redact({"user_message": "Phone +1 (555) 123-4567"}, fields_to_redact="*")
```

## Encryption

Encryption support has been removed from this SDK.
