linear-grab 0.15.5 → 0.16.1
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 +1 -1
- package/dist/index.global.js +7 -7
- package/dist/linear-grab.js +374 -301
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -42838,28 +42838,31 @@ async function LQ() {
|
|
|
42838
42838
|
//#endregion
|
|
42839
42839
|
//#region src/lib/captureShare.ts
|
|
42840
42840
|
Rr();
|
|
42841
|
-
|
|
42841
|
+
function RQ(e, t = 6e3) {
|
|
42842
|
+
return Promise.race([e, new Promise((e, n) => setTimeout(() => n(/* @__PURE__ */ Error("upload timeout")), t))]);
|
|
42843
|
+
}
|
|
42844
|
+
async function zQ() {
|
|
42842
42845
|
let e = [];
|
|
42843
42846
|
for (let t of await Tr() ?? []) {
|
|
42844
42847
|
let n = t.source?.filePath ? ` — \`${t.source.filePath}${t.source.lineNumber == null ? "" : `:${t.source.lineNumber}`}\`` : "";
|
|
42845
42848
|
if (e.push(`- \`<${t.componentName ?? t.tagName ?? "element"}>\`${n}`), t.screenshotDataUrl) try {
|
|
42846
|
-
let n = await xO(WA(t.screenshotDataUrl), `capture-${t.grabbedAt}.png`);
|
|
42849
|
+
let n = await RQ(xO(WA(t.screenshotDataUrl), `capture-${t.grabbedAt}.png`));
|
|
42847
42850
|
e.push(` `);
|
|
42848
42851
|
} catch {}
|
|
42849
42852
|
}
|
|
42850
42853
|
let t = BD();
|
|
42851
42854
|
if (t.result) try {
|
|
42852
|
-
let n = t.result.assetUrl ?? await xO(t.result.blob, `recording-${Date.now()}.gif`);
|
|
42855
|
+
let n = t.result.assetUrl ?? await RQ(xO(t.result.blob, `recording-${Date.now()}.gif`));
|
|
42853
42856
|
tO(n), e.push(``);
|
|
42854
42857
|
} catch {}
|
|
42855
42858
|
return e.length ? `Captured context:\n${e.join("\n")}` : null;
|
|
42856
42859
|
}
|
|
42857
42860
|
//#endregion
|
|
42858
42861
|
//#region src/panel/components/markdown.ts
|
|
42859
|
-
function
|
|
42862
|
+
function BQ(e) {
|
|
42860
42863
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
42861
42864
|
}
|
|
42862
|
-
var
|
|
42865
|
+
var VQ = /^(https?:\/\/|mailto:)/i, HQ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, UQ = /\.(png|jpe?g|gif|webp|avif|svg)(\?|#|$)/i, WQ = class extends HTMLElement {
|
|
42863
42866
|
objectUrl = null;
|
|
42864
42867
|
connectedCallback() {
|
|
42865
42868
|
let e = this.getAttribute("src") ?? "", t = this.getAttribute("alt") ?? "";
|
|
@@ -42886,27 +42889,27 @@ var BQ = /^(https?:\/\/|mailto:)/i, VQ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, HQ = /
|
|
|
42886
42889
|
this.objectUrl && URL.revokeObjectURL(this.objectUrl);
|
|
42887
42890
|
}
|
|
42888
42891
|
};
|
|
42889
|
-
typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media",
|
|
42890
|
-
var
|
|
42891
|
-
function GQ(e) {
|
|
42892
|
-
WQ = e ? e.replace(/\/$/, "") : null;
|
|
42893
|
-
}
|
|
42892
|
+
typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media", WQ);
|
|
42893
|
+
var GQ = null;
|
|
42894
42894
|
function KQ(e) {
|
|
42895
|
+
GQ = e ? e.replace(/\/$/, "") : null;
|
|
42896
|
+
}
|
|
42897
|
+
function qQ(e) {
|
|
42895
42898
|
try {
|
|
42896
|
-
if (
|
|
42899
|
+
if (GQ && new URL(e).hostname.endsWith("uploads.linear.app")) return `${GQ}/fetch?url=${encodeURIComponent(e)}`;
|
|
42897
42900
|
} catch {}
|
|
42898
42901
|
return e;
|
|
42899
42902
|
}
|
|
42900
|
-
function
|
|
42903
|
+
function JQ(e) {
|
|
42901
42904
|
let t = e;
|
|
42902
42905
|
return t = t.replace(/`([^`]+)`/g, (e, t) => `<code>${t}</code>`), t = t.replace(/!\[([^\]]*)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) => {
|
|
42903
|
-
if (!
|
|
42904
|
-
let r =
|
|
42905
|
-
return
|
|
42906
|
-
}), t = t.replace(/\[([^\]]+)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) =>
|
|
42906
|
+
if (!VQ.test(n)) return t;
|
|
42907
|
+
let r = qQ(n);
|
|
42908
|
+
return HQ.test(n) ? `<video controls preload="metadata" src="${r}"></video>` : r !== n && !UQ.test(n) ? `<lg-media src="${r}" alt="${t}"></lg-media>` : `<img src="${r}" alt="${t}" loading="lazy" />`;
|
|
42909
|
+
}), t = t.replace(/\[([^\]]+)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) => VQ.test(n) ? `<a href="${n}" target="_blank" rel="noopener noreferrer">${t}</a>` : t), t = t.replace(/<(https?:\/\/[^\s&]+)>/g, "<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>"), t = t.replace(/(^|[\s(])((?:https?:\/\/)[^\s<>()"']+)/g, (e, t, n) => `${t}<a href="${n}" target="_blank" rel="noopener noreferrer">${n}</a>`), t = t.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), t = t.replace(/(^|\W)\*([^*\n]+)\*(?=\W|$)/g, "$1<em>$2</em>"), t;
|
|
42907
42910
|
}
|
|
42908
|
-
function
|
|
42909
|
-
let t =
|
|
42911
|
+
function YQ(e) {
|
|
42912
|
+
let t = BQ(e.trim()).split("\n"), n = [], r = 0;
|
|
42910
42913
|
for (; r < t.length;) {
|
|
42911
42914
|
let e = t[r];
|
|
42912
42915
|
if (!e.trim()) {
|
|
@@ -42921,44 +42924,51 @@ function JQ(e) {
|
|
|
42921
42924
|
}
|
|
42922
42925
|
let i = e.match(/^(#{1,6})\s+(.*)$/);
|
|
42923
42926
|
if (i) {
|
|
42924
|
-
n.push(`<h4>${
|
|
42927
|
+
n.push(`<h4>${JQ(i[2])}</h4>`), r++;
|
|
42925
42928
|
continue;
|
|
42926
42929
|
}
|
|
42927
42930
|
if (/^\s*[-*]\s+/.test(e)) {
|
|
42928
42931
|
let e = [];
|
|
42929
|
-
for (; r < t.length && /^\s*[-*]\s+/.test(t[r]);) e.push(`<li>${
|
|
42932
|
+
for (; r < t.length && /^\s*[-*]\s+/.test(t[r]);) e.push(`<li>${JQ(t[r].replace(/^\s*[-*]\s+/, ""))}</li>`), r++;
|
|
42930
42933
|
n.push(`<ul>${e.join("")}</ul>`);
|
|
42931
42934
|
continue;
|
|
42932
42935
|
}
|
|
42933
42936
|
if (/^\s*\d+[.)]\s+/.test(e)) {
|
|
42934
42937
|
let e = [];
|
|
42935
|
-
for (; r < t.length && /^\s*\d+[.)]\s+/.test(t[r]);) e.push(`<li>${
|
|
42938
|
+
for (; r < t.length && /^\s*\d+[.)]\s+/.test(t[r]);) e.push(`<li>${JQ(t[r].replace(/^\s*\d+[.)]\s+/, ""))}</li>`), r++;
|
|
42936
42939
|
n.push(`<ol>${e.join("")}</ol>`);
|
|
42937
42940
|
continue;
|
|
42938
42941
|
}
|
|
42939
42942
|
let a = [];
|
|
42940
42943
|
for (; r < t.length && t[r].trim() && !/^(#{1,6}\s|```|\s*[-*]\s+|\s*\d+[.)]\s+)/.test(t[r]);) a.push(t[r]), r++;
|
|
42941
|
-
n.push(`<p>${
|
|
42944
|
+
n.push(`<p>${JQ(a.join("<br />"))}</p>`);
|
|
42942
42945
|
}
|
|
42943
42946
|
return n.join("");
|
|
42944
42947
|
}
|
|
42945
42948
|
//#endregion
|
|
42946
42949
|
//#region src/panel/views/ActivityView.tsx
|
|
42947
42950
|
Rr();
|
|
42948
|
-
var
|
|
42949
|
-
function
|
|
42951
|
+
var XQ = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), ZQ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), QQ = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), $Q = /*#__PURE__*/ N("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), e$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), t$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), n$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">My issues</span><div class=\"flex items-center gap-2\">"), r$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), i$ = /*#__PURE__*/ N("<button class=\"w-full cursor-pointer rounded-md px-2 py-1.5 text-left hover:bg-surface-2 transition-colors\"><div class=\"flex items-center gap-1.5 min-w-0\"><span class=\"font-mono text-[11px] text-text-dim shrink-0\"></span><span class=\"truncate text-[12.5px] text-text\"></span></div><div class=\"mt-0.5 flex items-center gap-1.5\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), a$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-left\">← Back"), o$ = /*#__PURE__*/ N("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), s$ = /*#__PURE__*/ N("<span class=\"truncate text-[12px] font-medium text-text\">"), c$ = /*#__PURE__*/ N("<span class=\"text-[11.5px] text-text-faint\">Loading…"), l$ = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), u$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2\">"), d$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Attachments</span><div class=\"flex flex-col gap-1\">"), f$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), p$ = /*#__PURE__*/ N("<option value=local>Message local Claude Code session"), m$ = /*#__PURE__*/ N("<option value=new>Start NEW agent (@<!>)"), h$ = /*#__PURE__*/ N("<option value=comment>Comment only"), g$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), _$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), v$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M13 7.5 8.2 12.3a3.2 3.2 0 0 1-4.5-4.5L8.9 2.6a2.1 2.1 0 0 1 3 3L7.1 10.4a1 1 0 0 1-1.5-1.5l4.3-4.3\">"), y$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), b$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 flex-col gap-1 border-b px-3 py-2\"><div class=\"flex items-center gap-2\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pl-3 pr-4 py-3 flex flex-col gap-3\"></div><div class=\"border-border shrink-0 border-t p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-2\">"), x$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border overflow-clip rounded-lg border\"><div class=\"border-border flex h-9 min-w-0 items-center justify-between gap-2 border-b px-3\"><div class=\"flex min-w-0 items-center gap-1.5 text-[11.5px] font-medium\"><span aria-hidden class=\"text-text-dim inline-flex\"></span><span class=\"text-text shrink-0\">Local Claude Code</span><span class=\"text-text-dim shrink-0\">started by you</span><span class=\"text-text-faint shrink-0 tabular-nums\">· </span></div></div><button class=\"hover:bg-surface-2 flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 px-3 text-left transition-colors\"title=\"Open the live thread in the Local tab\"><span></span><span class=\"text-text-faint min-w-0 flex-1 truncate text-[11.5px]\"></span><svg width=14 height=14 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden class=\"text-text-dim shrink-0\"><path d=\"m6 3.5 4.5 4.5L6 12.5\">"), S$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-center\">Merge"), C$ = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11.5px] hover:underline\">"), w$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><div class=\"flex items-center gap-1.5\"><span class=\"text-[11px] font-medium text-text-dim\"></span><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), T$ = /*#__PURE__*/ N("<option>Steer running agent<!> · "), E$ = /*#__PURE__*/ N("<span class=\"bg-danger inline-block size-2.5 rounded-full\"aria-hidden>"), D$ = /*#__PURE__*/ N("<span class=\"text-[11px] text-text-dim\">"), O$ = /*#__PURE__*/ N("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), k$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5 border-t border-border pt-1.5 mt-0.5\">"), A$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border rounded-lg border p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-1.5 flex-wrap\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), j$ = /*#__PURE__*/ N("<div class=\"flex items-start gap-1.5\"><span class=\"tabular-nums text-[10px] text-text-faint shrink-0 mt-px\"></span><span class=\"text-[11px] text-text-dim break-words min-w-0\">");
|
|
42952
|
+
function M$(e) {
|
|
42953
|
+
let t = k(() => YQ(e.text));
|
|
42954
|
+
return (() => {
|
|
42955
|
+
var e = XQ();
|
|
42956
|
+
return D(() => e.innerHTML = t()), e;
|
|
42957
|
+
})();
|
|
42958
|
+
}
|
|
42959
|
+
function N$() {
|
|
42950
42960
|
let [e, t] = T(null);
|
|
42951
42961
|
return O(() => {
|
|
42952
42962
|
let e = qA();
|
|
42953
42963
|
e && (t(e), XA());
|
|
42954
42964
|
}), (() => {
|
|
42955
|
-
var n =
|
|
42965
|
+
var n = ZQ();
|
|
42956
42966
|
return P(n, j(M, {
|
|
42957
42967
|
get when() {
|
|
42958
42968
|
return e() === null;
|
|
42959
42969
|
},
|
|
42960
42970
|
get fallback() {
|
|
42961
|
-
return j(
|
|
42971
|
+
return j(I$, {
|
|
42962
42972
|
get issueId() {
|
|
42963
42973
|
return e();
|
|
42964
42974
|
},
|
|
@@ -42966,12 +42976,12 @@ function D$() {
|
|
|
42966
42976
|
});
|
|
42967
42977
|
},
|
|
42968
42978
|
get children() {
|
|
42969
|
-
return j(
|
|
42979
|
+
return j(P$, { onSelect: (e) => t(e) });
|
|
42970
42980
|
}
|
|
42971
42981
|
})), n;
|
|
42972
42982
|
})();
|
|
42973
42983
|
}
|
|
42974
|
-
function
|
|
42984
|
+
function P$(e) {
|
|
42975
42985
|
let t, n = _r(() => ({
|
|
42976
42986
|
queryKey: ["my-issues"],
|
|
42977
42987
|
queryFn: uO,
|
|
@@ -42985,13 +42995,13 @@ function O$(e) {
|
|
|
42985
42995
|
overscan: 5
|
|
42986
42996
|
});
|
|
42987
42997
|
return (() => {
|
|
42988
|
-
var a =
|
|
42998
|
+
var a = n$(), o = a.firstChild.firstChild.nextSibling;
|
|
42989
42999
|
return P(o, j(M, {
|
|
42990
43000
|
get when() {
|
|
42991
43001
|
return n.dataUpdatedAt > 0;
|
|
42992
43002
|
},
|
|
42993
43003
|
get children() {
|
|
42994
|
-
var e =
|
|
43004
|
+
var e = QQ();
|
|
42995
43005
|
return e.firstChild, P(e, () => Nj(n.dataUpdatedAt), null), e;
|
|
42996
43006
|
}
|
|
42997
43007
|
}), null), P(o, j(vj, {
|
|
@@ -43003,14 +43013,14 @@ function O$(e) {
|
|
|
43003
43013
|
title: "Refresh",
|
|
43004
43014
|
"aria-label": "Refresh issues",
|
|
43005
43015
|
get children() {
|
|
43006
|
-
return
|
|
43016
|
+
return $Q();
|
|
43007
43017
|
}
|
|
43008
43018
|
}), null), P(a, j(M, {
|
|
43009
43019
|
get when() {
|
|
43010
43020
|
return n.isError;
|
|
43011
43021
|
},
|
|
43012
43022
|
get children() {
|
|
43013
|
-
var e =
|
|
43023
|
+
var e = e$();
|
|
43014
43024
|
return P(e, j(Aj, {
|
|
43015
43025
|
title: "Connect Linear in Settings",
|
|
43016
43026
|
get children() {
|
|
@@ -43023,7 +43033,7 @@ function O$(e) {
|
|
|
43023
43033
|
return $e(() => !n.isError && !n.isPending)() && r().length === 0;
|
|
43024
43034
|
},
|
|
43025
43035
|
get children() {
|
|
43026
|
-
var e =
|
|
43036
|
+
var e = e$();
|
|
43027
43037
|
return P(e, j(Aj, {
|
|
43028
43038
|
title: "No issues found",
|
|
43029
43039
|
children: "Issues you create will appear here."
|
|
@@ -43034,7 +43044,7 @@ function O$(e) {
|
|
|
43034
43044
|
return $e(() => !n.isError)() && r().length > 0;
|
|
43035
43045
|
},
|
|
43036
43046
|
get children() {
|
|
43037
|
-
var n = $
|
|
43047
|
+
var n = t$(), a = n.firstChild, o = t;
|
|
43038
43048
|
return typeof o == "function" ? pt(o, n) : t = n, P(a, j(We, {
|
|
43039
43049
|
get each() {
|
|
43040
43050
|
return i.getVirtualItems();
|
|
@@ -43042,8 +43052,8 @@ function O$(e) {
|
|
|
43042
43052
|
children: (t) => {
|
|
43043
43053
|
let n = k(() => r()[t.index]);
|
|
43044
43054
|
return (() => {
|
|
43045
|
-
var r =
|
|
43046
|
-
return P(r, j(
|
|
43055
|
+
var r = r$();
|
|
43056
|
+
return P(r, j(F$, {
|
|
43047
43057
|
get issue() {
|
|
43048
43058
|
return n();
|
|
43049
43059
|
},
|
|
@@ -43058,9 +43068,9 @@ function O$(e) {
|
|
|
43058
43068
|
}), null), a;
|
|
43059
43069
|
})();
|
|
43060
43070
|
}
|
|
43061
|
-
function
|
|
43071
|
+
function F$(e) {
|
|
43062
43072
|
return (() => {
|
|
43063
|
-
var t =
|
|
43073
|
+
var t = i$(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling, o = a.firstChild;
|
|
43064
43074
|
return t.$$click = () => e.onSelect(e.issue.id), P(n, j(kj, { get color() {
|
|
43065
43075
|
return e.issue.state.color;
|
|
43066
43076
|
} }), r), P(r, () => e.issue.identifier), P(i, () => e.issue.title), P(a, j(Oj, { get children() {
|
|
@@ -43094,7 +43104,7 @@ function k$(e) {
|
|
|
43094
43104
|
}), o), P(o, () => Nj(e.issue.updatedAt)), t;
|
|
43095
43105
|
})();
|
|
43096
43106
|
}
|
|
43097
|
-
function
|
|
43107
|
+
function I$(e) {
|
|
43098
43108
|
let t = sr(), n = _r(() => ({
|
|
43099
43109
|
queryKey: ["issue", e.issueId],
|
|
43100
43110
|
queryFn: () => dO(e.issueId),
|
|
@@ -43133,107 +43143,127 @@ function A$(e) {
|
|
|
43133
43143
|
queryFn: Tr,
|
|
43134
43144
|
enabled: ZA() === "composer"
|
|
43135
43145
|
})), [h, g] = T(!1), _ = async () => {
|
|
43136
|
-
g(!0);
|
|
43146
|
+
g(!0), d(null);
|
|
43137
43147
|
try {
|
|
43138
|
-
let e = await
|
|
43139
|
-
e
|
|
43148
|
+
let e = await zQ();
|
|
43149
|
+
e ? l((t) => `${t ? `${t}\n` : ""}${e}\n`) : d("Nothing captured yet — pick an element, capture a region, or record first.");
|
|
43150
|
+
} catch (e) {
|
|
43151
|
+
d(e instanceof Error ? e.message : "Attach failed.");
|
|
43140
43152
|
} finally {
|
|
43141
43153
|
g(!1);
|
|
43142
43154
|
}
|
|
43143
43155
|
}, v = () => {
|
|
43156
|
+
if (ZA() === "composer") {
|
|
43157
|
+
$A("capture");
|
|
43158
|
+
return;
|
|
43159
|
+
}
|
|
43144
43160
|
p(Date.now()), $A("composer"), FZ().catch(() => $A("capture"));
|
|
43145
43161
|
};
|
|
43146
43162
|
O(() => {
|
|
43147
43163
|
if (ZA() !== "composer") return;
|
|
43148
|
-
let e = (m.data ?? []).filter((e) => e.grabbedAt
|
|
43164
|
+
let e = (m.data ?? []).filter((e) => e.grabbedAt > f());
|
|
43149
43165
|
if (!e.length) return;
|
|
43150
43166
|
let t = e.map((e) => {
|
|
43151
43167
|
let t = e.source?.filePath ? ` — \`${e.source.filePath}${e.source.lineNumber == null ? "" : `:${e.source.lineNumber}`}\`` : "";
|
|
43152
43168
|
return `- \`<${e.componentName ?? e.tagName ?? "element"}>\`${t}`;
|
|
43153
43169
|
}).join("\n");
|
|
43154
|
-
l((e) => `${e ? `${e}\n` : ""}${t}\n`),
|
|
43170
|
+
l((e) => `${e ? `${e}\n` : ""}${t}\n`), p(Math.max(...e.map((e) => e.grabbedAt)));
|
|
43155
43171
|
});
|
|
43156
|
-
let y
|
|
43157
|
-
|
|
43158
|
-
|
|
43172
|
+
let [y, b] = T(BD());
|
|
43173
|
+
ae(VD(b));
|
|
43174
|
+
let x = !1;
|
|
43175
|
+
O(() => {
|
|
43176
|
+
y().phase === "ready" && x && (x = !1, _());
|
|
43177
|
+
});
|
|
43178
|
+
let S = () => {
|
|
43179
|
+
y().phase === "recording" ? QD() : (x = !0, ZD());
|
|
43180
|
+
}, C = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, w = k(() => (n.data?.attachments ?? []).map((e) => e.url).filter((e) => C.test(e))), E = _r(() => ({
|
|
43181
|
+
queryKey: ["pr-status", w().sort().join("|")],
|
|
43182
|
+
queryFn: () => IO(w()),
|
|
43159
43183
|
refetchInterval: 3e4,
|
|
43160
43184
|
retry: 0,
|
|
43161
|
-
enabled:
|
|
43162
|
-
})),
|
|
43163
|
-
|
|
43185
|
+
enabled: w().length > 0
|
|
43186
|
+
})), ee = (e) => ne().has(e) ? "MERGED" : E.data?.[e], [te, A] = T(null), [ne, re] = T(/* @__PURE__ */ new Set()), [ie, oe] = T(null), se = async (n) => {
|
|
43187
|
+
oe(null), A(n);
|
|
43164
43188
|
try {
|
|
43165
|
-
await LO(n),
|
|
43189
|
+
await LO(n), re((e) => new Set(e).add(n)), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), t.invalidateQueries({ queryKey: ["my-issues"] }), FQ();
|
|
43166
43190
|
} catch (e) {
|
|
43167
|
-
|
|
43191
|
+
oe(e instanceof Error ? `${e.message} (bridge must be running; gh needs merge rights)` : "Merge failed.");
|
|
43168
43192
|
} finally {
|
|
43169
|
-
|
|
43193
|
+
A(null);
|
|
43170
43194
|
}
|
|
43171
|
-
},
|
|
43195
|
+
}, ce = k(() => n.data ? yO(n.data.comments) : []), [le, ue] = T("comment"), de = !1, fe = !1;
|
|
43172
43196
|
O(() => {
|
|
43173
|
-
if (
|
|
43174
|
-
|
|
43175
|
-
let e =
|
|
43176
|
-
e.length ?
|
|
43197
|
+
if (fe || !n.data || !i.data) return;
|
|
43198
|
+
fe = !0;
|
|
43199
|
+
let e = ce();
|
|
43200
|
+
e.length ? ue(`thread:${e[0].id}`) : n.data.delegate && i.data.cursorAgentId && ue("new");
|
|
43201
|
+
}), O(() => {
|
|
43202
|
+
de || o() && (le() === "comment" || le() === "new") && ue("local");
|
|
43177
43203
|
});
|
|
43178
|
-
let
|
|
43204
|
+
let pe = vr(() => ({
|
|
43179
43205
|
mutationFn: async () => {
|
|
43180
43206
|
let t = c().trim();
|
|
43181
43207
|
if (!t) throw Error("Message is empty");
|
|
43182
|
-
let n = i.data ?? {}, r =
|
|
43183
|
-
|
|
43208
|
+
let n = i.data ?? {}, r = le();
|
|
43209
|
+
if (r === "local") {
|
|
43210
|
+
let n = o();
|
|
43211
|
+
if (!n) throw Error("Local session not found — is the bridge running?");
|
|
43212
|
+
await AO(n.id, t), await _O(e.issueId, `🖥️ **→ local agent:** ${t}`).catch(() => {});
|
|
43213
|
+
} else r.startsWith("thread:") ? await _O(e.issueId, t, r.slice(7)) : r === "new" && n.cursorAgentId ? await vO(e.issueId, t, {
|
|
43184
43214
|
name: n.cursorAgentName,
|
|
43185
43215
|
displayName: n.cursorAgentName ?? "Cursor",
|
|
43186
43216
|
url: n.cursorAgentUrl
|
|
43187
43217
|
}) : await _O(e.issueId, t);
|
|
43188
43218
|
},
|
|
43189
43219
|
onSuccess: () => {
|
|
43190
|
-
l(""), d(null), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), FQ();
|
|
43220
|
+
l(""), d(null), $A("capture"), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), FQ();
|
|
43191
43221
|
},
|
|
43192
43222
|
onError: (e) => {
|
|
43193
43223
|
d(e.message ?? "Failed to send");
|
|
43194
43224
|
}
|
|
43195
|
-
})),
|
|
43225
|
+
})), me = k(() => n.data), he = k(() => r.data ?? []);
|
|
43196
43226
|
return (() => {
|
|
43197
|
-
var t =
|
|
43227
|
+
var t = b$(), r = t.firstChild, a = r.firstChild, d = r.nextSibling, f = d.nextSibling, p = f.firstChild;
|
|
43198
43228
|
return P(a, j(vj, {
|
|
43199
43229
|
class: "min-w-[68px] shrink-0 text-[11px]",
|
|
43200
43230
|
get onClick() {
|
|
43201
43231
|
return e.onBack;
|
|
43202
43232
|
},
|
|
43203
43233
|
get children() {
|
|
43204
|
-
return
|
|
43234
|
+
return a$();
|
|
43205
43235
|
}
|
|
43206
43236
|
}), null), P(a, j(M, {
|
|
43207
43237
|
get when() {
|
|
43208
|
-
return
|
|
43238
|
+
return me();
|
|
43209
43239
|
},
|
|
43210
43240
|
get children() {
|
|
43211
43241
|
return [(() => {
|
|
43212
|
-
var e =
|
|
43213
|
-
return P(e, () =>
|
|
43242
|
+
var e = o$();
|
|
43243
|
+
return P(e, () => me().identifier), e;
|
|
43214
43244
|
})(), (() => {
|
|
43215
|
-
var e =
|
|
43216
|
-
return P(e, () =>
|
|
43245
|
+
var e = s$();
|
|
43246
|
+
return P(e, () => me().title), e;
|
|
43217
43247
|
})()];
|
|
43218
43248
|
}
|
|
43219
43249
|
}), null), P(a, j(M, {
|
|
43220
43250
|
get when() {
|
|
43221
|
-
return $e(() => !!n.isPending)() && !
|
|
43251
|
+
return $e(() => !!n.isPending)() && !me();
|
|
43222
43252
|
},
|
|
43223
43253
|
get children() {
|
|
43224
|
-
return
|
|
43254
|
+
return c$();
|
|
43225
43255
|
}
|
|
43226
43256
|
}), null), P(r, j(M, {
|
|
43227
43257
|
get when() {
|
|
43228
|
-
return
|
|
43258
|
+
return me();
|
|
43229
43259
|
},
|
|
43230
43260
|
get children() {
|
|
43231
|
-
var e =
|
|
43261
|
+
var e = l$(), t = e.firstChild;
|
|
43232
43262
|
return P(e, j(kj, { get color() {
|
|
43233
|
-
return
|
|
43234
|
-
} }), t), P(t, () =>
|
|
43263
|
+
return me().state.color;
|
|
43264
|
+
} }), t), P(t, () => me().state.name), P(e, j(Tj, {
|
|
43235
43265
|
get href() {
|
|
43236
|
-
return
|
|
43266
|
+
return me().url;
|
|
43237
43267
|
},
|
|
43238
43268
|
class: "ml-auto shrink-0",
|
|
43239
43269
|
children: "Open in Linear"
|
|
@@ -43246,7 +43276,7 @@ function A$(e) {
|
|
|
43246
43276
|
children: (e) => {
|
|
43247
43277
|
let t = () => s(e());
|
|
43248
43278
|
return (() => {
|
|
43249
|
-
var n =
|
|
43279
|
+
var n = x$(), r = n.firstChild, i = r.firstChild.firstChild, a = i.nextSibling.nextSibling.nextSibling;
|
|
43250
43280
|
a.firstChild;
|
|
43251
43281
|
var o = r.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
43252
43282
|
return P(i, j(wj, { size: 12 })), P(a, () => Nj(e().startedAt), null), P(r, j(Oj, { get children() {
|
|
@@ -43266,62 +43296,62 @@ function A$(e) {
|
|
|
43266
43296
|
}
|
|
43267
43297
|
}), null), P(d, j(M, {
|
|
43268
43298
|
get when() {
|
|
43269
|
-
return
|
|
43299
|
+
return he().length > 0;
|
|
43270
43300
|
},
|
|
43271
43301
|
get children() {
|
|
43272
|
-
var e =
|
|
43302
|
+
var e = u$();
|
|
43273
43303
|
return P(e, j(We, {
|
|
43274
43304
|
get each() {
|
|
43275
|
-
return
|
|
43305
|
+
return he();
|
|
43276
43306
|
},
|
|
43277
|
-
children: (e) => j(
|
|
43307
|
+
children: (e) => j(L$, { session: e })
|
|
43278
43308
|
})), e;
|
|
43279
43309
|
}
|
|
43280
43310
|
}), null), P(d, j(M, {
|
|
43281
43311
|
get when() {
|
|
43282
|
-
return $e(() => !!
|
|
43312
|
+
return $e(() => !!me())() && me().attachments.length > 0;
|
|
43283
43313
|
},
|
|
43284
43314
|
get children() {
|
|
43285
|
-
var e =
|
|
43315
|
+
var e = d$(), t = e.firstChild.nextSibling;
|
|
43286
43316
|
return P(t, j(We, {
|
|
43287
43317
|
get each() {
|
|
43288
|
-
return
|
|
43318
|
+
return me().attachments;
|
|
43289
43319
|
},
|
|
43290
43320
|
children: (e) => {
|
|
43291
43321
|
let t = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i.test(e.url);
|
|
43292
43322
|
return (() => {
|
|
43293
|
-
var n =
|
|
43323
|
+
var n = C$(), r = n.firstChild;
|
|
43294
43324
|
return P(r, () => e.title), P(n, j(M, {
|
|
43295
43325
|
get when() {
|
|
43296
|
-
return $e(() => !!(t &&
|
|
43326
|
+
return $e(() => !!(t && ee(e.url)))() && ee(e.url) !== "OPEN";
|
|
43297
43327
|
},
|
|
43298
43328
|
get children() {
|
|
43299
43329
|
return j(Oj, {
|
|
43300
43330
|
get class() {
|
|
43301
|
-
return `ml-auto shrink-0 ${
|
|
43331
|
+
return `ml-auto shrink-0 ${ee(e.url) === "MERGED" ? "text-success" : "text-text-faint"}`;
|
|
43302
43332
|
},
|
|
43303
43333
|
get children() {
|
|
43304
|
-
return
|
|
43334
|
+
return ee(e.url) === "MERGED" ? "✓ merged" : "closed";
|
|
43305
43335
|
}
|
|
43306
43336
|
});
|
|
43307
43337
|
}
|
|
43308
43338
|
}), null), P(n, j(M, {
|
|
43309
43339
|
get when() {
|
|
43310
|
-
return t && (!
|
|
43340
|
+
return t && (!ee(e.url) || ee(e.url) === "OPEN");
|
|
43311
43341
|
},
|
|
43312
43342
|
get children() {
|
|
43313
43343
|
return j(vj, {
|
|
43314
43344
|
variant: "primary",
|
|
43315
43345
|
class: "ml-auto h-6 shrink-0 px-2 text-[11px]",
|
|
43316
43346
|
get loading() {
|
|
43317
|
-
return
|
|
43347
|
+
return te() === e.url;
|
|
43318
43348
|
},
|
|
43319
43349
|
get title() {
|
|
43320
|
-
return
|
|
43350
|
+
return E.isError ? "PR state unknown — restart the bridge (npx linear-grab-bridge) for live merge status" : "Squash-merge this PR via the bridge gh — reviewed the demo? Ship it.";
|
|
43321
43351
|
},
|
|
43322
|
-
onClick: () => void
|
|
43352
|
+
onClick: () => void se(e.url),
|
|
43323
43353
|
get children() {
|
|
43324
|
-
return
|
|
43354
|
+
return S$();
|
|
43325
43355
|
}
|
|
43326
43356
|
});
|
|
43327
43357
|
}
|
|
@@ -43336,41 +43366,46 @@ function A$(e) {
|
|
|
43336
43366
|
}
|
|
43337
43367
|
}), null), P(t, j(M, {
|
|
43338
43368
|
get when() {
|
|
43339
|
-
return
|
|
43369
|
+
return ie();
|
|
43340
43370
|
},
|
|
43341
43371
|
get children() {
|
|
43342
43372
|
return j(jj, { get message() {
|
|
43343
|
-
return
|
|
43373
|
+
return ie();
|
|
43344
43374
|
} });
|
|
43345
43375
|
}
|
|
43346
43376
|
}), null), e;
|
|
43347
43377
|
}
|
|
43348
43378
|
}), null), P(d, j(M, {
|
|
43349
43379
|
get when() {
|
|
43350
|
-
return $e(() => !!
|
|
43380
|
+
return $e(() => !!me())() && me().comments.length > 0;
|
|
43351
43381
|
},
|
|
43352
43382
|
get children() {
|
|
43353
|
-
var e =
|
|
43354
|
-
return e.firstChild, P(e, j(
|
|
43383
|
+
var e = f$();
|
|
43384
|
+
return e.firstChild, P(e, j(Ge, {
|
|
43355
43385
|
get each() {
|
|
43356
|
-
return
|
|
43386
|
+
return me().comments;
|
|
43357
43387
|
},
|
|
43358
|
-
children: (e) =>
|
|
43359
|
-
|
|
43360
|
-
return
|
|
43361
|
-
|
|
43362
|
-
|
|
43363
|
-
|
|
43364
|
-
|
|
43365
|
-
|
|
43366
|
-
|
|
43367
|
-
|
|
43368
|
-
|
|
43388
|
+
children: (e) => {
|
|
43389
|
+
let t = e();
|
|
43390
|
+
return (() => {
|
|
43391
|
+
var e = w$(), n = e.firstChild, r = n.firstChild, i = r.nextSibling;
|
|
43392
|
+
return P(r, () => t.user?.displayName ?? t.user?.name ?? "Unknown"), P(n, j(M, {
|
|
43393
|
+
get when() {
|
|
43394
|
+
return t.user?.app;
|
|
43395
|
+
},
|
|
43396
|
+
get children() {
|
|
43397
|
+
return j(Oj, { children: "agent" });
|
|
43398
|
+
}
|
|
43399
|
+
}), i), P(i, () => Nj(t.createdAt)), P(e, j(M$, { get text() {
|
|
43400
|
+
return t.body;
|
|
43401
|
+
} }), null), e;
|
|
43402
|
+
})();
|
|
43403
|
+
}
|
|
43369
43404
|
}), null), e;
|
|
43370
43405
|
}
|
|
43371
43406
|
}), null), P(d, j(M, {
|
|
43372
43407
|
get when() {
|
|
43373
|
-
return $e(() => !!(
|
|
43408
|
+
return $e(() => !!(me() && me().comments.length === 0))() && he().length === 0;
|
|
43374
43409
|
},
|
|
43375
43410
|
get children() {
|
|
43376
43411
|
return j(Aj, {
|
|
@@ -43380,7 +43415,7 @@ function A$(e) {
|
|
|
43380
43415
|
}
|
|
43381
43416
|
}), null), P(d, j(M, {
|
|
43382
43417
|
get when() {
|
|
43383
|
-
return $e(() => !!n.isError)() && !
|
|
43418
|
+
return $e(() => !!n.isError)() && !me();
|
|
43384
43419
|
},
|
|
43385
43420
|
get children() {
|
|
43386
43421
|
return j(Aj, {
|
|
@@ -43407,26 +43442,37 @@ function A$(e) {
|
|
|
43407
43442
|
},
|
|
43408
43443
|
onInput: (e) => l(e.target.value),
|
|
43409
43444
|
get disabled() {
|
|
43410
|
-
return
|
|
43445
|
+
return pe.isPending;
|
|
43411
43446
|
}
|
|
43412
43447
|
}), p), P(p, j(Sj, {
|
|
43413
43448
|
class: "min-w-0 flex-1",
|
|
43414
43449
|
get value() {
|
|
43415
|
-
return
|
|
43450
|
+
return le();
|
|
43451
|
+
},
|
|
43452
|
+
onChange: (e) => {
|
|
43453
|
+
de = !0, ue(e.currentTarget.value);
|
|
43416
43454
|
},
|
|
43417
|
-
onChange: (e) => ae(e.currentTarget.value),
|
|
43418
43455
|
get children() {
|
|
43419
43456
|
return [
|
|
43457
|
+
j(M, {
|
|
43458
|
+
get when() {
|
|
43459
|
+
return o();
|
|
43460
|
+
},
|
|
43461
|
+
get children() {
|
|
43462
|
+
var e = p$();
|
|
43463
|
+
return D(() => e.selected = le() === "local"), e;
|
|
43464
|
+
}
|
|
43465
|
+
}),
|
|
43420
43466
|
j(We, {
|
|
43421
43467
|
get each() {
|
|
43422
|
-
return
|
|
43468
|
+
return ce();
|
|
43423
43469
|
},
|
|
43424
43470
|
children: (e, t) => (() => {
|
|
43425
|
-
var n =
|
|
43471
|
+
var n = T$(), r = n.firstChild.nextSibling;
|
|
43426
43472
|
return r.nextSibling, P(n, (() => {
|
|
43427
|
-
var e = $e(() =>
|
|
43473
|
+
var e = $e(() => ce().length > 1);
|
|
43428
43474
|
return () => e() ? ` #${t() + 1}` : "";
|
|
43429
|
-
})(), r), P(n, () => Nj(e.createdAt), null), D(() => n.selected =
|
|
43475
|
+
})(), r), P(n, () => Nj(e.createdAt), null), D(() => n.selected = le() === `thread:${e.id}`), D(() => n.value = `thread:${e.id}`), n;
|
|
43430
43476
|
})()
|
|
43431
43477
|
}),
|
|
43432
43478
|
j(M, {
|
|
@@ -43434,24 +43480,51 @@ function A$(e) {
|
|
|
43434
43480
|
return i.data?.cursorAgentId;
|
|
43435
43481
|
},
|
|
43436
43482
|
get children() {
|
|
43437
|
-
var e =
|
|
43438
|
-
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected =
|
|
43483
|
+
var e = m$(), t = e.firstChild.nextSibling;
|
|
43484
|
+
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected = le() === "new"), e;
|
|
43439
43485
|
}
|
|
43440
43486
|
}),
|
|
43441
43487
|
(() => {
|
|
43442
|
-
var e =
|
|
43443
|
-
return D(() => e.selected =
|
|
43488
|
+
var e = h$();
|
|
43489
|
+
return D(() => e.selected = le() === "comment"), e;
|
|
43444
43490
|
})()
|
|
43445
43491
|
];
|
|
43446
43492
|
}
|
|
43447
43493
|
}), null), P(p, j(vj, {
|
|
43448
43494
|
variant: "ghost",
|
|
43449
|
-
class
|
|
43450
|
-
|
|
43495
|
+
get class() {
|
|
43496
|
+
return `size-7 shrink-0 px-0 ${ZA() === "composer" ? "text-accent" : ""}`;
|
|
43497
|
+
},
|
|
43498
|
+
get title() {
|
|
43499
|
+
return ZA() === "composer" ? "Pick mode ON — every pick appends here. Click to stop." : "Pick elements — refs append to this reply (stays on until toggled off or sent)";
|
|
43500
|
+
},
|
|
43451
43501
|
"aria-label": "Pick element for reply",
|
|
43452
43502
|
onClick: v,
|
|
43453
43503
|
get children() {
|
|
43454
|
-
return
|
|
43504
|
+
return g$();
|
|
43505
|
+
}
|
|
43506
|
+
}), null), P(p, j(vj, {
|
|
43507
|
+
variant: "ghost",
|
|
43508
|
+
get class() {
|
|
43509
|
+
return `size-7 shrink-0 px-0 ${y().phase === "recording" ? "text-danger" : ""}`;
|
|
43510
|
+
},
|
|
43511
|
+
get title() {
|
|
43512
|
+
return y().phase === "recording" ? "Stop recording — the GIF auto-attaches to this reply" : "Record a GIF from this thread (auto-attaches when done)";
|
|
43513
|
+
},
|
|
43514
|
+
"aria-label": "Record GIF",
|
|
43515
|
+
onClick: S,
|
|
43516
|
+
get children() {
|
|
43517
|
+
return j(M, {
|
|
43518
|
+
get when() {
|
|
43519
|
+
return y().phase === "recording";
|
|
43520
|
+
},
|
|
43521
|
+
get fallback() {
|
|
43522
|
+
return E$();
|
|
43523
|
+
},
|
|
43524
|
+
get children() {
|
|
43525
|
+
return _$();
|
|
43526
|
+
}
|
|
43527
|
+
});
|
|
43455
43528
|
}
|
|
43456
43529
|
}), null), P(p, j(vj, {
|
|
43457
43530
|
variant: "ghost",
|
|
@@ -43463,31 +43536,31 @@ function A$(e) {
|
|
|
43463
43536
|
"aria-label": "Attach captures",
|
|
43464
43537
|
onClick: () => void _(),
|
|
43465
43538
|
get children() {
|
|
43466
|
-
return
|
|
43539
|
+
return v$();
|
|
43467
43540
|
}
|
|
43468
43541
|
}), null), P(p, j(vj, {
|
|
43469
43542
|
class: "min-w-[52px] shrink-0",
|
|
43470
43543
|
variant: "primary",
|
|
43471
43544
|
get loading() {
|
|
43472
|
-
return
|
|
43545
|
+
return pe.isPending;
|
|
43473
43546
|
},
|
|
43474
43547
|
get disabled() {
|
|
43475
43548
|
return c().trim().length === 0;
|
|
43476
43549
|
},
|
|
43477
|
-
onClick: () =>
|
|
43550
|
+
onClick: () => pe.mutate(),
|
|
43478
43551
|
get children() {
|
|
43479
|
-
return
|
|
43552
|
+
return y$();
|
|
43480
43553
|
}
|
|
43481
43554
|
}), null), t;
|
|
43482
43555
|
})();
|
|
43483
43556
|
}
|
|
43484
|
-
function
|
|
43557
|
+
function L$(e) {
|
|
43485
43558
|
let t = k(() => {
|
|
43486
43559
|
let t = e.session.status;
|
|
43487
43560
|
return /complete|done/i.test(t) ? "var(--color-success)" : /await|pending|elicit/i.test(t) ? "var(--color-warn)" : "var(--color-accent)";
|
|
43488
43561
|
}), n = k(() => e.session.activities.slice(-10));
|
|
43489
43562
|
return (() => {
|
|
43490
|
-
var r =
|
|
43563
|
+
var r = A$(), i = r.firstChild, a = i.firstChild;
|
|
43491
43564
|
return P(i, j(Oj, {
|
|
43492
43565
|
get color() {
|
|
43493
43566
|
return t();
|
|
@@ -43500,7 +43573,7 @@ function j$(e) {
|
|
|
43500
43573
|
return e.session.appUser?.displayName;
|
|
43501
43574
|
},
|
|
43502
43575
|
get children() {
|
|
43503
|
-
var t =
|
|
43576
|
+
var t = D$();
|
|
43504
43577
|
return P(t, () => e.session.appUser.displayName), t;
|
|
43505
43578
|
}
|
|
43506
43579
|
}), a), P(a, () => Nj(e.session.updatedAt)), P(r, j(M, {
|
|
@@ -43508,7 +43581,7 @@ function j$(e) {
|
|
|
43508
43581
|
return e.session.summary;
|
|
43509
43582
|
},
|
|
43510
43583
|
get children() {
|
|
43511
|
-
var t =
|
|
43584
|
+
var t = O$();
|
|
43512
43585
|
return P(t, () => e.session.summary), t;
|
|
43513
43586
|
}
|
|
43514
43587
|
}), null), P(r, j(M, {
|
|
@@ -43516,7 +43589,7 @@ function j$(e) {
|
|
|
43516
43589
|
return n().length > 0;
|
|
43517
43590
|
},
|
|
43518
43591
|
get children() {
|
|
43519
|
-
var e =
|
|
43592
|
+
var e = k$();
|
|
43520
43593
|
return P(e, j(We, {
|
|
43521
43594
|
get each() {
|
|
43522
43595
|
return n();
|
|
@@ -43524,7 +43597,7 @@ function j$(e) {
|
|
|
43524
43597
|
children: (e) => {
|
|
43525
43598
|
let t = e.content, n = String(t?.body ?? t?.text ?? t?.type ?? JSON.stringify(t)).slice(0, 300);
|
|
43526
43599
|
return (() => {
|
|
43527
|
-
var t =
|
|
43600
|
+
var t = j$(), r = t.firstChild, i = r.nextSibling;
|
|
43528
43601
|
return P(r, () => Nj(e.createdAt)), P(i, n), t;
|
|
43529
43602
|
})();
|
|
43530
43603
|
}
|
|
@@ -43536,7 +43609,7 @@ function j$(e) {
|
|
|
43536
43609
|
//#endregion
|
|
43537
43610
|
//#region src/panel/views/LocalView.tsx
|
|
43538
43611
|
rt(["click"]), Rr();
|
|
43539
|
-
var
|
|
43612
|
+
var R$ = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end rounded-lg border px-2.5 py-1.5\"><p class=\"text-accent mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase\">You</p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), z$ = /*#__PURE__*/ N("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), B$ = /*#__PURE__*/ N("<p>"), V$ = /*#__PURE__*/ N("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running · "), H$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), U$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Local Claude Code</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), W$ = /*#__PURE__*/ N("<span class=\"bg-surface-2 border-border font-mono mt-2 block rounded-md border px-2 py-1.5 text-[11px] select-all\">npx linear-grab-bridge"), G$ = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), K$ = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), q$ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), J$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><path d=\"M14 10a2 2 0 0 1-2 2H6l-3.5 2.5V4a2 2 0 0 1 2-2H12a2 2 0 0 1 2 2v6Z\">"), Y$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), X$ = /*#__PURE__*/ N("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), Z$ = /*#__PURE__*/ N("<div class=\"border-border bg-bg flex flex-col gap-1 rounded-md border p-2\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text-dim text-[10.5px] font-semibold tracking-wide uppercase\">Changes</span><span class=\"ml-auto shrink-0 text-[10.5px] tabular-nums\"><span class=text-success>+</span> <span class=text-danger>−"), Q$ = /*#__PURE__*/ N("<div class=\"border-border bg-bg flex max-h-80 flex-col gap-1.5 overflow-y-auto rounded-md border py-2 pl-2 pr-3\">"), $$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), e1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M13 7.5 8.2 12.3a3.2 3.2 0 0 1-4.5-4.5L8.9 2.6a2.1 2.1 0 0 1 3 3L7.1 10.4a1 1 0 0 1-1.5-1.5l4.3-4.3\">"), t1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M8 2v4M8 10v4M2 8h4M10 8h4M4.5 4.5 6 6M11.5 11.5 10 10M11.5 4.5 10 6M4.5 11.5 6 10\">"), n1 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Send"), r1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center gap-1\"><span class=\"text-text-faint min-w-0 flex-1 truncate text-[10.5px]\">"), i1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text min-w-0 truncate text-[12.5px] font-medium\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><p class=\"text-text-dim text-[11.5px] leading-snug break-words\"></p><div class=\"flex flex-wrap items-center gap-1.5\"></div><div class=\"flex items-center gap-1\">"), a1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), o1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\">"), s1 = /*#__PURE__*/ N("<option>"), c1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), l1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M2.5 3.5 6 7 2.5 10.5M7.5 12.5h6\">"), u1 = /*#__PURE__*/ N("<span class=text-success>+"), d1 = /*#__PURE__*/ N("<span class=text-danger>−"), f1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"shrink-0 text-[10px] tabular-nums\">"), p1 = /*#__PURE__*/ N("<span class=text-text-faint>bin"), m1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"text-success shrink-0 text-[10px]\">new"), h1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5 pt-0.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11px] hover:underline\">"), g1 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), _1 = [
|
|
43540
43613
|
{
|
|
43541
43614
|
id: "",
|
|
43542
43615
|
label: "Default model"
|
|
@@ -43558,13 +43631,13 @@ var M$ = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end
|
|
|
43558
43631
|
label: "Haiku"
|
|
43559
43632
|
}
|
|
43560
43633
|
];
|
|
43561
|
-
function
|
|
43634
|
+
function v1(e, t) {
|
|
43562
43635
|
let n = e.split(".").map(Number), r = t.split(".").map(Number);
|
|
43563
43636
|
for (let e = 0; e < 3; e++) if ((n[e] ?? 0) !== (r[e] ?? 0)) return (n[e] ?? 0) < (r[e] ?? 0);
|
|
43564
43637
|
return !1;
|
|
43565
43638
|
}
|
|
43566
|
-
var
|
|
43567
|
-
function
|
|
43639
|
+
var y1 = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
|
|
43640
|
+
function b1() {
|
|
43568
43641
|
let e = sr(), t = _r(() => ({
|
|
43569
43642
|
queryKey: ["bridge-health"],
|
|
43570
43643
|
queryFn: EO,
|
|
@@ -43617,7 +43690,7 @@ function m1() {
|
|
|
43617
43690
|
let y = async () => {
|
|
43618
43691
|
m(!0);
|
|
43619
43692
|
try {
|
|
43620
|
-
let e = await
|
|
43693
|
+
let e = await zQ();
|
|
43621
43694
|
e && f((t) => `${t ? `${t}\n` : ""}${e}\n`);
|
|
43622
43695
|
} finally {
|
|
43623
43696
|
m(!1);
|
|
@@ -43647,20 +43720,20 @@ function m1() {
|
|
|
43647
43720
|
await navigator.clipboard.writeText(zO(e)), te(e.id), setTimeout(() => te(null), 1800);
|
|
43648
43721
|
} catch {}
|
|
43649
43722
|
}, ne = (e) => e === "running" ? "var(--color-accent)" : e === "done" ? "var(--color-success)" : e === "stopped" ? "var(--color-warn)" : "var(--color-danger)", re = (e) => {
|
|
43650
|
-
let t = e.line.kind, n = k(() =>
|
|
43723
|
+
let t = e.line.kind, n = k(() => YQ(e.line.text));
|
|
43651
43724
|
return t === "user" ? (() => {
|
|
43652
|
-
var e =
|
|
43725
|
+
var e = R$(), t = e.firstChild.nextSibling;
|
|
43653
43726
|
return D(() => t.innerHTML = n()), e;
|
|
43654
43727
|
})() : t === "assistant" || t === "result" ? (() => {
|
|
43655
|
-
var e =
|
|
43728
|
+
var e = z$(), r = e.firstChild, i = r.nextSibling;
|
|
43656
43729
|
return st(e, `bg-surface rounded-lg border px-2.5 py-1.5 ${t === "result" ? "border-success/40" : "border-border"}`), st(r, `mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase ${t === "result" ? "text-success" : "text-text-faint"}`), P(r, t === "result" ? "Result" : "Claude"), D(() => i.innerHTML = n()), e;
|
|
43657
43730
|
})() : (() => {
|
|
43658
|
-
var n =
|
|
43731
|
+
var n = B$();
|
|
43659
43732
|
return st(n, `font-mono px-1 text-[10px] leading-relaxed break-words ${t === "subagent" ? "text-warn" : t === "stderr" ? "text-danger" : "text-text-faint"}`), P(n, () => e.line.text), n;
|
|
43660
43733
|
})();
|
|
43661
43734
|
};
|
|
43662
43735
|
return (() => {
|
|
43663
|
-
var e =
|
|
43736
|
+
var e = U$(), a = e.firstChild;
|
|
43664
43737
|
a.firstChild;
|
|
43665
43738
|
var l = a.nextSibling;
|
|
43666
43739
|
return P(a, j(M, {
|
|
@@ -43676,7 +43749,7 @@ function m1() {
|
|
|
43676
43749
|
get children() {
|
|
43677
43750
|
return [j(M, {
|
|
43678
43751
|
get when() {
|
|
43679
|
-
return
|
|
43752
|
+
return v1(t.data.version, "0.15.1");
|
|
43680
43753
|
},
|
|
43681
43754
|
get children() {
|
|
43682
43755
|
return j(Oj, {
|
|
@@ -43692,7 +43765,7 @@ function m1() {
|
|
|
43692
43765
|
});
|
|
43693
43766
|
}
|
|
43694
43767
|
}), (() => {
|
|
43695
|
-
var e =
|
|
43768
|
+
var e = V$(), n = e.firstChild;
|
|
43696
43769
|
return P(e, () => t.data.active, n), P(e, () => t.data.cwd.split("/").slice(-2).join("/"), null), D(() => it(e, "title", t.data?.cwd)), e;
|
|
43697
43770
|
})()];
|
|
43698
43771
|
}
|
|
@@ -43706,7 +43779,7 @@ function m1() {
|
|
|
43706
43779
|
get children() {
|
|
43707
43780
|
return [
|
|
43708
43781
|
"Start it in your repo's terminal:",
|
|
43709
|
-
|
|
43782
|
+
W$(),
|
|
43710
43783
|
"Then delegate from the Draft tab (\"Local Claude Code\") or watch tasks here. Sessions stay interactive — send follow-ups, switch models, interrupt, resume in your terminal. History persists across restarts."
|
|
43711
43784
|
];
|
|
43712
43785
|
}
|
|
@@ -43724,20 +43797,20 @@ function m1() {
|
|
|
43724
43797
|
});
|
|
43725
43798
|
},
|
|
43726
43799
|
get children() {
|
|
43727
|
-
var e =
|
|
43800
|
+
var e = H$();
|
|
43728
43801
|
return P(e, j(We, {
|
|
43729
43802
|
get each() {
|
|
43730
43803
|
return n.data;
|
|
43731
43804
|
},
|
|
43732
43805
|
children: (e) => (() => {
|
|
43733
|
-
var t =
|
|
43806
|
+
var t = i1(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, m = n.nextSibling, h = m.nextSibling, g = h.nextSibling;
|
|
43734
43807
|
return P(n, j(M, {
|
|
43735
43808
|
get when() {
|
|
43736
43809
|
return e.status === "running";
|
|
43737
43810
|
},
|
|
43738
43811
|
get fallback() {
|
|
43739
43812
|
return (() => {
|
|
43740
|
-
var t =
|
|
43813
|
+
var t = a1();
|
|
43741
43814
|
return D((n) => dt(t, "background", ne(e.status))), t;
|
|
43742
43815
|
})();
|
|
43743
43816
|
},
|
|
@@ -43790,8 +43863,8 @@ function m1() {
|
|
|
43790
43863
|
return e.usage;
|
|
43791
43864
|
},
|
|
43792
43865
|
get children() {
|
|
43793
|
-
var t =
|
|
43794
|
-
return n.nextSibling, P(t, () =>
|
|
43866
|
+
var t = G$(), n = t.firstChild.nextSibling;
|
|
43867
|
+
return n.nextSibling, P(t, () => y1(e.usage.contextTokens), n), P(t, () => y1(e.usage.outputTokens), null), P(t, (() => {
|
|
43795
43868
|
var t = $e(() => !!e.usage.costUsd);
|
|
43796
43869
|
return () => t() ? ` · $${e.usage.costUsd.toFixed(2)}` : "";
|
|
43797
43870
|
})(), null), t;
|
|
@@ -43801,7 +43874,7 @@ function m1() {
|
|
|
43801
43874
|
return o(e);
|
|
43802
43875
|
},
|
|
43803
43876
|
children: (e) => (() => {
|
|
43804
|
-
var t =
|
|
43877
|
+
var t = o1();
|
|
43805
43878
|
return P(t, j(Oj, { get children() {
|
|
43806
43879
|
return e().state.name;
|
|
43807
43880
|
} }), null), P(t, j(Tj, {
|
|
@@ -43816,7 +43889,7 @@ function m1() {
|
|
|
43816
43889
|
return $e(() => !!e.worktree)() && !e.worktree.removed;
|
|
43817
43890
|
},
|
|
43818
43891
|
get children() {
|
|
43819
|
-
var t =
|
|
43892
|
+
var t = K$(), n = t.firstChild;
|
|
43820
43893
|
return P(t, j(Oj, {
|
|
43821
43894
|
class: "text-warn",
|
|
43822
43895
|
children: "⎇ worktree"
|
|
@@ -43852,9 +43925,9 @@ function m1() {
|
|
|
43852
43925
|
title: "Model — applies from the next message",
|
|
43853
43926
|
get children() {
|
|
43854
43927
|
return j(We, {
|
|
43855
|
-
each:
|
|
43928
|
+
each: _1,
|
|
43856
43929
|
children: (t) => (() => {
|
|
43857
|
-
var n =
|
|
43930
|
+
var n = s1();
|
|
43858
43931
|
return P(n, () => t.label), D(() => n.selected = (e.pendingModel ?? e.model ?? "") === t.id), D(() => n.value = t.id), n;
|
|
43859
43932
|
})()
|
|
43860
43933
|
});
|
|
@@ -43869,7 +43942,7 @@ function m1() {
|
|
|
43869
43942
|
title: "Open the issue's Activity thread",
|
|
43870
43943
|
onClick: () => YA("activity", e().id),
|
|
43871
43944
|
get children() {
|
|
43872
|
-
return
|
|
43945
|
+
return c1();
|
|
43873
43946
|
}
|
|
43874
43947
|
})
|
|
43875
43948
|
}), null), P(g, j(vj, {
|
|
@@ -43888,10 +43961,10 @@ function m1() {
|
|
|
43888
43961
|
return ee() === e.id;
|
|
43889
43962
|
},
|
|
43890
43963
|
get fallback() {
|
|
43891
|
-
return
|
|
43964
|
+
return l1();
|
|
43892
43965
|
},
|
|
43893
43966
|
get children() {
|
|
43894
|
-
return
|
|
43967
|
+
return q$();
|
|
43895
43968
|
}
|
|
43896
43969
|
});
|
|
43897
43970
|
}
|
|
@@ -43903,7 +43976,7 @@ function m1() {
|
|
|
43903
43976
|
},
|
|
43904
43977
|
onClick: () => i(r() === e.id ? null : e.id),
|
|
43905
43978
|
get children() {
|
|
43906
|
-
return
|
|
43979
|
+
return J$();
|
|
43907
43980
|
}
|
|
43908
43981
|
}), null), P(g, j(M, {
|
|
43909
43982
|
get when() {
|
|
@@ -43919,7 +43992,7 @@ function m1() {
|
|
|
43919
43992
|
title: "Interrupt — the session stays resumable",
|
|
43920
43993
|
onClick: () => u.mutate(e.id),
|
|
43921
43994
|
get children() {
|
|
43922
|
-
return
|
|
43995
|
+
return Y$();
|
|
43923
43996
|
}
|
|
43924
43997
|
});
|
|
43925
43998
|
}
|
|
@@ -43934,7 +44007,7 @@ function m1() {
|
|
|
43934
44007
|
return $e(() => !!c.data)() && (c.data.files.length || c.data.untracked.length || c.data.prs.length);
|
|
43935
44008
|
},
|
|
43936
44009
|
get children() {
|
|
43937
|
-
var e =
|
|
44010
|
+
var e = Z$(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
|
|
43938
44011
|
r.firstChild;
|
|
43939
44012
|
var i = r.nextSibling.nextSibling;
|
|
43940
44013
|
return i.firstChild, P(t, j(M, {
|
|
@@ -43942,7 +44015,7 @@ function m1() {
|
|
|
43942
44015
|
return c.data.branch;
|
|
43943
44016
|
},
|
|
43944
44017
|
get children() {
|
|
43945
|
-
var e =
|
|
44018
|
+
var e = X$();
|
|
43946
44019
|
return P(e, () => c.data.branch), e;
|
|
43947
44020
|
}
|
|
43948
44021
|
}), n), P(r, () => c.data.totalAdded, null), P(i, () => c.data.totalDeleted, null), P(e, j(We, {
|
|
@@ -43950,23 +44023,23 @@ function m1() {
|
|
|
43950
44023
|
return c.data.files;
|
|
43951
44024
|
},
|
|
43952
44025
|
children: (e) => (() => {
|
|
43953
|
-
var t =
|
|
44026
|
+
var t = f1(), n = t.firstChild, r = n.nextSibling;
|
|
43954
44027
|
return P(n, () => e.path), P(r, j(M, {
|
|
43955
44028
|
get when() {
|
|
43956
44029
|
return !e.binary;
|
|
43957
44030
|
},
|
|
43958
44031
|
get fallback() {
|
|
43959
|
-
return
|
|
44032
|
+
return p1();
|
|
43960
44033
|
},
|
|
43961
44034
|
get children() {
|
|
43962
44035
|
return [
|
|
43963
44036
|
(() => {
|
|
43964
|
-
var t =
|
|
44037
|
+
var t = u1();
|
|
43965
44038
|
return t.firstChild, P(t, () => e.added, null), t;
|
|
43966
44039
|
})(),
|
|
43967
44040
|
" ",
|
|
43968
44041
|
(() => {
|
|
43969
|
-
var t =
|
|
44042
|
+
var t = d1();
|
|
43970
44043
|
return t.firstChild, P(t, () => e.deleted, null), t;
|
|
43971
44044
|
})()
|
|
43972
44045
|
];
|
|
@@ -43978,7 +44051,7 @@ function m1() {
|
|
|
43978
44051
|
return c.data.untracked;
|
|
43979
44052
|
},
|
|
43980
44053
|
children: (e) => (() => {
|
|
43981
|
-
var t =
|
|
44054
|
+
var t = m1(), n = t.firstChild;
|
|
43982
44055
|
return it(n, "title", e), P(n, e), t;
|
|
43983
44056
|
})()
|
|
43984
44057
|
}), null), P(e, j(We, {
|
|
@@ -43986,7 +44059,7 @@ function m1() {
|
|
|
43986
44059
|
return c.data.prs;
|
|
43987
44060
|
},
|
|
43988
44061
|
children: (e) => (() => {
|
|
43989
|
-
var t =
|
|
44062
|
+
var t = h1(), n = t.firstChild;
|
|
43990
44063
|
return P(t, j(Oj, {
|
|
43991
44064
|
class: "text-accent",
|
|
43992
44065
|
get children() {
|
|
@@ -44004,7 +44077,7 @@ function m1() {
|
|
|
44004
44077
|
}
|
|
44005
44078
|
}),
|
|
44006
44079
|
(() => {
|
|
44007
|
-
var e =
|
|
44080
|
+
var e = Q$();
|
|
44008
44081
|
return e.addEventListener("scroll", E), pt((e) => {
|
|
44009
44082
|
C = e, w = !0;
|
|
44010
44083
|
}, e), P(e, j(M, {
|
|
@@ -44012,7 +44085,7 @@ function m1() {
|
|
|
44012
44085
|
return (s.data?.tail ?? []).length > 0;
|
|
44013
44086
|
},
|
|
44014
44087
|
get fallback() {
|
|
44015
|
-
return
|
|
44088
|
+
return g1();
|
|
44016
44089
|
},
|
|
44017
44090
|
get children() {
|
|
44018
44091
|
return j(Ge, {
|
|
@@ -44027,7 +44100,7 @@ function m1() {
|
|
|
44027
44100
|
})), e;
|
|
44028
44101
|
})(),
|
|
44029
44102
|
(() => {
|
|
44030
|
-
var t =
|
|
44103
|
+
var t = r1(), n = t.firstChild, r = n.firstChild;
|
|
44031
44104
|
return P(t, j(xj, {
|
|
44032
44105
|
rows: 2,
|
|
44033
44106
|
get placeholder() {
|
|
@@ -44047,7 +44120,7 @@ function m1() {
|
|
|
44047
44120
|
"aria-label": "Pick element",
|
|
44048
44121
|
onClick: v,
|
|
44049
44122
|
get children() {
|
|
44050
|
-
return
|
|
44123
|
+
return $$();
|
|
44051
44124
|
}
|
|
44052
44125
|
}), null), P(n, j(vj, {
|
|
44053
44126
|
variant: "ghost",
|
|
@@ -44059,7 +44132,7 @@ function m1() {
|
|
|
44059
44132
|
"aria-label": "Attach captures",
|
|
44060
44133
|
onClick: () => void y(),
|
|
44061
44134
|
get children() {
|
|
44062
|
-
return
|
|
44135
|
+
return e1();
|
|
44063
44136
|
}
|
|
44064
44137
|
}), null), P(n, j(vj, {
|
|
44065
44138
|
variant: "ghost",
|
|
@@ -44074,7 +44147,7 @@ function m1() {
|
|
|
44074
44147
|
text: "/compact"
|
|
44075
44148
|
}),
|
|
44076
44149
|
get children() {
|
|
44077
|
-
return
|
|
44150
|
+
return t1();
|
|
44078
44151
|
}
|
|
44079
44152
|
}), null), P(n, j(vj, {
|
|
44080
44153
|
variant: "primary",
|
|
@@ -44090,7 +44163,7 @@ function m1() {
|
|
|
44090
44163
|
text: d().trim()
|
|
44091
44164
|
}),
|
|
44092
44165
|
get children() {
|
|
44093
|
-
return
|
|
44166
|
+
return n1();
|
|
44094
44167
|
}
|
|
44095
44168
|
}), null), t;
|
|
44096
44169
|
})()
|
|
@@ -44107,13 +44180,13 @@ function m1() {
|
|
|
44107
44180
|
}
|
|
44108
44181
|
//#endregion
|
|
44109
44182
|
//#region src/panel/views/PrsView.tsx
|
|
44110
|
-
var
|
|
44111
|
-
function
|
|
44183
|
+
var x1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">/<!> from your issues"), S1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), C1 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Pull requests</span></div><div class=\"border-border flex shrink-0 items-center gap-1.5 border-b px-3 py-1.5\"><div class=\"bg-surface-2 border-border flex shrink-0 rounded-md border p-0.5\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), w1 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px]\"title=\"Merge states come from gh via the bridge\">states unknown — restart the bridge"), T1 = /*#__PURE__*/ N("<button>"), E1 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), D1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), O1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), k1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><a target=_blank rel=noreferrer class=\"text-accent truncate text-[12.5px] font-medium hover:underline\"></a><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim shrink-0 text-[11px]\"></span><span class=\"text-text-dim truncate text-[11.5px]\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><div class=\"flex min-w-0 flex-wrap items-center gap-1.5\"><div class=\"ml-auto flex shrink-0 items-center gap-1\">"), A1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=4 cy=3.5 r=1.5></circle><circle cx=4 cy=12.5 r=1.5></circle><circle cx=12 cy=8 r=1.5></circle><path d=\"M4 5v6M4 6.5c0 2 2 3 4.5 3h2\">"), j1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><rect x=5.5 y=5.5 width=9 height=9 rx=1.5></rect><path d=\"M10.5 5.5v-2a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h2\">"), M1 = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
|
|
44184
|
+
function N1(e) {
|
|
44112
44185
|
let t = _r(() => ({
|
|
44113
44186
|
queryKey: ["my-issues"],
|
|
44114
44187
|
queryFn: uO,
|
|
44115
44188
|
refetchInterval: 15e3
|
|
44116
|
-
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) =>
|
|
44189
|
+
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => M1.test(e.url)).map((t) => ({
|
|
44117
44190
|
issue: e,
|
|
44118
44191
|
attachment: t
|
|
44119
44192
|
})))), r = _r(() => ({
|
|
@@ -44150,7 +44223,7 @@ function D1(e) {
|
|
|
44150
44223
|
} catch {}
|
|
44151
44224
|
};
|
|
44152
44225
|
return (() => {
|
|
44153
|
-
var r =
|
|
44226
|
+
var r = C1(), p = r.firstChild;
|
|
44154
44227
|
p.firstChild;
|
|
44155
44228
|
var h = p.nextSibling, _ = h.firstChild, b = h.nextSibling;
|
|
44156
44229
|
return P(p, j(M, {
|
|
@@ -44158,10 +44231,10 @@ function D1(e) {
|
|
|
44158
44231
|
return !i.isError;
|
|
44159
44232
|
},
|
|
44160
44233
|
get fallback() {
|
|
44161
|
-
return
|
|
44234
|
+
return w1();
|
|
44162
44235
|
},
|
|
44163
44236
|
get children() {
|
|
44164
|
-
var e =
|
|
44237
|
+
var e = x1(), t = e.firstChild, r = t.nextSibling;
|
|
44165
44238
|
return r.nextSibling, P(e, () => d().length, t), P(e, () => n().length, r), e;
|
|
44166
44239
|
}
|
|
44167
44240
|
}), null), P(_, j(We, {
|
|
@@ -44184,7 +44257,7 @@ function D1(e) {
|
|
|
44184
44257
|
}
|
|
44185
44258
|
],
|
|
44186
44259
|
children: (e) => (() => {
|
|
44187
|
-
var t =
|
|
44260
|
+
var t = T1();
|
|
44188
44261
|
return t.$$click = () => c(e.id), P(t, () => e.label), D(() => st(t, `rounded-[5px] px-2 py-0.5 text-[11px] font-medium transition-colors ${s() === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
44189
44262
|
})()
|
|
44190
44263
|
})), P(h, j(bj, {
|
|
@@ -44207,13 +44280,13 @@ function D1(e) {
|
|
|
44207
44280
|
});
|
|
44208
44281
|
},
|
|
44209
44282
|
get children() {
|
|
44210
|
-
var t =
|
|
44283
|
+
var t = S1();
|
|
44211
44284
|
return P(t, j(We, {
|
|
44212
44285
|
get each() {
|
|
44213
44286
|
return d();
|
|
44214
44287
|
},
|
|
44215
44288
|
children: (t) => (() => {
|
|
44216
|
-
var n =
|
|
44289
|
+
var n = k1(), r = n.firstChild, i = r.nextSibling, s = i.firstChild, c = s.nextSibling, l = c.nextSibling, u = i.nextSibling, d = u.firstChild;
|
|
44217
44290
|
return P(r, () => t.attachment.title || t.attachment.url), P(i, j(kj, { get color() {
|
|
44218
44291
|
return t.issue.state.color;
|
|
44219
44292
|
} }), s), P(s, () => t.issue.identifier), P(c, () => t.issue.title), P(l, () => Nj(t.issue.updatedAt)), P(u, j(Oj, { get children() {
|
|
@@ -44290,10 +44363,10 @@ function D1(e) {
|
|
|
44290
44363
|
return g().has(t.attachment.url);
|
|
44291
44364
|
},
|
|
44292
44365
|
get fallback() {
|
|
44293
|
-
return
|
|
44366
|
+
return A1();
|
|
44294
44367
|
},
|
|
44295
44368
|
get children() {
|
|
44296
|
-
return
|
|
44369
|
+
return E1();
|
|
44297
44370
|
}
|
|
44298
44371
|
});
|
|
44299
44372
|
}
|
|
@@ -44306,7 +44379,7 @@ function D1(e) {
|
|
|
44306
44379
|
YA("activity", t.issue.id), e.onOpenIssue();
|
|
44307
44380
|
},
|
|
44308
44381
|
get children() {
|
|
44309
|
-
return
|
|
44382
|
+
return D1();
|
|
44310
44383
|
}
|
|
44311
44384
|
}), null), P(d, j(vj, {
|
|
44312
44385
|
variant: "ghost",
|
|
@@ -44320,10 +44393,10 @@ function D1(e) {
|
|
|
44320
44393
|
return f() === t.attachment.id;
|
|
44321
44394
|
},
|
|
44322
44395
|
get fallback() {
|
|
44323
|
-
return
|
|
44396
|
+
return j1();
|
|
44324
44397
|
},
|
|
44325
44398
|
get children() {
|
|
44326
|
-
return
|
|
44399
|
+
return O1();
|
|
44327
44400
|
}
|
|
44328
44401
|
});
|
|
44329
44402
|
}
|
|
@@ -44343,13 +44416,13 @@ function D1(e) {
|
|
|
44343
44416
|
//#endregion
|
|
44344
44417
|
//#region src/lib/linear/auth.ts
|
|
44345
44418
|
rt(["click"]), Rr();
|
|
44346
|
-
function
|
|
44419
|
+
function P1(e) {
|
|
44347
44420
|
let t = "";
|
|
44348
44421
|
for (let n of e) t += String.fromCharCode(n);
|
|
44349
44422
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
44350
44423
|
}
|
|
44351
|
-
async function
|
|
44352
|
-
let t =
|
|
44424
|
+
async function F1(e) {
|
|
44425
|
+
let t = P1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = P1(new Uint8Array(n)), i = P1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
44353
44426
|
o.searchParams.set("client_id", e), o.searchParams.set("redirect_uri", a), o.searchParams.set("response_type", "code"), o.searchParams.set("scope", "read,write"), o.searchParams.set("state", i), o.searchParams.set("code_challenge", r), o.searchParams.set("code_challenge_method", "S256");
|
|
44354
44427
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
44355
44428
|
url: o.toString(),
|
|
@@ -44377,15 +44450,15 @@ async function k1(e) {
|
|
|
44377
44450
|
linearOauthClientId: e
|
|
44378
44451
|
});
|
|
44379
44452
|
}
|
|
44380
|
-
async function
|
|
44453
|
+
async function I1() {
|
|
44381
44454
|
await wr({
|
|
44382
44455
|
linearAccessToken: void 0,
|
|
44383
44456
|
linearApiKey: void 0
|
|
44384
44457
|
});
|
|
44385
44458
|
}
|
|
44386
44459
|
Rr(), br(), Nx(), mD();
|
|
44387
|
-
var
|
|
44388
|
-
function
|
|
44460
|
+
var L1 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), R1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Cloud: picking an element opens the panel to draft & delegate to the Cursor agent. Local (react-grab style): picking auto-copies the element's context — source, stack, and your skills/memory paths — straight to the clipboard for a local Claude Code or Cursor session; the panel stays out of the way. Both share the same picker; switch anytime."), z1 = /*#__PURE__*/ N("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Element screenshots"), B1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Captures a highlighted screenshot of each picked element and attaches it to the issue. Costs a beat on huge pages — with this off, picking is instant (pure react-grab speed)."), V1 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), H1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center justify-between rounded-lg border p-2.5\"><span class=\"text-text text-[12px]\">"), U1 = /*#__PURE__*/ N("<option value>Select a team…"), W1 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), G1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), K1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), q1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Mode</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">Beside page squeezes the app next to the panel, DevTools-style — nothing gets covered. Also toggleable from the dock icon in the panel header."), J1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Dock side</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">The launcher pill is draggable — park it anywhere it doesn't cover your app."), Y1 = /*#__PURE__*/ N("<option value>Select a channel…"), X1 = /*#__PURE__*/ N("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Announce new issues on create"), Z1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">⚠️ Tokens are embedded in issue Agent-instructions so agents can post the finished demo — everyone who can read the issue can read them. Use single-channel-scoped bots."), Q1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Provider preference</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"><button>Auto</button><button>OpenAI</button><button>Anthropic"), $1 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), e0 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), t0 = /*#__PURE__*/ N("<ol class=\"text-text-faint flex list-decimal flex-col gap-1 pl-4 text-[11px] leading-relaxed\"><li>Pick an element on your running dev app.</li><li>Draft the issue (AI optional).</li><li>Create + delegate — Cursor's cloud agent fixes it and opens a PR.</li><li>Track and steer it from Activity."), n0 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), r0 = /*#__PURE__*/ N("<button>"), i0 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), a0 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), o0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Register this callback URL in your Linear OAuth app config:<br><span class=\"font-mono text-[10.5px] break-all\">"), s0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), c0 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), l0 = /*#__PURE__*/ N("<option> (<!>)"), u0 = /*#__PURE__*/ N("<option value>Select the agent…"), d0 = /*#__PURE__*/ N("<option>"), f0 = /*#__PURE__*/ N("<option>#"), p0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
44461
|
+
function m0() {
|
|
44389
44462
|
let e = sr(), t = _r(() => ({
|
|
44390
44463
|
queryKey: ["settings"],
|
|
44391
44464
|
queryFn: Cr,
|
|
@@ -44430,7 +44503,7 @@ function c0() {
|
|
|
44430
44503
|
}
|
|
44431
44504
|
v(!0), b("");
|
|
44432
44505
|
try {
|
|
44433
|
-
await
|
|
44506
|
+
await F1(t), await e.invalidateQueries({ queryKey: ["settings"] }), await e.invalidateQueries({ queryKey: ["viewer"] }), await e.invalidateQueries({ queryKey: ["teams"] }), await e.invalidateQueries({ queryKey: ["agents"] }), await e.invalidateQueries({ queryKey: ["my-issues"] });
|
|
44434
44507
|
} catch (e) {
|
|
44435
44508
|
b(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
44436
44509
|
} finally {
|
|
@@ -44441,7 +44514,7 @@ function c0() {
|
|
|
44441
44514
|
async function w() {
|
|
44442
44515
|
C(!0);
|
|
44443
44516
|
try {
|
|
44444
|
-
await
|
|
44517
|
+
await I1(), await e.invalidateQueries({ queryKey: ["settings"] }), await e.invalidateQueries({ queryKey: ["viewer"] }), await e.invalidateQueries({ queryKey: ["teams"] }), await e.invalidateQueries({ queryKey: ["agents"] }), await e.invalidateQueries({ queryKey: ["my-issues"] });
|
|
44445
44518
|
} finally {
|
|
44446
44519
|
C(!1);
|
|
44447
44520
|
}
|
|
@@ -44457,12 +44530,12 @@ function c0() {
|
|
|
44457
44530
|
return e ? `Drafting with ${e} — ${jx[e].fast} (fast) / ${jx[e].best} (best)` : null;
|
|
44458
44531
|
});
|
|
44459
44532
|
return (() => {
|
|
44460
|
-
var e =
|
|
44533
|
+
var e = n0();
|
|
44461
44534
|
return P(e, j(Dj, {
|
|
44462
44535
|
title: "Workflow",
|
|
44463
44536
|
get children() {
|
|
44464
44537
|
return [(() => {
|
|
44465
|
-
var e =
|
|
44538
|
+
var e = L1();
|
|
44466
44539
|
return P(e, j(We, {
|
|
44467
44540
|
each: [{
|
|
44468
44541
|
id: "cloud",
|
|
@@ -44472,19 +44545,19 @@ function c0() {
|
|
|
44472
44545
|
label: "Local · clipboard"
|
|
44473
44546
|
}],
|
|
44474
44547
|
children: (e) => (() => {
|
|
44475
|
-
var t =
|
|
44548
|
+
var t = r0();
|
|
44476
44549
|
return t.$$click = () => void r({ workflowMode: e.id }), P(t, () => e.label), D(() => st(t, `flex-1 rounded-[5px] px-2 py-1 text-[11.5px] font-medium transition-colors ${(n().workflowMode ?? "cloud") === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
44477
44550
|
})()
|
|
44478
44551
|
})), e;
|
|
44479
|
-
})(),
|
|
44552
|
+
})(), R1()];
|
|
44480
44553
|
}
|
|
44481
44554
|
}), null), P(e, j(Dj, {
|
|
44482
44555
|
title: "Capture",
|
|
44483
44556
|
get children() {
|
|
44484
44557
|
return [(() => {
|
|
44485
|
-
var e =
|
|
44558
|
+
var e = z1(), t = e.firstChild;
|
|
44486
44559
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
44487
|
-
})(),
|
|
44560
|
+
})(), B1()];
|
|
44488
44561
|
}
|
|
44489
44562
|
}), null), P(e, j(Dj, {
|
|
44490
44563
|
title: "Linear",
|
|
@@ -44495,13 +44568,13 @@ function c0() {
|
|
|
44495
44568
|
},
|
|
44496
44569
|
get fallback() {
|
|
44497
44570
|
return (() => {
|
|
44498
|
-
var e =
|
|
44571
|
+
var e = s0();
|
|
44499
44572
|
return P(e, j(Ej, {
|
|
44500
44573
|
label: "Personal API key",
|
|
44501
44574
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
44502
44575
|
get children() {
|
|
44503
44576
|
return [(() => {
|
|
44504
|
-
var e =
|
|
44577
|
+
var e = i0();
|
|
44505
44578
|
return P(e, j(bj, {
|
|
44506
44579
|
type: "password",
|
|
44507
44580
|
placeholder: "lin_api_…",
|
|
@@ -44538,12 +44611,12 @@ function c0() {
|
|
|
44538
44611
|
}), null), P(e, j(M, {
|
|
44539
44612
|
when: yr,
|
|
44540
44613
|
get children() {
|
|
44541
|
-
return [
|
|
44614
|
+
return [a0(), j(Ej, {
|
|
44542
44615
|
label: "OAuth client ID",
|
|
44543
44616
|
get children() {
|
|
44544
44617
|
return [
|
|
44545
44618
|
(() => {
|
|
44546
|
-
var e =
|
|
44619
|
+
var e = i0();
|
|
44547
44620
|
return P(e, j(bj, {
|
|
44548
44621
|
placeholder: "your-client-id",
|
|
44549
44622
|
get value() {
|
|
@@ -44571,7 +44644,7 @@ function c0() {
|
|
|
44571
44644
|
}
|
|
44572
44645
|
}),
|
|
44573
44646
|
(() => {
|
|
44574
|
-
var e =
|
|
44647
|
+
var e = o0(), t = e.firstChild.nextSibling.nextSibling;
|
|
44575
44648
|
return P(t, E), e;
|
|
44576
44649
|
})()
|
|
44577
44650
|
];
|
|
@@ -44582,13 +44655,13 @@ function c0() {
|
|
|
44582
44655
|
})();
|
|
44583
44656
|
},
|
|
44584
44657
|
get children() {
|
|
44585
|
-
var e =
|
|
44658
|
+
var e = H1(), t = e.firstChild;
|
|
44586
44659
|
return P(t, j(M, {
|
|
44587
44660
|
get when() {
|
|
44588
44661
|
return !a.isLoading;
|
|
44589
44662
|
},
|
|
44590
44663
|
get fallback() {
|
|
44591
|
-
return
|
|
44664
|
+
return c0();
|
|
44592
44665
|
},
|
|
44593
44666
|
get children() {
|
|
44594
44667
|
return j(M, {
|
|
@@ -44601,7 +44674,7 @@ function c0() {
|
|
|
44601
44674
|
return a.isError;
|
|
44602
44675
|
},
|
|
44603
44676
|
get fallback() {
|
|
44604
|
-
return
|
|
44677
|
+
return c0();
|
|
44605
44678
|
},
|
|
44606
44679
|
get children() {
|
|
44607
44680
|
return j(jj, { message: "Key rejected — reconnect" });
|
|
@@ -44609,7 +44682,7 @@ function c0() {
|
|
|
44609
44682
|
});
|
|
44610
44683
|
},
|
|
44611
44684
|
get children() {
|
|
44612
|
-
var e =
|
|
44685
|
+
var e = V1(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
44613
44686
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
44614
44687
|
}
|
|
44615
44688
|
});
|
|
@@ -44650,7 +44723,7 @@ function c0() {
|
|
|
44650
44723
|
return o.isLoading;
|
|
44651
44724
|
},
|
|
44652
44725
|
get children() {
|
|
44653
|
-
return [
|
|
44726
|
+
return [U1(), j(M, {
|
|
44654
44727
|
get when() {
|
|
44655
44728
|
return o.data;
|
|
44656
44729
|
},
|
|
@@ -44660,7 +44733,7 @@ function c0() {
|
|
|
44660
44733
|
return o.data;
|
|
44661
44734
|
},
|
|
44662
44735
|
children: (e) => (() => {
|
|
44663
|
-
var t =
|
|
44736
|
+
var t = l0(), r = t.firstChild, i = r.nextSibling;
|
|
44664
44737
|
return i.nextSibling, P(t, () => e.name, r), P(t, () => e.key, i), D(() => t.selected = e.id === n().defaultTeamId), D(() => t.value = e.id), t;
|
|
44665
44738
|
})()
|
|
44666
44739
|
});
|
|
@@ -44704,7 +44777,7 @@ function c0() {
|
|
|
44704
44777
|
return s.isLoading;
|
|
44705
44778
|
},
|
|
44706
44779
|
get children() {
|
|
44707
|
-
return [
|
|
44780
|
+
return [u0(), j(M, {
|
|
44708
44781
|
get when() {
|
|
44709
44782
|
return s.data;
|
|
44710
44783
|
},
|
|
@@ -44714,7 +44787,7 @@ function c0() {
|
|
|
44714
44787
|
return s.data;
|
|
44715
44788
|
},
|
|
44716
44789
|
children: (e) => (() => {
|
|
44717
|
-
var t =
|
|
44790
|
+
var t = d0();
|
|
44718
44791
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
44719
44792
|
})()
|
|
44720
44793
|
});
|
|
@@ -44724,7 +44797,7 @@ function c0() {
|
|
|
44724
44797
|
});
|
|
44725
44798
|
},
|
|
44726
44799
|
get children() {
|
|
44727
|
-
return
|
|
44800
|
+
return W1();
|
|
44728
44801
|
}
|
|
44729
44802
|
});
|
|
44730
44803
|
}
|
|
@@ -44772,7 +44845,7 @@ function c0() {
|
|
|
44772
44845
|
onBlur: (e) => {
|
|
44773
44846
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
44774
44847
|
}
|
|
44775
|
-
}),
|
|
44848
|
+
}), G1()];
|
|
44776
44849
|
}
|
|
44777
44850
|
}),
|
|
44778
44851
|
j(Ej, {
|
|
@@ -44829,7 +44902,7 @@ function c0() {
|
|
|
44829
44902
|
label: "Test account",
|
|
44830
44903
|
hint: "The cloud agent logs into the app with this while testing and recording its demo. Added to every issue's Agent instructions. Use a throwaway account — it's visible to everyone who can read the issue.",
|
|
44831
44904
|
get children() {
|
|
44832
|
-
var e =
|
|
44905
|
+
var e = K1();
|
|
44833
44906
|
return P(e, j(bj, {
|
|
44834
44907
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
44835
44908
|
get value() {
|
|
@@ -44861,7 +44934,7 @@ function c0() {
|
|
|
44861
44934
|
title: "Panel",
|
|
44862
44935
|
get children() {
|
|
44863
44936
|
return [(() => {
|
|
44864
|
-
var e =
|
|
44937
|
+
var e = q1(), t = e.firstChild.nextSibling;
|
|
44865
44938
|
return P(t, j(We, {
|
|
44866
44939
|
each: [{
|
|
44867
44940
|
id: "overlay",
|
|
@@ -44871,7 +44944,7 @@ function c0() {
|
|
|
44871
44944
|
label: "Beside page"
|
|
44872
44945
|
}],
|
|
44873
44946
|
children: (e) => (() => {
|
|
44874
|
-
var t =
|
|
44947
|
+
var t = r0();
|
|
44875
44948
|
return t.$$click = () => void r({
|
|
44876
44949
|
panelMode: e.id,
|
|
44877
44950
|
panelPos: void 0
|
|
@@ -44879,11 +44952,11 @@ function c0() {
|
|
|
44879
44952
|
})()
|
|
44880
44953
|
})), e;
|
|
44881
44954
|
})(), (() => {
|
|
44882
|
-
var e =
|
|
44955
|
+
var e = J1(), t = e.firstChild.nextSibling;
|
|
44883
44956
|
return P(t, j(We, {
|
|
44884
44957
|
each: ["left", "right"],
|
|
44885
44958
|
children: (e) => (() => {
|
|
44886
|
-
var t =
|
|
44959
|
+
var t = r0();
|
|
44887
44960
|
return t.$$click = () => void r({ panelSide: e }), P(t, e === "left" ? "Left" : "Right"), D(() => st(t, `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors ${(n().panelSide ?? "right") === e ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
44888
44961
|
})()
|
|
44889
44962
|
})), e;
|
|
@@ -44995,12 +45068,12 @@ function c0() {
|
|
|
44995
45068
|
});
|
|
44996
45069
|
},
|
|
44997
45070
|
get children() {
|
|
44998
|
-
return [
|
|
45071
|
+
return [Y1(), j(We, {
|
|
44999
45072
|
get each() {
|
|
45000
45073
|
return O.data ?? [];
|
|
45001
45074
|
},
|
|
45002
45075
|
children: (e) => (() => {
|
|
45003
|
-
var t =
|
|
45076
|
+
var t = f0();
|
|
45004
45077
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
45005
45078
|
})()
|
|
45006
45079
|
})];
|
|
@@ -45051,10 +45124,10 @@ function c0() {
|
|
|
45051
45124
|
}
|
|
45052
45125
|
}),
|
|
45053
45126
|
(() => {
|
|
45054
|
-
var e =
|
|
45127
|
+
var e = X1(), t = e.firstChild;
|
|
45055
45128
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
45056
45129
|
})(),
|
|
45057
|
-
|
|
45130
|
+
Z1()
|
|
45058
45131
|
];
|
|
45059
45132
|
}
|
|
45060
45133
|
}), null), P(e, j(Dj, {
|
|
@@ -45092,7 +45165,7 @@ function c0() {
|
|
|
45092
45165
|
}
|
|
45093
45166
|
}),
|
|
45094
45167
|
(() => {
|
|
45095
|
-
var e =
|
|
45168
|
+
var e = Q1(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
45096
45169
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
45097
45170
|
var r = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors ${n().preferredProvider === void 0 ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`, o = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors disabled:cursor-not-allowed ${n().preferredProvider === "openai" ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer disabled:text-text-faint"}`, s = !n().openaiKey, c = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors disabled:cursor-not-allowed ${n().preferredProvider === "anthropic" ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer disabled:text-text-faint"}`, l = !n().anthropicKey;
|
|
45098
45171
|
return r !== e.e && st(t, e.e = r), o !== e.t && st(i, e.t = o), s !== e.a && (i.disabled = e.a = s), c !== e.o && st(a, e.o = c), l !== e.i && (a.disabled = e.i = l), e;
|
|
@@ -45105,16 +45178,16 @@ function c0() {
|
|
|
45105
45178
|
}), e;
|
|
45106
45179
|
})(),
|
|
45107
45180
|
(() => {
|
|
45108
|
-
var e =
|
|
45181
|
+
var e = e0();
|
|
45109
45182
|
return P(e, j(M, {
|
|
45110
45183
|
get when() {
|
|
45111
45184
|
return te();
|
|
45112
45185
|
},
|
|
45113
45186
|
get fallback() {
|
|
45114
|
-
return
|
|
45187
|
+
return p0();
|
|
45115
45188
|
},
|
|
45116
45189
|
get children() {
|
|
45117
|
-
var e =
|
|
45190
|
+
var e = $1();
|
|
45118
45191
|
return P(e, te), e;
|
|
45119
45192
|
}
|
|
45120
45193
|
})), e;
|
|
@@ -45124,7 +45197,7 @@ function c0() {
|
|
|
45124
45197
|
}), null), P(e, j(Dj, {
|
|
45125
45198
|
title: "How it works",
|
|
45126
45199
|
get children() {
|
|
45127
|
-
return
|
|
45200
|
+
return t0();
|
|
45128
45201
|
}
|
|
45129
45202
|
}), null), e;
|
|
45130
45203
|
})();
|
|
@@ -45132,38 +45205,38 @@ function c0() {
|
|
|
45132
45205
|
rt(["click"]);
|
|
45133
45206
|
//#endregion
|
|
45134
45207
|
//#region src/lib/idbCache.ts
|
|
45135
|
-
var
|
|
45208
|
+
var h0 = "linear-grab", g0 = "queries", _0 = [
|
|
45136
45209
|
"my-issues",
|
|
45137
45210
|
"issue",
|
|
45138
45211
|
"sessions",
|
|
45139
45212
|
"teams",
|
|
45140
45213
|
"agents"
|
|
45141
45214
|
];
|
|
45142
|
-
function
|
|
45215
|
+
function v0() {
|
|
45143
45216
|
return new Promise((e) => {
|
|
45144
45217
|
try {
|
|
45145
|
-
let t = indexedDB.open(
|
|
45146
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
45218
|
+
let t = indexedDB.open(h0, 1);
|
|
45219
|
+
t.onupgradeneeded = () => t.result.createObjectStore(g0), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
45147
45220
|
} catch {
|
|
45148
45221
|
e(null);
|
|
45149
45222
|
}
|
|
45150
45223
|
});
|
|
45151
45224
|
}
|
|
45152
|
-
function
|
|
45153
|
-
return typeof e[0] == "string" &&
|
|
45225
|
+
function y0(e) {
|
|
45226
|
+
return typeof e[0] == "string" && _0.includes(e[0]);
|
|
45154
45227
|
}
|
|
45155
|
-
async function
|
|
45156
|
-
let t = await
|
|
45228
|
+
async function b0(e) {
|
|
45229
|
+
let t = await v0();
|
|
45157
45230
|
if (!t) return () => {};
|
|
45158
45231
|
await new Promise((n) => {
|
|
45159
45232
|
try {
|
|
45160
|
-
let r = t.transaction(
|
|
45233
|
+
let r = t.transaction(g0, "readonly").objectStore(g0).openCursor();
|
|
45161
45234
|
r.onsuccess = () => {
|
|
45162
45235
|
let t = r.result;
|
|
45163
45236
|
if (!t) return n();
|
|
45164
45237
|
try {
|
|
45165
45238
|
let { queryKey: n, data: r } = t.value;
|
|
45166
|
-
|
|
45239
|
+
y0(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
45167
45240
|
} catch {}
|
|
45168
45241
|
t.continue();
|
|
45169
45242
|
}, r.onerror = () => n();
|
|
@@ -45174,14 +45247,14 @@ async function m0(e) {
|
|
|
45174
45247
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
45175
45248
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
45176
45249
|
let { queryKey: i, queryHash: a } = r.query;
|
|
45177
|
-
if (!
|
|
45250
|
+
if (!y0(i)) return;
|
|
45178
45251
|
let o = n.get(a);
|
|
45179
45252
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
45180
45253
|
n.delete(a);
|
|
45181
45254
|
try {
|
|
45182
45255
|
let n = e.getQueryData(i);
|
|
45183
45256
|
if (n === void 0) return;
|
|
45184
|
-
t.transaction(
|
|
45257
|
+
t.transaction(g0, "readwrite").objectStore(g0).put({
|
|
45185
45258
|
queryKey: i,
|
|
45186
45259
|
data: n
|
|
45187
45260
|
}, a);
|
|
@@ -45197,7 +45270,7 @@ async function m0(e) {
|
|
|
45197
45270
|
//#endregion
|
|
45198
45271
|
//#region src/panel/App.tsx
|
|
45199
45272
|
Rr();
|
|
45200
|
-
var
|
|
45273
|
+
var x0 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hidden><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3541-.0443L12.6587 18.074Z\">"), S0 = /*#__PURE__*/ N("<button><svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><rect x=1.5 y=2.5 width=13 height=11 rx=1.5></rect><path d=\"M10 2.5v11\">"), C0 = /*#__PURE__*/ N("<button aria-label=\"Minimize to launcher\"title=\"Minimize to launcher\"class=\"text-text-dim hover:text-text hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md text-[15px] leading-none transition-colors\">–"), w0 = /*#__PURE__*/ N("<div class=\"bg-bg text-text flex h-full flex-col\"><header><span class=\"text-accent mr-0.5 inline-flex shrink-0\"title=\"Linear Grab\"></span><div class=\"no-scrollbar flex min-w-0 flex-1 items-center gap-1 overflow-x-auto\"></div></header><main class=\"min-h-0 flex-1\"><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full>"), T0 = /*#__PURE__*/ N("<button>"), E0 = [
|
|
45201
45274
|
{
|
|
45202
45275
|
id: "draft",
|
|
45203
45276
|
label: "Draft"
|
|
@@ -45222,14 +45295,14 @@ var h0 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
45222
45295
|
id: "settings",
|
|
45223
45296
|
label: "Settings"
|
|
45224
45297
|
}
|
|
45225
|
-
],
|
|
45298
|
+
], D0 = new gr({ defaultOptions: { queries: {
|
|
45226
45299
|
retry: 1,
|
|
45227
45300
|
refetchOnWindowFocus: !1,
|
|
45228
45301
|
staleTime: 5e3
|
|
45229
45302
|
} } });
|
|
45230
|
-
function
|
|
45303
|
+
function O0(e) {
|
|
45231
45304
|
return (() => {
|
|
45232
|
-
var t =
|
|
45305
|
+
var t = x0();
|
|
45233
45306
|
return D((n) => {
|
|
45234
45307
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
45235
45308
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -45239,32 +45312,32 @@ function S0(e) {
|
|
|
45239
45312
|
}), t;
|
|
45240
45313
|
})();
|
|
45241
45314
|
}
|
|
45242
|
-
function
|
|
45315
|
+
function k0(e) {
|
|
45243
45316
|
let [t, n] = T("draft"), r = () => {
|
|
45244
|
-
|
|
45317
|
+
D0.invalidateQueries({ queryKey: ["grab"] }), ZA() === "capture" && n("capture"), e.onGrab?.();
|
|
45245
45318
|
};
|
|
45246
45319
|
return O(() => {
|
|
45247
45320
|
let e = GA();
|
|
45248
45321
|
e && n(e);
|
|
45249
45322
|
}), ie(() => {
|
|
45250
|
-
let e =
|
|
45251
|
-
RO().then(
|
|
45323
|
+
let e = b0(D0), t = IZ(r), n = () => {
|
|
45324
|
+
RO().then(KQ), FO();
|
|
45252
45325
|
};
|
|
45253
45326
|
n();
|
|
45254
45327
|
let i = Ar((e) => {
|
|
45255
|
-
e === "settings" && (
|
|
45328
|
+
e === "settings" && (D0.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
45256
45329
|
});
|
|
45257
45330
|
ae(() => {
|
|
45258
45331
|
t(), i(), e.then((e) => e());
|
|
45259
45332
|
});
|
|
45260
45333
|
}), j(cr, {
|
|
45261
|
-
client:
|
|
45334
|
+
client: D0,
|
|
45262
45335
|
get children() {
|
|
45263
|
-
var r =
|
|
45264
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
45265
|
-
each:
|
|
45336
|
+
var r = w0(), i = r.firstChild, a = i.firstChild, o = a.nextSibling, s = i.nextSibling.firstChild, c = s.nextSibling, l = c.nextSibling, u = l.nextSibling, d = u.nextSibling, f = d.nextSibling;
|
|
45337
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(O0, { size: 14 })), P(o, j(We, {
|
|
45338
|
+
each: E0,
|
|
45266
45339
|
children: (e) => (() => {
|
|
45267
|
-
var r =
|
|
45340
|
+
var r = T0();
|
|
45268
45341
|
return r.$$click = () => n(e.id), P(r, () => e.label), D(() => st(r, `h-6 shrink-0 rounded-md px-2 text-[12px] font-medium whitespace-nowrap transition-colors ${t() === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), r;
|
|
45269
45342
|
})()
|
|
45270
45343
|
})), P(i, j(M, {
|
|
@@ -45272,7 +45345,7 @@ function C0(e) {
|
|
|
45272
45345
|
return e.onTogglePin;
|
|
45273
45346
|
},
|
|
45274
45347
|
get children() {
|
|
45275
|
-
var t =
|
|
45348
|
+
var t = S0();
|
|
45276
45349
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
45277
45350
|
var r = e.pinned ? "Switch to overlay" : "Dock beside page", i = e.pinned ? "Overlay the page" : "Dock beside page (squeezes the app, DevTools-style)", a = `hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md transition-colors ${e.pinned ? "text-accent" : "text-text-dim hover:text-text"}`;
|
|
45278
45351
|
return r !== n.e && it(t, "aria-label", n.e = r), i !== n.t && it(t, "title", n.t = i), a !== n.a && st(t, n.a = a), n;
|
|
@@ -45287,10 +45360,10 @@ function C0(e) {
|
|
|
45287
45360
|
return e.onClose;
|
|
45288
45361
|
},
|
|
45289
45362
|
get children() {
|
|
45290
|
-
var t =
|
|
45363
|
+
var t = C0();
|
|
45291
45364
|
return t.$$click = () => e.onClose?.(), t;
|
|
45292
45365
|
}
|
|
45293
|
-
}), null), P(s, j(dM, { onCreated: () => n("activity") })), P(c, j(aQ, {})), P(l, j(
|
|
45366
|
+
}), null), P(s, j(dM, { onCreated: () => n("activity") })), P(c, j(aQ, {})), P(l, j(N$, {})), P(u, j(b1, {})), P(d, j(N1, { onOpenIssue: () => n("activity") })), P(f, j(m0, {})), D((n) => {
|
|
45294
45367
|
var r = `border-border bg-surface flex shrink-0 items-center gap-1 border-b px-2 py-1.5 select-none ${e.onHeaderPointerDown ? "cursor-grab active:cursor-grabbing" : ""}`, a = t() !== "draft", o = t() !== "capture", p = t() !== "activity", m = t() !== "local", h = t() !== "prs", g = t() !== "settings";
|
|
45295
45368
|
return r !== n.e && st(i, n.e = r), a !== n.t && s.classList.toggle("hidden", n.t = a), o !== n.a && c.classList.toggle("hidden", n.a = o), p !== n.o && l.classList.toggle("hidden", n.o = p), m !== n.i && u.classList.toggle("hidden", n.i = m), h !== n.n && d.classList.toggle("hidden", n.n = h), g !== n.s && f.classList.toggle("hidden", n.s = g), n;
|
|
45296
45369
|
}, {
|
|
@@ -45308,12 +45381,12 @@ function C0(e) {
|
|
|
45308
45381
|
rt(["pointerdown", "click"]);
|
|
45309
45382
|
//#endregion
|
|
45310
45383
|
//#region src/styles/app.css?inline
|
|
45311
|
-
var w0 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[68px\\]{min-width:68px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
45384
|
+
var A0 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[68px\\]{min-width:68px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
45312
45385
|
//#endregion
|
|
45313
45386
|
//#region src/page/index.tsx
|
|
45314
45387
|
Rr();
|
|
45315
|
-
var
|
|
45316
|
-
function
|
|
45388
|
+
var j0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), M0 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), N0 = /*#__PURE__*/ N("<button class=\"bg-accent hover:bg-accent-hover h-7 cursor-pointer rounded-full px-2.5 text-[11px] font-medium text-white transition-colors\"><span class=\"inline-block min-w-[4ch] text-center\">Stop"), P0 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), F0 = /*#__PURE__*/ N("<div><p class=\"text-text-dim px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Running agents"), I0 = /*#__PURE__*/ N("<div class=\"fixed z-[2147483646] select-none\"><div class=\"bg-surface border-border text-text flex h-9 cursor-grab items-center gap-1 rounded-full border py-1 pr-1 pl-2.5 font-sans shadow-lg active:cursor-grabbing\">"), L0 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), R0 = /*#__PURE__*/ N("<button title=\"Open Linear Grab\"aria-label=\"Open Linear Grab\"class=\"text-accent hover:opacity-80 inline-flex cursor-pointer items-center gap-1.5\">"), z0 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), B0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), V0 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), H0 = /*#__PURE__*/ N("<button title=\"Running agents\"aria-label=\"Running agents\"class=\"hover:bg-surface-2 flex h-7 cursor-pointer items-center gap-1.5 rounded-full px-2 transition-colors\"><span aria-hidden></span><span>"), U0 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), W0 = /*#__PURE__*/ N("<button class=\"hover:bg-surface-2 flex w-full cursor-pointer flex-col gap-0.5 rounded-md px-1.5 py-1.5 text-left transition-colors\"><span class=\"flex min-w-0 items-center gap-1.5\"><span aria-hidden class=\"size-1.5 shrink-0 rounded-full\"></span><span class=\"font-mono text-text-dim shrink-0 text-[10.5px]\"></span><span class=\"text-text truncate text-[11.5px]\"></span></span><span class=\"text-text-faint pl-3 text-[10.5px] tabular-nums\"> · <!> · ");
|
|
45389
|
+
function G0(e = {}) {
|
|
45317
45390
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
45318
45391
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
45319
45392
|
let t = () => {
|
|
@@ -45321,17 +45394,17 @@ function z0(e = {}) {
|
|
|
45321
45394
|
let t = document.createElement("div");
|
|
45322
45395
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
45323
45396
|
let n = t.attachShadow({ mode: "open" }), r = document.createElement("style");
|
|
45324
|
-
r.textContent =
|
|
45397
|
+
r.textContent = A0, n.appendChild(r);
|
|
45325
45398
|
let i = document.createElement("div");
|
|
45326
45399
|
n.appendChild(i);
|
|
45327
|
-
let a = () => i.setAttribute("data-theme",
|
|
45328
|
-
a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), nt(() => j(
|
|
45400
|
+
let a = () => i.setAttribute("data-theme", K0());
|
|
45401
|
+
a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), nt(() => j(Q0, { get defaultOpen() {
|
|
45329
45402
|
return e.defaultOpen ?? !1;
|
|
45330
45403
|
} }), i);
|
|
45331
45404
|
};
|
|
45332
45405
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
45333
45406
|
}
|
|
45334
|
-
function
|
|
45407
|
+
function K0() {
|
|
45335
45408
|
try {
|
|
45336
45409
|
let e = [document.body, document.documentElement];
|
|
45337
45410
|
for (let t of e) {
|
|
@@ -45341,11 +45414,11 @@ function B0() {
|
|
|
45341
45414
|
} catch {}
|
|
45342
45415
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
45343
45416
|
}
|
|
45344
|
-
var
|
|
45345
|
-
function
|
|
45417
|
+
var q0 = 130, J0 = 36, Y0 = 380, X0 = 280, Z0 = 720;
|
|
45418
|
+
function Q0(e) {
|
|
45346
45419
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
45347
|
-
x: Math.max(8, window.innerWidth -
|
|
45348
|
-
y: Math.max(8, window.innerHeight -
|
|
45420
|
+
x: Math.max(8, window.innerWidth - q0 - 24),
|
|
45421
|
+
y: Math.max(8, window.innerHeight - J0 - 20)
|
|
45349
45422
|
}), [s, c] = T({
|
|
45350
45423
|
running: [],
|
|
45351
45424
|
review: []
|
|
@@ -45360,12 +45433,12 @@ function K0(e) {
|
|
|
45360
45433
|
let t = Math.floor(e / 1e3);
|
|
45361
45434
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
45362
45435
|
}, [v, y] = T(null), b = (e) => ({
|
|
45363
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
45364
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
45436
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - q0 - 8),
|
|
45437
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - J0 - 8)
|
|
45365
45438
|
}), x = (e) => ({
|
|
45366
45439
|
x: Math.min(Math.max(8 - (te() - 80), e.x), window.innerWidth - 80),
|
|
45367
45440
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
45368
|
-
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(
|
|
45441
|
+
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(Y0), ne = (e) => Math.min(Z0, Math.max(X0, Math.min(e, window.innerWidth - 60)));
|
|
45369
45442
|
O(() => {
|
|
45370
45443
|
let e = document.documentElement, n = t() && S();
|
|
45371
45444
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${te()}px` : "", e.style.marginLeft = n && r() === "left" ? `${te()}px` : "";
|
|
@@ -45473,7 +45546,7 @@ function K0(e) {
|
|
|
45473
45546
|
return !t();
|
|
45474
45547
|
},
|
|
45475
45548
|
get children() {
|
|
45476
|
-
var e =
|
|
45549
|
+
var e = I0(), t = e.firstChild;
|
|
45477
45550
|
return t.$$pointerdown = se, P(t, j(M, {
|
|
45478
45551
|
get when() {
|
|
45479
45552
|
return p() === "recording";
|
|
@@ -45481,14 +45554,14 @@ function K0(e) {
|
|
|
45481
45554
|
get fallback() {
|
|
45482
45555
|
return [
|
|
45483
45556
|
(() => {
|
|
45484
|
-
var e =
|
|
45557
|
+
var e = R0();
|
|
45485
45558
|
return e.$$click = () => {
|
|
45486
45559
|
oe || (f(!1), n(!0));
|
|
45487
|
-
}, P(e, j(
|
|
45560
|
+
}, P(e, j(O0, { size: 13 })), e;
|
|
45488
45561
|
})(),
|
|
45489
|
-
|
|
45562
|
+
z0(),
|
|
45490
45563
|
(() => {
|
|
45491
|
-
var e =
|
|
45564
|
+
var e = H0(), t = e.firstChild, n = t.nextSibling;
|
|
45492
45565
|
return e.$$click = () => {
|
|
45493
45566
|
oe || f((e) => !e);
|
|
45494
45567
|
}, P(n, (() => {
|
|
@@ -45499,8 +45572,8 @@ function K0(e) {
|
|
|
45499
45572
|
return $e(() => !k())() && u().length > 0;
|
|
45500
45573
|
},
|
|
45501
45574
|
get children() {
|
|
45502
|
-
return [
|
|
45503
|
-
var e =
|
|
45575
|
+
return [B0(), (() => {
|
|
45576
|
+
var e = V0(), t = e.firstChild;
|
|
45504
45577
|
return P(e, () => u().length, t), e;
|
|
45505
45578
|
})()];
|
|
45506
45579
|
}
|
|
@@ -45516,13 +45589,13 @@ function K0(e) {
|
|
|
45516
45589
|
},
|
|
45517
45590
|
get children() {
|
|
45518
45591
|
return [
|
|
45519
|
-
|
|
45592
|
+
j0(),
|
|
45520
45593
|
(() => {
|
|
45521
|
-
var e =
|
|
45594
|
+
var e = M0();
|
|
45522
45595
|
return P(e, () => _(h())), e;
|
|
45523
45596
|
})(),
|
|
45524
45597
|
(() => {
|
|
45525
|
-
var e =
|
|
45598
|
+
var e = N0();
|
|
45526
45599
|
return e.$$click = () => {
|
|
45527
45600
|
oe || QD();
|
|
45528
45601
|
}, e;
|
|
@@ -45534,17 +45607,17 @@ function K0(e) {
|
|
|
45534
45607
|
return d();
|
|
45535
45608
|
},
|
|
45536
45609
|
get children() {
|
|
45537
|
-
var e =
|
|
45610
|
+
var e = F0(), t = e.firstChild;
|
|
45538
45611
|
return P(e, j(M, {
|
|
45539
45612
|
get when() {
|
|
45540
45613
|
return u().length > 0;
|
|
45541
45614
|
},
|
|
45542
45615
|
get children() {
|
|
45543
|
-
return [
|
|
45616
|
+
return [P0(), j(We, {
|
|
45544
45617
|
get each() {
|
|
45545
45618
|
return u();
|
|
45546
45619
|
},
|
|
45547
|
-
children: (e) => j(
|
|
45620
|
+
children: (e) => j($0, {
|
|
45548
45621
|
agent: e,
|
|
45549
45622
|
review: !0,
|
|
45550
45623
|
onOpen: le
|
|
@@ -45556,14 +45629,14 @@ function K0(e) {
|
|
|
45556
45629
|
return l().length > 0;
|
|
45557
45630
|
},
|
|
45558
45631
|
get fallback() {
|
|
45559
|
-
return
|
|
45632
|
+
return U0();
|
|
45560
45633
|
},
|
|
45561
45634
|
get children() {
|
|
45562
45635
|
return j(We, {
|
|
45563
45636
|
get each() {
|
|
45564
45637
|
return l();
|
|
45565
45638
|
},
|
|
45566
|
-
children: (e) => j(
|
|
45639
|
+
children: (e) => j($0, {
|
|
45567
45640
|
agent: e,
|
|
45568
45641
|
onOpen: le
|
|
45569
45642
|
})
|
|
@@ -45584,8 +45657,8 @@ function K0(e) {
|
|
|
45584
45657
|
return t();
|
|
45585
45658
|
},
|
|
45586
45659
|
get children() {
|
|
45587
|
-
var e =
|
|
45588
|
-
return t.$$pointerdown = ue, P(e, j(
|
|
45660
|
+
var e = L0(), t = e.firstChild;
|
|
45661
|
+
return t.$$pointerdown = ue, P(e, j(k0, {
|
|
45589
45662
|
onGrab: () => n(!0),
|
|
45590
45663
|
onClose: () => n(!1),
|
|
45591
45664
|
get onHeaderPointerDown() {
|
|
@@ -45613,19 +45686,19 @@ function K0(e) {
|
|
|
45613
45686
|
}
|
|
45614
45687
|
})];
|
|
45615
45688
|
}
|
|
45616
|
-
function
|
|
45689
|
+
function $0(e) {
|
|
45617
45690
|
return (() => {
|
|
45618
|
-
var t =
|
|
45691
|
+
var t = W0(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
45619
45692
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
45620
45693
|
var t = $e(() => !!e.review);
|
|
45621
45694
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
45622
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
45695
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => e2(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
45623
45696
|
})();
|
|
45624
45697
|
}
|
|
45625
|
-
function
|
|
45698
|
+
function e2(e) {
|
|
45626
45699
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
45627
45700
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
45628
45701
|
}
|
|
45629
45702
|
rt(["pointerdown", "click"]);
|
|
45630
45703
|
//#endregion
|
|
45631
|
-
export {
|
|
45704
|
+
export { G0 as init };
|