@quanta-intellect/vessel-browser 0.1.26 → 0.1.28

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.
@@ -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 &amp; 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>`);
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 &amp; 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$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,
@@ -4942,7 +4942,7 @@ const AutomationTab = (props) => {
4942
4942
  return scheduledJobs();
4943
4943
  },
4944
4944
  children: (job) => (() => {
4945
- var _el$84 = _tmpl$30$1(), _el$85 = _el$84.firstChild, _el$86 = _el$85.nextSibling, _el$87 = _el$86.firstChild, _el$88 = _el$87.nextSibling, _el$91 = _el$86.nextSibling, _el$92 = _el$91.firstChild, _el$93 = _el$92.nextSibling;
4945
+ var _el$84 = _tmpl$30$2(), _el$85 = _el$84.firstChild, _el$86 = _el$85.nextSibling, _el$87 = _el$86.firstChild, _el$88 = _el$87.nextSibling, _el$91 = _el$86.nextSibling, _el$92 = _el$91.firstChild, _el$93 = _el$92.nextSibling;
4946
4946
  _el$84.$$contextmenu = (e) => {
4947
4947
  e.preventDefault();
4948
4948
  e.stopPropagation();
@@ -5049,7 +5049,7 @@ const AutomationTab = (props) => {
5049
5049
  })();
5050
5050
  },
5051
5051
  get children() {
5052
- var _el$108 = _tmpl$31$1();
5052
+ var _el$108 = _tmpl$31$2();
5053
5053
  insert(_el$108, () => activity.output.trim());
5054
5054
  return _el$108;
5055
5055
  }
@@ -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(`<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>×`);
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$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(`<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",
@@ -5896,7 +5896,7 @@ ${contextBlock}` : contextBlock);
5896
5896
  return recentActions();
5897
5897
  },
5898
5898
  children: (action) => (() => {
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;
5899
+ var _el$114 = _tmpl$30$1(), _el$115 = _el$114.firstChild, _el$116 = _el$115.firstChild, _el$117 = _el$116.nextSibling, _el$118 = _el$115.nextSibling;
5900
5900
  insert(_el$116, () => action.name);
5901
5901
  insert(_el$117, () => action.status);
5902
5902
  insert(_el$118, () => action.argsSummary);
@@ -5987,7 +5987,7 @@ ${contextBlock}` : contextBlock);
5987
5987
  },
