Delete web/static/index.html
Browse files- web/static/index.html +0 -229
web/static/index.html
DELETED
|
@@ -1,229 +0,0 @@
|
|
| 1 |
-
<!doctype html>
|
| 2 |
-
<html lang="en">
|
| 3 |
-
<head>
|
| 4 |
-
<meta charset="utf-8" />
|
| 5 |
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
-
<title>Agentic Space Factory</title>
|
| 7 |
-
<link rel="stylesheet" href="/custom-static/app.css" />
|
| 8 |
-
</head>
|
| 9 |
-
<body>
|
| 10 |
-
<div class="app-shell onepage-shell">
|
| 11 |
-
<header class="topbar onepage-topbar">
|
| 12 |
-
<div class="brand">
|
| 13 |
-
<div class="brand-mark">🚀</div>
|
| 14 |
-
<div>
|
| 15 |
-
<h1>Agentic Space Factory</h1>
|
| 16 |
-
<p>Build, inspect, and validate private Hugging Face Spaces.</p>
|
| 17 |
-
</div>
|
| 18 |
-
</div>
|
| 19 |
-
<div class="top-actions">
|
| 20 |
-
<a class="user-chip" id="userChip" href="/oauth/huggingface/login">Sign in</a>
|
| 21 |
-
<button class="primary small" id="resumeLatestRun">Resume latest run</button>
|
| 22 |
-
<a class="logout-link" id="logoutLink" href="/logout" hidden>Logout</a>
|
| 23 |
-
</div>
|
| 24 |
-
</header>
|
| 25 |
-
|
| 26 |
-
<div class="toast-layer" id="toastLayer" aria-live="polite"><section class="operation-status floating-toast" id="operationStatus" hidden></section></div>
|
| 27 |
-
|
| 28 |
-
<main class="onepage-main">
|
| 29 |
-
<section class="auth-panel" id="authPanel" hidden></section>
|
| 30 |
-
|
| 31 |
-
<section class="workspace-grid">
|
| 32 |
-
<div class="left-stack">
|
| 33 |
-
<section class="panel bucket-setup-panel" id="bucketSetupPanel">
|
| 34 |
-
<div class="section-head compact">
|
| 35 |
-
<div><span class="panel-icon">◈</span><h2>Run storage</h2></div>
|
| 36 |
-
<span class="badge" id="bucketInlineStatus">Checking</span>
|
| 37 |
-
</div>
|
| 38 |
-
<p class="muted">Runs, reports, generated files, traces, and validation outputs are written to your private bucket.</p>
|
| 39 |
-
<div class="bucket-source-line"><span class="status-dot" id="bucketInlineDot"></span><strong id="bucketInlineLabel">loading…</strong></div>
|
| 40 |
-
<div class="inline-actions bucket-actions">
|
| 41 |
-
<button class="secondary small" id="checkBucket">Check bucket</button>
|
| 42 |
-
<button class="secondary small" id="createBucket">Create private bucket</button>
|
| 43 |
-
</div>
|
| 44 |
-
</section>
|
| 45 |
-
|
| 46 |
-
<section class="panel build-panel" id="newBuildCard">
|
| 47 |
-
<div class="section-head compact">
|
| 48 |
-
<div>
|
| 49 |
-
<span class="panel-icon">⌘</span>
|
| 50 |
-
<h2>New Build</h2>
|
| 51 |
-
</div>
|
| 52 |
-
</div>
|
| 53 |
-
|
| 54 |
-
<div class="field-stack">
|
| 55 |
-
<label>Model card URL or model ID<input id="modelId" value="meta-llama/Meta-Llama-3.1-8B-Instruct" /></label>
|
| 56 |
-
<label>Target Space name<input id="targetSpace" placeholder="my-llama-31-8b-demo" /></label>
|
| 57 |
-
<div class="form-grid two-cols">
|
| 58 |
-
<label>Pi model<select id="piModel"><option value="Qwen/Qwen3-Coder-Next" selected>Qwen/Qwen3-Coder-Next</option></select></label>
|
| 59 |
-
<label>Implementation mode<select id="implementationMode">
|
| 60 |
-
<option value="full-inference-gated" selected>Strict real inference — validated Gradio app</option>
|
| 61 |
-
<option value="full-inference-attempt">Best-effort inference — permissive prototype</option>
|
| 62 |
-
<option value="safe-scaffold">Safe scaffold only — boots without inference guarantee</option>
|
| 63 |
-
</select></label>
|
| 64 |
-
</div>
|
| 65 |
-
<p class="muted cost-note">Pi uses Hugging Face Inference Providers for Qwen. Usage may consume paid inference credits.</p>
|
| 66 |
-
<div class="form-grid two-cols">
|
| 67 |
-
<label>Preferred GPU<select id="preferredHardware"><option value="zero-a10g" selected>ZeroGPU</option></select></label>
|
| 68 |
-
<label>Fallback GPU<select id="fallbackHardware"><option value="a10g-large" selected>A10G Large</option><option value="l40sx1">L40S x1</option><option value="cpu-basic">CPU Basic</option><option value="a100-large">A100 Large</option><option value="h200">H200</option></select></label>
|
| 69 |
-
</div>
|
| 70 |
-
<div class="toggle-list compact-toggles">
|
| 71 |
-
<label><span>Try ZeroGPU first</span><input id="tryZeroGpu" type="checkbox" checked /></label>
|
| 72 |
-
<label><span>Allow fixed GPU fallback</span><input id="allowFallback" type="checkbox" checked /></label>
|
| 73 |
-
</div>
|
| 74 |
-
<label>Expected output type<select id="buildExpectedOutput"><option value="text">Text</option><option value="image">Image</option><option value="video">Video</option><option value="audio">Audio</option><option value="any">Any</option></select></label>
|
| 75 |
-
</div>
|
| 76 |
-
|
| 77 |
-
<button class="primary full" id="launchBuild" disabled>Build private Space</button>
|
| 78 |
-
<p class="muted build-gate" id="buildGateText">Checking your run bucket before enabling builds…</p>
|
| 79 |
-
</div>
|
| 80 |
-
|
| 81 |
-
<section class="panel active-run-panel" id="activeRunPanel">
|
| 82 |
-
<div class="section-head compact">
|
| 83 |
-
<div><span class="panel-icon">▷</span><h2>Active Run</h2></div>
|
| 84 |
-
<span class="badge neutral" id="progressStatus">Idle</span>
|
| 85 |
-
</div>
|
| 86 |
-
|
| 87 |
-
<div class="summary-meta active-meta">
|
| 88 |
-
<div><span>Run ID</span><strong id="detailRunId">—</strong></div>
|
| 89 |
-
<div><span>Target Space</span><strong id="detailSpace">—</strong></div>
|
| 90 |
-
<div><span>Model</span><strong id="selectedModelId">—</strong></div>
|
| 91 |
-
<div><span>Current step</span><strong id="currentStep">—</strong></div>
|
| 92 |
-
<div><span>Elapsed time</span><strong id="elapsed">—</strong></div>
|
| 93 |
-
</div>
|
| 94 |
-
|
| 95 |
-
<div class="active-run-actions active-run-cancel-only">
|
| 96 |
-
<button class="secondary danger" id="cancelRun" disabled>Cancel Job</button>
|
| 97 |
-
</div>
|
| 98 |
-
|
| 99 |
-
<div class="progress-caption"><span>Overall progress</span><strong id="progressPercent">0%</strong></div>
|
| 100 |
-
<div class="progress-bar"><div id="progressFill" style="width:0%"></div></div>
|
| 101 |
-
<div class="timeline" id="timeline"></div>
|
| 102 |
-
|
| 103 |
-
<div class="manual-action" id="manualActionPanel" hidden>
|
| 104 |
-
<div>
|
| 105 |
-
<strong id="manualActionTitle">Manual hardware required</strong>
|
| 106 |
-
<p id="manualActionText">Open Space settings, choose the recommended GPU, then run Space Test.</p>
|
| 107 |
-
</div>
|
| 108 |
-
<div class="inline-actions">
|
| 109 |
-
<a class="link-btn" id="manualOpenSettings" target="_blank">Open Space settings ↗</a>
|
| 110 |
-
<button class="secondary small" id="manualGoValidate">Prefill Space Test</button>
|
| 111 |
-
</div>
|
| 112 |
-
</div>
|
| 113 |
-
|
| 114 |
-
<section class="mini-panel latest-events-card">
|
| 115 |
-
<div class="card-title-row">
|
| 116 |
-
<h4>Latest events</h4>
|
| 117 |
-
</div>
|
| 118 |
-
<div id="activityFeed" class="activity-feed"><div class="empty">No activity yet.</div></div>
|
| 119 |
-
</section>
|
| 120 |
-
</section>
|
| 121 |
-
|
| 122 |
-
<section class="panel runs-explorer-panel" id="runsExplorerPanel">
|
| 123 |
-
<div class="section-head compact">
|
| 124 |
-
<div><span class="panel-icon">☰</span><h2>Runs Explorer</h2></div>
|
| 125 |
-
</div>
|
| 126 |
-
|
| 127 |
-
<div class="search-wrap"><input id="runSearchFull" placeholder="Search runs by ID, model, or space…" /><span>⌕</span></div>
|
| 128 |
-
<div class="run-filters" id="runFilters">
|
| 129 |
-
<button class="filter active" data-status="all">All</button>
|
| 130 |
-
<button class="filter" data-status="running">Running</button>
|
| 131 |
-
<button class="filter" data-status="full_inference_success">Success</button>
|
| 132 |
-
<button class="filter" data-status="manual_hardware_required">Manual</button>
|
| 133 |
-
<button class="filter" data-status="failed">Failed</button>
|
| 134 |
-
<button class="filter" data-status="stale">Stale</button>
|
| 135 |
-
</div>
|
| 136 |
-
<div id="runsTable" class="runs-table">Loading runs…</div>
|
| 137 |
-
<div id="runsPagination" class="runs-pagination"></div>
|
| 138 |
-
|
| 139 |
-
<section class="selected-run-card">
|
| 140 |
-
<div class="section-head compact">
|
| 141 |
-
<div><span class="panel-icon">▣</span><h3>Selected run</h3></div>
|
| 142 |
-
</div>
|
| 143 |
-
<div class="detail-grid selected-grid">
|
| 144 |
-
<div><span>Run ID</span><strong id="selectedRunId">—</strong></div>
|
| 145 |
-
<div><span>Status</span><strong id="runDetailStatus">—</strong></div>
|
| 146 |
-
<div><span>Target Space</span><strong id="selectedTargetSpace">—</strong></div>
|
| 147 |
-
<div><span>Hardware</span><strong id="selectedHardware">—</strong></div>
|
| 148 |
-
<div><span>Model</span><strong id="selectedModelShort">—</strong></div>
|
| 149 |
-
<div><span>Mode</span><strong id="selectedMode">Gradio (Python)</strong></div>
|
| 150 |
-
</div>
|
| 151 |
-
<div class="quick-links selected-links-row">
|
| 152 |
-
<a class="link-btn disabled" id="selectedOpenSpace" target="_blank">Space ↗</a>
|
| 153 |
-
<a class="link-btn disabled" id="selectedOpenJob" target="_blank">Job ↗</a>
|
| 154 |
-
<a class="link-btn disabled" id="selectedOpenArtifacts" target="_blank">Artifacts ↗</a>
|
| 155 |
-
<a class="link-btn disabled" id="selectedOpenSettings" target="_blank">Settings ↗</a>
|
| 156 |
-
</div>
|
| 157 |
-
<div class="selected-actions-stack">
|
| 158 |
-
<button class="secondary full" id="selectedValidateBtn" disabled>Prefill Space Test</button>
|
| 159 |
-
<button class="secondary danger full" id="deleteSelectedRun" disabled>Delete run from bucket</button>
|
| 160 |
-
</div>
|
| 161 |
-
<div class="blockers" id="selectedBlockers" hidden></div>
|
| 162 |
-
</section>
|
| 163 |
-
</section>
|
| 164 |
-
</section>
|
| 165 |
-
|
| 166 |
-
<section class="panel space-test-panel" id="spaceTestSection">
|
| 167 |
-
<div class="space-test-grid">
|
| 168 |
-
<div>
|
| 169 |
-
<div class="section-head compact"><div><span class="panel-icon">⚗</span><h2>Space Test</h2></div></div>
|
| 170 |
-
<div class="form-grid test-top-row">
|
| 171 |
-
<label>Target Space ID<input id="validateSpace" placeholder="fffiloni/my-llama-31-8b-demo" /></label>
|
| 172 |
-
<label>API name<input id="validateApi" value="/predict" /></label>
|
| 173 |
-
<label>Expected output type<select id="expectedOutput"><option value="text">Text</option><option value="image">Image</option><option value="video">Video</option><option value="audio">Audio</option><option value="any">Any</option></select></label>
|
| 174 |
-
<label>Timeout (s)<input id="validateTimeout" value="60" /></label>
|
| 175 |
-
</div>
|
| 176 |
-
<div class="editor-grid">
|
| 177 |
-
<label>Test args (JSON)<textarea id="testArgs" rows="7">[
|
| 178 |
-
{
|
| 179 |
-
"inputs": "Explain the concept of agentic AI in one paragraph."
|
| 180 |
-
}
|
| 181 |
-
]</textarea></label>
|
| 182 |
-
<label>Test kwargs (JSON)<textarea id="testKwargs" rows="7">{
|
| 183 |
-
"max_new_tokens": 128,
|
| 184 |
-
"temperature": 0.2
|
| 185 |
-
}</textarea></label>
|
| 186 |
-
</div>
|
| 187 |
-
</div>
|
| 188 |
-
|
| 189 |
-
<div class="validation-result-card" id="spaceTestPreview">
|
| 190 |
-
<div class="validation-grid">
|
| 191 |
-
<div><span>Validation status</span><strong><span class="badge neutral" id="spaceTestStatus">Pending</span></strong></div>
|
| 192 |
-
<div><span>Latency</span><strong>—</strong></div>
|
| 193 |
-
<div><span>Validation run ID</span><strong id="spaceTestOutput">—</strong></div>
|
| 194 |
-
<div><span>Started at</span><strong id="lastPolled">—</strong></div>
|
| 195 |
-
<div><span>Verdict</span><strong id="spaceTestVerdict">pending</strong></div>
|
| 196 |
-
</div>
|
| 197 |
-
<button class="primary full" id="launchValidate">Launch validation</button>
|
| 198 |
-
</div>
|
| 199 |
-
</div>
|
| 200 |
-
</section>
|
| 201 |
-
|
| 202 |
-
<div class="support-elements" hidden>
|
| 203 |
-
<input id="runSearch" />
|
| 204 |
-
<input id="runId" />
|
| 205 |
-
<textarea id="buildGoal"></textarea>
|
| 206 |
-
<button id="refreshRuns"></button>
|
| 207 |
-
<div id="runsTableHome"></div>
|
| 208 |
-
<button id="refreshRunsHome"></button>
|
| 209 |
-
<button id="resumeLatestRunFull"></button>
|
| 210 |
-
<a id="runHeaderSpace" target="_blank"></a>
|
| 211 |
-
|
| 212 |
-
<span id="progressTitle"></span><span id="lastEvent"></span><span id="hardwarePlan"></span>
|
| 213 |
-
<span id="detailJobStatus"></span><span id="detailGateStatus"></span><span id="detailHardware"></span><span id="detailTraces"></span><span id="homeRunDetailStatus"></span>
|
| 214 |
-
<span id="selectedModelIdHidden"></span><span id="selectedHardwareHidden"></span>
|
| 215 |
-
<ul id="selectedValidation"></ul><ul id="zeroGpuChecklist"></ul><div id="statusChips"></div>
|
| 216 |
-
<div id="diagBuildStatus"></div><div id="diagBuildStep"></div>
|
| 217 |
-
<div id="issueCard"><strong id="issueTitle"></strong><p id="issueDetail"></p></div>
|
| 218 |
-
<ul id="metricsList"></ul>
|
| 219 |
-
<pre id="reportPreview"></pre><div id="artifactList"></div>
|
| 220 |
-
</div>
|
| 221 |
-
</main>
|
| 222 |
-
</div>
|
| 223 |
-
<script src="/custom-static/api.js"></script>
|
| 224 |
-
<script src="/custom-static/components.js"></script>
|
| 225 |
-
<script src="/custom-static/progress.js"></script>
|
| 226 |
-
<script src="/custom-static/runs.js"></script>
|
| 227 |
-
<script src="/custom-static/app.js"></script>
|
| 228 |
-
</body>
|
| 229 |
-
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|