@quanta-intellect/vessel-browser 0.1.61 → 0.1.63

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.
@@ -1871,6 +1871,9 @@ const [settingsOpen, setSettingsOpen] = createSignal(false);
1871
1871
  const [devtoolsPanelOpen, setDevtoolsPanelOpen] = createSignal(false);
1872
1872
  let lastIpcTime = 0;
1873
1873
  const IPC_THROTTLE_MS = 8;
1874
+ function clampSidebarWidth(width) {
1875
+ return Math.max(MIN_SIDEBAR, Math.min(MAX_SIDEBAR, Math.round(width)));
1876
+ }
1874
1877
  function useUI() {
1875
1878
  return {
1876
1879
  sidebarOpen,
@@ -1885,10 +1888,7 @@ function useUI() {
1885
1888
  setSidebarWidth(result.width);
1886
1889
  },
1887
1890
  resizeSidebar: (width) => {
1888
- const clamped = Math.max(
1889
- MIN_SIDEBAR,
1890
- Math.min(MAX_SIDEBAR, Math.round(width))
1891
- );
1891
+ const clamped = clampSidebarWidth(width);
1892
1892
  setSidebarWidth(clamped);
1893
1893
  const now2 = performance.now();
1894
1894
  if (now2 - lastIpcTime >= IPC_THROTTLE_MS) {
@@ -1897,6 +1897,9 @@ function useUI() {
1897
1897
  }
1898
1898
  },
1899
1899
  commitResize: async () => {
1900
+ const finalWidth = clampSidebarWidth(sidebarWidth());
1901
+ lastIpcTime = performance.now();
1902
+ await window.vessel.ui.resizeSidebar(finalWidth);
1900
1903
  await window.vessel.ui.commitSidebarResize();
1901
1904
  },
1902
1905
  toggleFocusMode: async () => {
@@ -8084,9 +8087,9 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8084
8087
  overscroll-behavior: contain;
8085
8088
  scrollbar-gutter: stable;
8086
8089
  box-shadow:
8087
- 0 4px 24px rgba(0, 0, 0, 0.2),
8088
- 0 24px 64px rgba(0, 0, 0, 0.3),
8089
- inset 0 1px 0 rgba(255, 255, 255, 0.04);
8090
+ 0 4px 24px var(--shadow-color),
8091
+ 0 24px 64px var(--shadow-color-strong),
8092
+ inset 0 1px 0 var(--inset-highlight);
8090
8093
  animation: command-bar-enter 350ms var(--ease-out-expo) both;
8091
8094
  }
8092
8095
  .command-bar-overlay.closing .settings-panel {
@@ -8103,8 +8106,8 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8103
8106
  margin-bottom: 20px;
8104
8107
  padding: 14px;
8105
8108
  border-radius: var(--radius-md);
8106
- border: 1px solid rgba(224, 200, 120, 0.14);
8107
- background: rgba(224, 200, 120, 0.06);
8109
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 14%, transparent);
8110
+ background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
8108
8111
  }
8109
8112
  .settings-callout-title {
8110
8113
  font-size: 12px;
@@ -8121,9 +8124,9 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8121
8124
  }
8122
8125
  .settings-premium-callout {
8123
8126
  background:
8124
- radial-gradient(circle at top right, rgba(196, 160, 90, 0.16), transparent 40%),
8125
- rgba(224, 200, 120, 0.06);
8126
- border-color: rgba(196, 160, 90, 0.22);
8127
+ radial-gradient(circle at top right, color-mix(in srgb, var(--accent-primary) 16%, transparent), transparent 40%),
8128
+ color-mix(in srgb, var(--accent-primary) 6%, transparent);
8129
+ border-color: color-mix(in srgb, var(--accent-primary) 22%, transparent);
8127
8130
  }
8128
8131
  .settings-premium-callout-actions {
8129
8132
  display: flex;
@@ -8139,7 +8142,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8139
8142
  padding: 14px;
8140
8143
  border-radius: var(--radius-md);
8141
8144
  border: 1px solid var(--border-visible);
8142
- background: rgba(255, 255, 255, 0.015);
8145
+ background: var(--surface-glass);
8143
8146
  }
8144
8147
  .settings-health-issues {
8145
8148
  display: flex;
@@ -8152,16 +8155,16 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8152
8155
  line-height: 1.5;
8153
8156
  padding: 10px 12px;
8154
8157
  border-radius: var(--radius-md);
8155
- border: 1px solid rgba(255, 255, 255, 0.06);
8158
+ border: 1px solid var(--border-glass);
8156
8159
  color: var(--text-secondary);
8157
8160
  }
8158
8161
  .settings-health-issue.warning {
8159
- border-color: rgba(240, 198, 54, 0.28);
8160
- background: rgba(240, 198, 54, 0.06);
8162
+ border-color: color-mix(in srgb, var(--accent-primary) 28%, transparent);
8163
+ background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
8161
8164
  }
8162
8165
  .settings-health-issue.error {
8163
- border-color: rgba(255, 108, 91, 0.32);
8164
- background: rgba(255, 108, 91, 0.06);
8166
+ border-color: color-mix(in srgb, var(--status-error) 32%, transparent);
8167
+ background: color-mix(in srgb, var(--status-error) 6%, transparent);
8165
8168
  }
8166
8169
  .settings-label {
8167
8170
  display: block;
@@ -8202,7 +8205,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8202
8205
  }
8203
8206
  .settings-input:focus {
8204
8207
  border-color: var(--accent-primary);
8205
- box-shadow: 0 0 0 2px rgba(196, 160, 90, 0.1);
8208
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 10%, transparent);
8206
8209
  outline: none;
8207
8210
  }
8208
8211
  .settings-hint {
@@ -8231,8 +8234,8 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8231
8234
  width: 36px;
8232
8235
  height: 20px;
8233
8236
  border-radius: 999px;
8234
- background: rgba(255, 255, 255, 0.1);
8235
- border: 1px solid rgba(255, 255, 255, 0.06);
8237
+ background: var(--surface-hover);
8238
+ border: 1px solid var(--border-glass);
8236
8239
  padding: 0;
8237
8240
  flex-shrink: 0;
8238
8241
  cursor: pointer;
@@ -8241,14 +8244,14 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8241
8244
  border-color var(--duration-normal) var(--ease-in-out);
8242
8245
  }
8243
8246
  .toggle-switch:hover {
8244
- background: rgba(255, 255, 255, 0.14);
8247
+ background: var(--surface-active);
8245
8248
  }
8246
8249
  .toggle-switch.on {
8247
8250
  background: var(--accent-primary);
8248
8251
  border-color: transparent;
8249
8252
  }
8250
8253
  .toggle-switch.on:hover {
8251
- background: #d4b06a;
8254
+ background: color-mix(in srgb, var(--accent-primary) 85%, white);
8252
8255
  }
8253
8256
  .toggle-switch-thumb {
8254
8257
  position: absolute;
@@ -8258,7 +8261,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8258
8261
  height: 14px;
8259
8262
  border-radius: 999px;
8260
8263
  background: var(--text-primary);
8261
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
8264
+ box-shadow: 0 1px 3px var(--shadow-color-strong);
8262
8265
  transition: transform var(--duration-normal) var(--ease-out-expo);
8263
8266
  pointer-events: none;
8264
8267
  }
@@ -8271,10 +8274,10 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8271
8274
  line-height: 1.5;
8272
8275
  }
