Metadata-Version: 2.4
Name: latchgate-integrations-common
Version: 0.1.1
Summary: Shared discovery, schema, serialization, and transport logic for LatchGate framework integrations
Project-URL: Homepage, https://github.com/latchgate-ai/latchgate-integrations
Project-URL: Repository, https://github.com/latchgate-ai/latchgate-integrations
Author: latchgate-ai
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai-agents,execution-security,latchgate,security
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
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
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx<1,>=0.27.0
Requires-Dist: latchgate>=0.1.0
Requires-Dist: pydantic<3,>=2.0.0
Description-Content-Type: text/markdown

# latchgate-integrations-common

Shared discovery, schema conversion, serialization, and transport logic for [LatchGate](https://github.com/latchgate-ai/latchgate) framework integrations.

This package is an **internal dependency** — not a public SDK. It provides the canonical implementation of security-relevant code used by:

- [`latchgate-langchain`](../langchain/)
- [`latchgate-crewai`](../crewai/)
- [`latchgate-openai-agents`](../openai-agents/)
- [`latchgate-pydantic-ai`](../pydantic/)

## Modules

| Module | Responsibility |
|---|---|
| `discovery` | Action registry fetch, `expose_security_details` redaction |
| `schema` | JSON Schema → Pydantic model conversion |
| `serialization` | Output-only result filtering (strips receipt/trace/verification) |
| `transport` | Gate URL + UDS transport resolution |
| `audit` | `AuditRecord` dataclass and `AuditCallback` protocol |
| `sync` | Sync-to-async bridge via background thread (no `nest_asyncio`) |

## Why a separate package?

Every function in this package is security-relevant. Duplicating it across framework adapters meant a fix in one copy could be missed in another. A single implementation eliminates drift.
