refactor: Phase 3 — split jarvis-protocols.js into 3 panel files

A single SyntaxError in the 1668-line monolith kills every panel
(proven by the apostrophe bug on 2026-06-17). Split into:

  panels/jarvis-arc.js       (608 lines) — Arc Reactor, Intel, Comms, Guardian
  panels/jarvis-agents.js    (715 lines) — Missions, Directives, Memory,
                                           Clearance, Agents tab, Sites, Vision
  panels/jarvis-assistant.js (345 lines) — Chat History, Suggestions,
                                           Mobile, Command Palette, Topo map

A parse error in any one file now fails only that group of panels.
escHtml() stays in jarvis-arc.js (loads first) and remains global.
All other dependencies (api, speak, addMessage) come from jarvis-app.js.
Version param bumped to ?v=20260617b to force Cloudflare cache miss.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-17 19:10:31 +00:00
parent 8085a113d5
commit 0b7f2d013b
5 changed files with 1674 additions and 1672 deletions
+6 -4
View File
@@ -418,10 +418,12 @@
style="position:fixed;top:-9999px;left:-9999px;width:320px;height:240px"></video>
<script data-cfasync="false" src="https://cdn.jsdelivr.net/npm/face-api.js@0.22.2/dist/face-api.min.js" crossorigin="anonymous"></script>
<script data-cfasync="false" src="assets/js/jarvis-effects.js?v=20260617"></script>
<script data-cfasync="false" src="assets/js/jarvis-overlays.js?v=20260617"></script>
<script data-cfasync="false" src="assets/js/jarvis-app.js?v=20260617"></script>
<script data-cfasync="false" src="assets/js/jarvis-protocols.js?v=20260617"></script>
<script data-cfasync="false" src="assets/js/jarvis-effects.js?v=20260617b"></script>
<script data-cfasync="false" src="assets/js/jarvis-overlays.js?v=20260617b"></script>
<script data-cfasync="false" src="assets/js/jarvis-app.js?v=20260617b"></script>
<script data-cfasync="false" src="assets/js/panels/jarvis-arc.js?v=20260617b"></script>
<script data-cfasync="false" src="assets/js/panels/jarvis-agents.js?v=20260617b"></script>
<script data-cfasync="false" src="assets/js/panels/jarvis-assistant.js?v=20260617b"></script>
<!-- VISION LIGHTBOX -->
<div id="vision-lightbox">