Metadata-Version: 2.4
Name: vystak-channel-chat
Version: 0.3.0
Summary: Vystak chat channel — OpenAI-compatible unified chat endpoint routing to agents
Project-URL: Homepage, https://vystak.dev
Project-URL: Repository, https://github.com/vystak/vystak
Author-email: Anatoliy Kolodkin <11351966+akolodkin@users.noreply.github.com>
License-Expression: Apache-2.0
Keywords: agent,channel,chat,openai-compatible,vystak
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: vystak-channel-runtime>=0.1.0
Requires-Dist: vystak>=0.1.0
Description-Content-Type: text/markdown

# vystak-channel-chat

OpenAI-compatible chat channel plugin for Vystak.

Declares `ChannelType.CHAT`. When deployed, spins up a FastAPI container
exposing `/v1/chat/completions`, `/v1/models`, and `/health`. Chat
completions are routed to the agent named in the `model` field (format:
`vystak/<agent-name>`) and proxied to that agent's A2A endpoint.

## Usage

```python
import vystak as ast
import vystak_channel_chat  # triggers plugin registration

chat = ast.Channel(
    name="chat",
    type=ast.ChannelType.CHAT,
    platform=platform,
    routes=[ast.RouteRule(agent="weather-agent")],
)
```

Then `vystak apply`, and:

```bash
curl -X POST http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"vystak/weather-agent","messages":[{"role":"user","content":"hi"}]}'
```
