@quanta-intellect/vessel-browser 0.1.78 → 0.1.80
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.
|
@@ -2295,7 +2295,7 @@ function getAgentPresence(state, currentTime = Date.now()) {
|
|
|
2295
2295
|
}
|
|
2296
2296
|
return "idle";
|
|
2297
2297
|
}
|
|
2298
|
-
var _tmpl$$n = /* @__PURE__ */ template(`<img class=tab-favicon alt>`), _tmpl$2$m = /* @__PURE__ */ template(`<span class=tab-favicon-fallback>`), _tmpl$3$i = /* @__PURE__ */ template(`<div class=tab-bar><div class=tab-list></div><div class=tab-actions><button class=tab-new data-tooltip="New window"data-tooltip-pos=left></button><button class=tab-new data-tooltip="Add active tab to group"data-tooltip-pos=left></button><button class=tab-new data-tooltip="New tab"data-tooltip-pos=left></button><button class="tab-new tab-new-private"data-tooltip="Private window"data-tooltip-pos=left><svg width=12 height=12 viewBox="0 0 16 16"fill=currentColor><path d="M8 1a7 7 0 100 14A7 7 0 008 1zm0 1.5a5.5 5.5 0 110 11 5.5 5.5 0 010-11z">`), _tmpl$4$i = /* @__PURE__ */ template(`<button><span class=tab-group-dot></span><span class=tab-group-name></span><span class=tab-group-count>`), _tmpl$5$e = /* @__PURE__ */ template(`<button class="tab-audio tab-audio-pinned">`), _tmpl$6$d = /* @__PURE__ */ template(`<div role=tab>`), _tmpl$7$c = /* @__PURE__ */ template(`<span class=tab-title>`), _tmpl$8$9 = /* @__PURE__ */ template(`<button class=tab-audio>`), _tmpl$9$
|
|
2298
|
+
var _tmpl$$n = /* @__PURE__ */ template(`<img class=tab-favicon alt>`), _tmpl$2$m = /* @__PURE__ */ template(`<span class=tab-favicon-fallback>`), _tmpl$3$i = /* @__PURE__ */ template(`<div class=tab-bar><div class=tab-list></div><div class=tab-actions><button class=tab-new data-tooltip="New window"data-tooltip-pos=left></button><button class=tab-new data-tooltip="Add active tab to group"data-tooltip-pos=left></button><button class=tab-new data-tooltip="New tab"data-tooltip-pos=left></button><button class="tab-new tab-new-private"data-tooltip="Private window"data-tooltip-pos=left><svg width=12 height=12 viewBox="0 0 16 16"fill=currentColor><path d="M8 1a7 7 0 100 14A7 7 0 008 1zm0 1.5a5.5 5.5 0 110 11 5.5 5.5 0 010-11z">`), _tmpl$4$i = /* @__PURE__ */ template(`<button><span class=tab-group-dot></span><span class=tab-group-name></span><span class=tab-group-count>`), _tmpl$5$e = /* @__PURE__ */ template(`<button class="tab-audio tab-audio-pinned">`), _tmpl$6$d = /* @__PURE__ */ template(`<div role=tab>`), _tmpl$7$c = /* @__PURE__ */ template(`<span class=tab-title>`), _tmpl$8$9 = /* @__PURE__ */ template(`<button class=tab-audio>`), _tmpl$9$7 = /* @__PURE__ */ template(`<button class=tab-close>×`), _tmpl$0$6 = /* @__PURE__ */ template(`<span class=tab-agent-indicator aria-hidden=true title="Agent active on this tab">`), _tmpl$1$6 = /* @__PURE__ */ template(`<span class=tab-loading>`);
|
|
2299
2299
|
const TAB_CLOSE_MS = 200;
|
|
2300
2300
|
function stringToHue(str) {
|
|
2301
2301
|
let hash = 0;
|
|
@@ -2510,7 +2510,7 @@ const TabBar = () => {
|
|
|
2510
2510
|
return _el$15;
|
|
2511
2511
|
}
|
|
2512
2512
|
}), memo(() => memo(() => !!tab.isLoading)() && _tmpl$1$6()), (() => {
|
|
2513
|
-
var _el$16 = _tmpl$9$
|
|
2513
|
+
var _el$16 = _tmpl$9$7();
|
|
2514
2514
|
_el$16.$$click = (e) => {
|
|
2515
2515
|
e.stopPropagation();
|
|
2516
2516
|
handleClose(tab.id);
|
|
@@ -2872,6 +2872,33 @@ function buildPageSnapshotKey(rawUrl) {
|
|
|
2872
2872
|
function matchesPageSnapshotUrl(left, right) {
|
|
2873
2873
|
return buildPageSnapshotKey(left) === buildPageSnapshotKey(right);
|
|
2874
2874
|
}
|
|
2875
|
+
const SECTION_LABELS = {
|
|
2876
|
+
content: "Content",
|
|
2877
|
+
headings: "Headings",
|
|
2878
|
+
title: "Title"
|
|
2879
|
+
};
|
|
2880
|
+
function cleanDiffSummaryText(value) {
|
|
2881
|
+
return value.replace(
|
|
2882
|
+
/```[\s\S]*?```/g,
|
|
2883
|
+
(match) => match.replace(/```[a-z]*\n?/gi, "").replace(/```/g, "")
|
|
2884
|
+
).replace(/!\[([^\]]*)\]\([^)]+\)/g, "$1").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").replace(/`([^`]+)`/g, "$1").replace(/(\*\*|__)(.*?)\1/g, "$2").replace(/(\*|_)(.*?)\1/g, "$2").replace(/^#{1,6}\s+/gm, "").replace(/^\s*[-*+]\s+/gm, "").replace(/^\s*>\s?/gm, "").replace(/\s+/g, " ").trim();
|
|
2885
|
+
}
|
|
2886
|
+
function formatDiffSectionLabel(section) {
|
|
2887
|
+
const normalized = section.trim().toLowerCase();
|
|
2888
|
+
return SECTION_LABELS[normalized] ?? section.trim();
|
|
2889
|
+
}
|
|
2890
|
+
function parseDiffSummaryParts(summary) {
|
|
2891
|
+
return summary.split(/\s+\|\s+/).map((part) => {
|
|
2892
|
+
const match = part.match(/^([a-z]+):\s*(.+)$/i);
|
|
2893
|
+
if (!match) {
|
|
2894
|
+
return { text: cleanDiffSummaryText(part) };
|
|
2895
|
+
}
|
|
2896
|
+
return {
|
|
2897
|
+
section: formatDiffSectionLabel(match[1]),
|
|
2898
|
+
text: cleanDiffSummaryText(match[2])
|
|
2899
|
+
};
|
|
2900
|
+
}).filter((part) => part.text.length > 0);
|
|
2901
|
+
}
|
|
2875
2902
|
const SEARCH_ENGINE_PRESETS = {
|
|
2876
2903
|
duckduckgo: { label: "DuckDuckGo", url: "https://duckduckgo.com/?q=" },
|
|
2877
2904
|
google: { label: "Google", url: "https://www.google.com/search?q=" },
|
|
@@ -2880,7 +2907,7 @@ const SEARCH_ENGINE_PRESETS = {
|
|
|
2880
2907
|
ecosia: { label: "Ecosia", url: "https://www.ecosia.org/search?q=" },
|
|
2881
2908
|
kagi: { label: "Kagi", url: "https://kagi.com/search?q=" }
|
|
2882
2909
|
};
|
|
2883
|
-
var _tmpl$$l = /* @__PURE__ */ template(`<div class=private-badge title="Private Browsing - history and cookies are not saved"><svg width=12 height=12 viewBox="0 0 16 16"fill=currentColor><path d="M8 1a7 7 0 100 14A7 7 0 008 1zm0 1.5a5.5 5.5 0 110 11 5.5 5.5 0 010-11zM5.5 7a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zm3.5 3.5c0-1-1.5-2-2.5-2s-2.5 1-2.5 2"></path></svg><span>Private`), _tmpl$2$k = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z">`), _tmpl$3$h = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z"></path><line x1=2 y1=12 x2=12 y2=2 stroke=currentColor stroke-width=1.5>`), _tmpl$4$h = /* @__PURE__ */ template(`<div class=security-indicator-wrapper><button>`), _tmpl$5$d = /* @__PURE__ */ template(`<div id=address-autocomplete class=autocomplete-dropdown role=listbox>`), _tmpl$6$c = /* @__PURE__ */ template(`<div><span class=agent-status-dot aria-hidden=true></span><span class=agent-status-text>`), _tmpl$7$b = /* @__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$8$8 = /* @__PURE__ */ template(`<span class=page-diff-burst-meta>Updated <!> times over `), _tmpl$9$
|
|
2910
|
+
var _tmpl$$l = /* @__PURE__ */ template(`<div class=private-badge title="Private Browsing - history and cookies are not saved"><svg width=12 height=12 viewBox="0 0 16 16"fill=currentColor><path d="M8 1a7 7 0 100 14A7 7 0 008 1zm0 1.5a5.5 5.5 0 110 11 5.5 5.5 0 010-11zM5.5 7a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zm3.5 3.5c0-1-1.5-2-2.5-2s-2.5 1-2.5 2"></path></svg><span>Private`), _tmpl$2$k = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z">`), _tmpl$3$h = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z"></path><line x1=2 y1=12 x2=12 y2=2 stroke=currentColor stroke-width=1.5>`), _tmpl$4$h = /* @__PURE__ */ template(`<div class=security-indicator-wrapper><button>`), _tmpl$5$d = /* @__PURE__ */ template(`<div id=address-autocomplete class=autocomplete-dropdown role=listbox>`), _tmpl$6$c = /* @__PURE__ */ template(`<div><span class=agent-status-dot aria-hidden=true></span><span class=agent-status-text>`), _tmpl$7$b = /* @__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$8$8 = /* @__PURE__ */ template(`<span class=page-diff-burst-meta>Updated <!> times over `), _tmpl$9$6 = /* @__PURE__ */ template(`<div class=page-diff-burst-history><div class=page-diff-burst-history-label>Recent detections`), _tmpl$0$5 = /* @__PURE__ */ template(`<div class=page-diff-popup><div class=page-diff-popup-header><div class=page-diff-popup-header-copy><span>Compared with your last visit</span><span class=page-diff-burst-meta>Previous snapshot from </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$1$5 = /* @__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$10$5 = /* @__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$11$5 = /* @__PURE__ */ template(`<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>`), _tmpl$12$5 = /* @__PURE__ */ template(`<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>`), _tmpl$13$4 = /* @__PURE__ */ template(`<span class=nav-btn-badge>`), _tmpl$14$4 = /* @__PURE__ */ template(`<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>`), _tmpl$15$4 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip="Clear Data">`), _tmpl$16$3 = /* @__PURE__ */ template(`<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$17$3 = /* @__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"autocomplete=off aria-autocomplete=list aria-controls=address-autocomplete></form></div><div class=toolbar-actions><button class=nav-btn><svg width=14 height=14 viewBox="0 0 14 14">`), _tmpl$18$3 = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z"></path><circle cx=7 cy=8 r=0.8 fill=white>`), _tmpl$19$3 = /* @__PURE__ */ template(`<div role=option><span class=autocomplete-icon></span><span class=autocomplete-text><span class=autocomplete-title></span><span class=autocomplete-url>`), _tmpl$20$2 = /* @__PURE__ */ template(`<div class=page-diff-burst-row><span class=page-diff-burst-time></span><span class=page-diff-burst-summary>`), _tmpl$21$2 = /* @__PURE__ */ template(`<span class=page-diff-burst-summary-section>`), _tmpl$22$2 = /* @__PURE__ */ template(`<span class=page-diff-burst-summary-part><span>`), _tmpl$23$2 = /* @__PURE__ */ template(`<div class=page-diff-snippet><span class=page-diff-snippet-label>Before</span><span class=page-diff-snippet-text>`), _tmpl$24$2 = /* @__PURE__ */ template(`<div class=page-diff-snippet><span class=page-diff-snippet-label>After</span><span class=page-diff-snippet-text>`), _tmpl$25$2 = /* @__PURE__ */ template(`<div class=page-diff-snippets>`), _tmpl$26$2 = /* @__PURE__ */ template(`<div class=page-diff-list-group><span class=page-diff-list-label>Added</span><ul class=page-diff-list>`), _tmpl$27$2 = /* @__PURE__ */ template(`<div class=page-diff-list-group><span class=page-diff-list-label>Removed</span><ul class=page-diff-list>`), _tmpl$28$2 = /* @__PURE__ */ template(`<div><div class=page-diff-item-header><div class=page-diff-badges><span class=page-diff-kind></span><span class=page-diff-section></span></div><span class=page-diff-summary>`), _tmpl$29$2 = /* @__PURE__ */ template(`<li>`);
|
|
2884
2911
|
const AddressBar = (props) => {
|
|
2885
2912
|
const {
|
|
2886
2913
|
activeTab,
|
|
@@ -2967,7 +2994,7 @@ const AddressBar = (props) => {
|
|
|
2967
2994
|
}
|
|
2968
2995
|
await window.vessel.ui.openSidebarTab("diff");
|
|
2969
2996
|
};
|
|
2970
|
-
const
|
|
2997
|
+
const formatRelativeTime2 = (isoDate) => {
|
|
2971
2998
|
const diff = Date.now() - new Date(isoDate).getTime();
|
|
2972
2999
|
const mins = Math.floor(diff / 6e4);
|
|
2973
3000
|
if (mins < 1) return "just now";
|
|
@@ -2987,6 +3014,7 @@ const AddressBar = (props) => {
|
|
|
2987
3014
|
const hours = Math.round(mins / 60);
|
|
2988
3015
|
return `${hours}h`;
|
|
2989
3016
|
};
|
|
3017
|
+
const getChangeKindLabel = (kind) => kind === "added" ? "Added" : kind === "removed" ? "Removed" : "Changed";
|
|
2990
3018
|
createEffect(() => {
|
|
2991
3019
|
if (isPrivateWindow) return;
|
|
2992
3020
|
const unsubscribe2 = window.vessel.pageDiff.onChanged((diff) => {
|
|
@@ -3137,7 +3165,7 @@ const AddressBar = (props) => {
|
|
|
3137
3165
|
};
|
|
3138
3166
|
const formatSectionLabel = (section) => section === "title" ? "Title" : section === "headings" ? "Headings" : "Content";
|
|
3139
3167
|
return (() => {
|
|
3140
|
-
var _el$ = _tmpl$17$3(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$11 = _el$2.nextSibling, _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$
|
|
3168
|
+
var _el$ = _tmpl$17$3(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$11 = _el$2.nextSibling, _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$35 = _el$11.nextSibling, _el$36 = _el$35.firstChild, _el$37 = _el$36.firstChild;
|
|
3141
3169
|
addEventListener(_el$3, "click", goBack, true);
|
|
3142
3170
|
addEventListener(_el$4, "click", goForward, true);
|
|
3143
3171
|
addEventListener(_el$5, "click", reload, true);
|
|
@@ -3157,9 +3185,9 @@ const AddressBar = (props) => {
|
|
|
3157
3185
|
insert(_el$8, createComponent(Switch, {
|
|
3158
3186
|
get fallback() {
|
|
3159
3187
|
return (() => {
|
|
3160
|
-
var _el$
|
|
3161
|
-
_el$
|
|
3162
|
-
return _el$
|
|
3188
|
+
var _el$48 = _tmpl$18$3();
|
|
3189
|
+
_el$48.firstChild;
|
|
3190
|
+
return _el$48;
|
|
3163
3191
|
})();
|
|
3164
3192
|
},
|
|
3165
3193
|
get children() {
|
|
@@ -3244,30 +3272,30 @@ const AddressBar = (props) => {
|
|
|
3244
3272
|
return suggestions();
|
|
3245
3273
|
},
|
|
3246
3274
|
children: (item, i) => (() => {
|
|
3247
|
-
var _el$
|
|
3248
|
-
_el$
|
|
3249
|
-
_el$
|
|
3275
|
+
var _el$50 = _tmpl$19$3(), _el$51 = _el$50.firstChild, _el$52 = _el$51.nextSibling, _el$53 = _el$52.firstChild, _el$54 = _el$53.nextSibling;
|
|
3276
|
+
_el$50.addEventListener("mouseenter", () => setSelectedIndex(i()));
|
|
3277
|
+
_el$50.$$mousedown = (e) => {
|
|
3250
3278
|
e.preventDefault();
|
|
3251
3279
|
selectSuggestion(item.url);
|
|
3252
3280
|
};
|
|
3253
|
-
insert(_el$
|
|
3281
|
+
insert(_el$51, (() => {
|
|
3254
3282
|
var _c$ = memo(() => item.source === "bookmark");
|
|
3255
3283
|
return () => _c$() ? "★" : item.source === "search" ? "⌕" : "◌";
|
|
3256
3284
|
})());
|
|
3257
|
-
insert(_el$
|
|
3258
|
-
insert(_el$
|
|
3285
|
+
insert(_el$53, () => item.title || item.url);
|
|
3286
|
+
insert(_el$54, () => item.subtitle || item.url);
|
|
3259
3287
|
createRenderEffect((_p$) => {
|
|
3260
3288
|
var _v$12 = `address-autocomplete-${i()}`, _v$13 = `autocomplete-item ${selectedIndex() === i() ? "selected" : ""}`, _v$14 = selectedIndex() === i();
|
|
3261
|
-
_v$12 !== _p$.e && setAttribute(_el$
|
|
3262
|
-
_v$13 !== _p$.t && className(_el$
|
|
3263
|
-
_v$14 !== _p$.a && setAttribute(_el$
|
|
3289
|
+
_v$12 !== _p$.e && setAttribute(_el$50, "id", _p$.e = _v$12);
|
|
3290
|
+
_v$13 !== _p$.t && className(_el$50, _p$.t = _v$13);
|
|
3291
|
+
_v$14 !== _p$.a && setAttribute(_el$50, "aria-selected", _p$.a = _v$14);
|
|
3264
3292
|
return _p$;
|
|
3265
3293
|
}, {
|
|
3266
3294
|
e: void 0,
|
|
3267
3295
|
t: void 0,
|
|
3268
3296
|
a: void 0
|
|
3269
3297
|
});
|
|
3270
|
-
return _el$
|
|
3298
|
+
return _el$50;
|
|
3271
3299
|
})()
|
|
3272
3300
|
}));
|
|
3273
3301
|
return _el$14;
|
|
@@ -3305,43 +3333,66 @@ const AddressBar = (props) => {
|
|
|
3305
3333
|
return memo(() => !!pageDiff())() && diffExpanded();
|
|
3306
3334
|
},
|
|
3307
3335
|
get children() {
|
|
3308
|
-
var _el$19 = _tmpl$0$5(), _el$20 = _el$19.firstChild, _el$21 = _el$20.firstChild, _el$22 = _el$21.firstChild;
|
|
3309
|
-
_el$
|
|
3310
|
-
var _el$
|
|
3311
|
-
insert(_el$
|
|
3336
|
+
var _el$19 = _tmpl$0$5(), _el$20 = _el$19.firstChild, _el$21 = _el$20.firstChild, _el$22 = _el$21.firstChild, _el$23 = _el$22.nextSibling;
|
|
3337
|
+
_el$23.firstChild;
|
|
3338
|
+
var _el$30 = _el$21.nextSibling, _el$31 = _el$30.firstChild, _el$32 = _el$31.nextSibling;
|
|
3339
|
+
insert(_el$23, () => formatRelativeTime2(pageDiff().oldSnapshot.capturedAt), null);
|
|
3312
3340
|
insert(_el$21, createComponent(Show, {
|
|
3313
3341
|
get when() {
|
|
3314
3342
|
return memo(() => !!((pageDiff().burstCount || 0) > 1 && pageDiff().firstDetectedAt))() && pageDiff().lastDetectedAt;
|
|
3315
3343
|
},
|
|
3316
3344
|
get children() {
|
|
3317
|
-
var _el$
|
|
3318
|
-
_el$
|
|
3319
|
-
insert(_el$
|
|
3320
|
-
insert(_el$
|
|
3321
|
-
return _el$
|
|
3345
|
+
var _el$25 = _tmpl$8$8(), _el$26 = _el$25.firstChild, _el$29 = _el$26.nextSibling;
|
|
3346
|
+
_el$29.nextSibling;
|
|
3347
|
+
insert(_el$25, () => pageDiff().burstCount, _el$29);
|
|
3348
|
+
insert(_el$25, () => formatElapsed(pageDiff().firstDetectedAt, pageDiff().lastDetectedAt), null);
|
|
3349
|
+
return _el$25;
|
|
3322
3350
|
}
|
|
3323
3351
|
}), null);
|
|
3324
|
-
_el$
|
|
3325
|
-
_el$
|
|
3352
|
+
_el$31.$$click = () => void openDiffTimeline();
|
|
3353
|
+
_el$32.$$click = () => setDiffExpanded(false);
|
|
3326
3354
|
insert(_el$19, createComponent(Show, {
|
|
3327
3355
|
get when() {
|
|
3328
3356
|
return memo(() => !!pageDiff().recentBursts?.length)() && (pageDiff().recentBursts?.length || 0) > 1;
|
|
3329
3357
|
},
|
|
3330
3358
|
get children() {
|
|
3331
|
-
var _el$
|
|
3332
|
-
_el$
|
|
3333
|
-
insert(_el$
|
|
3359
|
+
var _el$33 = _tmpl$9$6();
|
|
3360
|
+
_el$33.firstChild;
|
|
3361
|
+
insert(_el$33, createComponent(For, {
|
|
3334
3362
|
get each() {
|
|
3335
3363
|
return pageDiff().recentBursts;
|
|
3336
3364
|
},
|
|
3337
|
-
children: (burst) => (() => {
|
|
3338
|
-
var _el$
|
|
3339
|
-
insert(_el$
|
|
3340
|
-
|
|
3341
|
-
|
|
3365
|
+
children: (burst, i) => (() => {
|
|
3366
|
+
var _el$55 = _tmpl$20$2(), _el$56 = _el$55.firstChild, _el$57 = _el$56.nextSibling;
|
|
3367
|
+
insert(_el$56, (() => {
|
|
3368
|
+
var _c$2 = memo(() => i() === 0);
|
|
3369
|
+
return () => _c$2() ? "Latest" : formatRelativeTime2(burst.detectedAt);
|
|
3370
|
+
})());
|
|
3371
|
+
insert(_el$57, createComponent(For, {
|
|
3372
|
+
get each() {
|
|
3373
|
+
return parseDiffSummaryParts(burst.summary);
|
|
3374
|
+
},
|
|
3375
|
+
children: (part) => (() => {
|
|
3376
|
+
var _el$58 = _tmpl$22$2(), _el$60 = _el$58.firstChild;
|
|
3377
|
+
insert(_el$58, createComponent(Show, {
|
|
3378
|
+
get when() {
|
|
3379
|
+
return part.section;
|
|
3380
|
+
},
|
|
3381
|
+
get children() {
|
|
3382
|
+
var _el$59 = _tmpl$21$2();
|
|
3383
|
+
insert(_el$59, () => part.section);
|
|
3384
|
+
return _el$59;
|
|
3385
|
+
}
|
|
3386
|
+
}), _el$60);
|
|
3387
|
+
insert(_el$60, () => part.text);
|
|
3388
|
+
return _el$58;
|
|
3389
|
+
})()
|
|
3390
|
+
}));
|
|
3391
|
+
createRenderEffect(() => _el$55.classList.toggle("latest", !!(i() === 0)));
|
|
3392
|
+
return _el$55;
|
|
3342
3393
|
})()
|
|
3343
3394
|
}), null);
|
|
3344
|
-
return _el$
|
|
3395
|
+
return _el$33;
|
|
3345
3396
|
}
|
|
3346
3397
|
}), null);
|
|
3347
3398
|
insert(_el$19, createComponent(For, {
|
|
@@ -3349,89 +3400,90 @@ const AddressBar = (props) => {
|
|
|
3349
3400
|
return pageDiff().changes;
|
|
3350
3401
|
},
|
|
3351
3402
|
children: (change) => (() => {
|
|
3352
|
-
var _el$
|
|
3353
|
-
insert(_el$
|
|
3354
|
-
insert(_el$
|
|
3355
|
-
insert(_el$
|
|
3403
|
+
var _el$61 = _tmpl$28$2(), _el$62 = _el$61.firstChild, _el$63 = _el$62.firstChild, _el$64 = _el$63.firstChild, _el$65 = _el$64.nextSibling, _el$66 = _el$63.nextSibling;
|
|
3404
|
+
insert(_el$64, () => getChangeKindLabel(change.kind));
|
|
3405
|
+
insert(_el$65, () => formatSectionLabel(change.section));
|
|
3406
|
+
insert(_el$66, () => change.summary);
|
|
3407
|
+
insert(_el$61, createComponent(Show, {
|
|
3356
3408
|
get when() {
|
|
3357
3409
|
return change.before || change.after;
|
|
3358
3410
|
},
|
|
3359
3411
|
get children() {
|
|
3360
|
-
var _el$
|
|
3361
|
-
insert(_el$
|
|
3412
|
+
var _el$67 = _tmpl$25$2();
|
|
3413
|
+
insert(_el$67, createComponent(Show, {
|
|
3362
3414
|
get when() {
|
|
3363
3415
|
return change.before;
|
|
3364
3416
|
},
|
|
3365
3417
|
get children() {
|
|
3366
|
-
var _el$
|
|
3367
|
-
insert(_el$
|
|
3368
|
-
return _el$
|
|
3418
|
+
var _el$68 = _tmpl$23$2(), _el$69 = _el$68.firstChild, _el$70 = _el$69.nextSibling;
|
|
3419
|
+
insert(_el$70, () => change.before);
|
|
3420
|
+
return _el$68;
|
|
3369
3421
|
}
|
|
3370
3422
|
}), null);
|
|
3371
|
-
insert(_el$
|
|
3423
|
+
insert(_el$67, createComponent(Show, {
|
|
3372
3424
|
get when() {
|
|
3373
3425
|
return change.after;
|
|
3374
3426
|
},
|
|
3375
3427
|
get children() {
|
|
3376
|
-
var _el$
|
|
3377
|
-
insert(_el$
|
|
3378
|
-
return _el$
|
|
3428
|
+
var _el$71 = _tmpl$24$2(), _el$72 = _el$71.firstChild, _el$73 = _el$72.nextSibling;
|
|
3429
|
+
insert(_el$73, () => change.after);
|
|
3430
|
+
return _el$71;
|
|
3379
3431
|
}
|
|
3380
3432
|
}), null);
|
|
3381
|
-
return _el$
|
|
3433
|
+
return _el$67;
|
|
3382
3434
|
}
|
|
3383
3435
|
}), null);
|
|
3384
|
-
insert(_el$
|
|
3436
|
+
insert(_el$61, createComponent(Show, {
|
|
3385
3437
|
get when() {
|
|
3386
3438
|
return change.addedItems?.length;
|
|
3387
3439
|
},
|
|
3388
3440
|
get children() {
|
|
3389
|
-
var _el$
|
|
3390
|
-
insert(_el$
|
|
3441
|
+
var _el$74 = _tmpl$26$2(), _el$75 = _el$74.firstChild, _el$76 = _el$75.nextSibling;
|
|
3442
|
+
insert(_el$76, createComponent(For, {
|
|
3391
3443
|
get each() {
|
|
3392
3444
|
return change.addedItems;
|
|
3393
3445
|
},
|
|
3394
3446
|
children: (item) => (() => {
|
|
3395
|
-
var _el$
|
|
3396
|
-
insert(_el$
|
|
3397
|
-
return _el$
|
|
3447
|
+
var _el$80 = _tmpl$29$2();
|
|
3448
|
+
insert(_el$80, item);
|
|
3449
|
+
return _el$80;
|
|
3398
3450
|
})()
|
|
3399
3451
|
}));
|
|
3400
|
-
return _el$
|
|
3452
|
+
return _el$74;
|
|
3401
3453
|
}
|
|
3402
3454
|
}), null);
|
|
3403
|
-
insert(_el$
|
|
3455
|
+
insert(_el$61, createComponent(Show, {
|
|
3404
3456
|
get when() {
|
|
3405
3457
|
return change.removedItems?.length;
|
|
3406
3458
|
},
|
|
3407
3459
|
get children() {
|
|
3408
|
-
var _el$
|
|
3409
|
-
insert(_el$
|
|
3460
|
+
var _el$77 = _tmpl$27$2(), _el$78 = _el$77.firstChild, _el$79 = _el$78.nextSibling;
|
|
3461
|
+
insert(_el$79, createComponent(For, {
|
|
3410
3462
|
get each() {
|
|
3411
3463
|
return change.removedItems;
|
|
3412
3464
|
},
|
|
3413
3465
|
children: (item) => (() => {
|
|
3414
|
-
var _el$
|
|
3415
|
-
insert(_el$
|
|
3416
|
-
return _el$
|
|
3466
|
+
var _el$81 = _tmpl$29$2();
|
|
3467
|
+
insert(_el$81, item);
|
|
3468
|
+
return _el$81;
|
|
3417
3469
|
})()
|
|
3418
3470
|
}));
|
|
3419
|
-
return _el$
|
|
3471
|
+
return _el$77;
|
|
3420
3472
|
}
|
|
3421
3473
|
}), null);
|
|
3422
|
-
createRenderEffect(() => className(_el$
|
|
3423
|
-
return _el$
|
|
3474
|
+
createRenderEffect(() => className(_el$61, `page-diff-item page-diff-${change.kind}`));
|
|
3475
|
+
return _el$61;
|
|
3424
3476
|
})()
|
|
3425
3477
|
}), null);
|
|
3426
3478
|
return _el$19;
|
|
3427
3479
|
}
|
|
3428
|
-
}), _el$
|
|
3429
|
-
_el$
|
|
3480
|
+
}), _el$35);
|
|
3481
|
+
_el$36.$$click = async () => {
|
|
3430
3482
|
const id = activeTabId2();
|
|
3431
3483
|
if (!id) return;
|
|
3432
3484
|
await toggleAdBlock(id);
|
|
3433
3485
|
};
|
|
3434
|
-
insert(_el$
|
|
3486
|
+
insert(_el$37, createComponent(Show, {
|
|
3435
3487
|
get when() {
|
|
3436
3488
|
return activeTab()?.adBlockingEnabled;
|
|
3437
3489
|
},
|
|
@@ -3439,7 +3491,7 @@ const AddressBar = (props) => {
|
|
|
3439
3491
|
return _tmpl$1$5();
|
|
3440
3492
|
}
|
|
3441
3493
|
}), null);
|
|
3442
|
-
insert(_el$
|
|
3494
|
+
insert(_el$37, createComponent(Show, {
|
|
3443
3495
|
get when() {
|
|
3444
3496
|
return !activeTab()?.adBlockingEnabled;
|
|
3445
3497
|
},
|
|
@@ -3447,67 +3499,67 @@ const AddressBar = (props) => {
|
|
|
3447
3499
|
return [_tmpl$1$5(), _tmpl$10$5()];
|
|
3448
3500
|
}
|
|
3449
3501
|
}), null);
|
|
3450
|
-
insert(_el$
|
|
3502
|
+
insert(_el$35, createComponent(Show, {
|
|
3451
3503
|
when: !isPrivateWindow,
|
|
3452
3504
|
get children() {
|
|
3453
|
-
var _el$
|
|
3454
|
-
_el$
|
|
3455
|
-
createRenderEffect(() => _el$
|
|
3456
|
-
return _el$
|
|
3505
|
+
var _el$41 = _tmpl$11$5();
|
|
3506
|
+
_el$41.$$click = () => window.vessel.content.toggleReader();
|
|
3507
|
+
createRenderEffect(() => _el$41.classList.toggle("active", !!activeTab()?.isReaderMode));
|
|
3508
|
+
return _el$41;
|
|
3457
3509
|
}
|
|
3458
3510
|
}), null);
|
|
3459
|
-
insert(_el$
|
|
3511
|
+
insert(_el$35, createComponent(Show, {
|
|
3460
3512
|
when: !isPrivateWindow,
|
|
3461
3513
|
get children() {
|
|
3462
|
-
var _el$
|
|
3463
|
-
addEventListener(_el$
|
|
3464
|
-
createRenderEffect(() => _el$
|
|
3465
|
-
return _el$
|
|
3514
|
+
var _el$42 = _tmpl$12$5();
|
|
3515
|
+
addEventListener(_el$42, "click", toggleDevTools, true);
|
|
3516
|
+
createRenderEffect(() => _el$42.classList.toggle("active", !!devtoolsPanelOpen2()));
|
|
3517
|
+
return _el$42;
|
|
3466
3518
|
}
|
|
3467
3519
|
}), null);
|
|
3468
|
-
insert(_el$
|
|
3520
|
+
insert(_el$35, createComponent(Show, {
|
|
3469
3521
|
when: !isPrivateWindow,
|
|
3470
3522
|
get children() {
|
|
3471
|
-
var _el$
|
|
3472
|
-
_el$
|
|
3473
|
-
addEventListener(_el$
|
|
3474
|
-
insert(_el$
|
|
3523
|
+
var _el$43 = _tmpl$14$4();
|
|
3524
|
+
_el$43.firstChild;
|
|
3525
|
+
addEventListener(_el$43, "click", toggleSidebar, true);
|
|
3526
|
+
insert(_el$43, createComponent(Show, {
|
|
3475
3527
|
get when() {
|
|
3476
3528
|
return pendingApprovalCount() > 0;
|
|
3477
3529
|
},
|
|
3478
3530
|
get children() {
|
|
3479
|
-
var _el$
|
|
3480
|
-
insert(_el$
|
|
3481
|
-
createRenderEffect(() => setAttribute(_el$
|
|
3482
|
-
return _el$
|
|
3531
|
+
var _el$45 = _tmpl$13$4();
|
|
3532
|
+
insert(_el$45, pendingApprovalCount);
|
|
3533
|
+
createRenderEffect(() => setAttribute(_el$45, "aria-label", `${pendingApprovalCount()} pending`));
|
|
3534
|
+
return _el$45;
|
|
3483
3535
|
}
|
|
3484
3536
|
}), null);
|
|
3485
3537
|
createRenderEffect((_p$) => {
|
|
3486
3538
|
var _v$5 = !!(pendingApprovalCount() > 0), _v$6 = pendingApprovalCount() > 0 ? `AI Sidebar — ${pendingApprovalCount()} pending approval${pendingApprovalCount() > 1 ? "s" : ""}` : "AI Sidebar (Ctrl+Shift+L)";
|
|
3487
|
-
_v$5 !== _p$.e && _el$
|
|
3488
|
-
_v$6 !== _p$.t && setAttribute(_el$
|
|
3539
|
+
_v$5 !== _p$.e && _el$43.classList.toggle("has-approvals", _p$.e = _v$5);
|
|
3540
|
+
_v$6 !== _p$.t && setAttribute(_el$43, "title", _p$.t = _v$6);
|
|
3489
3541
|
return _p$;
|
|
3490
3542
|
}, {
|
|
3491
3543
|
e: void 0,
|
|
3492
3544
|
t: void 0
|
|
3493
3545
|
});
|
|
3494
|
-
return _el$
|
|
3546
|
+
return _el$43;
|
|
3495
3547
|
}
|
|
3496
3548
|
}), null);
|
|
3497
|
-
insert(_el$
|
|
3549
|
+
insert(_el$35, createComponent(Show, {
|
|
3498
3550
|
when: !isPrivateWindow,
|
|
3499
3551
|
get children() {
|
|
3500
3552
|
return [(() => {
|
|
3501
|
-
var _el$
|
|
3502
|
-
addEventListener(_el$
|
|
3503
|
-
insert(_el$
|
|
3553
|
+
var _el$46 = _tmpl$15$4();
|
|
3554
|
+
addEventListener(_el$46, "click", props.onClearData, true);
|
|
3555
|
+
insert(_el$46, createComponent(trash_2_default, {
|
|
3504
3556
|
size: 14
|
|
3505
3557
|
}));
|
|
3506
|
-
return _el$45;
|
|
3507
|
-
})(), (() => {
|
|
3508
|
-
var _el$46 = _tmpl$16$3();
|
|
3509
|
-
addEventListener(_el$46, "click", openSettings, true);
|
|
3510
3558
|
return _el$46;
|
|
3559
|
+
})(), (() => {
|
|
3560
|
+
var _el$47 = _tmpl$16$3();
|
|
3561
|
+
addEventListener(_el$47, "click", openSettings, true);
|
|
3562
|
+
return _el$47;
|
|
3511
3563
|
})()];
|
|
3512
3564
|
}
|
|
3513
3565
|
}), null);
|
|
@@ -3517,9 +3569,9 @@ const AddressBar = (props) => {
|
|
|
3517
3569
|
_v$8 !== _p$.t && (_el$4.disabled = _p$.t = _v$8);
|
|
3518
3570
|
_v$9 !== _p$.a && setAttribute(_el$13, "aria-expanded", _p$.a = _v$9);
|
|
3519
3571
|
_v$0 !== _p$.o && setAttribute(_el$13, "aria-activedescendant", _p$.o = _v$0);
|
|
3520
|
-
_v$1 !== _p$.i && _el$
|
|
3521
|
-
_v$10 !== _p$.n && _el$
|
|
3522
|
-
_v$11 !== _p$.s && setAttribute(_el$
|
|
3572
|
+
_v$1 !== _p$.i && _el$36.classList.toggle("active", _p$.i = _v$1);
|
|
3573
|
+
_v$10 !== _p$.n && _el$36.classList.toggle("nav-btn-muted", _p$.n = _v$10);
|
|
3574
|
+
_v$11 !== _p$.s && setAttribute(_el$36, "title", _p$.s = _v$11);
|
|
3523
3575
|
return _p$;
|
|
3524
3576
|
}, {
|
|
3525
3577
|
e: void 0,
|
|
@@ -6421,7 +6473,7 @@ function renderKitPrompt(kit, values) {
|
|
|
6421
6473
|
(_, key) => values[key] ?? ""
|
|
6422
6474
|
);
|
|
6423
6475
|
}
|
|
6424
|
-
var _tmpl$$c = /* @__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$c = /* @__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$b = /* @__PURE__ */ template(`<div class=kit-install-error><span></span><button class=kit-install-error-dismiss type=button aria-label=Dismiss>×`), _tmpl$4$b = /* @__PURE__ */ template(`<div class=kit-list>`), _tmpl$5$8 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Scheduled</span><span class=kit-list-count>`), _tmpl$6$8 = /* @__PURE__ */ template(`<div class=kit-sched-list>`), _tmpl$7$8 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Recent Activity</span><span class=kit-list-count>`), _tmpl$8$7 = /* @__PURE__ */ template(`<div class=kit-activity-list>`), _tmpl$9$
|
|
6476
|
+
var _tmpl$$c = /* @__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$c = /* @__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$b = /* @__PURE__ */ template(`<div class=kit-install-error><span></span><button class=kit-install-error-dismiss type=button aria-label=Dismiss>×`), _tmpl$4$b = /* @__PURE__ */ template(`<div class=kit-list>`), _tmpl$5$8 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Scheduled</span><span class=kit-list-count>`), _tmpl$6$8 = /* @__PURE__ */ template(`<div class=kit-sched-list>`), _tmpl$7$8 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Recent Activity</span><span class=kit-list-count>`), _tmpl$8$7 = /* @__PURE__ */ template(`<div class=kit-activity-list>`), _tmpl$9$5 = /* @__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$4 = /* @__PURE__ */ template(`<p class=kit-form-desc>`), _tmpl$1$4 = /* @__PURE__ */ template(`<div class=kit-form-fields>`), _tmpl$10$4 = /* @__PURE__ */ template(`<p class=kit-form-estimate>Estimated run time: ~<!> min`), _tmpl$11$4 = /* @__PURE__ */ template(`<button class="agent-primary-button kit-run-btn"type=button>`), _tmpl$12$4 = /* @__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$3 = /* @__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$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Day</label><select class=kit-form-input>`), _tmpl$15$3 = /* @__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$1 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Day</label><select class="kit-form-input kit-schedule-time">`), _tmpl$21$1 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Time</label><input type=time class="kit-form-input kit-schedule-time">`), _tmpl$22$1 = /* @__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$1 = /* @__PURE__ */ template(`<section class=automation-panel>`), _tmpl$24$1 = /* @__PURE__ */ template(`<div class=kit-card-meta>~<!> min`), _tmpl$25$1 = /* @__PURE__ */ template(`<button class=kit-remove-btn type=button>×`), _tmpl$26$1 = /* @__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$1 = /* @__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$1 = /* @__PURE__ */ template(`<div class=kit-sched-next>Next: `), _tmpl$29$1 = /* @__PURE__ */ template(`<div class=sched-context-menu><button class=sched-ctx-item type=button>Edit task</button><button class=sched-ctx-item type=button>Edit schedule</button><div class=sched-ctx-divider></div><button class=sched-ctx-item type=button></button><button class="sched-ctx-item sched-ctx-danger"type=button>Delete`), _tmpl$30$1 = /* @__PURE__ */ template(`<div class=kit-sched-card><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-sched-body><div class=kit-sched-name></div><div class=kit-sched-meta></div></div><div class=kit-sched-actions><button class=kit-sched-toggle type=button></button><button class=kit-remove-btn type=button title="Delete schedule"aria-label="Delete schedule">×`), _tmpl$31$1 = /* @__PURE__ */ template(`<div class=kit-activity-output>`), _tmpl$32$1 = /* @__PURE__ */ template(`<div class=kit-activity-card><div class=kit-activity-header><div class=kit-activity-title><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-activity-title-copy><div class=kit-sched-name></div><div class=kit-activity-time></div></div></div><span class=kit-activity-badge>`), _tmpl$33$1 = /* @__PURE__ */ template(`<div class="kit-activity-output kit-activity-placeholder">`), _tmpl$34$1 = /* @__PURE__ */ template(`<span class=kit-form-required aria-hidden=true>*`), _tmpl$35$1 = /* @__PURE__ */ template(`<textarea class=kit-form-textarea rows=3>`), _tmpl$36$1 = /* @__PURE__ */ template(`<p class=kit-form-hint>`), _tmpl$37$1 = /* @__PURE__ */ template(`<div class=kit-form-field><label class=kit-form-label>`), _tmpl$38$1 = /* @__PURE__ */ template(`<input class=kit-form-input>`), _tmpl$39$1 = /* @__PURE__ */ template(`<span class=kit-run-spinner aria-hidden=true>`), _tmpl$40$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=sched-type>`), _tmpl$41$1 = /* @__PURE__ */ template(`<option>`), _tmpl$42$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=edit-sched-type>`);
|
|
6425
6477
|
const ICON_MAP = {
|
|
6426
6478
|
BookOpen: book_open_default,
|
|
6427
6479
|
Tag: tag_default,
|
|
@@ -6984,7 +7036,7 @@ const AutomationTab = (props) => {
|
|
|
6984
7036
|
},
|
|
6985
7037
|
get children() {
|
|
6986
7038
|
return [(() => {
|
|
6987
|
-
var _el$23 = _tmpl$9$
|
|
7039
|
+
var _el$23 = _tmpl$9$5(), _el$24 = _el$23.firstChild, _el$25 = _el$24.nextSibling;
|
|
6988
7040
|
_el$24.$$click = () => {
|
|
6989
7041
|
setSelectedKit(null);
|
|
6990
7042
|
setEditingTaskJobId(null);
|
|
@@ -7260,7 +7312,24 @@ const AutomationTab = (props) => {
|
|
|
7260
7312
|
})();
|
|
7261
7313
|
};
|
|
7262
7314
|
delegateEvents(["click", "input", "keydown", "contextmenu"]);
|
|
7263
|
-
var _tmpl$$b = /* @__PURE__ */ template(`<div class=agent-muted>Loading...`), _tmpl$2$b = /* @__PURE__ */ template(`<div class=agent-muted>`), _tmpl$3$a = /* @__PURE__ */ template(`<div class=agent-muted>No changes detected yet.`), _tmpl$4$a = /* @__PURE__ */ template(`<div class=agent-section-title>
|
|
7315
|
+
var _tmpl$$b = /* @__PURE__ */ template(`<div class=agent-muted>Loading...`), _tmpl$2$b = /* @__PURE__ */ template(`<div class=agent-muted>`), _tmpl$3$a = /* @__PURE__ */ template(`<div class=agent-muted>No changes detected yet.`), _tmpl$4$a = /* @__PURE__ */ template(`<div class=page-diff-timeline-header><div class=agent-section-title>Change history for this page</div><div class=agent-muted>Newest detections are first. Each entry is a saved change burst.`), _tmpl$5$7 = /* @__PURE__ */ template(`<div class=page-diff-history-list>`), _tmpl$6$7 = /* @__PURE__ */ template(`<div class=page-diff-timeline>`), _tmpl$7$7 = /* @__PURE__ */ template(`<div class=page-diff-history-item><div class=page-diff-history-time><span class=page-diff-history-label></span><span></span></div><div class=page-diff-history-card><div class=page-diff-history-summary-list></div><div class=page-diff-history-position>Entry <!> of `), _tmpl$8$6 = /* @__PURE__ */ template(`<span class=page-diff-history-summary-section>`), _tmpl$9$4 = /* @__PURE__ */ template(`<div class=page-diff-history-summary-row><span class=page-diff-history-summary>`);
|
|
7316
|
+
const formatChangeTime = (isoDate) => new Date(isoDate).toLocaleString([], {
|
|
7317
|
+
month: "short",
|
|
7318
|
+
day: "numeric",
|
|
7319
|
+
hour: "numeric",
|
|
7320
|
+
minute: "2-digit"
|
|
7321
|
+
});
|
|
7322
|
+
const formatRelativeTime = (isoDate) => {
|
|
7323
|
+
const diff = Date.now() - new Date(isoDate).getTime();
|
|
7324
|
+
const mins = Math.floor(diff / 6e4);
|
|
7325
|
+
if (mins < 1) return "just now";
|
|
7326
|
+
if (mins < 60) return `${mins}m ago`;
|
|
7327
|
+
const hours = Math.floor(mins / 60);
|
|
7328
|
+
if (hours < 24) return `${hours}h ago`;
|
|
7329
|
+
const days = Math.floor(hours / 24);
|
|
7330
|
+
if (days < 7) return `${days}d ago`;
|
|
7331
|
+
return new Date(isoDate).toLocaleDateString();
|
|
7332
|
+
};
|
|
7264
7333
|
const PageDiffTimeline = () => {
|
|
7265
7334
|
const {
|
|
7266
7335
|
activeTab
|
|
@@ -7351,18 +7420,35 @@ const PageDiffTimeline = () => {
|
|
|
7351
7420
|
return bursts();
|
|
7352
7421
|
},
|
|
7353
7422
|
children: (burst, i) => (() => {
|
|
7354
|
-
var _el$7 = _tmpl$
|
|
7355
|
-
|
|
7356
|
-
|
|
7357
|
-
|
|
7423
|
+
var _el$7 = _tmpl$7$7(), _el$8 = _el$7.firstChild, _el$9 = _el$8.firstChild, _el$0 = _el$9.nextSibling, _el$1 = _el$8.nextSibling, _el$10 = _el$1.firstChild, _el$11 = _el$10.nextSibling, _el$12 = _el$11.firstChild, _el$14 = _el$12.nextSibling;
|
|
7424
|
+
_el$14.nextSibling;
|
|
7425
|
+
insert(_el$9, (() => {
|
|
7426
|
+
var _c$ = memo(() => i() === 0);
|
|
7427
|
+
return () => _c$() ? "Latest change" : formatRelativeTime(burst.detectedAt);
|
|
7428
|
+
})());
|
|
7429
|
+
insert(_el$0, () => formatChangeTime(burst.detectedAt));
|
|
7430
|
+
insert(_el$10, createComponent(For, {
|
|
7431
|
+
get each() {
|
|
7432
|
+
return parseDiffSummaryParts(burst.summary);
|
|
7358
7433
|
},
|
|
7359
|
-
|
|
7360
|
-
|
|
7361
|
-
|
|
7362
|
-
|
|
7363
|
-
|
|
7364
|
-
|
|
7365
|
-
|
|
7434
|
+
children: (part) => (() => {
|
|
7435
|
+
var _el$15 = _tmpl$9$4(), _el$17 = _el$15.firstChild;
|
|
7436
|
+
insert(_el$15, createComponent(Show, {
|
|
7437
|
+
get when() {
|
|
7438
|
+
return part.section;
|
|
7439
|
+
},
|
|
7440
|
+
get children() {
|
|
7441
|
+
var _el$16 = _tmpl$8$6();
|
|
7442
|
+
insert(_el$16, () => part.section);
|
|
7443
|
+
return _el$16;
|
|
7444
|
+
}
|
|
7445
|
+
}), _el$17);
|
|
7446
|
+
insert(_el$17, () => part.text);
|
|
7447
|
+
return _el$15;
|
|
7448
|
+
})()
|
|
7449
|
+
}));
|
|
7450
|
+
insert(_el$11, () => i() + 1, _el$14);
|
|
7451
|
+
insert(_el$11, () => bursts().length, null);
|
|
7366
7452
|
return _el$7;
|
|
7367
7453
|
})()
|
|
7368
7454
|
}));
|