@quanta-intellect/vessel-browser 0.1.137 → 0.1.140
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/README.md +4 -4
- package/out/main/index.js +14499 -12949
- package/out/preload/content-script.js +18 -0
- package/out/preload/index.js +4 -0
- package/out/renderer/assets/{index-CdUTXTU4.css → index-T8vlGvDJ.css} +270 -19
- package/out/renderer/assets/{index-k2scA5OB.js → index-l3uzsLbO.js} +1078 -679
- package/out/renderer/index.html +2 -2
- package/package.json +3 -3
|
@@ -2262,6 +2262,7 @@ function notifyPageDiffActivity() {
|
|
|
2262
2262
|
function startPageDiffObserver() {
|
|
2263
2263
|
if (typeof MutationObserver === "undefined") return;
|
|
2264
2264
|
if (!document.documentElement) return;
|
|
2265
|
+
if (isDocumentViewerPage()) return;
|
|
2265
2266
|
lastPageDiffSignature = getPageDiffSignature();
|
|
2266
2267
|
const observer = new MutationObserver((mutations) => {
|
|
2267
2268
|
if (mutations.every((mutation) => shouldIgnorePageDiffMutation(mutation))) {
|
|
@@ -2311,6 +2312,23 @@ function startPageDiffObserver() {
|
|
|
2311
2312
|
}
|
|
2312
2313
|
});
|
|
2313
2314
|
}
|
|
2315
|
+
function isDocumentViewerPage() {
|
|
2316
|
+
const contentType = document.contentType?.toLowerCase() || "";
|
|
2317
|
+
if (contentType.includes("application/pdf")) return true;
|
|
2318
|
+
try {
|
|
2319
|
+
const url = new URL(window.location.href);
|
|
2320
|
+
const pathname = decodeURIComponent(url.pathname).toLowerCase();
|
|
2321
|
+
if (/\.(pdf|epub|mobi|cbz|cbr)$/.test(pathname)) return true;
|
|
2322
|
+
const host = url.hostname.toLowerCase().replace(/^www\./, "");
|
|
2323
|
+
if (host === "archive.org" && /^\/(details|stream|download)\//.test(pathname)) {
|
|
2324
|
+
return true;
|
|
2325
|
+
}
|
|
2326
|
+
} catch {
|
|
2327
|
+
}
|
|
2328
|
+
return !!document.querySelector(
|
|
2329
|
+
"#BookReader, ia-bookreader, bookreader, embed[type='application/pdf'], object[type='application/pdf']"
|
|
2330
|
+
);
|
|
2331
|
+
}
|
|
2314
2332
|
const MAX_SHADOW_HOSTS = 150;
|
|
2315
2333
|
const MAX_SHADOW_DEPTH = 5;
|
|
2316
2334
|
const MAX_WALK_ELEMENTS = 1e4;
|
package/out/preload/index.js
CHANGED
|
@@ -32,6 +32,8 @@ const AutofillChannels = {
|
|
|
32
32
|
const AutomationChannels = {
|
|
33
33
|
AUTOMATION_GET_INSTALLED: "automation:get-installed",
|
|
34
34
|
AUTOMATION_INSTALL_FROM_FILE: "automation:install-from-file",
|
|
35
|
+
AUTOMATION_CREATE_FROM_TEXT: "automation:create-from-text",
|
|
36
|
+
AUTOMATION_UPDATE_FROM_TEXT: "automation:update-from-text",
|
|
35
37
|
AUTOMATION_UNINSTALL: "automation:uninstall",
|
|
36
38
|
AUTOMATION_ACTIVITY_START: "automation:activity-start",
|
|
37
39
|
AUTOMATION_ACTIVITY_CHUNK: "automation:activity-chunk",
|
|
@@ -576,6 +578,8 @@ const api = {
|
|
|
576
578
|
automation: {
|
|
577
579
|
getInstalled: () => electron.ipcRenderer.invoke(Channels.AUTOMATION_GET_INSTALLED),
|
|
578
580
|
installFromFile: () => electron.ipcRenderer.invoke(Channels.AUTOMATION_INSTALL_FROM_FILE),
|
|
581
|
+
createFromText: (source) => electron.ipcRenderer.invoke(Channels.AUTOMATION_CREATE_FROM_TEXT, source),
|
|
582
|
+
updateFromText: (id, source) => electron.ipcRenderer.invoke(Channels.AUTOMATION_UPDATE_FROM_TEXT, id, source),
|
|
579
583
|
uninstall: (id) => electron.ipcRenderer.invoke(Channels.AUTOMATION_UNINSTALL, id)
|
|
580
584
|
},
|
|
581
585
|
schedule: {
|
|
@@ -3763,6 +3763,17 @@
|
|
|
3763
3763
|
background: var(--surface-active);
|
|
3764
3764
|
}
|
|
3765
3765
|
|
|
3766
|
+
.tool-chip-failed {
|
|
3767
|
+
border-left-color: color-mix(in srgb, var(--error) 60%, transparent);
|
|
3768
|
+
background: color-mix(in srgb, var(--error) 8%, var(--surface-hover));
|
|
3769
|
+
}
|
|
3770
|
+
|
|
3771
|
+
.tool-chip-failed .tool-chip-icon,
|
|
3772
|
+
.tool-chip-failed .tool-chip-args {
|
|
3773
|
+
color: color-mix(in srgb, var(--error) 80%, var(--text-muted));
|
|
3774
|
+
opacity: 1;
|
|
3775
|
+
}
|
|
3776
|
+
|
|
3766
3777
|
.tool-chip-icon {
|
|
3767
3778
|
flex-shrink: 0;
|
|
3768
3779
|
width: 16px;
|
|
@@ -4209,8 +4220,155 @@
|
|
|
4209
4220
|
text-overflow: ellipsis;
|
|
4210
4221
|
}
|
|
4211
4222
|
|
|
4212
|
-
.
|
|
4223
|
+
.chat-command-error {
|
|
4224
|
+
display: flex;
|
|
4225
|
+
align-items: center;
|
|
4226
|
+
justify-content: space-between;
|
|
4227
|
+
gap: 8px;
|
|
4228
|
+
margin: 10px 14px 0;
|
|
4229
|
+
padding: 7px 10px;
|
|
4230
|
+
border-radius: var(--radius-sm);
|
|
4231
|
+
background: color-mix(in srgb, var(--status-warning) 10%, transparent);
|
|
4232
|
+
border: 1px solid color-mix(in srgb, var(--status-warning) 25%, transparent);
|
|
4233
|
+
color: var(--text-secondary);
|
|
4234
|
+
font-size: 11px;
|
|
4235
|
+
line-height: 1.4;
|
|
4236
|
+
}
|
|
4237
|
+
|
|
4238
|
+
.chat-command-error-dismiss {
|
|
4239
|
+
flex-shrink: 0;
|
|
4240
|
+
color: var(--text-muted);
|
|
4241
|
+
font-size: 14px;
|
|
4242
|
+
line-height: 1;
|
|
4243
|
+
padding: 0 2px;
|
|
4244
|
+
}
|
|
4245
|
+
|
|
4246
|
+
.chat-command-error-dismiss:hover {
|
|
4247
|
+
color: var(--text-primary);
|
|
4248
|
+
}
|
|
4249
|
+
|
|
4250
|
+
.chat-skill-suggestions {
|
|
4251
|
+
display: flex;
|
|
4252
|
+
flex-direction: column;
|
|
4253
|
+
gap: 4px;
|
|
4254
|
+
margin: 10px 14px 0;
|
|
4255
|
+
padding: 5px;
|
|
4256
|
+
border-radius: var(--radius-md);
|
|
4257
|
+
border: 1px solid var(--border-glass);
|
|
4258
|
+
background: var(--surface-elevated);
|
|
4259
|
+
box-shadow: var(--shadow-lg);
|
|
4260
|
+
}
|
|
4261
|
+
|
|
4262
|
+
.chat-skill-suggestion {
|
|
4263
|
+
display: flex;
|
|
4264
|
+
align-items: center;
|
|
4265
|
+
gap: 9px;
|
|
4266
|
+
width: 100%;
|
|
4267
|
+
min-height: 40px;
|
|
4268
|
+
padding: 7px 8px;
|
|
4269
|
+
border-radius: var(--radius-sm);
|
|
4270
|
+
color: var(--text-secondary);
|
|
4271
|
+
text-align: left;
|
|
4272
|
+
transition:
|
|
4273
|
+
background var(--duration-fast) var(--ease-in-out),
|
|
4274
|
+
color var(--duration-fast) var(--ease-in-out);
|
|
4275
|
+
}
|
|
4276
|
+
|
|
4277
|
+
.chat-skill-suggestion:hover,
|
|
4278
|
+
.chat-skill-suggestion.active {
|
|
4279
|
+
color: var(--text-primary);
|
|
4280
|
+
background: var(--surface-hover);
|
|
4281
|
+
}
|
|
4282
|
+
|
|
4283
|
+
.chat-skill-suggestion-command {
|
|
4284
|
+
flex-shrink: 0;
|
|
4285
|
+
min-width: 86px;
|
|
4286
|
+
max-width: 118px;
|
|
4287
|
+
overflow: hidden;
|
|
4288
|
+
text-overflow: ellipsis;
|
|
4289
|
+
white-space: nowrap;
|
|
4290
|
+
font-family: var(--font-mono, monospace);
|
|
4291
|
+
font-size: 11px;
|
|
4292
|
+
color: var(--accent-primary);
|
|
4293
|
+
}
|
|
4294
|
+
|
|
4295
|
+
.chat-skill-suggestion-body {
|
|
4296
|
+
display: flex;
|
|
4297
|
+
flex-direction: column;
|
|
4298
|
+
min-width: 0;
|
|
4299
|
+
gap: 1px;
|
|
4300
|
+
}
|
|
4301
|
+
|
|
4302
|
+
.chat-skill-suggestion-name {
|
|
4303
|
+
font-size: 11px;
|
|
4304
|
+
font-weight: 600;
|
|
4305
|
+
color: inherit;
|
|
4306
|
+
}
|
|
4307
|
+
|
|
4308
|
+
.chat-skill-suggestion-desc {
|
|
4309
|
+
font-size: 10px;
|
|
4310
|
+
color: var(--text-muted);
|
|
4311
|
+
overflow: hidden;
|
|
4312
|
+
text-overflow: ellipsis;
|
|
4313
|
+
white-space: nowrap;
|
|
4314
|
+
}
|
|
4315
|
+
|
|
4316
|
+
.sidebar-input-frame {
|
|
4213
4317
|
flex: 1;
|
|
4318
|
+
min-width: 0;
|
|
4319
|
+
position: relative;
|
|
4320
|
+
}
|
|
4321
|
+
|
|
4322
|
+
.sidebar-input-highlight {
|
|
4323
|
+
position: absolute;
|
|
4324
|
+
inset: 0;
|
|
4325
|
+
z-index: 2;
|
|
4326
|
+
pointer-events: none;
|
|
4327
|
+
box-sizing: border-box;
|
|
4328
|
+
border: 1px solid transparent;
|
|
4329
|
+
padding: 8px 12px;
|
|
4330
|
+
color: var(--text-primary);
|
|
4331
|
+
font-family: var(--font-ui);
|
|
4332
|
+
font-size: 13px;
|
|
4333
|
+
line-height: 1.4;
|
|
4334
|
+
white-space: pre-wrap;
|
|
4335
|
+
overflow: hidden;
|
|
4336
|
+
overflow-wrap: anywhere;
|
|
4337
|
+
}
|
|
4338
|
+
|
|
4339
|
+
.sidebar-input-highlight-command {
|
|
4340
|
+
color: #f4c542;
|
|
4341
|
+
font-weight: 600;
|
|
4342
|
+
background: linear-gradient(100deg, #f0b429 0%, #fff3a3 45%, #f4c542 70%);
|
|
4343
|
+
background-size: 220% 100%;
|
|
4344
|
+
background-position: 100% 0;
|
|
4345
|
+
-webkit-background-clip: text;
|
|
4346
|
+
background-clip: text;
|
|
4347
|
+
-webkit-text-fill-color: transparent;
|
|
4348
|
+
animation: skill-command-shimmer 1.9s ease-in-out infinite;
|
|
4349
|
+
}
|
|
4350
|
+
|
|
4351
|
+
@keyframes skill-command-shimmer {
|
|
4352
|
+
0%,
|
|
4353
|
+
42% {
|
|
4354
|
+
background-position: 100% 0;
|
|
4355
|
+
}
|
|
4356
|
+
|
|
4357
|
+
100% {
|
|
4358
|
+
background-position: -120% 0;
|
|
4359
|
+
}
|
|
4360
|
+
}
|
|
4361
|
+
|
|
4362
|
+
@media (prefers-reduced-motion: reduce) {
|
|
4363
|
+
.sidebar-input-highlight-command {
|
|
4364
|
+
animation: none;
|
|
4365
|
+
background: none;
|
|
4366
|
+
-webkit-text-fill-color: #f4c542;
|
|
4367
|
+
}
|
|
4368
|
+
}
|
|
4369
|
+
|
|
4370
|
+
.sidebar-input {
|
|
4371
|
+
width: 100%;
|
|
4214
4372
|
background: var(--bg-tertiary);
|
|
4215
4373
|
border: 1px solid var(--border-subtle);
|
|
4216
4374
|
border-radius: var(--radius-md);
|
|
@@ -4222,12 +4380,21 @@
|
|
|
4222
4380
|
line-height: 1.4;
|
|
4223
4381
|
}
|
|
4224
4382
|
|
|
4383
|
+
.sidebar-input.skill-command-registered {
|
|
4384
|
+
color: transparent;
|
|
4385
|
+
caret-color: var(--text-primary);
|
|
4386
|
+
}
|
|
4387
|
+
|
|
4225
4388
|
.sidebar-input:focus {
|
|
4226
4389
|
border-color: var(--accent-primary);
|
|
4227
4390
|
outline: none;
|
|
4228
4391
|
box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 10%, transparent);
|
|
4229
4392
|
}
|
|
4230
4393
|
|
|
4394
|
+
.sidebar-input.skill-command-registered:focus {
|
|
4395
|
+
color: transparent;
|
|
4396
|
+
}
|
|
4397
|
+
|
|
4231
4398
|
.sidebar-input::placeholder {
|
|
4232
4399
|
color: var(--text-muted);
|
|
4233
4400
|
}
|
|
@@ -4525,7 +4692,7 @@
|
|
|
4525
4692
|
}
|
|
4526
4693
|
|
|
4527
4694
|
/* ═══════════════════════════════════════
|
|
4528
|
-
|
|
4695
|
+
Skills panel
|
|
4529
4696
|
═══════════════════════════════════════ */
|
|
4530
4697
|
|
|
4531
4698
|
.automation-panel {
|
|
@@ -4554,21 +4721,6 @@
|
|
|
4554
4721
|
gap: 8px;
|
|
4555
4722
|
}
|
|
4556
4723
|
|
|
4557
|
-
.kit-beta-tag {
|
|
4558
|
-
font-size: 9px;
|
|
4559
|
-
font-weight: 600;
|
|
4560
|
-
letter-spacing: 0.08em;
|
|
4561
|
-
text-transform: uppercase;
|
|
4562
|
-
color: var(--accent-primary);
|
|
4563
|
-
background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
|
|
4564
|
-
border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
|
|
4565
|
-
border-radius: 4px;
|
|
4566
|
-
padding: 1px 5px;
|
|
4567
|
-
vertical-align: middle;
|
|
4568
|
-
position: relative;
|
|
4569
|
-
top: -1px;
|
|
4570
|
-
}
|
|
4571
|
-
|
|
4572
4724
|
.kit-list-count {
|
|
4573
4725
|
font-size: 10px;
|
|
4574
4726
|
font-weight: 600;
|
|
@@ -4578,6 +4730,10 @@
|
|
|
4578
4730
|
}
|
|
4579
4731
|
|
|
4580
4732
|
.kit-install-btn {
|
|
4733
|
+
display: inline-flex;
|
|
4734
|
+
align-items: center;
|
|
4735
|
+
justify-content: center;
|
|
4736
|
+
gap: 5px;
|
|
4581
4737
|
height: 22px;
|
|
4582
4738
|
padding: 0 8px;
|
|
4583
4739
|
border-radius: var(--radius-sm);
|
|
@@ -4632,6 +4788,96 @@
|
|
|
4632
4788
|
gap: 6px;
|
|
4633
4789
|
}
|
|
4634
4790
|
|
|
4791
|
+
.kit-empty-state {
|
|
4792
|
+
display: flex;
|
|
4793
|
+
flex-direction: column;
|
|
4794
|
+
align-items: center;
|
|
4795
|
+
gap: 8px;
|
|
4796
|
+
padding: 22px 14px 20px;
|
|
4797
|
+
border-radius: var(--radius-md);
|
|
4798
|
+
background: var(--surface-elevated);
|
|
4799
|
+
border: 1px dashed var(--border-glass);
|
|
4800
|
+
text-align: center;
|
|
4801
|
+
}
|
|
4802
|
+
|
|
4803
|
+
.kit-empty-title {
|
|
4804
|
+
font-size: 12px;
|
|
4805
|
+
font-weight: 600;
|
|
4806
|
+
color: var(--text-primary);
|
|
4807
|
+
}
|
|
4808
|
+
|
|
4809
|
+
.kit-empty-copy {
|
|
4810
|
+
max-width: 220px;
|
|
4811
|
+
margin: 0;
|
|
4812
|
+
font-size: 11px;
|
|
4813
|
+
line-height: 1.5;
|
|
4814
|
+
color: var(--text-secondary);
|
|
4815
|
+
}
|
|
4816
|
+
|
|
4817
|
+
.kit-empty-actions {
|
|
4818
|
+
display: flex;
|
|
4819
|
+
align-items: center;
|
|
4820
|
+
gap: 8px;
|
|
4821
|
+
margin-top: 2px;
|
|
4822
|
+
}
|
|
4823
|
+
|
|
4824
|
+
.kit-create-panel {
|
|
4825
|
+
display: flex;
|
|
4826
|
+
flex-direction: column;
|
|
4827
|
+
gap: 8px;
|
|
4828
|
+
padding: 10px;
|
|
4829
|
+
border-radius: var(--radius-md);
|
|
4830
|
+
background: var(--surface-elevated);
|
|
4831
|
+
border: 1px solid var(--border-glass);
|
|
4832
|
+
}
|
|
4833
|
+
|
|
4834
|
+
.kit-create-header {
|
|
4835
|
+
display: flex;
|
|
4836
|
+
align-items: center;
|
|
4837
|
+
justify-content: space-between;
|
|
4838
|
+
gap: 8px;
|
|
4839
|
+
}
|
|
4840
|
+
|
|
4841
|
+
.kit-create-title {
|
|
4842
|
+
font-size: 12px;
|
|
4843
|
+
font-weight: 600;
|
|
4844
|
+
color: var(--text-primary);
|
|
4845
|
+
}
|
|
4846
|
+
|
|
4847
|
+
.kit-create-textarea {
|
|
4848
|
+
width: 100%;
|
|
4849
|
+
min-height: 220px;
|
|
4850
|
+
resize: vertical;
|
|
4851
|
+
padding: 9px 10px;
|
|
4852
|
+
border-radius: var(--radius-sm);
|
|
4853
|
+
border: 1px solid var(--border-glass);
|
|
4854
|
+
background: var(--surface-base);
|
|
4855
|
+
color: var(--text-primary);
|
|
4856
|
+
font-family: var(--font-mono, monospace);
|
|
4857
|
+
font-size: 11px;
|
|
4858
|
+
line-height: 1.45;
|
|
4859
|
+
outline: none;
|
|
4860
|
+
transition:
|
|
4861
|
+
border-color var(--duration-fast) var(--ease-in-out),
|
|
4862
|
+
background var(--duration-fast) var(--ease-in-out);
|
|
4863
|
+
}
|
|
4864
|
+
|
|
4865
|
+
.kit-create-textarea:focus {
|
|
4866
|
+
border-color: color-mix(in srgb, var(--accent-primary) 35%, transparent);
|
|
4867
|
+
background: var(--surface-hover);
|
|
4868
|
+
}
|
|
4869
|
+
|
|
4870
|
+
.kit-create-actions {
|
|
4871
|
+
display: flex;
|
|
4872
|
+
justify-content: flex-end;
|
|
4873
|
+
gap: 8px;
|
|
4874
|
+
}
|
|
4875
|
+
|
|
4876
|
+
.kit-create-save {
|
|
4877
|
+
height: 28px;
|
|
4878
|
+
padding: 0 10px;
|
|
4879
|
+
}
|
|
4880
|
+
|
|
4635
4881
|
.kit-card {
|
|
4636
4882
|
display: flex;
|
|
4637
4883
|
align-items: flex-start;
|
|
@@ -4711,13 +4957,12 @@
|
|
|
4711
4957
|
color: var(--accent-primary);
|
|
4712
4958
|
}
|
|
4713
4959
|
|
|
4960
|
+
.kit-card-action-btn,
|
|
4714
4961
|
.kit-remove-btn {
|
|
4715
4962
|
flex-shrink: 0;
|
|
4716
4963
|
width: 20px;
|
|
4717
4964
|
height: 20px;
|
|
4718
4965
|
border-radius: var(--radius-sm);
|
|
4719
|
-
font-size: 15px;
|
|
4720
|
-
line-height: 1;
|
|
4721
4966
|
color: var(--text-muted);
|
|
4722
4967
|
background: transparent;
|
|
4723
4968
|
border: 1px solid transparent;
|
|
@@ -4730,6 +4975,12 @@
|
|
|
4730
4975
|
border-color var(--duration-fast) var(--ease-in-out);
|
|
4731
4976
|
}
|
|
4732
4977
|
|
|
4978
|
+
.kit-card-action-btn:hover {
|
|
4979
|
+
background: var(--surface-hover);
|
|
4980
|
+
border-color: var(--border-glass);
|
|
4981
|
+
color: var(--text-primary);
|
|
4982
|
+
}
|
|
4983
|
+
|
|
4733
4984
|
.kit-remove-btn:hover {
|
|
4734
4985
|
background: color-mix(in srgb, var(--status-error) 10%, transparent);
|
|
4735
4986
|
border-color: color-mix(in srgb, var(--status-error) 20%, transparent);
|