Metadata-Version: 2.4
Name: charter-core
Version: 0.0.1
Summary: Durable workflow engine for delegated responsibilities (runtime internals).
Project-URL: Homepage, https://github.com/charter-tool/charter
Project-URL: Repository, https://github.com/charter-tool/charter
Project-URL: Issues, https://github.com/charter-tool/charter/issues
Project-URL: Changelog, https://github.com/charter-tool/charter/blob/main/CHANGELOG.md
Author: Paulo Alvarado Garcia
License: MIT
Keywords: agent,automation,durable,workflow,yaml
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
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
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.11
Requires-Dist: charter-integration-sdk<0.1,>=0.0.1
Requires-Dist: pydantic>=2.0
Requires-Dist: pyyaml>=6.0
Description-Content-Type: text/markdown

# charter-core

Internal runtime package for Charter. It owns workflow schema validation, step
execution, run state, event models, artifact stores, and runtime adapters used by
the CLI, daemon, and gateway-facing worker code.

`charter-core` is not a supported embedding SDK. The package root intentionally
does not export runner lifecycle helpers such as `start`, `resume`, or
`submit_input`; Charter's supported product interfaces are the CLI and the
gateway/control plane.

## Use This Package When

- You are developing Charter runtime packages such as `charter-cli`.
- You need shared run protocol, event, state, or storage models inside Charter
  infrastructure.

For workflow authoring and local execution, use [`charter-cli`](../charter-cli/README.md).
For custom provider or tool integrations, use
[`charter-integration-sdk`](../charter-integration-sdk/README.md).

## Internal Boundaries

- `charter-core` depends on `charter-integration-sdk` because the runner consumes
  and enforces the integration contract.
- `charter-core` must not depend on the CLI or provider implementations.
- HTTP clients, terminal UX, and provider-specific code live outside this package.

## Submodule Map

- `runner`: workflow start/resume/input execution internals
- `runtime`: managed run lifecycle used by daemon mode
- `schema`: workflow plan and form schema models
- `state`, `event_store`: persisted run and stream contracts
- `storage`, `stores`: project storage configuration and built-in adapters