8273
8276
  .settings-status.success {
8274
- color: #84d19a;
8277
+ color: var(--status-success);
8275
8278
  }
8276
8279
  .settings-status.error {
8277
- color: #ff8e8e;
8280
+ color: var(--status-error);
8278
8281
  }
8279
8282
  .settings-save, .settings-close {
8280
8283
  height: 34px;
@@ -8291,9 +8294,9 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8291
8294
  }
8292
8295
  .settings-save {
8293
8296
  background: var(--accent-primary);
8294
- color: white;
8297
+ color: var(--button-primary-fg);
8295
8298
  }
8296
- .settings-save:hover { background: #d4b06a; }
8299
+ .settings-save:hover { background: var(--button-primary-hover-bg); }
8297
8300
  .settings-close {
8298
8301
  background: var(--bg-tertiary);
8299
8302
  color: var(--text-secondary);
@@ -8384,11 +8387,11 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8384
8387
  }
8385
8388
  .premium-btn-upgrade {
8386
8389
  background: var(--accent-primary);
8387
- color: white;
8390
+ color: var(--button-primary-fg);
8388
8391
  width: 100%;
8389
8392
  }
8390
8393
  .premium-btn-upgrade:hover {
8391
- background: #d4b06a;
8394
+ background: var(--button-primary-hover-bg);
8392
8395
  }
8393
8396
  .premium-btn-manage {
8394
8397
  background: var(--bg-tertiary);
@@ -8404,8 +8407,8 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8404
8407
  display: inline-flex;
8405
8408
  align-items: center;
8406
8409
  gap: 6px;
8407
- background: rgba(240, 198, 54, 0.15);
8408
- color: #f0c636;
8410
+ background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
8411
+ color: var(--accent-primary);
8409
8412
  font-size: 12px;
8410
8413
  font-weight: 600;
8411
8414
  padding: 4px 12px;
@@ -8424,7 +8427,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8424
8427
  }
8425
8428
  .premium-btn-reset {
8426
8429
  background: transparent;
8427
- color: var(--text-tertiary, #71717a);
8430
+ color: var(--text-muted);
8428
8431
  border: 1px solid var(--border-subtle);
8429
8432
  font-size: 11px;
8430
8433
  padding: 0 12px;
@@ -8440,8 +8443,8 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8440
8443
  margin-bottom: 20px;
8441
8444
  padding: 16px;
8442
8445
  border-radius: var(--radius-md);
8443
- border: 1px solid rgba(196, 160, 90, 0.25);
8444
- background: rgba(196, 160, 90, 0.08);
8446
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
8447
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
8445
8448
  }
8446
8449
  .welcome-banner-header {
8447
8450
  display: flex;
@@ -8468,7 +8471,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8468
8471
  justify-content: center;
8469
8472
  }
8470
8473
  .welcome-banner-dismiss:hover {
8471
- background: rgba(255, 255, 255, 0.08);
8474
+ background: var(--surface-hover);
8472
8475
  color: var(--text-primary);
8473
8476
  }
8474
8477
  .welcome-banner-text {
@@ -8496,8 +8499,8 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8496
8499
  padding: 0 5px;
8497
8500
  font-size: 11px;
8498
8501
  font-family: var(--font-mono);
8499
- background: rgba(255, 255, 255, 0.08);
8500
- border: 1px solid rgba(255, 255, 255, 0.1);
8502
+ background: var(--kbd-bg);
8503
+ border: 1px solid var(--kbd-border);
8501
8504
  border-radius: 3px;
8502
8505
  color: var(--text-primary);
8503
8506
  }
@@ -8520,8 +8523,8 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8520
8523
  display: inline-block;
8521
8524
  font-size: 10px;
8522
8525
  font-weight: 600;
8523
- color: #f0c636;
8524
- background: rgba(240, 198, 54, 0.15);
8526
+ color: var(--accent-primary);
8527
+ background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
8525
8528
  padding: 1px 6px;
8526
8529
  border-radius: 4px;
8527
8530
  margin-left: 8px;
@@ -8570,7 +8573,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8570
8573
  border-radius: 4px;
8571
8574
  background: transparent;
8572
8575
  border: none;
8573
- color: var(--text-tertiary, #71717a);
8576
+ color: var(--text-muted);
8574
8577
  font-size: 16px;
8575
8578
  cursor: pointer;
8576
8579
  display: flex;
@@ -8579,8 +8582,8 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8579
8582
  transition: background var(--duration-fast), color var(--duration-fast);
8580
8583
  }
8581
8584
  .vault-entry-remove:hover {
8582
- background: rgba(255, 108, 91, 0.12);
8583
- color: #ff8e8e;
8585
+ background: color-mix(in srgb, var(--status-error) 12%, transparent);
8586
+ color: var(--status-error);
8584
8587
  }
8585
8588
  .vault-add-btn {
8586
8589
  height: 32px;
@@ -8604,7 +8607,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
8604
8607
  flex-direction: column;
8605
8608
  gap: 8px;
8606
8609
  padding: 12px;
8607
- background: rgba(255, 255, 255, 0.02);
8610
+ background: var(--surface-glass);
8608
8611
  border: 1px solid var(--border-subtle);
8609
8612
  border-radius: var(--radius-md);
8610
8613
  }
@@ -9940,9 +9943,9 @@ var _tmpl$$1 = /* @__PURE__ */ template(`<div class=command-bar-overlay><div cla
9940
9943
  border-radius: 14px;
9941
9944
  padding: 24px;
9942
9945
  box-shadow:
9943
- 0 4px 24px rgba(0, 0, 0, 0.2),
9944
- 0 24px 64px rgba(0, 0, 0, 0.3),
9945
- inset 0 1px 0 rgba(255, 255, 255, 0.04);
9946
+ 0 4px 24px var(--shadow-color),
9947
+ 0 24px 64px var(--shadow-color-strong),
9948
+ inset 0 1px 0 var(--inset-highlight);
9946
9949
  animation: command-bar-enter 350ms var(--ease-out-expo) both;
9947
9950
  }
9948
9951
  .command-bar-overlay.closing .keyboard-help {
@@ -9967,8 +9970,8 @@ var _tmpl$$1 = /* @__PURE__ */ template(`<div class=command-bar-overlay><div cla
9967
9970
  padding: 0;
9968
9971
  }
9969
9972
  .keyboard-help-close kbd {
9970
- background: rgba(255, 255, 255, 0.06);
9971
- border: 1px solid rgba(255, 255, 255, 0.08);
9973
+ background: var(--kbd-bg);
9974
+ border: 1px solid var(--kbd-border);
9972
9975
  padding: 2px 8px;
9973
9976
  border-radius: 4px;
9974
9977
  font-size: 11px;
@@ -9976,7 +9979,7 @@ var _tmpl$$1 = /* @__PURE__ */ template(`<div class=command-bar-overlay><div cla
9976
9979
  font-family: var(--font-ui);
9977
9980
  }
9978
9981
  .keyboard-help-close:hover kbd {
9979
- background: rgba(255, 255, 255, 0.1);
9982
+ background: var(--surface-hover);
9980
9983
  color: var(--text-secondary);
9981
9984
  }
9982
9985
  .keyboard-help-grid {
@@ -9999,11 +10002,11 @@ var _tmpl$$1 = /* @__PURE__ */ template(`<div class=command-bar-overlay><div cla
9999
10002
  font-size: 11px;
10000
10003
  font-family: var(--font-mono);
10001
10004
  font-weight: 500;
10002
- background: rgba(255, 255, 255, 0.06);
10003
- border: 1px solid rgba(255, 255, 255, 0.08);
10005
+ background: var(--kbd-bg);
10006
+ border: 1px solid var(--kbd-border);
10004
10007
  border-radius: 4px;
10005
10008
  color: var(--text-primary);
10006
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
10009
+ box-shadow: 0 1px 2px var(--shadow-color);
10007
10010
  }
10008
10011
  .keyboard-help-plus {
10009
10012
  font-size: 10px;
@@ -10198,6 +10201,12 @@ const App = () => {
10198
10201
  onMount(() => {
10199
10202
  void loadAndApplyTheme();
10200
10203
  window.vessel.ui.rendererReady(view);
10204
+ const cleanupSettings = window.vessel.settings.onUpdate((settings) => {
10205
+ applyTheme(settings.theme ?? "dark");
10206
+ });
10207
+ onCleanup(() => {
10208
+ cleanupSettings();
10209
+ });
10201
10210
  if (view !== "chrome") return;
10202
10211
  const cleanupKeys = setupKeybindings({
10203
10212
  openCommandBar,
@@ -10216,13 +10225,9 @@ const App = () => {
10216
10225
  toggleKeyboardHelp: () => setKeyboardHelpOpen((v) => !v)
10217
10226
  });
10218
10227
  const cleanupCapture = window.vessel.highlights.onCaptureResult(showHighlightResult);
10219
- const cleanupSettings = window.vessel.settings.onUpdate((settings) => {
10220
- applyTheme(settings.theme ?? "dark");
10221
- });
10222
10228
  onCleanup(() => {
10223
10229
  cleanupKeys();
10224
10230
  cleanupCapture();
10225
- cleanupSettings();
10226
10231
  });
10227
10232
  });
10228
10233
  if (view === "sidebar") {
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self' data:;" />
7
7
  <title>Vessel</title>
8
- <script type="module" crossorigin src="./assets/index-Di64dPm5.js"></script>
9
- <link rel="stylesheet" crossorigin href="./assets/index-CBe7EN_l.css">
8
+ <script type="module" crossorigin src="./assets/index-B2vPgkX2.js"></script>
9
+ <link rel="stylesheet" crossorigin href="./assets/index-4OgPv5GF.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@quanta-intellect/vessel-browser",
3
3
  "mcpName": "io.github.unmodeled-tyler/vessel-browser",
4
- "version": "0.1.61",
4
+ "version": "0.1.63",
5
5
  "description": "AI-native web browser runtime for autonomous agents with human supervision",
6
6
  "main": "./out/main/index.js",
7
7
  "bin": {