Metadata-Version: 2.4
Name: anna-app-core
Version: 0.6.0
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 **and** the Anna App RPC dispatcher,
manifest schemas, and runtime helpers used by the [Anna App](https://github.com/talentai/matrix-nexus/blob/main/docs/design/anna-app-local-dev-and-test.md)
platform.

This package is the **stable contract surface** that both `matrix-nexus`
(production host) and `anna-app-runtime-local` (local dev harness) depend on,
so neither has to pull in the other's runtime.

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

- **Manifest (Pydantic v2)** — `AppManifest`, `UiManifestSection`,
  `UiBundleSection`, `UiViewSpec`, `UiHostApiSpec`, `UiSize`, `WindowViewMeta`,
  `AppDevConfig`, `ManifestExecutaRef`
- **Dispatcher** — `dispatch(method, params, *, manifest, store, ...)` (the
  full JSON-RPC entry point; previously lived in `matrix-nexus`)
- **Protocols** — `WindowStoreProtocol` (minimum surface RPC handlers expect
  from a window store)
- **Errors** — `HostRpcError`, `WindowError`, `WindowPermissionError`
- **ACL** — `host_api_allows(manifest_dict, ns, method) -> bool`
- **Runtime helpers** — `select_view`, `scopes_from_manifest`, `view_meta`
- **Versions** — `DISPATCHER_VERSION`, `__version__`

## Versioning

`0.2.0a2` — docs catch-up over `0.2.0a1` (no code changes); the dispatcher
+ Pydantic manifest extraction landed in `0.2.0a1`. Pin policy lives in the
central [VERSIONS.md](../VERSIONS.md) and the operator runbook at
[`docs/operations/anna-app-release-flow.md`](https://github.com/talentai/matrix-nexus/blob/main/docs/operations/anna-app-release-flow.md).
