Spaces:
Sleeping
Sleeping
File size: 1,201 Bytes
f0347b4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | """F4 - Entry point for the Daimon Space.
ONE gr.Blocks app (app/blocks_ui.py), mounted at "/" via
gr.mount_gradio_app - the chat, the 10-layer state vector, PERSONA.md, the
audit log and the governance demo (F3) are all Gradio components in a single
custom-themed Blocks layout (the Off-Brand "custom UI on gr.Server" pattern),
backed by the same living loop (engine/loop.py). The typed FastAPI routes in
app/routes.py stay mounted under /api for programmatic/agent access
("Spaces as Agent Tools", plan §5c).
Run with:
uvicorn app.server:app --host 0.0.0.0 --port 7860
(requires `bash model/serve.sh` running separately for chat to work; the
state vector, audit log and governance demo work without the model server.)
"""
from __future__ import annotations
import sys
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parent.parent
if str(REPO_ROOT) not in sys.path:
sys.path.insert(0, str(REPO_ROOT))
import gradio as gr
from fastapi import FastAPI
from app.blocks_ui import CUSTOM_CSS, build_demo
from app.routes import router
app = FastAPI(title="Daimon")
app.include_router(router)
demo = build_demo()
app = gr.mount_gradio_app(app, demo, path="/", css=CUSTOM_CSS)
|