UI enable/disable of installed manifest extensions via a bounded fail-safe extension-overrides.json state file. Safe boundary: no manifest edits, no asset fetches, no sidecar proxy, no extension-owned routes. /api/extensions/toggle is auth+CSRF gated; anchored _EXTENSION_ID_RE (no path traversal); atomic UTF-8 write under _EXTENSION_STATE_LOCK; 32KiB/512-id DoS bounds; disabled override suppresses asset/sidecar injection end-to-end. Nathan greenlit the extensions-phase-2 concept. Code byte-faithful from PR head 8769b4a3902e. 49 own tests pass. Co-authored-by: nesquena-hermes <agent@nesquena-hermes> Co-authored-by: santastabber <santastabber@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| architecture | ||
| images | ||
| pr-assets | ||
| pr-media | ||
| rfcs | ||
| ui-ux | ||
| advanced-chat-setup.md | ||
| CONTRACTS.md | ||
| docker.md | ||
| EXTENSIONS.md | ||
| ISSUES.md | ||
| onboarding-agent-checklist.md | ||
| onboarding.md | ||
| remote-access.md | ||
| supervisor.md | ||
| troubleshooting.md | ||
| UIUX-GUIDE.md | ||
| why-hermes.md | ||
| workspace-git.md | ||
| wsl-autostart.md | ||