| 1 | diff --git a/internal/webui/agents_test.go b/internal/webui/agents_test.go |
| 2 | index 5f3154b..078efe7 100644 |
| 3 | --- a/internal/webui/agents_test.go |
| 4 | +++ b/internal/webui/agents_test.go |
| 5 | @@ -77,7 +77,7 @@ func TestAgentsPageRendersTableCardsActivityAndGrantForm(t *testing.T) { |
| 6 | if strings.Contains(body, "class=") { |
| 7 | t.Fatal("agents page carries a class attribute") |
| 8 | } |
| 9 | - if strings.Contains(body, "ยท") { |
| 10 | + if strings.Contains(body, "\u00b7") { |
| 11 | t.Fatal("agents page contains a middle dot") |
| 12 | } |
| 13 | for _, want := range []string{ |
| 14 | @@ -105,7 +105,7 @@ func TestAgentsPageRendersTableCardsActivityAndGrantForm(t *testing.T) { |
| 15 | `<textarea name="repos"`, |
| 16 | `<input name="expires" type="date" value="` + dateAfter(90) + `" required>`, |
| 17 | `<h4>Agents</h4><table><tr><th>active</th><td>1</td></tr><tr><th>paused</th><td>1</td></tr><tr><th>revoked</th><td>1</td></tr></table>`, |
| 18 | - `<code>/mcp</code> 2026-07-28, planned`, |
| 19 | + `<code>/mcp</code> 2026-07-28`, |
| 20 | `<rpc-form method="pauseallagents" refresh><button>Pause all agents</button></rpc-form>`, |
| 21 | `<rpc-form method="resumeallagents" refresh><button>Resume all agents</button></rpc-form>`, |
| 22 | } { |
| 23 | diff --git a/internal/webui/page.html b/internal/webui/page.html |
| 24 | index 25eab53..e2a449c 100644 |
| 25 | --- a/internal/webui/page.html |
| 26 | +++ b/internal/webui/page.html |
| 27 | @@ -124,7 +124,7 @@ |
| 28 | <section><h4>Result</h4><p><small>Each form shows its result below the form. Every call is signed by your connected signer.</small></p></section>{{end}} |
| 29 | |
| 30 | {{define "panel-agents"}}{{$counts := agentCounts .Feed}}<section><h4>Agents</h4><table><tr><th>active</th><td>{{index $counts "active"}}</td></tr><tr><th>paused</th><td>{{index $counts "paused"}}</td></tr><tr><th>revoked</th><td>{{index $counts "revoked"}}</td></tr></table></section> |
| 31 | -<section><h4>Machine access</h4><table><tr><th>mcp</th><td><code>/mcp</code> 2026-07-28, planned</td></tr><tr><th>auth</th><td>NIP-98 per request</td></tr><tr><th>rest</th><td><code>/events</code> <code>/query</code></td></tr></table></section> |
| 32 | +<section><h4>Machine access</h4><table><tr><th>mcp</th><td><code>/mcp</code> 2026-07-28</td></tr><tr><th>auth</th><td>NIP-98 per request</td></tr><tr><th>rest</th><td><code>/events</code> <code>/query</code></td></tr></table></section> |
| 33 | <section><h4>Kill switch</h4><rpc-form method="pauseallagents" refresh><button>Pause all agents</button></rpc-form><rpc-form method="resumeallagents" refresh><button>Resume all agents</button></rpc-form><p><small>Pausing keeps grants and rejects writes until resumed.</small></p></section> |
| 34 | <section><h4>Session</h4><table><tr><th>you</th><td>{{if .Actor}}{{template "nostrKey" .Actor}}{{else}}guest{{end}}</td></tr><tr><th>role</th><td>{{if .Owner}}owner{{else if .Actor}}member{{else}}none{{end}}</td></tr></table></section>{{end}} |
| 35 | |