@firstpick/pi-package-webui 0.3.9 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/public/index.html CHANGED
@@ -12,7 +12,7 @@
12
12
  <link rel="manifest" href="/manifest.webmanifest" />
13
13
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
14
14
  <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
15
- <link rel="stylesheet" href="/styles.css?v=43" />
15
+ <link rel="stylesheet" href="/styles.css?v=50" />
16
16
  </head>
17
17
  <body>
18
18
  <button id="sidePanelExpandButton" class="side-panel-expand-button" type="button" aria-controls="sidePanel" aria-expanded="false" aria-label="Expand side panel" title="Expand side panel">
@@ -71,9 +71,19 @@
71
71
  </div>
72
72
  </div>
73
73
  </div>
74
+ <button id="commandPaletteButton" class="terminal-command-palette-button" type="button" title="Open command palette (Ctrl/Cmd+K)" aria-label="Open command palette" data-tooltip="Command palette:&#10;• Search and run actions, slash commands, models, and tabs.&#10;• Shortcut: Ctrl/Cmd+K."><svg class="composer-icon command-palette-launcher-icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M5 7.5h14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"/><path d="M5 12h9" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"/><path d="M5 16.5h5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"/><path d="M17 14.5 19.5 17 17 19.5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
75
+ <button id="workspaceDashboardToggleButton" class="terminal-dashboard-button" type="button" aria-controls="workspaceDashboard" aria-expanded="false" title="Show workspace overview" aria-label="Show workspace overview" data-tooltip="Workspace overview:&#10;• Shows current tab, cwd, model, context, session, and queue.&#10;• Opens common workspace/session actions from one place."><svg class="composer-icon workspace-overview-icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 11.4 12 4l8 7.4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.5 10.5V20h11v-9.5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 20v-5h4v5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
74
76
  <button id="closeAllTabsButton" class="terminal-close-all-button" type="button" title="Close all terminal tabs">Close all Tabs</button>
75
77
  </header>
78
+ <section id="workspaceDashboard" class="workspace-dashboard" aria-label="Workspace dashboard"></section>
76
79
  <div id="widgetArea" class="widget-area"></div>
80
+ <div id="chatSearchBar" class="chat-search-bar" role="search" hidden>
81
+ <input id="chatSearchInput" class="chat-search-input" type="search" placeholder="Search transcript…" autocomplete="off" spellcheck="false" aria-label="Search transcript" />
82
+ <span id="chatSearchCount" class="chat-search-count muted" aria-live="polite"></span>
83
+ <button id="chatSearchPrevButton" class="chat-search-button" type="button" aria-label="Previous match" title="Previous match (Shift+Enter)">↑</button>
84
+ <button id="chatSearchNextButton" class="chat-search-button" type="button" aria-label="Next match" title="Next match (Enter)">↓</button>
85
+ <button id="chatSearchCloseButton" class="chat-search-button" type="button" aria-label="Close search" title="Close (Escape)">✕</button>
86
+ </div>
77
87
  <div id="chat" class="chat" aria-live="polite">
78
88
  <button id="stickyUserPromptButton" class="sticky-user-prompt-button" type="button" aria-controls="chat" hidden></button>
79
89
  </div>
@@ -83,10 +93,11 @@
83
93
  </div>
84
94
  <button id="jumpToLatestButton" class="jump-to-latest-button" type="button" hidden>Latest ↓</button>
85
95
  <div id="statusBar" class="statusbar" aria-live="polite"></div>
96
+ <section id="contextMeterBar" class="context-meter-bar" aria-live="polite"></section>
86
97
  <section id="gitWorkflowPanel" class="git-workflow-panel" aria-live="polite" hidden>
87
98
  <div class="git-workflow-header">
88
99
  <div>
89
- <span class="git-workflow-kicker">Git workflow</span>
100
+ <span id="gitWorkflowKicker" class="git-workflow-kicker">Git workflow</span>
90
101
  <strong id="gitWorkflowTitle">Ready</strong>
91
102
  <p id="gitWorkflowHint" class="muted">Stage changes, generate a commit message, commit, and push.</p>
92
103
  </div>
@@ -199,12 +210,18 @@
199
210
  aria-haspopup="menu"
200
211
  aria-expanded="false"
201
212
  aria-controls="optionsMenu"
202
- data-tooltip="Options: resume, reload, name, clone, settings, export, fork, or tree."
213
+ data-tooltip="Options: command palette, resume, reload, name, clone, settings, export, fork, or tree."
203
214
  ><svg class="composer-icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 7h16M4 12h16M4 17h16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"/><circle cx="8" cy="7" r="1.6" fill="currentColor"/><circle cx="16" cy="12" r="1.6" fill="currentColor"/><circle cx="11" cy="17" r="1.6" fill="currentColor"/></svg></button>
204
215
  <div id="optionsMenu" class="composer-publish-menu-panel composer-options-menu-panel" role="menu" aria-label="Common Pi options">
216
+ <button id="optionsCommandPaletteButton" class="composer-publish-menu-item composer-options-menu-item" type="button" role="menuitem">
217
+ <span>Command Palette</span>
218
+ </button>
205
219
  <button id="optionsTreeButton" class="composer-publish-menu-item composer-options-menu-item" type="button" role="menuitem" data-command="/tree">
