Metadata-Version: 2.4
Name: orcheo-backend
Version: 0.8.2
Summary: Deployment wrapper around the Orcheo FastAPI application
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: fastapi>=0.104.0
Requires-Dist: uvicorn[standard]>=0.24.0
Requires-Dist: orcheo>=0.9.2
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"

# Orcheo Backend

This package exposes the FastAPI application that powers the Orcheo runtime. It wraps the core `orcheo` package so that deployment targets can import a lightweight entrypoint (`orcheo_backend.app`).

## Local development

```bash
uv sync --all-groups
uv run uvicorn orcheo_backend.app:app --reload --host 0.0.0.0 --port 8000
```

## Testing & linting

The shared repository `Makefile` includes convenience targets:

```bash
uv run make lint
uv run make test
```

These commands ensure Ruff, MyPy, and pytest with coverage run in CI as well.

## ChatKit integration

The backend now exposes helper endpoints for the Canvas ChatKit experience:

- `POST /api/chatkit/session` — returns a ChatKit client secret.
- `POST /api/chatkit/workflows/{workflow_id}/trigger` — dispatches a workflow run.

Provide ChatKit client secrets by setting `CHATKIT_CLIENT_SECRET` globally or the
per-workflow variant `CHATKIT_CLIENT_SECRET_<WORKFLOW_ID>` (UUID without dashes).
These values are used directly; the backend does not mint tokens on your behalf.
