Metadata-Version: 2.4
Name: openlatch-client-schemas
Version: 0.1.12
Summary: OpenLatch client wire-format JSON Schemas — canonical contract for events exchanged between openlatch-client and openlatch-platform
Project-URL: Homepage, https://openlatch.ai
Project-URL: Repository, https://github.com/OpenLatch/openlatch-client
Project-URL: Changelog, https://github.com/OpenLatch/openlatch-client/blob/main/CHANGELOG.md
Author: OpenLatch
License: Apache-2.0
Keywords: contract,json-schema,openlatch,schemas
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# openlatch-client-schemas

Canonical JSON Schemas for the openlatch-client wire format. This package is the source of truth for the contract between [openlatch-client](https://github.com/OpenLatch/openlatch-client) (Rust) and [openlatch-platform](https://github.com/OpenLatch/openlatch-platform) (Python + React).

## Usage

```python
from openlatch_client_schemas import schemas_path, load, load_all

schemas_path()                 # pathlib.Path to the bundled schemas/ directory
load_all()                     # {"enums": {...}, "event-envelope": {...}, ...}
load("event-envelope")         # parsed schema for one file
```

## Contents

| File | Purpose |
|---|---|
| `enums.schema.json` | `AgentType`, `HookEventType`, `Verdict` |
| `event-envelope.schema.json` | `EventEnvelope` wire-format |
| `verdict-response.schema.json` | `VerdictResponse` returned to agent hooks |
| `cloud-ingestion-request.schema.json` | `CloudIngestionRequest` sent to platform |
| `cloud-ingestion-response.schema.json` | `CloudIngestionResponse` from platform |
| `auth-me-response.schema.json` | `AuthMeResponse` for `/api/v1/users/me` |

Version is synchronized with the `openlatch-client` crate — every published version corresponds to the binary release of the same version.

## Breaking Changes

Breaking schema changes require a major version bump. Consumers pinning an exact version will not be silently broken. See the [openlatch-client CHANGELOG](https://github.com/OpenLatch/openlatch-client/blob/main/CHANGELOG.md) for what changed.
