feat: add safe miner control foundation

This commit is contained in:
lussierj committed 2026-08-24 20:49:28 +00:00
1 parent 6cd876b4b3
commit f5965af914
39 files changed
+2952 -491

No files matched your search

+32
View File
@@ -48,6 +48,38 @@ def miner_detail_content() -> str:
<dl class="metric-grid" id="minerTelemetryDetails"></dl>
</section>
</div>
<section class="panel miner-controls" id="minerControlsSection"
aria-labelledby="minerControlsTitle">
<div class="panel-head"><div><p class="eyebrow">Agent-routed actions</p>
<h2 id="minerControlsTitle">Controls</h2></div>
<button class="quiet-button" id="minerControlsRefresh" type="button">Refresh controls</button>
</div>
<p class="panel-copy" id="minerControlsSummary" aria-live="polite">
Loading factual capability and recent operations.
</p>
<div id="minerControlCapabilities" class="control-capability-grid"></div>
<div id="minerControlActions" class="miner-control-actions" hidden>
<button class="command-button" id="minerServiceControl" type="button" hidden></button>
<form id="minerPerformanceControl" class="performance-control" hidden>
<label for="minerPerformanceMode">Performance mode</label>
<select id="minerPerformanceMode">
<option value="low">Low</option>
<option value="normal">Normal</option>
<option value="high">High</option>
</select>
<button class="command-button" type="submit">Set mode</button>
</form>
</div>
<p id="minerControlPermission" class="permission-note" hidden>
Your account can inspect control capability and history but cannot queue controls.
</p>
<div id="minerControlResult" class="status-callout" role="status" hidden></div>
<div class="table-wrap compact-history-table">
<table><thead><tr><th>Action</th><th>Requested</th><th>Status</th>
<th>Verification</th><th>Created</th></tr></thead>
<tbody id="minerControlHistory"></tbody></table>
</div>
</section>
<section class="panel" id="minerLocationSection" aria-labelledby="minerLocationTitle">
<div class="panel-head"><div><p class="eyebrow">Physical context</p>
<h2 id="minerLocationTitle">Location</h2></div></div>