"""
╔══════════════════════════════════════════════════════════╗
║ OMNI-VIBE CORE — Specialized Swarm Architecture ║
║ ║
║ The Athanor: LiteRT engine, sub-second latency ║
║ ║
║ POSE ARCHITECT: full-stack schema + zero-config DB ║
║ + Google OAuth out-of-the-box ║
║ POSE PAINTER: Liquid Glass design system enforced ║
║ across every generated app ║
║ POSE AUDITOR: step-by-step reasoning, verify code ║
║ before every hot-reload ║
║ ║
║ All Poses run locally — zero external API calls. ║
║ Sub-second Reflect-Select loop with regex engine. ║
╚══════════════════════════════════════════════════════════╝
"""
import asyncio, json, os, re, time, uuid, textwrap, hashlib
from pathlib import Path
from typing import Dict, List, Optional, Tuple
from dataclasses import dataclass, field
# ═══════════════════════════════════════════════════════
# POSES — The Specialized Swarm
# ═══════════════════════════════════════════════════════
@dataclass
class AuditFinding:
line: int
severity: str # ERROR | WARN | INFO
message: str
fix: Optional[str] = None
# ─── LIQUID GLASS DESIGN SYSTEM ────────────────────────
# Canonical CSS variables injected into every output
LIQUID_GLASS_CSS = """
:root {
--glass-bg: rgba(255,255,255,.03);
--glass-border: rgba(255,255,255,.06);
--glass-hover: rgba(255,255,255,.08);
--purple: #8B5CF6; --cyan: #06B6D4; --green: #10B981; --gold: #F59E0B;
--text: #e0e0ff; --text2: #9090b0; --text3: #606080;
--bg1: #0a0a1a; --bg2: #1a0a2e;
--radius: 20px; --radius-sm: 12px;
--font: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
--mono: 'SF Mono','Fira Code',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:linear-gradient(135deg,var(--bg1),var(--bg2),#0a1a2e);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}
::selection{background:rgba(139,92,246,.5);color:#fff}
.glass{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius)}
.glass-hover:hover{background:var(--glass-hover);border-color:rgba(139,92,246,.2)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:linear-gradient(135deg,var(--purple),var(--cyan));border:none;border-radius:var(--radius-sm);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(139,92,246,.4)}
.btn-outline{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text2)}
.input-glass{width:100%;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s,box-shadow .15s}
.input-glass:focus{border-color:rgba(139,92,246,.4);box-shadow:0 0 20px rgba(139,92,246,.1)}
.card{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem}
.gradient-text{background:linear-gradient(135deg,var(--purple),var(--cyan),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
"""
LIQUID_GLASS_LOGO = """
"""
# ─── ZERO-CONFIG DATABASE SCHEMA ───────────────────────
ZERO_DB_SCHEMA = """
-- Omni-Vibe Zero-Config Database
-- Uses SQLite (built-in, zero setup) with WAL mode
CREATE TABLE IF NOT EXISTS users (
id TEXT PRIMARY KEY,
email TEXT UNIQUE NOT NULL,
name TEXT,
avatar_url TEXT,
google_id TEXT UNIQUE,
created_at TEXT DEFAULT (datetime('now')),
updated_at TEXT DEFAULT (datetime('now'))
);
CREATE TABLE IF NOT EXISTS sessions (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL REFERENCES users(id),
token TEXT UNIQUE NOT NULL,
expires_at TEXT NOT NULL,
created_at TEXT DEFAULT (datetime('now'))
);
CREATE TABLE IF NOT EXISTS items (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL REFERENCES users(id),
title TEXT NOT NULL,
content TEXT,
status TEXT DEFAULT 'active',
created_at TEXT DEFAULT (datetime('now')),
updated_at TEXT DEFAULT (datetime('now'))
);
CREATE INDEX IF NOT EXISTS idx_items_user ON items(user_id);
CREATE INDEX IF NOT EXISTS idx_sessions_token ON sessions(token);
"""
# ─── GOOGLE OAUTH SERVER-SIDE ──────────────────────────
GOOGLE_OAUTH_PY = """
import os, json, httpx
from urllib.parse import urlencode
GOOGLE_CLIENT_ID = os.environ.get("GOOGLE_CLIENT_ID", "")
GOOGLE_CLIENT_SECRET = os.environ.get("GOOGLE_CLIENT_SECRET", "")
GOOGLE_REDIRECT = os.environ.get("GOOGLE_REDIRECT_URI", "http://localhost:8080/auth/callback")
def get_auth_url(state: str = "") -> str:
params = {
"client_id": GOOGLE_CLIENT_ID,
"redirect_uri": GOOGLE_REDIRECT,
"response_type": "code",
"scope": "openid email profile",
"state": state,
}
return f"https://accounts.google.com/o/oauth2/v2/auth?{urlencode(params)}"
async def exchange_code(code: str) -> dict:
async with httpx.AsyncClient() as c:
resp = await c.post("https://oauth2.googleapis.com/token", data={
"code": code, "client_id": GOOGLE_CLIENT_ID,
"client_secret": GOOGLE_CLIENT_SECRET,
"redirect_uri": GOOGLE_REDIRECT, "grant_type": "authorization_code",
})
tokens = resp.json()
user = await c.get("https://www.googleapis.com/oauth2/v2/userinfo",
headers={"Authorization": f"Bearer {tokens['access_token']}"})
return {**tokens, "user": user.json()}
"""
GOOGLE_OAUTH_JS = """
// Google OAuth client-side — Liquid Glass styled
async function initGoogleAuth() {
const btn = document.getElementById('google-auth-btn');
if (!btn) return;
btn.addEventListener('click', () => {
const state = crypto.randomUUID();
localStorage.setItem('oauth_state', state);
window.location.href = `/auth/google?state=${state}`;
});
// Check for callback
const params = new URLSearchParams(window.location.search);
if (params.get('code')) {
const resp = await fetch('/auth/callback?' + params.toString());
const data = await resp.json();
if (data.user) {
localStorage.setItem('user', JSON.stringify(data.user));
window.location.href = '/';
}
}
}
document.addEventListener('DOMContentLoaded', initGoogleAuth);
"""
# ═══════════════════════════════════════════════════════
# POSE ARCHITECT — Full-Stack Schema Generator
# ═══════════════════════════════════════════════════════
class PoseArchitect:
"""
Generates full-stack application architectures.
Every output includes: zero-config SQLite DB + Google OAuth.
"""
STACKS = {
"html": {"backend": None, "frontend": "Vanilla HTML/CSS/JS + Liquid Glass"},
"flask": {"backend": "Flask+SQLite","frontend": "Jinja2 + Liquid Glass"},
"fastapi": {"backend": "FastAPI+SQLite","frontend": "HTMX + Liquid Glass"},
"node": {"backend": "Express+better-sqlite3","frontend": "Vanilla + Liquid Glass"},
}
def design(self, prompt: str) -> Dict:
"""Analyze prompt and design the full-stack schema."""
p = prompt.lower()
# Detect stack
stack = "html"
if any(w in p for w in ["api","backend","server","flask","fastapi"]):
stack = "fastapi" if "fastapi" in p else "flask"
elif any(w in p for w in ["node","express","javascript backend"]):
stack = "node"
elif any(w in p for w in ["app","saas","platform","dashboard","database"]):
stack = "fastapi"
# Detect features
features = []
if any(w in p for w in ["auth","login","signup","oauth","google"]):
features.append("google-oauth")
if any(w in p for w in ["database","db","storage","data","crud"]):
features.append("zero-db")
if any(w in p for w in ["dashboard","admin","panel"]):
features.append("dashboard")
if any(w in p for w in ["landing","page","homepage","marketing"]):
features.append("landing-page")
if any(w in p for w in ["dark","theme","purple","glass","gradient"]):
features.append("liquid-glass-theme")
schema = {
"stack": self.STACKS[stack],
"features": features,
"has_db": "zero-db" in features,
"has_auth": "google-oauth" in features,
"has_dashboard": "dashboard" in features,
"files_needed": self._compute_files(stack, features),
"landing_title": self._extract_title(prompt),
}
return schema
def _compute_files(self, stack: str, features: List[str]) -> List[str]:
files = ["index.html"]
if "google-oauth" in features:
files.extend(["auth.py", "static/auth.js"])
if "zero-db" in features:
files.append("database.py")
if stack in ("flask", "fastapi"):
files.extend(["app.py", "requirements.txt"])
if stack == "fastapi":
files.append("Dockerfile")
if "dashboard" in features:
files.append("templates/dashboard.html")
return files
def _extract_title(self, prompt: str) -> str:
"""Extract a meaningful title from the prompt."""
for phrase in ["called ", "named ", "titled "]:
if phrase in prompt.lower():
idx = prompt.lower().find(phrase) + len(phrase)
end = min(prompt.find(" ", idx + 1) if " " in prompt[idx:] else len(prompt), idx + 30)
name = prompt[idx:end].strip().rstrip(".,;!?")
if name: return name
for w in ["startup", "saas", "app", "platform", "labs", "studio"]:
if w in prompt.lower():
return f"{w.title()} — Omni-Vibe"
return "Omni-Vibe App"
def generate_backend(self, schema: Dict) -> str:
"""Generate zero-config backend code."""
if not schema["has_db"] and not schema["has_auth"]:
return ""
code = []
if schema["stack"]["backend"] and "Flask" in schema["stack"]["backend"]:
code.append("from flask import Flask, request, jsonify, redirect, session\n")
code.append("import sqlite3, os, uuid, hashlib\n\n")
code.append("app = Flask(__name__)\napp.secret_key = os.environ.get('SECRET_KEY', 'omni-vibe-dev')\n\n")
code.append("# ─── Zero-Config Database ───\n")
code.append("DB = os.environ.get('DATABASE_URL', 'app.db')\n\n")
code.append("def get_db():\n conn = sqlite3.connect(DB)\n conn.row_factory = sqlite3.Row\n conn.execute('PRAGMA journal_mode=WAL')\n return conn\n\n")
code.append("# ─── Init Schema ───\n")
code.append("def init_db():\n with get_db() as db:\n")
for line in ZERO_DB_SCHEMA.strip().split("\n"):
if line.strip() and not line.startswith("--"):
code.append(f" db.execute('''{line.strip()}''')\n")
code.append(" print('✅ Omni-Vibe DB initialized')\n\ninit_db()\n\n")
if schema["has_auth"]:
code.append("# ─── Google OAuth ───\n")
code.append(GOOGLE_OAUTH_PY.strip() + "\n\n")
elif schema["stack"]["backend"] and "FastAPI" in schema["stack"]["backend"]:
code.append("from fastapi import FastAPI, Request, HTTPException\n")
code.append("from fastapi.responses import JSONResponse, RedirectResponse\n")
code.append("import sqlite3, os, uuid\n\n")
code.append("app = FastAPI(title='Omni-Vibe')\n\n")
return "".join(code)
# ═══════════════════════════════════════════════════════
# POSE PAINTER — Liquid Glass Design Enforcer
# ═══════════════════════════════════════════════════════
class PosePainter:
"""
Enforces the Liquid Glass design system on every generated app.
Injects canonical CSS, logo SVG, and ensures consistent theming.
"""
LG_COMPONENTS = {
"navbar": """
""",
"hero": """
{SUBTITLE}{TITLE}
{DESCRIPTION}