Metadata-Version: 2.4
Name: liteyukibot-v7
Version: 7.0.0a1
Summary: A protocol-neutral, multi-runtime chatbot kernel.
Author: LiteyukiStudio
License-Expression: LicenseRef-LSO
License-File: LICENSE
Requires-Dist: pydantic>=2.13,<3
Requires-Dist: yukilog>=1,<2
Requires-Dist: fastapi>=0.141,<1 ; extra == 'http'
Requires-Dist: uvicorn>=0.52,<1 ; extra == 'http'
Requires-Dist: nonebot2[fastapi,httpx,websockets]>=2.5,<3 ; extra == 'nonebot'
Requires-Dist: nonebot-adapter-onebot>=2.4,<3 ; extra == 'onebot'
Requires-Dist: nonebot-adapter-satori>=1.3,<2 ; extra == 'satori'
Requires-Dist: pyyaml>=6,<7 ; extra == 'yaml'
Requires-Python: >=3.14
Provides-Extra: http
Provides-Extra: nonebot
Provides-Extra: onebot
Provides-Extra: satori
Provides-Extra: yaml
Description-Content-Type: text/markdown

# LiteyukiBot v7

LiteyukiBot v7 is a protocol-neutral chatbot kernel for CPython 3.14. Native
plugins run in the core process; NoneBot2 and LiteyukiBot v6 plugins run in
supervised child runtimes.

The `v7` branch is a clean rewrite. The `main` branch remains the maintenance
line for v6 and is not merged wholesale into v7.

## Current Foundation

- immutable TOML/JSON configuration with ordered includes, environment
  overrides, and CLI overrides;
- Yukilog 1.x facade backed by Loguru, including structured child logs;
- native plugin entry points, async lifecycle hooks, private storage, managed
  tasks, and versioned services;
- bounded protocol-neutral event/action dispatch with per-conversation order;
- authenticated framed JSON IPC and supervised subprocess runtimes;
- NoneBot2 plugin hosting and a deliberately bounded v6 compatibility shim;
- local authenticated CLI control and an optional loopback-only HTTP status API.

## Requirements

- CPython 3.14+
- [uv](https://docs.astral.sh/uv/)
- network access for uv to resolve PyPI dependencies

Yukilog 1.x is installed from PyPI; no sibling checkout is required.
The v7 distribution on PyPI is named `liteyukibot-v7`; Python imports remain
`liteyukibot` and `liteyuki` for the native and v6 compatibility namespaces.

```bash
uv sync --locked
uv run liteyuki check
uv run liteyuki run
```

Optional integrations are installed explicitly:

```bash
uv sync --extra yaml
uv sync --extra http
uv sync --extra nonebot --extra onebot
```

Use `liteyuki.example.toml` as a configuration reference. CLI overrides must
precede the subcommand, for example:

```bash
uv run liteyuki --config local.toml --set logging.level=DEBUG check
```

## Docker

The v7 pre-release image is published to GHCR as
`ghcr.io/liteyukistudio/liteyukibot:v7.0.0a1`. It includes the optional YAML,
HTTP, NoneBot2, OneBot, and Satori integrations, and runs as a non-root user.

```bash
docker pull ghcr.io/liteyukistudio/liteyukibot:v7.0.0a1
docker run --rm ghcr.io/liteyukistudio/liteyukibot:v7.0.0a1 version
```

Mount a `liteyuki.toml` at `/app/liteyuki.toml` and persistent volumes at
`/app/data`, `/app/cache`, and `/app/plugins` for a configured deployment.

## Development

```bash
uv run ruff check src tests scripts
uv run mypy
uv run pytest
uv build
```

The architecture contract is documented in `docs/architecture/v7.md`; the v6
compatibility boundary is documented in `docs/migration-v6.md`.
