@quanta-intellect/vessel-browser 0.1.33 → 0.1.44
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 +27 -2
- package/out/main/index.js +3161 -412
- package/out/preload/content-script.js +21 -2
- package/out/renderer/assets/{index-BFdOm6Op.js → index-BC3sJqLj.js} +173 -136
- package/out/renderer/index.html +1 -1
- package/package.json +8 -7
|
@@ -1546,7 +1546,9 @@ const DEFAULT_RUNTIME_STATE = {
|
|
|
1546
1546
|
actions: [],
|
|
1547
1547
|
checkpoints: [],
|
|
1548
1548
|
transcript: [],
|
|
1549
|
-
mcpStatus: "stopped"
|
|
1549
|
+
mcpStatus: "stopped",
|
|
1550
|
+
flowState: null,
|
|
1551
|
+
taskTracker: null
|
|
1550
1552
|
};
|
|
1551
1553
|
const [runtimeState, setRuntimeState] = createSignal(
|
|
1552
1554
|
DEFAULT_RUNTIME_STATE
|
|
@@ -4648,7 +4650,7 @@ function renderKitPrompt(kit, values) {
|
|
|
4648
4650
|
(_, key) => values[key] ?? ""
|
|
4649
4651
|
);
|
|
4650
4652
|
}
|
|
4651
|
-
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>Start 7-day free trial — $5.99/mo after`), _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$2 = /* @__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$2 = /* @__PURE__ */ template(`<div class=kit-activity-output>`), _tmpl$32$
|
|
4653
|
+
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>Start 7-day free trial — $5.99/mo after`), _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$2 = /* @__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$2 = /* @__PURE__ */ template(`<div class=kit-activity-output>`), _tmpl$32$2 = /* @__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$2 = /* @__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>`);
|
|
4652
4654
|
const ICON_MAP = {
|
|
4653
4655
|
BookOpen: book_open_default,
|
|
4654
4656
|
Tag: tag_default,
|
|
@@ -5160,7 +5162,7 @@ const AutomationTab = (props) => {
|
|
|
5160
5162
|
return automationActivities2();
|
|
5161
5163
|
},
|
|
5162
5164
|
children: (activity) => (() => {
|
|
5163
|
-
var _el$100 = _tmpl$32$
|
|
5165
|
+
var _el$100 = _tmpl$32$2(), _el$101 = _el$100.firstChild, _el$102 = _el$101.firstChild, _el$103 = _el$102.firstChild, _el$104 = _el$103.nextSibling, _el$105 = _el$104.firstChild, _el$106 = _el$105.nextSibling, _el$107 = _el$102.nextSibling;
|
|
5164
5166
|
insert(_el$103, createComponent(KitIcon, {
|
|
5165
5167
|
get name() {
|
|
5166
5168
|
return activity.icon ?? "Zap";
|
|
@@ -5176,7 +5178,7 @@ const AutomationTab = (props) => {
|
|
|
5176
5178
|
},
|
|
5177
5179
|
get fallback() {
|
|
5178
5180
|
return (() => {
|
|
5179
|
-
var _el$109 = _tmpl$33$
|
|
5181
|
+
var _el$109 = _tmpl$33$2();
|
|
5180
5182
|
insert(_el$109, () => activity.status === "running" ? "Waiting for output..." : "No output captured.");
|
|
5181
5183
|
return _el$109;
|
|
5182
5184
|
})();
|
|
@@ -5488,7 +5490,7 @@ const AutomationTab = (props) => {
|
|
|
5488
5490
|
};
|
|
5489
5491
|
delegateEvents(["click", "input", "keydown", "contextmenu"]);
|
|
5490
5492
|
const vesselLogo = "" + new URL("vessel-logo-transparent-IT25qr-Z.png", import.meta.url).href;
|
|
5491
|
-
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 7-day free trial — $5.99/mo after</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 7-day free trial — $5.99/mo after</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$1 = /* @__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$1 = /* @__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(`<button class=bookmark-ghost-button type=button>Keep bookmarks`), _tmpl$35 = /* @__PURE__ */ template(`<div class=bookmark-folder-delete-confirm><p class=bookmark-delete-prompt>Delete "<!>"?</p><div class=bookmark-delete-options><button class="bookmark-ghost-button danger"type=button></button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$36 = /* @__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$37 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$38 = /* @__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$39 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$40 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$41 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$42 = /* @__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$43 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$44 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$45 = /* @__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$46 = /* @__PURE__ */ template(`<div>`), _tmpl$47 = /* @__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$48 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$49 = /* @__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$50 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`);
|
|
5493
|
+
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 7-day free trial — $5.99/mo after</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 7-day free trial — $5.99/mo after</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$1 = /* @__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$1 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>`), _tmpl$32$1 = /* @__PURE__ */ template(`<div class=bookmark-folder-summary>`), _tmpl$33$1 = /* @__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(`<button class=bookmark-ghost-button type=button>Keep bookmarks`), _tmpl$35 = /* @__PURE__ */ template(`<div class=bookmark-folder-delete-confirm><p class=bookmark-delete-prompt>Delete "<!>"?</p><div class=bookmark-delete-options><button class="bookmark-ghost-button danger"type=button></button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$36 = /* @__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$37 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$38 = /* @__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$39 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$40 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$41 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$42 = /* @__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$43 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$44 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$45 = /* @__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$46 = /* @__PURE__ */ template(`<div>`), _tmpl$47 = /* @__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$48 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$49 = /* @__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$50 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`);
|
|
5492
5494
|
const UNSORTED_FOLDER = {
|
|
5493
5495
|
id: "unsorted",
|
|
5494
5496
|
name: "Unsorted",
|
|
@@ -6174,7 +6176,7 @@ ${contextBlock}` : contextBlock);
|
|
|
6174
6176
|
return folder.summary;
|
|
6175
6177
|
},
|
|
6176
6178
|
get children() {
|
|
6177
|
-
var _el$130 = _tmpl$32();
|
|
6179
|
+
var _el$130 = _tmpl$32$1();
|
|
6178
6180
|
insert(_el$130, () => folder.summary);
|
|
6179
6181
|
return _el$130;
|
|
6180
6182
|
}
|
|
@@ -6184,7 +6186,7 @@ ${contextBlock}` : contextBlock);
|
|
|
6184
6186
|
return folder.id !== UNSORTED_FOLDER.id;
|
|
6185
6187
|
},
|
|
6186
6188
|
get children() {
|
|
6187
|
-
var _el$131 = _tmpl$33(), _el$132 = _el$131.firstChild, _el$133 = _el$132.nextSibling;
|
|
6189
|
+
var _el$131 = _tmpl$33$1(), _el$132 = _el$131.firstChild, _el$133 = _el$132.nextSibling;
|
|
6188
6190
|
_el$132.$$click = (e) => {
|
|
6189
6191
|
e.stopPropagation();
|
|
6190
6192
|
setEditingFolderId(folder.id);
|
|
@@ -7093,7 +7095,7 @@ const DevToolsPanel = () => {
|
|
|
7093
7095
|
})();
|
|
7094
7096
|
};
|
|
7095
7097
|
delegateEvents(["click", "input"]);
|
|
7096
|
-
var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><button class="premium-btn premium-btn-upgrade">Try Premium free for 7 days — $5.99/mo after</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 7-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 7-day free trial — $5.99/mo after</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(`<span class=settings-label-optional> (optional)`), _tmpl$7 = /* @__PURE__ */ template(`<p class=settings-hint>If your endpoint requires authentication, enter the API key or bearer token here.`), _tmpl$8 = /* @__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$9 = /* @__PURE__ */ template(`<select id=chat-model class="settings-input settings-select"style=flex:1>`), _tmpl$0 = /* @__PURE__ */ template(`<p class=settings-hint style=color:var(--error)>Could not fetch models — check your API key and connection.`), _tmpl$1 = /* @__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$10 = /* @__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$11 = /* @__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$
|
|
7098
|
+
var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><button class="premium-btn premium-btn-upgrade">Try Premium free for 7 days — $5.99/mo after</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 7-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 7-day free trial — $5.99/mo after</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(`<span class=settings-label-optional> (optional)`), _tmpl$7 = /* @__PURE__ */ template(`<p class=settings-hint>If your endpoint requires authentication, enter the API key or bearer token here.`), _tmpl$8 = /* @__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$9 = /* @__PURE__ */ template(`<select id=chat-model class="settings-input settings-select"style=flex:1>`), _tmpl$0 = /* @__PURE__ */ template(`<p class=settings-hint style=color:var(--error)>Could not fetch models — check your API key and connection.`), _tmpl$1 = /* @__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$10 = /* @__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$11 = /* @__PURE__ */ template(`<p class=settings-hint>Vessel auto-detects the active model from your configured \`llama-server\` base URL. For agent loops, run \`llama-server\` with \`--ctx-size 16384\` minimum and \`32768\` recommended.`), _tmpl$12 = /* @__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$13 = /* @__PURE__ */ template(`<span class=vault-premium-badge>Premium`), _tmpl$14 = /* @__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$15 = /* @__PURE__ */ template(`<div class=vault-entries>`), _tmpl$16 = /* @__PURE__ */ template(`<button class=vault-add-btn>+ Add Credential`), _tmpl$17 = /* @__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$18 = /* @__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$19 = /* @__PURE__ */ template(`<style>
|
|
7097
7099
|
.settings-panel {
|
|
7098
7100
|
width: min(440px, calc(100vw - 32px));
|
|
7099
7101
|
max-height: calc(100vh - 48px);
|
|
@@ -7627,7 +7629,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
|
|
|
7627
7629
|
justify-content: flex-end;
|
|
7628
7630
|
margin-top: 4px;
|
|
7629
7631
|
}
|
|
7630
|
-
`), _tmpl$
|
|
7632
|
+
`), _tmpl$20 = /* @__PURE__ */ template(`<div class="settings-input settings-input-disabled"title="Upgrade to Vessel Premium for unlimited tool iterations">50`), _tmpl$21 = /* @__PURE__ */ template(`<div class=settings-health-issues>`), _tmpl$22 = /* @__PURE__ */ template(`<div class=settings-health><div class=settings-callout-title>Runtime Health</div><p class=settings-hint>MCP status: <strong></strong> `), _tmpl$23 = /* @__PURE__ */ template(`<p class=settings-hint>Active endpoint: <code>`), _tmpl$24 = /* @__PURE__ */ template(`<div class=settings-health-issue><strong></strong><div>`), _tmpl$25 = /* @__PURE__ */ template(`<div>`), _tmpl$26 = /* @__PURE__ */ template(`<option>`), _tmpl$27 = /* @__PURE__ */ template(`<input id=chat-model class=settings-input style=flex:1>`), _tmpl$28 = /* @__PURE__ */ template(`<p class=settings-hint style=color:var(--accent-primary)>`), _tmpl$29 = /* @__PURE__ */ template(`<button class="premium-btn premium-btn-reset">Clear Saved Email`), _tmpl$30 = /* @__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.99/mo after 7-day free trial`), _tmpl$31 = /* @__PURE__ */ template(`<p class=settings-status>`), _tmpl$32 = /* @__PURE__ */ template(`<p class=settings-hint>Securely store credentials for agent-driven logins. Upgrade to Premium to unlock the Agent Credential Vault.`), _tmpl$33 = /* @__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">×`);
|
|
7631
7633
|
const CHAT_PROVIDERS = [{
|
|
7632
7634
|
id: "anthropic",
|
|
7633
7635
|
name: "Anthropic",
|
|
@@ -7660,6 +7662,15 @@ const CHAT_PROVIDERS = [{
|
|
|
7660
7662
|
keyPlaceholder: "",
|
|
7661
7663
|
defaultModel: "",
|
|
7662
7664
|
models: []
|
|
7665
|
+
}, {
|
|
7666
|
+
id: "llama_cpp",
|
|
7667
|
+
name: "llama.cpp (Local)",
|
|
7668
|
+
requiresKey: false,
|
|
7669
|
+
needsBaseUrl: true,
|
|
7670
|
+
defaultBaseUrl: "http://localhost:8080/v1",
|
|
7671
|
+
keyPlaceholder: "",
|
|
7672
|
+
defaultModel: "",
|
|
7673
|
+
models: []
|
|
7663
7674
|
}, {
|
|
7664
7675
|
id: "mistral",
|
|
7665
7676
|
name: "Mistral AI",
|
|
@@ -7815,14 +7826,17 @@ const Settings = () => {
|
|
|
7815
7826
|
const chatProviderMeta = () => CHAT_PROVIDERS.find((p) => p.id === chatProviderId()) ?? CHAT_PROVIDERS[0];
|
|
7816
7827
|
const [providerModels, setProviderModels] = createSignal([]);
|
|
7817
7828
|
const [modelFetchState, setModelFetchState] = createSignal("idle");
|
|
7829
|
+
const [modelFetchWarning, setModelFetchWarning] = createSignal(null);
|
|
7818
7830
|
const doFetchModels = () => {
|
|
7819
7831
|
const meta = chatProviderMeta();
|
|
7820
7832
|
if (meta.requiresKey && !chatApiKey().trim()) {
|
|
7821
7833
|
setProviderModels([]);
|
|
7822
7834
|
setModelFetchState("idle");
|
|
7835
|
+
setModelFetchWarning(null);
|
|
7823
7836
|
return;
|
|
7824
7837
|
}
|
|
7825
7838
|
setModelFetchState("loading");
|
|
7839
|
+
setModelFetchWarning(null);
|
|
7826
7840
|
window.vessel.ai.fetchModels({
|
|
7827
7841
|
id: chatProviderId(),
|
|
7828
7842
|
apiKey: chatApiKey().trim(),
|
|
@@ -7830,18 +7844,24 @@ const Settings = () => {
|
|
|
7830
7844
|
baseUrl: chatBaseUrl().trim() || meta.defaultBaseUrl || void 0
|
|
7831
7845
|
}).then(({
|
|
7832
7846
|
ok,
|
|
7833
|
-
models
|
|
7847
|
+
models,
|
|
7848
|
+
warning
|
|
7834
7849
|
}) => {
|
|
7835
7850
|
if (ok) {
|
|
7836
7851
|
setProviderModels(models.sort());
|
|
7837
|
-
if (models.length > 0 && !chatModel()
|
|
7852
|
+
if (models.length > 0 && (!chatModel() || !models.includes(chatModel()))) {
|
|
7853
|
+
setChatModel(models[0]);
|
|
7854
|
+
}
|
|
7855
|
+
setModelFetchWarning(warning ?? null);
|
|
7838
7856
|
setModelFetchState("idle");
|
|
7839
7857
|
} else {
|
|
7840
7858
|
setProviderModels([]);
|
|
7859
|
+
setModelFetchWarning(null);
|
|
7841
7860
|
setModelFetchState("error");
|
|
7842
7861
|
}
|
|
7843
7862
|
}).catch(() => {
|
|
7844
7863
|
setProviderModels([]);
|
|
7864
|
+
setModelFetchWarning(null);
|
|
7845
7865
|
setModelFetchState("error");
|
|
7846
7866
|
});
|
|
7847
7867
|
};
|
|
@@ -7968,11 +7988,11 @@ const Settings = () => {
|
|
|
7968
7988
|
},
|
|
7969
7989
|
get children() {
|
|
7970
7990
|
return [(() => {
|
|
7971
|
-
var _el$ = _tmpl$
|
|
7972
|
-
_el$
|
|
7973
|
-
var _el$
|
|
7974
|
-
_el$
|
|
7975
|
-
var _el$
|
|
7991
|
+
var _el$ = _tmpl$18(), _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$63 = _el$41.nextSibling, _el$64 = _el$63.nextSibling;
|
|
7992
|
+
_el$64.firstChild;
|
|
7993
|
+
var _el$73 = _el$64.nextSibling, _el$74 = _el$73.nextSibling, _el$75 = _el$74.firstChild;
|
|
7994
|
+
_el$75.firstChild;
|
|
7995
|
+
var _el$91 = _el$74.nextSibling, _el$92 = _el$91.nextSibling, _el$93 = _el$92.firstChild, _el$94 = _el$93.firstChild, _el$95 = _el$92.nextSibling, _el$96 = _el$95.firstChild, _el$97 = _el$96.nextSibling;
|
|
7976
7996
|
addEventListener(_el$, "click", closeSettings, true);
|
|
7977
7997
|
_el$2.$$keydown = handleKeyDown;
|
|
7978
7998
|
_el$2.$$click = (e) => e.stopPropagation();
|
|
@@ -8029,7 +8049,7 @@ const Settings = () => {
|
|
|
8029
8049
|
return premiumActive();
|
|
8030
8050
|
},
|
|
8031
8051
|
get fallback() {
|
|
8032
|
-
return _tmpl$
|
|
8052
|
+
return _tmpl$20();
|
|
8033
8053
|
},
|
|
8034
8054
|
get children() {
|
|
8035
8055
|
var _el$26 = _tmpl$4$1();
|
|
@@ -8050,55 +8070,55 @@ const Settings = () => {
|
|
|
8050
8070
|
return health();
|
|
8051
8071
|
},
|
|
8052
8072
|
children: (currentHealth) => (() => {
|
|
8053
|
-
var _el$
|
|
8054
|
-
_el$
|
|
8055
|
-
insert(_el$
|
|
8056
|
-
insert(_el$
|
|
8057
|
-
insert(_el$
|
|
8073
|
+
var _el$100 = _tmpl$22(), _el$101 = _el$100.firstChild, _el$102 = _el$101.nextSibling, _el$103 = _el$102.firstChild, _el$105 = _el$103.nextSibling;
|
|
8074
|
+
_el$105.nextSibling;
|
|
8075
|
+
insert(_el$105, () => currentHealth().mcp.status);
|
|
8076
|
+
insert(_el$102, () => currentHealth().mcp.message, null);
|
|
8077
|
+
insert(_el$100, createComponent(Show, {
|
|
8058
8078
|
get when() {
|
|
8059
8079
|
return currentHealth().mcp.endpoint;
|
|
8060
8080
|
},
|
|
8061
8081
|
children: (endpoint) => (() => {
|
|
8062
|
-
var _el$
|
|
8063
|
-
insert(_el$
|
|
8064
|
-
return _el$
|
|
8082
|
+
var _el$108 = _tmpl$23(), _el$109 = _el$108.firstChild, _el$110 = _el$109.nextSibling;
|
|
8083
|
+
insert(_el$110, endpoint);
|
|
8084
|
+
return _el$108;
|
|
8065
8085
|
})()
|
|
8066
8086
|
}), null);
|
|
8067
|
-
insert(_el$
|
|
8087
|
+
insert(_el$100, createComponent(Show, {
|
|
8068
8088
|
get when() {
|
|
8069
8089
|
return currentHealth().startupIssues.length > 0;
|
|
8070
8090
|
},
|
|
8071
8091
|
get children() {
|
|
8072
|
-
var _el$
|
|
8073
|
-
insert(_el$
|
|
8074
|
-
var _el$
|
|
8075
|
-
insert(_el$
|
|
8076
|
-
insert(_el$
|
|
8077
|
-
insert(_el$
|
|
8092
|
+
var _el$107 = _tmpl$21();
|
|
8093
|
+
insert(_el$107, () => currentHealth().startupIssues.map((issue) => (() => {
|
|
8094
|
+
var _el$111 = _tmpl$24(), _el$112 = _el$111.firstChild, _el$113 = _el$112.nextSibling;
|
|
8095
|
+
insert(_el$112, () => issue.title);
|
|
8096
|
+
insert(_el$113, () => issue.detail);
|
|
8097
|
+
insert(_el$111, createComponent(Show, {
|
|
8078
8098
|
get when() {
|
|
8079
8099
|
return issue.action;
|
|
8080
8100
|
},
|
|
8081
8101
|
children: (action) => (() => {
|
|
8082
|
-
var _el$
|
|
8083
|
-
insert(_el$
|
|
8084
|
-
return _el$
|
|
8102
|
+
var _el$114 = _tmpl$25();
|
|
8103
|
+
insert(_el$114, action);
|
|
8104
|
+
return _el$114;
|
|
8085
8105
|
})()
|
|
8086
8106
|
}), null);
|
|
8087
8107
|
createRenderEffect((_p$) => {
|
|
8088
8108
|
var _v$0 = !!(issue.severity === "warning"), _v$1 = !!(issue.severity === "error");
|
|
8089
|
-
_v$0 !== _p$.e && _el$
|
|
8090
|
-
_v$1 !== _p$.t && _el$
|
|
8109
|
+
_v$0 !== _p$.e && _el$111.classList.toggle("warning", _p$.e = _v$0);
|
|
8110
|
+
_v$1 !== _p$.t && _el$111.classList.toggle("error", _p$.t = _v$1);
|
|
8091
8111
|
return _p$;
|
|
8092
8112
|
}, {
|
|
8093
8113
|
e: void 0,
|
|
8094
8114
|
t: void 0
|
|
8095
8115
|
});
|
|
8096
|
-
return _el$
|
|
8116
|
+
return _el$111;
|
|
8097
8117
|
})()));
|
|
8098
|
-
return _el$
|
|
8118
|
+
return _el$107;
|
|
8099
8119
|
}
|
|
8100
8120
|
}), null);
|
|
8101
|
-
return _el$
|
|
8121
|
+
return _el$100;
|
|
8102
8122
|
})()
|
|
8103
8123
|
}), _el$28);
|
|
8104
8124
|
_el$30.$$input = (e) => setObsidianVaultPath(e.currentTarget.value);
|
|
@@ -8126,10 +8146,10 @@ const Settings = () => {
|
|
|
8126
8146
|
insert(_el$46, createComponent(For, {
|
|
8127
8147
|
each: CHAT_PROVIDERS,
|
|
8128
8148
|
children: (p) => (() => {
|
|
8129
|
-
var _el$
|
|
8130
|
-
insert(_el$
|
|
8131
|
-
createRenderEffect(() => _el$
|
|
8132
|
-
return _el$
|
|
8149
|
+
var _el$115 = _tmpl$26();
|
|
8150
|
+
insert(_el$115, () => p.name);
|
|
8151
|
+
createRenderEffect(() => _el$115.value = p.id);
|
|
8152
|
+
return _el$115;
|
|
8133
8153
|
})()
|
|
8134
8154
|
}));
|
|
8135
8155
|
createRenderEffect(() => _el$46.value = chatProviderId());
|
|
@@ -8172,12 +8192,12 @@ const Settings = () => {
|
|
|
8172
8192
|
},
|
|
8173
8193
|
get fallback() {
|
|
8174
8194
|
return (() => {
|
|
8175
|
-
var _el$
|
|
8176
|
-
_el$
|
|
8177
|
-
setAttribute(_el$
|
|
8178
|
-
createRenderEffect(() => setAttribute(_el$
|
|
8179
|
-
createRenderEffect(() => _el$
|
|
8180
|
-
return _el$
|
|
8195
|
+
var _el$116 = _tmpl$27();
|
|
8196
|
+
_el$116.$$input = (e) => setChatModel(e.currentTarget.value);
|
|
8197
|
+
setAttribute(_el$116, "spellcheck", false);
|
|
8198
|
+
createRenderEffect(() => setAttribute(_el$116, "placeholder", modelFetchState() === "loading" ? "Fetching models…" : chatProviderMeta().requiresKey && !chatApiKey().trim() ? "Enter API key to load models" : chatProviderMeta().defaultModel || "model name"));
|
|
8199
|
+
createRenderEffect(() => _el$116.value = chatModel());
|
|
8200
|
+
return _el$116;
|
|
8181
8201
|
})();
|
|
8182
8202
|
},
|
|
8183
8203
|
get children() {
|
|
@@ -8188,10 +8208,10 @@ const Settings = () => {
|
|
|
8188
8208
|
return providerModels();
|
|
8189
8209
|
},
|
|
8190
8210
|
children: (m) => (() => {
|
|
8191
|
-
var _el$
|
|
8192
|
-
_el$
|
|
8193
|
-
insert(_el$
|
|
8194
|
-
return _el$
|
|
8211
|
+
var _el$117 = _tmpl$26();
|
|
8212
|
+
_el$117.value = m;
|
|
8213
|
+
insert(_el$117, m);
|
|
8214
|
+
return _el$117;
|
|
8195
8215
|
})()
|
|
8196
8216
|
}));
|
|
8197
8217
|
createRenderEffect(() => _el$56.value = chatModel());
|
|
@@ -8207,6 +8227,16 @@ const Settings = () => {
|
|
|
8207
8227
|
return _tmpl$0();
|
|
8208
8228
|
}
|
|
8209
8229
|
}), null);
|
|
8230
|
+
insert(_el$53, createComponent(Show, {
|
|
8231
|
+
get when() {
|
|
8232
|
+
return modelFetchWarning();
|
|
8233
|
+
},
|
|
8234
|
+
children: (warning) => (() => {
|
|
8235
|
+
var _el$118 = _tmpl$28();
|
|
8236
|
+
insert(_el$118, warning);
|
|
8237
|
+
return _el$118;
|
|
8238
|
+
})()
|
|
8239
|
+
}), null);
|
|
8210
8240
|
createRenderEffect(() => _el$57.disabled = modelFetchState() === "loading");
|
|
8211
8241
|
return _el$53;
|
|
8212
8242
|
})(), createComponent(Show, {
|
|
@@ -8221,19 +8251,26 @@ const Settings = () => {
|
|
|
8221
8251
|
createRenderEffect(() => _el$61.value = chatBaseUrl());
|
|
8222
8252
|
return _el$59;
|
|
8223
8253
|
}
|
|
8254
|
+
}), createComponent(Show, {
|
|
8255
|
+
get when() {
|
|
8256
|
+
return chatProviderId() === "llama_cpp";
|
|
8257
|
+
},
|
|
8258
|
+
get children() {
|
|
8259
|
+
return _tmpl$11();
|
|
8260
|
+
}
|
|
8224
8261
|
})];
|
|
8225
8262
|
}
|
|
8226
|
-
}), _el$
|
|
8227
|
-
insert(_el$
|
|
8263
|
+
}), _el$63);
|
|
8264
|
+
insert(_el$64, createComponent(Show, {
|
|
8228
8265
|
get when() {
|
|
8229
8266
|
return premiumActive();
|
|
8230
8267
|
},
|
|
8231
8268
|
get fallback() {
|
|
8232
8269
|
return (() => {
|
|
8233
|
-
var _el$
|
|
8234
|
-
_el$
|
|
8235
|
-
setAttribute(_el$
|
|
8236
|
-
_el$
|
|
8270
|
+
var _el$119 = _tmpl$30(), _el$120 = _el$119.firstChild, _el$121 = _el$120.nextSibling, _el$122 = _el$121.firstChild, _el$123 = _el$122.nextSibling, _el$124 = _el$121.nextSibling;
|
|
8271
|
+
_el$122.$$input = (e) => setPremiumEmail(e.currentTarget.value);
|
|
8272
|
+
setAttribute(_el$122, "spellcheck", false);
|
|
8273
|
+
_el$123.$$click = async () => {
|
|
8237
8274
|
setPremiumLoading(true);
|
|
8238
8275
|
setPremiumMessage(null);
|
|
8239
8276
|
try {
|
|
@@ -8259,54 +8296,54 @@ const Settings = () => {
|
|
|
8259
8296
|
setPremiumLoading(false);
|
|
8260
8297
|
}
|
|
8261
8298
|
};
|
|
8262
|
-
insert(_el$
|
|
8263
|
-
_el$
|
|
8299
|
+
insert(_el$123, () => premiumLoading() ? "Checking..." : "Activate");
|
|
8300
|
+
_el$124.$$click = () => {
|
|
8264
8301
|
startPremiumCheckout();
|
|
8265
8302
|
};
|
|
8266
|
-
insert(_el$
|
|
8303
|
+
insert(_el$119, createComponent(Show, {
|
|
8267
8304
|
get when() {
|
|
8268
8305
|
return premiumMessage();
|
|
8269
8306
|
},
|
|
8270
8307
|
children: (msg) => (() => {
|
|
8271
|
-
var _el$
|
|
8272
|
-
insert(_el$
|
|
8308
|
+
var _el$126 = _tmpl$31();
|
|
8309
|
+
insert(_el$126, () => msg().text);
|
|
8273
8310
|
createRenderEffect((_p$) => {
|
|
8274
8311
|
var _v$10 = !!(msg().kind === "success"), _v$11 = !!(msg().kind === "error");
|
|
8275
|
-
_v$10 !== _p$.e && _el$
|
|
8276
|
-
_v$11 !== _p$.t && _el$
|
|
8312
|
+
_v$10 !== _p$.e && _el$126.classList.toggle("success", _p$.e = _v$10);
|
|
8313
|
+
_v$11 !== _p$.t && _el$126.classList.toggle("error", _p$.t = _v$11);
|
|
8277
8314
|
return _p$;
|
|
8278
8315
|
}, {
|
|
8279
8316
|
e: void 0,
|
|
8280
8317
|
t: void 0
|
|
8281
8318
|
});
|
|
8282
|
-
return _el$
|
|
8319
|
+
return _el$126;
|
|
8283
8320
|
})()
|
|
8284
8321
|
}), null);
|
|
8285
|
-
insert(_el$
|
|
8322
|
+
insert(_el$119, createComponent(Show, {
|
|
8286
8323
|
get when() {
|
|
8287
8324
|
return premiumState().email || premiumEmail();
|
|
8288
8325
|
},
|
|
8289
8326
|
get children() {
|
|
8290
|
-
var _el$
|
|
8291
|
-
_el$
|
|
8327
|
+
var _el$125 = _tmpl$29();
|
|
8328
|
+
_el$125.$$click = async () => {
|
|
8292
8329
|
const state = await window.vessel.premium.reset();
|
|
8293
8330
|
setPremiumState(state);
|
|
8294
8331
|
setPremiumEmail("");
|
|
8295
8332
|
setPremiumMessage(null);
|
|
8296
8333
|
};
|
|
8297
|
-
return _el$
|
|
8334
|
+
return _el$125;
|
|
8298
8335
|
}
|
|
8299
8336
|
}), null);
|
|
8300
|
-
createRenderEffect(() => _el$
|
|
8301
|
-
createRenderEffect(() => _el$
|
|
8302
|
-
return _el$
|
|
8337
|
+
createRenderEffect(() => _el$123.disabled = premiumLoading() || !premiumEmail().trim());
|
|
8338
|
+
createRenderEffect(() => _el$122.value = premiumEmail());
|
|
8339
|
+
return _el$119;
|
|
8303
8340
|
})();
|
|
8304
8341
|
},
|
|
8305
8342
|
get children() {
|
|
8306
|
-
var _el$
|
|
8307
|
-
_el$
|
|
8308
|
-
var _el$
|
|
8309
|
-
insert(_el$
|
|
8343
|
+
var _el$66 = _tmpl$12(), _el$67 = _el$66.firstChild;
|
|
8344
|
+
_el$67.firstChild;
|
|
8345
|
+
var _el$69 = _el$67.nextSibling, _el$70 = _el$69.nextSibling, _el$71 = _el$70.firstChild, _el$72 = _el$71.nextSibling;
|
|
8346
|
+
insert(_el$67, createComponent(Show, {
|
|
8310
8347
|
get when() {
|
|
8311
8348
|
return premiumState().status === "trialing";
|
|
8312
8349
|
},
|
|
@@ -8314,8 +8351,8 @@ const Settings = () => {
|
|
|
8314
8351
|
return [" ", "(Trial)"];
|
|
8315
8352
|
}
|
|
8316
8353
|
}), null);
|
|
8317
|
-
insert(_el$
|
|
8318
|
-
insert(_el$
|
|
8354
|
+
insert(_el$69, () => premiumState().email, null);
|
|
8355
|
+
insert(_el$69, createComponent(Show, {
|
|
8319
8356
|
get when() {
|
|
8320
8357
|
return premiumState().expiresAt;
|
|
8321
8358
|
},
|
|
@@ -8323,50 +8360,50 @@ const Settings = () => {
|
|
|
8323
8360
|
return [" ", "· Renews", " ", memo(() => new Date(premiumState().expiresAt).toLocaleDateString())];
|
|
8324
8361
|
}
|
|
8325
8362
|
}), null);
|
|
8326
|
-
_el$
|
|
8363
|
+
_el$71.$$click = () => {
|
|
8327
8364
|
void window.vessel.premium.portal();
|
|
8328
8365
|
};
|
|
8329
|
-
_el$
|
|
8366
|
+
_el$72.$$click = async () => {
|
|
8330
8367
|
const state = await window.vessel.premium.reset();
|
|
8331
8368
|
setPremiumState(state);
|
|
8332
8369
|
setPremiumEmail("");
|
|
8333
8370
|
setPremiumMessage(null);
|
|
8334
8371
|
};
|
|
8335
|
-
return _el$
|
|
8372
|
+
return _el$66;
|
|
8336
8373
|
}
|
|
8337
8374
|
}), null);
|
|
8338
|
-
insert(_el$
|
|
8375
|
+
insert(_el$75, createComponent(Show, {
|
|
8339
8376
|
get when() {
|
|
8340
8377
|
return !premiumActive();
|
|
8341
8378
|
},
|
|
8342
8379
|
get children() {
|
|
8343
|
-
return _tmpl$
|
|
8380
|
+
return _tmpl$13();
|
|
8344
8381
|
}
|
|
8345
8382
|
}), null);
|
|
8346
|
-
insert(_el$
|
|
8383
|
+
insert(_el$74, createComponent(Show, {
|
|
8347
8384
|
get when() {
|
|
8348
8385
|
return premiumActive();
|
|
8349
8386
|
},
|
|
8350
8387
|
get fallback() {
|
|
8351
|
-
return _tmpl$
|
|
8388
|
+
return _tmpl$32();
|
|
8352
8389
|
},
|
|
8353
8390
|
get children() {
|
|
8354
|
-
return [_tmpl$
|
|
8391
|
+
return [_tmpl$14(), createComponent(Show, {
|
|
8355
8392
|
get when() {
|
|
8356
8393
|
return vaultEntries().length > 0;
|
|
8357
8394
|
},
|
|
8358
8395
|
get children() {
|
|
8359
|
-
var _el$
|
|
8360
|
-
insert(_el$
|
|
8396
|
+
var _el$79 = _tmpl$15();
|
|
8397
|
+
insert(_el$79, createComponent(For, {
|
|
8361
8398
|
get each() {
|
|
8362
8399
|
return vaultEntries();
|
|
8363
8400
|
},
|
|
8364
8401
|
children: (entry) => (() => {
|
|
8365
|
-
var _el$
|
|
8366
|
-
insert(_el$
|
|
8367
|
-
insert(_el$
|
|
8368
|
-
insert(_el$
|
|
8369
|
-
insert(_el$
|
|
8402
|
+
var _el$128 = _tmpl$33(), _el$129 = _el$128.firstChild, _el$130 = _el$129.firstChild, _el$131 = _el$130.nextSibling, _el$132 = _el$131.firstChild, _el$133 = _el$129.nextSibling;
|
|
8403
|
+
insert(_el$130, () => entry.label);
|
|
8404
|
+
insert(_el$131, () => entry.username, _el$132);
|
|
8405
|
+
insert(_el$131, () => entry.domainPattern, null);
|
|
8406
|
+
insert(_el$131, createComponent(Show, {
|
|
8370
8407
|
get when() {
|
|
8371
8408
|
return entry.useCount > 0;
|
|
8372
8409
|
},
|
|
@@ -8374,43 +8411,43 @@ const Settings = () => {
|
|
|
8374
8411
|
return [" ", "· Used ", memo(() => entry.useCount), "x"];
|
|
8375
8412
|
}
|
|
8376
8413
|
}), null);
|
|
8377
|
-
_el$
|
|
8378
|
-
return _el$
|
|
8414
|
+
_el$133.$$click = () => handleVaultRemove(entry.id);
|
|
8415
|
+
return _el$128;
|
|
8379
8416
|
})()
|
|
8380
8417
|
}));
|
|
8381
|
-
return _el$
|
|
8418
|
+
return _el$79;
|
|
8382
8419
|
}
|
|
8383
8420
|
}), createComponent(Show, {
|
|
8384
8421
|
get when() {
|
|
8385
8422
|
return !vaultAdding();
|
|
8386
8423
|
},
|
|
8387
8424
|
get children() {
|
|
8388
|
-
var _el$
|
|
8389
|
-
_el$
|
|
8425
|
+
var _el$80 = _tmpl$16();
|
|
8426
|
+
_el$80.$$click = () => {
|
|
8390
8427
|
setVaultAdding(true);
|
|
8391
8428
|
setVaultMessage(null);
|
|
8392
8429
|
};
|
|
8393
|
-
return _el$
|
|
8430
|
+
return _el$80;
|
|
8394
8431
|
}
|
|
8395
8432
|
}), createComponent(Show, {
|
|
8396
8433
|
get when() {
|
|
8397
8434
|
return vaultAdding();
|
|
8398
8435
|
},
|
|
8399
8436
|
get children() {
|
|
8400
|
-
var _el$
|
|
8401
|
-
_el$
|
|
8402
|
-
setAttribute(_el$81, "spellcheck", false);
|
|
8403
|
-
_el$82.$$input = (e) => setVaultNewDomain(e.currentTarget.value);
|
|
8437
|
+
var _el$81 = _tmpl$17(), _el$82 = _el$81.firstChild, _el$83 = _el$82.nextSibling, _el$84 = _el$83.nextSibling, _el$85 = _el$84.nextSibling, _el$86 = _el$85.nextSibling, _el$87 = _el$86.nextSibling, _el$88 = _el$87.nextSibling, _el$89 = _el$88.firstChild, _el$90 = _el$89.nextSibling;
|
|
8438
|
+
_el$82.$$input = (e) => setVaultNewLabel(e.currentTarget.value);
|
|
8404
8439
|
setAttribute(_el$82, "spellcheck", false);
|
|
8405
|
-
_el$83.$$input = (e) =>
|
|
8440
|
+
_el$83.$$input = (e) => setVaultNewDomain(e.currentTarget.value);
|
|
8406
8441
|
setAttribute(_el$83, "spellcheck", false);
|
|
8407
|
-
_el$84.$$input = (e) =>
|
|
8408
|
-
_el$
|
|
8409
|
-
|
|
8410
|
-
_el$86.$$input = (e) =>
|
|
8442
|
+
_el$84.$$input = (e) => setVaultNewUsername(e.currentTarget.value);
|
|
8443
|
+
setAttribute(_el$84, "spellcheck", false);
|
|
8444
|
+
_el$85.$$input = (e) => setVaultNewPassword(e.currentTarget.value);
|
|
8445
|
+
_el$86.$$input = (e) => setVaultNewTotp(e.currentTarget.value);
|
|
8411
8446
|
setAttribute(_el$86, "spellcheck", false);
|
|
8412
|
-
_el$
|
|
8413
|
-
_el$
|
|
8447
|
+
_el$87.$$input = (e) => setVaultNewNotes(e.currentTarget.value);
|
|
8448
|
+
setAttribute(_el$87, "spellcheck", false);
|
|
8449
|
+
_el$89.$$click = handleVaultAdd;
|
|
8450
|
+
_el$90.$$click = () => {
|
|
8414
8451
|
setVaultAdding(false);
|
|
8415
8452
|
setVaultNewLabel("");
|
|
8416
8453
|
setVaultNewDomain("");
|
|
@@ -8419,55 +8456,55 @@ const Settings = () => {
|
|
|
8419
8456
|
setVaultNewTotp("");
|
|
8420
8457
|
setVaultNewNotes("");
|
|
8421
8458
|
};
|
|
8422
|
-
createRenderEffect(() => _el$
|
|
8423
|
-
createRenderEffect(() => _el$
|
|
8424
|
-
createRenderEffect(() => _el$
|
|
8425
|
-
createRenderEffect(() => _el$
|
|
8426
|
-
createRenderEffect(() => _el$
|
|
8427
|
-
createRenderEffect(() => _el$
|
|
8428
|
-
return _el$
|
|
8459
|
+
createRenderEffect(() => _el$82.value = vaultNewLabel());
|
|
8460
|
+
createRenderEffect(() => _el$83.value = vaultNewDomain());
|
|
8461
|
+
createRenderEffect(() => _el$84.value = vaultNewUsername());
|
|
8462
|
+
createRenderEffect(() => _el$85.value = vaultNewPassword());
|
|
8463
|
+
createRenderEffect(() => _el$86.value = vaultNewTotp());
|
|
8464
|
+
createRenderEffect(() => _el$87.value = vaultNewNotes());
|
|
8465
|
+
return _el$81;
|
|
8429
8466
|
}
|
|
8430
8467
|
}), createComponent(Show, {
|
|
8431
8468
|
get when() {
|
|
8432
8469
|
return vaultMessage();
|
|
8433
8470
|
},
|
|
8434
8471
|
children: (msg) => (() => {
|
|
8435
|
-
var _el$
|
|
8436
|
-
insert(_el$
|
|
8472
|
+
var _el$134 = _tmpl$31();
|
|
8473
|
+
insert(_el$134, () => msg().text);
|
|
8437
8474
|
createRenderEffect((_p$) => {
|
|
8438
8475
|
var _v$12 = !!(msg().kind === "success"), _v$13 = !!(msg().kind === "error");
|
|
8439
|
-
_v$12 !== _p$.e && _el$
|
|
8440
|
-
_v$13 !== _p$.t && _el$
|
|
8476
|
+
_v$12 !== _p$.e && _el$134.classList.toggle("success", _p$.e = _v$12);
|
|
8477
|
+
_v$13 !== _p$.t && _el$134.classList.toggle("error", _p$.t = _v$13);
|
|
8441
8478
|
return _p$;
|
|
8442
8479
|
}, {
|
|
8443
8480
|
e: void 0,
|
|
8444
8481
|
t: void 0
|
|
8445
8482
|
});
|
|
8446
|
-
return _el$
|
|
8483
|
+
return _el$134;
|
|
8447
8484
|
})()
|
|
8448
8485
|
})];
|
|
8449
8486
|
}
|
|
8450
8487
|
}), null);
|
|
8451
|
-
_el$
|
|
8452
|
-
_el$
|
|
8453
|
-
addEventListener(_el$
|
|
8488
|
+
_el$94.$$click = () => setTelemetryEnabled(!telemetryEnabled());
|
|
8489
|
+
_el$96.$$click = handleSave;
|
|
8490
|
+
addEventListener(_el$97, "click", closeSettings, true);
|
|
8454
8491
|
insert(_el$2, createComponent(Show, {
|
|
8455
8492
|
get when() {
|
|
8456
8493
|
return status();
|
|
8457
8494
|
},
|
|
8458
8495
|
children: (currentStatus) => (() => {
|
|
8459
|
-
var _el$
|
|
8460
|
-
insert(_el$
|
|
8496
|
+
var _el$135 = _tmpl$31();
|
|
8497
|
+
insert(_el$135, () => currentStatus().text);
|
|
8461
8498
|
createRenderEffect((_p$) => {
|
|
8462
8499
|
var _v$14 = !!(currentStatus().kind === "success"), _v$15 = !!(currentStatus().kind === "error");
|
|
8463
|
-
_v$14 !== _p$.e && _el$
|
|
8464
|
-
_v$15 !== _p$.t && _el$
|
|
8500
|
+
_v$14 !== _p$.e && _el$135.classList.toggle("success", _p$.e = _v$14);
|
|
8501
|
+
_v$15 !== _p$.t && _el$135.classList.toggle("error", _p$.t = _v$15);
|
|
8465
8502
|
return _p$;
|
|
8466
8503
|
}, {
|
|
8467
8504
|
e: void 0,
|
|
8468
8505
|
t: void 0
|
|
8469
8506
|
});
|
|
8470
|
-
return _el$
|
|
8507
|
+
return _el$135;
|
|
8471
8508
|
})()
|
|
8472
8509
|
}), null);
|
|
8473
8510
|
createRenderEffect((_p$) => {
|
|
@@ -8479,8 +8516,8 @@ const Settings = () => {
|
|
|
8479
8516
|
_v$5 !== _p$.i && setAttribute(_el$39, "aria-checked", _p$.i = _v$5);
|
|
8480
8517
|
_v$6 !== _p$.n && _el$43.classList.toggle("on", _p$.n = _v$6);
|
|
8481
8518
|
_v$7 !== _p$.s && setAttribute(_el$43, "aria-checked", _p$.s = _v$7);
|
|
8482
|
-
_v$8 !== _p$.h && _el$
|
|
8483
|
-
_v$9 !== _p$.r && setAttribute(_el$
|
|
8519
|
+
_v$8 !== _p$.h && _el$94.classList.toggle("on", _p$.h = _v$8);
|
|
8520
|
+
_v$9 !== _p$.r && setAttribute(_el$94, "aria-checked", _p$.r = _v$9);
|
|
8484
8521
|
return _p$;
|
|
8485
8522
|
}, {
|
|
8486
8523
|
e: void 0,
|
|
@@ -8498,7 +8535,7 @@ const Settings = () => {
|
|
|
8498
8535
|
createRenderEffect(() => _el$30.value = obsidianVaultPath());
|
|
8499
8536
|
createRenderEffect(() => _el$33.value = agentTranscriptMode());
|
|
8500
8537
|
return _el$;
|
|
8501
|
-
})(), _tmpl$
|
|
8538
|
+
})(), _tmpl$19()];
|
|
8502
8539
|
}
|
|
8503
8540
|
});
|
|
8504
8541
|
};
|