Upload server.py
Browse files
server.py
CHANGED
|
@@ -44,7 +44,7 @@ LOADING_HTML = """<!DOCTYPE html>
|
|
| 44 |
--glass-bg:rgba(255,255,255,.03);--glass-border:rgba(255,255,255,.06);
|
| 45 |
--purple:#8B5CF6;--cyan:#06B6D4;--green:#10B981;--gold:#F59E0B;
|
| 46 |
--text:#e0e0ff;--text2:#9090b0;--text3:#606080;
|
| 47 |
-
--bg1:#0a0a1a;--bg2:#1a0a2e;--radius:
|
| 48 |
--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
|
| 49 |
}
|
| 50 |
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
|
@@ -69,8 +69,8 @@ body{
|
|
| 69 |
-webkit-background-clip:text;-webkit-text-fill-color:transparent;
|
| 70 |
background-clip:text;
|
| 71 |
}
|
| 72 |
-
h1{font-size:clamp(
|
| 73 |
-
|
| 74 |
.loading-bar{
|
| 75 |
width:240px;height:4px;background:var(--glass-bg);
|
| 76 |
border-radius:2px;margin:1.5rem auto 0;overflow:hidden;
|
|
@@ -86,13 +86,9 @@ p{color:var(--text2);margin-top:1rem;font-size:1.1rem}
|
|
| 86 |
.status-dot.gold{background:var(--gold);box-shadow:0 0 8px var(--gold)}
|
| 87 |
.pulse{animation:pulse 2s ease-in-out infinite}
|
| 88 |
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
|
| 89 |
-
/* Wizard hat SVG */
|
| 90 |
.wizard-svg{filter:drop-shadow(0 0 20px rgba(139,92,246,.6));margin-bottom:1.5rem}
|
| 91 |
-
.wizard-svg path{animation:morphColors 8s linear infinite}
|
| 92 |
-
@keyframes morphColors{0%,100%{fill:url(#hg)}}
|
| 93 |
</style>
|
| 94 |
<script>
|
| 95 |
-
// Poll for engine readiness every 500ms
|
| 96 |
let pollTimer;
|
| 97 |
function checkReady(){
|
| 98 |
fetch('/api/health').then(r=>r.json()).then(d=>{
|
|
@@ -104,7 +100,7 @@ function checkReady(){
|
|
| 104 |
}
|
| 105 |
pollTimer=setInterval(checkReady,500);
|
| 106 |
document.addEventListener('DOMContentLoaded',()=>{
|
| 107 |
-
document.getElementById('status-text').textContent='Waking the Athanor
|
| 108 |
});
|
| 109 |
</script>
|
| 110 |
</head>
|
|
@@ -123,14 +119,14 @@ document.addEventListener('DOMContentLoaded',()=>{
|
|
| 123 |
<animate attributeName="rx" values="26;28;26" dur="3s" repeatCount="indefinite"/>
|
| 124 |
</ellipse>
|
| 125 |
</svg>
|
| 126 |
-
<h1 class="gradient-text">
|
| 127 |
-
<p>
|
| 128 |
<div class="loading-bar"></div>
|
| 129 |
<p style="font-size:.85rem;color:var(--text3);margin-top:1rem">
|
| 130 |
<span class="status-dot gold pulse"></span>
|
| 131 |
-
<span id="status-text">Initializing LiteRT engine
|
| 132 |
</p>
|
| 133 |
-
<p style="font-size:.7rem;color:var(--text3);margin-top:1.5rem">0.0.0.0:7860
|
| 134 |
</div>
|
| 135 |
</body>
|
| 136 |
</html>"""
|
|
@@ -166,12 +162,12 @@ async def handle_agent(req):
|
|
| 166 |
"""A2A agent card β static, no imports needed."""
|
| 167 |
return web.json_response({
|
| 168 |
"name": "omni-vibe-studio",
|
| 169 |
-
"description": "Omni-Vibe Studio β Specialized AI Swarm. 0.0.0.0:7860. LiteRT engine.",
|
| 170 |
"url": "https://dryymatt-wizard-vibe-studio-v2.hf.space",
|
| 171 |
"provider": {"organization": "Omni-Vibe Studio β Litehat System",
|
| 172 |
"url": "https://huggingface.co/dryymatt"},
|
| 173 |
-
"version": "3.
|
| 174 |
-
"capabilities": {"streaming": True, "ghostDeploy": True, "liquidGlass": True},
|
| 175 |
})
|
| 176 |
|
| 177 |
|
|
@@ -398,6 +394,7 @@ def main():
|
|
| 398 |
print(f" Loading HTML : served before engine import")
|
| 399 |
print(f" Registry : {CANONICAL_REPO}")
|
| 400 |
print(f" Hat : {WIZARD_HAT_COLOR}")
|
|
|
|
| 401 |
|
| 402 |
# βββ Start the aiohttp server FIRST βββ
|
| 403 |
# At this point, no core.py has been imported.
|
|
|
|
| 44 |
--glass-bg:rgba(255,255,255,.03);--glass-border:rgba(255,255,255,.06);
|
| 45 |
--purple:#8B5CF6;--cyan:#06B6D4;--green:#10B981;--gold:#F59E0B;
|
| 46 |
--text:#e0e0ff;--text2:#9090b0;--text3:#606080;
|
| 47 |
+
--bg1:#0a0a1a;--bg2:#1a0a2e;--radius:24px;
|
| 48 |
--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
|
| 49 |
}
|
| 50 |
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
|
|
|
| 69 |
-webkit-background-clip:text;-webkit-text-fill-color:transparent;
|
| 70 |
background-clip:text;
|
| 71 |
}
|
| 72 |
+
h1{font-size:clamp(1.8rem,6vw,2.8rem);font-weight:800;line-height:1.15}
|
| 73 |
+
.hero-sub{color:var(--text2);font-size:1rem;font-weight:400;margin-top:.4rem}
|
| 74 |
.loading-bar{
|
| 75 |
width:240px;height:4px;background:var(--glass-bg);
|
| 76 |
border-radius:2px;margin:1.5rem auto 0;overflow:hidden;
|
|
|
|
| 86 |
.status-dot.gold{background:var(--gold);box-shadow:0 0 8px var(--gold)}
|
| 87 |
.pulse{animation:pulse 2s ease-in-out infinite}
|
| 88 |
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
|
|
|
|
| 89 |
.wizard-svg{filter:drop-shadow(0 0 20px rgba(139,92,246,.6));margin-bottom:1.5rem}
|
|
|
|
|
|
|
| 90 |
</style>
|
| 91 |
<script>
|
|
|
|
| 92 |
let pollTimer;
|
| 93 |
function checkReady(){
|
| 94 |
fetch('/api/health').then(r=>r.json()).then(d=>{
|
|
|
|
| 100 |
}
|
| 101 |
pollTimer=setInterval(checkReady,500);
|
| 102 |
document.addEventListener('DOMContentLoaded',()=>{
|
| 103 |
+
document.getElementById('status-text').textContent='Waking the Athanor\u2026';
|
| 104 |
});
|
| 105 |
</script>
|
| 106 |
</head>
|
|
|
|
| 119 |
<animate attributeName="rx" values="26;28;26" dur="3s" repeatCount="indefinite"/>
|
| 120 |
</ellipse>
|
| 121 |
</svg>
|
| 122 |
+
<h1 class="gradient-text">Build anything.</h1>
|
| 123 |
+
<p class="hero-sub">Simple. Beautiful. Easy to use.</p>
|
| 124 |
<div class="loading-bar"></div>
|
| 125 |
<p style="font-size:.85rem;color:var(--text3);margin-top:1rem">
|
| 126 |
<span class="status-dot gold pulse"></span>
|
| 127 |
+
<span id="status-text">Initializing LiteRT engine\u2026</span>
|
| 128 |
</p>
|
| 129 |
+
<p style="font-size:.7rem;color:var(--text3);margin-top:1.5rem">0.0.0.0:7860 \u00b7 Steady Gold</p>
|
| 130 |
</div>
|
| 131 |
</body>
|
| 132 |
</html>"""
|
|
|
|
| 162 |
"""A2A agent card β static, no imports needed."""
|
| 163 |
return web.json_response({
|
| 164 |
"name": "omni-vibe-studio",
|
| 165 |
+
"description": "Omni-Vibe Studio β Specialized AI Swarm. 0.0.0.0:7860. LiteRT engine. Build anything. Simple. Beautiful. Easy to use.",
|
| 166 |
"url": "https://dryymatt-wizard-vibe-studio-v2.hf.space",
|
| 167 |
"provider": {"organization": "Omni-Vibe Studio β Litehat System",
|
| 168 |
"url": "https://huggingface.co/dryymatt"},
|
| 169 |
+
"version": "3.1.0",
|
| 170 |
+
"capabilities": {"streaming": True, "ghostDeploy": True, "liquidGlass": True, "tabbedInterface": True},
|
| 171 |
})
|
| 172 |
|
| 173 |
|
|
|
|
| 394 |
print(f" Loading HTML : served before engine import")
|
| 395 |
print(f" Registry : {CANONICAL_REPO}")
|
| 396 |
print(f" Hat : {WIZARD_HAT_COLOR}")
|
| 397 |
+
print(f" Brand : 'Build anything. Simple. Beautiful. Easy to use.'")
|
| 398 |
|
| 399 |
# βββ Start the aiohttp server FIRST βββ
|
| 400 |
# At this point, no core.py has been imported.
|