@quanta-intellect/vessel-browser 0.1.25 → 0.1.27
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 +20 -6
- package/out/main/index.js +252 -103
- package/out/preload/index.js +2 -0
- package/out/renderer/assets/{index-BynCvURs.css → index-DP2yMHwF.css} +67 -0
- package/out/renderer/assets/{index-32axMD1q.js → index-v71lXiVB.js} +656 -458
- package/out/renderer/index.html +2 -2
- package/package.json +1 -1
|
@@ -4517,7 +4517,7 @@ function renderKitPrompt(kit, values) {
|
|
|
4517
4517
|
(_, key) => values[key] ?? ""
|
|
4518
4518
|
);
|
|
4519
4519
|
}
|
|
4520
|
-
var _tmpl$$5 = /* @__PURE__ */ template(`<div class=kit-upsell><div class=kit-upsell-icon aria-hidden=true></div><p class=kit-upsell-title>Vessel Premium</p><p class=kit-upsell-body>Automation Kits are a premium feature. Upgrade to unlock pre-built workflows you can launch with one click.</p><button class="agent-primary-button kit-upsell-btn"type=button>Upgrade to Premium`), _tmpl$2$5 = /* @__PURE__ */ template(`<div class=kit-list-header><span class=agent-panel-title>Automation Kits <span class=kit-beta-tag>Beta</span></span><div class=kit-list-header-actions><span class=kit-list-count> kits</span><button class=kit-install-btn type=button title="Install a kit from a .kit.json file">+ Install`), _tmpl$3$4 = /* @__PURE__ */ template(`<div class=kit-install-error><span></span><button class=kit-install-error-dismiss type=button aria-label=Dismiss>×`), _tmpl$4$4 = /* @__PURE__ */ template(`<div class=kit-list>`), _tmpl$5$4 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Scheduled</span><span class=kit-list-count>`), _tmpl$6$4 = /* @__PURE__ */ template(`<div class=kit-sched-list>`), _tmpl$7$3 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Recent Activity</span><span class=kit-list-count>`), _tmpl$8$3 = /* @__PURE__ */ template(`<div class=kit-activity-list>`), _tmpl$9$3 = /* @__PURE__ */ template(`<div class=kit-form-header><button class=kit-back-btn type=button title="Back to kits"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M9 11L5 7l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Back</button><div class=kit-form-title>`), _tmpl$0$3 = /* @__PURE__ */ template(`<p class=kit-form-desc>`), _tmpl$1$3 = /* @__PURE__ */ template(`<div class=kit-form-fields>`), _tmpl$10$3 = /* @__PURE__ */ template(`<p class=kit-form-estimate>Estimated run time: ~<!> min`), _tmpl$11$3 = /* @__PURE__ */ template(`<button class="agent-primary-button kit-run-btn"type=button>`), _tmpl$12$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Date & time</label><input class=kit-form-input type=datetime-local>`), _tmpl$13$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time of day</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$14$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Day</label><select class=kit-form-input>`), _tmpl$15$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$16$2 = /* @__PURE__ */ template(`<p class=kit-schedule-error>`), _tmpl$17$2 = /* @__PURE__ */ template(`<div class=kit-schedule-form><div class=kit-schedule-types></div><p class=kit-schedule-note>Schedules run only while Vessel is open. Missed runs are skipped.</p><button class="agent-primary-button kit-schedule-btn"type=button>`), _tmpl$18$2 = /* @__PURE__ */ template(`<div class=kit-schedule-section><label class=kit-schedule-toggle><input type=checkbox>Schedule for later`), _tmpl$19$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Run at</label><input type=datetime-local class="kit-form-input kit-schedule-time">`), _tmpl$20$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Day</label><select class="kit-form-input kit-schedule-time">`), _tmpl$21$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Time</label><input type=time class="kit-form-input kit-schedule-time">`), _tmpl$22$2 = /* @__PURE__ */ template(`<div class=sched-edit-backdrop><div class=sched-edit-panel><div class=sched-edit-header><span class=sched-edit-title>Edit schedule</span><span class=sched-edit-job-name></span></div><div class=kit-schedule-types></div><div class=sched-edit-actions><button class=kit-back-btn type=button>Cancel</button><button class=agent-primary-button type=button>Save`), _tmpl$23$2 = /* @__PURE__ */ template(`<section class=automation-panel>`), _tmpl$24$2 = /* @__PURE__ */ template(`<div class=kit-card-meta>~<!> min`), _tmpl$25$2 = /* @__PURE__ */ template(`<button class=kit-remove-btn type=button>×`), _tmpl$26$2 = /* @__PURE__ */ template(`<div class=kit-card role=button tabindex=0><span class=kit-card-icon aria-hidden=true></span><div class=kit-card-body><div class=kit-card-name></div><div class=kit-card-desc>`), _tmpl$27$2 = /* @__PURE__ */ template(`<svg class=kit-card-caret width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M5 3l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`), _tmpl$28$
|
|
4520
|
+
var _tmpl$$5 = /* @__PURE__ */ template(`<div class=kit-upsell><div class=kit-upsell-icon aria-hidden=true></div><p class=kit-upsell-title>Vessel Premium</p><p class=kit-upsell-body>Automation Kits are a premium feature. Upgrade to unlock pre-built workflows you can launch with one click.</p><button class="agent-primary-button kit-upsell-btn"type=button>Upgrade to Premium`), _tmpl$2$5 = /* @__PURE__ */ template(`<div class=kit-list-header><span class=agent-panel-title>Automation Kits <span class=kit-beta-tag>Beta</span></span><div class=kit-list-header-actions><span class=kit-list-count> kits</span><button class=kit-install-btn type=button title="Install a kit from a .kit.json file">+ Install`), _tmpl$3$4 = /* @__PURE__ */ template(`<div class=kit-install-error><span></span><button class=kit-install-error-dismiss type=button aria-label=Dismiss>×`), _tmpl$4$4 = /* @__PURE__ */ template(`<div class=kit-list>`), _tmpl$5$4 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Scheduled</span><span class=kit-list-count>`), _tmpl$6$4 = /* @__PURE__ */ template(`<div class=kit-sched-list>`), _tmpl$7$3 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Recent Activity</span><span class=kit-list-count>`), _tmpl$8$3 = /* @__PURE__ */ template(`<div class=kit-activity-list>`), _tmpl$9$3 = /* @__PURE__ */ template(`<div class=kit-form-header><button class=kit-back-btn type=button title="Back to kits"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M9 11L5 7l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Back</button><div class=kit-form-title>`), _tmpl$0$3 = /* @__PURE__ */ template(`<p class=kit-form-desc>`), _tmpl$1$3 = /* @__PURE__ */ template(`<div class=kit-form-fields>`), _tmpl$10$3 = /* @__PURE__ */ template(`<p class=kit-form-estimate>Estimated run time: ~<!> min`), _tmpl$11$3 = /* @__PURE__ */ template(`<button class="agent-primary-button kit-run-btn"type=button>`), _tmpl$12$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Date & time</label><input class=kit-form-input type=datetime-local>`), _tmpl$13$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time of day</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$14$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Day</label><select class=kit-form-input>`), _tmpl$15$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$16$2 = /* @__PURE__ */ template(`<p class=kit-schedule-error>`), _tmpl$17$2 = /* @__PURE__ */ template(`<div class=kit-schedule-form><div class=kit-schedule-types></div><p class=kit-schedule-note>Schedules run only while Vessel is open. Missed runs are skipped.</p><button class="agent-primary-button kit-schedule-btn"type=button>`), _tmpl$18$2 = /* @__PURE__ */ template(`<div class=kit-schedule-section><label class=kit-schedule-toggle><input type=checkbox>Schedule for later`), _tmpl$19$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Run at</label><input type=datetime-local class="kit-form-input kit-schedule-time">`), _tmpl$20$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Day</label><select class="kit-form-input kit-schedule-time">`), _tmpl$21$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Time</label><input type=time class="kit-form-input kit-schedule-time">`), _tmpl$22$2 = /* @__PURE__ */ template(`<div class=sched-edit-backdrop><div class=sched-edit-panel><div class=sched-edit-header><span class=sched-edit-title>Edit schedule</span><span class=sched-edit-job-name></span></div><div class=kit-schedule-types></div><div class=sched-edit-actions><button class=kit-back-btn type=button>Cancel</button><button class=agent-primary-button type=button>Save`), _tmpl$23$2 = /* @__PURE__ */ template(`<section class=automation-panel>`), _tmpl$24$2 = /* @__PURE__ */ template(`<div class=kit-card-meta>~<!> min`), _tmpl$25$2 = /* @__PURE__ */ template(`<button class=kit-remove-btn type=button>×`), _tmpl$26$2 = /* @__PURE__ */ template(`<div class=kit-card role=button tabindex=0><span class=kit-card-icon aria-hidden=true></span><div class=kit-card-body><div class=kit-card-name></div><div class=kit-card-desc>`), _tmpl$27$2 = /* @__PURE__ */ template(`<svg class=kit-card-caret width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M5 3l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`), _tmpl$28$2 = /* @__PURE__ */ template(`<div class=kit-sched-next>Next: `), _tmpl$29$2 = /* @__PURE__ */ template(`<div class=sched-context-menu><button class=sched-ctx-item type=button>Edit task</button><button class=sched-ctx-item type=button>Edit schedule</button><div class=sched-ctx-divider></div><button class=sched-ctx-item type=button></button><button class="sched-ctx-item sched-ctx-danger"type=button>Delete`), _tmpl$30$1 = /* @__PURE__ */ template(`<div class=kit-sched-card><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-sched-body><div class=kit-sched-name></div><div class=kit-sched-meta></div></div><div class=kit-sched-actions><button class=kit-sched-toggle type=button></button><button class=kit-remove-btn type=button title="Delete schedule"aria-label="Delete schedule">×`), _tmpl$31$1 = /* @__PURE__ */ template(`<div class=kit-activity-output>`), _tmpl$32$1 = /* @__PURE__ */ template(`<div class=kit-activity-card><div class=kit-activity-header><div class=kit-activity-title><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-activity-title-copy><div class=kit-sched-name></div><div class=kit-activity-time></div></div></div><span class=kit-activity-badge>`), _tmpl$33$1 = /* @__PURE__ */ template(`<div class="kit-activity-output kit-activity-placeholder">`), _tmpl$34$1 = /* @__PURE__ */ template(`<span class=kit-form-required aria-hidden=true>*`), _tmpl$35$1 = /* @__PURE__ */ template(`<textarea class=kit-form-textarea rows=3>`), _tmpl$36$1 = /* @__PURE__ */ template(`<p class=kit-form-hint>`), _tmpl$37$1 = /* @__PURE__ */ template(`<div class=kit-form-field><label class=kit-form-label>`), _tmpl$38$1 = /* @__PURE__ */ template(`<input class=kit-form-input>`), _tmpl$39$1 = /* @__PURE__ */ template(`<span class=kit-run-spinner aria-hidden=true>`), _tmpl$40$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=sched-type>`), _tmpl$41$1 = /* @__PURE__ */ template(`<option>`), _tmpl$42$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=edit-sched-type>`);
|
|
4521
4521
|
const ICON_MAP = {
|
|
4522
4522
|
BookOpen: book_open_default,
|
|
4523
4523
|
Tag: tag_default,
|
|
@@ -4961,7 +4961,7 @@ const AutomationTab = (props) => {
|
|
|
4961
4961
|
return job.enabled;
|
|
4962
4962
|
},
|
|
4963
4963
|
get children() {
|
|
4964
|
-
var _el$89 = _tmpl$28$
|
|
4964
|
+
var _el$89 = _tmpl$28$2();
|
|
4965
4965
|
_el$89.firstChild;
|
|
4966
4966
|
insert(_el$89, () => formatNextRun(job.nextRunAt), null);
|
|
4967
4967
|
return _el$89;
|
|
@@ -4975,7 +4975,7 @@ const AutomationTab = (props) => {
|
|
|
4975
4975
|
return openMenuJobId() === job.id;
|
|
4976
4976
|
},
|
|
4977
4977
|
get children() {
|
|
4978
|
-
var _el$94 = _tmpl$29$
|
|
4978
|
+
var _el$94 = _tmpl$29$2(), _el$95 = _el$94.firstChild, _el$96 = _el$95.nextSibling, _el$97 = _el$96.nextSibling, _el$98 = _el$97.nextSibling, _el$99 = _el$98.nextSibling;
|
|
4979
4979
|
_el$94.$$click = (e) => e.stopPropagation();
|
|
4980
4980
|
_el$95.$$click = () => handleOpenEditTask(job);
|
|
4981
4981
|
_el$96.$$click = () => handleOpenEditSchedule(job);
|
|
@@ -5355,7 +5355,7 @@ const AutomationTab = (props) => {
|
|
|
5355
5355
|
};
|
|
5356
5356
|
delegateEvents(["click", "input", "keydown", "contextmenu"]);
|
|
5357
5357
|
const vesselLogo = "" + new URL("vessel-logo-transparent-IT25qr-Z.png", import.meta.url).href;
|
|
5358
|
-
var _tmpl$$4 = /* @__PURE__ */ template(`<div class="message-content markdown-content">`), _tmpl$2$4 = /* @__PURE__ */ template(`<span class=sidebar-tab-badge>`), _tmpl$3$3 = /* @__PURE__ */ template(`<div class=agent-section-title>Pending approvals`), _tmpl$4$3 = /* @__PURE__ */ template(`<button class=agent-section-toggle type=button>`), _tmpl$5$3 = /* @__PURE__ */ template(`<section class=agent-panel><div class=agent-panel-header><div><div class=agent-panel-title>Supervisor</div><div class=agent-panel-subtitle></div></div><span class=agent-status-pill></span></div><div class=agent-panel-controls><button class=agent-control-button type=button></button><button class=agent-control-button type=button>Restore session</button></div><div class=agent-muted></div><div class=agent-section-header><div class=agent-section-title>Recent actions`), _tmpl$6$3 = /* @__PURE__ */ template(`<span class=bookmark-status-pill>Saved`), _tmpl$7$2 = /* @__PURE__ */ template(`<div class=bookmark-save-card><div class=bookmark-current-title></div><div class=bookmark-current-url></div><div class=bookmark-save-controls><button class=bookmark-primary-button type=button>Save page</button></div><textarea class=bookmark-note-input placeholder="Optional note about why this matters"rows=2>`), _tmpl$8$2 = /* @__PURE__ */ template(`<section class=bookmark-panel><div class=bookmark-panel-header><div><div class=bookmark-panel-title>Bookmarks</div><div class=bookmark-panel-subtitle></div></div></div><input class="bookmark-input bookmark-search-input"placeholder="Search titles, URLs, notes, and folders"><div class=bookmark-save-shell><button class=bookmark-save-toggle type=button><span class=bookmark-save-toggle-copy><span class=bookmark-save-toggle-title>Save Current Page</span><span class=bookmark-save-toggle-subtitle>Manual bookmark save options</span></span><span class=bookmark-save-toggle-caret aria-hidden=true>▾</span></button></div><form class=bookmark-folder-create><div class=bookmark-folder-form-fields><input class=bookmark-input placeholder="Create a folder"><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=submit>New folder</button></form><div class=bookmark-folder-list>`), _tmpl$9$2 = /* @__PURE__ */ template(`<div class=checkpoint-timeline>`), _tmpl$0$2 = /* @__PURE__ */ template(`<section class="agent-panel checkpoint-panel"><div class=agent-panel-header><div><div class=agent-panel-title>Checkpoints</div><div class=agent-panel-subtitle></div></div></div><div class=agent-panel-body><div class=agent-checkpoint-row><input class=agent-input placeholder="Checkpoint name"><button class=agent-primary-button type=button>Save checkpoint</button></div><div class=agent-section-title>Recent checkpoints`), _tmpl$1$2 = /* @__PURE__ */ template(`<span>`), _tmpl$10$2 = /* @__PURE__ */ template(`<div><div class=streaming-status><span class=streaming-pulse aria-hidden=true></span><span>Generating`), _tmpl$11$2 = /* @__PURE__ */ template(`<div class="message message-assistant"><div class=message-content>`), _tmpl$12$2 = /* @__PURE__ */ template(`<div class=sidebar-empty><svg class=sidebar-empty-icon width=48 height=48 viewBox="0 0 48 48"aria-hidden=true><line x1=8 y1=8 x2=24 y2=5 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=24 y1=5 x2=40 y2=10 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=8 y1=8 x2=6 y2=24 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=40 y1=10 x2=44 y2=26 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=6 y1=24 x2=10 y2=38 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=44 y1=26 x2=38 y2=40 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=10 y1=38 x2=24 y2=44 stroke=var(--border-visible) stroke-width=1 opacity=0.35></line><line x1=38 y1=40 x2=24 y2=44 stroke=var(--border-visible) stroke-width=1 opacity=0.35></line><line x1=8 y1=8 x2=20 y2=18 stroke=var(--border-visible) stroke-width=1 opacity=0.5></line><line x1=24 y1=5 x2=20 y2=18 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=40 y1=10 x2=32 y2=20 stroke=var(--border-visible) stroke-width=1 opacity=0.5></line><line x1=20 y1=18 x2=32 y2=20 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.3></line><line x1=6 y1=24 x2=18 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=20 y1=18 x2=18 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=32 y1=20 x2=36 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=44 y1=26 x2=36 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=18 y1=30 x2=36 y2=30 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.25></line><line x1=18 y1=30 x2=10 y2=38 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=36 y1=30 x2=38 y2=40 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=18 y1=30 x2=24 y2=44 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.2></line><line x1=36 y1=30 x2=24 y2=44 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.2></line><circle cx=8 cy=8 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.55></circle><circle cx=24 cy=5 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.45></circle><circle cx=40 cy=10 r=3 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.7></circle><circle cx=6 cy=24 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=44 cy=26 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.55></circle><circle cx=10 cy=38 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=38 cy=40 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.45></circle><circle cx=24 cy=44 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=20 cy=18 r=3.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.85></circle><circle cx=32 cy=20 r=4 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.9></circle><circle cx=18 cy=30 r=3 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.75></circle><circle cx=36 cy=30 r=3.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.8></circle></svg><p class=sidebar-empty-title>Your move.</p><p class=sidebar-empty-hint>Configure a provider in Settings (Ctrl+,) then ask anything about the current page or beyond.`), _tmpl$13$1 = /* @__PURE__ */ template(`<button class=chat-action-btn title="Stop generating"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><rect x=2 y=2 width=10 height=10 rx=1.5 fill=currentColor></rect></svg>Stop`), _tmpl$14$1 = /* @__PURE__ */ template(`<button class=chat-action-btn title="Retry last prompt"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M11.5 7a4.5 4.5 0 1 1-1.3-3.2"stroke=currentColor stroke-width=1.5 stroke-linecap=round></path><path d="M10.5 1v3h-3"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Retry`), _tmpl$15$1 = /* @__PURE__ */ template(`<div class=chat-actions>`), _tmpl$16$1 = /* @__PURE__ */ template(`<div class=highlight-nav><button class=highlight-nav-btn type=button title="Previous highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><path d="M8 10L4 6l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=highlight-nav-label type=button title="Go to current highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><circle cx=6 cy=6 r=3 fill="rgba(196, 160, 90, 0.6)"stroke="rgba(196, 160, 90, 0.9)"stroke-width=1></circle></svg></button><button class=highlight-nav-btn type=button title="Next highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><path d="M4 2l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`), _tmpl$17$1 = /* @__PURE__ */ template(`<button class=chat-queue-clear type=button>Clear queue`), _tmpl$18$1 = /* @__PURE__ */ template(`<div class=chat-queue-list>`), _tmpl$19$1 = /* @__PURE__ */ template(`<div class=chat-queue-status><div class=chat-queue-status-row><span>`), _tmpl$20$1 = /* @__PURE__ */ template(`<div class=sidebar-input-area><textarea class=sidebar-input rows=2></textarea><button class=sidebar-send>`), _tmpl$21$1 = /* @__PURE__ */ template(`<div class=sidebar><div class=sidebar-resize-handle></div><div class=sidebar-header><div class=sidebar-brand><img class=sidebar-logo alt=Vessel><span class=sidebar-brand-text>Vessel Browser</span></div><div class=sidebar-header-actions><button class=sidebar-clear title="Clear chat">Clear</button><button class=sidebar-close title="Close AI chat (Esc)"aria-label="Close AI chat"><svg width=14 height=14 viewBox="0 0 14 14"aria-hidden=true><path d="M3.5 3.5l7 7M10.5 3.5l-7 7"fill=none stroke=currentColor stroke-width=1.4 stroke-linecap=round></path></svg></button></div></div><div class=sidebar-tabs role=tablist><button class=sidebar-tab role=tab>Supervisor</button><button class=sidebar-tab role=tab>Bookmarks</button><button class=sidebar-tab role=tab>Checkpoints</button><button class=sidebar-tab role=tab>Chat</button><button class=sidebar-tab role=tab>Automate</button></div><div class=sidebar-messages><div>`), _tmpl$22$1 = /* @__PURE__ */ template(`<div class=agent-muted>No pending approvals.`), _tmpl$23$1 = /* @__PURE__ */ template(`<div class="agent-card agent-card-approval"><div class=agent-card-approval-stripe aria-hidden=true></div><div class=agent-card-title></div><div class=agent-card-copy></div><div class=agent-card-copy></div><div class=agent-card-actions><button class=agent-primary-button type=button>Approve</button><button class=agent-control-button type=button>Reject`), _tmpl$24$1 = /* @__PURE__ */ template(`<div class=agent-muted>No actions yet.`), _tmpl$25$1 = /* @__PURE__ */ template(`<div class=agent-muted>Recent actions are collapsed to reduce noise.`), _tmpl$26$1 = /* @__PURE__ */ template(`<div class="agent-card-copy success">`), _tmpl$27$1 = /* @__PURE__ */ template(`<div class="agent-card-copy error">`), _tmpl$28 = /* @__PURE__ */ template(`<div class=agent-card><div class=agent-action-row><span class=agent-card-title></span><span></span></div><div class=agent-card-copy>`), _tmpl$29 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>`), _tmpl$30 = /* @__PURE__ */ template(`<div class=bookmark-folder-summary>`), _tmpl$31 = /* @__PURE__ */ template(`<div class=bookmark-folder-actions><button class=bookmark-ghost-button type=button>Rename</button><button class="bookmark-ghost-button danger"type=button>Delete`), _tmpl$32 = /* @__PURE__ */ template(`<div class=bookmark-folder-edit><div class=bookmark-folder-form-fields><input class=bookmark-input><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=button>Save</button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$33 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$34 = /* @__PURE__ */ template(`<div class=bookmark-folder-section><div class="bookmark-folder-header clickable"role=button tabindex=0><div class=bookmark-folder-overview><span class=bookmark-folder-chevron aria-hidden=true>▸</span><div><div class=bookmark-folder-name></div><div class=bookmark-folder-meta> saved`), _tmpl$35 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$36 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$37 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$38 = /* @__PURE__ */ template(`<div class=bookmark-item><button class=bookmark-item-link type=button><span class=bookmark-item-title></span><span class=bookmark-item-url></span></button><div class=bookmark-item-footer><span class=bookmark-item-time></span><button class="bookmark-ghost-button danger"type=button>Remove`), _tmpl$39 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$40 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$41 = /* @__PURE__ */ template(`<div class=checkpoint-timeline-item><div class=checkpoint-timeline-rail><span class=checkpoint-timeline-dot></span></div><div class=checkpoint-timeline-content><div class=checkpoint-timeline-name></div><div class=checkpoint-timeline-time></div><button class=agent-control-button type=button>Restore`), _tmpl$42 = /* @__PURE__ */ template(`<div>`), _tmpl$43 = /* @__PURE__ */ template(`<div class=thinking-state><div class=thinking-orb aria-hidden=true><span></span><span></span><span></span></div><div class=thinking-copy><div class=thinking-title>Thinking`), _tmpl$44 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$45 = /* @__PURE__ */ template(`<div class=chat-approval><div class=chat-approval-icon aria-hidden=true><svg width=16 height=16 viewBox="0 0 16 16"fill=none><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM7.25 4.75a.75.75 0 011.5 0v3.5a.75.75 0 01-1.5 0v-3.5zM8 11.5a.75.75 0 110-1.5.75.75 0 010 1.5z"fill=currentColor></path></svg></div><div class=chat-approval-body><div class=chat-approval-title>Approval needed: <strong></strong></div><div class=chat-approval-detail></div><div class=chat-approval-actions><button class="chat-approval-btn chat-approval-approve"type=button>Approve</button><button class="chat-approval-btn chat-approval-reject"type=button>Reject`), _tmpl$46 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`);
|
|
5358
|
+
var _tmpl$$4 = /* @__PURE__ */ template(`<div class="message-content markdown-content">`), _tmpl$2$4 = /* @__PURE__ */ template(`<div class=premium-inline-offer><div class=premium-inline-kicker>Vessel Premium</div><div class=premium-inline-title></div><p class=premium-inline-copy></p><div class=premium-inline-actions><button class="agent-primary-button premium-inline-primary"type=button>Start free trial</button><button class="agent-control-button premium-inline-secondary"type=button>View details`), _tmpl$3$3 = /* @__PURE__ */ template(`<span class=sidebar-tab-badge>`), _tmpl$4$3 = /* @__PURE__ */ template(`<div class=agent-section-title>Pending approvals`), _tmpl$5$3 = /* @__PURE__ */ template(`<button class=agent-section-toggle type=button>`), _tmpl$6$3 = /* @__PURE__ */ template(`<section class=agent-panel><div class=agent-panel-header><div><div class=agent-panel-title>Supervisor</div><div class=agent-panel-subtitle></div></div><span class=agent-status-pill></span></div><div class=agent-panel-controls><button class=agent-control-button type=button></button><button class=agent-control-button type=button>Restore session</button></div><div class=agent-muted></div><div class=agent-section-header><div class=agent-section-title>Recent actions`), _tmpl$7$2 = /* @__PURE__ */ template(`<span class=bookmark-status-pill>Saved`), _tmpl$8$2 = /* @__PURE__ */ template(`<div class=bookmark-save-card><div class=bookmark-current-title></div><div class=bookmark-current-url></div><div class=bookmark-save-controls><button class=bookmark-primary-button type=button>Save page</button></div><textarea class=bookmark-note-input placeholder="Optional note about why this matters"rows=2>`), _tmpl$9$2 = /* @__PURE__ */ template(`<section class=bookmark-panel><div class=bookmark-panel-header><div><div class=bookmark-panel-title>Bookmarks</div><div class=bookmark-panel-subtitle></div></div></div><input class="bookmark-input bookmark-search-input"placeholder="Search titles, URLs, notes, and folders"><div class=bookmark-save-shell><button class=bookmark-save-toggle type=button><span class=bookmark-save-toggle-copy><span class=bookmark-save-toggle-title>Save Current Page</span><span class=bookmark-save-toggle-subtitle>Manual bookmark save options</span></span><span class=bookmark-save-toggle-caret aria-hidden=true>▾</span></button></div><form class=bookmark-folder-create><div class=bookmark-folder-form-fields><input class=bookmark-input placeholder="Create a folder"><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=submit>New folder</button></form><div class=bookmark-folder-list>`), _tmpl$0$2 = /* @__PURE__ */ template(`<div class=checkpoint-timeline>`), _tmpl$1$2 = /* @__PURE__ */ template(`<section class="agent-panel checkpoint-panel"><div class=agent-panel-header><div><div class=agent-panel-title>Checkpoints</div><div class=agent-panel-subtitle></div></div></div><div class=agent-panel-body><div class=agent-checkpoint-row><input class=agent-input placeholder="Checkpoint name"><button class=agent-primary-button type=button>Save checkpoint</button></div><div class=agent-section-title>Recent checkpoints`), _tmpl$10$2 = /* @__PURE__ */ template(`<div class="kit-upsell premium-chat-banner"><p class=kit-upsell-title>Vessel Premium</p><p class="kit-upsell-body premium-chat-banner-body">Give the built-in agent a bigger toolbox and longer runway: screenshots, saved sessions, workflow tracking, table extraction, and up to 1,000 tool calls per turn.</p><div class="premium-inline-actions premium-chat-banner-actions"><button class="agent-primary-button premium-inline-primary"type=button>Start free trial</button><button class="agent-control-button premium-inline-secondary"type=button>See Premium`), _tmpl$11$2 = /* @__PURE__ */ template(`<span>`), _tmpl$12$2 = /* @__PURE__ */ template(`<div><div class=streaming-status><span class=streaming-pulse aria-hidden=true></span><span>Generating`), _tmpl$13$1 = /* @__PURE__ */ template(`<div class="message message-assistant"><div class=message-content>`), _tmpl$14$1 = /* @__PURE__ */ template(`<div class=sidebar-empty><svg class=sidebar-empty-icon width=48 height=48 viewBox="0 0 48 48"aria-hidden=true><line x1=8 y1=8 x2=24 y2=5 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=24 y1=5 x2=40 y2=10 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=8 y1=8 x2=6 y2=24 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=40 y1=10 x2=44 y2=26 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=6 y1=24 x2=10 y2=38 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=44 y1=26 x2=38 y2=40 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=10 y1=38 x2=24 y2=44 stroke=var(--border-visible) stroke-width=1 opacity=0.35></line><line x1=38 y1=40 x2=24 y2=44 stroke=var(--border-visible) stroke-width=1 opacity=0.35></line><line x1=8 y1=8 x2=20 y2=18 stroke=var(--border-visible) stroke-width=1 opacity=0.5></line><line x1=24 y1=5 x2=20 y2=18 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=40 y1=10 x2=32 y2=20 stroke=var(--border-visible) stroke-width=1 opacity=0.5></line><line x1=20 y1=18 x2=32 y2=20 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.3></line><line x1=6 y1=24 x2=18 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=20 y1=18 x2=18 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=32 y1=20 x2=36 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=44 y1=26 x2=36 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=18 y1=30 x2=36 y2=30 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.25></line><line x1=18 y1=30 x2=10 y2=38 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=36 y1=30 x2=38 y2=40 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=18 y1=30 x2=24 y2=44 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.2></line><line x1=36 y1=30 x2=24 y2=44 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.2></line><circle cx=8 cy=8 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.55></circle><circle cx=24 cy=5 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.45></circle><circle cx=40 cy=10 r=3 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.7></circle><circle cx=6 cy=24 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=44 cy=26 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.55></circle><circle cx=10 cy=38 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=38 cy=40 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.45></circle><circle cx=24 cy=44 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=20 cy=18 r=3.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.85></circle><circle cx=32 cy=20 r=4 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.9></circle><circle cx=18 cy=30 r=3 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.75></circle><circle cx=36 cy=30 r=3.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.8></circle></svg><p class=sidebar-empty-title>Your move.</p><p class=sidebar-empty-hint>Configure a provider in Settings (Ctrl+,) then ask anything about the current page or beyond.`), _tmpl$15$1 = /* @__PURE__ */ template(`<button class=chat-action-btn title="Stop generating"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><rect x=2 y=2 width=10 height=10 rx=1.5 fill=currentColor></rect></svg>Stop`), _tmpl$16$1 = /* @__PURE__ */ template(`<button class=chat-action-btn title="Retry last prompt"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M11.5 7a4.5 4.5 0 1 1-1.3-3.2"stroke=currentColor stroke-width=1.5 stroke-linecap=round></path><path d="M10.5 1v3h-3"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Retry`), _tmpl$17$1 = /* @__PURE__ */ template(`<div class=chat-actions>`), _tmpl$18$1 = /* @__PURE__ */ template(`<div class=highlight-nav><button class=highlight-nav-btn type=button title="Previous highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><path d="M8 10L4 6l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=highlight-nav-label type=button title="Go to current highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><circle cx=6 cy=6 r=3 fill="rgba(196, 160, 90, 0.6)"stroke="rgba(196, 160, 90, 0.9)"stroke-width=1></circle></svg></button><button class=highlight-nav-btn type=button title="Next highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><path d="M4 2l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`), _tmpl$19$1 = /* @__PURE__ */ template(`<button class=chat-queue-clear type=button>Clear queue`), _tmpl$20$1 = /* @__PURE__ */ template(`<div class=chat-queue-list>`), _tmpl$21$1 = /* @__PURE__ */ template(`<div class=chat-queue-status><div class=chat-queue-status-row><span>`), _tmpl$22$1 = /* @__PURE__ */ template(`<div class=sidebar-input-area><textarea class=sidebar-input rows=2></textarea><button class=sidebar-send>`), _tmpl$23$1 = /* @__PURE__ */ template(`<div class=sidebar><div class=sidebar-resize-handle></div><div class=sidebar-header><div class=sidebar-brand><img class=sidebar-logo alt=Vessel><span class=sidebar-brand-text>Vessel Browser</span></div><div class=sidebar-header-actions><button class=sidebar-clear title="Clear chat">Clear</button><button class=sidebar-close title="Close AI chat (Esc)"aria-label="Close AI chat"><svg width=14 height=14 viewBox="0 0 14 14"aria-hidden=true><path d="M3.5 3.5l7 7M10.5 3.5l-7 7"fill=none stroke=currentColor stroke-width=1.4 stroke-linecap=round></path></svg></button></div></div><div class=sidebar-tabs role=tablist><button class=sidebar-tab role=tab>Supervisor</button><button class=sidebar-tab role=tab>Bookmarks</button><button class=sidebar-tab role=tab>Checkpoints</button><button class=sidebar-tab role=tab>Chat</button><button class=sidebar-tab role=tab>Automate</button></div><div class=sidebar-messages><div>`), _tmpl$24$1 = /* @__PURE__ */ template(`<div class=agent-muted>No pending approvals.`), _tmpl$25$1 = /* @__PURE__ */ template(`<div class="agent-card agent-card-approval"><div class=agent-card-approval-stripe aria-hidden=true></div><div class=agent-card-title></div><div class=agent-card-copy></div><div class=agent-card-copy></div><div class=agent-card-actions><button class=agent-primary-button type=button>Approve</button><button class=agent-control-button type=button>Reject`), _tmpl$26$1 = /* @__PURE__ */ template(`<div class=agent-muted>No actions yet.`), _tmpl$27$1 = /* @__PURE__ */ template(`<div class=agent-muted>Recent actions are collapsed to reduce noise.`), _tmpl$28$1 = /* @__PURE__ */ template(`<div class="agent-card-copy success">`), _tmpl$29$1 = /* @__PURE__ */ template(`<div class="agent-card-copy error">`), _tmpl$30 = /* @__PURE__ */ template(`<div class=agent-card><div class=agent-action-row><span class=agent-card-title></span><span></span></div><div class=agent-card-copy>`), _tmpl$31 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>`), _tmpl$32 = /* @__PURE__ */ template(`<div class=bookmark-folder-summary>`), _tmpl$33 = /* @__PURE__ */ template(`<div class=bookmark-folder-actions><button class=bookmark-ghost-button type=button>Rename</button><button class="bookmark-ghost-button danger"type=button>Delete`), _tmpl$34 = /* @__PURE__ */ template(`<div class=bookmark-folder-edit><div class=bookmark-folder-form-fields><input class=bookmark-input><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=button>Save</button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$35 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$36 = /* @__PURE__ */ template(`<div class=bookmark-folder-section><div class="bookmark-folder-header clickable"role=button tabindex=0><div class=bookmark-folder-overview><span class=bookmark-folder-chevron aria-hidden=true>▸</span><div><div class=bookmark-folder-name></div><div class=bookmark-folder-meta> saved`), _tmpl$37 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$38 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$39 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$40 = /* @__PURE__ */ template(`<div class=bookmark-item><button class=bookmark-item-link type=button><span class=bookmark-item-title></span><span class=bookmark-item-url></span></button><div class=bookmark-item-footer><span class=bookmark-item-time></span><button class="bookmark-ghost-button danger"type=button>Remove`), _tmpl$41 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$42 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$43 = /* @__PURE__ */ template(`<div class=checkpoint-timeline-item><div class=checkpoint-timeline-rail><span class=checkpoint-timeline-dot></span></div><div class=checkpoint-timeline-content><div class=checkpoint-timeline-name></div><div class=checkpoint-timeline-time></div><button class=agent-control-button type=button>Restore`), _tmpl$44 = /* @__PURE__ */ template(`<div>`), _tmpl$45 = /* @__PURE__ */ template(`<div class=thinking-state><div class=thinking-orb aria-hidden=true><span></span><span></span><span></span></div><div class=thinking-copy><div class=thinking-title>Thinking`), _tmpl$46 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$47 = /* @__PURE__ */ template(`<div class=chat-approval><div class=chat-approval-icon aria-hidden=true><svg width=16 height=16 viewBox="0 0 16 16"fill=none><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM7.25 4.75a.75.75 0 011.5 0v3.5a.75.75 0 01-1.5 0v-3.5zM8 11.5a.75.75 0 110-1.5.75.75 0 010 1.5z"fill=currentColor></path></svg></div><div class=chat-approval-body><div class=chat-approval-title>Approval needed: <strong></strong></div><div class=chat-approval-detail></div><div class=chat-approval-actions><button class="chat-approval-btn chat-approval-approve"type=button>Approve</button><button class="chat-approval-btn chat-approval-reject"type=button>Reject`), _tmpl$48 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`);
|
|
5359
5359
|
const UNSORTED_FOLDER = {
|
|
5360
5360
|
id: "unsorted",
|
|
5361
5361
|
name: "Unsorted",
|
|
@@ -5369,6 +5369,28 @@ const MarkdownMessage = (props) => {
|
|
|
5369
5369
|
return _el$;
|
|
5370
5370
|
})();
|
|
5371
5371
|
};
|
|
5372
|
+
function getPremiumPromptKind(content) {
|
|
5373
|
+
if (content.includes("requires Vessel Premium")) {
|
|
5374
|
+
return "premium_gate";
|
|
5375
|
+
}
|
|
5376
|
+
if (content.includes("Reached maximum tool call limit")) {
|
|
5377
|
+
return "iteration_limit";
|
|
5378
|
+
}
|
|
5379
|
+
return null;
|
|
5380
|
+
}
|
|
5381
|
+
const PremiumPromptCard = (props) => {
|
|
5382
|
+
const title = props.kind === "premium_gate" ? "This workflow needs Premium" : "Need a longer autonomous run?";
|
|
5383
|
+
const body = props.kind === "premium_gate" ? "Unlock screenshots, saved sessions, workflow tracking, table extraction, and the credential vault with a 5-day free trial." : "Free chats pause after 50 tool calls in a turn. Vessel Premium raises the ceiling so the agent can finish longer workflows without stopping.";
|
|
5384
|
+
return (() => {
|
|
5385
|
+
var _el$2 = _tmpl$2$4(), _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling;
|
|
5386
|
+
insert(_el$4, title);
|
|
5387
|
+
insert(_el$5, body);
|
|
5388
|
+
addEventListener(_el$7, "click", props.onStartTrial, true);
|
|
5389
|
+
addEventListener(_el$8, "click", props.onOpenSettings, true);
|
|
5390
|
+
createRenderEffect(() => _el$2.classList.toggle("compact", !!(props.compact === true)));
|
|
5391
|
+
return _el$2;
|
|
5392
|
+
})();
|
|
5393
|
+
};
|
|
5372
5394
|
const Sidebar = (props) => {
|
|
5373
5395
|
const {
|
|
5374
5396
|
messages: messages2,
|
|
@@ -5401,7 +5423,8 @@ const Sidebar = (props) => {
|
|
|
5401
5423
|
sidebarWidth: sidebarWidth2,
|
|
5402
5424
|
resizeSidebar,
|
|
5403
5425
|
commitResize,
|
|
5404
|
-
toggleSidebar
|
|
5426
|
+
toggleSidebar,
|
|
5427
|
+
openSettings
|
|
5405
5428
|
} = useUI();
|
|
5406
5429
|
const {
|
|
5407
5430
|
activeTab,
|
|
@@ -5419,6 +5442,38 @@ const Sidebar = (props) => {
|
|
|
5419
5442
|
const [chatInput, setChatInput] = createSignal("");
|
|
5420
5443
|
const [highlightCount, setHighlightCount] = createSignal(0);
|
|
5421
5444
|
const [highlightIndex, setHighlightIndex] = createSignal(-1);
|
|
5445
|
+
const [premiumState, setPremiumState] = createSignal({
|
|
5446
|
+
status: "free",
|
|
5447
|
+
customerId: "",
|
|
5448
|
+
email: "",
|
|
5449
|
+
validatedAt: "",
|
|
5450
|
+
expiresAt: ""
|
|
5451
|
+
});
|
|
5452
|
+
const trackedPremiumContexts = /* @__PURE__ */ new Set();
|
|
5453
|
+
const isPremium = () => {
|
|
5454
|
+
const status = premiumState().status;
|
|
5455
|
+
return status === "active" || status === "trialing";
|
|
5456
|
+
};
|
|
5457
|
+
const trackPremiumContext = (step) => {
|
|
5458
|
+
if (trackedPremiumContexts.has(step)) return;
|
|
5459
|
+
trackedPremiumContexts.add(step);
|
|
5460
|
+
void window.vessel.premium.trackContext(step).catch(() => {
|
|
5461
|
+
trackedPremiumContexts.delete(step);
|
|
5462
|
+
});
|
|
5463
|
+
};
|
|
5464
|
+
const openPremiumCheckout = (step) => {
|
|
5465
|
+
trackPremiumContext(step);
|
|
5466
|
+
void window.vessel.premium.checkout(premiumState().email || void 0);
|
|
5467
|
+
};
|
|
5468
|
+
const openPremiumDetails = () => {
|
|
5469
|
+
void openSettings();
|
|
5470
|
+
};
|
|
5471
|
+
onMount(() => {
|
|
5472
|
+
void window.vessel.premium.getState().then(setPremiumState).catch(() => {
|
|
5473
|
+
});
|
|
5474
|
+
const cleanup = window.vessel.premium.onUpdate(setPremiumState);
|
|
5475
|
+
onCleanup(cleanup);
|
|
5476
|
+
});
|
|
5422
5477
|
const syncHighlightCount = async () => {
|
|
5423
5478
|
try {
|
|
5424
5479
|
const count = await window.vessel.highlights.getCount() ?? 0;
|
|
@@ -5438,6 +5493,28 @@ const Sidebar = (props) => {
|
|
|
5438
5493
|
void syncHighlightCount();
|
|
5439
5494
|
}
|
|
5440
5495
|
});
|
|
5496
|
+
createEffect(() => {
|
|
5497
|
+
if (sidebarTab() === "chat" && !isPremium()) {
|
|
5498
|
+
trackPremiumContext("chat_banner_viewed");
|
|
5499
|
+
}
|
|
5500
|
+
});
|
|
5501
|
+
createEffect(() => {
|
|
5502
|
+
if (isPremium()) return;
|
|
5503
|
+
for (const message of messages2()) {
|
|
5504
|
+
const kind = getPremiumPromptKind(message.content);
|
|
5505
|
+
if (kind === "premium_gate") {
|
|
5506
|
+
trackPremiumContext("premium_gate_seen");
|
|
5507
|
+
} else if (kind === "iteration_limit") {
|
|
5508
|
+
trackPremiumContext("iteration_limit_seen");
|
|
5509
|
+
}
|
|
5510
|
+
}
|
|
5511
|
+
const streamingKind = getPremiumPromptKind(streamingText2());
|
|
5512
|
+
if (streamingKind === "premium_gate") {
|
|
5513
|
+
trackPremiumContext("premium_gate_seen");
|
|
5514
|
+
} else if (streamingKind === "iteration_limit") {
|
|
5515
|
+
trackPremiumContext("iteration_limit_seen");
|
|
5516
|
+
}
|
|
5517
|
+
});
|
|
5441
5518
|
createEffect(() => {
|
|
5442
5519
|
const unsubscribe = window.vessel.highlights.onCountUpdate((count) => {
|
|
5443
5520
|
setHighlightCount(count);
|
|
@@ -5710,42 +5787,42 @@ ${contextBlock}` : contextBlock);
|
|
|
5710
5787
|
return props.forceOpen || sidebarOpen2();
|
|
5711
5788
|
},
|
|
5712
5789
|
get children() {
|
|
5713
|
-
var _el$
|
|
5714
|
-
_el$
|
|
5715
|
-
var _el$
|
|
5716
|
-
_el$
|
|
5717
|
-
setAttribute(_el$
|
|
5718
|
-
addEventListener(_el$
|
|
5719
|
-
_el$
|
|
5720
|
-
_el$
|
|
5721
|
-
insert(_el$
|
|
5790
|
+
var _el$9 = _tmpl$23$1(), _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild, _el$12 = _el$10.nextSibling, _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$1.nextSibling, _el$16 = _el$15.firstChild;
|
|
5791
|
+
_el$16.firstChild;
|
|
5792
|
+
var _el$19 = _el$16.nextSibling, _el$20 = _el$19.nextSibling, _el$21 = _el$20.nextSibling, _el$22 = _el$21.nextSibling, _el$23 = _el$15.nextSibling, _el$86 = _el$23.firstChild;
|
|
5793
|
+
_el$0.$$pointerdown = startResize;
|
|
5794
|
+
setAttribute(_el$11, "src", vesselLogo);
|
|
5795
|
+
addEventListener(_el$13, "click", clearHistory, true);
|
|
5796
|
+
_el$14.$$click = () => void toggleSidebar();
|
|
5797
|
+
_el$16.$$click = () => setSidebarTab("supervisor");
|
|
5798
|
+
insert(_el$16, createComponent(Show, {
|
|
5722
5799
|
get when() {
|
|
5723
5800
|
return runtimeState2().supervisor.pendingApprovals.length > 0;
|
|
5724
5801
|
},
|
|
5725
5802
|
get children() {
|
|
5726
|
-
var _el$
|
|
5727
|
-
insert(_el$
|
|
5728
|
-
return _el$
|
|
5803
|
+
var _el$18 = _tmpl$3$3();
|
|
5804
|
+
insert(_el$18, () => runtimeState2().supervisor.pendingApprovals.length);
|
|
5805
|
+
return _el$18;
|
|
5729
5806
|
}
|
|
5730
5807
|
}), null);
|
|
5731
|
-
_el$
|
|
5732
|
-
_el$
|
|
5733
|
-
_el$
|
|
5734
|
-
_el$
|
|
5808
|
+
_el$19.$$click = () => setSidebarTab("bookmarks");
|
|
5809
|
+
_el$20.$$click = () => setSidebarTab("checkpoints");
|
|
5810
|
+
_el$21.$$click = () => setSidebarTab("chat");
|
|
5811
|
+
_el$22.$$click = () => setSidebarTab("automation");
|
|
5735
5812
|
use((el) => {
|
|
5736
5813
|
messagesContainerRef = el;
|
|
5737
5814
|
useScrollFade(el);
|
|
5738
|
-
}, _el$
|
|
5739
|
-
insert(_el$
|
|
5815
|
+
}, _el$23);
|
|
5816
|
+
insert(_el$23, createComponent(Show, {
|
|
5740
5817
|
get when() {
|
|
5741
5818
|
return sidebarTab() === "supervisor";
|
|
5742
5819
|
},
|
|
5743
5820
|
get children() {
|
|
5744
|
-
var _el$
|
|
5745
|
-
_el$
|
|
5746
|
-
insert(_el$
|
|
5747
|
-
insert(_el$
|
|
5748
|
-
insert(_el$
|
|
5821
|
+
var _el$24 = _tmpl$6$3(), _el$25 = _el$24.firstChild, _el$26 = _el$25.firstChild, _el$27 = _el$26.firstChild, _el$28 = _el$27.nextSibling, _el$29 = _el$26.nextSibling, _el$30 = _el$25.nextSibling, _el$31 = _el$30.firstChild, _el$32 = _el$31.nextSibling, _el$33 = _el$30.nextSibling, _el$35 = _el$33.nextSibling;
|
|
5822
|
+
_el$35.firstChild;
|
|
5823
|
+
insert(_el$28, () => runtimeState2().supervisor.paused ? "Agent is paused" : "Agent is live");
|
|
5824
|
+
insert(_el$29, () => runtimeState2().supervisor.paused ? "Paused" : "Running");
|
|
5825
|
+
insert(_el$30, createComponent(DropdownSelect, {
|
|
5749
5826
|
"class": "agent-select",
|
|
5750
5827
|
get value() {
|
|
5751
5828
|
return runtimeState2().supervisor.approvalMode;
|
|
@@ -5755,55 +5832,55 @@ ${contextBlock}` : contextBlock);
|
|
|
5755
5832
|
},
|
|
5756
5833
|
ariaLabel: "Approval mode",
|
|
5757
5834
|
onChange: (value) => void setApprovalMode(value)
|
|
5758
|
-
}), _el$
|
|
5759
|
-
_el$
|
|
5760
|
-
insert(_el$
|
|
5761
|
-
_el$
|
|
5762
|
-
insert(_el$
|
|
5763
|
-
insert(_el$
|
|
5835
|
+
}), _el$31);
|
|
5836
|
+
_el$31.$$click = () => void (runtimeState2().supervisor.paused ? resume() : pause());
|
|
5837
|
+
insert(_el$31, () => runtimeState2().supervisor.paused ? "Resume" : "Pause");
|
|
5838
|
+
_el$32.$$click = () => void restoreSession();
|
|
5839
|
+
insert(_el$33, approvalModeDescription);
|
|
5840
|
+
insert(_el$24, createComponent(Show, {
|
|
5764
5841
|
get when() {
|
|
5765
5842
|
return runtimeState2().supervisor.pendingApprovals.length > 0;
|
|
5766
5843
|
},
|
|
5767
5844
|
get fallback() {
|
|
5768
|
-
return _tmpl$
|
|
5845
|
+
return _tmpl$24$1();
|
|
5769
5846
|
},
|
|
5770
5847
|
get children() {
|
|
5771
|
-
return [_tmpl$
|
|
5848
|
+
return [_tmpl$4$3(), createComponent(For, {
|
|
5772
5849
|
get each() {
|
|
5773
5850
|
return runtimeState2().supervisor.pendingApprovals;
|
|
5774
5851
|
},
|
|
5775
5852
|
children: (approval) => (() => {
|
|
5776
|
-
var _el$
|
|
5777
|
-
insert(_el$
|
|
5778
|
-
insert(_el$
|
|
5779
|
-
insert(_el$
|
|
5780
|
-
_el$
|
|
5781
|
-
_el$
|
|
5782
|
-
return _el$
|
|
5853
|
+
var _el$104 = _tmpl$25$1(), _el$105 = _el$104.firstChild, _el$106 = _el$105.nextSibling, _el$107 = _el$106.nextSibling, _el$108 = _el$107.nextSibling, _el$109 = _el$108.nextSibling, _el$110 = _el$109.firstChild, _el$111 = _el$110.nextSibling;
|
|
5854
|
+
insert(_el$106, () => approval.name);
|
|
5855
|
+
insert(_el$107, () => approval.argsSummary);
|
|
5856
|
+
insert(_el$108, () => approval.reason);
|
|
5857
|
+
_el$110.$$click = () => void resolveApproval(approval.id, true);
|
|
5858
|
+
_el$111.$$click = () => void resolveApproval(approval.id, false);
|
|
5859
|
+
return _el$104;
|
|
5783
5860
|
})()
|
|
5784
5861
|
})];
|
|
5785
5862
|
}
|
|
5786
|
-
}), _el$
|
|
5787
|
-
insert(_el$
|
|
5863
|
+
}), _el$35);
|
|
5864
|
+
insert(_el$35, createComponent(Show, {
|
|
5788
5865
|
get when() {
|
|
5789
5866
|
return recentActions().length > 0;
|
|
5790
5867
|
},
|
|
5791
5868
|
get children() {
|
|
5792
|
-
var _el$
|
|
5793
|
-
_el$
|
|
5794
|
-
insert(_el$
|
|
5869
|
+
var _el$37 = _tmpl$5$3();
|
|
5870
|
+
_el$37.$$click = () => setActionsExpanded((current) => !current);
|
|
5871
|
+
insert(_el$37, (() => {
|
|
5795
5872
|
var _c$ = memo(() => !!actionsExpanded());
|
|
5796
5873
|
return () => _c$() ? "Hide history" : `Show history (${recentActions().length})`;
|
|
5797
5874
|
})());
|
|
5798
|
-
return _el$
|
|
5875
|
+
return _el$37;
|
|
5799
5876
|
}
|
|
5800
5877
|
}), null);
|
|
5801
|
-
insert(_el$
|
|
5878
|
+
insert(_el$24, createComponent(Show, {
|
|
5802
5879
|
get when() {
|
|
5803
5880
|
return recentActions().length > 0;
|
|
5804
5881
|
},
|
|
5805
5882
|
get fallback() {
|
|
5806
|
-
return _tmpl$
|
|
5883
|
+
return _tmpl$26$1();
|
|
5807
5884
|
},
|
|
5808
5885
|
get children() {
|
|
5809
5886
|
return createComponent(Show, {
|
|
@@ -5811,7 +5888,7 @@ ${contextBlock}` : contextBlock);
|
|
|
5811
5888
|
return actionsExpanded();
|
|
5812
5889
|
},
|
|
5813
5890
|
get fallback() {
|
|
5814
|
-
return _tmpl$
|
|
5891
|
+
return _tmpl$27$1();
|
|
5815
5892
|
},
|
|
5816
5893
|
get children() {
|
|
5817
5894
|
return createComponent(For, {
|
|
@@ -5819,71 +5896,71 @@ ${contextBlock}` : contextBlock);
|
|
|
5819
5896
|
return recentActions();
|
|
5820
5897
|
},
|
|
5821
5898
|
children: (action) => (() => {
|
|
5822
|
-
var _el$
|
|
5823
|
-
insert(_el$
|
|
5824
|
-
insert(_el$
|
|
5825
|
-
insert(_el$
|
|
5826
|
-
insert(_el$
|
|
5899
|
+
var _el$114 = _tmpl$30(), _el$115 = _el$114.firstChild, _el$116 = _el$115.firstChild, _el$117 = _el$116.nextSibling, _el$118 = _el$115.nextSibling;
|
|
5900
|
+
insert(_el$116, () => action.name);
|
|
5901
|
+
insert(_el$117, () => action.status);
|
|
5902
|
+
insert(_el$118, () => action.argsSummary);
|
|
5903
|
+
insert(_el$114, createComponent(Show, {
|
|
5827
5904
|
get when() {
|
|
5828
5905
|
return action.resultSummary;
|
|
5829
5906
|
},
|
|
5830
5907
|
get children() {
|
|
5831
|
-
var _el$
|
|
5832
|
-
insert(_el$
|
|
5833
|
-
return _el$
|
|
5908
|
+
var _el$119 = _tmpl$28$1();
|
|
5909
|
+
insert(_el$119, () => action.resultSummary);
|
|
5910
|
+
return _el$119;
|
|
5834
5911
|
}
|
|
5835
5912
|
}), null);
|
|
5836
|
-
insert(_el$
|
|
5913
|
+
insert(_el$114, createComponent(Show, {
|
|
5837
5914
|
get when() {
|
|
5838
5915
|
return action.error;
|
|
5839
5916
|
},
|
|
5840
5917
|
get children() {
|
|
5841
|
-
var _el$
|
|
5842
|
-
insert(_el$
|
|
5843
|
-
return _el$
|
|
5918
|
+
var _el$120 = _tmpl$29$1();
|
|
5919
|
+
insert(_el$120, () => action.error);
|
|
5920
|
+
return _el$120;
|
|
5844
5921
|
}
|
|
5845
5922
|
}), null);
|
|
5846
|
-
createRenderEffect(() => className(_el$
|
|
5847
|
-
return _el$
|
|
5923
|
+
createRenderEffect(() => className(_el$117, `agent-action-status ${action.status}`));
|
|
5924
|
+
return _el$114;
|
|
5848
5925
|
})()
|
|
5849
5926
|
});
|
|
5850
5927
|
}
|
|
5851
5928
|
});
|
|
5852
5929
|
}
|
|
5853
5930
|
}), null);
|
|
5854
|
-
createRenderEffect(() => _el$
|
|
5855
|
-
return _el$
|
|
5931
|
+
createRenderEffect(() => _el$29.classList.toggle("paused", !!runtimeState2().supervisor.paused));
|
|
5932
|
+
return _el$24;
|
|
5856
5933
|
}
|
|
5857
|
-
}), _el$
|
|
5858
|
-
insert(_el$
|
|
5934
|
+
}), _el$86);
|
|
5935
|
+
insert(_el$23, createComponent(Show, {
|
|
5859
5936
|
get when() {
|
|
5860
5937
|
return sidebarTab() === "bookmarks";
|
|
5861
5938
|
},
|
|
5862
5939
|
get children() {
|
|
5863
|
-
var _el$
|
|
5864
|
-
insert(_el$
|
|
5940
|
+
var _el$38 = _tmpl$9$2(), _el$39 = _el$38.firstChild, _el$40 = _el$39.firstChild, _el$41 = _el$40.firstChild, _el$42 = _el$41.nextSibling, _el$44 = _el$39.nextSibling, _el$45 = _el$44.nextSibling, _el$46 = _el$45.firstChild, _el$47 = _el$46.firstChild, _el$48 = _el$47.nextSibling, _el$55 = _el$45.nextSibling, _el$56 = _el$55.firstChild, _el$57 = _el$56.firstChild, _el$58 = _el$57.nextSibling, _el$59 = _el$56.nextSibling, _el$60 = _el$55.nextSibling;
|
|
5941
|
+
insert(_el$42, (() => {
|
|
5865
5942
|
var _c$2 = memo(() => !!normalizedBookmarkSearch());
|
|
5866
5943
|
return () => _c$2() ? `${bookmarkMatchCount()} matches for "${bookmarkSearchQuery().trim()}"` : `${bookmarksState2().bookmarks.length} saved across ${bookmarkFolders().length} folders`;
|
|
5867
5944
|
})());
|
|
5868
|
-
insert(_el$
|
|
5945
|
+
insert(_el$39, createComponent(Show, {
|
|
5869
5946
|
get when() {
|
|
5870
5947
|
return currentTabSaved();
|
|
5871
5948
|
},
|
|
5872
5949
|
get children() {
|
|
5873
|
-
return _tmpl$
|
|
5950
|
+
return _tmpl$7$2();
|
|
5874
5951
|
}
|
|
5875
5952
|
}), null);
|
|
5876
|
-
_el$
|
|
5877
|
-
_el$
|
|
5878
|
-
insert(_el$
|
|
5953
|
+
_el$44.$$input = (e) => setBookmarkSearchQuery(e.currentTarget.value);
|
|
5954
|
+
_el$46.$$click = () => setBookmarkSaveExpanded((current) => !current);
|
|
5955
|
+
insert(_el$45, createComponent(Show, {
|
|
5879
5956
|
get when() {
|
|
5880
5957
|
return bookmarkSaveExpanded();
|
|
5881
5958
|
},
|
|
5882
5959
|
get children() {
|
|
5883
|
-
var _el$
|
|
5884
|
-
insert(_el$
|
|
5885
|
-
insert(_el$
|
|
5886
|
-
insert(_el$
|
|
5960
|
+
var _el$49 = _tmpl$8$2(), _el$50 = _el$49.firstChild, _el$51 = _el$50.nextSibling, _el$52 = _el$51.nextSibling, _el$53 = _el$52.firstChild, _el$54 = _el$52.nextSibling;
|
|
5961
|
+
insert(_el$50, () => currentTab()?.title || "No active page");
|
|
5962
|
+
insert(_el$51, () => currentTab()?.url || "Open a page to save it here.");
|
|
5963
|
+
insert(_el$52, createComponent(DropdownSelect, {
|
|
5887
5964
|
"class": "bookmark-select",
|
|
5888
5965
|
get value() {
|
|
5889
5966
|
return selectedFolderId();
|
|
@@ -5893,29 +5970,29 @@ ${contextBlock}` : contextBlock);
|
|
|
5893
5970
|
},
|
|
5894
5971
|
ariaLabel: "Bookmark folder",
|
|
5895
5972
|
onChange: (value) => setSelectedFolderId(value)
|
|
5896
|
-
}), _el$
|
|
5897
|
-
_el$
|
|
5898
|
-
_el$
|
|
5899
|
-
createRenderEffect(() => _el$
|
|
5900
|
-
createRenderEffect(() => _el$
|
|
5901
|
-
return _el$
|
|
5973
|
+
}), _el$53);
|
|
5974
|
+
_el$53.$$click = () => void handleSaveBookmark();
|
|
5975
|
+
_el$54.$$input = (e) => setBookmarkNote(e.currentTarget.value);
|
|
5976
|
+
createRenderEffect(() => _el$53.disabled = !currentTab()?.url);
|
|
5977
|
+
createRenderEffect(() => _el$54.value = bookmarkNote());
|
|
5978
|
+
return _el$49;
|
|
5902
5979
|
}
|
|
5903
5980
|
}), null);
|
|
5904
|
-
_el$
|
|
5905
|
-
_el$
|
|
5906
|
-
_el$
|
|
5907
|
-
insert(_el$
|
|
5981
|
+
_el$55.addEventListener("submit", handleCreateFolder);
|
|
5982
|
+
_el$57.$$input = (e) => setNewFolderName(e.currentTarget.value);
|
|
5983
|
+
_el$58.$$input = (e) => setNewFolderSummary(e.currentTarget.value);
|
|
5984
|
+
insert(_el$60, createComponent(Show, {
|
|
5908
5985
|
get when() {
|
|
5909
5986
|
return filteredGroupedBookmarks().length > 0;
|
|
5910
5987
|
},
|
|
5911
5988
|
get fallback() {
|
|
5912
5989
|
return (() => {
|
|
5913
|
-
var _el$
|
|
5914
|
-
insert(_el$
|
|
5990
|
+
var _el$121 = _tmpl$31();
|
|
5991
|
+
insert(_el$121, (() => {
|
|
5915
5992
|
var _c$5 = memo(() => !!normalizedBookmarkSearch());
|
|
5916
5993
|
return () => _c$5() ? `No bookmarks matched "${bookmarkSearchQuery().trim()}".` : "No bookmarks saved yet.";
|
|
5917
5994
|
})());
|
|
5918
|
-
return _el$
|
|
5995
|
+
return _el$121;
|
|
5919
5996
|
})();
|
|
5920
5997
|
},
|
|
5921
5998
|
get children() {
|
|
@@ -5924,71 +6001,71 @@ ${contextBlock}` : contextBlock);
|
|
|
5924
6001
|
return filteredGroupedBookmarks();
|
|
5925
6002
|
},
|
|
5926
6003
|
children: (folder) => (() => {
|
|
5927
|
-
var _el$
|
|
5928
|
-
_el$
|
|
6004
|
+
var _el$122 = _tmpl$36(), _el$123 = _el$122.firstChild, _el$124 = _el$123.firstChild, _el$125 = _el$124.firstChild, _el$126 = _el$125.nextSibling, _el$127 = _el$126.firstChild, _el$128 = _el$127.nextSibling, _el$129 = _el$128.firstChild;
|
|
6005
|
+
_el$123.$$keydown = (e) => {
|
|
5929
6006
|
if (e.key === "Enter" || e.key === " ") {
|
|
5930
6007
|
e.preventDefault();
|
|
5931
6008
|
toggleFolderExpanded(folder.id);
|
|
5932
6009
|
}
|
|
5933
6010
|
};
|
|
5934
|
-
_el$
|
|
5935
|
-
insert(_el$
|
|
5936
|
-
insert(_el$
|
|
5937
|
-
insert(_el$
|
|
6011
|
+
_el$123.$$click = () => toggleFolderExpanded(folder.id);
|
|
6012
|
+
insert(_el$127, () => folder.name);
|
|
6013
|
+
insert(_el$128, () => folder.items.length, _el$129);
|
|
6014
|
+
insert(_el$126, createComponent(Show, {
|
|
5938
6015
|
get when() {
|
|
5939
6016
|
return folder.summary;
|
|
5940
6017
|
},
|
|
5941
6018
|
get children() {
|
|
5942
|
-
var _el$
|
|
5943
|
-
insert(_el$
|
|
5944
|
-
return _el$
|
|
6019
|
+
var _el$130 = _tmpl$32();
|
|
6020
|
+
insert(_el$130, () => folder.summary);
|
|
6021
|
+
return _el$130;
|
|
5945
6022
|
}
|
|
5946
6023
|
}), null);
|
|
5947
|
-
insert(_el$
|
|
6024
|
+
insert(_el$123, createComponent(Show, {
|
|
5948
6025
|
get when() {
|
|
5949
6026
|
return folder.id !== UNSORTED_FOLDER.id;
|
|
5950
6027
|
},
|
|
5951
6028
|
get children() {
|
|
5952
|
-
var _el$
|
|
5953
|
-
_el$
|
|
6029
|
+
var _el$131 = _tmpl$33(), _el$132 = _el$131.firstChild, _el$133 = _el$132.nextSibling;
|
|
6030
|
+
_el$132.$$click = (e) => {
|
|
5954
6031
|
e.stopPropagation();
|
|
5955
6032
|
setEditingFolderId(folder.id);
|
|
5956
6033
|
setEditingFolderName(folder.name);
|
|
5957
6034
|
setEditingFolderSummary(folder.summary || "");
|
|
5958
6035
|
};
|
|
5959
|
-
_el$
|
|
6036
|
+
_el$133.$$click = (e) => {
|
|
5960
6037
|
e.stopPropagation();
|
|
5961
6038
|
void handleRemoveFolder(folder.id);
|
|
5962
6039
|
};
|
|
5963
|
-
return _el$
|
|
6040
|
+
return _el$131;
|
|
5964
6041
|
}
|
|
5965
6042
|
}), null);
|
|
5966
|
-
insert(_el$
|
|
6043
|
+
insert(_el$122, createComponent(Show, {
|
|
5967
6044
|
get when() {
|
|
5968
6045
|
return editingFolderId() === folder.id;
|
|
5969
6046
|
},
|
|
5970
6047
|
get children() {
|
|
5971
|
-
var _el$
|
|
5972
|
-
_el$
|
|
5973
|
-
_el$
|
|
5974
|
-
_el$
|
|
5975
|
-
_el$
|
|
6048
|
+
var _el$134 = _tmpl$34(), _el$135 = _el$134.firstChild, _el$136 = _el$135.firstChild, _el$137 = _el$136.nextSibling, _el$138 = _el$135.nextSibling, _el$139 = _el$138.nextSibling;
|
|
6049
|
+
_el$136.$$input = (e) => setEditingFolderName(e.currentTarget.value);
|
|
6050
|
+
_el$137.$$input = (e) => setEditingFolderSummary(e.currentTarget.value);
|
|
6051
|
+
_el$138.$$click = () => void handleRenameFolder(folder.id);
|
|
6052
|
+
_el$139.$$click = () => {
|
|
5976
6053
|
setEditingFolderId(null);
|
|
5977
6054
|
setEditingFolderName("");
|
|
5978
6055
|
setEditingFolderSummary("");
|
|
5979
6056
|
};
|
|
5980
|
-
createRenderEffect(() => _el$
|
|
5981
|
-
createRenderEffect(() => _el$
|
|
5982
|
-
createRenderEffect(() => _el$
|
|
5983
|
-
return _el$
|
|
6057
|
+
createRenderEffect(() => _el$138.disabled = !editingFolderName().trim());
|
|
6058
|
+
createRenderEffect(() => _el$136.value = editingFolderName());
|
|
6059
|
+
createRenderEffect(() => _el$137.value = editingFolderSummary());
|
|
6060
|
+
return _el$134;
|
|
5984
6061
|
}
|
|
5985
6062
|
}), null);
|
|
5986
|
-
insert(_el$
|
|
6063
|
+
insert(_el$122, createComponent(Show, {
|
|
5987
6064
|
get when() {
|
|
5988
6065
|
return isFolderExpanded(folder.id);
|
|
5989
6066
|
},
|
|
5990
6067
|
get fallback() {
|
|
5991
|
-
return _tmpl$
|
|
6068
|
+
return _tmpl$37();
|
|
5992
6069
|
},
|
|
5993
6070
|
get children() {
|
|
5994
6071
|
return createComponent(Show, {
|
|
@@ -5996,116 +6073,116 @@ ${contextBlock}` : contextBlock);
|
|
|
5996
6073
|
return folder.items.length > 0;
|
|
5997
6074
|
},
|
|
5998
6075
|
get fallback() {
|
|
5999
|
-
return _tmpl$
|
|
6076
|
+
return _tmpl$38();
|
|
6000
6077
|
},
|
|
6001
6078
|
get children() {
|
|
6002
|
-
var _el$
|
|
6003
|
-
insert(_el$
|
|
6079
|
+
var _el$140 = _tmpl$35();
|
|
6080
|
+
insert(_el$140, createComponent(For, {
|
|
6004
6081
|
get each() {
|
|
6005
6082
|
return folder.items;
|
|
6006
6083
|
},
|
|
6007
6084
|
children: (bookmark) => (() => {
|
|
6008
|
-
var _el$
|
|
6009
|
-
_el$
|
|
6010
|
-
insert(_el$
|
|
6011
|
-
insert(_el$
|
|
6012
|
-
insert(_el$
|
|
6085
|
+
var _el$143 = _tmpl$40(), _el$144 = _el$143.firstChild, _el$145 = _el$144.firstChild, _el$146 = _el$145.nextSibling, _el$148 = _el$144.nextSibling, _el$149 = _el$148.firstChild, _el$150 = _el$149.nextSibling;
|
|
6086
|
+
_el$144.$$click = () => void createTab(bookmark.url);
|
|
6087
|
+
insert(_el$145, () => bookmark.title || bookmark.url);
|
|
6088
|
+
insert(_el$146, () => bookmark.url);
|
|
6089
|
+
insert(_el$143, createComponent(Show, {
|
|
6013
6090
|
get when() {
|
|
6014
6091
|
return bookmark.note;
|
|
6015
6092
|
},
|
|
6016
6093
|
get children() {
|
|
6017
|
-
var _el$
|
|
6018
|
-
insert(_el$
|
|
6019
|
-
return _el$
|
|
6094
|
+
var _el$147 = _tmpl$39();
|
|
6095
|
+
insert(_el$147, () => bookmark.note);
|
|
6096
|
+
return _el$147;
|
|
6020
6097
|
}
|
|
6021
|
-
}), _el$
|
|
6022
|
-
insert(_el$
|
|
6023
|
-
_el$
|
|
6024
|
-
createRenderEffect(() => setAttribute(_el$
|
|
6025
|
-
return _el$
|
|
6098
|
+
}), _el$148);
|
|
6099
|
+
insert(_el$149, () => formatBookmarkDate(bookmark.savedAt));
|
|
6100
|
+
_el$150.$$click = () => void removeBookmark(bookmark.id);
|
|
6101
|
+
createRenderEffect(() => setAttribute(_el$143, "data-bookmark-id", bookmark.id));
|
|
6102
|
+
return _el$143;
|
|
6026
6103
|
})()
|
|
6027
6104
|
}));
|
|
6028
|
-
return _el$
|
|
6105
|
+
return _el$140;
|
|
6029
6106
|
}
|
|
6030
6107
|
});
|
|
6031
6108
|
}
|
|
6032
6109
|
}), null);
|
|
6033
|
-
createRenderEffect(() => _el$
|
|
6034
|
-
return _el$
|
|
6110
|
+
createRenderEffect(() => _el$125.classList.toggle("expanded", !!isFolderExpanded(folder.id)));
|
|
6111
|
+
return _el$122;
|
|
6035
6112
|
})()
|
|
6036
6113
|
});
|
|
6037
6114
|
}
|
|
6038
6115
|
}));
|
|
6039
6116
|
createRenderEffect((_p$) => {
|
|
6040
6117
|
var _v$ = !!bookmarkSaveExpanded(), _v$2 = !newFolderName().trim();
|
|
6041
|
-
_v$ !== _p$.e && _el$
|
|
6042
|
-
_v$2 !== _p$.t && (_el$
|
|
6118
|
+
_v$ !== _p$.e && _el$48.classList.toggle("expanded", _p$.e = _v$);
|
|
6119
|
+
_v$2 !== _p$.t && (_el$59.disabled = _p$.t = _v$2);
|
|
6043
6120
|
return _p$;
|
|
6044
6121
|
}, {
|
|
6045
6122
|
e: void 0,
|
|
6046
6123
|
t: void 0
|
|
6047
6124
|
});
|
|
6048
|
-
createRenderEffect(() => _el$
|
|
6049
|
-
createRenderEffect(() => _el$
|
|
6050
|
-
createRenderEffect(() => _el$
|
|
6051
|
-
return _el$
|
|
6125
|
+
createRenderEffect(() => _el$44.value = bookmarkSearchQuery());
|
|
6126
|
+
createRenderEffect(() => _el$57.value = newFolderName());
|
|
6127
|
+
createRenderEffect(() => _el$58.value = newFolderSummary());
|
|
6128
|
+
return _el$38;
|
|
6052
6129
|
}
|
|
6053
|
-
}), _el$
|
|
6054
|
-
insert(_el$
|
|
6130
|
+
}), _el$86);
|
|
6131
|
+
insert(_el$23, createComponent(Show, {
|
|
6055
6132
|
get when() {
|
|
6056
6133
|
return sidebarTab() === "checkpoints";
|
|
6057
6134
|
},
|
|
6058
6135
|
get children() {
|
|
6059
|
-
var _el$
|
|
6060
|
-
_el$
|
|
6061
|
-
insert(_el$
|
|
6136
|
+
var _el$61 = _tmpl$1$2(), _el$62 = _el$61.firstChild, _el$63 = _el$62.firstChild, _el$64 = _el$63.firstChild, _el$65 = _el$64.nextSibling, _el$66 = _el$62.nextSibling, _el$67 = _el$66.firstChild, _el$68 = _el$67.firstChild, _el$69 = _el$68.nextSibling;
|
|
6137
|
+
_el$67.nextSibling;
|
|
6138
|
+
insert(_el$65, (() => {
|
|
6062
6139
|
var _c$3 = memo(() => recentCheckpoints().length > 0);
|
|
6063
6140
|
return () => _c$3() ? `${recentCheckpoints().length} saved snapshots` : "Save and restore session snapshots";
|
|
6064
6141
|
})());
|
|
6065
|
-
_el$
|
|
6066
|
-
_el$
|
|
6142
|
+
_el$68.$$input = (e) => setCheckpointName(e.currentTarget.value);
|
|
6143
|
+
_el$69.$$click = async () => {
|
|
6067
6144
|
const name = checkpointName().trim();
|
|
6068
6145
|
await createCheckpoint(name || void 0);
|
|
6069
6146
|
setCheckpointName("");
|
|
6070
6147
|
};
|
|
6071
|
-
insert(_el$
|
|
6148
|
+
insert(_el$66, createComponent(Show, {
|
|
6072
6149
|
get when() {
|
|
6073
6150
|
return recentCheckpoints().length > 0;
|
|
6074
6151
|
},
|
|
6075
6152
|
get fallback() {
|
|
6076
|
-
return _tmpl$
|
|
6153
|
+
return _tmpl$41();
|
|
6077
6154
|
},
|
|
6078
6155
|
get children() {
|
|
6079
|
-
var _el$
|
|
6080
|
-
insert(_el$
|
|
6156
|
+
var _el$71 = _tmpl$0$2();
|
|
6157
|
+
insert(_el$71, createComponent(For, {
|
|
6081
6158
|
get each() {
|
|
6082
6159
|
return recentCheckpoints();
|
|
6083
6160
|
},
|
|
6084
6161
|
children: (checkpoint, i) => (() => {
|
|
6085
|
-
var _el$
|
|
6086
|
-
insert(_el$
|
|
6162
|
+
var _el$152 = _tmpl$43(), _el$153 = _el$152.firstChild, _el$154 = _el$153.firstChild, _el$156 = _el$153.nextSibling, _el$157 = _el$156.firstChild, _el$158 = _el$157.nextSibling, _el$159 = _el$158.nextSibling;
|
|
6163
|
+
insert(_el$153, createComponent(Show, {
|
|
6087
6164
|
get when() {
|
|
6088
6165
|
return i() < recentCheckpoints().length - 1;
|
|
6089
6166
|
},
|
|
6090
6167
|
get children() {
|
|
6091
|
-
return _tmpl$
|
|
6168
|
+
return _tmpl$42();
|
|
6092
6169
|
}
|
|
6093
6170
|
}), null);
|
|
6094
|
-
insert(_el$
|
|
6095
|
-
insert(_el$
|
|
6096
|
-
_el$
|
|
6097
|
-
createRenderEffect(() => _el$
|
|
6098
|
-
return _el$
|
|
6171
|
+
insert(_el$157, () => checkpoint.name);
|
|
6172
|
+
insert(_el$158, () => new Date(checkpoint.createdAt).toLocaleString());
|
|
6173
|
+
_el$159.$$click = () => void restoreCheckpoint(checkpoint.id);
|
|
6174
|
+
createRenderEffect(() => _el$154.classList.toggle("latest", !!(i() === 0)));
|
|
6175
|
+
return _el$152;
|
|
6099
6176
|
})()
|
|
6100
6177
|
}));
|
|
6101
|
-
return _el$
|
|
6178
|
+
return _el$71;
|
|
6102
6179
|
}
|
|
6103
6180
|
}), null);
|
|
6104
|
-
createRenderEffect(() => _el$
|
|
6105
|
-
return _el$
|
|
6181
|
+
createRenderEffect(() => _el$68.value = checkpointName());
|
|
6182
|
+
return _el$61;
|
|
6106
6183
|
}
|
|
6107
|
-
}), _el$
|
|
6108
|
-
insert(_el$
|
|
6184
|
+
}), _el$86);
|
|
6185
|
+
insert(_el$23, createComponent(Show, {
|
|
6109
6186
|
get when() {
|
|
6110
6187
|
return sidebarTab() === "automation";
|
|
6111
6188
|
},
|
|
@@ -6114,61 +6191,97 @@ ${contextBlock}` : contextBlock);
|
|
|
6114
6191
|
onRun: () => setSidebarTab("supervisor")
|
|
6115
6192
|
});
|
|
6116
6193
|
}
|
|
6117
|
-
}), _el$
|
|
6118
|
-
insert(_el$
|
|
6194
|
+
}), _el$86);
|
|
6195
|
+
insert(_el$23, createComponent(Show, {
|
|
6119
6196
|
get when() {
|
|
6120
6197
|
return sidebarTab() === "chat";
|
|
6121
6198
|
},
|
|
6122
6199
|
get children() {
|
|
6123
|
-
return [createComponent(
|
|
6200
|
+
return [createComponent(Show, {
|
|
6201
|
+
get when() {
|
|
6202
|
+
return !isPremium();
|
|
6203
|
+
},
|
|
6204
|
+
get children() {
|
|
6205
|
+
var _el$72 = _tmpl$10$2(), _el$73 = _el$72.firstChild, _el$74 = _el$73.nextSibling, _el$75 = _el$74.nextSibling, _el$76 = _el$75.firstChild, _el$77 = _el$76.nextSibling;
|
|
6206
|
+
_el$76.$$click = () => openPremiumCheckout("chat_banner_clicked");
|
|
6207
|
+
_el$77.$$click = openPremiumDetails;
|
|
6208
|
+
return _el$72;
|
|
6209
|
+
}
|
|
6210
|
+
}), createComponent(For, {
|
|
6124
6211
|
get each() {
|
|
6125
6212
|
return messages2();
|
|
6126
6213
|
},
|
|
6127
6214
|
children: (msg) => (() => {
|
|
6128
|
-
var _el$
|
|
6129
|
-
insert(_el$
|
|
6215
|
+
var _el$160 = _tmpl$44();
|
|
6216
|
+
insert(_el$160, createComponent(MarkdownMessage, {
|
|
6130
6217
|
get content() {
|
|
6131
6218
|
return msg.content;
|
|
6132
6219
|
}
|
|
6133
|
-
}));
|
|
6134
|
-
|
|
6135
|
-
|
|
6220
|
+
}), null);
|
|
6221
|
+
insert(_el$160, createComponent(Show, {
|
|
6222
|
+
get when() {
|
|
6223
|
+
return memo(() => msg.role === "assistant")() ? getPremiumPromptKind(msg.content) : null;
|
|
6224
|
+
},
|
|
6225
|
+
children: (kind) => createComponent(PremiumPromptCard, {
|
|
6226
|
+
get kind() {
|
|
6227
|
+
return kind();
|
|
6228
|
+
},
|
|
6229
|
+
compact: true,
|
|
6230
|
+
onStartTrial: () => openPremiumCheckout(kind() === "premium_gate" ? "premium_gate_clicked" : "iteration_limit_clicked"),
|
|
6231
|
+
onOpenSettings: openPremiumDetails
|
|
6232
|
+
})
|
|
6233
|
+
}), null);
|
|
6234
|
+
createRenderEffect(() => className(_el$160, `message message-${msg.role}`));
|
|
6235
|
+
return _el$160;
|
|
6136
6236
|
})()
|
|
6137
6237
|
}), createComponent(Show, {
|
|
6138
6238
|
get when() {
|
|
6139
6239
|
return isStreaming2();
|
|
6140
6240
|
},
|
|
6141
6241
|
get children() {
|
|
6142
|
-
var _el$
|
|
6143
|
-
insert(_el$
|
|
6242
|
+
var _el$78 = _tmpl$13$1(), _el$79 = _el$78.firstChild;
|
|
6243
|
+
insert(_el$79, createComponent(Show, {
|
|
6144
6244
|
get when() {
|
|
6145
6245
|
return hasFirstChunk2();
|
|
6146
6246
|
},
|
|
6147
6247
|
get fallback() {
|
|
6148
|
-
return _tmpl$
|
|
6248
|
+
return _tmpl$45();
|
|
6149
6249
|
},
|
|
6150
6250
|
get children() {
|
|
6151
|
-
var _el$
|
|
6152
|
-
_el$
|
|
6153
|
-
insert(_el$
|
|
6251
|
+
var _el$80 = _tmpl$12$2(), _el$81 = _el$80.firstChild, _el$82 = _el$81.firstChild;
|
|
6252
|
+
_el$82.nextSibling;
|
|
6253
|
+
insert(_el$80, createComponent(MarkdownMessage, {
|
|
6154
6254
|
get content() {
|
|
6155
6255
|
return streamingText2();
|
|
6156
6256
|
}
|
|
6157
|
-
}), _el$
|
|
6158
|
-
insert(_el$
|
|
6257
|
+
}), _el$81);
|
|
6258
|
+
insert(_el$80, createComponent(Show, {
|
|
6259
|
+
get when() {
|
|
6260
|
+
return getPremiumPromptKind(streamingText2());
|
|
6261
|
+
},
|
|
6262
|
+
children: (kind) => createComponent(PremiumPromptCard, {
|
|
6263
|
+
get kind() {
|
|
6264
|
+
return kind();
|
|
6265
|
+
},
|
|
6266
|
+
compact: true,
|
|
6267
|
+
onStartTrial: () => openPremiumCheckout(kind() === "premium_gate" ? "premium_gate_clicked" : "iteration_limit_clicked"),
|
|
6268
|
+
onOpenSettings: openPremiumDetails
|
|
6269
|
+
})
|
|
6270
|
+
}), _el$81);
|
|
6271
|
+
insert(_el$81, createComponent(Show, {
|
|
6159
6272
|
get when() {
|
|
6160
6273
|
return elapsedSeconds() > 0;
|
|
6161
6274
|
},
|
|
6162
6275
|
get children() {
|
|
6163
|
-
var _el$
|
|
6164
|
-
insert(_el$
|
|
6165
|
-
return _el$
|
|
6276
|
+
var _el$84 = _tmpl$11$2();
|
|
6277
|
+
insert(_el$84, () => ` • ${elapsedSeconds()}s`);
|
|
6278
|
+
return _el$84;
|
|
6166
6279
|
}
|
|
6167
6280
|
}), null);
|
|
6168
|
-
return _el$
|
|
6281
|
+
return _el$80;
|
|
6169
6282
|
}
|
|
6170
6283
|
}));
|
|
6171
|
-
return _el$
|
|
6284
|
+
return _el$78;
|
|
6172
6285
|
}
|
|
6173
6286
|
}), createComponent(Show, {
|
|
6174
6287
|
get when() {
|
|
@@ -6180,22 +6293,22 @@ ${contextBlock}` : contextBlock);
|
|
|
6180
6293
|
return runtimeState2().supervisor.pendingApprovals;
|
|
6181
6294
|
},
|
|
6182
6295
|
children: (approval) => (() => {
|
|
6183
|
-
var _el$
|
|
6184
|
-
insert(_el$
|
|
6185
|
-
insert(_el$
|
|
6296
|
+
var _el$162 = _tmpl$47(), _el$163 = _el$162.firstChild, _el$164 = _el$163.nextSibling, _el$165 = _el$164.firstChild, _el$166 = _el$165.firstChild, _el$167 = _el$166.nextSibling, _el$169 = _el$165.nextSibling, _el$170 = _el$169.nextSibling, _el$171 = _el$170.firstChild, _el$172 = _el$171.nextSibling;
|
|
6297
|
+
insert(_el$167, () => approval.name);
|
|
6298
|
+
insert(_el$164, createComponent(Show, {
|
|
6186
6299
|
get when() {
|
|
6187
6300
|
return approval.argsSummary;
|
|
6188
6301
|
},
|
|
6189
6302
|
get children() {
|
|
6190
|
-
var _el$
|
|
6191
|
-
insert(_el$
|
|
6192
|
-
return _el$
|
|
6303
|
+
var _el$168 = _tmpl$46();
|
|
6304
|
+
insert(_el$168, () => approval.argsSummary);
|
|
6305
|
+
return _el$168;
|
|
6193
6306
|
}
|
|
6194
|
-
}), _el$
|
|
6195
|
-
insert(_el$
|
|
6196
|
-
_el$
|
|
6197
|
-
_el$
|
|
6198
|
-
return _el$
|
|
6307
|
+
}), _el$169);
|
|
6308
|
+
insert(_el$169, () => approval.reason);
|
|
6309
|
+
_el$171.$$click = () => void resolveApproval(approval.id, true);
|
|
6310
|
+
_el$172.$$click = () => void resolveApproval(approval.id, false);
|
|
6311
|
+
return _el$162;
|
|
6199
6312
|
})()
|
|
6200
6313
|
});
|
|
6201
6314
|
}
|
|
@@ -6204,14 +6317,14 @@ ${contextBlock}` : contextBlock);
|
|
|
6204
6317
|
return memo(() => messages2().length === 0)() && !isStreaming2();
|
|
6205
6318
|
},
|
|
6206
6319
|
get children() {
|
|
6207
|
-
return _tmpl$
|
|
6320
|
+
return _tmpl$14$1();
|
|
6208
6321
|
}
|
|
6209
6322
|
})];
|
|
6210
6323
|
}
|
|
6211
|
-
}), _el$
|
|
6324
|
+
}), _el$86);
|
|
6212
6325
|
var _ref$ = messagesEndRef;
|
|
6213
|
-
typeof _ref$ === "function" ? use(_ref$, _el$
|
|
6214
|
-
insert(_el$
|
|
6326
|
+
typeof _ref$ === "function" ? use(_ref$, _el$86) : messagesEndRef = _el$86;
|
|
6327
|
+
insert(_el$9, createComponent(Show, {
|
|
6215
6328
|
get when() {
|
|
6216
6329
|
return sidebarTab() === "chat";
|
|
6217
6330
|
},
|
|
@@ -6221,137 +6334,137 @@ ${contextBlock}` : contextBlock);
|
|
|
6221
6334
|
return isStreaming2() || messages2().length > 0;
|
|
6222
6335
|
},
|
|
6223
6336
|
get children() {
|
|
6224
|
-
var _el$
|
|
6225
|
-
insert(_el$
|
|
6337
|
+
var _el$87 = _tmpl$17$1();
|
|
6338
|
+
insert(_el$87, createComponent(Show, {
|
|
6226
6339
|
get when() {
|
|
6227
6340
|
return isStreaming2();
|
|
6228
6341
|
},
|
|
6229
6342
|
get children() {
|
|
6230
|
-
var _el$
|
|
6231
|
-
_el$
|
|
6232
|
-
return _el$
|
|
6343
|
+
var _el$88 = _tmpl$15$1();
|
|
6344
|
+
_el$88.$$click = () => cancel();
|
|
6345
|
+
return _el$88;
|
|
6233
6346
|
}
|
|
6234
6347
|
}), null);
|
|
6235
|
-
insert(_el$
|
|
6348
|
+
insert(_el$87, createComponent(Show, {
|
|
6236
6349
|
get when() {
|
|
6237
6350
|
return memo(() => !!!isStreaming2())() && messages2().length > 0;
|
|
6238
6351
|
},
|
|
6239
6352
|
get children() {
|
|
6240
|
-
var _el$
|
|
6241
|
-
_el$
|
|
6242
|
-
return _el$
|
|
6353
|
+
var _el$89 = _tmpl$16$1();
|
|
6354
|
+
_el$89.$$click = handleRetry;
|
|
6355
|
+
return _el$89;
|
|
6243
6356
|
}
|
|
6244
6357
|
}), null);
|
|
6245
|
-
return _el$
|
|
6358
|
+
return _el$87;
|
|
6246
6359
|
}
|
|
6247
6360
|
}), createComponent(Show, {
|
|
6248
6361
|
get when() {
|
|
6249
6362
|
return highlightCount() > 0;
|
|
6250
6363
|
},
|
|
6251
6364
|
get children() {
|
|
6252
|
-
var _el$
|
|
6253
|
-
_el$
|
|
6254
|
-
var _el$
|
|
6255
|
-
_el$
|
|
6256
|
-
_el$
|
|
6257
|
-
insert(_el$
|
|
6365
|
+
var _el$90 = _tmpl$18$1(), _el$91 = _el$90.firstChild, _el$92 = _el$91.nextSibling;
|
|
6366
|
+
_el$92.firstChild;
|
|
6367
|
+
var _el$94 = _el$92.nextSibling;
|
|
6368
|
+
_el$91.$$click = () => void scrollToHighlight(highlightIndex() - 1);
|
|
6369
|
+
_el$92.$$click = () => void scrollToHighlight(highlightIndex() < 0 ? 0 : highlightIndex());
|
|
6370
|
+
insert(_el$92, (() => {
|
|
6258
6371
|
var _c$4 = memo(() => highlightIndex() >= 0);
|
|
6259
6372
|
return () => _c$4() ? `${highlightIndex() + 1} / ${highlightCount()}` : `${highlightCount()} highlight${highlightCount() > 1 ? "s" : ""}`;
|
|
6260
6373
|
})(), null);
|
|
6261
|
-
_el$
|
|
6374
|
+
_el$94.$$click = () => void scrollToHighlight(highlightIndex() < 0 ? 0 : highlightIndex() + 1);
|
|
6262
6375
|
createRenderEffect((_p$) => {
|
|
6263
6376
|
var _v$3 = highlightIndex() <= 0, _v$4 = highlightIndex() >= highlightCount() - 1;
|
|
6264
|
-
_v$3 !== _p$.e && (_el$
|
|
6265
|
-
_v$4 !== _p$.t && (_el$
|
|
6377
|
+
_v$3 !== _p$.e && (_el$91.disabled = _p$.e = _v$3);
|
|
6378
|
+
_v$4 !== _p$.t && (_el$94.disabled = _p$.t = _v$4);
|
|
6266
6379
|
return _p$;
|
|
6267
6380
|
}, {
|
|
6268
6381
|
e: void 0,
|
|
6269
6382
|
t: void 0
|
|
6270
6383
|
});
|
|
6271
|
-
return _el$
|
|
6384
|
+
return _el$90;
|
|
6272
6385
|
}
|
|
6273
6386
|
}), createComponent(Show, {
|
|
6274
6387
|
get when() {
|
|
6275
6388
|
return queueNotice2() !== null || pendingQueryCount() > 0;
|
|
6276
6389
|
},
|
|
6277
6390
|
get children() {
|
|
6278
|
-
var _el$
|
|
6279
|
-
insert(_el$
|
|
6280
|
-
insert(_el$
|
|
6391
|
+
var _el$95 = _tmpl$21$1(), _el$96 = _el$95.firstChild, _el$97 = _el$96.firstChild;
|
|
6392
|
+
insert(_el$97, () => queueNotice2() ?? `Queued ${pendingQueryCount()}/${pendingQueryLimit}.`);
|
|
6393
|
+
insert(_el$96, createComponent(Show, {
|
|
6281
6394
|
get when() {
|
|
6282
6395
|
return pendingQueryCount() > 0;
|
|
6283
6396
|
},
|
|
6284
6397
|
get children() {
|
|
6285
|
-
var _el$
|
|
6286
|
-
_el$
|
|
6287
|
-
return _el$
|
|
6398
|
+
var _el$98 = _tmpl$19$1();
|
|
6399
|
+
_el$98.$$click = () => clearPendingQueries();
|
|
6400
|
+
return _el$98;
|
|
6288
6401
|
}
|
|
6289
6402
|
}), null);
|
|
6290
|
-
insert(_el$
|
|
6403
|
+
insert(_el$95, createComponent(Show, {
|
|
6291
6404
|
get when() {
|
|
6292
6405
|
return pendingQueries2().length > 0;
|
|
6293
6406
|
},
|
|
6294
6407
|
get children() {
|
|
6295
|
-
var _el$
|
|
6296
|
-
insert(_el$
|
|
6408
|
+
var _el$99 = _tmpl$20$1();
|
|
6409
|
+
insert(_el$99, createComponent(For, {
|
|
6297
6410
|
get each() {
|
|
6298
6411
|
return pendingQueries2();
|
|
6299
6412
|
},
|
|
6300
6413
|
children: (pendingPrompt, index) => (() => {
|
|
6301
|
-
var _el$
|
|
6302
|
-
setAttribute(_el$
|
|
6303
|
-
insert(_el$
|
|
6304
|
-
_el$
|
|
6305
|
-
createRenderEffect(() => setAttribute(_el$
|
|
6306
|
-
return _el$
|
|
6414
|
+
var _el$173 = _tmpl$48(), _el$174 = _el$173.firstChild, _el$175 = _el$174.nextSibling;
|
|
6415
|
+
setAttribute(_el$174, "title", pendingPrompt);
|
|
6416
|
+
insert(_el$174, pendingPrompt);
|
|
6417
|
+
_el$175.$$click = () => removePendingQuery(index());
|
|
6418
|
+
createRenderEffect(() => setAttribute(_el$175, "aria-label", `Remove queued prompt ${index() + 1}`));
|
|
6419
|
+
return _el$173;
|
|
6307
6420
|
})()
|
|
6308
6421
|
}));
|
|
6309
|
-
return _el$
|
|
6422
|
+
return _el$99;
|
|
6310
6423
|
}
|
|
6311
6424
|
}), null);
|
|
6312
|
-
return _el$
|
|
6425
|
+
return _el$95;
|
|
6313
6426
|
}
|
|
6314
6427
|
}), (() => {
|
|
6315
|
-
var _el$
|
|
6316
|
-
_el$
|
|
6428
|
+
var _el$100 = _tmpl$22$1(), _el$101 = _el$100.firstChild, _el$102 = _el$101.nextSibling;
|
|
6429
|
+
_el$101.$$keydown = (e) => {
|
|
6317
6430
|
if (e.key === "Enter" && !e.shiftKey) {
|
|
6318
6431
|
e.preventDefault();
|
|
6319
6432
|
void handleChatSend();
|
|
6320
6433
|
}
|
|
6321
6434
|
};
|
|
6322
|
-
_el$
|
|
6435
|
+
_el$101.$$input = (e) => setChatInput(e.currentTarget.value);
|
|
6323
6436
|
var _ref$2 = chatInputRef;
|
|
6324
|
-
typeof _ref$2 === "function" ? use(_ref$2, _el$
|
|
6325
|
-
_el$
|
|
6326
|
-
insert(_el$
|
|
6437
|
+
typeof _ref$2 === "function" ? use(_ref$2, _el$101) : chatInputRef = _el$101;
|
|
6438
|
+
_el$102.$$click = () => void handleChatSend();
|
|
6439
|
+
insert(_el$102, () => isStreaming2() ? "Queue" : "Send");
|
|
6327
6440
|
createRenderEffect((_p$) => {
|
|
6328
6441
|
var _v$5 = isStreaming2() ? "Send now to queue the next prompt..." : "Ask anything...", _v$6 = !chatInput().trim();
|
|
6329
|
-
_v$5 !== _p$.e && setAttribute(_el$
|
|
6330
|
-
_v$6 !== _p$.t && (_el$
|
|
6442
|
+
_v$5 !== _p$.e && setAttribute(_el$101, "placeholder", _p$.e = _v$5);
|
|
6443
|
+
_v$6 !== _p$.t && (_el$102.disabled = _p$.t = _v$6);
|
|
6331
6444
|
return _p$;
|
|
6332
6445
|
}, {
|
|
6333
6446
|
e: void 0,
|
|
6334
6447
|
t: void 0
|
|
6335
6448
|
});
|
|
6336
|
-
createRenderEffect(() => _el$
|
|
6337
|
-
return _el$
|
|
6449
|
+
createRenderEffect(() => _el$101.value = chatInput());
|
|
6450
|
+
return _el$100;
|
|
6338
6451
|
})()];
|
|
6339
6452
|
}
|
|
6340
6453
|
}), null);
|
|
6341
6454
|
createRenderEffect((_p$) => {
|
|
6342
6455
|
var _v$7 = `${sidebarWidth2()}px`, _v$8 = !!isDragging(), _v$9 = !!(sidebarTab() === "supervisor"), _v$0 = sidebarTab() === "supervisor", _v$1 = !!(sidebarTab() === "bookmarks"), _v$10 = sidebarTab() === "bookmarks", _v$11 = !!(sidebarTab() === "checkpoints"), _v$12 = sidebarTab() === "checkpoints", _v$13 = !!(sidebarTab() === "chat"), _v$14 = sidebarTab() === "chat", _v$15 = !!(sidebarTab() === "automation"), _v$16 = sidebarTab() === "automation";
|
|
6343
|
-
_v$7 !== _p$.e && setStyleProperty(_el$
|
|
6344
|
-
_v$8 !== _p$.t && _el$
|
|
6345
|
-
_v$9 !== _p$.a && _el$
|
|
6346
|
-
_v$0 !== _p$.o && setAttribute(_el$
|
|
6347
|
-
_v$1 !== _p$.i && _el$
|
|
6348
|
-
_v$10 !== _p$.n && setAttribute(_el$
|
|
6349
|
-
_v$11 !== _p$.s && _el$
|
|
6350
|
-
_v$12 !== _p$.h && setAttribute(_el$
|
|
6351
|
-
_v$13 !== _p$.r && _el$
|
|
6352
|
-
_v$14 !== _p$.d && setAttribute(_el$
|
|
6353
|
-
_v$15 !== _p$.l && _el$
|
|
6354
|
-
_v$16 !== _p$.u && setAttribute(_el$
|
|
6456
|
+
_v$7 !== _p$.e && setStyleProperty(_el$9, "width", _p$.e = _v$7);
|
|
6457
|
+
_v$8 !== _p$.t && _el$0.classList.toggle("dragging", _p$.t = _v$8);
|
|
6458
|
+
_v$9 !== _p$.a && _el$16.classList.toggle("active", _p$.a = _v$9);
|
|
6459
|
+
_v$0 !== _p$.o && setAttribute(_el$16, "aria-selected", _p$.o = _v$0);
|
|
6460
|
+
_v$1 !== _p$.i && _el$19.classList.toggle("active", _p$.i = _v$1);
|
|
6461
|
+
_v$10 !== _p$.n && setAttribute(_el$19, "aria-selected", _p$.n = _v$10);
|
|
6462
|
+
_v$11 !== _p$.s && _el$20.classList.toggle("active", _p$.s = _v$11);
|
|
6463
|
+
_v$12 !== _p$.h && setAttribute(_el$20, "aria-selected", _p$.h = _v$12);
|
|
6464
|
+
_v$13 !== _p$.r && _el$21.classList.toggle("active", _p$.r = _v$13);
|
|
6465
|
+
_v$14 !== _p$.d && setAttribute(_el$21, "aria-selected", _p$.d = _v$14);
|
|
6466
|
+
_v$15 !== _p$.l && _el$22.classList.toggle("active", _p$.l = _v$15);
|
|
6467
|
+
_v$16 !== _p$.u && setAttribute(_el$22, "aria-selected", _p$.u = _v$16);
|
|
6355
6468
|
return _p$;
|
|
6356
6469
|
}, {
|
|
6357
6470
|
e: void 0,
|
|
@@ -6367,11 +6480,11 @@ ${contextBlock}` : contextBlock);
|
|
|
6367
6480
|
l: void 0,
|
|
6368
6481
|
u: void 0
|
|
6369
6482
|
});
|
|
6370
|
-
return _el$
|
|
6483
|
+
return _el$9;
|
|
6371
6484
|
}
|
|
6372
6485
|
});
|
|
6373
6486
|
};
|
|
6374
|
-
delegateEvents(["
|
|
6487
|
+
delegateEvents(["click", "pointerdown", "input", "keydown"]);
|
|
6375
6488
|
var _tmpl$$3 = /* @__PURE__ */ template(`<div class=devtools-console>`), _tmpl$2$3 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for console output... Console monitoring activates when an agent uses devtools.`), _tmpl$3$2 = /* @__PURE__ */ template(`<div><span></span><span class=console-time></span><span class=console-text></span><span class=console-source>`), _tmpl$4$2 = /* @__PURE__ */ template(`<div class=devtools-network><div class=network-header><span>Method</span><span>URL</span><span>Status</span><span>Type</span><span>Time`), _tmpl$5$2 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for network requests... Network monitoring activates when an agent uses devtools.`), _tmpl$6$2 = /* @__PURE__ */ template(`<div><span class=network-method></span><span class=network-url></span><span></span><span class=network-type></span><span class=network-duration>`), _tmpl$7$1 = /* @__PURE__ */ template(`<div class=devtools-activity>`), _tmpl$8$1 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for agent devtools activity...`), _tmpl$9$1 = /* @__PURE__ */ template(`<div class=activity-entry><span class=activity-time></span><span class=activity-tool></span><span class=activity-args></span><span></span><span class=activity-duration>`), _tmpl$0$1 = /* @__PURE__ */ template(`<span class="devtools-tab-badge error">`), _tmpl$1$1 = /* @__PURE__ */ template(`<span class="devtools-tab-badge count">`), _tmpl$10$1 = /* @__PURE__ */ template(`<div class=export-date-inputs><div class=export-date-row><span class=export-date-label>From</span><input class=export-date-input type=date></div><div class=export-date-row><span class=export-date-label>To</span><input class=export-date-input type=date>`), _tmpl$11$1 = /* @__PURE__ */ template(`<div class=devtools-export-dropdown><div class=export-section><div class=export-section-label>Log Types</div><label class=export-checkbox><input type=checkbox>Console</label><label class=export-checkbox><input type=checkbox>Network</label><label class=export-checkbox><input type=checkbox>Activity</label></div><div class=export-section><div class=export-section-label>Date Range</div><div class=export-date-btns><button>Today</button><button>Custom</button></div></div><button class=export-submit>Export JSON`), _tmpl$12$1 = /* @__PURE__ */ template(`<div class=devtools-panel><div class=devtools-tabs><button>Console</button><button>Network</button><button>Activity</button><div class=devtools-tab-spacer></div><div class=devtools-export-wrap><button title="Export Logs"><svg width=13 height=13 viewBox="0 0 13 13"fill=none style=vertical-align:middle><path d="M6.5 1v7M3.5 5l3 3 3-3"stroke=currentColor stroke-width=1.3 stroke-linecap=round stroke-linejoin=round></path><path d="M1 9.5v1A1.5 1.5 0 0 0 2.5 12h8A1.5 1.5 0 0 0 12 10.5v-1"stroke=currentColor stroke-width=1.3 stroke-linecap=round></path></svg></button></div><button class=devtools-close-btn title="Close DevTools">×</button></div><div class=devtools-content>`);
|
|
6376
6489
|
function formatTime(iso) {
|
|
6377
6490
|
try {
|
|
@@ -6801,7 +6914,7 @@ const DevToolsPanel = () => {
|
|
|
6801
6914
|
})();
|
|
6802
6915
|
};
|
|
6803
6916
|
delegateEvents(["click", "input"]);
|
|
6804
|
-
var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner><div class=welcome-banner-header><span class=welcome-banner-title>Welcome to Vessel</span><button class=welcome-banner-dismiss>×</button></div><p class=welcome-banner-text>Get started in three steps:</p><ol class=welcome-banner-steps><li><strong>Configure a chat provider</strong> — scroll to Chat Assistant below and add an API key</li><li><strong>Connect your agent harness</strong> — point it at the MCP endpoint shown below</li><li><strong>Learn the shortcuts</strong> — press <kbd>?</kbd> anytime for a quick reference`), _tmpl$
|
|
6917
|
+
var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><button class="premium-btn premium-btn-upgrade">Try Premium free for 5 days</button><span class=welcome-banner-note>Best for screenshots, saved sessions, credential vault, and longer autonomous runs.`), _tmpl$2$2 = /* @__PURE__ */ template(`<div class=welcome-banner><div class=welcome-banner-header><span class=welcome-banner-title>Welcome to Vessel</span><button class=welcome-banner-dismiss>×</button></div><p class=welcome-banner-text>Get started in three steps:</p><ol class=welcome-banner-steps><li><strong>Configure a chat provider</strong> — scroll to Chat Assistant below and add an API key</li><li><strong>Connect your agent harness</strong> — point it at the MCP endpoint shown below</li><li><strong>Learn the shortcuts</strong> — press <kbd>?</kbd> anytime for a quick reference`), _tmpl$3$1 = /* @__PURE__ */ template(`<div class="settings-callout settings-premium-callout"><div class=settings-callout-title>Start Vessel Premium with a 5-day free trial</div><p class=settings-callout-copy>Unlock screenshots, saved sessions, workflow tracking, table extraction, the credential vault, and longer autonomous runs without leaving the app.</p><div class=settings-premium-callout-actions><button class="premium-btn premium-btn-upgrade">Start free trial</button><button class="premium-btn premium-btn-activate">See activation steps`), _tmpl$4$1 = /* @__PURE__ */ template(`<input id=max-tool-iterations class=settings-input type=number min=10 max=1000 placeholder=200>`), _tmpl$5$1 = /* @__PURE__ */ template(`<div class=settings-field><label class=settings-label for=chat-provider>Provider</label><select id=chat-provider class="settings-input settings-select">`), _tmpl$6$1 = /* @__PURE__ */ template(`<div class=settings-field><label class=settings-label for=chat-api-key>API Key</label><input id=chat-api-key class=settings-input type=password>`), _tmpl$7 = /* @__PURE__ */ template(`<select id=chat-model class="settings-input settings-select"style=flex:1>`), _tmpl$8 = /* @__PURE__ */ template(`<p class=settings-hint style=color:var(--error)>Could not fetch models — check your API key and connection.`), _tmpl$9 = /* @__PURE__ */ template(`<div class=settings-field><label class=settings-label for=chat-model>Model</label><div style=display:flex;gap:6px;align-items:center><button type=button class=settings-refresh-btn title="Refresh model list">↺`), _tmpl$0 = /* @__PURE__ */ template(`<div class=settings-field><label class=settings-label for=chat-base-url>Base URL</label><input id=chat-base-url class=settings-input>`), _tmpl$1 = /* @__PURE__ */ template(`<div class=premium-section><div class=premium-active-badge>Premium Active</div><p class=premium-detail></p><div class=premium-actions-row><button class="premium-btn premium-btn-manage">Manage Subscription</button><button class="premium-btn premium-btn-reset">Sign Out`), _tmpl$10 = /* @__PURE__ */ template(`<span class=vault-premium-badge>Premium`), _tmpl$11 = /* @__PURE__ */ template(`<p class=settings-hint style=margin-bottom:10px>Store credentials for agent-driven logins. Credentials are encrypted at rest and never sent to AI providers — they are filled directly into login forms with your consent.`), _tmpl$12 = /* @__PURE__ */ template(`<div class=vault-entries>`), _tmpl$13 = /* @__PURE__ */ template(`<button class=vault-add-btn>+ Add Credential`), _tmpl$14 = /* @__PURE__ */ template(`<div class=vault-add-form><input class=settings-input placeholder="Label (e.g. Work GitHub)"><input class=settings-input placeholder="Domain pattern (e.g. github.com, *.aws.amazon.com)"><input class=settings-input placeholder="Username / email"><input class=settings-input type=password placeholder=Password><input class=settings-input placeholder="TOTP secret (optional, base32)"><input class=settings-input placeholder="Notes (optional)"><div class=vault-add-actions><button class="premium-btn premium-btn-activate">Save Credential</button><button class="premium-btn premium-btn-reset">Cancel`), _tmpl$15 = /* @__PURE__ */ template(`<div class=command-bar-overlay><div class=settings-panel><h2 class=settings-title>Runtime Settings</h2><div class=settings-callout><div class=settings-callout-title>External Agent Control</div><p class=settings-callout-copy>Vessel is configured to run under an external harness such as Hermes Agent or OpenClaw. Provider and model selection are not configured inside Vessel.</p></div><div class=settings-field><label class=settings-label for=default-homepage>Homepage</label><input id=default-homepage class=settings-input placeholder=https://start.duckduckgo.com><p class=settings-hint>The page that opens when you create a new tab or launch Vessel without restoring a previous session.</p></div><div class=settings-field><label class=settings-label for=mcp-port>MCP Port</label><input id=mcp-port class=settings-input placeholder=3100><p class=settings-hint>External harnesses connect to Vessel at <code>http://127.0.0.1:<port>/mcp</code>. Changing this value restarts the MCP server immediately.</p></div><div class=settings-field><label class=settings-label for=max-tool-iterations>Max Tool Iterations</label><p class=settings-hint></p></div><div class=settings-field><label class=settings-label for=obsidian-vault-path>Obsidian Vault Path</label><input id=obsidian-vault-path class=settings-input placeholder=/home/you/Documents/MyVault><p class=settings-hint>Optional. When set, Vessel memory tools can write markdown notes into this vault for research breadcrumbs and summaries.</p></div><div class=settings-field><label class=settings-label for=agent-transcript-mode>Agent Transcript Monitor</label><select id=agent-transcript-mode class="settings-input settings-select"><option value=off>Off</option><option value=summary>Summary HUD</option><option value=full>Full transcript</option></select><p class=settings-hint>Controls the in-browser transcript monitor when an external harness publishes reasoning or status updates into Vessel via the<code>vessel_publish_transcript</code> MCP tool. Summary HUD shows a compact 2-line status surface; Full transcript shows the recent entry list.</p></div><div class=settings-field><label class=settings-toggle><button type=button class=toggle-switch role=switch><span class=toggle-switch-thumb></span></button><span>Restore last browser session on launch</span></label></div><div class=settings-field><label class=settings-toggle><button type=button class=toggle-switch role=switch><span class=toggle-switch-thumb></span></button><span>Start bookmarks fresh on launch</span></label><p class=settings-hint>Off by default. When enabled, bookmark folders and saved pages are cleared each time Vessel starts.</p></div><div class=settings-section-divider></div><div class=settings-field><label class=settings-toggle><button type=button class=toggle-switch role=switch><span class=toggle-switch-thumb></span></button><span>Enable Chat Assistant</span></label><p class=settings-hint>Adds a Chat tab to the sidebar for conversing with an AI provider of your choice.</p></div><div class=settings-section-divider></div><div class=settings-field><label class=settings-label>Vessel Premium</label></div><div class=settings-section-divider></div><div class=settings-field><label class=settings-label>Agent Credential Vault</label></div><div class=settings-section-divider></div><div class=settings-field><label class=settings-toggle><button type=button class=toggle-switch role=switch><span class=toggle-switch-thumb></span></button><span>Anonymous Usage Analytics</span></label><p class=settings-hint>Help improve Vessel by sending anonymous usage data (tool popularity, session duration, provider type). No URLs, page content, queries, or personal data is ever collected.</p></div><div class=settings-actions><button class=settings-save>Save</button><button class=settings-close>Close`), _tmpl$16 = /* @__PURE__ */ template(`<style>
|
|
6805
6918
|
.settings-panel {
|
|
6806
6919
|
width: min(440px, calc(100vw - 32px));
|
|
6807
6920
|
max-height: calc(100vh - 48px);
|
|
@@ -6845,6 +6958,18 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner><div class=we
|
|
|
6845
6958
|
color: var(--text-secondary);
|
|
6846
6959
|
margin: 0;
|
|
6847
6960
|
}
|
|
6961
|
+
.settings-premium-callout {
|
|
6962
|
+
background:
|
|
6963
|
+
radial-gradient(circle at top right, rgba(196, 160, 90, 0.16), transparent 40%),
|
|
6964
|
+
rgba(224, 200, 120, 0.06);
|
|
6965
|
+
border-color: rgba(196, 160, 90, 0.22);
|
|
6966
|
+
}
|
|
6967
|
+
.settings-premium-callout-actions {
|
|
6968
|
+
display: flex;
|
|
6969
|
+
flex-wrap: wrap;
|
|
6970
|
+
gap: 10px;
|
|
6971
|
+
margin-top: 12px;
|
|
6972
|
+
}
|
|
6848
6973
|
.settings-field {
|
|
6849
6974
|
margin-bottom: 18px;
|
|
6850
6975
|
}
|
|
@@ -7203,6 +7328,19 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner><div class=we
|
|
|
7203
7328
|
border-radius: 3px;
|
|
7204
7329
|
color: var(--text-primary);
|
|
7205
7330
|
}
|
|
7331
|
+
.welcome-banner-actions {
|
|
7332
|
+
margin-top: 14px;
|
|
7333
|
+
display: flex;
|
|
7334
|
+
flex-wrap: wrap;
|
|
7335
|
+
gap: 10px;
|
|
7336
|
+
align-items: center;
|
|
7337
|
+
}
|
|
7338
|
+
.welcome-banner-note {
|
|
7339
|
+
font-size: 11px;
|
|
7340
|
+
line-height: 1.5;
|
|
7341
|
+
color: var(--text-muted);
|
|
7342
|
+
max-width: 360px;
|
|
7343
|
+
}
|
|
7206
7344
|
|
|
7207
7345
|
/* Agent Credential Vault */
|
|
7208
7346
|
.vault-premium-badge {
|
|
@@ -7303,7 +7441,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner><div class=we
|
|
|
7303
7441
|
justify-content: flex-end;
|
|
7304
7442
|
margin-top: 4px;
|
|
7305
7443
|
}
|
|
7306
|
-
`), _tmpl$
|
|
7444
|
+
`), _tmpl$17 = /* @__PURE__ */ template(`<div class="settings-input settings-input-disabled"title="Upgrade to Vessel Premium for unlimited tool iterations">50`), _tmpl$18 = /* @__PURE__ */ template(`<div class=settings-health-issues>`), _tmpl$19 = /* @__PURE__ */ template(`<div class=settings-health><div class=settings-callout-title>Runtime Health</div><p class=settings-hint>MCP status: <strong></strong> `), _tmpl$20 = /* @__PURE__ */ template(`<p class=settings-hint>Active endpoint: <code>`), _tmpl$21 = /* @__PURE__ */ template(`<div class=settings-health-issue><strong></strong><div>`), _tmpl$22 = /* @__PURE__ */ template(`<div>`), _tmpl$23 = /* @__PURE__ */ template(`<option>`), _tmpl$24 = /* @__PURE__ */ template(`<input id=chat-model class=settings-input style=flex:1>`), _tmpl$25 = /* @__PURE__ */ template(`<button class="premium-btn premium-btn-reset">Clear Saved Email`), _tmpl$26 = /* @__PURE__ */ template(`<div class=premium-section><p class=premium-description>Unlock screenshot/vision analysis, session management, Obsidian integration, workflow tracking, DevTools tools, table extraction, Agent Credential Vault, and unlimited tool iterations.</p><div class=premium-activate-row><input class="settings-input premium-email-input"type=email placeholder="Enter your subscription email"><button class="premium-btn premium-btn-activate"></button></div><button class="premium-btn premium-btn-upgrade">Subscribe to Premium — 5-day free trial`), _tmpl$27 = /* @__PURE__ */ template(`<p class=settings-status>`), _tmpl$28 = /* @__PURE__ */ template(`<p class=settings-hint>Securely store credentials for agent-driven logins. Upgrade to Premium to unlock the Agent Credential Vault.`), _tmpl$29 = /* @__PURE__ */ template(`<div class=vault-entry><div class=vault-entry-info><span class=vault-entry-label></span><span class=vault-entry-detail> · </span></div><button class=vault-entry-remove title="Remove credential">×`);
|
|
7307
7445
|
const CHAT_PROVIDERS = [{
|
|
7308
7446
|
id: "anthropic",
|
|
7309
7447
|
name: "Anthropic",
|
|
@@ -7469,10 +7607,16 @@ const Settings = () => {
|
|
|
7469
7607
|
const [premiumEmail, setPremiumEmail] = createSignal("");
|
|
7470
7608
|
const [premiumLoading, setPremiumLoading] = createSignal(false);
|
|
7471
7609
|
const [premiumMessage, setPremiumMessage] = createSignal(null);
|
|
7610
|
+
let trackedSettingsPremiumBanner = false;
|
|
7472
7611
|
const premiumActive = () => {
|
|
7473
7612
|
const s = premiumState().status;
|
|
7474
7613
|
return s === "active" || s === "trialing";
|
|
7475
7614
|
};
|
|
7615
|
+
const trackPremiumContext = (step) => window.vessel.premium.trackContext(step).catch(() => {
|
|
7616
|
+
});
|
|
7617
|
+
const startPremiumCheckout = () => {
|
|
7618
|
+
void window.vessel.premium.checkout(premiumEmail().trim() || void 0);
|
|
7619
|
+
};
|
|
7476
7620
|
const [chatEnabled, setChatEnabled] = createSignal(false);
|
|
7477
7621
|
const [chatProviderId, setChatProviderId] = createSignal("anthropic");
|
|
7478
7622
|
const [chatApiKey, setChatApiKey] = createSignal("");
|
|
@@ -7559,13 +7703,34 @@ const Settings = () => {
|
|
|
7559
7703
|
const unsubscribe = window.vessel.settings.onHealthUpdate((nextHealth) => {
|
|
7560
7704
|
setHealth(nextHealth);
|
|
7561
7705
|
});
|
|
7562
|
-
|
|
7706
|
+
const unsubscribePremium = window.vessel.premium.onUpdate((nextState) => {
|
|
7707
|
+
setPremiumState(nextState);
|
|
7708
|
+
if (nextState.email) {
|
|
7709
|
+
setPremiumEmail(nextState.email);
|
|
7710
|
+
}
|
|
7711
|
+
if (nextState.status === "active" || nextState.status === "trialing") {
|
|
7712
|
+
setPremiumMessage({
|
|
7713
|
+
kind: "success",
|
|
7714
|
+
text: nextState.status === "trialing" ? "Premium trial active. Enjoy the unlocked toolkit." : "Premium activated. Your premium tools are ready."
|
|
7715
|
+
});
|
|
7716
|
+
}
|
|
7717
|
+
});
|
|
7718
|
+
onCleanup(() => {
|
|
7719
|
+
unsubscribe();
|
|
7720
|
+
unsubscribePremium();
|
|
7721
|
+
});
|
|
7563
7722
|
});
|
|
7564
7723
|
createEffect(() => {
|
|
7565
7724
|
if (settingsOpen2()) {
|
|
7566
7725
|
void loadState();
|
|
7567
7726
|
}
|
|
7568
7727
|
});
|
|
7728
|
+
createEffect(() => {
|
|
7729
|
+
if (settingsOpen2() && !premiumActive() && !trackedSettingsPremiumBanner) {
|
|
7730
|
+
trackedSettingsPremiumBanner = true;
|
|
7731
|
+
void window.vessel.premium.trackContext("settings_banner_viewed");
|
|
7732
|
+
}
|
|
7733
|
+
});
|
|
7569
7734
|
const handleSave = async () => {
|
|
7570
7735
|
try {
|
|
7571
7736
|
const parsedPort = Number(mcpPort().trim());
|
|
@@ -7613,11 +7778,11 @@ const Settings = () => {
|
|
|
7613
7778
|
},
|
|
7614
7779
|
get children() {
|
|
7615
7780
|
return [(() => {
|
|
7616
|
-
var _el$ = _tmpl$
|
|
7617
|
-
_el$
|
|
7618
|
-
var _el$
|
|
7619
|
-
_el$
|
|
7620
|
-
var _el$
|
|
7781
|
+
var _el$ = _tmpl$15(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$11 = _el$3.nextSibling, _el$18 = _el$11.nextSibling, _el$19 = _el$18.firstChild, _el$20 = _el$19.nextSibling, _el$21 = _el$18.nextSibling, _el$22 = _el$21.firstChild, _el$23 = _el$22.nextSibling, _el$24 = _el$21.nextSibling, _el$25 = _el$24.firstChild, _el$27 = _el$25.nextSibling, _el$28 = _el$24.nextSibling, _el$29 = _el$28.firstChild, _el$30 = _el$29.nextSibling, _el$31 = _el$28.nextSibling, _el$32 = _el$31.firstChild, _el$33 = _el$32.nextSibling, _el$34 = _el$31.nextSibling, _el$35 = _el$34.firstChild, _el$36 = _el$35.firstChild, _el$37 = _el$34.nextSibling, _el$38 = _el$37.firstChild, _el$39 = _el$38.firstChild, _el$40 = _el$37.nextSibling, _el$41 = _el$40.nextSibling, _el$42 = _el$41.firstChild, _el$43 = _el$42.firstChild, _el$59 = _el$41.nextSibling, _el$60 = _el$59.nextSibling;
|
|
7782
|
+
_el$60.firstChild;
|
|
7783
|
+
var _el$69 = _el$60.nextSibling, _el$70 = _el$69.nextSibling, _el$71 = _el$70.firstChild;
|
|
7784
|
+
_el$71.firstChild;
|
|
7785
|
+
var _el$87 = _el$70.nextSibling, _el$88 = _el$87.nextSibling, _el$89 = _el$88.firstChild, _el$90 = _el$89.firstChild, _el$91 = _el$88.nextSibling, _el$92 = _el$91.firstChild, _el$93 = _el$92.nextSibling;
|
|
7621
7786
|
addEventListener(_el$, "click", closeSettings, true);
|
|
7622
7787
|
_el$2.$$keydown = handleKeyDown;
|
|
7623
7788
|
_el$2.$$click = (e) => e.stopPropagation();
|
|
@@ -7626,31 +7791,64 @@ const Settings = () => {
|
|
|
7626
7791
|
return showWelcome();
|
|
7627
7792
|
},
|
|
7628
7793
|
get children() {
|
|
7629
|
-
var _el$4 = _tmpl
|
|
7794
|
+
var _el$4 = _tmpl$2$2(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling, _el$8 = _el$5.nextSibling, _el$9 = _el$8.nextSibling, _el$0 = _el$9.firstChild;
|
|
7630
7795
|
_el$7.$$click = dismissWelcome;
|
|
7796
|
+
insert(_el$4, createComponent(Show, {
|
|
7797
|
+
get when() {
|
|
7798
|
+
return !premiumActive();
|
|
7799
|
+
},
|
|
7800
|
+
get children() {
|
|
7801
|
+
var _el$1 = _tmpl$$2(), _el$10 = _el$1.firstChild;
|
|
7802
|
+
_el$10.$$click = () => {
|
|
7803
|
+
void trackPremiumContext("welcome_banner_clicked");
|
|
7804
|
+
startPremiumCheckout();
|
|
7805
|
+
};
|
|
7806
|
+
return _el$1;
|
|
7807
|
+
}
|
|
7808
|
+
}), null);
|
|
7631
7809
|
createRenderEffect(() => _el$0.classList.toggle("done", !!chatEnabled()));
|
|
7632
7810
|
return _el$4;
|
|
7633
7811
|
}
|
|
7634
|
-
}), _el$
|
|
7635
|
-
_el$
|
|
7636
|
-
|
|
7637
|
-
|
|
7638
|
-
|
|
7639
|
-
|
|
7812
|
+
}), _el$11);
|
|
7813
|
+
insert(_el$2, createComponent(Show, {
|
|
7814
|
+
get when() {
|
|
7815
|
+
return !premiumActive();
|
|
7816
|
+
},
|
|
7817
|
+
get children() {
|
|
7818
|
+
var _el$12 = _tmpl$3$1(), _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$14.nextSibling, _el$16 = _el$15.firstChild, _el$17 = _el$16.nextSibling;
|
|
7819
|
+
_el$16.$$click = () => {
|
|
7820
|
+
void trackPremiumContext("settings_banner_clicked");
|
|
7821
|
+
startPremiumCheckout();
|
|
7822
|
+
};
|
|
7823
|
+
_el$17.$$click = () => {
|
|
7824
|
+
const premiumSection = document.querySelector(".premium-section");
|
|
7825
|
+
premiumSection?.scrollIntoView({
|
|
7826
|
+
behavior: "smooth",
|
|
7827
|
+
block: "start"
|
|
7828
|
+
});
|
|
7829
|
+
};
|
|
7830
|
+
return _el$12;
|
|
7831
|
+
}
|
|
7832
|
+
}), _el$18);
|
|
7833
|
+
_el$20.$$input = (e) => setDefaultUrl(e.currentTarget.value);
|
|
7834
|
+
setAttribute(_el$20, "spellcheck", false);
|
|
7835
|
+
_el$23.$$input = (e) => setMcpPort(e.currentTarget.value);
|
|
7836
|
+
setAttribute(_el$23, "spellcheck", false);
|
|
7837
|
+
insert(_el$24, createComponent(Show, {
|
|
7640
7838
|
get when() {
|
|
7641
7839
|
return premiumActive();
|
|
7642
7840
|
},
|
|
7643
7841
|
get fallback() {
|
|
7644
|
-
return _tmpl$
|
|
7842
|
+
return _tmpl$17();
|
|
7645
7843
|
},
|
|
7646
7844
|
get children() {
|
|
7647
|
-
var _el$
|
|
7648
|
-
_el$
|
|
7649
|
-
createRenderEffect(() => _el$
|
|
7650
|
-
return _el$
|
|
7845
|
+
var _el$26 = _tmpl$4$1();
|
|
7846
|
+
_el$26.$$input = (e) => setMaxToolIterations(e.currentTarget.value);
|
|
7847
|
+
createRenderEffect(() => _el$26.value = maxToolIterations());
|
|
7848
|
+
return _el$26;
|
|
7651
7849
|
}
|
|
7652
|
-
}), _el$
|
|
7653
|
-
insert(_el$
|
|
7850
|
+
}), _el$27);
|
|
7851
|
+
insert(_el$27, createComponent(Show, {
|
|
7654
7852
|
get when() {
|
|
7655
7853
|
return premiumActive();
|
|
7656
7854
|
},
|
|
@@ -7662,71 +7860,71 @@ const Settings = () => {
|
|
|
7662
7860
|
return health();
|
|
7663
7861
|
},
|
|
7664
7862
|
children: (currentHealth) => (() => {
|
|
7665
|
-
var _el$
|
|
7666
|
-
_el$
|
|
7667
|
-
insert(_el$
|
|
7668
|
-
insert(_el$
|
|
7669
|
-
insert(_el$
|
|
7863
|
+
var _el$96 = _tmpl$19(), _el$97 = _el$96.firstChild, _el$98 = _el$97.nextSibling, _el$99 = _el$98.firstChild, _el$101 = _el$99.nextSibling;
|
|
7864
|
+
_el$101.nextSibling;
|
|
7865
|
+
insert(_el$101, () => currentHealth().mcp.status);
|
|
7866
|
+
insert(_el$98, () => currentHealth().mcp.message, null);
|
|
7867
|
+
insert(_el$96, createComponent(Show, {
|
|
7670
7868
|
get when() {
|
|
7671
7869
|
return currentHealth().mcp.endpoint;
|
|
7672
7870
|
},
|
|
7673
7871
|
children: (endpoint) => (() => {
|
|
7674
|
-
var _el$
|
|
7675
|
-
insert(_el$
|
|
7676
|
-
return _el$
|
|
7872
|
+
var _el$104 = _tmpl$20(), _el$105 = _el$104.firstChild, _el$106 = _el$105.nextSibling;
|
|
7873
|
+
insert(_el$106, endpoint);
|
|
7874
|
+
return _el$104;
|
|
7677
7875
|
})()
|
|
7678
7876
|
}), null);
|
|
7679
|
-
insert(_el$
|
|
7877
|
+
insert(_el$96, createComponent(Show, {
|
|
7680
7878
|
get when() {
|
|
7681
7879
|
return currentHealth().startupIssues.length > 0;
|
|
7682
7880
|
},
|
|
7683
7881
|
get children() {
|
|
7684
|
-
var _el$
|
|
7685
|
-
insert(_el$
|
|
7686
|
-
var _el$
|
|
7687
|
-
insert(_el$
|
|
7688
|
-
insert(_el$
|
|
7689
|
-
insert(_el$
|
|
7882
|
+
var _el$103 = _tmpl$18();
|
|
7883
|
+
insert(_el$103, () => currentHealth().startupIssues.map((issue) => (() => {
|
|
7884
|
+
var _el$107 = _tmpl$21(), _el$108 = _el$107.firstChild, _el$109 = _el$108.nextSibling;
|
|
7885
|
+
insert(_el$108, () => issue.title);
|
|
7886
|
+
insert(_el$109, () => issue.detail);
|
|
7887
|
+
insert(_el$107, createComponent(Show, {
|
|
7690
7888
|
get when() {
|
|
7691
7889
|
return issue.action;
|
|
7692
7890
|
},
|
|
7693
7891
|
children: (action) => (() => {
|
|
7694
|
-
var _el$
|
|
7695
|
-
insert(_el$
|
|
7696
|
-
return _el$
|
|
7892
|
+
var _el$110 = _tmpl$22();
|
|
7893
|
+
insert(_el$110, action);
|
|
7894
|
+
return _el$110;
|
|
7697
7895
|
})()
|
|
7698
7896
|
}), null);
|
|
7699
7897
|
createRenderEffect((_p$) => {
|
|
7700
7898
|
var _v$9 = !!(issue.severity === "warning"), _v$0 = !!(issue.severity === "error");
|
|
7701
|
-
_v$9 !== _p$.e && _el$
|
|
7702
|
-
_v$0 !== _p$.t && _el$
|
|
7899
|
+
_v$9 !== _p$.e && _el$107.classList.toggle("warning", _p$.e = _v$9);
|
|
7900
|
+
_v$0 !== _p$.t && _el$107.classList.toggle("error", _p$.t = _v$0);
|
|
7703
7901
|
return _p$;
|
|
7704
7902
|
}, {
|
|
7705
7903
|
e: void 0,
|
|
7706
7904
|
t: void 0
|
|
7707
7905
|
});
|
|
7708
|
-
return _el$
|
|
7906
|
+
return _el$107;
|
|
7709
7907
|
})()));
|
|
7710
|
-
return _el$
|
|
7908
|
+
return _el$103;
|
|
7711
7909
|
}
|
|
7712
7910
|
}), null);
|
|
7713
|
-
return _el$
|
|
7911
|
+
return _el$96;
|
|
7714
7912
|
})()
|
|
7715
|
-
}), _el$
|
|
7716
|
-
_el$
|
|
7717
|
-
setAttribute(_el$
|
|
7718
|
-
_el$
|
|
7719
|
-
_el$
|
|
7720
|
-
_el$
|
|
7721
|
-
_el$
|
|
7913
|
+
}), _el$28);
|
|
7914
|
+
_el$30.$$input = (e) => setObsidianVaultPath(e.currentTarget.value);
|
|
7915
|
+
setAttribute(_el$30, "spellcheck", false);
|
|
7916
|
+
_el$33.addEventListener("change", (e) => setAgentTranscriptMode(e.currentTarget.value));
|
|
7917
|
+
_el$36.$$click = () => setAutoRestoreSession(!autoRestoreSession());
|
|
7918
|
+
_el$39.$$click = () => setClearBookmarksOnLaunch(!clearBookmarksOnLaunch());
|
|
7919
|
+
_el$43.$$click = () => setChatEnabled(!chatEnabled());
|
|
7722
7920
|
insert(_el$2, createComponent(Show, {
|
|
7723
7921
|
get when() {
|
|
7724
7922
|
return chatEnabled();
|
|
7725
7923
|
},
|
|
7726
7924
|
get children() {
|
|
7727
7925
|
return [(() => {
|
|
7728
|
-
var _el$
|
|
7729
|
-
_el$
|
|
7926
|
+
var _el$44 = _tmpl$5$1(), _el$45 = _el$44.firstChild, _el$46 = _el$45.nextSibling;
|
|
7927
|
+
_el$46.addEventListener("change", (e) => {
|
|
7730
7928
|
const id = e.currentTarget.value;
|
|
7731
7929
|
setChatProviderId(id);
|
|
7732
7930
|
setChatModel("");
|
|
@@ -7735,99 +7933,99 @@ const Settings = () => {
|
|
|
7735
7933
|
setProviderModels([]);
|
|
7736
7934
|
setModelFetchState("idle");
|
|
7737
7935
|
});
|
|
7738
|
-
insert(_el$
|
|
7936
|
+
insert(_el$46, createComponent(For, {
|
|
7739
7937
|
each: CHAT_PROVIDERS,
|
|
7740
7938
|
children: (p) => (() => {
|
|
7741
|
-
var _el$
|
|
7742
|
-
insert(_el$
|
|
7743
|
-
createRenderEffect(() => _el$
|
|
7744
|
-
return _el$
|
|
7939
|
+
var _el$111 = _tmpl$23();
|
|
7940
|
+
insert(_el$111, () => p.name);
|
|
7941
|
+
createRenderEffect(() => _el$111.value = p.id);
|
|
7942
|
+
return _el$111;
|
|
7745
7943
|
})()
|
|
7746
7944
|
}));
|
|
7747
|
-
createRenderEffect(() => _el$
|
|
7748
|
-
return _el$
|
|
7945
|
+
createRenderEffect(() => _el$46.value = chatProviderId());
|
|
7946
|
+
return _el$44;
|
|
7749
7947
|
})(), createComponent(Show, {
|
|
7750
7948
|
get when() {
|
|
7751
7949
|
return chatProviderMeta().requiresKey;
|
|
7752
7950
|
},
|
|
7753
7951
|
get children() {
|
|
7754
|
-
var _el$
|
|
7755
|
-
_el$
|
|
7756
|
-
setAttribute(_el$
|
|
7757
|
-
createRenderEffect(() => setAttribute(_el$
|
|
7758
|
-
createRenderEffect(() => _el$
|
|
7759
|
-
return _el$
|
|
7952
|
+
var _el$47 = _tmpl$6$1(), _el$48 = _el$47.firstChild, _el$49 = _el$48.nextSibling;
|
|
7953
|
+
_el$49.$$input = (e) => setChatApiKey(e.currentTarget.value);
|
|
7954
|
+
setAttribute(_el$49, "spellcheck", false);
|
|
7955
|
+
createRenderEffect(() => setAttribute(_el$49, "placeholder", chatProviderMeta().keyPlaceholder));
|
|
7956
|
+
createRenderEffect(() => _el$49.value = chatApiKey());
|
|
7957
|
+
return _el$47;
|
|
7760
7958
|
}
|
|
7761
7959
|
}), (() => {
|
|
7762
|
-
var _el$
|
|
7763
|
-
insert(_el$
|
|
7960
|
+
var _el$50 = _tmpl$9(), _el$51 = _el$50.firstChild, _el$52 = _el$51.nextSibling, _el$54 = _el$52.firstChild;
|
|
7961
|
+
insert(_el$52, createComponent(Show, {
|
|
7764
7962
|
get when() {
|
|
7765
7963
|
return providerModels().length > 0;
|
|
7766
7964
|
},
|
|
7767
7965
|
get fallback() {
|
|
7768
7966
|
return (() => {
|
|
7769
|
-
var _el$
|
|
7770
|
-
_el$
|
|
7771
|
-
setAttribute(_el$
|
|
7772
|
-
createRenderEffect(() => setAttribute(_el$
|
|
7773
|
-
createRenderEffect(() => _el$
|
|
7774
|
-
return _el$
|
|
7967
|
+
var _el$112 = _tmpl$24();
|
|
7968
|
+
_el$112.$$input = (e) => setChatModel(e.currentTarget.value);
|
|
7969
|
+
setAttribute(_el$112, "spellcheck", false);
|
|
7970
|
+
createRenderEffect(() => setAttribute(_el$112, "placeholder", modelFetchState() === "loading" ? "Fetching models…" : chatProviderMeta().requiresKey && !chatApiKey().trim() ? "Enter API key to load models" : chatProviderMeta().defaultModel || "model name"));
|
|
7971
|
+
createRenderEffect(() => _el$112.value = chatModel());
|
|
7972
|
+
return _el$112;
|
|
7775
7973
|
})();
|
|
7776
7974
|
},
|
|
7777
7975
|
get children() {
|
|
7778
|
-
var _el$
|
|
7779
|
-
_el$
|
|
7780
|
-
insert(_el$
|
|
7976
|
+
var _el$53 = _tmpl$7();
|
|
7977
|
+
_el$53.addEventListener("change", (e) => setChatModel(e.currentTarget.value));
|
|
7978
|
+
insert(_el$53, createComponent(For, {
|
|
7781
7979
|
get each() {
|
|
7782
7980
|
return providerModels();
|
|
7783
7981
|
},
|
|
7784
7982
|
children: (m) => (() => {
|
|
7785
|
-
var _el$
|
|
7786
|
-
_el$
|
|
7787
|
-
insert(_el$
|
|
7788
|
-
return _el$
|
|
7983
|
+
var _el$113 = _tmpl$23();
|
|
7984
|
+
_el$113.value = m;
|
|
7985
|
+
insert(_el$113, m);
|
|
7986
|
+
return _el$113;
|
|
7789
7987
|
})()
|
|
7790
7988
|
}));
|
|
7791
|
-
createRenderEffect(() => _el$
|
|
7792
|
-
return _el$
|
|
7989
|
+
createRenderEffect(() => _el$53.value = chatModel());
|
|
7990
|
+
return _el$53;
|
|
7793
7991
|
}
|
|
7794
|
-
}), _el$
|
|
7795
|
-
_el$
|
|
7796
|
-
insert(_el$
|
|
7992
|
+
}), _el$54);
|
|
7993
|
+
_el$54.$$click = doFetchModels;
|
|
7994
|
+
insert(_el$50, createComponent(Show, {
|
|
7797
7995
|
get when() {
|
|
7798
7996
|
return modelFetchState() === "error";
|
|
7799
7997
|
},
|
|
7800
7998
|
get children() {
|
|
7801
|
-
return _tmpl$
|
|
7999
|
+
return _tmpl$8();
|
|
7802
8000
|
}
|
|
7803
8001
|
}), null);
|
|
7804
|
-
createRenderEffect(() => _el$
|
|
7805
|
-
return _el$
|
|
8002
|
+
createRenderEffect(() => _el$54.disabled = modelFetchState() === "loading");
|
|
8003
|
+
return _el$50;
|
|
7806
8004
|
})(), createComponent(Show, {
|
|
7807
8005
|
get when() {
|
|
7808
8006
|
return chatProviderMeta().needsBaseUrl || chatProviderId() === "custom";
|
|
7809
8007
|
},
|
|
7810
8008
|
get children() {
|
|
7811
|
-
var _el$
|
|
7812
|
-
_el$
|
|
7813
|
-
setAttribute(_el$
|
|
7814
|
-
createRenderEffect(() => setAttribute(_el$
|
|
7815
|
-
createRenderEffect(() => _el$
|
|
7816
|
-
return _el$
|
|
8009
|
+
var _el$56 = _tmpl$0(), _el$57 = _el$56.firstChild, _el$58 = _el$57.nextSibling;
|
|
8010
|
+
_el$58.$$input = (e) => setChatBaseUrl(e.currentTarget.value);
|
|
8011
|
+
setAttribute(_el$58, "spellcheck", false);
|
|
8012
|
+
createRenderEffect(() => setAttribute(_el$58, "placeholder", chatProviderMeta().defaultBaseUrl ?? "https://..."));
|
|
8013
|
+
createRenderEffect(() => _el$58.value = chatBaseUrl());
|
|
8014
|
+
return _el$56;
|
|
7817
8015
|
}
|
|
7818
8016
|
})];
|
|
7819
8017
|
}
|
|
7820
|
-
}), _el$
|
|
7821
|
-
insert(_el$
|
|
8018
|
+
}), _el$59);
|
|
8019
|
+
insert(_el$60, createComponent(Show, {
|
|
7822
8020
|
get when() {
|
|
7823
8021
|
return premiumActive();
|
|
7824
8022
|
},
|
|
7825
8023
|
get fallback() {
|
|
7826
8024
|
return (() => {
|
|
7827
|
-
var _el$
|
|
7828
|
-
_el$
|
|
7829
|
-
setAttribute(_el$
|
|
7830
|
-
_el$
|
|
8025
|
+
var _el$114 = _tmpl$26(), _el$115 = _el$114.firstChild, _el$116 = _el$115.nextSibling, _el$117 = _el$116.firstChild, _el$118 = _el$117.nextSibling, _el$119 = _el$116.nextSibling;
|
|
8026
|
+
_el$117.$$input = (e) => setPremiumEmail(e.currentTarget.value);
|
|
8027
|
+
setAttribute(_el$117, "spellcheck", false);
|
|
8028
|
+
_el$118.$$click = async () => {
|
|
7831
8029
|
setPremiumLoading(true);
|
|
7832
8030
|
setPremiumMessage(null);
|
|
7833
8031
|
try {
|
|
@@ -7853,54 +8051,54 @@ const Settings = () => {
|
|
|
7853
8051
|
setPremiumLoading(false);
|
|
7854
8052
|
}
|
|
7855
8053
|
};
|
|
7856
|
-
insert(_el$
|
|
7857
|
-
_el$
|
|
7858
|
-
|
|
8054
|
+
insert(_el$118, () => premiumLoading() ? "Checking..." : "Activate");
|
|
8055
|
+
_el$119.$$click = () => {
|
|
8056
|
+
startPremiumCheckout();
|
|
7859
8057
|
};
|
|
7860
|
-
insert(_el$
|
|
8058
|
+
insert(_el$114, createComponent(Show, {
|
|
7861
8059
|
get when() {
|
|
7862
8060
|
return premiumMessage();
|
|
7863
8061
|
},
|
|
7864
8062
|
children: (msg) => (() => {
|
|
7865
|
-
var _el$
|
|
7866
|
-
insert(_el$
|
|
8063
|
+
var _el$121 = _tmpl$27();
|
|
8064
|
+
insert(_el$121, () => msg().text);
|
|
7867
8065
|
createRenderEffect((_p$) => {
|
|
7868
8066
|
var _v$1 = !!(msg().kind === "success"), _v$10 = !!(msg().kind === "error");
|
|
7869
|
-
_v$1 !== _p$.e && _el$
|
|
7870
|
-
_v$10 !== _p$.t && _el$
|
|
8067
|
+
_v$1 !== _p$.e && _el$121.classList.toggle("success", _p$.e = _v$1);
|
|
8068
|
+
_v$10 !== _p$.t && _el$121.classList.toggle("error", _p$.t = _v$10);
|
|
7871
8069
|
return _p$;
|
|
7872
8070
|
}, {
|
|
7873
8071
|
e: void 0,
|
|
7874
8072
|
t: void 0
|
|
7875
8073
|
});
|
|
7876
|
-
return _el$
|
|
8074
|
+
return _el$121;
|
|
7877
8075
|
})()
|
|
7878
8076
|
}), null);
|
|
7879
|
-
insert(_el$
|
|
8077
|
+
insert(_el$114, createComponent(Show, {
|
|
7880
8078
|
get when() {
|
|
7881
8079
|
return premiumState().email || premiumEmail();
|
|
7882
8080
|
},
|
|
7883
8081
|
get children() {
|
|
7884
|
-
var _el$
|
|
7885
|
-
_el$
|
|
8082
|
+
var _el$120 = _tmpl$25();
|
|
8083
|
+
_el$120.$$click = async () => {
|
|
7886
8084
|
const state = await window.vessel.premium.reset();
|
|
7887
8085
|
setPremiumState(state);
|
|
7888
8086
|
setPremiumEmail("");
|
|
7889
8087
|
setPremiumMessage(null);
|
|
7890
8088
|
};
|
|
7891
|
-
return _el$
|
|
8089
|
+
return _el$120;
|
|
7892
8090
|
}
|
|
7893
8091
|
}), null);
|
|
7894
|
-
createRenderEffect(() => _el$
|
|
7895
|
-
createRenderEffect(() => _el$
|
|
7896
|
-
return _el$
|
|
8092
|
+
createRenderEffect(() => _el$118.disabled = premiumLoading() || !premiumEmail().trim());
|
|
8093
|
+
createRenderEffect(() => _el$117.value = premiumEmail());
|
|
8094
|
+
return _el$114;
|
|
7897
8095
|
})();
|
|
7898
8096
|
},
|
|
7899
8097
|
get children() {
|
|
7900
|
-
var _el$
|
|
7901
|
-
_el$
|
|
7902
|
-
var _el$
|
|
7903
|
-
insert(_el$
|
|
8098
|
+
var _el$62 = _tmpl$1(), _el$63 = _el$62.firstChild;
|
|
8099
|
+
_el$63.firstChild;
|
|
8100
|
+
var _el$65 = _el$63.nextSibling, _el$66 = _el$65.nextSibling, _el$67 = _el$66.firstChild, _el$68 = _el$67.nextSibling;
|
|
8101
|
+
insert(_el$63, createComponent(Show, {
|
|
7904
8102
|
get when() {
|
|
7905
8103
|
return premiumState().status === "trialing";
|
|
7906
8104
|
},
|
|
@@ -7908,8 +8106,8 @@ const Settings = () => {
|
|
|
7908
8106
|
return [" ", "(Trial)"];
|
|
7909
8107
|
}
|
|
7910
8108
|
}), null);
|
|
7911
|
-
insert(_el$
|
|
7912
|
-
insert(_el$
|
|
8109
|
+
insert(_el$65, () => premiumState().email, null);
|
|
8110
|
+
insert(_el$65, createComponent(Show, {
|
|
7913
8111
|
get when() {
|
|
7914
8112
|
return premiumState().expiresAt;
|
|
7915
8113
|
},
|
|
@@ -7917,50 +8115,50 @@ const Settings = () => {
|
|
|
7917
8115
|
return [" ", "· Renews", " ", memo(() => new Date(premiumState().expiresAt).toLocaleDateString())];
|
|
7918
8116
|
}
|
|
7919
8117
|
}), null);
|
|
7920
|
-
_el$
|
|
8118
|
+
_el$67.$$click = () => {
|
|
7921
8119
|
void window.vessel.premium.portal();
|
|
7922
8120
|
};
|
|
7923
|
-
_el$
|
|
8121
|
+
_el$68.$$click = async () => {
|
|
7924
8122
|
const state = await window.vessel.premium.reset();
|
|
7925
8123
|
setPremiumState(state);
|
|
7926
8124
|
setPremiumEmail("");
|
|
7927
8125
|
setPremiumMessage(null);
|
|
7928
8126
|
};
|
|
7929
|
-
return _el$
|
|
8127
|
+
return _el$62;
|
|
7930
8128
|
}
|
|
7931
8129
|
}), null);
|
|
7932
|
-
insert(_el$
|
|
8130
|
+
insert(_el$71, createComponent(Show, {
|
|
7933
8131
|
get when() {
|
|
7934
8132
|
return !premiumActive();
|
|
7935
8133
|
},
|
|
7936
8134
|
get children() {
|
|
7937
|
-
return _tmpl$
|
|
8135
|
+
return _tmpl$10();
|
|
7938
8136
|
}
|
|
7939
8137
|
}), null);
|
|
7940
|
-
insert(_el$
|
|
8138
|
+
insert(_el$70, createComponent(Show, {
|
|
7941
8139
|
get when() {
|
|
7942
8140
|
return premiumActive();
|
|
7943
8141
|
},
|
|
7944
8142
|
get fallback() {
|
|
7945
|
-
return _tmpl$
|
|
8143
|
+
return _tmpl$28();
|
|
7946
8144
|
},
|
|
7947
8145
|
get children() {
|
|
7948
|
-
return [_tmpl$
|
|
8146
|
+
return [_tmpl$11(), createComponent(Show, {
|
|
7949
8147
|
get when() {
|
|
7950
8148
|
return vaultEntries().length > 0;
|
|
7951
8149
|
},
|
|
7952
8150
|
get children() {
|
|
7953
|
-
var _el$
|
|
7954
|
-
insert(_el$
|
|
8151
|
+
var _el$75 = _tmpl$12();
|
|
8152
|
+
insert(_el$75, createComponent(For, {
|
|
7955
8153
|
get each() {
|
|
7956
8154
|
return vaultEntries();
|
|
7957
8155
|
},
|
|
7958
8156
|
children: (entry) => (() => {
|
|
7959
|
-
var _el$
|
|
7960
|
-
insert(_el$
|
|
7961
|
-
insert(_el$
|
|
7962
|
-
insert(_el$
|
|
7963
|
-
insert(_el$
|
|
8157
|
+
var _el$123 = _tmpl$29(), _el$124 = _el$123.firstChild, _el$125 = _el$124.firstChild, _el$126 = _el$125.nextSibling, _el$127 = _el$126.firstChild, _el$128 = _el$124.nextSibling;
|
|
8158
|
+
insert(_el$125, () => entry.label);
|
|
8159
|
+
insert(_el$126, () => entry.username, _el$127);
|
|
8160
|
+
insert(_el$126, () => entry.domainPattern, null);
|
|
8161
|
+
insert(_el$126, createComponent(Show, {
|
|
7964
8162
|
get when() {
|
|
7965
8163
|
return entry.useCount > 0;
|
|
7966
8164
|
},
|
|
@@ -7968,43 +8166,43 @@ const Settings = () => {
|
|
|
7968
8166
|
return [" ", "· Used ", memo(() => entry.useCount), "x"];
|
|
7969
8167
|
}
|
|
7970
8168
|
}), null);
|
|
7971
|
-
_el$
|
|
7972
|
-
return _el$
|
|
8169
|
+
_el$128.$$click = () => handleVaultRemove(entry.id);
|
|
8170
|
+
return _el$123;
|
|
7973
8171
|
})()
|
|
7974
8172
|
}));
|
|
7975
|
-
return _el$
|
|
8173
|
+
return _el$75;
|
|
7976
8174
|
}
|
|
7977
8175
|
}), createComponent(Show, {
|
|
7978
8176
|
get when() {
|
|
7979
8177
|
return !vaultAdding();
|
|
7980
8178
|
},
|
|
7981
8179
|
get children() {
|
|
7982
|
-
var _el$
|
|
7983
|
-
_el$
|
|
8180
|
+
var _el$76 = _tmpl$13();
|
|
8181
|
+
_el$76.$$click = () => {
|
|
7984
8182
|
setVaultAdding(true);
|
|
7985
8183
|
setVaultMessage(null);
|
|
7986
8184
|
};
|
|
7987
|
-
return _el$
|
|
8185
|
+
return _el$76;
|
|
7988
8186
|
}
|
|
7989
8187
|
}), createComponent(Show, {
|
|
7990
8188
|
get when() {
|
|
7991
8189
|
return vaultAdding();
|
|
7992
8190
|
},
|
|
7993
8191
|
get children() {
|
|
7994
|
-
var _el$
|
|
7995
|
-
_el$
|
|
7996
|
-
setAttribute(_el$
|
|
7997
|
-
_el$
|
|
7998
|
-
setAttribute(_el$
|
|
7999
|
-
_el$
|
|
8000
|
-
setAttribute(_el$
|
|
8001
|
-
_el$
|
|
8002
|
-
_el$
|
|
8003
|
-
setAttribute(_el$
|
|
8004
|
-
_el$
|
|
8005
|
-
setAttribute(_el$
|
|
8006
|
-
_el$
|
|
8007
|
-
_el$
|
|
8192
|
+
var _el$77 = _tmpl$14(), _el$78 = _el$77.firstChild, _el$79 = _el$78.nextSibling, _el$80 = _el$79.nextSibling, _el$81 = _el$80.nextSibling, _el$82 = _el$81.nextSibling, _el$83 = _el$82.nextSibling, _el$84 = _el$83.nextSibling, _el$85 = _el$84.firstChild, _el$86 = _el$85.nextSibling;
|
|
8193
|
+
_el$78.$$input = (e) => setVaultNewLabel(e.currentTarget.value);
|
|
8194
|
+
setAttribute(_el$78, "spellcheck", false);
|
|
8195
|
+
_el$79.$$input = (e) => setVaultNewDomain(e.currentTarget.value);
|
|
8196
|
+
setAttribute(_el$79, "spellcheck", false);
|
|
8197
|
+
_el$80.$$input = (e) => setVaultNewUsername(e.currentTarget.value);
|
|
8198
|
+
setAttribute(_el$80, "spellcheck", false);
|
|
8199
|
+
_el$81.$$input = (e) => setVaultNewPassword(e.currentTarget.value);
|
|
8200
|
+
_el$82.$$input = (e) => setVaultNewTotp(e.currentTarget.value);
|
|
8201
|
+
setAttribute(_el$82, "spellcheck", false);
|
|
8202
|
+
_el$83.$$input = (e) => setVaultNewNotes(e.currentTarget.value);
|
|
8203
|
+
setAttribute(_el$83, "spellcheck", false);
|
|
8204
|
+
_el$85.$$click = handleVaultAdd;
|
|
8205
|
+
_el$86.$$click = () => {
|
|
8008
8206
|
setVaultAdding(false);
|
|
8009
8207
|
setVaultNewLabel("");
|
|
8010
8208
|
setVaultNewDomain("");
|
|
@@ -8013,67 +8211,67 @@ const Settings = () => {
|
|
|
8013
8211
|
setVaultNewTotp("");
|
|
8014
8212
|
setVaultNewNotes("");
|
|
8015
8213
|
};
|
|
8016
|
-
createRenderEffect(() => _el$
|
|
8017
|
-
createRenderEffect(() => _el$
|
|
8018
|
-
createRenderEffect(() => _el$
|
|
8019
|
-
createRenderEffect(() => _el$
|
|
8020
|
-
createRenderEffect(() => _el$
|
|
8021
|
-
createRenderEffect(() => _el$
|
|
8022
|
-
return _el$
|
|
8214
|
+
createRenderEffect(() => _el$78.value = vaultNewLabel());
|
|
8215
|
+
createRenderEffect(() => _el$79.value = vaultNewDomain());
|
|
8216
|
+
createRenderEffect(() => _el$80.value = vaultNewUsername());
|
|
8217
|
+
createRenderEffect(() => _el$81.value = vaultNewPassword());
|
|
8218
|
+
createRenderEffect(() => _el$82.value = vaultNewTotp());
|
|
8219
|
+
createRenderEffect(() => _el$83.value = vaultNewNotes());
|
|
8220
|
+
return _el$77;
|
|
8023
8221
|
}
|
|
8024
8222
|
}), createComponent(Show, {
|
|
8025
8223
|
get when() {
|
|
8026
8224
|
return vaultMessage();
|
|
8027
8225
|
},
|
|
8028
8226
|
children: (msg) => (() => {
|
|
8029
|
-
var _el$
|
|
8030
|
-
insert(_el$
|
|
8227
|
+
var _el$129 = _tmpl$27();
|
|
8228
|
+
insert(_el$129, () => msg().text);
|
|
8031
8229
|
createRenderEffect((_p$) => {
|
|
8032
8230
|
var _v$11 = !!(msg().kind === "success"), _v$12 = !!(msg().kind === "error");
|
|
8033
|
-
_v$11 !== _p$.e && _el$
|
|
8034
|
-
_v$12 !== _p$.t && _el$
|
|
8231
|
+
_v$11 !== _p$.e && _el$129.classList.toggle("success", _p$.e = _v$11);
|
|
8232
|
+
_v$12 !== _p$.t && _el$129.classList.toggle("error", _p$.t = _v$12);
|
|
8035
8233
|
return _p$;
|
|
8036
8234
|
}, {
|
|
8037
8235
|
e: void 0,
|
|
8038
8236
|
t: void 0
|
|
8039
8237
|
});
|
|
8040
|
-
return _el$
|
|
8238
|
+
return _el$129;
|
|
8041
8239
|
})()
|
|
8042
8240
|
})];
|
|
8043
8241
|
}
|
|
8044
8242
|
}), null);
|
|
8045
|
-
_el$
|
|
8046
|
-
_el$
|
|
8047
|
-
addEventListener(_el$
|
|
8243
|
+
_el$90.$$click = () => setTelemetryEnabled(!telemetryEnabled());
|
|
8244
|
+
_el$92.$$click = handleSave;
|
|
8245
|
+
addEventListener(_el$93, "click", closeSettings, true);
|
|
8048
8246
|
insert(_el$2, createComponent(Show, {
|
|
8049
8247
|
get when() {
|
|
8050
8248
|
return status();
|
|
8051
8249
|
},
|
|
8052
8250
|
children: (currentStatus) => (() => {
|
|
8053
|
-
var _el$
|
|
8054
|
-
insert(_el$
|
|
8251
|
+
var _el$130 = _tmpl$27();
|
|
8252
|
+
insert(_el$130, () => currentStatus().text);
|
|
8055
8253
|
createRenderEffect((_p$) => {
|
|
8056
8254
|
var _v$13 = !!(currentStatus().kind === "success"), _v$14 = !!(currentStatus().kind === "error");
|
|
8057
|
-
_v$13 !== _p$.e && _el$
|
|
8058
|
-
_v$14 !== _p$.t && _el$
|
|
8255
|
+
_v$13 !== _p$.e && _el$130.classList.toggle("success", _p$.e = _v$13);
|
|
8256
|
+
_v$14 !== _p$.t && _el$130.classList.toggle("error", _p$.t = _v$14);
|
|
8059
8257
|
return _p$;
|
|
8060
8258
|
}, {
|
|
8061
8259
|
e: void 0,
|
|
8062
8260
|
t: void 0
|
|
8063
8261
|
});
|
|
8064
|
-
return _el$
|
|
8262
|
+
return _el$130;
|
|
8065
8263
|
})()
|
|
8066
8264
|
}), null);
|
|
8067
8265
|
createRenderEffect((_p$) => {
|
|
8068
8266
|
var _v$ = !!autoRestoreSession(), _v$2 = autoRestoreSession(), _v$3 = !!clearBookmarksOnLaunch(), _v$4 = clearBookmarksOnLaunch(), _v$5 = !!chatEnabled(), _v$6 = chatEnabled(), _v$7 = !!telemetryEnabled(), _v$8 = telemetryEnabled();
|
|
8069
|
-
_v$ !== _p$.e && _el$
|
|
8070
|
-
_v$2 !== _p$.t && setAttribute(_el$
|
|
8071
|
-
_v$3 !== _p$.a && _el$
|
|
8072
|
-
_v$4 !== _p$.o && setAttribute(_el$
|
|
8073
|
-
_v$5 !== _p$.i && _el$
|
|
8074
|
-
_v$6 !== _p$.n && setAttribute(_el$
|
|
8075
|
-
_v$7 !== _p$.s && _el$
|
|
8076
|
-
_v$8 !== _p$.h && setAttribute(_el$
|
|
8267
|
+
_v$ !== _p$.e && _el$36.classList.toggle("on", _p$.e = _v$);
|
|
8268
|
+
_v$2 !== _p$.t && setAttribute(_el$36, "aria-checked", _p$.t = _v$2);
|
|
8269
|
+
_v$3 !== _p$.a && _el$39.classList.toggle("on", _p$.a = _v$3);
|
|
8270
|
+
_v$4 !== _p$.o && setAttribute(_el$39, "aria-checked", _p$.o = _v$4);
|
|
8271
|
+
_v$5 !== _p$.i && _el$43.classList.toggle("on", _p$.i = _v$5);
|
|
8272
|
+
_v$6 !== _p$.n && setAttribute(_el$43, "aria-checked", _p$.n = _v$6);
|
|
8273
|
+
_v$7 !== _p$.s && _el$90.classList.toggle("on", _p$.s = _v$7);
|
|
8274
|
+
_v$8 !== _p$.h && setAttribute(_el$90, "aria-checked", _p$.h = _v$8);
|
|
8077
8275
|
return _p$;
|
|
8078
8276
|
}, {
|
|
8079
8277
|
e: void 0,
|
|
@@ -8085,12 +8283,12 @@ const Settings = () => {
|
|
|
8085
8283
|
s: void 0,
|
|
8086
8284
|
h: void 0
|
|
8087
8285
|
});
|
|
8088
|
-
createRenderEffect(() => _el$
|
|
8089
|
-
createRenderEffect(() => _el$
|
|
8090
|
-
createRenderEffect(() => _el$
|
|
8091
|
-
createRenderEffect(() => _el$
|
|
8286
|
+
createRenderEffect(() => _el$20.value = defaultUrl());
|
|
8287
|
+
createRenderEffect(() => _el$23.value = mcpPort());
|
|
8288
|
+
createRenderEffect(() => _el$30.value = obsidianVaultPath());
|
|
8289
|
+
createRenderEffect(() => _el$33.value = agentTranscriptMode());
|
|
8092
8290
|
return _el$;
|
|
8093
|
-
})(), _tmpl$
|
|
8291
|
+
})(), _tmpl$16()];
|
|
8094
8292
|
}
|
|
8095
8293
|
});
|
|
8096
8294
|
};
|