5988
5988
  get fallback() {
5989
5989
  return (() => {
5990
- var _el$121 = _tmpl$31();
5990
+ var _el$121 = _tmpl$31$1();
5991
5991
  insert(_el$121, (() => {
5992
5992
  var _c$5 = memo(() => !!normalizedBookmarkSearch());
5993
5993
  return () => _c$5() ? `No bookmarks matched "${bookmarkSearchQuery().trim()}".` : "No bookmarks saved yet.";
@@ -6914,7 +6914,7 @@ const DevToolsPanel = () => {
6914
6914
  })();
6915
6915
  };
6916
6916
  delegateEvents(["click", "input"]);
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>&times;</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:&lt;port&gt;/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>
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>&times;</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(`<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$12 = /* @__PURE__ */ template(`<span class=vault-premium-badge>Premium`), _tmpl$13 = /* @__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$14 = /* @__PURE__ */ template(`<div class=vault-entries>`), _tmpl$15 = /* @__PURE__ */ template(`<button class=vault-add-btn>+ Add Credential`), _tmpl$16 = /* @__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$17 = /* @__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:&lt;port&gt;/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$18 = /* @__PURE__ */ template(`<style>
6918
6918
  .settings-panel {
6919
6919
  width: min(440px, calc(100vw - 32px));
6920
6920
  max-height: calc(100vh - 48px);
@@ -7010,6 +7010,10 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
7010
7010
  font-weight: 500;
7011
7011
  letter-spacing: 0.01em;
7012
7012
  }
7013
+ .settings-label-optional {
7014
+ font-weight: 400;
7015
+ opacity: 0.6;
7016
+ }
7013
7017
  .settings-input {
7014
7018
  width: 100%;
7015
7019
  height: 34px;
@@ -7441,7 +7445,7 @@ var _tmpl$$2 = /* @__PURE__ */ template(`<div class=welcome-banner-actions><butt
7441
7445
  justify-content: flex-end;
7442
7446
  margin-top: 4px;
7443
7447
  }
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> &middot; </span></div><button class=vault-entry-remove title="Remove credential">&times;`);
7448
+ `), _tmpl$19 = /* @__PURE__ */ template(`<div class="settings-input settings-input-disabled"title="Upgrade to Vessel Premium for unlimited tool iterations">50`), _tmpl$20 = /* @__PURE__ */ template(`<div class=settings-health-issues>`), _tmpl$21 = /* @__PURE__ */ template(`<div class=settings-health><div class=settings-callout-title>Runtime Health</div><p class=settings-hint>MCP status: <strong></strong> `), _tmpl$22 = /* @__PURE__ */ template(`<p class=settings-hint>Active endpoint: <code>`), _tmpl$23 = /* @__PURE__ */ template(`<div class=settings-health-issue><strong></strong><div>`), _tmpl$24 = /* @__PURE__ */ template(`<div>`), _tmpl$25 = /* @__PURE__ */ template(`<option>`), _tmpl$26 = /* @__PURE__ */ template(`<input id=chat-model class=settings-input style=flex:1>`), _tmpl$27 = /* @__PURE__ */ template(`<button class="premium-btn premium-btn-reset">Clear Saved Email`), _tmpl$28 = /* @__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$29 = /* @__PURE__ */ template(`<p class=settings-status>`), _tmpl$30 = /* @__PURE__ */ template(`<p class=settings-hint>Securely store credentials for agent-driven logins. Upgrade to Premium to unlock the Agent Credential Vault.`), _tmpl$31 = /* @__PURE__ */ template(`<div class=vault-entry><div class=vault-entry-info><span class=vault-entry-label></span><span class=vault-entry-detail> &middot; </span></div><button class=vault-entry-remove title="Remove credential">&times;`);
7445
7449
  const CHAT_PROVIDERS = [{
7446
7450
  id: "anthropic",
7447
7451
  name: "Anthropic",
@@ -7504,7 +7508,7 @@ const CHAT_PROVIDERS = [{
7504
7508
  requiresKey: false,
7505
7509
  needsBaseUrl: true,
7506
7510
  defaultBaseUrl: "http://localhost:8080/v1",
7507
- keyPlaceholder: "",
7511
+ keyPlaceholder: "Bearer token or API key",
7508
7512
  defaultModel: "",
7509
7513
  models: []
7510
7514
  }];
@@ -7778,11 +7782,11 @@ const Settings = () => {
7778
7782
  },
7779
7783
  get children() {
7780
7784
  return [(() => {
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;
7785
+ var _el$ = _tmpl$17(), _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$62 = _el$41.nextSibling, _el$63 = _el$62.nextSibling;
7786
+ _el$63.firstChild;
7787
+ var _el$72 = _el$63.nextSibling, _el$73 = _el$72.nextSibling, _el$74 = _el$73.firstChild;
7788
+ _el$74.firstChild;
7789
+ var _el$90 = _el$73.nextSibling, _el$91 = _el$90.nextSibling, _el$92 = _el$91.firstChild, _el$93 = _el$92.firstChild, _el$94 = _el$91.nextSibling, _el$95 = _el$94.firstChild, _el$96 = _el$95.nextSibling;
7786
7790
  addEventListener(_el$, "click", closeSettings, true);
7787
7791
  _el$2.$$keydown = handleKeyDown;
7788
7792
  _el$2.$$click = (e) => e.stopPropagation();
@@ -7839,7 +7843,7 @@ const Settings = () => {
7839
7843
  return premiumActive();
7840
7844
  },
7841
7845
  get fallback() {
7842
- return _tmpl$17();
7846
+ return _tmpl$19();
7843
7847
  },
7844
7848
  get children() {
7845
7849
  var _el$26 = _tmpl$4$1();
@@ -7860,55 +7864,55 @@ const Settings = () => {
7860
7864
  return health();
7861
7865
  },
7862
7866
  children: (currentHealth) => (() => {
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, {
7867
+ var _el$99 = _tmpl$21(), _el$100 = _el$99.firstChild, _el$101 = _el$100.nextSibling, _el$102 = _el$101.firstChild, _el$104 = _el$102.nextSibling;
7868
+ _el$104.nextSibling;
7869
+ insert(_el$104, () => currentHealth().mcp.status);
7870
+ insert(_el$101, () => currentHealth().mcp.message, null);
7871
+ insert(_el$99, createComponent(Show, {
7868
7872
  get when() {
7869
7873
  return currentHealth().mcp.endpoint;
7870
7874
  },
7871
7875
  children: (endpoint) => (() => {
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;
7876
+ var _el$107 = _tmpl$22(), _el$108 = _el$107.firstChild, _el$109 = _el$108.nextSibling;
7877
+ insert(_el$109, endpoint);
7878
+ return _el$107;
7875
7879
  })()
7876
7880
  }), null);
7877
- insert(_el$96, createComponent(Show, {
7881
+ insert(_el$99, createComponent(Show, {
7878
7882
  get when() {
7879
7883
  return currentHealth().startupIssues.length > 0;
7880
7884
  },
7881
7885
  get children() {
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, {
7886
+ var _el$106 = _tmpl$20();
7887
+ insert(_el$106, () => currentHealth().startupIssues.map((issue) => (() => {
7888
+ var _el$110 = _tmpl$23(), _el$111 = _el$110.firstChild, _el$112 = _el$111.nextSibling;
7889
+ insert(_el$111, () => issue.title);
7890
+ insert(_el$112, () => issue.detail);
7891
+ insert(_el$110, createComponent(Show, {
7888
7892
  get when() {
7889
7893
  return issue.action;
7890
7894
  },
7891
7895
  children: (action) => (() => {
7892
- var _el$110 = _tmpl$22();
7893
- insert(_el$110, action);
7894
- return _el$110;
7896
+ var _el$113 = _tmpl$24();
7897
+ insert(_el$113, action);
7898
+ return _el$113;
7895
7899
  })()
7896
7900
  }), null);
7897
7901
  createRenderEffect((_p$) => {
7898
7902
  var _v$9 = !!(issue.severity === "warning"), _v$0 = !!(issue.severity === "error");
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);
7903
+ _v$9 !== _p$.e && _el$110.classList.toggle("warning", _p$.e = _v$9);
7904
+ _v$0 !== _p$.t && _el$110.classList.toggle("error", _p$.t = _v$0);
7901
7905
  return _p$;
7902
7906
  }, {
7903
7907
  e: void 0,
7904
7908
  t: void 0
7905
7909
  });
7906
- return _el$107;
7910
+ return _el$110;
7907
7911
  })()));
7908
- return _el$103;
7912
+ return _el$106;
7909
7913
  }
7910
7914
  }), null);
7911
- return _el$96;
7915
+ return _el$99;
7912
7916
  })()
7913
7917
  }), _el$28);
7914
7918
  _el$30.$$input = (e) => setObsidianVaultPath(e.currentTarget.value);
@@ -7936,96 +7940,114 @@ const Settings = () => {
7936
7940
  insert(_el$46, createComponent(For, {
7937
7941
  each: CHAT_PROVIDERS,
7938
7942
  children: (p) => (() => {
7939
- var _el$111 = _tmpl$23();
7940
- insert(_el$111, () => p.name);
7941
- createRenderEffect(() => _el$111.value = p.id);
7942
- return _el$111;
7943
+ var _el$114 = _tmpl$25();
7944
+ insert(_el$114, () => p.name);
7945
+ createRenderEffect(() => _el$114.value = p.id);
7946
+ return _el$114;
7943
7947
  })()
7944
7948
  }));
7945
7949
  createRenderEffect(() => _el$46.value = chatProviderId());
7946
7950
  return _el$44;
7947
7951
  })(), createComponent(Show, {
7948
7952
  get when() {
7949
- return chatProviderMeta().requiresKey;
7953
+ return chatProviderMeta().requiresKey || chatProviderId() === "custom";
7950
7954
  },
7951
7955
  get children() {
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());
7956
+ var _el$47 = _tmpl$8(), _el$48 = _el$47.firstChild;
7957
+ _el$48.firstChild;
7958
+ var _el$51 = _el$48.nextSibling;
7959
+ insert(_el$48, createComponent(Show, {
7960
+ get when() {
7961
+ return !chatProviderMeta().requiresKey;
7962
+ },
7963
+ get children() {
7964
+ return _tmpl$6$1();
7965
+ }
7966
+ }), null);
7967
+ _el$51.$$input = (e) => setChatApiKey(e.currentTarget.value);
7968
+ setAttribute(_el$51, "spellcheck", false);
7969
+ insert(_el$47, createComponent(Show, {
7970
+ get when() {
7971
+ return chatProviderId() === "custom";
7972
+ },
7973
+ get children() {
7974
+ return _tmpl$7();
7975
+ }
7976
+ }), null);
7977
+ createRenderEffect(() => setAttribute(_el$51, "placeholder", chatProviderMeta().keyPlaceholder || "Bearer token or API key"));
7978
+ createRenderEffect(() => _el$51.value = chatApiKey());
7957
7979
  return _el$47;
7958
7980
  }
7959
7981
  }), (() => {
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, {
7982
+ var _el$53 = _tmpl$1(), _el$54 = _el$53.firstChild, _el$55 = _el$54.nextSibling, _el$57 = _el$55.firstChild;
7983
+ insert(_el$55, createComponent(Show, {
7962
7984
  get when() {
7963
7985
  return providerModels().length > 0;
7964
7986
  },
7965
7987
  get fallback() {
7966
7988
  return (() => {
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;
7989
+ var _el$115 = _tmpl$26();
7990
+ _el$115.$$input = (e) => setChatModel(e.currentTarget.value);
7991
+ setAttribute(_el$115, "spellcheck", false);
7992
+ createRenderEffect(() => setAttribute(_el$115, "placeholder", modelFetchState() === "loading" ? "Fetching models…" : chatProviderMeta().requiresKey && !chatApiKey().trim() ? "Enter API key to load models" : chatProviderMeta().defaultModel || "model name"));
7993
+ createRenderEffect(() => _el$115.value = chatModel());
7994
+ return _el$115;
7973
7995
  })();
7974
7996
  },
7975
7997
  get children() {
7976
- var _el$53 = _tmpl$7();
7977
- _el$53.addEventListener("change", (e) => setChatModel(e.currentTarget.value));
7978
- insert(_el$53, createComponent(For, {
7998
+ var _el$56 = _tmpl$9();
7999
+ _el$56.addEventListener("change", (e) => setChatModel(e.currentTarget.value));
8000
+ insert(_el$56, createComponent(For, {
7979
8001
  get each() {
7980
8002
  return providerModels();
7981
8003
  },
7982
8004
  children: (m) => (() => {
7983
- var _el$113 = _tmpl$23();
7984
- _el$113.value = m;
7985
- insert(_el$113, m);
7986
- return _el$113;
8005
+ var _el$116 = _tmpl$25();
8006
+ _el$116.value = m;
8007
+ insert(_el$116, m);
8008
+ return _el$116;
7987
8009
  })()
7988
8010
  }));
7989
- createRenderEffect(() => _el$53.value = chatModel());
7990
- return _el$53;
8011
+ createRenderEffect(() => _el$56.value = chatModel());
8012
+ return _el$56;
7991
8013
  }
7992
- }), _el$54);
7993
- _el$54.$$click = doFetchModels;
7994
- insert(_el$50, createComponent(Show, {
8014
+ }), _el$57);
8015
+ _el$57.$$click = doFetchModels;
8016
+ insert(_el$53, createComponent(Show, {
7995
8017
  get when() {
7996
8018
  return modelFetchState() === "error";
7997
8019
  },
7998
8020
  get children() {
7999
- return _tmpl$8();
8021
+ return _tmpl$0();
8000
8022
  }
8001
8023
  }), null);
8002
- createRenderEffect(() => _el$54.disabled = modelFetchState() === "loading");
8003
- return _el$50;
8024
+ createRenderEffect(() => _el$57.disabled = modelFetchState() === "loading");
8025
+ return _el$53;
8004
8026
  })(), createComponent(Show, {
8005
8027
  get when() {
8006
8028
  return chatProviderMeta().needsBaseUrl || chatProviderId() === "custom";
8007
8029
  },
8008
8030
  get children() {
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;
8031
+ var _el$59 = _tmpl$10(), _el$60 = _el$59.firstChild, _el$61 = _el$60.nextSibling;
8032
+ _el$61.$$input = (e) => setChatBaseUrl(e.currentTarget.value);
8033
+ setAttribute(_el$61, "spellcheck", false);
8034
+ createRenderEffect(() => setAttribute(_el$61, "placeholder", chatProviderMeta().defaultBaseUrl ?? "https://..."));
8035
+ createRenderEffect(() => _el$61.value = chatBaseUrl());
8036
+ return _el$59;
8015
8037
  }
8016
8038
  })];
8017
8039
  }
8018
- }), _el$59);
8019
- insert(_el$60, createComponent(Show, {
8040
+ }), _el$62);
8041
+ insert(_el$63, createComponent(Show, {
8020
8042
  get when() {
8021
8043
  return premiumActive();
8022
8044
  },
8023
8045
  get fallback() {
8024
8046
  return (() => {
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 () => {
8047
+ var _el$117 = _tmpl$28(), _el$118 = _el$117.firstChild, _el$119 = _el$118.nextSibling, _el$120 = _el$119.firstChild, _el$121 = _el$120.nextSibling, _el$122 = _el$119.nextSibling;
8048
+ _el$120.$$input = (e) => setPremiumEmail(e.currentTarget.value);
8049
+ setAttribute(_el$120, "spellcheck", false);
8050
+ _el$121.$$click = async () => {
8029
8051
  setPremiumLoading(true);
8030
8052
  setPremiumMessage(null);
8031
8053
  try {
@@ -8051,54 +8073,54 @@ const Settings = () => {
8051
8073
  setPremiumLoading(false);
8052
8074
  }
8053
8075
  };
8054
- insert(_el$118, () => premiumLoading() ? "Checking..." : "Activate");
8055
- _el$119.$$click = () => {
8076
+ insert(_el$121, () => premiumLoading() ? "Checking..." : "Activate");
8077
+ _el$122.$$click = () => {
8056
8078
  startPremiumCheckout();
8057
8079
  };
8058
- insert(_el$114, createComponent(Show, {
8080
+ insert(_el$117, createComponent(Show, {
8059
8081
  get when() {
8060
8082
  return premiumMessage();
8061
8083
  },
8062
8084
  children: (msg) => (() => {
8063
- var _el$121 = _tmpl$27();
8064
- insert(_el$121, () => msg().text);
8085
+ var _el$124 = _tmpl$29();
8086
+ insert(_el$124, () => msg().text);
8065
8087
  createRenderEffect((_p$) => {
8066
8088
  var _v$1 = !!(msg().kind === "success"), _v$10 = !!(msg().kind === "error");
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);
8089
+ _v$1 !== _p$.e && _el$124.classList.toggle("success", _p$.e = _v$1);
8090
+ _v$10 !== _p$.t && _el$124.classList.toggle("error", _p$.t = _v$10);
8069
8091
  return _p$;
8070
8092
  }, {
8071
8093
  e: void 0,
8072
8094
  t: void 0
8073
8095
  });
8074
- return _el$121;
8096
+ return _el$124;
8075
8097
  })()
8076
8098
  }), null);
8077
- insert(_el$114, createComponent(Show, {
8099
+ insert(_el$117, createComponent(Show, {
8078
8100
  get when() {
8079
8101
  return premiumState().email || premiumEmail();
8080
8102
  },
8081
8103
  get children() {
8082
- var _el$120 = _tmpl$25();
8083
- _el$120.$$click = async () => {
8104
+ var _el$123 = _tmpl$27();
8105
+ _el$123.$$click = async () => {
8084
8106
  const state = await window.vessel.premium.reset();
8085
8107
  setPremiumState(state);
8086
8108
  setPremiumEmail("");
8087
8109
  setPremiumMessage(null);
8088
8110
  };
8089
- return _el$120;
8111
+ return _el$123;
8090
8112
  }
8091
8113
  }), null);
8092
- createRenderEffect(() => _el$118.disabled = premiumLoading() || !premiumEmail().trim());
8093
- createRenderEffect(() => _el$117.value = premiumEmail());
8094
- return _el$114;
8114
+ createRenderEffect(() => _el$121.disabled = premiumLoading() || !premiumEmail().trim());
8115
+ createRenderEffect(() => _el$120.value = premiumEmail());
8116
+ return _el$117;
8095
8117
  })();
8096
8118
  },
8097
8119
  get children() {
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, {
8120
+ var _el$65 = _tmpl$11(), _el$66 = _el$65.firstChild;
8121
+ _el$66.firstChild;
8122
+ var _el$68 = _el$66.nextSibling, _el$69 = _el$68.nextSibling, _el$70 = _el$69.firstChild, _el$71 = _el$70.nextSibling;
8123
+ insert(_el$66, createComponent(Show, {
8102
8124
  get when() {
8103
8125
  return premiumState().status === "trialing";
8104
8126
  },
@@ -8106,8 +8128,8 @@ const Settings = () => {
8106
8128
  return [" ", "(Trial)"];
8107
8129
  }
8108
8130
  }), null);
8109
- insert(_el$65, () => premiumState().email, null);
8110
- insert(_el$65, createComponent(Show, {
8131
+ insert(_el$68, () => premiumState().email, null);
8132
+ insert(_el$68, createComponent(Show, {
8111
8133
  get when() {
8112
8134
  return premiumState().expiresAt;
8113
8135
  },
@@ -8115,50 +8137,50 @@ const Settings = () => {
8115
8137
  return [" ", "· Renews", " ", memo(() => new Date(premiumState().expiresAt).toLocaleDateString())];
8116
8138
  }
8117
8139
  }), null);
8118
- _el$67.$$click = () => {
8140
+ _el$70.$$click = () => {
8119
8141
  void window.vessel.premium.portal();
8120
8142
  };
8121
- _el$68.$$click = async () => {
8143
+ _el$71.$$click = async () => {
8122
8144
  const state = await window.vessel.premium.reset();
8123
8145
  setPremiumState(state);
8124
8146
  setPremiumEmail("");
8125
8147
  setPremiumMessage(null);
8126
8148
  };
8127
- return _el$62;
8149
+ return _el$65;
8128
8150
  }
8129
8151
  }), null);
8130
- insert(_el$71, createComponent(Show, {
8152
+ insert(_el$74, createComponent(Show, {
8131
8153
  get when() {
8132
8154
  return !premiumActive();
8133
8155
  },
8134
8156
  get children() {
8135
- return _tmpl$10();
8157
+ return _tmpl$12();
8136
8158
  }
8137
8159
  }), null);
8138
- insert(_el$70, createComponent(Show, {
8160
+ insert(_el$73, createComponent(Show, {
8139
8161
  get when() {
8140
8162
  return premiumActive();
8141
8163
  },
8142
8164
  get fallback() {
8143
- return _tmpl$28();
8165
+ return _tmpl$30();
8144
8166
  },
8145
8167
  get children() {
8146
- return [_tmpl$11(), createComponent(Show, {
8168
+ return [_tmpl$13(), createComponent(Show, {
8147
8169
  get when() {
8148
8170
  return vaultEntries().length > 0;
8149
8171
  },
8150
8172
  get children() {
8151
- var _el$75 = _tmpl$12();
8152
- insert(_el$75, createComponent(For, {
8173
+ var _el$78 = _tmpl$14();
8174
+ insert(_el$78, createComponent(For, {
8153
8175
  get each() {
8154
8176
  return vaultEntries();
8155
8177
  },
8156
8178
  children: (entry) => (() => {
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, {
8179
+ var _el$126 = _tmpl$31(), _el$127 = _el$126.firstChild, _el$128 = _el$127.firstChild, _el$129 = _el$128.nextSibling, _el$130 = _el$129.firstChild, _el$131 = _el$127.nextSibling;
8180
+ insert(_el$128, () => entry.label);
8181
+ insert(_el$129, () => entry.username, _el$130);
8182
+ insert(_el$129, () => entry.domainPattern, null);
8183
+ insert(_el$129, createComponent(Show, {
8162
8184
  get when() {
8163
8185
  return entry.useCount > 0;
8164
8186
  },
@@ -8166,43 +8188,43 @@ const Settings = () => {
8166
8188
  return [" ", "· Used ", memo(() => entry.useCount), "x"];
8167
8189
  }
8168
8190
  }), null);
8169
- _el$128.$$click = () => handleVaultRemove(entry.id);
8170
- return _el$123;
8191
+ _el$131.$$click = () => handleVaultRemove(entry.id);
8192
+ return _el$126;
8171
8193
  })()
8172
8194
  }));
8173
- return _el$75;
8195
+ return _el$78;
8174
8196
  }
8175
8197
  }), createComponent(Show, {
8176
8198
  get when() {
8177
8199
  return !vaultAdding();
8178
8200
  },
8179
8201
  get children() {
8180
- var _el$76 = _tmpl$13();
8181
- _el$76.$$click = () => {
8202
+ var _el$79 = _tmpl$15();
8203
+ _el$79.$$click = () => {
8182
8204
  setVaultAdding(true);
8183
8205
  setVaultMessage(null);
8184
8206
  };
8185
- return _el$76;
8207
+ return _el$79;
8186
8208
  }
8187
8209
  }), createComponent(Show, {
8188
8210
  get when() {
8189
8211
  return vaultAdding();
8190
8212
  },
8191
8213
  get children() {
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);
8214
+ var _el$80 = _tmpl$16(), _el$81 = _el$80.firstChild, _el$82 = _el$81.nextSibling, _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.firstChild, _el$89 = _el$88.nextSibling;
8215
+ _el$81.$$input = (e) => setVaultNewLabel(e.currentTarget.value);
8216
+ setAttribute(_el$81, "spellcheck", false);
8217
+ _el$82.$$input = (e) => setVaultNewDomain(e.currentTarget.value);
8201
8218
  setAttribute(_el$82, "spellcheck", false);
8202
- _el$83.$$input = (e) => setVaultNewNotes(e.currentTarget.value);
8219
+ _el$83.$$input = (e) => setVaultNewUsername(e.currentTarget.value);
8203
8220
  setAttribute(_el$83, "spellcheck", false);
8204
- _el$85.$$click = handleVaultAdd;
8205
- _el$86.$$click = () => {
8221
+ _el$84.$$input = (e) => setVaultNewPassword(e.currentTarget.value);
8222
+ _el$85.$$input = (e) => setVaultNewTotp(e.currentTarget.value);
8223
+ setAttribute(_el$85, "spellcheck", false);
8224
+ _el$86.$$input = (e) => setVaultNewNotes(e.currentTarget.value);
8225
+ setAttribute(_el$86, "spellcheck", false);
8226
+ _el$88.$$click = handleVaultAdd;
8227
+ _el$89.$$click = () => {
8206
8228
  setVaultAdding(false);
8207
8229
  setVaultNewLabel("");
8208
8230
  setVaultNewDomain("");
@@ -8211,55 +8233,55 @@ const Settings = () => {
8211
8233
  setVaultNewTotp("");
8212
8234
  setVaultNewNotes("");
8213
8235
  };
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;
8236
+ createRenderEffect(() => _el$81.value = vaultNewLabel());
8237
+ createRenderEffect(() => _el$82.value = vaultNewDomain());
8238
+ createRenderEffect(() => _el$83.value = vaultNewUsername());
8239
+ createRenderEffect(() => _el$84.value = vaultNewPassword());
8240
+ createRenderEffect(() => _el$85.value = vaultNewTotp());
8241
+ createRenderEffect(() => _el$86.value = vaultNewNotes());
8242
+ return _el$80;
8221
8243
  }
8222
8244
  }), createComponent(Show, {
8223
8245
  get when() {
8224
8246
  return vaultMessage();
8225
8247
  },
8226
8248
  children: (msg) => (() => {
8227
- var _el$129 = _tmpl$27();
8228
- insert(_el$129, () => msg().text);
8249
+ var _el$132 = _tmpl$29();
8250
+ insert(_el$132, () => msg().text);
8229
8251
  createRenderEffect((_p$) => {
8230
8252
  var _v$11 = !!(msg().kind === "success"), _v$12 = !!(msg().kind === "error");
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);
8253
+ _v$11 !== _p$.e && _el$132.classList.toggle("success", _p$.e = _v$11);
8254
+ _v$12 !== _p$.t && _el$132.classList.toggle("error", _p$.t = _v$12);
8233
8255
  return _p$;
8234
8256
  }, {
8235
8257
  e: void 0,
8236
8258
  t: void 0
8237
8259
  });
8238
- return _el$129;
8260
+ return _el$132;
8239
8261
  })()
8240
8262
  })];
8241
8263
  }
8242
8264
  }), null);
8243
- _el$90.$$click = () => setTelemetryEnabled(!telemetryEnabled());
8244
- _el$92.$$click = handleSave;
8245
- addEventListener(_el$93, "click", closeSettings, true);
8265
+ _el$93.$$click = () => setTelemetryEnabled(!telemetryEnabled());
8266
+ _el$95.$$click = handleSave;
8267
+ addEventListener(_el$96, "click", closeSettings, true);
8246
8268
  insert(_el$2, createComponent(Show, {
8247
8269
  get when() {
8248
8270
  return status();
8249
8271
  },
8250
8272
  children: (currentStatus) => (() => {
8251
- var _el$130 = _tmpl$27();
8252
- insert(_el$130, () => currentStatus().text);
8273
+ var _el$133 = _tmpl$29();
8274
+ insert(_el$133, () => currentStatus().text);
8253
8275
  createRenderEffect((_p$) => {
8254
8276
  var _v$13 = !!(currentStatus().kind === "success"), _v$14 = !!(currentStatus().kind === "error");
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);
8277
+ _v$13 !== _p$.e && _el$133.classList.toggle("success", _p$.e = _v$13);
8278
+ _v$14 !== _p$.t && _el$133.classList.toggle("error", _p$.t = _v$14);
8257
8279
  return _p$;
8258
8280
  }, {
8259
8281
  e: void 0,
8260
8282
  t: void 0
8261
8283
  });
8262
- return _el$130;
8284
+ return _el$133;
8263
8285
  })()
8264
8286
  }), null);
8265
8287
  createRenderEffect((_p$) => {
@@ -8270,8 +8292,8 @@ const Settings = () => {
8270
8292
  _v$4 !== _p$.o && setAttribute(_el$39, "aria-checked", _p$.o = _v$4);
8271
8293
  _v$5 !== _p$.i && _el$43.classList.toggle("on", _p$.i = _v$5);
8272
8294
  _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);
8295
+ _v$7 !== _p$.s && _el$93.classList.toggle("on", _p$.s = _v$7);
8296
+ _v$8 !== _p$.h && setAttribute(_el$93, "aria-checked", _p$.h = _v$8);
8275
8297
  return _p$;
8276
8298
  }, {
8277
8299
  e: void 0,
@@ -8288,7 +8310,7 @@ const Settings = () => {
8288
8310
  createRenderEffect(() => _el$30.value = obsidianVaultPath());
8289
8311
  createRenderEffect(() => _el$33.value = agentTranscriptMode());
8290
8312
  return _el$;
8291
- })(), _tmpl$16()];
8313
+ })(), _tmpl$18()];
8292
8314
  }
8293
8315
  });
8294
8316
  };