Documentation
Quickstart
Requirements: Docker with Compose, curl, and jq. No LLM key is required.
git clone https://github.com/pycarrot/moonwire.git
cd moonwire
docker compose up -d --build --wait
./examples/support-agent/demo.shThe script asserts each transition and exits non-zero if the behavior differs:
VALID support answer may be used
↓ policy changes from v1 to v2
STALE revalidation required
↓ application recomputes and acknowledges
VALID recomputed answer may be usedWhat Moonwire stored
The demo sends a unique resource reference, versions v1 and v2, a field selector, an artifact identity, and small metadata. The two policy sentences are printed locally; they are not sent to Moonwire.
Run the onboarding regression
make onboarding-testThis starts an isolated Compose project on ports 18088 and 15432, measures the flow, verifies VALID → STALE → VALID, and stops that stack.
Use an SDK
The packages are prepared as moonwire for Python and @moonwire/sdk for TypeScript. Until their registry-side trusted publishers are authorized, install from a checked-out release:
python -m pip install ./sdk/python
npm install ./sdk/typescriptContinue with the repository examples for plain Python, OpenAI Agents SDK-style tools, or LangGraph-style state.