@quanta-intellect/vessel-browser 0.1.67 → 0.1.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -7
- package/out/main/index.js +364 -62
- package/out/preload/index.js +17 -2
- package/out/renderer/assets/{index-BQjjFSb1.js → index-BCEB2epC.js} +745 -406
- package/out/renderer/assets/{index-4OgPv5GF.css → index-B_C8ayic.css} +13 -0
- package/out/renderer/index.html +2 -2
- package/package.json +1 -1
|
@@ -1433,7 +1433,7 @@ function Dynamic(props) {
|
|
|
1433
1433
|
const [, others] = splitProps(props, ["component"]);
|
|
1434
1434
|
return createDynamic(() => props.component, others);
|
|
1435
1435
|
}
|
|
1436
|
-
var _tmpl$$
|
|
1436
|
+
var _tmpl$$i = /* @__PURE__ */ template(`<div class=title-bar><div class=title-bar-drag></div><div class=mcp-status-area><button class=mcp-status-indicator><span class=mcp-dot></span><span class=mcp-label>MCP</span></button></div><div class=window-controls><button class=window-btn data-tooltip=Minimize><svg width=10 height=10 viewBox="0 0 10 10"><rect x=1 y=5 width=8 height=1 fill=currentColor></rect></svg></button><button class=window-btn data-tooltip=Maximize><svg width=10 height=10 viewBox="0 0 10 10"><rect x=1 y=1 width=8 height=8 fill=none stroke=currentColor stroke-width=1></rect></svg></button><button class="window-btn window-btn-close"data-tooltip=Close><svg width=10 height=10 viewBox="0 0 10 10"><line x1=1 y1=1 x2=9 y2=9 stroke=currentColor stroke-width=1.2></line><line x1=9 y1=1 x2=1 y2=9 stroke=currentColor stroke-width=1.2>`);
|
|
1437
1437
|
const TitleBar = () => {
|
|
1438
1438
|
const [mcpStatus, setMcpStatus] = createSignal("starting");
|
|
1439
1439
|
const [mcpTooltip, setMcpTooltip] = createSignal("MCP: starting...");
|
|
@@ -1464,7 +1464,7 @@ const TitleBar = () => {
|
|
|
1464
1464
|
window.vessel.ui.setSettingsVisibility(true);
|
|
1465
1465
|
};
|
|
1466
1466
|
return (() => {
|
|
1467
|
-
var _el$ = _tmpl$$
|
|
1467
|
+
var _el$ = _tmpl$$i(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.firstChild, _el$5 = _el$3.nextSibling, _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling, _el$8 = _el$7.nextSibling;
|
|
1468
1468
|
_el$4.$$click = handleMcpClick;
|
|
1469
1469
|
_el$6.$$click = () => window.vessel.window.minimize();
|
|
1470
1470
|
_el$7.$$click = () => window.vessel.window.maximize();
|
|
@@ -1620,7 +1620,9 @@ const DEFAULT_RUNTIME_STATE = {
|
|
|
1620
1620
|
transcript: [],
|
|
1621
1621
|
mcpStatus: "stopped",
|
|
1622
1622
|
flowState: null,
|
|
1623
|
-
taskTracker: null
|
|
1623
|
+
taskTracker: null,
|
|
1624
|
+
canUndo: false,
|
|
1625
|
+
undoInfo: null
|
|
1624
1626
|
};
|
|
1625
1627
|
const [runtimeState, setRuntimeState] = createSignal(
|
|
1626
1628
|
DEFAULT_RUNTIME_STATE
|
|
@@ -1657,6 +1659,8 @@ function useRuntime() {
|
|
|
1657
1659
|
resolveApproval: (approvalId, approved) => window.vessel.ai.resolveApproval(approvalId, approved),
|
|
1658
1660
|
createCheckpoint: (name, note) => window.vessel.ai.createCheckpoint(name, note),
|
|
1659
1661
|
restoreCheckpoint: (checkpointId) => window.vessel.ai.restoreCheckpoint(checkpointId),
|
|
1662
|
+
updateCheckpointNote: (checkpointId, note) => window.vessel.ai.updateCheckpointNote(checkpointId, note),
|
|
1663
|
+
undoLastAction: () => window.vessel.ai.undoLastAction(),
|
|
1660
1664
|
captureSession: (note) => window.vessel.ai.captureSession(note),
|
|
1661
1665
|
restoreSession: () => window.vessel.ai.restoreSession()
|
|
1662
1666
|
};
|
|
@@ -1769,7 +1773,7 @@ function getAgentPresence(state, currentTime = Date.now()) {
|
|
|
1769
1773
|
}
|
|
1770
1774
|
return "idle";
|
|
1771
1775
|
}
|
|
1772
|
-
var _tmpl$$
|
|
1776
|
+
var _tmpl$$h = /* @__PURE__ */ template(`<img class=tab-favicon alt>`), _tmpl$2$f = /* @__PURE__ */ template(`<span class=tab-favicon-fallback>`), _tmpl$3$c = /* @__PURE__ */ template(`<div class=tab-bar><div class=tab-list><button class=tab-new data-tooltip="New Tab">+`), _tmpl$4$c = /* @__PURE__ */ template(`<div role=tab><span class=tab-title></span><button class=tab-close>×`), _tmpl$5$b = /* @__PURE__ */ template(`<span class=tab-agent-indicator aria-hidden=true title="Agent active on this tab">`), _tmpl$6$a = /* @__PURE__ */ template(`<span class=tab-loading>`);
|
|
1773
1777
|
const TAB_CLOSE_MS = 200;
|
|
1774
1778
|
function stringToHue(str) {
|
|
1775
1779
|
let hash = 0;
|
|
@@ -1796,14 +1800,14 @@ const TabFavicon = (props) => {
|
|
|
1796
1800
|
},
|
|
1797
1801
|
get fallback() {
|
|
1798
1802
|
return (() => {
|
|
1799
|
-
var _el$2 = _tmpl$2$
|
|
1803
|
+
var _el$2 = _tmpl$2$f();
|
|
1800
1804
|
insert(_el$2, letter);
|
|
1801
1805
|
createRenderEffect((_$p) => setStyleProperty(_el$2, "--favicon-hue", `${hue()}`));
|
|
1802
1806
|
return _el$2;
|
|
1803
1807
|
})();
|
|
1804
1808
|
},
|
|
1805
1809
|
get children() {
|
|
1806
|
-
var _el$ = _tmpl$$
|
|
1810
|
+
var _el$ = _tmpl$$h();
|
|
1807
1811
|
_el$.addEventListener("error", () => setFailed(true));
|
|
1808
1812
|
createRenderEffect(() => setAttribute(_el$, "src", props.favicon));
|
|
1809
1813
|
return _el$;
|
|
@@ -1836,13 +1840,13 @@ const TabBar = () => {
|
|
|
1836
1840
|
}, TAB_CLOSE_MS);
|
|
1837
1841
|
};
|
|
1838
1842
|
return (() => {
|
|
1839
|
-
var _el$3 = _tmpl$3$
|
|
1843
|
+
var _el$3 = _tmpl$3$c(), _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild;
|
|
1840
1844
|
insert(_el$4, createComponent(For, {
|
|
1841
1845
|
get each() {
|
|
1842
1846
|
return tabs2();
|
|
1843
1847
|
},
|
|
1844
1848
|
children: (tab) => (() => {
|
|
1845
|
-
var _el$6 = _tmpl$4$
|
|
1849
|
+
var _el$6 = _tmpl$4$c(), _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling;
|
|
1846
1850
|
_el$6.addEventListener("auxclick", (e) => {
|
|
1847
1851
|
if (e.button === 1) handleClose(tab.id);
|
|
1848
1852
|
});
|
|
@@ -1860,12 +1864,12 @@ const TabBar = () => {
|
|
|
1860
1864
|
}), _el$7);
|
|
1861
1865
|
insert(_el$6, (() => {
|
|
1862
1866
|
var _c$ = memo(() => !!modelActiveTabIds().has(tab.id));
|
|
1863
|
-
return () => _c$() && _tmpl$5$
|
|
1867
|
+
return () => _c$() && _tmpl$5$b();
|
|
1864
1868
|
})(), _el$7);
|
|
1865
1869
|
insert(_el$7, () => tab.title || "New Tab");
|
|
1866
1870
|
insert(_el$6, (() => {
|
|
1867
1871
|
var _c$2 = memo(() => !!tab.isLoading);
|
|
1868
|
-
return () => _c$2() && _tmpl$6$
|
|
1872
|
+
return () => _c$2() && _tmpl$6$a();
|
|
1869
1873
|
})(), _el$8);
|
|
1870
1874
|
_el$8.$$click = (e) => {
|
|
1871
1875
|
e.stopPropagation();
|
|
@@ -2074,7 +2078,7 @@ function buildPageSnapshotKey(rawUrl) {
|
|
|
2074
2078
|
function matchesPageSnapshotUrl(left, right) {
|
|
2075
2079
|
return buildPageSnapshotKey(left) === buildPageSnapshotKey(right);
|
|
2076
2080
|
}
|
|
2077
|
-
var _tmpl$$
|
|
2081
|
+
var _tmpl$$g = /* @__PURE__ */ template(`<button class="agent-status-badge recent"title="Open the What Changed timeline"style=cursor:pointer;font-size:11px><span class=agent-status-dot aria-hidden=true style=background:#f59e0b></span><span class=agent-status-text>What Changed?`), _tmpl$2$e = /* @__PURE__ */ template(`<span class=page-diff-burst-meta>Updated <!> times over `), _tmpl$3$b = /* @__PURE__ */ template(`<div class=page-diff-burst-history><div class=page-diff-burst-history-label>Changed recently`), _tmpl$4$b = /* @__PURE__ */ template(`<div class=page-diff-popup><div class=page-diff-popup-header><div class=page-diff-popup-header-copy><span>What changed since </span></div><div style=display:flex;gap:8px;align-items:center><button class=nav-btn title="Open the full What Changed timeline"style="height:24px;min-width:auto;padding:0 8px">Timeline</button><button class=page-diff-popup-close>×`), _tmpl$5$a = /* @__PURE__ */ template(`<svg><path d="M3 3 L11 3 L11 9 Q7 13 3 9 Z"fill=none stroke=currentColor stroke-width=1.2 stroke-linejoin=round></svg>`, false, true, false), _tmpl$6$9 = /* @__PURE__ */ template(`<svg><line x1=2 y1=12 x2=12 y2=2 stroke=currentColor stroke-width=1.4 stroke-linecap=round></svg>`, false, true, false), _tmpl$7$7 = /* @__PURE__ */ template(`<span class=nav-btn-badge>`), _tmpl$8$5 = /* @__PURE__ */ template(`<div class=address-bar><div class=nav-controls><button class=nav-btn data-tooltip=Back><svg width=14 height=14 viewBox="0 0 14 14"><path d="M9 2L4 7l5 5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=nav-btn data-tooltip=Forward><svg width=14 height=14 viewBox="0 0 14 14"><path d="M5 2l5 5-5 5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=nav-btn data-tooltip=Reload><svg width=14 height=14 viewBox="0 0 14 14"><path d="M2.5 7a4.5 4.5 0 1 1 1 3"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round></path><path d="M2 4v3.5h3.5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button></div><div class=url-shell><form class=url-form><input class=url-input type=text placeholder="Search or enter URL"></form><div><span class=agent-status-dot aria-hidden=true></span><span class=agent-status-text></span></div></div><div class=toolbar-actions><button class=nav-btn><svg width=14 height=14 viewBox="0 0 14 14"></svg></button><button class=nav-btn data-tooltip="Reader Mode"><svg width=14 height=14 viewBox="0 0 14 14"><rect x=2 y=1 width=10 height=12 rx=1 fill=none stroke=currentColor stroke-width=1.2></rect><line x1=4 y1=4 x2=10 y2=4 stroke=currentColor stroke-width=1></line><line x1=4 y1=6.5 x2=10 y2=6.5 stroke=currentColor stroke-width=1></line><line x1=4 y1=9 x2=8 y2=9 stroke=currentColor stroke-width=1></line></svg></button><button class=nav-btn data-tooltip="Dev Tools"><svg width=14 height=14 viewBox="0 0 14 14"><polyline points="3,5 1,7 3,9"fill=none stroke=currentColor stroke-width=1.2 stroke-linecap=round stroke-linejoin=round></polyline><polyline points="11,5 13,7 11,9"fill=none stroke=currentColor stroke-width=1.2 stroke-linecap=round stroke-linejoin=round></polyline><line x1=8.5 y1=2 x2=5.5 y2=12 stroke=currentColor stroke-width=1.2 stroke-linecap=round></line></svg></button><button class="nav-btn nav-btn-sidebar"><svg width=14 height=14 viewBox="0 0 14 14"><rect x=1 y=1 width=12 height=12 rx=1.5 fill=none stroke=currentColor stroke-width=1.2></rect><line x1=9 y1=1 x2=9 y2=13 stroke=currentColor stroke-width=1.2></line></svg></button><button class=nav-btn data-tooltip=Settings><svg width=14 height=14 viewBox="0 0 14 14"><circle cx=7 cy=7 r=2 fill=none stroke=currentColor stroke-width=1.2></circle><path d="M7 1v2M7 11v2M1 7h2M11 7h2M2.8 2.8l1.4 1.4M9.8 9.8l1.4 1.4M11.2 2.8l-1.4 1.4M4.2 9.8l-1.4 1.4"stroke=currentColor stroke-width=1 stroke-linecap=round>`), _tmpl$9$4 = /* @__PURE__ */ template(`<div class=page-diff-burst-row><span class=page-diff-burst-time></span><span class=page-diff-burst-summary>`), _tmpl$0$4 = /* @__PURE__ */ template(`<div class=page-diff-snippet><span class=page-diff-snippet-label>Before</span><span class=page-diff-snippet-text>`), _tmpl$1$4 = /* @__PURE__ */ template(`<div class=page-diff-snippet><span class=page-diff-snippet-label>After</span><span class=page-diff-snippet-text>`), _tmpl$10$4 = /* @__PURE__ */ template(`<div class=page-diff-snippets>`), _tmpl$11$4 = /* @__PURE__ */ template(`<div class=page-diff-list-group><span class=page-diff-list-label>Added</span><ul class=page-diff-list>`), _tmpl$12$4 = /* @__PURE__ */ template(`<div class=page-diff-list-group><span class=page-diff-list-label>Removed</span><ul class=page-diff-list>`), _tmpl$13$3 = /* @__PURE__ */ template(`<div><div class=page-diff-item-header><span class=page-diff-section></span><span class=page-diff-summary>`), _tmpl$14$3 = /* @__PURE__ */ template(`<li>`);
|
|
2078
2082
|
const AddressBar = () => {
|
|
2079
2083
|
const {
|
|
2080
2084
|
activeTab,
|
|
@@ -2112,6 +2116,14 @@ const AddressBar = () => {
|
|
|
2112
2116
|
diffCollapseTimer = null;
|
|
2113
2117
|
}, 8e3);
|
|
2114
2118
|
};
|
|
2119
|
+
const openDiffTimeline = async () => {
|
|
2120
|
+
setDiffExpanded(false);
|
|
2121
|
+
if (diffCollapseTimer) {
|
|
2122
|
+
clearTimeout(diffCollapseTimer);
|
|
2123
|
+
diffCollapseTimer = null;
|
|
2124
|
+
}
|
|
2125
|
+
await window.vessel.ui.openSidebarTab("diff");
|
|
2126
|
+
};
|
|
2115
2127
|
const formatRelativeTime = (isoDate) => {
|
|
2116
2128
|
const diff = Date.now() - new Date(isoDate).getTime();
|
|
2117
2129
|
const mins = Math.floor(diff / 6e4);
|
|
@@ -2188,9 +2200,9 @@ const AddressBar = () => {
|
|
|
2188
2200
|
};
|
|
2189
2201
|
const formatSectionLabel = (section) => section === "title" ? "Title" : section === "headings" ? "Headings" : "Content";
|
|
2190
2202
|
return (() => {
|
|
2191
|
-
var _el$ = _tmpl$8$
|
|
2192
|
-
_el$
|
|
2193
|
-
var _el$
|
|
2203
|
+
var _el$ = _tmpl$8$5(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$2.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild, _el$9 = _el$7.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$26 = _el$6.nextSibling, _el$27 = _el$26.firstChild, _el$28 = _el$27.firstChild, _el$32 = _el$27.nextSibling, _el$33 = _el$32.nextSibling, _el$34 = _el$33.nextSibling;
|
|
2204
|
+
_el$34.firstChild;
|
|
2205
|
+
var _el$37 = _el$34.nextSibling;
|
|
2194
2206
|
addEventListener(_el$3, "click", goBack, true);
|
|
2195
2207
|
addEventListener(_el$4, "click", goForward, true);
|
|
2196
2208
|
addEventListener(_el$5, "click", reload, true);
|
|
@@ -2206,8 +2218,8 @@ const AddressBar = () => {
|
|
|
2206
2218
|
return pageDiff();
|
|
2207
2219
|
},
|
|
2208
2220
|
get children() {
|
|
2209
|
-
var _el$10 = _tmpl$$
|
|
2210
|
-
_el$10.$$click = () =>
|
|
2221
|
+
var _el$10 = _tmpl$$g();
|
|
2222
|
+
_el$10.$$click = () => void openDiffTimeline();
|
|
2211
2223
|
return _el$10;
|
|
2212
2224
|
}
|
|
2213
2225
|
}), null);
|
|
@@ -2216,42 +2228,43 @@ const AddressBar = () => {
|
|
|
2216
2228
|
return memo(() => !!pageDiff())() && diffExpanded();
|
|
2217
2229
|
},
|
|
2218
2230
|
get children() {
|
|
2219
|
-
var _el$11 = _tmpl$4$
|
|
2231
|
+
var _el$11 = _tmpl$4$b(), _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$14 = _el$13.firstChild;
|
|
2220
2232
|
_el$14.firstChild;
|
|
2221
|
-
var _el$21 = _el$13.nextSibling;
|
|
2233
|
+
var _el$21 = _el$13.nextSibling, _el$22 = _el$21.firstChild, _el$23 = _el$22.nextSibling;
|
|
2222
2234
|
insert(_el$14, () => formatRelativeTime(pageDiff().oldSnapshot.capturedAt), null);
|
|
2223
2235
|
insert(_el$13, createComponent(Show, {
|
|
2224
2236
|
get when() {
|
|
2225
2237
|
return memo(() => !!((pageDiff().burstCount || 0) > 1 && pageDiff().firstDetectedAt))() && pageDiff().lastDetectedAt;
|
|
2226
2238
|
},
|
|
2227
2239
|
get children() {
|
|
2228
|
-
var _el$16 = _tmpl$2$
|
|
2240
|
+
var _el$16 = _tmpl$2$e(), _el$17 = _el$16.firstChild, _el$20 = _el$17.nextSibling;
|
|
2229
2241
|
_el$20.nextSibling;
|
|
2230
2242
|
insert(_el$16, () => pageDiff().burstCount, _el$20);
|
|
2231
2243
|
insert(_el$16, () => formatElapsed(pageDiff().firstDetectedAt, pageDiff().lastDetectedAt), null);
|
|
2232
2244
|
return _el$16;
|
|
2233
2245
|
}
|
|
2234
2246
|
}), null);
|
|
2235
|
-
_el$
|
|
2247
|
+
_el$22.$$click = () => void openDiffTimeline();
|
|
2248
|
+
_el$23.$$click = () => setDiffExpanded(false);
|
|
2236
2249
|
insert(_el$11, createComponent(Show, {
|
|
2237
2250
|
get when() {
|
|
2238
2251
|
return memo(() => !!pageDiff().recentBursts?.length)() && (pageDiff().recentBursts?.length || 0) > 1;
|
|
2239
2252
|
},
|
|
2240
2253
|
get children() {
|
|
2241
|
-
var _el$
|
|
2242
|
-
_el$
|
|
2243
|
-
insert(_el$
|
|
2254
|
+
var _el$24 = _tmpl$3$b();
|
|
2255
|
+
_el$24.firstChild;
|
|
2256
|
+
insert(_el$24, createComponent(For, {
|
|
2244
2257
|
get each() {
|
|
2245
2258
|
return pageDiff().recentBursts;
|
|
2246
2259
|
},
|
|
2247
2260
|
children: (burst) => (() => {
|
|
2248
|
-
var _el$
|
|
2249
|
-
insert(_el$
|
|
2250
|
-
insert(_el$
|
|
2251
|
-
return _el$
|
|
2261
|
+
var _el$38 = _tmpl$9$4(), _el$39 = _el$38.firstChild, _el$40 = _el$39.nextSibling;
|
|
2262
|
+
insert(_el$39, () => formatRelativeTime(burst.detectedAt));
|
|
2263
|
+
insert(_el$40, () => burst.summary);
|
|
2264
|
+
return _el$38;
|
|
2252
2265
|
})()
|
|
2253
2266
|
}), null);
|
|
2254
|
-
return _el$
|
|
2267
|
+
return _el$24;
|
|
2255
2268
|
}
|
|
2256
2269
|
}), null);
|
|
2257
2270
|
insert(_el$11, createComponent(For, {
|
|
@@ -2259,132 +2272,132 @@ const AddressBar = () => {
|
|
|
2259
2272
|
return pageDiff().changes;
|
|
2260
2273
|
},
|
|
2261
2274
|
children: (change) => (() => {
|
|
2262
|
-
var _el$
|
|
2263
|
-
insert(_el$
|
|
2264
|
-
insert(_el$
|
|
2265
|
-
insert(_el$
|
|
2275
|
+
var _el$41 = _tmpl$13$3(), _el$42 = _el$41.firstChild, _el$43 = _el$42.firstChild, _el$44 = _el$43.nextSibling;
|
|
2276
|
+
insert(_el$43, () => formatSectionLabel(change.section));
|
|
2277
|
+
insert(_el$44, () => change.summary);
|
|
2278
|
+
insert(_el$41, createComponent(Show, {
|
|
2266
2279
|
get when() {
|
|
2267
2280
|
return change.before || change.after;
|
|
2268
2281
|
},
|
|
2269
2282
|
get children() {
|
|
2270
|
-
var _el$
|
|
2271
|
-
insert(_el$
|
|
2283
|
+
var _el$45 = _tmpl$10$4();
|
|
2284
|
+
insert(_el$45, createComponent(Show, {
|
|
2272
2285
|
get when() {
|
|
2273
2286
|
return change.before;
|
|
2274
2287
|
},
|
|
2275
2288
|
get children() {
|
|
2276
|
-
var _el$
|
|
2277
|
-
insert(_el$
|
|
2278
|
-
return _el$
|
|
2289
|
+
var _el$46 = _tmpl$0$4(), _el$47 = _el$46.firstChild, _el$48 = _el$47.nextSibling;
|
|
2290
|
+
insert(_el$48, () => change.before);
|
|
2291
|
+
return _el$46;
|
|
2279
2292
|
}
|
|
2280
2293
|
}), null);
|
|
2281
|
-
insert(_el$
|
|
2294
|
+
insert(_el$45, createComponent(Show, {
|
|
2282
2295
|
get when() {
|
|
2283
2296
|
return change.after;
|
|
2284
2297
|
},
|
|
2285
2298
|
get children() {
|
|
2286
|
-
var _el$
|
|
2287
|
-
insert(_el$
|
|
2288
|
-
return _el$
|
|
2299
|
+
var _el$49 = _tmpl$1$4(), _el$50 = _el$49.firstChild, _el$51 = _el$50.nextSibling;
|
|
2300
|
+
insert(_el$51, () => change.after);
|
|
2301
|
+
return _el$49;
|
|
2289
2302
|
}
|
|
2290
2303
|
}), null);
|
|
2291
|
-
return _el$
|
|
2304
|
+
return _el$45;
|
|
2292
2305
|
}
|
|
2293
2306
|
}), null);
|
|
2294
|
-
insert(_el$
|
|
2307
|
+
insert(_el$41, createComponent(Show, {
|
|
2295
2308
|
get when() {
|
|
2296
2309
|
return change.addedItems?.length;
|
|
2297
2310
|
},
|
|
2298
2311
|
get children() {
|
|
2299
|
-
var _el$
|
|
2300
|
-
insert(_el$
|
|
2312
|
+
var _el$52 = _tmpl$11$4(), _el$53 = _el$52.firstChild, _el$54 = _el$53.nextSibling;
|
|
2313
|
+
insert(_el$54, createComponent(For, {
|
|
2301
2314
|
get each() {
|
|
2302
2315
|
return change.addedItems;
|
|
2303
2316
|
},
|
|
2304
2317
|
children: (item) => (() => {
|
|
2305
|
-
var _el$
|
|
2306
|
-
insert(_el$
|
|
2307
|
-
return _el$
|
|
2318
|
+
var _el$58 = _tmpl$14$3();
|
|
2319
|
+
insert(_el$58, item);
|
|
2320
|
+
return _el$58;
|
|
2308
2321
|
})()
|
|
2309
2322
|
}));
|
|
2310
|
-
return _el$
|
|
2323
|
+
return _el$52;
|
|
2311
2324
|
}
|
|
2312
2325
|
}), null);
|
|
2313
|
-
insert(_el$
|
|
2326
|
+
insert(_el$41, createComponent(Show, {
|
|
2314
2327
|
get when() {
|
|
2315
2328
|
return change.removedItems?.length;
|
|
2316
2329
|
},
|
|
2317
2330
|
get children() {
|
|
2318
|
-
var _el$
|
|
2319
|
-
insert(_el$
|
|
2331
|
+
var _el$55 = _tmpl$12$4(), _el$56 = _el$55.firstChild, _el$57 = _el$56.nextSibling;
|
|
2332
|
+
insert(_el$57, createComponent(For, {
|
|
2320
2333
|
get each() {
|
|
2321
2334
|
return change.removedItems;
|
|
2322
2335
|
},
|
|
2323
2336
|
children: (item) => (() => {
|
|
2324
|
-
var _el$
|
|
2325
|
-
insert(_el$
|
|
2326
|
-
return _el$
|
|
2337
|
+
var _el$59 = _tmpl$14$3();
|
|
2338
|
+
insert(_el$59, item);
|
|
2339
|
+
return _el$59;
|
|
2327
2340
|
})()
|
|
2328
2341
|
}));
|
|
2329
|
-
return _el$
|
|
2342
|
+
return _el$55;
|
|
2330
2343
|
}
|
|
2331
2344
|
}), null);
|
|
2332
|
-
createRenderEffect(() => className(_el$
|
|
2333
|
-
return _el$
|
|
2345
|
+
createRenderEffect(() => className(_el$41, `page-diff-item page-diff-${change.kind}`));
|
|
2346
|
+
return _el$41;
|
|
2334
2347
|
})()
|
|
2335
2348
|
}), null);
|
|
2336
2349
|
return _el$11;
|
|
2337
2350
|
}
|
|
2338
|
-
}), _el$
|
|
2339
|
-
_el$
|
|
2351
|
+
}), _el$26);
|
|
2352
|
+
_el$27.$$click = async () => {
|
|
2340
2353
|
const id = activeTabId2();
|
|
2341
2354
|
if (!id) return;
|
|
2342
2355
|
await toggleAdBlock(id);
|
|
2343
2356
|
};
|
|
2344
|
-
insert(_el$
|
|
2357
|
+
insert(_el$28, createComponent(Show, {
|
|
2345
2358
|
get when() {
|
|
2346
2359
|
return activeTab()?.adBlockingEnabled;
|
|
2347
2360
|
},
|
|
2348
2361
|
get children() {
|
|
2349
|
-
return _tmpl$5$
|
|
2362
|
+
return _tmpl$5$a();
|
|
2350
2363
|
}
|
|
2351
2364
|
}), null);
|
|
2352
|
-
insert(_el$
|
|
2365
|
+
insert(_el$28, createComponent(Show, {
|
|
2353
2366
|
get when() {
|
|
2354
2367
|
return !activeTab()?.adBlockingEnabled;
|
|
2355
2368
|
},
|
|
2356
2369
|
get children() {
|
|
2357
|
-
return [_tmpl$5$
|
|
2370
|
+
return [_tmpl$5$a(), _tmpl$6$9()];
|
|
2358
2371
|
}
|
|
2359
2372
|
}), null);
|
|
2360
|
-
_el$
|
|
2361
|
-
addEventListener(_el$
|
|
2362
|
-
addEventListener(_el$
|
|
2363
|
-
insert(_el$
|
|
2373
|
+
_el$32.$$click = () => window.vessel.content.toggleReader();
|
|
2374
|
+
addEventListener(_el$33, "click", toggleDevTools, true);
|
|
2375
|
+
addEventListener(_el$34, "click", toggleSidebar, true);
|
|
2376
|
+
insert(_el$34, createComponent(Show, {
|
|
2364
2377
|
get when() {
|
|
2365
2378
|
return pendingApprovalCount() > 0;
|
|
2366
2379
|
},
|
|
2367
2380
|
get children() {
|
|
2368
|
-
var _el$
|
|
2369
|
-
insert(_el$
|
|
2370
|
-
createRenderEffect(() => setAttribute(_el$
|
|
2371
|
-
return _el$
|
|
2381
|
+
var _el$36 = _tmpl$7$7();
|
|
2382
|
+
insert(_el$36, pendingApprovalCount);
|
|
2383
|
+
createRenderEffect(() => setAttribute(_el$36, "aria-label", `${pendingApprovalCount()} pending`));
|
|
2384
|
+
return _el$36;
|
|
2372
2385
|
}
|
|
2373
2386
|
}), null);
|
|
2374
|
-
addEventListener(_el$
|
|
2387
|
+
addEventListener(_el$37, "click", openSettings, true);
|
|
2375
2388
|
createRenderEffect((_p$) => {
|
|
2376
2389
|
var _v$ = !activeTab()?.canGoBack, _v$2 = !activeTab()?.canGoForward, _v$3 = `agent-status-badge ${agentPresence()}`, _v$4 = agentStatusMessage() || (agentPresence() === "active" ? "Agent is actively using the browser" : agentPresence() === "recent" ? "Agent is connected" : "No agent connection detected"), _v$5 = !!activeTab()?.adBlockingEnabled, _v$6 = !activeTab()?.adBlockingEnabled, _v$7 = activeTab()?.adBlockingEnabled ? "Ad Block: On (click to disable)" : "Ad Block: Off (click to enable)", _v$8 = !!activeTab()?.isReaderMode, _v$9 = !!devtoolsPanelOpen2(), _v$0 = !!(pendingApprovalCount() > 0), _v$1 = pendingApprovalCount() > 0 ? `AI Sidebar — ${pendingApprovalCount()} pending approval${pendingApprovalCount() > 1 ? "s" : ""}` : "AI Sidebar (Ctrl+Shift+L)";
|
|
2377
2390
|
_v$ !== _p$.e && (_el$3.disabled = _p$.e = _v$);
|
|
2378
2391
|
_v$2 !== _p$.t && (_el$4.disabled = _p$.t = _v$2);
|
|
2379
2392
|
_v$3 !== _p$.a && className(_el$9, _p$.a = _v$3);
|
|
2380
2393
|
_v$4 !== _p$.o && setAttribute(_el$9, "title", _p$.o = _v$4);
|
|
2381
|
-
_v$5 !== _p$.i && _el$
|
|
2382
|
-
_v$6 !== _p$.n && _el$
|
|
2383
|
-
_v$7 !== _p$.s && setAttribute(_el$
|
|
2384
|
-
_v$8 !== _p$.h && _el$
|
|
2385
|
-
_v$9 !== _p$.r && _el$
|
|
2386
|
-
_v$0 !== _p$.d && _el$
|
|
2387
|
-
_v$1 !== _p$.l && setAttribute(_el$
|
|
2394
|
+
_v$5 !== _p$.i && _el$27.classList.toggle("active", _p$.i = _v$5);
|
|
2395
|
+
_v$6 !== _p$.n && _el$27.classList.toggle("nav-btn-muted", _p$.n = _v$6);
|
|
2396
|
+
_v$7 !== _p$.s && setAttribute(_el$27, "title", _p$.s = _v$7);
|
|
2397
|
+
_v$8 !== _p$.h && _el$32.classList.toggle("active", _p$.h = _v$8);
|
|
2398
|
+
_v$9 !== _p$.r && _el$33.classList.toggle("active", _p$.r = _v$9);
|
|
2399
|
+
_v$0 !== _p$.d && _el$34.classList.toggle("has-approvals", _p$.d = _v$0);
|
|
2400
|
+
_v$1 !== _p$.l && setAttribute(_el$34, "title", _p$.l = _v$1);
|
|
2388
2401
|
return _p$;
|
|
2389
2402
|
}, {
|
|
2390
2403
|
e: void 0,
|
|
@@ -2404,7 +2417,7 @@ const AddressBar = () => {
|
|
|
2404
2417
|
})();
|
|
2405
2418
|
};
|
|
2406
2419
|
delegateEvents(["click", "input"]);
|
|
2407
|
-
var _tmpl$$
|
|
2420
|
+
var _tmpl$$f = /* @__PURE__ */ template(`<div class=bookmark-toast-stack aria-live=polite aria-atomic=true>`), _tmpl$2$d = /* @__PURE__ */ template(`<div class=bookmark-toast role=status><div class=bookmark-toast-title></div><div class=bookmark-toast-message>`);
|
|
2408
2421
|
const TOAST_DURATION_MS$1 = 4200;
|
|
2409
2422
|
const TOAST_EXIT_MS$2 = 300;
|
|
2410
2423
|
function isBookmarkToastCandidate(action) {
|
|
@@ -2464,13 +2477,13 @@ const BookmarkNotifications = () => {
|
|
|
2464
2477
|
timeoutIds.clear();
|
|
2465
2478
|
});
|
|
2466
2479
|
return (() => {
|
|
2467
|
-
var _el$ = _tmpl$$
|
|
2480
|
+
var _el$ = _tmpl$$f();
|
|
2468
2481
|
insert(_el$, createComponent(For, {
|
|
2469
2482
|
get each() {
|
|
2470
2483
|
return toasts();
|
|
2471
2484
|
},
|
|
2472
2485
|
children: (toast) => (() => {
|
|
2473
|
-
var _el$2 = _tmpl$2$
|
|
2486
|
+
var _el$2 = _tmpl$2$d(), _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
|
|
2474
2487
|
insert(_el$3, () => toast.title);
|
|
2475
2488
|
insert(_el$4, () => toast.message);
|
|
2476
2489
|
createRenderEffect(() => _el$2.classList.toggle("bookmark-toast-leaving", !!toast.leaving));
|
|
@@ -2480,7 +2493,7 @@ const BookmarkNotifications = () => {
|
|
|
2480
2493
|
return _el$;
|
|
2481
2494
|
})();
|
|
2482
2495
|
};
|
|
2483
|
-
var _tmpl$$
|
|
2496
|
+
var _tmpl$$e = /* @__PURE__ */ template(`<div class=bookmark-toast-stack aria-live=polite><div class="bookmark-toast highlight-toast"role=status><div class=bookmark-toast-title></div><div class=bookmark-toast-message>`);
|
|
2484
2497
|
const TOAST_DURATION_MS = 3e3;
|
|
2485
2498
|
const TOAST_EXIT_MS$1 = 300;
|
|
2486
2499
|
const HighlightNotifications = (props) => {
|
|
@@ -2519,7 +2532,7 @@ const HighlightNotifications = (props) => {
|
|
|
2519
2532
|
return memo(() => !!visible())() && current();
|
|
2520
2533
|
},
|
|
2521
2534
|
get children() {
|
|
2522
|
-
var _el$ = _tmpl$$
|
|
2535
|
+
var _el$ = _tmpl$$e(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
|
|
2523
2536
|
insert(_el$3, () => current().title);
|
|
2524
2537
|
insert(_el$4, () => current().message);
|
|
2525
2538
|
createRenderEffect(() => _el$2.classList.toggle("bookmark-toast-leaving", !!leaving()));
|
|
@@ -2527,7 +2540,7 @@ const HighlightNotifications = (props) => {
|
|
|
2527
2540
|
}
|
|
2528
2541
|
});
|
|
2529
2542
|
};
|
|
2530
|
-
var _tmpl$$
|
|
2543
|
+
var _tmpl$$d = /* @__PURE__ */ template(`<div class=download-toast-stack aria-live=polite>`), _tmpl$2$c = /* @__PURE__ */ template(`<span class=download-toast-done>✓`), _tmpl$3$a = /* @__PURE__ */ template(`<span class=download-toast-failed>!`), _tmpl$4$a = /* @__PURE__ */ template(`<div class=download-toast-bar-track><div class=download-toast-bar-fill>`), _tmpl$5$9 = /* @__PURE__ */ template(`<div class=download-toast-size>`), _tmpl$6$8 = /* @__PURE__ */ template(`<div class="download-toast-size download-toast-size-done"> downloaded`), _tmpl$7$6 = /* @__PURE__ */ template(`<div class=download-toast role=status><div class=download-toast-header><span class=download-toast-filename>`);
|
|
2531
2544
|
const TOAST_DONE_DURATION_MS = 4200;
|
|
2532
2545
|
const TOAST_EXIT_MS = 300;
|
|
2533
2546
|
function formatBytes(bytes) {
|
|
@@ -2618,20 +2631,20 @@ const DownloadToast = () => {
|
|
|
2618
2631
|
return Math.min(100, Math.round(d.receivedBytes / d.totalBytes * 100));
|
|
2619
2632
|
};
|
|
2620
2633
|
return (() => {
|
|
2621
|
-
var _el$ = _tmpl$$
|
|
2634
|
+
var _el$ = _tmpl$$d();
|
|
2622
2635
|
insert(_el$, createComponent(For, {
|
|
2623
2636
|
get each() {
|
|
2624
2637
|
return downloads();
|
|
2625
2638
|
},
|
|
2626
2639
|
children: (dl) => (() => {
|
|
2627
|
-
var _el$2 = _tmpl$7$
|
|
2640
|
+
var _el$2 = _tmpl$7$6(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild;
|
|
2628
2641
|
insert(_el$4, () => dl.filename);
|
|
2629
2642
|
insert(_el$3, createComponent(Show, {
|
|
2630
2643
|
get when() {
|
|
2631
2644
|
return dl.state === "completed";
|
|
2632
2645
|
},
|
|
2633
2646
|
get children() {
|
|
2634
|
-
return _tmpl$2$
|
|
2647
|
+
return _tmpl$2$c();
|
|
2635
2648
|
}
|
|
2636
2649
|
}), null);
|
|
2637
2650
|
insert(_el$3, createComponent(Show, {
|
|
@@ -2639,7 +2652,7 @@ const DownloadToast = () => {
|
|
|
2639
2652
|
return dl.state === "cancelled" || dl.state === "interrupted";
|
|
2640
2653
|
},
|
|
2641
2654
|
get children() {
|
|
2642
|
-
return _tmpl$3$
|
|
2655
|
+
return _tmpl$3$a();
|
|
2643
2656
|
}
|
|
2644
2657
|
}), null);
|
|
2645
2658
|
insert(_el$2, createComponent(Show, {
|
|
@@ -2648,11 +2661,11 @@ const DownloadToast = () => {
|
|
|
2648
2661
|
},
|
|
2649
2662
|
get children() {
|
|
2650
2663
|
return [(() => {
|
|
2651
|
-
var _el$7 = _tmpl$4$
|
|
2664
|
+
var _el$7 = _tmpl$4$a(), _el$8 = _el$7.firstChild;
|
|
2652
2665
|
createRenderEffect((_$p) => setStyleProperty(_el$8, "width", `${progressPercent(dl)}%`));
|
|
2653
2666
|
return _el$7;
|
|
2654
2667
|
})(), (() => {
|
|
2655
|
-
var _el$9 = _tmpl$5$
|
|
2668
|
+
var _el$9 = _tmpl$5$9();
|
|
2656
2669
|
insert(_el$9, () => formatBytes(dl.receivedBytes), null);
|
|
2657
2670
|
insert(_el$9, createComponent(Show, {
|
|
2658
2671
|
get when() {
|
|
@@ -2671,7 +2684,7 @@ const DownloadToast = () => {
|
|
|
2671
2684
|
return dl.state === "completed";
|
|
2672
2685
|
},
|
|
2673
2686
|
get children() {
|
|
2674
|
-
var _el$0 = _tmpl$6$
|
|
2687
|
+
var _el$0 = _tmpl$6$8(), _el$1 = _el$0.firstChild;
|
|
2675
2688
|
insert(_el$0, () => formatBytes(dl.receivedBytes), _el$1);
|
|
2676
2689
|
return _el$0;
|
|
2677
2690
|
}
|
|
@@ -2683,7 +2696,7 @@ const DownloadToast = () => {
|
|
|
2683
2696
|
return _el$;
|
|
2684
2697
|
})();
|
|
2685
2698
|
};
|
|
2686
|
-
var _tmpl$$
|
|
2699
|
+
var _tmpl$$c = /* @__PURE__ */ template(`<div class=find-bar><input class=find-bar-input type=text placeholder="Find in page..."><button class=find-bar-btn title="Previous (Shift+Enter)">▲</button><button class=find-bar-btn title="Next (Enter)">▼</button><button class="find-bar-btn find-bar-close"title="Close (Escape)">×`), _tmpl$2$b = /* @__PURE__ */ template(`<span class=find-bar-count>`);
|
|
2687
2700
|
const FindBar = () => {
|
|
2688
2701
|
const [open, setOpen] = createSignal(false);
|
|
2689
2702
|
const [query, setQuery] = createSignal("");
|
|
@@ -2761,7 +2774,7 @@ const FindBar = () => {
|
|
|
2761
2774
|
return open();
|
|
2762
2775
|
},
|
|
2763
2776
|
get children() {
|
|
2764
|
-
var _el$ = _tmpl$$
|
|
2777
|
+
var _el$ = _tmpl$$c(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling;
|
|
2765
2778
|
_el$2.$$input = (e) => handleInput(e.currentTarget.value);
|
|
2766
2779
|
var _ref$ = inputRef;
|
|
2767
2780
|
typeof _ref$ === "function" ? use(_ref$, _el$2) : inputRef = _el$2;
|
|
@@ -2771,7 +2784,7 @@ const FindBar = () => {
|
|
|
2771
2784
|
return result();
|
|
2772
2785
|
},
|
|
2773
2786
|
children: (r) => (() => {
|
|
2774
|
-
var _el$6 = _tmpl$2$
|
|
2787
|
+
var _el$6 = _tmpl$2$b();
|
|
2775
2788
|
insert(_el$6, (() => {
|
|
2776
2789
|
var _c$ = memo(() => r().matches > 0);
|
|
2777
2790
|
return () => _c$() ? `${r().activeMatchOrdinal} / ${r().matches}` : "No results";
|
|
@@ -2788,7 +2801,7 @@ const FindBar = () => {
|
|
|
2788
2801
|
});
|
|
2789
2802
|
};
|
|
2790
2803
|
delegateEvents(["input", "click"]);
|
|
2791
|
-
var _tmpl$$
|
|
2804
|
+
var _tmpl$$b = /* @__PURE__ */ template(`<div class=flow-progress>`), _tmpl$2$a = /* @__PURE__ */ template(`<div class=flow-progress-hint>Last: `), _tmpl$3$9 = /* @__PURE__ */ template(`<div class=flow-progress-hint>Next: `), _tmpl$4$9 = /* @__PURE__ */ template(`<div class=flow-progress-section><div class=flow-progress-header><span class=flow-progress-goal></span><span class=flow-progress-pct>%</span></div><div class=flow-progress-bar-track><div class=flow-progress-bar-fill></div></div><div class=flow-steps>`), _tmpl$5$8 = /* @__PURE__ */ template(`<div><span class=flow-step-dot></span><span class=flow-step-label>`);
|
|
2792
2805
|
const FlowProgress = () => {
|
|
2793
2806
|
const {
|
|
2794
2807
|
runtimeState: runtimeState2
|
|
@@ -2819,13 +2832,13 @@ const FlowProgress = () => {
|
|
|
2819
2832
|
return flow() || tracker();
|
|
2820
2833
|
},
|
|
2821
2834
|
get children() {
|
|
2822
|
-
var _el$ = _tmpl$$
|
|
2835
|
+
var _el$ = _tmpl$$b();
|
|
2823
2836
|
insert(_el$, createComponent(Show, {
|
|
2824
2837
|
get when() {
|
|
2825
2838
|
return tracker();
|
|
2826
2839
|
},
|
|
2827
2840
|
children: (t) => (() => {
|
|
2828
|
-
var _el$2 = _tmpl$4$
|
|
2841
|
+
var _el$2 = _tmpl$4$9(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$5.firstChild, _el$7 = _el$3.nextSibling, _el$8 = _el$7.firstChild, _el$9 = _el$7.nextSibling;
|
|
2829
2842
|
insert(_el$4, () => t().goal);
|
|
2830
2843
|
insert(_el$5, () => progressPercent(t().steps), _el$6);
|
|
2831
2844
|
insert(_el$9, createComponent(For, {
|
|
@@ -2833,7 +2846,7 @@ const FlowProgress = () => {
|
|
|
2833
2846
|
return t().steps;
|
|
2834
2847
|
},
|
|
2835
2848
|
children: (step) => (() => {
|
|
2836
|
-
var _el$12 = _tmpl$5$
|
|
2849
|
+
var _el$12 = _tmpl$5$8(), _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling;
|
|
2837
2850
|
insert(_el$14, () => step.label);
|
|
2838
2851
|
createRenderEffect(() => className(_el$12, `flow-step ${stepStatusClass(step.status)}`));
|
|
2839
2852
|
return _el$12;
|
|
@@ -2844,7 +2857,7 @@ const FlowProgress = () => {
|
|
|
2844
2857
|
return t().lastAction;
|
|
2845
2858
|
},
|
|
2846
2859
|
get children() {
|
|
2847
|
-
var _el$0 = _tmpl$2$
|
|
2860
|
+
var _el$0 = _tmpl$2$a();
|
|
2848
2861
|
_el$0.firstChild;
|
|
2849
2862
|
insert(_el$0, () => t().lastAction, null);
|
|
2850
2863
|
return _el$0;
|
|
@@ -2855,7 +2868,7 @@ const FlowProgress = () => {
|
|
|
2855
2868
|
return memo(() => !!t().nextHint)() && !t().steps.every((s) => s.status === "done");
|
|
2856
2869
|
},
|
|
2857
2870
|
get children() {
|
|
2858
|
-
var _el$10 = _tmpl$3$
|
|
2871
|
+
var _el$10 = _tmpl$3$9();
|
|
2859
2872
|
_el$10.firstChild;
|
|
2860
2873
|
insert(_el$10, () => t().nextHint, null);
|
|
2861
2874
|
return _el$10;
|
|
@@ -2870,7 +2883,7 @@ const FlowProgress = () => {
|
|
|
2870
2883
|
return memo(() => !!flow())() && !tracker();
|
|
2871
2884
|
},
|
|
2872
2885
|
children: (f) => (() => {
|
|
2873
|
-
var _el$15 = _tmpl$4$
|
|
2886
|
+
var _el$15 = _tmpl$4$9(), _el$16 = _el$15.firstChild, _el$17 = _el$16.firstChild, _el$18 = _el$17.nextSibling, _el$19 = _el$18.firstChild, _el$20 = _el$16.nextSibling, _el$21 = _el$20.firstChild, _el$22 = _el$20.nextSibling;
|
|
2874
2887
|
insert(_el$17, () => f().goal);
|
|
2875
2888
|
insert(_el$18, () => progressPercent(f().steps), _el$19);
|
|
2876
2889
|
insert(_el$22, createComponent(For, {
|
|
@@ -2878,7 +2891,7 @@ const FlowProgress = () => {
|
|
|
2878
2891
|
return f().steps;
|
|
2879
2892
|
},
|
|
2880
2893
|
children: (step) => (() => {
|
|
2881
|
-
var _el$23 = _tmpl$5$
|
|
2894
|
+
var _el$23 = _tmpl$5$8(), _el$24 = _el$23.firstChild, _el$25 = _el$24.nextSibling;
|
|
2882
2895
|
insert(_el$25, () => step.label);
|
|
2883
2896
|
createRenderEffect(() => className(_el$23, `flow-step ${stepStatusClass(step.status)}`));
|
|
2884
2897
|
return _el$23;
|
|
@@ -2919,7 +2932,7 @@ function formatTime(iso, options) {
|
|
|
2919
2932
|
...options?.includeSeconds && { second: "2-digit" }
|
|
2920
2933
|
});
|
|
2921
2934
|
}
|
|
2922
|
-
var _tmpl$$
|
|
2935
|
+
var _tmpl$$a = /* @__PURE__ */ template(`<div class=agent-summary-hud>`), _tmpl$2$9 = /* @__PURE__ */ template(`<span class=agent-transcript-live><span class=agent-transcript-live-dot aria-hidden=true></span>Live`), _tmpl$3$8 = /* @__PURE__ */ template(`<div class=agent-transcript-list>`), _tmpl$4$8 = /* @__PURE__ */ template(`<aside class=agent-transcript-dock><div class=agent-transcript-header><div class=agent-transcript-title-row><span class=agent-transcript-title>Agent Transcript</span></div><div class=agent-transcript-actions><button class=agent-transcript-icon></button><button class=agent-transcript-icon data-tooltip=Hide>×`), _tmpl$5$7 = /* @__PURE__ */ template(`<span class=agent-summary-live-dot aria-hidden=true>`), _tmpl$6$7 = /* @__PURE__ */ template(`<span class=agent-summary-text>: `), _tmpl$7$5 = /* @__PURE__ */ template(`<article><div class=agent-transcript-meta><span class=agent-transcript-badge></span><span class=agent-transcript-time></span></div><div class=agent-transcript-text>`);
|
|
2923
2936
|
const AgentTranscriptDock = () => {
|
|
2924
2937
|
const {
|
|
2925
2938
|
runtimeState: runtimeState2
|
|
@@ -2956,7 +2969,7 @@ const AgentTranscriptDock = () => {
|
|
|
2956
2969
|
return isSummary();
|
|
2957
2970
|
},
|
|
2958
2971
|
get children() {
|
|
2959
|
-
var _el$ = _tmpl$$
|
|
2972
|
+
var _el$ = _tmpl$$a();
|
|
2960
2973
|
insert(_el$, createComponent(Show, {
|
|
2961
2974
|
get when() {
|
|
2962
2975
|
return latestEntry();
|
|
@@ -2966,10 +2979,10 @@ const AgentTranscriptDock = () => {
|
|
|
2966
2979
|
return hasStreamingEntry();
|
|
2967
2980
|
},
|
|
2968
2981
|
get children() {
|
|
2969
|
-
return _tmpl$5$
|
|
2982
|
+
return _tmpl$5$7();
|
|
2970
2983
|
}
|
|
2971
2984
|
}), (() => {
|
|
2972
|
-
var _el$10 = _tmpl$6$
|
|
2985
|
+
var _el$10 = _tmpl$6$7(), _el$11 = _el$10.firstChild;
|
|
2973
2986
|
insert(_el$10, () => entry().title || entry().kind, _el$11);
|
|
2974
2987
|
insert(_el$10, (() => {
|
|
2975
2988
|
var _c$ = memo(() => entry().text.length > 80);
|
|
@@ -2985,7 +2998,7 @@ const AgentTranscriptDock = () => {
|
|
|
2985
2998
|
return !isSummary();
|
|
2986
2999
|
},
|
|
2987
3000
|
get children() {
|
|
2988
|
-
var _el$2 = _tmpl$4$
|
|
3001
|
+
var _el$2 = _tmpl$4$8(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild;
|
|
2989
3002
|
_el$4.firstChild;
|
|
2990
3003
|
var _el$7 = _el$4.nextSibling, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling;
|
|
2991
3004
|
insert(_el$4, createComponent(Show, {
|
|
@@ -2993,7 +3006,7 @@ const AgentTranscriptDock = () => {
|
|
|
2993
3006
|
return hasStreamingEntry();
|
|
2994
3007
|
},
|
|
2995
3008
|
get children() {
|
|
2996
|
-
return _tmpl$2$
|
|
3009
|
+
return _tmpl$2$9();
|
|
2997
3010
|
}
|
|
2998
3011
|
}), null);
|
|
2999
3012
|
_el$8.$$click = () => setCollapsed((value) => !value);
|
|
@@ -3004,14 +3017,14 @@ const AgentTranscriptDock = () => {
|
|
|
3004
3017
|
return !collapsed();
|
|
3005
3018
|
},
|
|
3006
3019
|
get children() {
|
|
3007
|
-
var _el$0 = _tmpl$3$
|
|
3020
|
+
var _el$0 = _tmpl$3$8();
|
|
3008
3021
|
use((el) => useScrollFade(el), _el$0);
|
|
3009
3022
|
insert(_el$0, createComponent(For, {
|
|
3010
3023
|
get each() {
|
|
3011
3024
|
return visibleEntries();
|
|
3012
3025
|
},
|
|
3013
3026
|
children: (entry) => (() => {
|
|
3014
|
-
var _el$12 = _tmpl$7$
|
|
3027
|
+
var _el$12 = _tmpl$7$5(), _el$13 = _el$12.firstChild, _el$14 = _el$13.firstChild, _el$15 = _el$14.nextSibling, _el$16 = _el$13.nextSibling;
|
|
3015
3028
|
insert(_el$14, () => entry.title || entry.kind);
|
|
3016
3029
|
insert(_el$15, () => formatTime(entry.updatedAt));
|
|
3017
3030
|
insert(_el$16, () => entry.text);
|
|
@@ -3376,7 +3389,7 @@ function useAnimatedPresence(isOpen, exitDurationMs) {
|
|
|
3376
3389
|
});
|
|
3377
3390
|
return { visible, closing };
|
|
3378
3391
|
}
|
|
3379
|
-
var _tmpl$$
|
|
3392
|
+
var _tmpl$$9 = /* @__PURE__ */ template(`<div class=command-bar-no-provider><p>Configure a chat provider to start using the AI assistant.</p><button class=command-bar-no-provider-btn>Open Settings <kbd>Ctrl+,`), _tmpl$2$8 = /* @__PURE__ */ template(`<div class=command-bar-recent><span class=command-bar-recent-label>Recent</span><div class=command-bar-recent-list>`), _tmpl$3$7 = /* @__PURE__ */ template(`<span>Try "summarize" or ask a question`), _tmpl$4$7 = /* @__PURE__ */ template(`<div class=command-bar-overlay><div class=command-bar><form><div class=command-bar-icon><svg width=16 height=16 viewBox="0 0 16 16"><circle cx=8 cy=8 r=6 fill=none stroke=var(--accent-primary) stroke-width=1.5></circle><circle cx=6 cy=7 r=0.8 fill=var(--accent-primary)></circle><circle cx=10 cy=7 r=0.8 fill=var(--accent-primary)></circle><path d="M6 10c0.5 0.8 3.5 0.8 4 0"fill=none stroke=var(--accent-primary) stroke-width=0.8 stroke-linecap=round></path></svg></div><input class=command-bar-input type=text></form><div class=command-bar-hints><span><kbd>Enter</kbd> to ask</span><span><kbd>Esc</kbd> to close`), _tmpl$5$6 = /* @__PURE__ */ template(`<button class=command-bar-recent-item type=button>`), _tmpl$6$6 = /* @__PURE__ */ template(`<span>Set up a provider in Settings first`);
|
|
3380
3393
|
const COMMAND_BAR_EXIT_MS = 200;
|
|
3381
3394
|
const CommandBar = () => {
|
|
3382
3395
|
const {
|
|
@@ -3430,7 +3443,7 @@ const CommandBar = () => {
|
|
|
3430
3443
|
return visible();
|
|
3431
3444
|
},
|
|
3432
3445
|
get children() {
|
|
3433
|
-
var _el$ = _tmpl$4$
|
|
3446
|
+
var _el$ = _tmpl$4$7(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$10 = _el$3.nextSibling, _el$11 = _el$10.firstChild;
|
|
3434
3447
|
_el$11.nextSibling;
|
|
3435
3448
|
addEventListener(_el$, "click", closeCommandBar, true);
|
|
3436
3449
|
_el$2.$$click = (e) => e.stopPropagation();
|
|
@@ -3444,7 +3457,7 @@ const CommandBar = () => {
|
|
|
3444
3457
|
return !hasProvider();
|
|
3445
3458
|
},
|
|
3446
3459
|
get children() {
|
|
3447
|
-
var _el$6 = _tmpl$$
|
|
3460
|
+
var _el$6 = _tmpl$$9(), _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling;
|
|
3448
3461
|
_el$8.$$click = () => {
|
|
3449
3462
|
closeCommandBar();
|
|
3450
3463
|
openSettings();
|
|
@@ -3457,13 +3470,13 @@ const CommandBar = () => {
|
|
|
3457
3470
|
return memo(() => !!(hasProvider() && recentQueries2().length > 0))() && !input().trim();
|
|
3458
3471
|
},
|
|
3459
3472
|
get children() {
|
|
3460
|
-
var _el$9 = _tmpl$2$
|
|
3473
|
+
var _el$9 = _tmpl$2$8(), _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling;
|
|
3461
3474
|
insert(_el$1, createComponent(For, {
|
|
3462
3475
|
get each() {
|
|
3463
3476
|
return recentQueries2();
|
|
3464
3477
|
},
|
|
3465
3478
|
children: (q) => (() => {
|
|
3466
|
-
var _el$14 = _tmpl$5$
|
|
3479
|
+
var _el$14 = _tmpl$5$6();
|
|
3467
3480
|
_el$14.$$click = () => void handleRecentClick(q);
|
|
3468
3481
|
insert(_el$14, q);
|
|
3469
3482
|
return _el$14;
|
|
@@ -3477,10 +3490,10 @@ const CommandBar = () => {
|
|
|
3477
3490
|
return hasProvider();
|
|
3478
3491
|
},
|
|
3479
3492
|
get fallback() {
|
|
3480
|
-
return _tmpl$6$
|
|
3493
|
+
return _tmpl$6$6();
|
|
3481
3494
|
},
|
|
3482
3495
|
get children() {
|
|
3483
|
-
return _tmpl$3$
|
|
3496
|
+
return _tmpl$3$7();
|
|
3484
3497
|
}
|
|
3485
3498
|
}), null);
|
|
3486
3499
|
createRenderEffect((_p$) => {
|
|
@@ -3568,6 +3581,7 @@ function useBookmarks() {
|
|
|
3568
3581
|
keyFields,
|
|
3569
3582
|
agentHints
|
|
3570
3583
|
),
|
|
3584
|
+
updateBookmark: (id, updates) => window.vessel.bookmarks.updateBookmark(id, updates),
|
|
3571
3585
|
removeBookmark: (id) => window.vessel.bookmarks.removeBookmark(id),
|
|
3572
3586
|
createFolder: (name) => window.vessel.bookmarks.createFolder(name),
|
|
3573
3587
|
createFolderWithSummary: (name, summary) => window.vessel.bookmarks.createFolderWithSummary(name, summary),
|
|
@@ -5061,7 +5075,7 @@ function getBookmarkSearchMatch(args) {
|
|
|
5061
5075
|
}
|
|
5062
5076
|
return { matchedFields, score };
|
|
5063
5077
|
}
|
|
5064
|
-
var _tmpl$$
|
|
5078
|
+
var _tmpl$$8 = /* @__PURE__ */ template(`<div class=dropdown-select-menu role=listbox>`), _tmpl$2$7 = /* @__PURE__ */ template(`<div><button class=dropdown-select-trigger type=button aria-haspopup=listbox><span class=dropdown-select-value></span><span class=dropdown-select-caret aria-hidden=true>▾`), _tmpl$3$6 = /* @__PURE__ */ template(`<span class=dropdown-select-option-description>`), _tmpl$4$6 = /* @__PURE__ */ template(`<button class=dropdown-select-option type=button role=option><span class=dropdown-select-option-copy><span class=dropdown-select-option-label>`);
|
|
5065
5079
|
const DropdownSelect = (props) => {
|
|
5066
5080
|
const [open, setOpen] = createSignal(false);
|
|
5067
5081
|
let rootRef;
|
|
@@ -5085,7 +5099,7 @@ const DropdownSelect = (props) => {
|
|
|
5085
5099
|
});
|
|
5086
5100
|
});
|
|
5087
5101
|
return (() => {
|
|
5088
|
-
var _el$ = _tmpl$2$
|
|
5102
|
+
var _el$ = _tmpl$2$7(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
|
|
5089
5103
|
var _ref$ = rootRef;
|
|
5090
5104
|
typeof _ref$ === "function" ? use(_ref$, _el$) : rootRef = _el$;
|
|
5091
5105
|
_el$2.$$click = () => setOpen((current) => !current);
|
|
@@ -5095,13 +5109,13 @@ const DropdownSelect = (props) => {
|
|
|
5095
5109
|
return open();
|
|
5096
5110
|
},
|
|
5097
5111
|
get children() {
|
|
5098
|
-
var _el$5 = _tmpl$$
|
|
5112
|
+
var _el$5 = _tmpl$$8();
|
|
5099
5113
|
insert(_el$5, createComponent(For, {
|
|
5100
5114
|
get each() {
|
|
5101
5115
|
return props.options;
|
|
5102
5116
|
},
|
|
5103
5117
|
children: (option) => (() => {
|
|
5104
|
-
var _el$6 = _tmpl$4$
|
|
5118
|
+
var _el$6 = _tmpl$4$6(), _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild;
|
|
5105
5119
|
_el$6.$$click = () => {
|
|
5106
5120
|
props.onChange(option.value);
|
|
5107
5121
|
setOpen(false);
|
|
@@ -5112,7 +5126,7 @@ const DropdownSelect = (props) => {
|
|
|
5112
5126
|
return option.description;
|
|
5113
5127
|
},
|
|
5114
5128
|
get children() {
|
|
5115
|
-
var _el$9 = _tmpl$3$
|
|
5129
|
+
var _el$9 = _tmpl$3$6();
|
|
5116
5130
|
insert(_el$9, () => option.description);
|
|
5117
5131
|
return _el$9;
|
|
5118
5132
|
}
|
|
@@ -5168,7 +5182,7 @@ var LucideContext = createContext({
|
|
|
5168
5182
|
absoluteStrokeWidth: false,
|
|
5169
5183
|
class: ""
|
|
5170
5184
|
});
|
|
5171
|
-
var _tmpl$$
|
|
5185
|
+
var _tmpl$$7 = /* @__PURE__ */ template(`<svg>`);
|
|
5172
5186
|
var hasA11yProp = (props) => {
|
|
5173
5187
|
for (const prop in props) {
|
|
5174
5188
|
if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
|
|
@@ -5190,7 +5204,7 @@ var Icon = (props) => {
|
|
|
5190
5204
|
const [localProps, rest] = splitProps(props, ["color", "size", "strokeWidth", "children", "class", "name", "iconNode", "absoluteStrokeWidth"]);
|
|
5191
5205
|
const globalProps = useContext(LucideContext);
|
|
5192
5206
|
return (() => {
|
|
5193
|
-
var _el$ = _tmpl$$
|
|
5207
|
+
var _el$ = _tmpl$$7();
|
|
5194
5208
|
spread(_el$, mergeProps(defaultAttributes_default, {
|
|
5195
5209
|
get width() {
|
|
5196
5210
|
return localProps.size ?? globalProps.size ?? defaultAttributes_default.width;
|
|
@@ -5508,7 +5522,7 @@ function renderKitPrompt(kit, values) {
|
|
|
5508
5522
|
(_, key) => values[key] ?? ""
|
|
5509
5523
|
);
|
|
5510
5524
|
}
|
|
5511
|
-
var _tmpl$$
|
|
5525
|
+
var _tmpl$$6 = /* @__PURE__ */ template(`<div class=kit-upsell><div class=kit-upsell-icon aria-hidden=true></div><p class=kit-upsell-title>Vessel Premium</p><p class=kit-upsell-body>Automation Kits are a premium feature. Upgrade to unlock pre-built workflows you can launch with one click.</p><button class="agent-primary-button kit-upsell-btn"type=button>Start 7-day free trial — $5.99/mo after`), _tmpl$2$6 = /* @__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$5 = /* @__PURE__ */ template(`<div class=kit-install-error><span></span><button class=kit-install-error-dismiss type=button aria-label=Dismiss>×`), _tmpl$4$5 = /* @__PURE__ */ template(`<div class=kit-list>`), _tmpl$5$5 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Scheduled</span><span class=kit-list-count>`), _tmpl$6$5 = /* @__PURE__ */ template(`<div class=kit-sched-list>`), _tmpl$7$4 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Recent Activity</span><span class=kit-list-count>`), _tmpl$8$4 = /* @__PURE__ */ template(`<div class=kit-activity-list>`), _tmpl$9$3 = /* @__PURE__ */ template(`<div class=kit-form-header><button class=kit-back-btn type=button title="Back to kits"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M9 11L5 7l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Back</button><div class=kit-form-title>`), _tmpl$0$3 = /* @__PURE__ */ template(`<p class=kit-form-desc>`), _tmpl$1$3 = /* @__PURE__ */ template(`<div class=kit-form-fields>`), _tmpl$10$3 = /* @__PURE__ */ template(`<p class=kit-form-estimate>Estimated run time: ~<!> min`), _tmpl$11$3 = /* @__PURE__ */ template(`<button class="agent-primary-button kit-run-btn"type=button>`), _tmpl$12$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Date & time</label><input class=kit-form-input type=datetime-local>`), _tmpl$13$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time of day</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$14$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Day</label><select class=kit-form-input>`), _tmpl$15$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$16$2 = /* @__PURE__ */ template(`<p class=kit-schedule-error>`), _tmpl$17$2 = /* @__PURE__ */ template(`<div class=kit-schedule-form><div class=kit-schedule-types></div><p class=kit-schedule-note>Schedules run only while Vessel is open. Missed runs are skipped.</p><button class="agent-primary-button kit-schedule-btn"type=button>`), _tmpl$18$2 = /* @__PURE__ */ template(`<div class=kit-schedule-section><label class=kit-schedule-toggle><input type=checkbox>Schedule for later`), _tmpl$19$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Run at</label><input type=datetime-local class="kit-form-input kit-schedule-time">`), _tmpl$20$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Day</label><select class="kit-form-input kit-schedule-time">`), _tmpl$21$2 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Time</label><input type=time class="kit-form-input kit-schedule-time">`), _tmpl$22$2 = /* @__PURE__ */ template(`<div class=sched-edit-backdrop><div class=sched-edit-panel><div class=sched-edit-header><span class=sched-edit-title>Edit schedule</span><span class=sched-edit-job-name></span></div><div class=kit-schedule-types></div><div class=sched-edit-actions><button class=kit-back-btn type=button>Cancel</button><button class=agent-primary-button type=button>Save`), _tmpl$23$2 = /* @__PURE__ */ template(`<section class=automation-panel>`), _tmpl$24$2 = /* @__PURE__ */ template(`<div class=kit-card-meta>~<!> min`), _tmpl$25$2 = /* @__PURE__ */ template(`<button class=kit-remove-btn type=button>×`), _tmpl$26$2 = /* @__PURE__ */ template(`<div class=kit-card role=button tabindex=0><span class=kit-card-icon aria-hidden=true></span><div class=kit-card-body><div class=kit-card-name></div><div class=kit-card-desc>`), _tmpl$27$2 = /* @__PURE__ */ template(`<svg class=kit-card-caret width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M5 3l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`), _tmpl$28$2 = /* @__PURE__ */ template(`<div class=kit-sched-next>Next: `), _tmpl$29$2 = /* @__PURE__ */ template(`<div class=sched-context-menu><button class=sched-ctx-item type=button>Edit task</button><button class=sched-ctx-item type=button>Edit schedule</button><div class=sched-ctx-divider></div><button class=sched-ctx-item type=button></button><button class="sched-ctx-item sched-ctx-danger"type=button>Delete`), _tmpl$30$2 = /* @__PURE__ */ template(`<div class=kit-sched-card><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-sched-body><div class=kit-sched-name></div><div class=kit-sched-meta></div></div><div class=kit-sched-actions><button class=kit-sched-toggle type=button></button><button class=kit-remove-btn type=button title="Delete schedule"aria-label="Delete schedule">×`), _tmpl$31$2 = /* @__PURE__ */ template(`<div class=kit-activity-output>`), _tmpl$32$2 = /* @__PURE__ */ template(`<div class=kit-activity-card><div class=kit-activity-header><div class=kit-activity-title><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-activity-title-copy><div class=kit-sched-name></div><div class=kit-activity-time></div></div></div><span class=kit-activity-badge>`), _tmpl$33$2 = /* @__PURE__ */ template(`<div class="kit-activity-output kit-activity-placeholder">`), _tmpl$34$2 = /* @__PURE__ */ template(`<span class=kit-form-required aria-hidden=true>*`), _tmpl$35$2 = /* @__PURE__ */ template(`<textarea class=kit-form-textarea rows=3>`), _tmpl$36$2 = /* @__PURE__ */ template(`<p class=kit-form-hint>`), _tmpl$37$2 = /* @__PURE__ */ template(`<div class=kit-form-field><label class=kit-form-label>`), _tmpl$38$2 = /* @__PURE__ */ template(`<input class=kit-form-input>`), _tmpl$39$2 = /* @__PURE__ */ template(`<span class=kit-run-spinner aria-hidden=true>`), _tmpl$40$2 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=sched-type>`), _tmpl$41$2 = /* @__PURE__ */ template(`<option>`), _tmpl$42$2 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=edit-sched-type>`);
|
|
5512
5526
|
const ICON_MAP = {
|
|
5513
5527
|
BookOpen: book_open_default,
|
|
5514
5528
|
Tag: tag_default,
|
|
@@ -5833,7 +5847,7 @@ const AutomationTab = (props) => {
|
|
|
5833
5847
|
return memo(() => !!!premiumData.loading)() && !isPremium();
|
|
5834
5848
|
},
|
|
5835
5849
|
get children() {
|
|
5836
|
-
var _el$2 = _tmpl$$
|
|
5850
|
+
var _el$2 = _tmpl$$6(), _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling;
|
|
5837
5851
|
insert(_el$3, createComponent(zap_default, {
|
|
5838
5852
|
size: 24
|
|
5839
5853
|
}));
|
|
@@ -5847,7 +5861,7 @@ const AutomationTab = (props) => {
|
|
|
5847
5861
|
},
|
|
5848
5862
|
get children() {
|
|
5849
5863
|
return [(() => {
|
|
5850
|
-
var _el$7 = _tmpl$2$
|
|
5864
|
+
var _el$7 = _tmpl$2$6(), _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.firstChild, _el$10 = _el$0.nextSibling;
|
|
5851
5865
|
insert(_el$0, () => allKits().length, _el$1);
|
|
5852
5866
|
_el$10.$$click = () => void handleInstall();
|
|
5853
5867
|
return _el$7;
|
|
@@ -5856,13 +5870,13 @@ const AutomationTab = (props) => {
|
|
|
5856
5870
|
return installError() !== null;
|
|
5857
5871
|
},
|
|
5858
5872
|
get children() {
|
|
5859
|
-
var _el$11 = _tmpl$3$
|
|
5873
|
+
var _el$11 = _tmpl$3$5(), _el$12 = _el$11.firstChild, _el$13 = _el$12.nextSibling;
|
|
5860
5874
|
insert(_el$12, installError);
|
|
5861
5875
|
_el$13.$$click = () => setInstallError(null);
|
|
5862
5876
|
return _el$11;
|
|
5863
5877
|
}
|
|
5864
5878
|
}), (() => {
|
|
5865
|
-
var _el$14 = _tmpl$4$
|
|
5879
|
+
var _el$14 = _tmpl$4$5();
|
|
5866
5880
|
insert(_el$14, createComponent(For, {
|
|
5867
5881
|
get each() {
|
|
5868
5882
|
return allKits();
|
|
@@ -5922,14 +5936,14 @@ const AutomationTab = (props) => {
|
|
|
5922
5936
|
},
|
|
5923
5937
|
get children() {
|
|
5924
5938
|
return [(() => {
|
|
5925
|
-
var _el$15 = _tmpl$5$
|
|
5939
|
+
var _el$15 = _tmpl$5$5(), _el$16 = _el$15.firstChild, _el$17 = _el$16.nextSibling;
|
|
5926
5940
|
insert(_el$15, createComponent(clock_default, {
|
|
5927
5941
|
size: 12
|
|
5928
5942
|
}), _el$16);
|
|
5929
5943
|
insert(_el$17, () => scheduledJobs().length);
|
|
5930
5944
|
return _el$15;
|
|
5931
5945
|
})(), (() => {
|
|
5932
|
-
var _el$18 = _tmpl$6$
|
|
5946
|
+
var _el$18 = _tmpl$6$5();
|
|
5933
5947
|
insert(_el$18, createComponent(For, {
|
|
5934
5948
|
get each() {
|
|
5935
5949
|
return scheduledJobs();
|
|
@@ -6007,14 +6021,14 @@ const AutomationTab = (props) => {
|
|
|
6007
6021
|
},
|
|
6008
6022
|
get children() {
|
|
6009
6023
|
return [(() => {
|
|
6010
|
-
var _el$19 = _tmpl$7$
|
|
6024
|
+
var _el$19 = _tmpl$7$4(), _el$20 = _el$19.firstChild, _el$21 = _el$20.nextSibling;
|
|
6011
6025
|
insert(_el$19, createComponent(zap_default, {
|
|
6012
6026
|
size: 12
|
|
6013
6027
|
}), _el$20);
|
|
6014
6028
|
insert(_el$21, () => automationActivities2().length);
|
|
6015
6029
|
return _el$19;
|
|
6016
6030
|
})(), (() => {
|
|
6017
|
-
var _el$22 = _tmpl$8$
|
|
6031
|
+
var _el$22 = _tmpl$8$4();
|
|
6018
6032
|
insert(_el$22, createComponent(For, {
|
|
6019
6033
|
get each() {
|
|
6020
6034
|
return automationActivities2();
|
|
@@ -6347,8 +6361,121 @@ const AutomationTab = (props) => {
|
|
|
6347
6361
|
})();
|
|
6348
6362
|
};
|
|
6349
6363
|
delegateEvents(["click", "input", "keydown", "contextmenu"]);
|
|
6364
|
+
var _tmpl$$5 = /* @__PURE__ */ template(`<div class=agent-muted>Loading...`), _tmpl$2$5 = /* @__PURE__ */ template(`<div class=agent-muted>`), _tmpl$3$4 = /* @__PURE__ */ template(`<div class=agent-muted>No changes detected yet.`), _tmpl$4$4 = /* @__PURE__ */ template(`<div class=agent-section-title>Recent page changes`), _tmpl$5$4 = /* @__PURE__ */ template(`<div class=page-diff-list>`), _tmpl$6$4 = /* @__PURE__ */ template(`<div class=page-diff-timeline>`), _tmpl$7$3 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$8$3 = /* @__PURE__ */ template(`<div class=page-diff-item><div class=checkpoint-timeline-rail><span class=checkpoint-timeline-dot></span></div><div class=page-diff-content><div class=page-diff-time></div><div class=page-diff-summary>`);
|
|
6365
|
+
const PageDiffTimeline = () => {
|
|
6366
|
+
const {
|
|
6367
|
+
activeTab
|
|
6368
|
+
} = useTabs();
|
|
6369
|
+
const [bursts, setBursts] = createSignal([]);
|
|
6370
|
+
const [loading, setLoading] = createSignal(true);
|
|
6371
|
+
const [error, setError] = createSignal(null);
|
|
6372
|
+
let latestRequestId = 0;
|
|
6373
|
+
const loadHistory = async () => {
|
|
6374
|
+
const requestId = ++latestRequestId;
|
|
6375
|
+
const tab = activeTab();
|
|
6376
|
+
if (!tab?.url) {
|
|
6377
|
+
setBursts([]);
|
|
6378
|
+
setError(null);
|
|
6379
|
+
setLoading(false);
|
|
6380
|
+
return;
|
|
6381
|
+
}
|
|
6382
|
+
setLoading(true);
|
|
6383
|
+
try {
|
|
6384
|
+
const result = await window.vessel.pageDiff.getHistory();
|
|
6385
|
+
if (requestId !== latestRequestId) return;
|
|
6386
|
+
if (result && typeof result === "object" && "error" in result) {
|
|
6387
|
+
setError(result.error);
|
|
6388
|
+
setBursts([]);
|
|
6389
|
+
} else {
|
|
6390
|
+
setBursts(result ?? []);
|
|
6391
|
+
setError(null);
|
|
6392
|
+
}
|
|
6393
|
+
} catch {
|
|
6394
|
+
if (requestId !== latestRequestId) return;
|
|
6395
|
+
setError("Failed to load diff history");
|
|
6396
|
+
setBursts([]);
|
|
6397
|
+
} finally {
|
|
6398
|
+
if (requestId === latestRequestId) {
|
|
6399
|
+
setLoading(false);
|
|
6400
|
+
}
|
|
6401
|
+
}
|
|
6402
|
+
};
|
|
6403
|
+
createEffect(() => {
|
|
6404
|
+
void activeTab()?.url;
|
|
6405
|
+
void loadHistory();
|
|
6406
|
+
});
|
|
6407
|
+
const unsubscribe = window.vessel.pageDiff.onChanged((diff) => {
|
|
6408
|
+
const tab = activeTab();
|
|
6409
|
+
if (!tab || !matchesPageSnapshotUrl(tab.url, diff.url)) return;
|
|
6410
|
+
void loadHistory();
|
|
6411
|
+
});
|
|
6412
|
+
onCleanup(() => {
|
|
6413
|
+
unsubscribe();
|
|
6414
|
+
});
|
|
6415
|
+
return (() => {
|
|
6416
|
+
var _el$ = _tmpl$6$4();
|
|
6417
|
+
insert(_el$, createComponent(Show, {
|
|
6418
|
+
get when() {
|
|
6419
|
+
return loading();
|
|
6420
|
+
},
|
|
6421
|
+
get children() {
|
|
6422
|
+
return _tmpl$$5();
|
|
6423
|
+
}
|
|
6424
|
+
}), null);
|
|
6425
|
+
insert(_el$, createComponent(Show, {
|
|
6426
|
+
get when() {
|
|
6427
|
+
return memo(() => !!!loading())() && error();
|
|
6428
|
+
},
|
|
6429
|
+
get children() {
|
|
6430
|
+
var _el$3 = _tmpl$2$5();
|
|
6431
|
+
insert(_el$3, error);
|
|
6432
|
+
return _el$3;
|
|
6433
|
+
}
|
|
6434
|
+
}), null);
|
|
6435
|
+
insert(_el$, createComponent(Show, {
|
|
6436
|
+
get when() {
|
|
6437
|
+
return memo(() => !!(!loading() && !error()))() && bursts().length === 0;
|
|
6438
|
+
},
|
|
6439
|
+
get children() {
|
|
6440
|
+
return _tmpl$3$4();
|
|
6441
|
+
}
|
|
6442
|
+
}), null);
|
|
6443
|
+
insert(_el$, createComponent(Show, {
|
|
6444
|
+
get when() {
|
|
6445
|
+
return memo(() => !!(!loading() && !error()))() && bursts().length > 0;
|
|
6446
|
+
},
|
|
6447
|
+
get children() {
|
|
6448
|
+
return [_tmpl$4$4(), (() => {
|
|
6449
|
+
var _el$6 = _tmpl$5$4();
|
|
6450
|
+
insert(_el$6, createComponent(For, {
|
|
6451
|
+
get each() {
|
|
6452
|
+
return bursts();
|
|
6453
|
+
},
|
|
6454
|
+
children: (burst, i) => (() => {
|
|
6455
|
+
var _el$7 = _tmpl$8$3(), _el$8 = _el$7.firstChild, _el$9 = _el$8.firstChild, _el$1 = _el$8.nextSibling, _el$10 = _el$1.firstChild, _el$11 = _el$10.nextSibling;
|
|
6456
|
+
insert(_el$8, createComponent(Show, {
|
|
6457
|
+
get when() {
|
|
6458
|
+
return i() < bursts().length - 1;
|
|
6459
|
+
},
|
|
6460
|
+
get children() {
|
|
6461
|
+
return _tmpl$7$3();
|
|
6462
|
+
}
|
|
6463
|
+
}), null);
|
|
6464
|
+
insert(_el$10, () => new Date(burst.detectedAt).toLocaleString());
|
|
6465
|
+
insert(_el$11, () => burst.summary);
|
|
6466
|
+
createRenderEffect(() => _el$9.classList.toggle("latest", !!(i() === 0)));
|
|
6467
|
+
return _el$7;
|
|
6468
|
+
})()
|
|
6469
|
+
}));
|
|
6470
|
+
return _el$6;
|
|
6471
|
+
})()];
|
|
6472
|
+
}
|
|
6473
|
+
}), null);
|
|
6474
|
+
return _el$;
|
|
6475
|
+
})();
|
|
6476
|
+
};
|
|
6350
6477
|
const vesselLogo = "" + new URL("vessel-logo-transparent-IT25qr-Z.png", import.meta.url).href;
|
|
6351
|
-
var _tmpl$$4 = /* @__PURE__ */ template(`<div class="message-content markdown-content">`), _tmpl$2$4 = /* @__PURE__ */ template(`<div class=premium-inline-offer><div class=premium-inline-kicker>Vessel Premium</div><div class=premium-inline-title></div><p class=premium-inline-copy></p><div class=premium-inline-actions><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>View details`), _tmpl$3$3 = /* @__PURE__ */ template(`<span class=sidebar-tab-badge>`), _tmpl$4$3 = /* @__PURE__ */ template(`<div class=agent-section-title>Pending approvals`), _tmpl$5$3 = /* @__PURE__ */ template(`<button class=agent-section-toggle type=button>`), _tmpl$6$3 = /* @__PURE__ */ template(`<section class=agent-panel><div class=agent-panel-header><div><div class=agent-panel-title>Supervisor</div><div class=agent-panel-subtitle></div></div><span class=agent-status-pill></span></div><div class=agent-panel-controls><button class=agent-control-button type=button></button><button class=agent-control-button type=button>Restore session</button></div><div class=agent-muted></div><div class=agent-section-header><div class=agent-section-title>Recent actions`), _tmpl$7$2 = /* @__PURE__ */ template(`<span class=bookmark-status-pill>Saved`), _tmpl$8$2 = /* @__PURE__ */ template(`<div class=bookmark-save-card><div class=bookmark-current-title></div><div class=bookmark-current-url></div><div class=bookmark-save-controls><button class=bookmark-primary-button type=button>Save page</button></div><textarea class=bookmark-note-input placeholder="Optional note about why this matters"rows=2>`), _tmpl$9$2 = /* @__PURE__ */ template(`<section class=bookmark-panel><div class=bookmark-panel-header><div><div class=bookmark-panel-title>Bookmarks</div><div class=bookmark-panel-subtitle></div></div></div><input class="bookmark-input bookmark-search-input"placeholder="Search titles, URLs, notes, and folders"><div class=bookmark-save-shell><button class=bookmark-save-toggle type=button><span class=bookmark-save-toggle-copy><span class=bookmark-save-toggle-title>Save Current Page</span><span class=bookmark-save-toggle-subtitle>Manual bookmark save options</span></span><span class=bookmark-save-toggle-caret aria-hidden=true>▾</span></button></div><form class=bookmark-folder-create><div class=bookmark-folder-form-fields><input class=bookmark-input placeholder="Create a folder"><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=submit>New folder</button></form><div class=bookmark-folder-list>`), _tmpl$0$2 = /* @__PURE__ */ template(`<div class=checkpoint-timeline>`), _tmpl$1$2 = /* @__PURE__ */ template(`<section class="agent-panel checkpoint-panel"><div class=agent-panel-header><div><div class=agent-panel-title>Checkpoints</div><div class=agent-panel-subtitle></div></div></div><div class=agent-panel-body><div class=agent-checkpoint-row><input class=agent-input placeholder="Checkpoint name"><button class=agent-primary-button type=button>Save checkpoint</button></div><div class=agent-section-title>Recent checkpoints`), _tmpl$10$2 = /* @__PURE__ */ template(`<p class=history-empty>No browsing history yet.`), _tmpl$11$2 = /* @__PURE__ */ template(`<div class=history-panel><div class=history-panel-header><span class=history-panel-title>Browsing History</span><button class=history-clear-btn>Clear</button></div><div class=history-list>`), _tmpl$12$2 = /* @__PURE__ */ template(`<div class="kit-upsell premium-chat-banner"><p class=kit-upsell-title>Vessel Premium</p><p class="kit-upsell-body premium-chat-banner-body">Give the built-in agent a bigger toolbox and longer runway: screenshots, saved sessions, workflow tracking, table extraction, and up to 1,000 tool calls per turn.</p><div class="premium-inline-actions premium-chat-banner-actions"><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>See Premium`), _tmpl$13$1 = /* @__PURE__ */ template(`<span>`), _tmpl$14$1 = /* @__PURE__ */ template(`<div><div class=streaming-status><span class=streaming-pulse aria-hidden=true></span><span>Generating`), _tmpl$15$1 = /* @__PURE__ */ template(`<div class="message message-assistant"><div class=message-content>`), _tmpl$16$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$17$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$18$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$19$1 = /* @__PURE__ */ template(`<div class=chat-actions>`), _tmpl$20$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$21$1 = /* @__PURE__ */ template(`<button class=chat-queue-clear type=button>Clear queue`), _tmpl$22$1 = /* @__PURE__ */ template(`<div class=chat-queue-list>`), _tmpl$23$1 = /* @__PURE__ */ template(`<div class=chat-queue-status><div class=chat-queue-status-row><span>`), _tmpl$24$1 = /* @__PURE__ */ template(`<div class=sidebar-input-area><textarea class=sidebar-input rows=2></textarea><button class=sidebar-send>`), _tmpl$25$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><button class=sidebar-tab role=tab>History</button></div><div class=sidebar-messages><div>`), _tmpl$26$1 = /* @__PURE__ */ template(`<div class=agent-muted>No pending approvals.`), _tmpl$27$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$28$1 = /* @__PURE__ */ template(`<div class=agent-muted>No actions yet.`), _tmpl$29$1 = /* @__PURE__ */ template(`<div class=agent-muted>Recent actions are collapsed to reduce noise.`), _tmpl$30$1 = /* @__PURE__ */ template(`<div class="agent-card-copy success">`), _tmpl$31$1 = /* @__PURE__ */ template(`<div class="agent-card-copy error">`), _tmpl$32$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$33$1 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>`), _tmpl$34$1 = /* @__PURE__ */ template(`<div class=bookmark-folder-summary>`), _tmpl$35$1 = /* @__PURE__ */ template(`<div class=bookmark-folder-actions><button class=bookmark-ghost-button type=button>Rename</button><button class="bookmark-ghost-button danger"type=button>Delete`), _tmpl$36$1 = /* @__PURE__ */ template(`<button class=bookmark-ghost-button type=button>Keep bookmarks`), _tmpl$37$1 = /* @__PURE__ */ template(`<div class=bookmark-folder-delete-confirm><p class=bookmark-delete-prompt>Delete "<!>"?</p><div class=bookmark-delete-options><button class="bookmark-ghost-button danger"type=button></button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$38$1 = /* @__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$39$1 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$40$1 = /* @__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$41$1 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$42$1 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$43 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$44 = /* @__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$45 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$46 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$47 = /* @__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$48 = /* @__PURE__ */ template(`<button class=history-entry><span class=history-entry-title></span><span class=history-entry-url></span><span class=history-entry-time>`), _tmpl$49 = /* @__PURE__ */ template(`<div>`), _tmpl$50 = /* @__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$51 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$52 = /* @__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$53 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`);
|
|
6478
|
+
var _tmpl$$4 = /* @__PURE__ */ template(`<div class="message-content markdown-content">`), _tmpl$2$4 = /* @__PURE__ */ template(`<div class=premium-inline-offer><div class=premium-inline-kicker>Vessel Premium</div><div class=premium-inline-title></div><p class=premium-inline-copy></p><div class=premium-inline-actions><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>View details`), _tmpl$3$3 = /* @__PURE__ */ template(`<span class=sidebar-tab-badge>`), _tmpl$4$3 = /* @__PURE__ */ template(`<button class=agent-primary-button type=button>Undo last action`), _tmpl$5$3 = /* @__PURE__ */ template(`<div class=agent-section-title>Pending approvals`), _tmpl$6$3 = /* @__PURE__ */ template(`<button class=agent-section-toggle type=button>`), _tmpl$7$2 = /* @__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$8$2 = /* @__PURE__ */ template(`<span class=bookmark-status-pill>Saved`), _tmpl$9$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></textarea><textarea class=bookmark-note-input placeholder="Intent: what is this page for?"rows=1></textarea><textarea class=bookmark-note-input placeholder="Expected content: what should be here?"rows=1></textarea><input class=bookmark-input placeholder="Key fields (comma-separated)"><textarea class=bookmark-note-input placeholder="Agent hints (one key:value per line)"rows=2>`), _tmpl$0$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$1$2 = /* @__PURE__ */ template(`<div class=checkpoint-timeline>`), _tmpl$10$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"><textarea class=agent-textarea rows=2 placeholder="Optional note for this checkpoint"></textarea><button class=agent-primary-button type=button>Save checkpoint</button></div><div class=agent-section-title>Recent checkpoints`), _tmpl$11$2 = /* @__PURE__ */ template(`<p class=history-empty>No browsing history yet.`), _tmpl$12$2 = /* @__PURE__ */ template(`<div class=history-panel><div class=history-panel-header><span class=history-panel-title>Browsing History</span><button class=history-clear-btn>Clear</button></div><div class=history-list>`), _tmpl$13$1 = /* @__PURE__ */ template(`<section class=agent-panel><div class=agent-panel-header><div class=agent-panel-title>What Changed</div><div class=agent-panel-subtitle>`), _tmpl$14$1 = /* @__PURE__ */ template(`<div class="kit-upsell premium-chat-banner"><p class=kit-upsell-title>Vessel Premium</p><p class="kit-upsell-body premium-chat-banner-body">Give the built-in agent a bigger toolbox and longer runway: screenshots, saved sessions, workflow tracking, table extraction, and up to 1,000 tool calls per turn.</p><div class="premium-inline-actions premium-chat-banner-actions"><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>See Premium`), _tmpl$15$1 = /* @__PURE__ */ template(`<span>`), _tmpl$16$1 = /* @__PURE__ */ template(`<div><div class=streaming-status><span class=streaming-pulse aria-hidden=true></span><span>Generating`), _tmpl$17$1 = /* @__PURE__ */ template(`<div class="message message-assistant"><div class=message-content>`), _tmpl$18$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$19$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$20$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$21$1 = /* @__PURE__ */ template(`<div class=chat-actions>`), _tmpl$22$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$23$1 = /* @__PURE__ */ template(`<button class=chat-queue-clear type=button>Clear queue`), _tmpl$24$1 = /* @__PURE__ */ template(`<div class=chat-queue-list>`), _tmpl$25$1 = /* @__PURE__ */ template(`<div class=chat-queue-status><div class=chat-queue-status-row><span>`), _tmpl$26$1 = /* @__PURE__ */ template(`<div class=sidebar-input-area><textarea class=sidebar-input rows=2></textarea><button class=sidebar-send>`), _tmpl$27$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><button class=sidebar-tab role=tab>History</button><button class=sidebar-tab role=tab>Changes</button></div><div class=sidebar-messages><div>`), _tmpl$28$1 = /* @__PURE__ */ template(`<div class=agent-muted>No pending approvals.`), _tmpl$29$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$30$1 = /* @__PURE__ */ template(`<div class=agent-muted>No actions yet.`), _tmpl$31$1 = /* @__PURE__ */ template(`<div class=agent-muted>Recent actions are collapsed to reduce noise.`), _tmpl$32$1 = /* @__PURE__ */ template(`<div class="agent-card-copy success">`), _tmpl$33$1 = /* @__PURE__ */ template(`<div class="agent-card-copy error">`), _tmpl$34$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$35$1 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>`), _tmpl$36$1 = /* @__PURE__ */ template(`<div class=bookmark-folder-summary>`), _tmpl$37$1 = /* @__PURE__ */ template(`<div class=bookmark-folder-actions><button class=bookmark-ghost-button type=button>Rename</button><button class="bookmark-ghost-button danger"type=button>Delete`), _tmpl$38$1 = /* @__PURE__ */ template(`<button class=bookmark-ghost-button type=button>Keep bookmarks`), _tmpl$39$1 = /* @__PURE__ */ template(`<div class=bookmark-folder-delete-confirm><p class=bookmark-delete-prompt>Delete "<!>"?</p><div class=bookmark-delete-options><button class="bookmark-ghost-button danger"type=button></button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$40$1 = /* @__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$41$1 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$42$1 = /* @__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$43 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$44 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$45 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$46 = /* @__PURE__ */ template(`<div><strong>Intent:</strong> `), _tmpl$47 = /* @__PURE__ */ template(`<div><strong>Expected:</strong> `), _tmpl$48 = /* @__PURE__ */ template(`<div><strong>Key fields:</strong> `), _tmpl$49 = /* @__PURE__ */ template(`<div><strong>Hints:</strong> `), _tmpl$50 = /* @__PURE__ */ template(`<div class=bookmark-folder-edit><input class=bookmark-input placeholder="Bookmark title"><textarea class=bookmark-note-input rows=2 placeholder="Why this bookmark matters"></textarea><textarea class=bookmark-note-input rows=1 placeholder=Intent></textarea><textarea class=bookmark-note-input rows=1 placeholder="Expected content"></textarea><input class=bookmark-input placeholder="Key fields (comma-separated)"><textarea class=bookmark-note-input rows=2 placeholder="Agent hints (one key:value per line)"></textarea><div class=bookmark-item-footer><button class=bookmark-secondary-button type=button>Save edits</button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$51 = /* @__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 type=button></button><button class="bookmark-ghost-button danger"type=button>Remove`), _tmpl$52 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$53 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$54 = /* @__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><textarea class=agent-textarea rows=2 placeholder="Add a note..."></textarea><button class=agent-control-button type=button>Restore`), _tmpl$55 = /* @__PURE__ */ template(`<button class=history-entry><span class=history-entry-title></span><span class=history-entry-url></span><span class=history-entry-time>`), _tmpl$56 = /* @__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">The Diff timeline is a premium feature. Upgrade to see a full history of what changed on this page.</p><div class="premium-inline-actions premium-chat-banner-actions"><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>See Premium`), _tmpl$57 = /* @__PURE__ */ template(`<div>`), _tmpl$58 = /* @__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$59 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$60 = /* @__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$61 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`);
|
|
6352
6479
|
const UNSORTED_FOLDER = {
|
|
6353
6480
|
id: "unsorted",
|
|
6354
6481
|
name: "Unsorted",
|
|
@@ -6409,6 +6536,8 @@ const Sidebar = (props) => {
|
|
|
6409
6536
|
resolveApproval,
|
|
6410
6537
|
createCheckpoint,
|
|
6411
6538
|
restoreCheckpoint,
|
|
6539
|
+
updateCheckpointNote,
|
|
6540
|
+
undoLastAction,
|
|
6412
6541
|
restoreSession
|
|
6413
6542
|
} = useRuntime();
|
|
6414
6543
|
const {
|
|
@@ -6427,6 +6556,7 @@ const Sidebar = (props) => {
|
|
|
6427
6556
|
const {
|
|
6428
6557
|
bookmarksState: bookmarksState2,
|
|
6429
6558
|
saveBookmark,
|
|
6559
|
+
updateBookmark,
|
|
6430
6560
|
removeBookmark,
|
|
6431
6561
|
createFolderWithSummary,
|
|
6432
6562
|
removeFolder,
|
|
@@ -6596,7 +6726,12 @@ ${contextBlock}` : contextBlock);
|
|
|
6596
6726
|
}
|
|
6597
6727
|
};
|
|
6598
6728
|
const [checkpointName, setCheckpointName] = createSignal("");
|
|
6729
|
+
const [checkpointNote, setCheckpointNote] = createSignal("");
|
|
6599
6730
|
const [bookmarkNote, setBookmarkNote] = createSignal("");
|
|
6731
|
+
const [bookmarkIntent, setBookmarkIntent] = createSignal("");
|
|
6732
|
+
const [bookmarkExpectedContent, setBookmarkExpectedContent] = createSignal("");
|
|
6733
|
+
const [bookmarkKeyFields, setBookmarkKeyFields] = createSignal("");
|
|
6734
|
+
const [bookmarkAgentHints, setBookmarkAgentHints] = createSignal("");
|
|
6600
6735
|
const [bookmarkSaveExpanded, setBookmarkSaveExpanded] = createSignal(false);
|
|
6601
6736
|
const [selectedFolderId, setSelectedFolderId] = createSignal(UNSORTED_FOLDER.id);
|
|
6602
6737
|
const [newFolderName, setNewFolderName] = createSignal("");
|
|
@@ -6605,6 +6740,13 @@ ${contextBlock}` : contextBlock);
|
|
|
6605
6740
|
const [editingFolderId, setEditingFolderId] = createSignal(null);
|
|
6606
6741
|
const [editingFolderName, setEditingFolderName] = createSignal("");
|
|
6607
6742
|
const [editingFolderSummary, setEditingFolderSummary] = createSignal("");
|
|
6743
|
+
const [editingBookmarkId, setEditingBookmarkId] = createSignal(null);
|
|
6744
|
+
const [editingBookmarkTitle, setEditingBookmarkTitle] = createSignal("");
|
|
6745
|
+
const [editingBookmarkNote, setEditingBookmarkNote] = createSignal("");
|
|
6746
|
+
const [editingBookmarkIntent, setEditingBookmarkIntent] = createSignal("");
|
|
6747
|
+
const [editingBookmarkExpectedContent, setEditingBookmarkExpectedContent] = createSignal("");
|
|
6748
|
+
const [editingBookmarkKeyFields, setEditingBookmarkKeyFields] = createSignal("");
|
|
6749
|
+
const [editingBookmarkAgentHints, setEditingBookmarkAgentHints] = createSignal("");
|
|
6608
6750
|
const [deletingFolderId, setDeletingFolderId] = createSignal(null);
|
|
6609
6751
|
const [expandedFolderIds, setExpandedFolderIds] = createSignal([UNSORTED_FOLDER.id]);
|
|
6610
6752
|
const [actionsExpanded, setActionsExpanded] = createSignal(false);
|
|
@@ -6781,13 +6923,63 @@ ${contextBlock}` : contextBlock);
|
|
|
6781
6923
|
day: "numeric",
|
|
6782
6924
|
year: "numeric"
|
|
6783
6925
|
});
|
|
6926
|
+
const parseBookmarkKeyFields = (value) => {
|
|
6927
|
+
const fields = value.split(",").map((entry) => entry.trim()).filter(Boolean);
|
|
6928
|
+
return fields.length > 0 ? fields : void 0;
|
|
6929
|
+
};
|
|
6930
|
+
const parseBookmarkAgentHints = (value) => {
|
|
6931
|
+
const entries2 = value.split("\n").map((line) => {
|
|
6932
|
+
const separator = line.indexOf(":");
|
|
6933
|
+
if (separator === -1) return null;
|
|
6934
|
+
const key = line.slice(0, separator).trim();
|
|
6935
|
+
const hint = line.slice(separator + 1).trim();
|
|
6936
|
+
return key ? [key, hint] : null;
|
|
6937
|
+
}).filter((entry) => Boolean(entry)).filter(([, hint]) => hint.length > 0);
|
|
6938
|
+
return entries2.length > 0 ? Object.fromEntries(entries2) : void 0;
|
|
6939
|
+
};
|
|
6940
|
+
const formatBookmarkKeyFields = (value) => value?.join(", ") || "";
|
|
6941
|
+
const formatBookmarkAgentHints = (value) => value ? Object.entries(value).map(([key, hint]) => `${key}: ${hint}`).join("\n") : "";
|
|
6942
|
+
const resetBookmarkEditor = () => {
|
|
6943
|
+
setEditingBookmarkId(null);
|
|
6944
|
+
setEditingBookmarkTitle("");
|
|
6945
|
+
setEditingBookmarkNote("");
|
|
6946
|
+
setEditingBookmarkIntent("");
|
|
6947
|
+
setEditingBookmarkExpectedContent("");
|
|
6948
|
+
setEditingBookmarkKeyFields("");
|
|
6949
|
+
setEditingBookmarkAgentHints("");
|
|
6950
|
+
};
|
|
6951
|
+
const startEditingBookmark = (bookmark) => {
|
|
6952
|
+
setEditingBookmarkId(bookmark.id);
|
|
6953
|
+
setEditingBookmarkTitle(bookmark.title || bookmark.url);
|
|
6954
|
+
setEditingBookmarkNote(bookmark.note || "");
|
|
6955
|
+
setEditingBookmarkIntent(bookmark.intent || "");
|
|
6956
|
+
setEditingBookmarkExpectedContent(bookmark.expectedContent || "");
|
|
6957
|
+
setEditingBookmarkKeyFields(formatBookmarkKeyFields(bookmark.keyFields));
|
|
6958
|
+
setEditingBookmarkAgentHints(formatBookmarkAgentHints(bookmark.agentHints));
|
|
6959
|
+
};
|
|
6784
6960
|
const handleSaveBookmark = async () => {
|
|
6785
6961
|
const tab = currentTab();
|
|
6786
6962
|
if (!tab?.url) return;
|
|
6787
|
-
await saveBookmark(tab.url, tab.title?.trim() || tab.url, selectedFolderId(), bookmarkNote());
|
|
6963
|
+
await saveBookmark(tab.url, tab.title?.trim() || tab.url, selectedFolderId(), bookmarkNote(), bookmarkIntent() || void 0, bookmarkExpectedContent() || void 0, parseBookmarkKeyFields(bookmarkKeyFields()), parseBookmarkAgentHints(bookmarkAgentHints()));
|
|
6788
6964
|
setBookmarkNote("");
|
|
6965
|
+
setBookmarkIntent("");
|
|
6966
|
+
setBookmarkExpectedContent("");
|
|
6967
|
+
setBookmarkKeyFields("");
|
|
6968
|
+
setBookmarkAgentHints("");
|
|
6789
6969
|
setBookmarkSaveExpanded(false);
|
|
6790
6970
|
};
|
|
6971
|
+
const handleUpdateBookmark = async (bookmarkId) => {
|
|
6972
|
+
const updated = await updateBookmark(bookmarkId, {
|
|
6973
|
+
title: editingBookmarkTitle(),
|
|
6974
|
+
note: editingBookmarkNote(),
|
|
6975
|
+
intent: editingBookmarkIntent(),
|
|
6976
|
+
expectedContent: editingBookmarkExpectedContent(),
|
|
6977
|
+
keyFields: parseBookmarkKeyFields(editingBookmarkKeyFields()),
|
|
6978
|
+
agentHints: parseBookmarkAgentHints(editingBookmarkAgentHints())
|
|
6979
|
+
});
|
|
6980
|
+
if (!updated) return;
|
|
6981
|
+
resetBookmarkEditor();
|
|
6982
|
+
};
|
|
6791
6983
|
const handleCreateFolder = async (e) => {
|
|
6792
6984
|
e.preventDefault();
|
|
6793
6985
|
const name = newFolderName().trim();
|
|
@@ -6825,14 +7017,22 @@ ${contextBlock}` : contextBlock);
|
|
|
6825
7017
|
setExpandedFolderIds((current) => current.includes(folderId) ? current.filter((id) => id !== folderId) : [...current, folderId]);
|
|
6826
7018
|
};
|
|
6827
7019
|
const isFolderExpanded = (folderId) => normalizedBookmarkSearch().length > 0 || expandedFolderIds().includes(folderId);
|
|
7020
|
+
onMount(() => {
|
|
7021
|
+
const cleanup = window.vessel.ui.onSidebarNavigate((tab) => {
|
|
7022
|
+
if (tab === "supervisor" || tab === "bookmarks" || tab === "checkpoints" || tab === "chat" || tab === "automation" || tab === "history" || tab === "diff") {
|
|
7023
|
+
setSidebarTab(tab);
|
|
7024
|
+
}
|
|
7025
|
+
});
|
|
7026
|
+
onCleanup(cleanup);
|
|
7027
|
+
});
|
|
6828
7028
|
return createComponent(Show, {
|
|
6829
7029
|
get when() {
|
|
6830
7030
|
return props.forceOpen || sidebarOpen2();
|
|
6831
7031
|
},
|
|
6832
7032
|
get children() {
|
|
6833
|
-
var _el$9 = _tmpl$
|
|
7033
|
+
var _el$9 = _tmpl$27$1(), _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild, _el$12 = _el$10.nextSibling, _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$1.nextSibling, _el$16 = _el$15.firstChild;
|
|
6834
7034
|
_el$16.firstChild;
|
|
6835
|
-
var _el$19 = _el$16.nextSibling, _el$20 = _el$19.nextSibling, _el$21 = _el$20.nextSibling, _el$22 = _el$21.nextSibling, _el$23 = _el$22.nextSibling, _el$24 = _el$15.nextSibling, _el$
|
|
7035
|
+
var _el$19 = _el$16.nextSibling, _el$20 = _el$19.nextSibling, _el$21 = _el$20.nextSibling, _el$22 = _el$21.nextSibling, _el$23 = _el$22.nextSibling, _el$24 = _el$23.nextSibling, _el$25 = _el$15.nextSibling, _el$104 = _el$25.firstChild;
|
|
6836
7036
|
_el$0.$$pointerdown = startResize;
|
|
6837
7037
|
setAttribute(_el$11, "src", vesselLogo);
|
|
6838
7038
|
addEventListener(_el$13, "click", clearHistory, true);
|
|
@@ -6853,20 +7053,21 @@ ${contextBlock}` : contextBlock);
|
|
|
6853
7053
|
_el$21.$$click = () => setSidebarTab("chat");
|
|
6854
7054
|
_el$22.$$click = () => setSidebarTab("automation");
|
|
6855
7055
|
_el$23.$$click = () => setSidebarTab("history");
|
|
7056
|
+
_el$24.$$click = () => setSidebarTab("diff");
|
|
6856
7057
|
use((el) => {
|
|
6857
7058
|
messagesContainerRef = el;
|
|
6858
7059
|
useScrollFade(el);
|
|
6859
|
-
}, _el$
|
|
6860
|
-
insert(_el$
|
|
7060
|
+
}, _el$25);
|
|
7061
|
+
insert(_el$25, createComponent(Show, {
|
|
6861
7062
|
get when() {
|
|
6862
7063
|
return sidebarTab() === "supervisor";
|
|
6863
7064
|
},
|
|
6864
7065
|
get children() {
|
|
6865
|
-
var _el$
|
|
6866
|
-
_el$
|
|
6867
|
-
insert(_el$
|
|
6868
|
-
insert(_el$
|
|
6869
|
-
insert(_el$
|
|
7066
|
+
var _el$26 = _tmpl$7$2(), _el$27 = _el$26.firstChild, _el$28 = _el$27.firstChild, _el$29 = _el$28.firstChild, _el$30 = _el$29.nextSibling, _el$31 = _el$28.nextSibling, _el$32 = _el$27.nextSibling, _el$33 = _el$32.firstChild, _el$34 = _el$33.nextSibling, _el$36 = _el$32.nextSibling, _el$38 = _el$36.nextSibling;
|
|
7067
|
+
_el$38.firstChild;
|
|
7068
|
+
insert(_el$30, () => runtimeState2().supervisor.paused ? "Agent is paused" : "Agent is live");
|
|
7069
|
+
insert(_el$31, () => runtimeState2().supervisor.paused ? "Paused" : "Running");
|
|
7070
|
+
insert(_el$32, createComponent(DropdownSelect, {
|
|
6870
7071
|
"class": "agent-select",
|
|
6871
7072
|
get value() {
|
|
6872
7073
|
return runtimeState2().supervisor.approvalMode;
|
|
@@ -6876,55 +7077,66 @@ ${contextBlock}` : contextBlock);
|
|
|
6876
7077
|
},
|
|
6877
7078
|
ariaLabel: "Approval mode",
|
|
6878
7079
|
onChange: (value) => void setApprovalMode(value)
|
|
6879
|
-
}), _el$
|
|
6880
|
-
_el$
|
|
6881
|
-
insert(_el$
|
|
6882
|
-
_el$
|
|
6883
|
-
insert(_el$
|
|
6884
|
-
|
|
7080
|
+
}), _el$33);
|
|
7081
|
+
_el$33.$$click = () => void (runtimeState2().supervisor.paused ? resume() : pause());
|
|
7082
|
+
insert(_el$33, () => runtimeState2().supervisor.paused ? "Resume" : "Pause");
|
|
7083
|
+
_el$34.$$click = () => void restoreSession();
|
|
7084
|
+
insert(_el$32, createComponent(Show, {
|
|
7085
|
+
get when() {
|
|
7086
|
+
return runtimeState2().canUndo;
|
|
7087
|
+
},
|
|
7088
|
+
get children() {
|
|
7089
|
+
var _el$35 = _tmpl$4$3();
|
|
7090
|
+
_el$35.$$click = () => void undoLastAction();
|
|
7091
|
+
createRenderEffect(() => setAttribute(_el$35, "title", runtimeState2().undoInfo ? `Undo: ${runtimeState2().undoInfo.actionName}` : "Undo last action"));
|
|
7092
|
+
return _el$35;
|
|
7093
|
+
}
|
|
7094
|
+
}), null);
|
|
7095
|
+
insert(_el$36, approvalModeDescription);
|
|
7096
|
+
insert(_el$26, createComponent(Show, {
|
|
6885
7097
|
get when() {
|
|
6886
7098
|
return runtimeState2().supervisor.pendingApprovals.length > 0;
|
|
6887
7099
|
},
|
|
6888
7100
|
get fallback() {
|
|
6889
|
-
return _tmpl$
|
|
7101
|
+
return _tmpl$28$1();
|
|
6890
7102
|
},
|
|
6891
7103
|
get children() {
|
|
6892
|
-
return [_tmpl$
|
|
7104
|
+
return [_tmpl$5$3(), createComponent(For, {
|
|
6893
7105
|
get each() {
|
|
6894
7106
|
return runtimeState2().supervisor.pendingApprovals;
|
|
6895
7107
|
},
|
|
6896
7108
|
children: (approval) => (() => {
|
|
6897
|
-
var _el$
|
|
6898
|
-
insert(_el$
|
|
6899
|
-
insert(_el$
|
|
6900
|
-
insert(_el$
|
|
6901
|
-
_el$
|
|
6902
|
-
_el$
|
|
6903
|
-
return _el$
|
|
7109
|
+
var _el$122 = _tmpl$29$1(), _el$123 = _el$122.firstChild, _el$124 = _el$123.nextSibling, _el$125 = _el$124.nextSibling, _el$126 = _el$125.nextSibling, _el$127 = _el$126.nextSibling, _el$128 = _el$127.firstChild, _el$129 = _el$128.nextSibling;
|
|
7110
|
+
insert(_el$124, () => approval.name);
|
|
7111
|
+
insert(_el$125, () => approval.argsSummary);
|
|
7112
|
+
insert(_el$126, () => approval.reason);
|
|
7113
|
+
_el$128.$$click = () => void resolveApproval(approval.id, true);
|
|
7114
|
+
_el$129.$$click = () => void resolveApproval(approval.id, false);
|
|
7115
|
+
return _el$122;
|
|
6904
7116
|
})()
|
|
6905
7117
|
})];
|
|
6906
7118
|
}
|
|
6907
|
-
}), _el$
|
|
6908
|
-
insert(_el$
|
|
7119
|
+
}), _el$38);
|
|
7120
|
+
insert(_el$38, createComponent(Show, {
|
|
6909
7121
|
get when() {
|
|
6910
7122
|
return recentActions().length > 0;
|
|
6911
7123
|
},
|
|
6912
7124
|
get children() {
|
|
6913
|
-
var _el$
|
|
6914
|
-
_el$
|
|
6915
|
-
insert(_el$
|
|
7125
|
+
var _el$40 = _tmpl$6$3();
|
|
7126
|
+
_el$40.$$click = () => setActionsExpanded((current) => !current);
|
|
7127
|
+
insert(_el$40, (() => {
|
|
6916
7128
|
var _c$ = memo(() => !!actionsExpanded());
|
|
6917
7129
|
return () => _c$() ? "Hide history" : `Show history (${recentActions().length})`;
|
|
6918
7130
|
})());
|
|
6919
|
-
return _el$
|
|
7131
|
+
return _el$40;
|
|
6920
7132
|
}
|
|
6921
7133
|
}), null);
|
|
6922
|
-
insert(_el$
|
|
7134
|
+
insert(_el$26, createComponent(Show, {
|
|
6923
7135
|
get when() {
|
|
6924
7136
|
return recentActions().length > 0;
|
|
6925
7137
|
},
|
|
6926
7138
|
get fallback() {
|
|
6927
|
-
return _tmpl$
|
|
7139
|
+
return _tmpl$30$1();
|
|
6928
7140
|
},
|
|
6929
7141
|
get children() {
|
|
6930
7142
|
return createComponent(Show, {
|
|
@@ -6932,7 +7144,7 @@ ${contextBlock}` : contextBlock);
|
|
|
6932
7144
|
return actionsExpanded();
|
|
6933
7145
|
},
|
|
6934
7146
|
get fallback() {
|
|
6935
|
-
return _tmpl$
|
|
7147
|
+
return _tmpl$31$1();
|
|
6936
7148
|
},
|
|
6937
7149
|
get children() {
|
|
6938
7150
|
return createComponent(For, {
|
|
@@ -6940,71 +7152,71 @@ ${contextBlock}` : contextBlock);
|
|
|
6940
7152
|
return recentActions();
|
|
6941
7153
|
},
|
|
6942
7154
|
children: (action) => (() => {
|
|
6943
|
-
var _el$
|
|
6944
|
-
insert(_el$
|
|
6945
|
-
insert(_el$
|
|
6946
|
-
insert(_el$
|
|
6947
|
-
insert(_el$
|
|
7155
|
+
var _el$132 = _tmpl$34$1(), _el$133 = _el$132.firstChild, _el$134 = _el$133.firstChild, _el$135 = _el$134.nextSibling, _el$136 = _el$133.nextSibling;
|
|
7156
|
+
insert(_el$134, () => action.name);
|
|
7157
|
+
insert(_el$135, () => action.status);
|
|
7158
|
+
insert(_el$136, () => action.argsSummary);
|
|
7159
|
+
insert(_el$132, createComponent(Show, {
|
|
6948
7160
|
get when() {
|
|
6949
7161
|
return action.resultSummary;
|
|
6950
7162
|
},
|
|
6951
7163
|
get children() {
|
|
6952
|
-
var _el$
|
|
6953
|
-
insert(_el$
|
|
6954
|
-
return _el$
|
|
7164
|
+
var _el$137 = _tmpl$32$1();
|
|
7165
|
+
insert(_el$137, () => action.resultSummary);
|
|
7166
|
+
return _el$137;
|
|
6955
7167
|
}
|
|
6956
7168
|
}), null);
|
|
6957
|
-
insert(_el$
|
|
7169
|
+
insert(_el$132, createComponent(Show, {
|
|
6958
7170
|
get when() {
|
|
6959
7171
|
return action.error;
|
|
6960
7172
|
},
|
|
6961
7173
|
get children() {
|
|
6962
|
-
var _el$
|
|
6963
|
-
insert(_el$
|
|
6964
|
-
return _el$
|
|
7174
|
+
var _el$138 = _tmpl$33$1();
|
|
7175
|
+
insert(_el$138, () => action.error);
|
|
7176
|
+
return _el$138;
|
|
6965
7177
|
}
|
|
6966
7178
|
}), null);
|
|
6967
|
-
createRenderEffect(() => className(_el$
|
|
6968
|
-
return _el$
|
|
7179
|
+
createRenderEffect(() => className(_el$135, `agent-action-status ${action.status}`));
|
|
7180
|
+
return _el$132;
|
|
6969
7181
|
})()
|
|
6970
7182
|
});
|
|
6971
7183
|
}
|
|
6972
7184
|
});
|
|
6973
7185
|
}
|
|
6974
7186
|
}), null);
|
|
6975
|
-
createRenderEffect(() => _el$
|
|
6976
|
-
return _el$
|
|
7187
|
+
createRenderEffect(() => _el$31.classList.toggle("paused", !!runtimeState2().supervisor.paused));
|
|
7188
|
+
return _el$26;
|
|
6977
7189
|
}
|
|
6978
|
-
}), _el$
|
|
6979
|
-
insert(_el$
|
|
7190
|
+
}), _el$104);
|
|
7191
|
+
insert(_el$25, createComponent(Show, {
|
|
6980
7192
|
get when() {
|
|
6981
7193
|
return sidebarTab() === "bookmarks";
|
|
6982
7194
|
},
|
|
6983
7195
|
get children() {
|
|
6984
|
-
var _el$
|
|
6985
|
-
insert(_el$
|
|
7196
|
+
var _el$41 = _tmpl$0$2(), _el$42 = _el$41.firstChild, _el$43 = _el$42.firstChild, _el$44 = _el$43.firstChild, _el$45 = _el$44.nextSibling, _el$47 = _el$42.nextSibling, _el$48 = _el$47.nextSibling, _el$49 = _el$48.firstChild, _el$50 = _el$49.firstChild, _el$51 = _el$50.nextSibling, _el$62 = _el$48.nextSibling, _el$63 = _el$62.firstChild, _el$64 = _el$63.firstChild, _el$65 = _el$64.nextSibling, _el$66 = _el$63.nextSibling, _el$67 = _el$62.nextSibling;
|
|
7197
|
+
insert(_el$45, (() => {
|
|
6986
7198
|
var _c$2 = memo(() => !!normalizedBookmarkSearch());
|
|
6987
7199
|
return () => _c$2() ? `${bookmarkMatchCount()} matches for "${bookmarkSearchQuery().trim()}"` : `${bookmarksState2().bookmarks.length} saved across ${bookmarkFolders().length} folders`;
|
|
6988
7200
|
})());
|
|
6989
|
-
insert(_el$
|
|
7201
|
+
insert(_el$42, createComponent(Show, {
|
|
6990
7202
|
get when() {
|
|
6991
7203
|
return currentTabSaved();
|
|
6992
7204
|
},
|
|
6993
7205
|
get children() {
|
|
6994
|
-
return _tmpl$
|
|
7206
|
+
return _tmpl$8$2();
|
|
6995
7207
|
}
|
|
6996
7208
|
}), null);
|
|
6997
|
-
_el$
|
|
6998
|
-
_el$
|
|
6999
|
-
insert(_el$
|
|
7209
|
+
_el$47.$$input = (e) => setBookmarkSearchQuery(e.currentTarget.value);
|
|
7210
|
+
_el$49.$$click = () => setBookmarkSaveExpanded((current) => !current);
|
|
7211
|
+
insert(_el$48, createComponent(Show, {
|
|
7000
7212
|
get when() {
|
|
7001
7213
|
return bookmarkSaveExpanded();
|
|
7002
7214
|
},
|
|
7003
7215
|
get children() {
|
|
7004
|
-
var _el$
|
|
7005
|
-
insert(_el$
|
|
7006
|
-
insert(_el$
|
|
7007
|
-
insert(_el$
|
|
7216
|
+
var _el$52 = _tmpl$9$2(), _el$53 = _el$52.firstChild, _el$54 = _el$53.nextSibling, _el$55 = _el$54.nextSibling, _el$56 = _el$55.firstChild, _el$57 = _el$55.nextSibling, _el$58 = _el$57.nextSibling, _el$59 = _el$58.nextSibling, _el$60 = _el$59.nextSibling, _el$61 = _el$60.nextSibling;
|
|
7217
|
+
insert(_el$53, () => currentTab()?.title || "No active page");
|
|
7218
|
+
insert(_el$54, () => currentTab()?.url || "Open a page to save it here.");
|
|
7219
|
+
insert(_el$55, createComponent(DropdownSelect, {
|
|
7008
7220
|
"class": "bookmark-select",
|
|
7009
7221
|
get value() {
|
|
7010
7222
|
return selectedFolderId();
|
|
@@ -7014,29 +7226,37 @@ ${contextBlock}` : contextBlock);
|
|
|
7014
7226
|
},
|
|
7015
7227
|
ariaLabel: "Bookmark folder",
|
|
7016
7228
|
onChange: (value) => setSelectedFolderId(value)
|
|
7017
|
-
}), _el$
|
|
7018
|
-
_el$
|
|
7019
|
-
_el$
|
|
7020
|
-
|
|
7021
|
-
|
|
7022
|
-
|
|
7229
|
+
}), _el$56);
|
|
7230
|
+
_el$56.$$click = () => void handleSaveBookmark();
|
|
7231
|
+
_el$57.$$input = (e) => setBookmarkNote(e.currentTarget.value);
|
|
7232
|
+
_el$58.$$input = (e) => setBookmarkIntent(e.currentTarget.value);
|
|
7233
|
+
_el$59.$$input = (e) => setBookmarkExpectedContent(e.currentTarget.value);
|
|
7234
|
+
_el$60.$$input = (e) => setBookmarkKeyFields(e.currentTarget.value);
|
|
7235
|
+
_el$61.$$input = (e) => setBookmarkAgentHints(e.currentTarget.value);
|
|
7236
|
+
createRenderEffect(() => _el$56.disabled = !currentTab()?.url);
|
|
7237
|
+
createRenderEffect(() => _el$57.value = bookmarkNote());
|
|
7238
|
+
createRenderEffect(() => _el$58.value = bookmarkIntent());
|
|
7239
|
+
createRenderEffect(() => _el$59.value = bookmarkExpectedContent());
|
|
7240
|
+
createRenderEffect(() => _el$60.value = bookmarkKeyFields());
|
|
7241
|
+
createRenderEffect(() => _el$61.value = bookmarkAgentHints());
|
|
7242
|
+
return _el$52;
|
|
7023
7243
|
}
|
|
7024
7244
|
}), null);
|
|
7025
|
-
_el$
|
|
7026
|
-
_el$
|
|
7027
|
-
_el$
|
|
7028
|
-
insert(_el$
|
|
7245
|
+
_el$62.addEventListener("submit", handleCreateFolder);
|
|
7246
|
+
_el$64.$$input = (e) => setNewFolderName(e.currentTarget.value);
|
|
7247
|
+
_el$65.$$input = (e) => setNewFolderSummary(e.currentTarget.value);
|
|
7248
|
+
insert(_el$67, createComponent(Show, {
|
|
7029
7249
|
get when() {
|
|
7030
7250
|
return filteredGroupedBookmarks().length > 0;
|
|
7031
7251
|
},
|
|
7032
7252
|
get fallback() {
|
|
7033
7253
|
return (() => {
|
|
7034
|
-
var _el$
|
|
7035
|
-
insert(_el$
|
|
7254
|
+
var _el$139 = _tmpl$35$1();
|
|
7255
|
+
insert(_el$139, (() => {
|
|
7036
7256
|
var _c$5 = memo(() => !!normalizedBookmarkSearch());
|
|
7037
7257
|
return () => _c$5() ? `No bookmarks matched "${bookmarkSearchQuery().trim()}".` : "No bookmarks saved yet.";
|
|
7038
7258
|
})());
|
|
7039
|
-
return _el$
|
|
7259
|
+
return _el$139;
|
|
7040
7260
|
})();
|
|
7041
7261
|
},
|
|
7042
7262
|
get children() {
|
|
@@ -7045,100 +7265,100 @@ ${contextBlock}` : contextBlock);
|
|
|
7045
7265
|
return filteredGroupedBookmarks();
|
|
7046
7266
|
},
|
|
7047
7267
|
children: (folder) => (() => {
|
|
7048
|
-
var _el$
|
|
7049
|
-
_el$
|
|
7268
|
+
var _el$140 = _tmpl$42$1(), _el$141 = _el$140.firstChild, _el$142 = _el$141.firstChild, _el$143 = _el$142.firstChild, _el$144 = _el$143.nextSibling, _el$145 = _el$144.firstChild, _el$146 = _el$145.nextSibling, _el$147 = _el$146.firstChild;
|
|
7269
|
+
_el$141.$$keydown = (e) => {
|
|
7050
7270
|
if (e.key === "Enter" || e.key === " ") {
|
|
7051
7271
|
e.preventDefault();
|
|
7052
7272
|
toggleFolderExpanded(folder.id);
|
|
7053
7273
|
}
|
|
7054
7274
|
};
|
|
7055
|
-
_el$
|
|
7056
|
-
insert(_el$
|
|
7057
|
-
insert(_el$
|
|
7058
|
-
insert(_el$
|
|
7275
|
+
_el$141.$$click = () => toggleFolderExpanded(folder.id);
|
|
7276
|
+
insert(_el$145, () => folder.name);
|
|
7277
|
+
insert(_el$146, () => folder.items.length, _el$147);
|
|
7278
|
+
insert(_el$144, createComponent(Show, {
|
|
7059
7279
|
get when() {
|
|
7060
7280
|
return folder.summary;
|
|
7061
7281
|
},
|
|
7062
7282
|
get children() {
|
|
7063
|
-
var _el$
|
|
7064
|
-
insert(_el$
|
|
7065
|
-
return _el$
|
|
7283
|
+
var _el$148 = _tmpl$36$1();
|
|
7284
|
+
insert(_el$148, () => folder.summary);
|
|
7285
|
+
return _el$148;
|
|
7066
7286
|
}
|
|
7067
7287
|
}), null);
|
|
7068
|
-
insert(_el$
|
|
7288
|
+
insert(_el$141, createComponent(Show, {
|
|
7069
7289
|
get when() {
|
|
7070
7290
|
return folder.id !== UNSORTED_FOLDER.id;
|
|
7071
7291
|
},
|
|
7072
7292
|
get children() {
|
|
7073
|
-
var _el$
|
|
7074
|
-
_el$
|
|
7293
|
+
var _el$149 = _tmpl$37$1(), _el$150 = _el$149.firstChild, _el$151 = _el$150.nextSibling;
|
|
7294
|
+
_el$150.$$click = (e) => {
|
|
7075
7295
|
e.stopPropagation();
|
|
7076
7296
|
setEditingFolderId(folder.id);
|
|
7077
7297
|
setEditingFolderName(folder.name);
|
|
7078
7298
|
setEditingFolderSummary(folder.summary || "");
|
|
7079
7299
|
};
|
|
7080
|
-
_el$
|
|
7300
|
+
_el$151.$$click = (e) => {
|
|
7081
7301
|
e.stopPropagation();
|
|
7082
7302
|
setDeletingFolderId(folder.id);
|
|
7083
7303
|
};
|
|
7084
|
-
return _el$
|
|
7304
|
+
return _el$149;
|
|
7085
7305
|
}
|
|
7086
7306
|
}), null);
|
|
7087
|
-
insert(_el$
|
|
7307
|
+
insert(_el$140, createComponent(Show, {
|
|
7088
7308
|
get when() {
|
|
7089
7309
|
return deletingFolderId() === folder.id;
|
|
7090
7310
|
},
|
|
7091
7311
|
get children() {
|
|
7092
|
-
var _el$
|
|
7093
|
-
_el$
|
|
7094
|
-
var _el$
|
|
7095
|
-
insert(_el$
|
|
7096
|
-
insert(_el$
|
|
7312
|
+
var _el$152 = _tmpl$39$1(), _el$153 = _el$152.firstChild, _el$154 = _el$153.firstChild, _el$156 = _el$154.nextSibling;
|
|
7313
|
+
_el$156.nextSibling;
|
|
7314
|
+
var _el$157 = _el$153.nextSibling, _el$159 = _el$157.firstChild, _el$160 = _el$159.nextSibling;
|
|
7315
|
+
insert(_el$153, () => folder.name, _el$156);
|
|
7316
|
+
insert(_el$153, (() => {
|
|
7097
7317
|
var _c$6 = memo(() => folder.items.length > 0);
|
|
7098
7318
|
return () => _c$6() ? ` This folder has ${folder.items.length} bookmark${folder.items.length === 1 ? "" : "s"}.` : "";
|
|
7099
7319
|
})(), null);
|
|
7100
|
-
insert(_el$
|
|
7320
|
+
insert(_el$157, createComponent(Show, {
|
|
7101
7321
|
get when() {
|
|
7102
7322
|
return folder.items.length > 0;
|
|
7103
7323
|
},
|
|
7104
7324
|
get children() {
|
|
7105
|
-
var _el$
|
|
7106
|
-
_el$
|
|
7107
|
-
return _el$
|
|
7325
|
+
var _el$158 = _tmpl$38$1();
|
|
7326
|
+
_el$158.$$click = () => void handleRemoveFolder(folder.id, false);
|
|
7327
|
+
return _el$158;
|
|
7108
7328
|
}
|
|
7109
|
-
}), _el$
|
|
7110
|
-
_el$
|
|
7111
|
-
insert(_el$
|
|
7112
|
-
_el$
|
|
7113
|
-
return _el$
|
|
7329
|
+
}), _el$159);
|
|
7330
|
+
_el$159.$$click = () => void handleRemoveFolder(folder.id, true);
|
|
7331
|
+
insert(_el$159, () => folder.items.length > 0 ? "Delete all" : "Delete folder");
|
|
7332
|
+
_el$160.$$click = () => setDeletingFolderId(null);
|
|
7333
|
+
return _el$152;
|
|
7114
7334
|
}
|
|
7115
7335
|
}), null);
|
|
7116
|
-
insert(_el$
|
|
7336
|
+
insert(_el$140, createComponent(Show, {
|
|
7117
7337
|
get when() {
|
|
7118
7338
|
return editingFolderId() === folder.id;
|
|
7119
7339
|
},
|
|
7120
7340
|
get children() {
|
|
7121
|
-
var _el$
|
|
7122
|
-
_el$
|
|
7123
|
-
_el$
|
|
7124
|
-
_el$
|
|
7125
|
-
_el$
|
|
7341
|
+
var _el$161 = _tmpl$40$1(), _el$162 = _el$161.firstChild, _el$163 = _el$162.firstChild, _el$164 = _el$163.nextSibling, _el$165 = _el$162.nextSibling, _el$166 = _el$165.nextSibling;
|
|
7342
|
+
_el$163.$$input = (e) => setEditingFolderName(e.currentTarget.value);
|
|
7343
|
+
_el$164.$$input = (e) => setEditingFolderSummary(e.currentTarget.value);
|
|
7344
|
+
_el$165.$$click = () => void handleRenameFolder(folder.id);
|
|
7345
|
+
_el$166.$$click = () => {
|
|
7126
7346
|
setEditingFolderId(null);
|
|
7127
7347
|
setEditingFolderName("");
|
|
7128
7348
|
setEditingFolderSummary("");
|
|
7129
7349
|
};
|
|
7130
|
-
createRenderEffect(() => _el$
|
|
7131
|
-
createRenderEffect(() => _el$
|
|
7132
|
-
createRenderEffect(() => _el$
|
|
7133
|
-
return _el$
|
|
7350
|
+
createRenderEffect(() => _el$165.disabled = !editingFolderName().trim());
|
|
7351
|
+
createRenderEffect(() => _el$163.value = editingFolderName());
|
|
7352
|
+
createRenderEffect(() => _el$164.value = editingFolderSummary());
|
|
7353
|
+
return _el$161;
|
|
7134
7354
|
}
|
|
7135
7355
|
}), null);
|
|
7136
|
-
insert(_el$
|
|
7356
|
+
insert(_el$140, createComponent(Show, {
|
|
7137
7357
|
get when() {
|
|
7138
7358
|
return isFolderExpanded(folder.id);
|
|
7139
7359
|
},
|
|
7140
7360
|
get fallback() {
|
|
7141
|
-
return _tmpl$
|
|
7361
|
+
return _tmpl$43();
|
|
7142
7362
|
},
|
|
7143
7363
|
get children() {
|
|
7144
7364
|
return createComponent(Show, {
|
|
@@ -7146,116 +7366,204 @@ ${contextBlock}` : contextBlock);
|
|
|
7146
7366
|
return folder.items.length > 0;
|
|
7147
7367
|
},
|
|
7148
7368
|
get fallback() {
|
|
7149
|
-
return _tmpl$
|
|
7369
|
+
return _tmpl$44();
|
|
7150
7370
|
},
|
|
7151
7371
|
get children() {
|
|
7152
|
-
var _el$
|
|
7153
|
-
insert(_el$
|
|
7372
|
+
var _el$167 = _tmpl$41$1();
|
|
7373
|
+
insert(_el$167, createComponent(For, {
|
|
7154
7374
|
get each() {
|
|
7155
7375
|
return folder.items;
|
|
7156
7376
|
},
|
|
7157
7377
|
children: (bookmark) => (() => {
|
|
7158
|
-
var _el$
|
|
7159
|
-
_el$
|
|
7160
|
-
insert(_el$
|
|
7161
|
-
insert(_el$
|
|
7162
|
-
insert(_el$
|
|
7378
|
+
var _el$170 = _tmpl$51(), _el$171 = _el$170.firstChild, _el$172 = _el$171.firstChild, _el$173 = _el$172.nextSibling, _el$198 = _el$171.nextSibling, _el$199 = _el$198.firstChild, _el$200 = _el$199.nextSibling, _el$201 = _el$200.nextSibling;
|
|
7379
|
+
_el$171.$$click = () => void createTab(bookmark.url);
|
|
7380
|
+
insert(_el$172, () => bookmark.title || bookmark.url);
|
|
7381
|
+
insert(_el$173, () => bookmark.url);
|
|
7382
|
+
insert(_el$170, createComponent(Show, {
|
|
7163
7383
|
get when() {
|
|
7164
7384
|
return bookmark.note;
|
|
7165
7385
|
},
|
|
7166
7386
|
get children() {
|
|
7167
|
-
var _el$
|
|
7168
|
-
insert(_el$
|
|
7169
|
-
return _el$
|
|
7387
|
+
var _el$174 = _tmpl$45();
|
|
7388
|
+
insert(_el$174, () => bookmark.note);
|
|
7389
|
+
return _el$174;
|
|
7390
|
+
}
|
|
7391
|
+
}), _el$198);
|
|
7392
|
+
insert(_el$170, createComponent(Show, {
|
|
7393
|
+
get when() {
|
|
7394
|
+
return bookmark.intent || bookmark.expectedContent || (bookmark.keyFields?.length || 0) > 0 || (bookmark.agentHints && Object.keys(bookmark.agentHints).length || 0) > 0;
|
|
7395
|
+
},
|
|
7396
|
+
get children() {
|
|
7397
|
+
var _el$175 = _tmpl$45();
|
|
7398
|
+
insert(_el$175, createComponent(Show, {
|
|
7399
|
+
get when() {
|
|
7400
|
+
return bookmark.intent;
|
|
7401
|
+
},
|
|
7402
|
+
get children() {
|
|
7403
|
+
var _el$176 = _tmpl$46(), _el$177 = _el$176.firstChild;
|
|
7404
|
+
_el$177.nextSibling;
|
|
7405
|
+
insert(_el$176, () => bookmark.intent, null);
|
|
7406
|
+
return _el$176;
|
|
7407
|
+
}
|
|
7408
|
+
}), null);
|
|
7409
|
+
insert(_el$175, createComponent(Show, {
|
|
7410
|
+
get when() {
|
|
7411
|
+
return bookmark.expectedContent;
|
|
7412
|
+
},
|
|
7413
|
+
get children() {
|
|
7414
|
+
var _el$179 = _tmpl$47(), _el$180 = _el$179.firstChild;
|
|
7415
|
+
_el$180.nextSibling;
|
|
7416
|
+
insert(_el$179, () => bookmark.expectedContent, null);
|
|
7417
|
+
return _el$179;
|
|
7418
|
+
}
|
|
7419
|
+
}), null);
|
|
7420
|
+
insert(_el$175, createComponent(Show, {
|
|
7421
|
+
get when() {
|
|
7422
|
+
return (bookmark.keyFields?.length || 0) > 0;
|
|
7423
|
+
},
|
|
7424
|
+
get children() {
|
|
7425
|
+
var _el$182 = _tmpl$48(), _el$183 = _el$182.firstChild;
|
|
7426
|
+
_el$183.nextSibling;
|
|
7427
|
+
insert(_el$182, () => bookmark.keyFields?.join(", "), null);
|
|
7428
|
+
return _el$182;
|
|
7429
|
+
}
|
|
7430
|
+
}), null);
|
|
7431
|
+
insert(_el$175, createComponent(Show, {
|
|
7432
|
+
get when() {
|
|
7433
|
+
return memo(() => !!bookmark.agentHints)() && Object.keys(bookmark.agentHints).length > 0;
|
|
7434
|
+
},
|
|
7435
|
+
get children() {
|
|
7436
|
+
var _el$185 = _tmpl$49(), _el$186 = _el$185.firstChild;
|
|
7437
|
+
_el$186.nextSibling;
|
|
7438
|
+
insert(_el$185, () => Object.entries(bookmark.agentHints || {}).map(([key, hint]) => `${key}: ${hint}`).join(" • "), null);
|
|
7439
|
+
return _el$185;
|
|
7440
|
+
}
|
|
7441
|
+
}), null);
|
|
7442
|
+
return _el$175;
|
|
7443
|
+
}
|
|
7444
|
+
}), _el$198);
|
|
7445
|
+
insert(_el$170, createComponent(Show, {
|
|
7446
|
+
get when() {
|
|
7447
|
+
return editingBookmarkId() === bookmark.id;
|
|
7448
|
+
},
|
|
7449
|
+
get children() {
|
|
7450
|
+
var _el$188 = _tmpl$50(), _el$189 = _el$188.firstChild, _el$190 = _el$189.nextSibling, _el$191 = _el$190.nextSibling, _el$192 = _el$191.nextSibling, _el$193 = _el$192.nextSibling, _el$194 = _el$193.nextSibling, _el$195 = _el$194.nextSibling, _el$196 = _el$195.firstChild, _el$197 = _el$196.nextSibling;
|
|
7451
|
+
_el$189.$$input = (e) => setEditingBookmarkTitle(e.currentTarget.value);
|
|
7452
|
+
_el$190.$$input = (e) => setEditingBookmarkNote(e.currentTarget.value);
|
|
7453
|
+
_el$191.$$input = (e) => setEditingBookmarkIntent(e.currentTarget.value);
|
|
7454
|
+
_el$192.$$input = (e) => setEditingBookmarkExpectedContent(e.currentTarget.value);
|
|
7455
|
+
_el$193.$$input = (e) => setEditingBookmarkKeyFields(e.currentTarget.value);
|
|
7456
|
+
_el$194.$$input = (e) => setEditingBookmarkAgentHints(e.currentTarget.value);
|
|
7457
|
+
_el$196.$$click = () => void handleUpdateBookmark(bookmark.id);
|
|
7458
|
+
_el$197.$$click = resetBookmarkEditor;
|
|
7459
|
+
createRenderEffect(() => _el$189.value = editingBookmarkTitle());
|
|
7460
|
+
createRenderEffect(() => _el$190.value = editingBookmarkNote());
|
|
7461
|
+
createRenderEffect(() => _el$191.value = editingBookmarkIntent());
|
|
7462
|
+
createRenderEffect(() => _el$192.value = editingBookmarkExpectedContent());
|
|
7463
|
+
createRenderEffect(() => _el$193.value = editingBookmarkKeyFields());
|
|
7464
|
+
createRenderEffect(() => _el$194.value = editingBookmarkAgentHints());
|
|
7465
|
+
return _el$188;
|
|
7466
|
+
}
|
|
7467
|
+
}), _el$198);
|
|
7468
|
+
insert(_el$199, () => formatBookmarkDate(bookmark.savedAt));
|
|
7469
|
+
_el$200.$$click = () => editingBookmarkId() === bookmark.id ? resetBookmarkEditor() : startEditingBookmark(bookmark);
|
|
7470
|
+
insert(_el$200, () => editingBookmarkId() === bookmark.id ? "Close" : "Edit");
|
|
7471
|
+
_el$201.$$click = () => {
|
|
7472
|
+
if (editingBookmarkId() === bookmark.id) {
|
|
7473
|
+
resetBookmarkEditor();
|
|
7170
7474
|
}
|
|
7171
|
-
|
|
7172
|
-
|
|
7173
|
-
|
|
7174
|
-
|
|
7175
|
-
return _el$159;
|
|
7475
|
+
void removeBookmark(bookmark.id);
|
|
7476
|
+
};
|
|
7477
|
+
createRenderEffect(() => setAttribute(_el$170, "data-bookmark-id", bookmark.id));
|
|
7478
|
+
return _el$170;
|
|
7176
7479
|
})()
|
|
7177
7480
|
}));
|
|
7178
|
-
return _el$
|
|
7481
|
+
return _el$167;
|
|
7179
7482
|
}
|
|
7180
7483
|
});
|
|
7181
7484
|
}
|
|
7182
7485
|
}), null);
|
|
7183
|
-
createRenderEffect(() => _el$
|
|
7184
|
-
return _el$
|
|
7486
|
+
createRenderEffect(() => _el$143.classList.toggle("expanded", !!isFolderExpanded(folder.id)));
|
|
7487
|
+
return _el$140;
|
|
7185
7488
|
})()
|
|
7186
7489
|
});
|
|
7187
7490
|
}
|
|
7188
7491
|
}));
|
|
7189
7492
|
createRenderEffect((_p$) => {
|
|
7190
7493
|
var _v$ = !!bookmarkSaveExpanded(), _v$2 = !newFolderName().trim();
|
|
7191
|
-
_v$ !== _p$.e && _el$
|
|
7192
|
-
_v$2 !== _p$.t && (_el$
|
|
7494
|
+
_v$ !== _p$.e && _el$51.classList.toggle("expanded", _p$.e = _v$);
|
|
7495
|
+
_v$2 !== _p$.t && (_el$66.disabled = _p$.t = _v$2);
|
|
7193
7496
|
return _p$;
|
|
7194
7497
|
}, {
|
|
7195
7498
|
e: void 0,
|
|
7196
7499
|
t: void 0
|
|
7197
7500
|
});
|
|
7198
|
-
createRenderEffect(() => _el$
|
|
7199
|
-
createRenderEffect(() => _el$
|
|
7200
|
-
createRenderEffect(() => _el$
|
|
7201
|
-
return _el$
|
|
7501
|
+
createRenderEffect(() => _el$47.value = bookmarkSearchQuery());
|
|
7502
|
+
createRenderEffect(() => _el$64.value = newFolderName());
|
|
7503
|
+
createRenderEffect(() => _el$65.value = newFolderSummary());
|
|
7504
|
+
return _el$41;
|
|
7202
7505
|
}
|
|
7203
|
-
}), _el$
|
|
7204
|
-
insert(_el$
|
|
7506
|
+
}), _el$104);
|
|
7507
|
+
insert(_el$25, createComponent(Show, {
|
|
7205
7508
|
get when() {
|
|
7206
7509
|
return sidebarTab() === "checkpoints";
|
|
7207
7510
|
},
|
|
7208
7511
|
get children() {
|
|
7209
|
-
var _el$
|
|
7210
|
-
_el$
|
|
7211
|
-
insert(_el$
|
|
7512
|
+
var _el$68 = _tmpl$10$2(), _el$69 = _el$68.firstChild, _el$70 = _el$69.firstChild, _el$71 = _el$70.firstChild, _el$72 = _el$71.nextSibling, _el$73 = _el$69.nextSibling, _el$74 = _el$73.firstChild, _el$75 = _el$74.firstChild, _el$76 = _el$75.nextSibling, _el$77 = _el$76.nextSibling;
|
|
7513
|
+
_el$74.nextSibling;
|
|
7514
|
+
insert(_el$72, (() => {
|
|
7212
7515
|
var _c$3 = memo(() => recentCheckpoints().length > 0);
|
|
7213
7516
|
return () => _c$3() ? `${recentCheckpoints().length} saved snapshots` : "Save and restore session snapshots";
|
|
7214
7517
|
})());
|
|
7215
|
-
_el$
|
|
7216
|
-
_el$
|
|
7518
|
+
_el$75.$$input = (e) => setCheckpointName(e.currentTarget.value);
|
|
7519
|
+
_el$76.$$input = (e) => setCheckpointNote(e.currentTarget.value);
|
|
7520
|
+
_el$77.$$click = async () => {
|
|
7217
7521
|
const name = checkpointName().trim();
|
|
7218
|
-
await createCheckpoint(name || void 0);
|
|
7522
|
+
await createCheckpoint(name || void 0, checkpointNote() || void 0);
|
|
7219
7523
|
setCheckpointName("");
|
|
7524
|
+
setCheckpointNote("");
|
|
7220
7525
|
};
|
|
7221
|
-
insert(_el$
|
|
7526
|
+
insert(_el$73, createComponent(Show, {
|
|
7222
7527
|
get when() {
|
|
7223
7528
|
return recentCheckpoints().length > 0;
|
|
7224
7529
|
},
|
|
7225
7530
|
get fallback() {
|
|
7226
|
-
return _tmpl$
|
|
7531
|
+
return _tmpl$52();
|
|
7227
7532
|
},
|
|
7228
7533
|
get children() {
|
|
7229
|
-
var _el$
|
|
7230
|
-
insert(_el$
|
|
7534
|
+
var _el$79 = _tmpl$1$2();
|
|
7535
|
+
insert(_el$79, createComponent(For, {
|
|
7231
7536
|
get each() {
|
|
7232
7537
|
return recentCheckpoints();
|
|
7233
7538
|
},
|
|
7234
7539
|
children: (checkpoint, i) => (() => {
|
|
7235
|
-
var _el$
|
|
7236
|
-
insert(_el$
|
|
7540
|
+
var _el$203 = _tmpl$54(), _el$204 = _el$203.firstChild, _el$205 = _el$204.firstChild, _el$207 = _el$204.nextSibling, _el$208 = _el$207.firstChild, _el$209 = _el$208.nextSibling, _el$210 = _el$209.nextSibling, _el$211 = _el$210.nextSibling;
|
|
7541
|
+
insert(_el$204, createComponent(Show, {
|
|
7237
7542
|
get when() {
|
|
7238
7543
|
return i() < recentCheckpoints().length - 1;
|
|
7239
7544
|
},
|
|
7240
7545
|
get children() {
|
|
7241
|
-
return _tmpl$
|
|
7546
|
+
return _tmpl$53();
|
|
7242
7547
|
}
|
|
7243
7548
|
}), null);
|
|
7244
|
-
insert(_el$
|
|
7245
|
-
insert(_el$
|
|
7246
|
-
_el$
|
|
7247
|
-
|
|
7248
|
-
|
|
7549
|
+
insert(_el$208, () => checkpoint.name);
|
|
7550
|
+
insert(_el$209, () => new Date(checkpoint.createdAt).toLocaleString());
|
|
7551
|
+
_el$210.addEventListener("blur", (e) => void updateCheckpointNote(checkpoint.id, e.currentTarget.value));
|
|
7552
|
+
_el$211.$$click = () => void restoreCheckpoint(checkpoint.id);
|
|
7553
|
+
createRenderEffect(() => _el$205.classList.toggle("latest", !!(i() === 0)));
|
|
7554
|
+
createRenderEffect(() => _el$210.value = checkpoint.note || "");
|
|
7555
|
+
return _el$203;
|
|
7249
7556
|
})()
|
|
7250
7557
|
}));
|
|
7251
|
-
return _el$
|
|
7558
|
+
return _el$79;
|
|
7252
7559
|
}
|
|
7253
7560
|
}), null);
|
|
7254
|
-
createRenderEffect(() => _el$
|
|
7255
|
-
|
|
7561
|
+
createRenderEffect(() => _el$75.value = checkpointName());
|
|
7562
|
+
createRenderEffect(() => _el$76.value = checkpointNote());
|
|
7563
|
+
return _el$68;
|
|
7256
7564
|
}
|
|
7257
|
-
}), _el$
|
|
7258
|
-
insert(_el$
|
|
7565
|
+
}), _el$104);
|
|
7566
|
+
insert(_el$25, createComponent(Show, {
|
|
7259
7567
|
get when() {
|
|
7260
7568
|
return sidebarTab() === "automation";
|
|
7261
7569
|
},
|
|
@@ -7264,41 +7572,68 @@ ${contextBlock}` : contextBlock);
|
|
|
7264
7572
|
onRun: () => setSidebarTab("supervisor")
|
|
7265
7573
|
});
|
|
7266
7574
|
}
|
|
7267
|
-
}), _el$
|
|
7268
|
-
insert(_el$
|
|
7575
|
+
}), _el$104);
|
|
7576
|
+
insert(_el$25, createComponent(Show, {
|
|
7269
7577
|
get when() {
|
|
7270
7578
|
return sidebarTab() === "history";
|
|
7271
7579
|
},
|
|
7272
7580
|
get children() {
|
|
7273
|
-
var _el$
|
|
7274
|
-
_el$
|
|
7581
|
+
var _el$80 = _tmpl$12$2(), _el$81 = _el$80.firstChild, _el$82 = _el$81.firstChild, _el$83 = _el$82.nextSibling, _el$84 = _el$81.nextSibling;
|
|
7582
|
+
_el$83.$$click = async () => {
|
|
7275
7583
|
await history.clear();
|
|
7276
7584
|
};
|
|
7277
|
-
insert(_el$
|
|
7585
|
+
insert(_el$84, createComponent(For, {
|
|
7278
7586
|
get each() {
|
|
7279
7587
|
return history.historyState().entries;
|
|
7280
7588
|
},
|
|
7281
7589
|
children: (entry) => (() => {
|
|
7282
|
-
var _el$
|
|
7283
|
-
_el$
|
|
7284
|
-
insert(_el$
|
|
7285
|
-
insert(_el$
|
|
7286
|
-
insert(_el$
|
|
7287
|
-
return _el$
|
|
7590
|
+
var _el$212 = _tmpl$55(), _el$213 = _el$212.firstChild, _el$214 = _el$213.nextSibling, _el$215 = _el$214.nextSibling;
|
|
7591
|
+
_el$212.$$click = () => createTab(entry.url);
|
|
7592
|
+
insert(_el$213, () => entry.title || entry.url);
|
|
7593
|
+
insert(_el$214, () => entry.url);
|
|
7594
|
+
insert(_el$215, () => new Date(entry.visitedAt).toLocaleString());
|
|
7595
|
+
return _el$212;
|
|
7288
7596
|
})()
|
|
7289
7597
|
}), null);
|
|
7290
|
-
insert(_el$
|
|
7598
|
+
insert(_el$84, createComponent(Show, {
|
|
7291
7599
|
get when() {
|
|
7292
7600
|
return history.historyState().entries.length === 0;
|
|
7293
7601
|
},
|
|
7294
7602
|
get children() {
|
|
7295
|
-
return _tmpl$
|
|
7603
|
+
return _tmpl$11$2();
|
|
7296
7604
|
}
|
|
7297
7605
|
}), null);
|
|
7298
|
-
return _el$
|
|
7606
|
+
return _el$80;
|
|
7299
7607
|
}
|
|
7300
|
-
}), _el$
|
|
7301
|
-
insert(_el$
|
|
7608
|
+
}), _el$104);
|
|
7609
|
+
insert(_el$25, createComponent(Show, {
|
|
7610
|
+
get when() {
|
|
7611
|
+
return sidebarTab() === "diff";
|
|
7612
|
+
},
|
|
7613
|
+
get children() {
|
|
7614
|
+
var _el$86 = _tmpl$13$1(), _el$87 = _el$86.firstChild, _el$88 = _el$87.firstChild, _el$89 = _el$88.nextSibling;
|
|
7615
|
+
insert(_el$89, () => isPremium() ? "Page change timeline" : "Premium feature");
|
|
7616
|
+
insert(_el$86, createComponent(Show, {
|
|
7617
|
+
get when() {
|
|
7618
|
+
return isPremium();
|
|
7619
|
+
},
|
|
7620
|
+
get fallback() {
|
|
7621
|
+
return (() => {
|
|
7622
|
+
var _el$216 = _tmpl$56(), _el$217 = _el$216.firstChild, _el$218 = _el$217.nextSibling, _el$219 = _el$218.nextSibling, _el$220 = _el$219.firstChild, _el$221 = _el$220.nextSibling;
|
|
7623
|
+
_el$220.$$click = () => void window.vessel.premium.checkout(premiumState().email || void 0).catch(() => {
|
|
7624
|
+
});
|
|
7625
|
+
_el$221.$$click = openPremiumDetails;
|
|
7626
|
+
return _el$216;
|
|
7627
|
+
})();
|
|
7628
|
+
},
|
|
7629
|
+
get children() {
|
|
7630
|
+
return createComponent(PageDiffTimeline, {});
|
|
7631
|
+
}
|
|
7632
|
+
}), null);
|
|
7633
|
+
return _el$86;
|
|
7634
|
+
}
|
|
7635
|
+
}), _el$104);
|
|
7636
|
+
insert(_el$25, createComponent(Show, {
|
|
7302
7637
|
get when() {
|
|
7303
7638
|
return sidebarTab() === "chat";
|
|
7304
7639
|
},
|
|
@@ -7308,23 +7643,23 @@ ${contextBlock}` : contextBlock);
|
|
|
7308
7643
|
return !isPremium();
|
|
7309
7644
|
},
|
|
7310
7645
|
get children() {
|
|
7311
|
-
var _el$
|
|
7312
|
-
_el$
|
|
7313
|
-
_el$
|
|
7314
|
-
return _el$
|
|
7646
|
+
var _el$90 = _tmpl$14$1(), _el$91 = _el$90.firstChild, _el$92 = _el$91.nextSibling, _el$93 = _el$92.nextSibling, _el$94 = _el$93.firstChild, _el$95 = _el$94.nextSibling;
|
|
7647
|
+
_el$94.$$click = () => openPremiumCheckout("chat_banner_clicked");
|
|
7648
|
+
_el$95.$$click = openPremiumDetails;
|
|
7649
|
+
return _el$90;
|
|
7315
7650
|
}
|
|
7316
7651
|
}), createComponent(For, {
|
|
7317
7652
|
get each() {
|
|
7318
7653
|
return messages2();
|
|
7319
7654
|
},
|
|
7320
7655
|
children: (msg) => (() => {
|
|
7321
|
-
var _el$
|
|
7322
|
-
insert(_el$
|
|
7656
|
+
var _el$222 = _tmpl$57();
|
|
7657
|
+
insert(_el$222, createComponent(MarkdownMessage, {
|
|
7323
7658
|
get content() {
|
|
7324
7659
|
return msg.content;
|
|
7325
7660
|
}
|
|
7326
7661
|
}), null);
|
|
7327
|
-
insert(_el$
|
|
7662
|
+
insert(_el$222, createComponent(Show, {
|
|
7328
7663
|
get when() {
|
|
7329
7664
|
return memo(() => msg.role === "assistant")() ? getPremiumPromptKind(msg.content) : null;
|
|
7330
7665
|
},
|
|
@@ -7337,31 +7672,31 @@ ${contextBlock}` : contextBlock);
|
|
|
7337
7672
|
onOpenSettings: openPremiumDetails
|
|
7338
7673
|
})
|
|
7339
7674
|
}), null);
|
|
7340
|
-
createRenderEffect(() => className(_el$
|
|
7341
|
-
return _el$
|
|
7675
|
+
createRenderEffect(() => className(_el$222, `message message-${msg.role}`));
|
|
7676
|
+
return _el$222;
|
|
7342
7677
|
})()
|
|
7343
7678
|
}), createComponent(Show, {
|
|
7344
7679
|
get when() {
|
|
7345
7680
|
return isStreaming2();
|
|
7346
7681
|
},
|
|
7347
7682
|
get children() {
|
|
7348
|
-
var _el$
|
|
7349
|
-
insert(_el$
|
|
7683
|
+
var _el$96 = _tmpl$17$1(), _el$97 = _el$96.firstChild;
|
|
7684
|
+
insert(_el$97, createComponent(Show, {
|
|
7350
7685
|
get when() {
|
|
7351
7686
|
return hasFirstChunk2();
|
|
7352
7687
|
},
|
|
7353
7688
|
get fallback() {
|
|
7354
|
-
return _tmpl$
|
|
7689
|
+
return _tmpl$58();
|
|
7355
7690
|
},
|
|
7356
7691
|
get children() {
|
|
7357
|
-
var _el$
|
|
7358
|
-
_el$
|
|
7359
|
-
insert(_el$
|
|
7692
|
+
var _el$98 = _tmpl$16$1(), _el$99 = _el$98.firstChild, _el$100 = _el$99.firstChild;
|
|
7693
|
+
_el$100.nextSibling;
|
|
7694
|
+
insert(_el$98, createComponent(MarkdownMessage, {
|
|
7360
7695
|
get content() {
|
|
7361
7696
|
return streamingText2();
|
|
7362
7697
|
}
|
|
7363
|
-
}), _el$
|
|
7364
|
-
insert(_el$
|
|
7698
|
+
}), _el$99);
|
|
7699
|
+
insert(_el$98, createComponent(Show, {
|
|
7365
7700
|
get when() {
|
|
7366
7701
|
return getPremiumPromptKind(streamingText2());
|
|
7367
7702
|
},
|
|
@@ -7373,21 +7708,21 @@ ${contextBlock}` : contextBlock);
|
|
|
7373
7708
|
onStartTrial: () => openPremiumCheckout(kind() === "premium_gate" ? "premium_gate_clicked" : "iteration_limit_clicked"),
|
|
7374
7709
|
onOpenSettings: openPremiumDetails
|
|
7375
7710
|
})
|
|
7376
|
-
}), _el$
|
|
7377
|
-
insert(_el$
|
|
7711
|
+
}), _el$99);
|
|
7712
|
+
insert(_el$99, createComponent(Show, {
|
|
7378
7713
|
get when() {
|
|
7379
7714
|
return elapsedSeconds() > 0;
|
|
7380
7715
|
},
|
|
7381
7716
|
get children() {
|
|
7382
|
-
var _el$
|
|
7383
|
-
insert(_el$
|
|
7384
|
-
return _el$
|
|
7717
|
+
var _el$102 = _tmpl$15$1();
|
|
7718
|
+
insert(_el$102, () => ` • ${elapsedSeconds()}s`);
|
|
7719
|
+
return _el$102;
|
|
7385
7720
|
}
|
|
7386
7721
|
}), null);
|
|
7387
|
-
return _el$
|
|
7722
|
+
return _el$98;
|
|
7388
7723
|
}
|
|
7389
7724
|
}));
|
|
7390
|
-
return _el$
|
|
7725
|
+
return _el$96;
|
|
7391
7726
|
}
|
|
7392
7727
|
}), createComponent(Show, {
|
|
7393
7728
|
get when() {
|
|
@@ -7399,22 +7734,22 @@ ${contextBlock}` : contextBlock);
|
|
|
7399
7734
|
return runtimeState2().supervisor.pendingApprovals;
|
|
7400
7735
|
},
|
|
7401
7736
|
children: (approval) => (() => {
|
|
7402
|
-
var _el$
|
|
7403
|
-
insert(_el$
|
|
7404
|
-
insert(_el$
|
|
7737
|
+
var _el$224 = _tmpl$60(), _el$225 = _el$224.firstChild, _el$226 = _el$225.nextSibling, _el$227 = _el$226.firstChild, _el$228 = _el$227.firstChild, _el$229 = _el$228.nextSibling, _el$231 = _el$227.nextSibling, _el$232 = _el$231.nextSibling, _el$233 = _el$232.firstChild, _el$234 = _el$233.nextSibling;
|
|
7738
|
+
insert(_el$229, () => approval.name);
|
|
7739
|
+
insert(_el$226, createComponent(Show, {
|
|
7405
7740
|
get when() {
|
|
7406
7741
|
return approval.argsSummary;
|
|
7407
7742
|
},
|
|
7408
7743
|
get children() {
|
|
7409
|
-
var _el$
|
|
7410
|
-
insert(_el$
|
|
7411
|
-
return _el$
|
|
7744
|
+
var _el$230 = _tmpl$59();
|
|
7745
|
+
insert(_el$230, () => approval.argsSummary);
|
|
7746
|
+
return _el$230;
|
|
7412
7747
|
}
|
|
7413
|
-
}), _el$
|
|
7414
|
-
insert(_el$
|
|
7415
|
-
_el$
|
|
7416
|
-
_el$
|
|
7417
|
-
return _el$
|
|
7748
|
+
}), _el$231);
|
|
7749
|
+
insert(_el$231, () => approval.reason);
|
|
7750
|
+
_el$233.$$click = () => void resolveApproval(approval.id, true);
|
|
7751
|
+
_el$234.$$click = () => void resolveApproval(approval.id, false);
|
|
7752
|
+
return _el$224;
|
|
7418
7753
|
})()
|
|
7419
7754
|
});
|
|
7420
7755
|
}
|
|
@@ -7423,13 +7758,13 @@ ${contextBlock}` : contextBlock);
|
|
|
7423
7758
|
return memo(() => messages2().length === 0)() && !isStreaming2();
|
|
7424
7759
|
},
|
|
7425
7760
|
get children() {
|
|
7426
|
-
return _tmpl$
|
|
7761
|
+
return _tmpl$18$1();
|
|
7427
7762
|
}
|
|
7428
7763
|
})];
|
|
7429
7764
|
}
|
|
7430
|
-
}), _el$
|
|
7765
|
+
}), _el$104);
|
|
7431
7766
|
var _ref$ = messagesEndRef;
|
|
7432
|
-
typeof _ref$ === "function" ? use(_ref$, _el$
|
|
7767
|
+
typeof _ref$ === "function" ? use(_ref$, _el$104) : messagesEndRef = _el$104;
|
|
7433
7768
|
insert(_el$9, createComponent(Show, {
|
|
7434
7769
|
get when() {
|
|
7435
7770
|
return sidebarTab() === "chat";
|
|
@@ -7440,125 +7775,125 @@ ${contextBlock}` : contextBlock);
|
|
|
7440
7775
|
return isStreaming2() || messages2().length > 0;
|
|
7441
7776
|
},
|
|
7442
7777
|
get children() {
|
|
7443
|
-
var _el$
|
|
7444
|
-
insert(_el$
|
|
7778
|
+
var _el$105 = _tmpl$21$1();
|
|
7779
|
+
insert(_el$105, createComponent(Show, {
|
|
7445
7780
|
get when() {
|
|
7446
7781
|
return isStreaming2();
|
|
7447
7782
|
},
|
|
7448
7783
|
get children() {
|
|
7449
|
-
var _el$
|
|
7450
|
-
_el$
|
|
7451
|
-
return _el$
|
|
7784
|
+
var _el$106 = _tmpl$19$1();
|
|
7785
|
+
_el$106.$$click = () => cancel();
|
|
7786
|
+
return _el$106;
|
|
7452
7787
|
}
|
|
7453
7788
|
}), null);
|
|
7454
|
-
insert(_el$
|
|
7789
|
+
insert(_el$105, createComponent(Show, {
|
|
7455
7790
|
get when() {
|
|
7456
7791
|
return memo(() => !!!isStreaming2())() && messages2().length > 0;
|
|
7457
7792
|
},
|
|
7458
7793
|
get children() {
|
|
7459
|
-
var _el$
|
|
7460
|
-
_el$
|
|
7461
|
-
return _el$
|
|
7794
|
+
var _el$107 = _tmpl$20$1();
|
|
7795
|
+
_el$107.$$click = handleRetry;
|
|
7796
|
+
return _el$107;
|
|
7462
7797
|
}
|
|
7463
7798
|
}), null);
|
|
7464
|
-
return _el$
|
|
7799
|
+
return _el$105;
|
|
7465
7800
|
}
|
|
7466
7801
|
}), createComponent(Show, {
|
|
7467
7802
|
get when() {
|
|
7468
7803
|
return highlightCount() > 0;
|
|
7469
7804
|
},
|
|
7470
7805
|
get children() {
|
|
7471
|
-
var _el$
|
|
7472
|
-
_el$
|
|
7473
|
-
var _el$
|
|
7474
|
-
_el$
|
|
7475
|
-
_el$
|
|
7476
|
-
insert(_el$
|
|
7806
|
+
var _el$108 = _tmpl$22$1(), _el$109 = _el$108.firstChild, _el$110 = _el$109.nextSibling;
|
|
7807
|
+
_el$110.firstChild;
|
|
7808
|
+
var _el$112 = _el$110.nextSibling;
|
|
7809
|
+
_el$109.$$click = () => void scrollToHighlight(highlightIndex() - 1);
|
|
7810
|
+
_el$110.$$click = () => void scrollToHighlight(highlightIndex() < 0 ? 0 : highlightIndex());
|
|
7811
|
+
insert(_el$110, (() => {
|
|
7477
7812
|
var _c$4 = memo(() => highlightIndex() >= 0);
|
|
7478
7813
|
return () => _c$4() ? `${highlightIndex() + 1} / ${highlightCount()}` : `${highlightCount()} highlight${highlightCount() > 1 ? "s" : ""}`;
|
|
7479
7814
|
})(), null);
|
|
7480
|
-
_el$
|
|
7815
|
+
_el$112.$$click = () => void scrollToHighlight(highlightIndex() < 0 ? 0 : highlightIndex() + 1);
|
|
7481
7816
|
createRenderEffect((_p$) => {
|
|
7482
7817
|
var _v$3 = highlightIndex() <= 0, _v$4 = highlightIndex() >= highlightCount() - 1;
|
|
7483
|
-
_v$3 !== _p$.e && (_el$
|
|
7484
|
-
_v$4 !== _p$.t && (_el$
|
|
7818
|
+
_v$3 !== _p$.e && (_el$109.disabled = _p$.e = _v$3);
|
|
7819
|
+
_v$4 !== _p$.t && (_el$112.disabled = _p$.t = _v$4);
|
|
7485
7820
|
return _p$;
|
|
7486
7821
|
}, {
|
|
7487
7822
|
e: void 0,
|
|
7488
7823
|
t: void 0
|
|
7489
7824
|
});
|
|
7490
|
-
return _el$
|
|
7825
|
+
return _el$108;
|
|
7491
7826
|
}
|
|
7492
7827
|
}), createComponent(Show, {
|
|
7493
7828
|
get when() {
|
|
7494
7829
|
return queueNotice2() !== null || pendingQueryCount() > 0;
|
|
7495
7830
|
},
|
|
7496
7831
|
get children() {
|
|
7497
|
-
var _el$
|
|
7498
|
-
insert(_el$
|
|
7499
|
-
insert(_el$
|
|
7832
|
+
var _el$113 = _tmpl$25$1(), _el$114 = _el$113.firstChild, _el$115 = _el$114.firstChild;
|
|
7833
|
+
insert(_el$115, () => queueNotice2() ?? `Queued ${pendingQueryCount()}/${pendingQueryLimit}.`);
|
|
7834
|
+
insert(_el$114, createComponent(Show, {
|
|
7500
7835
|
get when() {
|
|
7501
7836
|
return pendingQueryCount() > 0;
|
|
7502
7837
|
},
|
|
7503
7838
|
get children() {
|
|
7504
|
-
var _el$
|
|
7505
|
-
_el$
|
|
7506
|
-
return _el$
|
|
7839
|
+
var _el$116 = _tmpl$23$1();
|
|
7840
|
+
_el$116.$$click = () => clearPendingQueries();
|
|
7841
|
+
return _el$116;
|
|
7507
7842
|
}
|
|
7508
7843
|
}), null);
|
|
7509
|
-
insert(_el$
|
|
7844
|
+
insert(_el$113, createComponent(Show, {
|
|
7510
7845
|
get when() {
|
|
7511
7846
|
return pendingQueries2().length > 0;
|
|
7512
7847
|
},
|
|
7513
7848
|
get children() {
|
|
7514
|
-
var _el$
|
|
7515
|
-
insert(_el$
|
|
7849
|
+
var _el$117 = _tmpl$24$1();
|
|
7850
|
+
insert(_el$117, createComponent(For, {
|
|
7516
7851
|
get each() {
|
|
7517
7852
|
return pendingQueries2();
|
|
7518
7853
|
},
|
|
7519
7854
|
children: (pendingPrompt, index) => (() => {
|
|
7520
|
-
var _el$
|
|
7521
|
-
setAttribute(_el$
|
|
7522
|
-
insert(_el$
|
|
7523
|
-
_el$
|
|
7524
|
-
createRenderEffect(() => setAttribute(_el$
|
|
7525
|
-
return _el$
|
|
7855
|
+
var _el$235 = _tmpl$61(), _el$236 = _el$235.firstChild, _el$237 = _el$236.nextSibling;
|
|
7856
|
+
setAttribute(_el$236, "title", pendingPrompt);
|
|
7857
|
+
insert(_el$236, pendingPrompt);
|
|
7858
|
+
_el$237.$$click = () => removePendingQuery(index());
|
|
7859
|
+
createRenderEffect(() => setAttribute(_el$237, "aria-label", `Remove queued prompt ${index() + 1}`));
|
|
7860
|
+
return _el$235;
|
|
7526
7861
|
})()
|
|
7527
7862
|
}));
|
|
7528
|
-
return _el$
|
|
7863
|
+
return _el$117;
|
|
7529
7864
|
}
|
|
7530
7865
|
}), null);
|
|
7531
|
-
return _el$
|
|
7866
|
+
return _el$113;
|
|
7532
7867
|
}
|
|
7533
7868
|
}), (() => {
|
|
7534
|
-
var _el$
|
|
7535
|
-
_el$
|
|
7869
|
+
var _el$118 = _tmpl$26$1(), _el$119 = _el$118.firstChild, _el$120 = _el$119.nextSibling;
|
|
7870
|
+
_el$119.$$keydown = (e) => {
|
|
7536
7871
|
if (e.key === "Enter" && !e.shiftKey) {
|
|
7537
7872
|
e.preventDefault();
|
|
7538
7873
|
void handleChatSend();
|
|
7539
7874
|
}
|
|
7540
7875
|
};
|
|
7541
|
-
_el$
|
|
7876
|
+
_el$119.$$input = (e) => setChatInput(e.currentTarget.value);
|
|
7542
7877
|
var _ref$2 = chatInputRef;
|
|
7543
|
-
typeof _ref$2 === "function" ? use(_ref$2, _el$
|
|
7544
|
-
_el$
|
|
7545
|
-
insert(_el$
|
|
7878
|
+
typeof _ref$2 === "function" ? use(_ref$2, _el$119) : chatInputRef = _el$119;
|
|
7879
|
+
_el$120.$$click = () => void handleChatSend();
|
|
7880
|
+
insert(_el$120, () => isStreaming2() ? "Queue" : "Send");
|
|
7546
7881
|
createRenderEffect((_p$) => {
|
|
7547
7882
|
var _v$5 = isStreaming2() ? "Send now to queue the next prompt..." : "Ask anything...", _v$6 = !chatInput().trim();
|
|
7548
|
-
_v$5 !== _p$.e && setAttribute(_el$
|
|
7549
|
-
_v$6 !== _p$.t && (_el$
|
|
7883
|
+
_v$5 !== _p$.e && setAttribute(_el$119, "placeholder", _p$.e = _v$5);
|
|
7884
|
+
_v$6 !== _p$.t && (_el$120.disabled = _p$.t = _v$6);
|
|
7550
7885
|
return _p$;
|
|
7551
7886
|
}, {
|
|
7552
7887
|
e: void 0,
|
|
7553
7888
|
t: void 0
|
|
7554
7889
|
});
|
|
7555
|
-
createRenderEffect(() => _el$
|
|
7556
|
-
return _el$
|
|
7890
|
+
createRenderEffect(() => _el$119.value = chatInput());
|
|
7891
|
+
return _el$118;
|
|
7557
7892
|
})()];
|
|
7558
7893
|
}
|
|
7559
7894
|
}), null);
|
|
7560
7895
|
createRenderEffect((_p$) => {
|
|
7561
|
-
var _v$7 = `${sidebarWidth2()}px`, _v$8 = !!isDragging(), _v$9 = !!(sidebarTab() === "supervisor"), _v$0 = sidebarTab() === "supervisor", _v$1 = !!(sidebarTab() === "bookmarks"), _v$10 = sidebarTab() === "bookmarks", _v$11 = !!(sidebarTab() === "checkpoints"), _v$12 = sidebarTab() === "checkpoints", _v$13 = !!(sidebarTab() === "chat"), _v$14 = sidebarTab() === "chat", _v$15 = !!(sidebarTab() === "automation"), _v$16 = sidebarTab() === "automation", _v$17 = !!(sidebarTab() === "history"), _v$18 = sidebarTab() === "history";
|
|
7896
|
+
var _v$7 = `${sidebarWidth2()}px`, _v$8 = !!isDragging(), _v$9 = !!(sidebarTab() === "supervisor"), _v$0 = sidebarTab() === "supervisor", _v$1 = !!(sidebarTab() === "bookmarks"), _v$10 = sidebarTab() === "bookmarks", _v$11 = !!(sidebarTab() === "checkpoints"), _v$12 = sidebarTab() === "checkpoints", _v$13 = !!(sidebarTab() === "chat"), _v$14 = sidebarTab() === "chat", _v$15 = !!(sidebarTab() === "automation"), _v$16 = sidebarTab() === "automation", _v$17 = !!(sidebarTab() === "history"), _v$18 = sidebarTab() === "history", _v$19 = !!(sidebarTab() === "diff"), _v$20 = sidebarTab() === "diff";
|
|
7562
7897
|
_v$7 !== _p$.e && setStyleProperty(_el$9, "width", _p$.e = _v$7);
|
|
7563
7898
|
_v$8 !== _p$.t && _el$0.classList.toggle("dragging", _p$.t = _v$8);
|
|
7564
7899
|
_v$9 !== _p$.a && _el$16.classList.toggle("active", _p$.a = _v$9);
|
|
@@ -7573,6 +7908,8 @@ ${contextBlock}` : contextBlock);
|
|
|
7573
7908
|
_v$16 !== _p$.u && setAttribute(_el$22, "aria-selected", _p$.u = _v$16);
|
|
7574
7909
|
_v$17 !== _p$.c && _el$23.classList.toggle("active", _p$.c = _v$17);
|
|
7575
7910
|
_v$18 !== _p$.w && setAttribute(_el$23, "aria-selected", _p$.w = _v$18);
|
|
7911
|
+
_v$19 !== _p$.m && _el$24.classList.toggle("active", _p$.m = _v$19);
|
|
7912
|
+
_v$20 !== _p$.f && setAttribute(_el$24, "aria-selected", _p$.f = _v$20);
|
|
7576
7913
|
return _p$;
|
|
7577
7914
|
}, {
|
|
7578
7915
|
e: void 0,
|
|
@@ -7588,7 +7925,9 @@ ${contextBlock}` : contextBlock);
|
|
|
7588
7925
|
l: void 0,
|
|
7589
7926
|
u: void 0,
|
|
7590
7927
|
c: void 0,
|
|
7591
|
-
w: void 0
|
|
7928
|
+
w: void 0,
|
|
7929
|
+
m: void 0,
|
|
7930
|
+
f: void 0
|
|
7592
7931
|
});
|
|
7593
7932
|
return _el$9;
|
|
7594
7933
|
}
|