@quanta-intellect/vessel-browser 0.1.90 → 0.1.94

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.
@@ -53,6 +53,7 @@ const Channels = {
53
53
  SETTINGS_UPDATE: "settings:update",
54
54
  SETTINGS_HEALTH_GET: "settings:health:get",
55
55
  SETTINGS_HEALTH_UPDATE: "settings:health:update",
56
+ MCP_REGENERATE_TOKEN: "mcp:regenerate-token",
56
57
  // Bookmarks
57
58
  BOOKMARKS_GET: "bookmarks:get",
58
59
  BOOKMARKS_UPDATE: "bookmarks:update",
@@ -133,6 +134,11 @@ const Channels = {
133
134
  DOWNLOAD_STARTED: "download:started",
134
135
  DOWNLOAD_PROGRESS: "download:progress",
135
136
  DOWNLOAD_DONE: "download:done",
137
+ DOWNLOADS_GET: "downloads:get",
138
+ DOWNLOADS_CLEAR: "downloads:clear",
139
+ DOWNLOADS_OPEN: "downloads:open",
140
+ DOWNLOADS_SHOW_IN_FOLDER: "downloads:show-in-folder",
141
+ DOWNLOADS_UPDATE: "downloads:update",
136
142
  // Premium
137
143
  PREMIUM_GET_STATE: "premium:get-state",
138
144
  PREMIUM_ACTIVATION_START: "premium:activation-start",
@@ -192,7 +198,14 @@ const Channels = {
192
198
  CODEX_START_AUTH: "codex:start-auth",
193
199
  CODEX_CANCEL_AUTH: "codex:cancel-auth",
194
200
  CODEX_AUTH_STATUS: "codex:auth-status",
195
- CODEX_DISCONNECT: "codex:disconnect"
201
+ CODEX_DISCONNECT: "codex:disconnect",
202
+ // Updates
203
+ UPDATES_CHECK: "updates:check",
204
+ UPDATES_OPEN_DOWNLOAD: "updates:open-download",
205
+ // Permissions
206
+ PERMISSIONS_GET: "permissions:get",
207
+ PERMISSIONS_CLEAR: "permissions:clear",
208
+ PERMISSIONS_CLEAR_ORIGIN: "permissions:clear-origin"
196
209
  };
197
210
  const api = {
198
211
  tabs: {
@@ -336,6 +349,7 @@ const api = {
336
349
  settings: {
337
350
  get: () => electron.ipcRenderer.invoke(Channels.SETTINGS_GET),
338
351
  getHealth: () => electron.ipcRenderer.invoke(Channels.SETTINGS_HEALTH_GET),
352
+ regenerateMcpToken: () => electron.ipcRenderer.invoke(Channels.MCP_REGENERATE_TOKEN),
339
353
  onHealthUpdate: (cb) => {
340
354
  const handler = (_, health) => cb(health);
341
355
  electron.ipcRenderer.on(Channels.SETTINGS_HEALTH_UPDATE, handler);
@@ -487,6 +501,15 @@ const api = {
487
501
  fill: (profileId) => electron.ipcRenderer.invoke(Channels.AUTOFILL_FILL, profileId)
488
502
  },
489
503
  downloads: {
504
+ getAll: () => electron.ipcRenderer.invoke(Channels.DOWNLOADS_GET),
505
+ clear: () => electron.ipcRenderer.invoke(Channels.DOWNLOADS_CLEAR),
506
+ open: (id) => electron.ipcRenderer.invoke(Channels.DOWNLOADS_OPEN, id),
507
+ showInFolder: (id) => electron.ipcRenderer.invoke(Channels.DOWNLOADS_SHOW_IN_FOLDER, id),
508
+ onUpdate: (cb) => {
509
+ const handler = (_, items) => cb(items);
510
+ electron.ipcRenderer.on(Channels.DOWNLOADS_UPDATE, handler);
511
+ return () => electron.ipcRenderer.removeListener(Channels.DOWNLOADS_UPDATE, handler);
512
+ },
490
513
  onStarted: (cb) => {
491
514
  const handler = (_, info) => cb(info);
492
515
  electron.ipcRenderer.on(Channels.DOWNLOAD_STARTED, handler);
@@ -522,6 +545,15 @@ const api = {
522
545
  proceedAnyway: (tabId) => electron.ipcRenderer.invoke(Channels.SECURITY_PROCEED_ANYWAY, tabId),
523
546
  goBackToSafety: (tabId) => electron.ipcRenderer.invoke(Channels.SECURITY_GO_BACK_TO_SAFETY, tabId)
524
547
  },
548
+ updates: {
549
+ check: () => electron.ipcRenderer.invoke(Channels.UPDATES_CHECK),
550
+ openDownload: () => electron.ipcRenderer.invoke(Channels.UPDATES_OPEN_DOWNLOAD)
551
+ },
552
+ permissions: {
553
+ getAll: () => electron.ipcRenderer.invoke(Channels.PERMISSIONS_GET),
554
+ clear: () => electron.ipcRenderer.invoke(Channels.PERMISSIONS_CLEAR),
555
+ clearOrigin: (origin) => electron.ipcRenderer.invoke(Channels.PERMISSIONS_CLEAR_ORIGIN, origin)
556
+ },
525
557
  browsingData: {
526
558
  clear: (options) => electron.ipcRenderer.invoke(Channels.CLEAR_BROWSING_DATA, options),
527
559
  onOpenDialog: (cb) => {
@@ -1746,7 +1746,7 @@
1746
1746
  border: 1px solid rgba(255, 255, 255, 0.08);
1747
1747
  border-radius: 8px;
1748
1748
  padding: 12px 16px;
1749
- min-width: 220px;
1749
+ min-width: 280px;
1750
1750
  z-index: 100;
1751
1751
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
1752
1752
  }
@@ -1779,6 +1779,38 @@
1779
1779
  color: #93c5fd;
1780
1780
  }
1781
1781
 
1782
+ .security-popup-section {
1783
+ border-top: 1px solid rgba(255, 255, 255, 0.08);
1784
+ padding-top: 8px;
1785
+ margin-top: 2px;
1786
+ }
1787
+
1788
+ .security-popup-section-title {
1789
+ font-size: 11px;
1790
+ color: #9ca3af;
1791
+ text-transform: uppercase;
1792
+ letter-spacing: 0.04em;
1793
+ margin-bottom: 6px;
1794
+ }
1795
+
1796
+ .security-popup-muted {
1797
+ color: #9ca3af;
1798
+ font-size: 12px;
1799
+ margin: 0;
1800
+ }
1801
+
1802
+ .security-popup-permission-row {
1803
+ display: flex;
1804
+ justify-content: space-between;
1805
+ gap: 14px;
1806
+ font-size: 12px;
1807
+ color: #e5e7eb;
1808
+ margin: 4px 0;
1809
+ }
1810
+
1811
+ .security-popup-permission-row strong.allow { color: #86efac; }
1812
+ .security-popup-permission-row strong.deny { color: #fca5a5; }
1813
+
1782
1814
  .security-popup-actions {
1783
1815
  display: flex;
1784
1816
  gap: 8px;
@@ -1974,6 +2006,55 @@
1974
2006
  font-size: 14px;
1975
2007
  color: var(--accent-secondary);
1976
2008
  }
2009
+
2010
+ .downloads-panel {
2011
+ width: min(760px, calc(100vw - 48px));
2012
+ max-height: min(680px, calc(100vh - 48px));
2013
+ background: var(--bg-panel);
2014
+ border: 1px solid var(--border-visible);
2015
+ border-radius: var(--radius-lg);
2016
+ box-shadow: var(--shadow-xl);
2017
+ display: flex;
2018
+ flex-direction: column;
2019
+ overflow: hidden;
2020
+ }
2021
+
2022
+ .downloads-panel-header {
2023
+ display: flex;
2024
+ align-items: flex-start;
2025
+ justify-content: space-between;
2026
+ gap: 16px;
2027
+ padding: 18px 20px;
2028
+ border-bottom: 1px solid var(--border-subtle);
2029
+ }
2030
+
2031
+ .downloads-panel-header h2 { margin: 0 0 4px; font-size: 18px; }
2032
+ .downloads-panel-header p { margin: 0; color: var(--text-secondary); font-size: 13px; }
2033
+ .downloads-panel-actions, .downloads-row-actions { display: flex; gap: 8px; }
2034
+ .downloads-panel-actions button, .downloads-row-actions button {
2035
+ padding: 6px 10px;
2036
+ border: 1px solid var(--border-visible);
2037
+ border-radius: var(--radius-sm);
2038
+ background: var(--bg-elevated);
2039
+ color: var(--text-primary);
2040
+ cursor: pointer;
2041
+ }
2042
+ .downloads-panel-actions button:hover, .downloads-row-actions button:hover:not(:disabled) { background: var(--bg-hover); }
2043
+ .downloads-row-actions button:disabled { opacity: 0.45; cursor: not-allowed; }
2044
+ .downloads-panel-list { overflow: auto; padding: 8px; }
2045
+ .downloads-row {
2046
+ display: flex;
2047
+ justify-content: space-between;
2048
+ gap: 14px;
2049
+ padding: 12px;
2050
+ border-radius: var(--radius-md);
2051
+ border: 1px solid transparent;
2052
+ }
2053
+ .downloads-row:hover { background: var(--bg-elevated); border-color: var(--border-subtle); }
2054
+ .downloads-file { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
2055
+ .downloads-file strong, .downloads-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2056
+ .downloads-file span, .downloads-file small, .downloads-empty { color: var(--text-secondary); font-size: 12px; }
2057
+ .downloads-empty { padding: 28px; text-align: center; }
1977
2058
  /* ═══════════════════════════════════════
1978
2059
  Command bar overlay — cinematic entrance
1979
2060
  ═══════════════════════════════════════ */