Changeset 0.21.3 (#89)

This commit is contained in:
2026-03-01 18:20:01 +00:00
parent c5159538ce
commit bbbbe65bfa
10 changed files with 1098 additions and 23 deletions

View File

@@ -72,12 +72,17 @@
</div>
</div>
<!-- Mode Selector (shown when ≥1 extension surface registered) -->
<div class="mode-selector" id="modeSelectorWrap" style="display:none"></div>
<div data-surface-region="sidebar-content">
<div class="sidebar-search" id="sidebarSearch">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
<input type="text" id="chatSearchInput" placeholder="Search chats…" autocomplete="off">
<button class="sidebar-search-clear" id="chatSearchClear" title="Clear"></button>
</div>
<div class="sidebar-chats" id="chatHistory"></div>
</div><!-- /sidebar-content region -->
<!-- Notes shortcut -->
<div class="sidebar-notes-btn">
@@ -124,7 +129,7 @@
<!-- Main Chat Area -->
<main class="chat-area">
<div class="model-bar">
<div class="model-bar" data-surface-region="surface-header">
<button class="mobile-menu-btn" id="mobileMenuBtn" title="Menu">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
</button>
@@ -150,7 +155,7 @@
</div>
</div>
<div class="messages" id="chatMessages">
<div class="messages" id="chatMessages" data-surface-region="surface-main">
<div class="empty-state">
<div class="empty-logo"><img src="favicon-256.png" class="empty-logo-img" alt=""></div>
<h2>Chat Switchboard</h2>
@@ -158,7 +163,7 @@
</div>
</div>
<div class="input-area">
<div class="input-area" data-surface-region="surface-footer">
<div class="context-warning" id="contextWarning" style="display:none">
<span class="context-warning-icon">⚠️</span>
<span class="context-warning-text" id="contextWarningText"></span>
@@ -1065,6 +1070,7 @@
<button class="debug-tab active" data-tab="console" onclick="switchDebugTab('console')">Console (<span id="debugConsoleCount">0</span>)</button>
<button class="debug-tab" data-tab="network" onclick="switchDebugTab('network')">Network (<span id="debugNetworkCount">0</span>)</button>
<button class="debug-tab" data-tab="state" onclick="switchDebugTab('state')">State</button>
<button class="debug-tab" data-tab="repl" onclick="switchDebugTab('repl')">REPL</button>
</div>
<div class="modal-body debug-modal-body">
<div class="debug-tab-content" id="debugConsoleTab">
@@ -1076,6 +1082,18 @@
</div>
<div class="debug-tab-content" id="debugNetworkTab" style="display:none"><div id="debugNetworkContent" class="debug-content"></div></div>
<div class="debug-tab-content" id="debugStateTab" style="display:none"><div id="debugStateContent" class="debug-content"></div></div>
<div class="debug-tab-content" id="debugReplTab" style="display:none">
<div class="repl-toolbar">
<button class="btn-small" onclick="REPL.clear()" title="Clear output">Clear</button>
<button class="btn-small" onclick="REPL.copyOutput()" title="Copy output">Copy</button>
<button class="btn-small" onclick="REPL.showHelp()" title="Show help">Help</button>
</div>
<div class="repl-output" id="replOutput"></div>
<div class="repl-input-wrap">
<span class="repl-prompt">&gt;</span>
<textarea class="repl-input" id="replInput" placeholder="Enter expression… (Shift+Enter for newline)" rows="1" spellcheck="false"></textarea>
</div>
</div>
</div>
<div class="modal-footer debug-footer">
<button class="btn-primary btn-small" onclick="runDebugDiagnostics()">Diagnostics</button>
@@ -1157,7 +1175,9 @@
<script src="vendor/codemirror/codemirror.bundle.js?v=%%APP_VERSION%%" onerror="console.warn('[CM6] Bundle not available — falling back to textarea')"></script>
<script src="js/debug.js?v=%%APP_VERSION%%"></script>
<script src="js/repl.js?v=%%APP_VERSION%%"></script>
<script src="js/events.js?v=%%APP_VERSION%%"></script>
<script src="js/surfaces.js?v=%%APP_VERSION%%"></script>
<script src="js/extensions.js?v=%%APP_VERSION%%"></script>
<script src="js/api.js?v=%%APP_VERSION%%"></script>
<script src="js/panels.js?v=%%APP_VERSION%%"></script>