[object Object]

← back to AbramsOS

auto-data-snapshot: 2026-09-01T14:52:01 (2 data files) — views/partials/chat.ejs views/partials/footer.ejs

b5d614e5bf5f019883389bddeb590e1d26ba35c1 · 2026-09-01 14:52:15 -0700 · auto-commit-fleet

Files touched

Diff

commit b5d614e5bf5f019883389bddeb590e1d26ba35c1
Author: auto-commit-fleet <steve@designerwallcoverings.com>
Date:   Tue Sep 1 14:52:15 2026 -0700

    auto-data-snapshot: 2026-09-01T14:52:01 (2 data files) — views/partials/chat.ejs views/partials/footer.ejs
---
 views/partials/chat.ejs   | 39 +++++++++++++++++++++++++++++++++++++++
 views/partials/footer.ejs |  2 ++
 2 files changed, 41 insertions(+)

diff --git a/views/partials/chat.ejs b/views/partials/chat.ejs
new file mode 100644
index 0000000..5a8cd2d
--- /dev/null
+++ b/views/partials/chat.ejs
@@ -0,0 +1,39 @@
+<!-- Nav-bar chat: model + agent pickers, spec cards, chat panel. Rendered on
+     every page via footer.ejs. Dynamic roster comes from /api/chat/registry. -->
+<button id="aosChatLauncher" class="aos-chat-launcher glass" aria-label="Open chat" title="Chat">💬</button>
+
+<section id="aosChatPanel" class="aos-chat-panel glass" hidden aria-label="AbramsOS chat">
+  <header class="aos-chat-head">
+    <div class="aos-chat-pickers">
+      <label class="aos-chat-field">
+        <span>Model</span>
+        <span class="aos-chat-selwrap">
+          <select id="aosChatModel"></select>
+          <button type="button" class="aos-chat-info" data-spec="model" title="Model spec">ⓘ</button>
+        </span>
+      </label>
+      <label class="aos-chat-field">
+        <span>Agent</span>
+        <span class="aos-chat-selwrap">
+          <select id="aosChatAgent"></select>
+          <button type="button" class="aos-chat-info" data-spec="agent" title="Agent spec">ⓘ</button>
+        </span>
+      </label>
+    </div>
+    <div class="aos-chat-head-right">
+      <span id="aosChatLane" class="aos-chat-lane" title="Where your data goes"></span>
+      <button type="button" id="aosChatAllSpecs" class="aos-chat-allspecs" title="All specs">All specs</button>
+      <button type="button" id="aosChatClose" class="aos-chat-close" aria-label="Close">✕</button>
+    </div>
+  </header>
+
+  <div id="aosChatSpec" class="aos-chat-spec" hidden></div>
+  <div id="aosChatRoster" class="aos-chat-roster" hidden></div>
+
+  <div id="aosChatLog" class="aos-chat-log" aria-live="polite"></div>
+
+  <form id="aosChatForm" class="aos-chat-form">
+    <textarea id="aosChatInput" rows="1" placeholder="Ask about your records…" autocomplete="off"></textarea>
+    <button type="submit" id="aosChatSend" class="aos-chat-send">Send</button>
+  </form>
+</section>
diff --git a/views/partials/footer.ejs b/views/partials/footer.ejs
index 7099435..c9f9454 100644
--- a/views/partials/footer.ejs
+++ b/views/partials/footer.ejs
@@ -5,7 +5,9 @@
   </footer>
   </div><!-- /content-wrap -->
   </div><!-- /applayout -->
+  <%- include('chat') %>
   <script src="/js/theme.js"></script>
+  <script src="/js/chat.js"></script>
   <% if (typeof gridScript !== 'undefined' && gridScript) { %>
     <script src="/js/sort-density.js"></script>
   <% } %>

← b998091 abramsos: watch loads .env so launchd corpus-refresh has GEO  ·  back to AbramsOS  ·  Add nav-bar chat: model+agent pickers, grounded RAG, PII-red d683961 →