206
220
  <span>Tree</span>
207
221
  </button>
222
+ <button id="optionsStatsButton" class="composer-publish-menu-item composer-options-menu-item" type="button" role="menuitem" data-command="/stats-webui" hidden>
223
+ <span>Stats Dashboard</span>
224
+ </button>
208
225
  <button id="optionsForkButton" class="composer-publish-menu-item composer-options-menu-item" type="button" role="menuitem" data-command="/fork">
209
226
  <span>Fork</span>
210
227
  </button>
@@ -513,6 +530,34 @@
513
530
  </form>
514
531
  </dialog>
515
532
 
533
+ <dialog id="statsOverlayDialog" class="extension-dialog stats-overlay-dialog">
534
+ <form method="dialog">
535
+ <div class="stats-overlay-header">
536
+ <div>
537
+ <span class="stats-overlay-kicker">Pi stats</span>
538
+ <h2>Usage dashboard</h2>
539
+ <p id="statsOverlaySubtitle" class="muted">Run stats to load the browser dashboard.</p>
540
+ </div>
541
+ <div class="stats-overlay-controls">
542
+ <label for="statsOverlayScope">Range</label>
543
+ <select id="statsOverlayScope" title="Stats range" aria-label="Stats range">
544
+ <option value="14">14 days</option>
545
+ <option value="30">30 days</option>
546
+ <option value="90">90 days</option>
547
+ <option value="custom">Custom…</option>
548
+ <option value="all">All</option>
549
+ </select>
550
+ <input id="statsOverlayCustomDays" class="stats-overlay-custom-days" type="number" min="1" max="3650" step="1" value="14" aria-label="Custom stats range in days" hidden />
551
+ <button id="statsOverlayRefreshButton" type="button">Refresh</button>
552
+ <button id="statsOverlayCloseButton" class="stats-overlay-close-button" type="button" aria-label="Close stats dashboard">Close</button>
553
+ </div>
554
+ </div>
555
+ <p id="statsOverlayStatus" class="stats-overlay-status muted" role="status" aria-live="polite" hidden></p>
556
+ <div id="statsOverlayTabs" class="stats-overlay-tabs" role="tablist" aria-label="Stats dashboard views"></div>
557
+ <div id="statsOverlayBody" class="stats-overlay-body"></div>
558
+ </form>
559
+ </dialog>
560
+
516
561
  <dialog id="pathPickerDialog" class="extension-dialog path-picker-dialog">
517
562
  <form method="dialog">
518
563
  <h2 id="pathPickerTitle">Choose working directory</h2>
@@ -540,6 +585,35 @@
540
585
  </form>
541
586
  </dialog>
542
587
 
588
+ <dialog id="commandPaletteDialog" class="extension-dialog command-palette-dialog">
589
+ <form method="dialog">
590
+ <div class="command-palette-header">
591
+ <div>
592
+ <span class="command-palette-kicker">Quick launcher</span>
593
+ <h2>Command palette</h2>
594
+ </div>
595
+ <span class="command-palette-shortcut">Ctrl/Cmd+K</span>
596
+ </div>
597
+ <input id="commandPaletteInput" class="dialog-input command-palette-input" type="search" autocomplete="off" spellcheck="false" placeholder="Search commands, tabs, models, sessions…" aria-label="Search command palette" />
598
+ <div id="commandPaletteList" class="command-palette-list" role="listbox" aria-label="Command palette results"></div>
599
+ <p id="commandPaletteHint" class="command-palette-hint muted">Use ↑/↓ then Enter. Escape closes.</p>
600
+ </form>
601
+ </dialog>
602
+
603
+ <dialog id="editRetryDialog" class="extension-dialog edit-retry-dialog">
604
+ <form method="dialog">
605
+ <h2>Edit &amp; retry from here</h2>
606
+ <p id="editRetryMessage" class="muted">Fork the session from this user message, optionally edit it, then run the new prompt.</p>
607
+ <textarea id="editRetryText" class="dialog-editor edit-retry-text" spellcheck="true" aria-label="Edited prompt"></textarea>
608
+ <p id="editRetryStatus" class="edit-retry-status muted" role="status" aria-live="polite"></p>
609
+ <menu>
610
+ <button id="editRetryCancelButton" type="button">Cancel</button>
611
+ <button id="editRetryForkButton" type="button">Fork only</button>
612
+ <button id="editRetrySendButton" class="primary" type="button">Fork &amp; run</button>
613
+ </menu>
614
+ </form>
615
+ </dialog>
616
+
543
617
  <dialog id="nativeCommandDialog" class="extension-dialog native-command-dialog">
544
618
  <form method="dialog">
545
619
  <h2 id="nativeCommandTitle">Pi command</h2>
@@ -616,6 +690,6 @@
616
690
  </form>
617
691
  </dialog>
618
692
 
619
- <script type="module" src="/app.js?v=43"></script>
693
+ <script type="module" src="/app.js?v=50"></script>
620
694
  </body>
621
695
  </html>
@@ -1,4 +1,4 @@
1
- const CACHE_NAME = "pi-webui-pwa-v26";
1
+ const CACHE_NAME = "pi-webui-pwa-v27";
2
2
  const APP_SHELL = [
3
3
  "/",
4
4
  "/index.html",