Metadata-Version: 2.4
Name: mozaiks
Version: 0.1.7
Summary: Mozaiks AG2 runtime and Studio-driven app framework
Author-email: BlocUnited LLC <info@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">

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/BlocUnited-LLC/mozaiks/main/docs/assets/logo-dark.png">
  <img src="https://raw.githubusercontent.com/BlocUnited-LLC/mozaiks/main/docs/assets/logo-light.png" alt="Mozaiks" width="260"/>
</picture>

[![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)](https://github.com/BlocUnited-LLC/mozaiks/blob/main/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 Mozaiks?

Mozaiks is an open-source AI app factory for building, running, and iterating on
AI-native software products.

It brings together three things that usually live in separate tools:

- **Mozaiks Studio** for creating apps, continuing builds, and managing them.
- **AI workflow orchestration powered by AG2** for planning, tool use, human
  review, and generation.
- **Generated app files** with modules, pages, workflows, config, and brand
  assets that Mozaiks validates before making active.

The goal is not to generate a throwaway demo. Mozaiks stages production-shaped
artifacts, validates them against strict contracts, and keeps runtime concerns
separate from builder workflows.

## Quickstart

Install Python 3.11+ and Node.js 18+. Studio also needs a reachable MongoDB
database for workspace state. Docker Desktop is not required; use MongoDB Atlas,
a local MongoDB install, or Docker only if that is how you prefer to run MongoDB.

Install Mozaiks:

```powershell
pip install mozaiks
```

Configure MongoDB before opening Studio:

```powershell
# Local MongoDB
$env:MONGO_URI="mongodb://localhost:27017/mozaiks"

# Or MongoDB Atlas
$env:MONGO_URI="<your MongoDB connection string>"
```

Set an LLM key before running real builds:

```powershell
$env:OPENAI_API_KEY="sk-..."
```

Then start Mozaiks:

```powershell
python -m mozaiks quickstart --dir .\mozaiks-workspace
```

This creates `.\mozaiks-workspace` and starts the local Studio.

Then open `http://localhost:3000/apps` and click `Create App`.

`.\mozaiks-workspace` is the local workspace folder Mozaiks uses for generated
output, config, and launch scripts. It is not the app itself. The app is
created later from inside Studio.

### Which Tool To Use

The **Studio** is the browser product for creating apps, continuing builds,
reviewing artifacts, and managing apps. The **CLI** is just how you set up the
local workspace, start processes, run diagnostics, and open Studio.

`studio` is also the host name used internally for that same browser product.
Most users can start from Studio and ignore the host details.

Want to contribute? See the [Contributing guide](https://docs.mozaiks.ai/contributing/).

Main repo layout:

- `web_shell/` - local Vite shell host source
- `factory_app/app/` - first-party 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](https://raw.githubusercontent.com/BlocUnited-LLC/mozaiks/main/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](https://raw.githubusercontent.com/BlocUnited-LLC/mozaiks/main/docs/assets/ArtifactLayout.png) | ![Ask Mode](https://raw.githubusercontent.com/BlocUnited-LLC/mozaiks/main/docs/assets/AskMozaiks.png) |
| *Chat + Artifact split view* | *Full chat with history sidebar* |

</div>
---

## 📚 Documentation

- [Architecture Overview](https://github.com/BlocUnited-LLC/mozaiks/blob/main/ARCHITECTURE.md) — System design and component model
- [Getting Started](https://github.com/BlocUnited-LLC/mozaiks/blob/main/docs/getting-started.md) — Full setup guide
- [Releasing](https://github.com/BlocUnited-LLC/mozaiks/blob/main/docs/releasing.md) — Tag-driven release and PyPI publish flow
- [Mid-Flight Journeys](https://github.com/BlocUnited-LLC/mozaiks/blob/main/docs/architecture/mozaiksai/mid-flight-journeys.md) — Flagship orchestration capability and runtime semantics
- [Workflow Authoring Contracts](https://github.com/BlocUnited-LLC/mozaiks/blob/main/docs/architecture/workflows/workflow-authoring-contracts.md) — Canonical strict YAML contract
- [Contributing](https://github.com/BlocUnited-LLC/mozaiks/blob/main/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`.
