Metadata-Version: 2.4
Name: mozaiks
Version: 0.1.0
Summary: Mozaiks AG2 runtime and Studio-driven app framework
Author-email: BlocUnited LLC <mike@blocunited.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/BlocUnited-LLC/mozaiks
Project-URL: Repository, https://github.com/BlocUnited-LLC/mozaiks
Project-URL: Documentation, https://github.com/BlocUnited-LLC/mozaiks#readme
Keywords: mozaiks,ag2,autogen,ai,agents,workflows,multi-tenant,runtime
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Framework :: FastAPI
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ag2[a2a,lmm,openai]>=0.11.5
Requires-Dist: fastapi>=0.100.0
Requires-Dist: uvicorn[standard]>=0.20.0
Requires-Dist: websockets>=11.0
Requires-Dist: motor>=3.3.0
Requires-Dist: pymongo>=4.5.0
Requires-Dist: dnspython>=2.4.0
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: pydantic>=2.5.0
Requires-Dist: PyJWT[crypto]>=2.8.0
Requires-Dist: jinja2
Requires-Dist: pyyaml>=6.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: httpx
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: python-dateutil>=2.8.0
Requires-Dist: limits>=3.6.0
Requires-Dist: jsonschema>=4.0.0
Provides-Extra: azure
Requires-Dist: azure-identity>=1.15.0; extra == "azure"
Requires-Dist: azure-keyvault-secrets>=4.7.0; extra == "azure"
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: pytest-mock>=3.14.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: watchdog; extra == "dev"
Provides-Extra: tracing
Requires-Dist: opentelemetry-sdk>=1.27.0; extra == "tracing"
Requires-Dist: opentelemetry-exporter-otlp>=1.27.0; extra == "tracing"
Provides-Extra: tree-sitter
Requires-Dist: tree-sitter>=0.20.0; extra == "tree-sitter"
Requires-Dist: tree-sitter-python; extra == "tree-sitter"
Requires-Dist: tree-sitter-javascript; extra == "tree-sitter"
Requires-Dist: tree-sitter-css; extra == "tree-sitter"
Provides-Extra: e2b
Requires-Dist: e2b-code-interpreter>=0.0.10; extra == "e2b"
Dynamic: license-file

# Mozaiks

<div align="center">

<img src="./docs/assets/mozaik_logo.svg" alt="Mozaiks Logo" width="180"/>

[![Release](https://img.shields.io/github/v/release/BlocUnited-LLC/mozaiks)](https://github.com/BlocUnited-LLC/mozaiks/releases)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Python](https://img.shields.io/badge/Python-3.11+-blue?logo=python)](https://www.python.org/)
[![AG2](https://img.shields.io/badge/AG2-Autogen-green)](https://github.com/ag2ai/ag2)

</div>

## 🎯 What is MozaiksAI?
Declarative orchestration runtime and Studio-driven app framework for AG2 (formerly Microsoft Autogen):

- ✅ **Event-Driven Architecture** — Runtime, app, workflow, UI, and hosted events stay separated by contract
- ✅ **Mid-Flight Journeys (MFJ)** — Run parallel workflows by fork/join with deterministic parent resume
- ✅ **Real-Time WebSocket Transport** — Live agent streaming to React frontends
- ✅ **Dynamic UI Integration** — Agents can invoke React components during workflows
- ✅ **Multi-Tenant Isolation** — App-scoped data and execution contexts
- ✅ **Declarative Workflows** — YAML manifests, no code changes needed
- ✅ **Comprehensive Observability** — Built-in metrics, logging, and token tracking
- ✅ **Persistent State Management** — Resume conversations exactly where they left off

Current recommended setup: clone the repo, create a virtual environment, run
the builder bootstrap script, and let it open Studio for you.

Builder path:

```powershell
git clone https://github.com/BlocUnited-LLC/mozaiks.git
cd mozaiks
.\scripts\bootstrap-builder.ps1 -Workspace .\my-first-mozaiks-app
```

Advanced/framework path:

- `mozaiks onboard --full`
- `mozaiks studio --open`
- `mozaiks init`
- `mozaiks serve`

Manual equivalent of the bootstrap path:

```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .
mozaiks quickstart --dir ./my-first-mozaiks-app
```

Current repo layout:

- `web_shell/` - local Vite shell host source
- `factory_app/app/` - shared Studio app bundle and default brand assets
- `factory_app/workflows/` - shared builder workflow root

---

## 🎨 See It In Action

<div align="center">

### 💬 Embeddable Floating Widget

![Widget Demo](./docs/assets/widgetAction.gif)

*Drop a floating assistant anywhere in your app — click the button to expand/collapse the chat interface*

---

### 🔀 Dual-Mode Interface

| Workflow Mode | Ask Mode |
|:---:|:---:|
| ![Workflow Mode](./docs/assets/ArtifactLayout.png) | ![Ask Mode](./docs/assets/AskMozaiks.png) |
| *Chat + Artifact split view* | *Full chat with history sidebar* |

</div>
---

## 📚 Documentation

- [Architecture Overview](ARCHITECTURE.md) — System design and component model
- [Getting Started](docs/getting-started.md) — Full setup guide
- [Releasing](docs/releasing.md) — Tag-driven release and PyPI publish flow
- [Mid-Flight Journeys](docs/reference/deep-dives/mid-flight-journeys.md) — Flagship orchestration capability and runtime semantics
- [Workflow Authoring Contracts](docs/architecture/foundations/workflow-authoring-contracts.md) — Canonical strict YAML contract
- [Contributing](CONTRIBUTING.md) — Development workflow

Build the docs locally with `pip install -r requirements-docs.txt` and `./scripts/build-docs.ps1`.

---

## Contributing

See `CONTRIBUTING.md`.

## License

MIT. See `LICENSE`.
