Metadata-Version: 2.4
Name: anna-app-core
Version: 0.2.0a1
Summary: Anna App platform core: manifest schemas, RPC dispatcher, protocols, errors. Shared by matrix-nexus and the local-dev runtime.
Project-URL: Documentation, https://github.com/talentai/matrix-nexus/blob/main/docs/design/anna-app-local-dev-and-test.md
Author: Talent AI
License: MIT
Keywords: anna,anna-app,executa
Requires-Python: >=3.10
Requires-Dist: pydantic<3.0,>=2.0
Description-Content-Type: text/markdown

# anna-app-core

Shared protocol/error/ACL primitives for the [Anna App](https://github.com/talentai/matrix-nexus/blob/main/docs/design/anna-app-local-dev-and-test.md) platform.

This package is intentionally tiny. It exposes the **stable contract surface**
that both `matrix-nexus` (production host) and `anna-app-runtime-local` (local
dev harness) can depend on without pulling each other's runtime.

## What's here (v0.1.x)

- `WindowStoreProtocol` — minimum surface RPC handlers expect from a window store
- `HostRpcError`, `WindowError`, `WindowPermissionError` — error types crossing the boundary
- `host_api_allows(manifest_dict, ns, method) -> bool` — pure ACL check (manifest passed as `dict`)
- `DISPATCHER_VERSION` / `SDK_VERSION` constants

## What's NOT here yet

- The full `dispatch()` function — still lives in `matrix-nexus`
  (`src/services/anna_app_rpc_dispatcher.py`). Planned for `anna-app-core>=0.2`
  once `event_stream` + `runtime_service` are abstracted behind protocols.
- Pydantic `AppManifest` — see `anna-app-schema` (JSON Schema bundle).

## Versioning

`0.1.0a1` is the first PyPI release (alpha). Pin policy lives in the central
[VERSIONS.md](../VERSIONS.md).
