linear-grab 0.15.4 → 0.16.0
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 +8 -8
- package/dist/linear-grab.js +359 -302
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -3152,8 +3152,9 @@ async function Dr(e) {
|
|
|
3152
3152
|
};
|
|
3153
3153
|
continue;
|
|
3154
3154
|
}
|
|
3155
|
+
let r = (e) => `${e.source?.filePath ?? ""}:${e.source?.lineNumber ?? ""}|${e.tagName ?? ""}|${(e.content ?? "").trim().slice(0, 80)}`;
|
|
3155
3156
|
if (n.source?.filePath) {
|
|
3156
|
-
let e = t.findIndex((e) => e
|
|
3157
|
+
let e = t.findIndex((e) => r(e) === r(n));
|
|
3157
3158
|
if (e >= 0) {
|
|
3158
3159
|
t[e] = {
|
|
3159
3160
|
...t[e],
|
|
@@ -3166,7 +3167,7 @@ async function Dr(e) {
|
|
|
3166
3167
|
}
|
|
3167
3168
|
let n = /* @__PURE__ */ new Set(), r = [];
|
|
3168
3169
|
for (let e = t.length - 1; e >= 0; e--) {
|
|
3169
|
-
let i = t[e], a = i.source?.filePath ? `${i.source.filePath}:${i.source.lineNumber ?? ""}` : `id:${i.grabbedAt}`;
|
|
3170
|
+
let i = t[e], a = i.source?.filePath ? `${i.source.filePath}:${i.source.lineNumber ?? ""}|${i.tagName ?? ""}|${(i.content ?? "").trim().slice(0, 80)}` : `id:${i.grabbedAt}`;
|
|
3170
3171
|
n.has(a) || (n.add(a), r.unshift(i));
|
|
3171
3172
|
}
|
|
3172
3173
|
await Er(r.slice(-8));
|
|
@@ -42837,28 +42838,31 @@ async function LQ() {
|
|
|
42837
42838
|
//#endregion
|
|
42838
42839
|
//#region src/lib/captureShare.ts
|
|
42839
42840
|
Rr();
|
|
42840
|
-
|
|
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() {
|
|
42841
42845
|
let e = [];
|
|
42842
42846
|
for (let t of await Tr() ?? []) {
|
|
42843
42847
|
let n = t.source?.filePath ? ` — \`${t.source.filePath}${t.source.lineNumber == null ? "" : `:${t.source.lineNumber}`}\`` : "";
|
|
42844
42848
|
if (e.push(`- \`<${t.componentName ?? t.tagName ?? "element"}>\`${n}`), t.screenshotDataUrl) try {
|
|
42845
|
-
let n = await xO(WA(t.screenshotDataUrl), `capture-${t.grabbedAt}.png`);
|
|
42849
|
+
let n = await RQ(xO(WA(t.screenshotDataUrl), `capture-${t.grabbedAt}.png`));
|
|
42846
42850
|
e.push(` `);
|
|
42847
42851
|
} catch {}
|
|
42848
42852
|
}
|
|
42849
42853
|
let t = BD();
|
|
42850
42854
|
if (t.result) try {
|
|
42851
|
-
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`));
|
|
42852
42856
|
tO(n), e.push(``);
|
|
42853
42857
|
} catch {}
|
|
42854
42858
|
return e.length ? `Captured context:\n${e.join("\n")}` : null;
|
|
42855
42859
|
}
|
|
42856
42860
|
//#endregion
|
|
42857
42861
|
//#region src/panel/components/markdown.ts
|
|
42858
|
-
function
|
|
42862
|
+
function BQ(e) {
|
|
42859
42863
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
42860
42864
|
}
|
|
42861
|
-
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 {
|
|
42862
42866
|
objectUrl = null;
|
|
42863
42867
|
connectedCallback() {
|
|
42864
42868
|
let e = this.getAttribute("src") ?? "", t = this.getAttribute("alt") ?? "";
|
|
@@ -42885,27 +42889,27 @@ var BQ = /^(https?:\/\/|mailto:)/i, VQ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, HQ = /
|
|
|
42885
42889
|
this.objectUrl && URL.revokeObjectURL(this.objectUrl);
|
|
42886
42890
|
}
|
|
42887
42891
|
};
|
|
42888
|
-
typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media",
|
|
42889
|
-
var
|
|
42890
|
-
function GQ(e) {
|
|
42891
|
-
WQ = e ? e.replace(/\/$/, "") : null;
|
|
42892
|
-
}
|
|
42892
|
+
typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media", WQ);
|
|
42893
|
+
var GQ = null;
|
|
42893
42894
|
function KQ(e) {
|
|
42895
|
+
GQ = e ? e.replace(/\/$/, "") : null;
|
|
42896
|
+
}
|
|
42897
|
+
function qQ(e) {
|
|
42894
42898
|
try {
|
|
42895
|
-
if (
|
|
42899
|
+
if (GQ && new URL(e).hostname.endsWith("uploads.linear.app")) return `${GQ}/fetch?url=${encodeURIComponent(e)}`;
|
|
42896
42900
|
} catch {}
|
|
42897
42901
|
return e;
|
|
42898
42902
|
}
|
|
42899
|
-
function
|
|
42903
|
+
function JQ(e) {
|
|
42900
42904
|
let t = e;
|
|
42901
42905
|
return t = t.replace(/`([^`]+)`/g, (e, t) => `<code>${t}</code>`), t = t.replace(/!\[([^\]]*)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) => {
|
|
42902
|
-
if (!
|
|
42903
|
-
let r =
|
|
42904
|
-
return
|
|
42905
|
-
}), 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;
|
|
42906
42910
|
}
|
|
42907
|
-
function
|
|
42908
|
-
let t =
|
|
42911
|
+
function YQ(e) {
|
|
42912
|
+
let t = BQ(e.trim()).split("\n"), n = [], r = 0;
|
|
42909
42913
|
for (; r < t.length;) {
|
|
42910
42914
|
let e = t[r];
|
|
42911
42915
|
if (!e.trim()) {
|
|
@@ -42920,44 +42924,51 @@ function JQ(e) {
|
|
|
42920
42924
|
}
|
|
42921
42925
|
let i = e.match(/^(#{1,6})\s+(.*)$/);
|
|
42922
42926
|
if (i) {
|
|
42923
|
-
n.push(`<h4>${
|
|
42927
|
+
n.push(`<h4>${JQ(i[2])}</h4>`), r++;
|
|
42924
42928
|
continue;
|
|
42925
42929
|
}
|
|
42926
42930
|
if (/^\s*[-*]\s+/.test(e)) {
|
|
42927
42931
|
let e = [];
|
|
42928
|
-
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++;
|
|
42929
42933
|
n.push(`<ul>${e.join("")}</ul>`);
|
|
42930
42934
|
continue;
|
|
42931
42935
|
}
|
|
42932
42936
|
if (/^\s*\d+[.)]\s+/.test(e)) {
|
|
42933
42937
|
let e = [];
|
|
42934
|
-
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++;
|
|
42935
42939
|
n.push(`<ol>${e.join("")}</ol>`);
|
|
42936
42940
|
continue;
|
|
42937
42941
|
}
|
|
42938
42942
|
let a = [];
|
|
42939
42943
|
for (; r < t.length && t[r].trim() && !/^(#{1,6}\s|```|\s*[-*]\s+|\s*\d+[.)]\s+)/.test(t[r]);) a.push(t[r]), r++;
|
|
42940
|
-
n.push(`<p>${
|
|
42944
|
+
n.push(`<p>${JQ(a.join("<br />"))}</p>`);
|
|
42941
42945
|
}
|
|
42942
42946
|
return n.join("");
|
|
42943
42947
|
}
|
|
42944
42948
|
//#endregion
|
|
42945
42949
|
//#region src/panel/views/ActivityView.tsx
|
|
42946
42950
|
Rr();
|
|
42947
|
-
var
|
|
42948
|
-
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=new>Start NEW agent (@<!>)"), m$ = /*#__PURE__*/ N("<option value=comment>Comment only"), h$ = /*#__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\">"), g$ = /*#__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>"), _$ = /*#__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\">"), v$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), y$ = /*#__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\">"), b$ = /*#__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\">"), x$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-center\">Merge"), S$ = /*#__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\">"), C$ = /*#__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\">"), w$ = /*#__PURE__*/ N("<option>Steer running agent<!> · "), T$ = /*#__PURE__*/ N("<span class=\"bg-danger inline-block size-2.5 rounded-full\"aria-hidden>"), E$ = /*#__PURE__*/ N("<span class=\"text-[11px] text-text-dim\">"), D$ = /*#__PURE__*/ N("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), O$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5 border-t border-border pt-1.5 mt-0.5\">"), k$ = /*#__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\">"), A$ = /*#__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 j$(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 M$() {
|
|
42949
42960
|
let [e, t] = T(null);
|
|
42950
42961
|
return O(() => {
|
|
42951
42962
|
let e = qA();
|
|
42952
42963
|
e && (t(e), XA());
|
|
42953
42964
|
}), (() => {
|
|
42954
|
-
var n =
|
|
42965
|
+
var n = ZQ();
|
|
42955
42966
|
return P(n, j(M, {
|
|
42956
42967
|
get when() {
|
|
42957
42968
|
return e() === null;
|
|
42958
42969
|
},
|
|
42959
42970
|
get fallback() {
|
|
42960
|
-
return j(
|
|
42971
|
+
return j(F$, {
|
|
42961
42972
|
get issueId() {
|
|
42962
42973
|
return e();
|
|
42963
42974
|
},
|
|
@@ -42965,12 +42976,12 @@ function D$() {
|
|
|
42965
42976
|
});
|
|
42966
42977
|
},
|
|
42967
42978
|
get children() {
|
|
42968
|
-
return j(
|
|
42979
|
+
return j(N$, { onSelect: (e) => t(e) });
|
|
42969
42980
|
}
|
|
42970
42981
|
})), n;
|
|
42971
42982
|
})();
|
|
42972
42983
|
}
|
|
42973
|
-
function
|
|
42984
|
+
function N$(e) {
|
|
42974
42985
|
let t, n = _r(() => ({
|
|
42975
42986
|
queryKey: ["my-issues"],
|
|
42976
42987
|
queryFn: uO,
|
|
@@ -42984,13 +42995,13 @@ function O$(e) {
|
|
|
42984
42995
|
overscan: 5
|
|
42985
42996
|
});
|
|
42986
42997
|
return (() => {
|
|
42987
|
-
var a =
|
|
42998
|
+
var a = n$(), o = a.firstChild.firstChild.nextSibling;
|
|
42988
42999
|
return P(o, j(M, {
|
|
42989
43000
|
get when() {
|
|
42990
43001
|
return n.dataUpdatedAt > 0;
|
|
42991
43002
|
},
|
|
42992
43003
|
get children() {
|
|
42993
|
-
var e =
|
|
43004
|
+
var e = QQ();
|
|
42994
43005
|
return e.firstChild, P(e, () => Nj(n.dataUpdatedAt), null), e;
|
|
42995
43006
|
}
|
|
42996
43007
|
}), null), P(o, j(vj, {
|
|
@@ -43002,14 +43013,14 @@ function O$(e) {
|
|
|
43002
43013
|
title: "Refresh",
|
|
43003
43014
|
"aria-label": "Refresh issues",
|
|
43004
43015
|
get children() {
|
|
43005
|
-
return
|
|
43016
|
+
return $Q();
|
|
43006
43017
|
}
|
|
43007
43018
|
}), null), P(a, j(M, {
|
|
43008
43019
|
get when() {
|
|
43009
43020
|
return n.isError;
|
|
43010
43021
|
},
|
|
43011
43022
|
get children() {
|
|
43012
|
-
var e =
|
|
43023
|
+
var e = e$();
|
|
43013
43024
|
return P(e, j(Aj, {
|
|
43014
43025
|
title: "Connect Linear in Settings",
|
|
43015
43026
|
get children() {
|
|
@@ -43022,7 +43033,7 @@ function O$(e) {
|
|
|
43022
43033
|
return $e(() => !n.isError && !n.isPending)() && r().length === 0;
|
|
43023
43034
|
},
|
|
43024
43035
|
get children() {
|
|
43025
|
-
var e =
|
|
43036
|
+
var e = e$();
|
|
43026
43037
|
return P(e, j(Aj, {
|
|
43027
43038
|
title: "No issues found",
|
|
43028
43039
|
children: "Issues you create will appear here."
|
|
@@ -43033,7 +43044,7 @@ function O$(e) {
|
|
|
43033
43044
|
return $e(() => !n.isError)() && r().length > 0;
|
|
43034
43045
|
},
|
|
43035
43046
|
get children() {
|
|
43036
|
-
var n = $
|
|
43047
|
+
var n = t$(), a = n.firstChild, o = t;
|
|
43037
43048
|
return typeof o == "function" ? pt(o, n) : t = n, P(a, j(We, {
|
|
43038
43049
|
get each() {
|
|
43039
43050
|
return i.getVirtualItems();
|
|
@@ -43041,8 +43052,8 @@ function O$(e) {
|
|
|
43041
43052
|
children: (t) => {
|
|
43042
43053
|
let n = k(() => r()[t.index]);
|
|
43043
43054
|
return (() => {
|
|
43044
|
-
var r =
|
|
43045
|
-
return P(r, j(
|
|
43055
|
+
var r = r$();
|
|
43056
|
+
return P(r, j(P$, {
|
|
43046
43057
|
get issue() {
|
|
43047
43058
|
return n();
|
|
43048
43059
|
},
|
|
@@ -43057,9 +43068,9 @@ function O$(e) {
|
|
|
43057
43068
|
}), null), a;
|
|
43058
43069
|
})();
|
|
43059
43070
|
}
|
|
43060
|
-
function
|
|
43071
|
+
function P$(e) {
|
|
43061
43072
|
return (() => {
|
|
43062
|
-
var t =
|
|
43073
|
+
var t = i$(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling, o = a.firstChild;
|
|
43063
43074
|
return t.$$click = () => e.onSelect(e.issue.id), P(n, j(kj, { get color() {
|
|
43064
43075
|
return e.issue.state.color;
|
|
43065
43076
|
} }), r), P(r, () => e.issue.identifier), P(i, () => e.issue.title), P(a, j(Oj, { get children() {
|
|
@@ -43093,7 +43104,7 @@ function k$(e) {
|
|
|
43093
43104
|
}), o), P(o, () => Nj(e.issue.updatedAt)), t;
|
|
43094
43105
|
})();
|
|
43095
43106
|
}
|
|
43096
|
-
function
|
|
43107
|
+
function F$(e) {
|
|
43097
43108
|
let t = sr(), n = _r(() => ({
|
|
43098
43109
|
queryKey: ["issue", e.issueId],
|
|
43099
43110
|
queryFn: () => dO(e.issueId),
|
|
@@ -43132,53 +43143,67 @@ function A$(e) {
|
|
|
43132
43143
|
queryFn: Tr,
|
|
43133
43144
|
enabled: ZA() === "composer"
|
|
43134
43145
|
})), [h, g] = T(!1), _ = async () => {
|
|
43135
|
-
g(!0);
|
|
43146
|
+
g(!0), d(null);
|
|
43136
43147
|
try {
|
|
43137
|
-
let e = await
|
|
43138
|
-
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.");
|
|
43139
43152
|
} finally {
|
|
43140
43153
|
g(!1);
|
|
43141
43154
|
}
|
|
43142
43155
|
}, v = () => {
|
|
43156
|
+
if (ZA() === "composer") {
|
|
43157
|
+
$A("capture");
|
|
43158
|
+
return;
|
|
43159
|
+
}
|
|
43143
43160
|
p(Date.now()), $A("composer"), FZ().catch(() => $A("capture"));
|
|
43144
43161
|
};
|
|
43145
43162
|
O(() => {
|
|
43146
43163
|
if (ZA() !== "composer") return;
|
|
43147
|
-
let e = (m.data ?? []).filter((e) => e.grabbedAt
|
|
43164
|
+
let e = (m.data ?? []).filter((e) => e.grabbedAt > f());
|
|
43148
43165
|
if (!e.length) return;
|
|
43149
43166
|
let t = e.map((e) => {
|
|
43150
43167
|
let t = e.source?.filePath ? ` — \`${e.source.filePath}${e.source.lineNumber == null ? "" : `:${e.source.lineNumber}`}\`` : "";
|
|
43151
43168
|
return `- \`<${e.componentName ?? e.tagName ?? "element"}>\`${t}`;
|
|
43152
43169
|
}).join("\n");
|
|
43153
|
-
l((e) => `${e ? `${e}\n` : ""}${t}\n`),
|
|
43170
|
+
l((e) => `${e ? `${e}\n` : ""}${t}\n`), p(Math.max(...e.map((e) => e.grabbedAt)));
|
|
43171
|
+
});
|
|
43172
|
+
let [y, b] = T(BD());
|
|
43173
|
+
ae(VD(b));
|
|
43174
|
+
let x = !1;
|
|
43175
|
+
O(() => {
|
|
43176
|
+
y().phase === "ready" && x && (x = !1, _());
|
|
43154
43177
|
});
|
|
43155
|
-
let
|
|
43156
|
-
|
|
43157
|
-
|
|
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()),
|
|
43158
43183
|
refetchInterval: 3e4,
|
|
43159
43184
|
retry: 0,
|
|
43160
|
-
enabled:
|
|
43161
|
-
})),
|
|
43162
|
-
|
|
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);
|
|
43163
43188
|
try {
|
|
43164
|
-
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();
|
|
43165
43190
|
} catch (e) {
|
|
43166
|
-
|
|
43191
|
+
oe(e instanceof Error ? `${e.message} (bridge must be running; gh needs merge rights)` : "Merge failed.");
|
|
43167
43192
|
} finally {
|
|
43168
|
-
|
|
43193
|
+
A(null);
|
|
43169
43194
|
}
|
|
43170
|
-
},
|
|
43195
|
+
}, ce = k(() => n.data ? yO(n.data.comments) : []), [le, ue] = T("comment"), de = !1;
|
|
43171
43196
|
O(() => {
|
|
43172
|
-
if (
|
|
43173
|
-
|
|
43174
|
-
let e =
|
|
43175
|
-
e.length ?
|
|
43197
|
+
if (de || !n.data || !i.data) return;
|
|
43198
|
+
de = !0;
|
|
43199
|
+
let e = ce();
|
|
43200
|
+
e.length ? ue(`thread:${e[0].id}`) : n.data.delegate && i.data.cursorAgentId && ue("new");
|
|
43176
43201
|
});
|
|
43177
|
-
let
|
|
43202
|
+
let fe = vr(() => ({
|
|
43178
43203
|
mutationFn: async () => {
|
|
43179
43204
|
let t = c().trim();
|
|
43180
43205
|
if (!t) throw Error("Message is empty");
|
|
43181
|
-
let n = i.data ?? {}, r =
|
|
43206
|
+
let n = i.data ?? {}, r = le();
|
|
43182
43207
|
r.startsWith("thread:") ? await _O(e.issueId, t, r.slice(7)) : r === "new" && n.cursorAgentId ? await vO(e.issueId, t, {
|
|
43183
43208
|
name: n.cursorAgentName,
|
|
43184
43209
|
displayName: n.cursorAgentName ?? "Cursor",
|
|
@@ -43186,53 +43211,53 @@ function A$(e) {
|
|
|
43186
43211
|
}) : await _O(e.issueId, t);
|
|
43187
43212
|
},
|
|
43188
43213
|
onSuccess: () => {
|
|
43189
|
-
l(""), d(null), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), FQ();
|
|
43214
|
+
l(""), d(null), $A("capture"), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), FQ();
|
|
43190
43215
|
},
|
|
43191
43216
|
onError: (e) => {
|
|
43192
43217
|
d(e.message ?? "Failed to send");
|
|
43193
43218
|
}
|
|
43194
|
-
})),
|
|
43219
|
+
})), pe = k(() => n.data), me = k(() => r.data ?? []);
|
|
43195
43220
|
return (() => {
|
|
43196
|
-
var t =
|
|
43221
|
+
var t = y$(), r = t.firstChild, a = r.firstChild, d = r.nextSibling, f = d.nextSibling, p = f.firstChild;
|
|
43197
43222
|
return P(a, j(vj, {
|
|
43198
43223
|
class: "min-w-[68px] shrink-0 text-[11px]",
|
|
43199
43224
|
get onClick() {
|
|
43200
43225
|
return e.onBack;
|
|
43201
43226
|
},
|
|
43202
43227
|
get children() {
|
|
43203
|
-
return
|
|
43228
|
+
return a$();
|
|
43204
43229
|
}
|
|
43205
43230
|
}), null), P(a, j(M, {
|
|
43206
43231
|
get when() {
|
|
43207
|
-
return
|
|
43232
|
+
return pe();
|
|
43208
43233
|
},
|
|
43209
43234
|
get children() {
|
|
43210
43235
|
return [(() => {
|
|
43211
|
-
var e =
|
|
43212
|
-
return P(e, () =>
|
|
43236
|
+
var e = o$();
|
|
43237
|
+
return P(e, () => pe().identifier), e;
|
|
43213
43238
|
})(), (() => {
|
|
43214
|
-
var e =
|
|
43215
|
-
return P(e, () =>
|
|
43239
|
+
var e = s$();
|
|
43240
|
+
return P(e, () => pe().title), e;
|
|
43216
43241
|
})()];
|
|
43217
43242
|
}
|
|
43218
43243
|
}), null), P(a, j(M, {
|
|
43219
43244
|
get when() {
|
|
43220
|
-
return $e(() => !!n.isPending)() && !
|
|
43245
|
+
return $e(() => !!n.isPending)() && !pe();
|
|
43221
43246
|
},
|
|
43222
43247
|
get children() {
|
|
43223
|
-
return
|
|
43248
|
+
return c$();
|
|
43224
43249
|
}
|
|
43225
43250
|
}), null), P(r, j(M, {
|
|
43226
43251
|
get when() {
|
|
43227
|
-
return
|
|
43252
|
+
return pe();
|
|
43228
43253
|
},
|
|
43229
43254
|
get children() {
|
|
43230
|
-
var e =
|
|
43255
|
+
var e = l$(), t = e.firstChild;
|
|
43231
43256
|
return P(e, j(kj, { get color() {
|
|
43232
|
-
return
|
|
43233
|
-
} }), t), P(t, () =>
|
|
43257
|
+
return pe().state.color;
|
|
43258
|
+
} }), t), P(t, () => pe().state.name), P(e, j(Tj, {
|
|
43234
43259
|
get href() {
|
|
43235
|
-
return
|
|
43260
|
+
return pe().url;
|
|
43236
43261
|
},
|
|
43237
43262
|
class: "ml-auto shrink-0",
|
|
43238
43263
|
children: "Open in Linear"
|
|
@@ -43245,7 +43270,7 @@ function A$(e) {
|
|
|
43245
43270
|
children: (e) => {
|
|
43246
43271
|
let t = () => s(e());
|
|
43247
43272
|
return (() => {
|
|
43248
|
-
var n =
|
|
43273
|
+
var n = b$(), r = n.firstChild, i = r.firstChild.firstChild, a = i.nextSibling.nextSibling.nextSibling;
|
|
43249
43274
|
a.firstChild;
|
|
43250
43275
|
var o = r.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
43251
43276
|
return P(i, j(wj, { size: 12 })), P(a, () => Nj(e().startedAt), null), P(r, j(Oj, { get children() {
|
|
@@ -43265,62 +43290,62 @@ function A$(e) {
|
|
|
43265
43290
|
}
|
|
43266
43291
|
}), null), P(d, j(M, {
|
|
43267
43292
|
get when() {
|
|
43268
|
-
return
|
|
43293
|
+
return me().length > 0;
|
|
43269
43294
|
},
|
|
43270
43295
|
get children() {
|
|
43271
|
-
var e =
|
|
43296
|
+
var e = u$();
|
|
43272
43297
|
return P(e, j(We, {
|
|
43273
43298
|
get each() {
|
|
43274
|
-
return
|
|
43299
|
+
return me();
|
|
43275
43300
|
},
|
|
43276
|
-
children: (e) => j(
|
|
43301
|
+
children: (e) => j(I$, { session: e })
|
|
43277
43302
|
})), e;
|
|
43278
43303
|
}
|
|
43279
43304
|
}), null), P(d, j(M, {
|
|
43280
43305
|
get when() {
|
|
43281
|
-
return $e(() => !!
|
|
43306
|
+
return $e(() => !!pe())() && pe().attachments.length > 0;
|
|
43282
43307
|
},
|
|
43283
43308
|
get children() {
|
|
43284
|
-
var e =
|
|
43309
|
+
var e = d$(), t = e.firstChild.nextSibling;
|
|
43285
43310
|
return P(t, j(We, {
|
|
43286
43311
|
get each() {
|
|
43287
|
-
return
|
|
43312
|
+
return pe().attachments;
|
|
43288
43313
|
},
|
|
43289
43314
|
children: (e) => {
|
|
43290
43315
|
let t = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i.test(e.url);
|
|
43291
43316
|
return (() => {
|
|
43292
|
-
var n =
|
|
43317
|
+
var n = S$(), r = n.firstChild;
|
|
43293
43318
|
return P(r, () => e.title), P(n, j(M, {
|
|
43294
43319
|
get when() {
|
|
43295
|
-
return $e(() => !!(t &&
|
|
43320
|
+
return $e(() => !!(t && ee(e.url)))() && ee(e.url) !== "OPEN";
|
|
43296
43321
|
},
|
|
43297
43322
|
get children() {
|
|
43298
43323
|
return j(Oj, {
|
|
43299
43324
|
get class() {
|
|
43300
|
-
return `ml-auto shrink-0 ${
|
|
43325
|
+
return `ml-auto shrink-0 ${ee(e.url) === "MERGED" ? "text-success" : "text-text-faint"}`;
|
|
43301
43326
|
},
|
|
43302
43327
|
get children() {
|
|
43303
|
-
return
|
|
43328
|
+
return ee(e.url) === "MERGED" ? "✓ merged" : "closed";
|
|
43304
43329
|
}
|
|
43305
43330
|
});
|
|
43306
43331
|
}
|
|
43307
43332
|
}), null), P(n, j(M, {
|
|
43308
43333
|
get when() {
|
|
43309
|
-
return t && (!
|
|
43334
|
+
return t && (!ee(e.url) || ee(e.url) === "OPEN");
|
|
43310
43335
|
},
|
|
43311
43336
|
get children() {
|
|
43312
43337
|
return j(vj, {
|
|
43313
43338
|
variant: "primary",
|
|
43314
43339
|
class: "ml-auto h-6 shrink-0 px-2 text-[11px]",
|
|
43315
43340
|
get loading() {
|
|
43316
|
-
return
|
|
43341
|
+
return te() === e.url;
|
|
43317
43342
|
},
|
|
43318
43343
|
get title() {
|
|
43319
|
-
return
|
|
43344
|
+
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.";
|
|
43320
43345
|
},
|
|
43321
|
-
onClick: () => void
|
|
43346
|
+
onClick: () => void se(e.url),
|
|
43322
43347
|
get children() {
|
|
43323
|
-
return
|
|
43348
|
+
return x$();
|
|
43324
43349
|
}
|
|
43325
43350
|
});
|
|
43326
43351
|
}
|
|
@@ -43335,41 +43360,46 @@ function A$(e) {
|
|
|
43335
43360
|
}
|
|
43336
43361
|
}), null), P(t, j(M, {
|
|
43337
43362
|
get when() {
|
|
43338
|
-
return
|
|
43363
|
+
return ie();
|
|
43339
43364
|
},
|
|
43340
43365
|
get children() {
|
|
43341
43366
|
return j(jj, { get message() {
|
|
43342
|
-
return
|
|
43367
|
+
return ie();
|
|
43343
43368
|
} });
|
|
43344
43369
|
}
|
|
43345
43370
|
}), null), e;
|
|
43346
43371
|
}
|
|
43347
43372
|
}), null), P(d, j(M, {
|
|
43348
43373
|
get when() {
|
|
43349
|
-
return $e(() => !!
|
|
43374
|
+
return $e(() => !!pe())() && pe().comments.length > 0;
|
|
43350
43375
|
},
|
|
43351
43376
|
get children() {
|
|
43352
|
-
var e =
|
|
43353
|
-
return e.firstChild, P(e, j(
|
|
43377
|
+
var e = f$();
|
|
43378
|
+
return e.firstChild, P(e, j(Ge, {
|
|
43354
43379
|
get each() {
|
|
43355
|
-
return
|
|
43380
|
+
return pe().comments;
|
|
43356
43381
|
},
|
|
43357
|
-
children: (e) =>
|
|
43358
|
-
|
|
43359
|
-
return
|
|
43360
|
-
|
|
43361
|
-
|
|
43362
|
-
|
|
43363
|
-
|
|
43364
|
-
|
|
43365
|
-
|
|
43366
|
-
|
|
43367
|
-
|
|
43382
|
+
children: (e) => {
|
|
43383
|
+
let t = e();
|
|
43384
|
+
return (() => {
|
|
43385
|
+
var e = C$(), n = e.firstChild, r = n.firstChild, i = r.nextSibling;
|
|
43386
|
+
return P(r, () => t.user?.displayName ?? t.user?.name ?? "Unknown"), P(n, j(M, {
|
|
43387
|
+
get when() {
|
|
43388
|
+
return t.user?.app;
|
|
43389
|
+
},
|
|
43390
|
+
get children() {
|
|
43391
|
+
return j(Oj, { children: "agent" });
|
|
43392
|
+
}
|
|
43393
|
+
}), i), P(i, () => Nj(t.createdAt)), P(e, j(j$, { get text() {
|
|
43394
|
+
return t.body;
|
|
43395
|
+
} }), null), e;
|
|
43396
|
+
})();
|
|
43397
|
+
}
|
|
43368
43398
|
}), null), e;
|
|
43369
43399
|
}
|
|
43370
43400
|
}), null), P(d, j(M, {
|
|
43371
43401
|
get when() {
|
|
43372
|
-
return $e(() => !!(
|
|
43402
|
+
return $e(() => !!(pe() && pe().comments.length === 0))() && me().length === 0;
|
|
43373
43403
|
},
|
|
43374
43404
|
get children() {
|
|
43375
43405
|
return j(Aj, {
|
|
@@ -43379,7 +43409,7 @@ function A$(e) {
|
|
|
43379
43409
|
}
|
|
43380
43410
|
}), null), P(d, j(M, {
|
|
43381
43411
|
get when() {
|
|
43382
|
-
return $e(() => !!n.isError)() && !
|
|
43412
|
+
return $e(() => !!n.isError)() && !pe();
|
|
43383
43413
|
},
|
|
43384
43414
|
get children() {
|
|
43385
43415
|
return j(Aj, {
|
|
@@ -43406,26 +43436,26 @@ function A$(e) {
|
|
|
43406
43436
|
},
|
|
43407
43437
|
onInput: (e) => l(e.target.value),
|
|
43408
43438
|
get disabled() {
|
|
43409
|
-
return
|
|
43439
|
+
return fe.isPending;
|
|
43410
43440
|
}
|
|
43411
43441
|
}), p), P(p, j(Sj, {
|
|
43412
43442
|
class: "min-w-0 flex-1",
|
|
43413
43443
|
get value() {
|
|
43414
|
-
return
|
|
43444
|
+
return le();
|
|
43415
43445
|
},
|
|
43416
|
-
onChange: (e) =>
|
|
43446
|
+
onChange: (e) => ue(e.currentTarget.value),
|
|
43417
43447
|
get children() {
|
|
43418
43448
|
return [
|
|
43419
43449
|
j(We, {
|
|
43420
43450
|
get each() {
|
|
43421
|
-
return
|
|
43451
|
+
return ce();
|
|
43422
43452
|
},
|
|
43423
43453
|
children: (e, t) => (() => {
|
|
43424
|
-
var n =
|
|
43454
|
+
var n = w$(), r = n.firstChild.nextSibling;
|
|
43425
43455
|
return r.nextSibling, P(n, (() => {
|
|
43426
|
-
var e = $e(() =>
|
|
43456
|
+
var e = $e(() => ce().length > 1);
|
|
43427
43457
|
return () => e() ? ` #${t() + 1}` : "";
|
|
43428
|
-
})(), r), P(n, () => Nj(e.createdAt), null), D(() => n.selected =
|
|
43458
|
+
})(), r), P(n, () => Nj(e.createdAt), null), D(() => n.selected = le() === `thread:${e.id}`), D(() => n.value = `thread:${e.id}`), n;
|
|
43429
43459
|
})()
|
|
43430
43460
|
}),
|
|
43431
43461
|
j(M, {
|
|
@@ -43433,24 +43463,51 @@ function A$(e) {
|
|
|
43433
43463
|
return i.data?.cursorAgentId;
|
|
43434
43464
|
},
|
|
43435
43465
|
get children() {
|
|
43436
|
-
var e =
|
|
43437
|
-
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected =
|
|
43466
|
+
var e = p$(), t = e.firstChild.nextSibling;
|
|
43467
|
+
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected = le() === "new"), e;
|
|
43438
43468
|
}
|
|
43439
43469
|
}),
|
|
43440
43470
|
(() => {
|
|
43441
|
-
var e =
|
|
43442
|
-
return D(() => e.selected =
|
|
43471
|
+
var e = m$();
|
|
43472
|
+
return D(() => e.selected = le() === "comment"), e;
|
|
43443
43473
|
})()
|
|
43444
43474
|
];
|
|
43445
43475
|
}
|
|
43446
43476
|
}), null), P(p, j(vj, {
|
|
43447
43477
|
variant: "ghost",
|
|
43448
|
-
class
|
|
43449
|
-
|
|
43478
|
+
get class() {
|
|
43479
|
+
return `size-7 shrink-0 px-0 ${ZA() === "composer" ? "text-accent" : ""}`;
|
|
43480
|
+
},
|
|
43481
|
+
get title() {
|
|
43482
|
+
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)";
|
|
43483
|
+
},
|
|
43450
43484
|
"aria-label": "Pick element for reply",
|
|
43451
43485
|
onClick: v,
|
|
43452
43486
|
get children() {
|
|
43453
|
-
return
|
|
43487
|
+
return h$();
|
|
43488
|
+
}
|
|
43489
|
+
}), null), P(p, j(vj, {
|
|
43490
|
+
variant: "ghost",
|
|
43491
|
+
get class() {
|
|
43492
|
+
return `size-7 shrink-0 px-0 ${y().phase === "recording" ? "text-danger" : ""}`;
|
|
43493
|
+
},
|
|
43494
|
+
get title() {
|
|
43495
|
+
return y().phase === "recording" ? "Stop recording — the GIF auto-attaches to this reply" : "Record a GIF from this thread (auto-attaches when done)";
|
|
43496
|
+
},
|
|
43497
|
+
"aria-label": "Record GIF",
|
|
43498
|
+
onClick: S,
|
|
43499
|
+
get children() {
|
|
43500
|
+
return j(M, {
|
|
43501
|
+
get when() {
|
|
43502
|
+
return y().phase === "recording";
|
|
43503
|
+
},
|
|
43504
|
+
get fallback() {
|
|
43505
|
+
return T$();
|
|
43506
|
+
},
|
|
43507
|
+
get children() {
|
|
43508
|
+
return g$();
|
|
43509
|
+
}
|
|
43510
|
+
});
|
|
43454
43511
|
}
|
|
43455
43512
|
}), null), P(p, j(vj, {
|
|
43456
43513
|
variant: "ghost",
|
|
@@ -43462,31 +43519,31 @@ function A$(e) {
|
|
|
43462
43519
|
"aria-label": "Attach captures",
|
|
43463
43520
|
onClick: () => void _(),
|
|
43464
43521
|
get children() {
|
|
43465
|
-
return
|
|
43522
|
+
return _$();
|
|
43466
43523
|
}
|
|
43467
43524
|
}), null), P(p, j(vj, {
|
|
43468
43525
|
class: "min-w-[52px] shrink-0",
|
|
43469
43526
|
variant: "primary",
|
|
43470
43527
|
get loading() {
|
|
43471
|
-
return
|
|
43528
|
+
return fe.isPending;
|
|
43472
43529
|
},
|
|
43473
43530
|
get disabled() {
|
|
43474
43531
|
return c().trim().length === 0;
|
|
43475
43532
|
},
|
|
43476
|
-
onClick: () =>
|
|
43533
|
+
onClick: () => fe.mutate(),
|
|
43477
43534
|
get children() {
|
|
43478
|
-
return
|
|
43535
|
+
return v$();
|
|
43479
43536
|
}
|
|
43480
43537
|
}), null), t;
|
|
43481
43538
|
})();
|
|
43482
43539
|
}
|
|
43483
|
-
function
|
|
43540
|
+
function I$(e) {
|
|
43484
43541
|
let t = k(() => {
|
|
43485
43542
|
let t = e.session.status;
|
|
43486
43543
|
return /complete|done/i.test(t) ? "var(--color-success)" : /await|pending|elicit/i.test(t) ? "var(--color-warn)" : "var(--color-accent)";
|
|
43487
43544
|
}), n = k(() => e.session.activities.slice(-10));
|
|
43488
43545
|
return (() => {
|
|
43489
|
-
var r =
|
|
43546
|
+
var r = k$(), i = r.firstChild, a = i.firstChild;
|
|
43490
43547
|
return P(i, j(Oj, {
|
|
43491
43548
|
get color() {
|
|
43492
43549
|
return t();
|
|
@@ -43499,7 +43556,7 @@ function j$(e) {
|
|
|
43499
43556
|
return e.session.appUser?.displayName;
|
|
43500
43557
|
},
|
|
43501
43558
|
get children() {
|
|
43502
|
-
var t =
|
|
43559
|
+
var t = E$();
|
|
43503
43560
|
return P(t, () => e.session.appUser.displayName), t;
|
|
43504
43561
|
}
|
|
43505
43562
|
}), a), P(a, () => Nj(e.session.updatedAt)), P(r, j(M, {
|
|
@@ -43507,7 +43564,7 @@ function j$(e) {
|
|
|
43507
43564
|
return e.session.summary;
|
|
43508
43565
|
},
|
|
43509
43566
|
get children() {
|
|
43510
|
-
var t =
|
|
43567
|
+
var t = D$();
|
|
43511
43568
|
return P(t, () => e.session.summary), t;
|
|
43512
43569
|
}
|
|
43513
43570
|
}), null), P(r, j(M, {
|
|
@@ -43515,7 +43572,7 @@ function j$(e) {
|
|
|
43515
43572
|
return n().length > 0;
|
|
43516
43573
|
},
|
|
43517
43574
|
get children() {
|
|
43518
|
-
var e =
|
|
43575
|
+
var e = O$();
|
|
43519
43576
|
return P(e, j(We, {
|
|
43520
43577
|
get each() {
|
|
43521
43578
|
return n();
|
|
@@ -43523,7 +43580,7 @@ function j$(e) {
|
|
|
43523
43580
|
children: (e) => {
|
|
43524
43581
|
let t = e.content, n = String(t?.body ?? t?.text ?? t?.type ?? JSON.stringify(t)).slice(0, 300);
|
|
43525
43582
|
return (() => {
|
|
43526
|
-
var t =
|
|
43583
|
+
var t = A$(), r = t.firstChild, i = r.nextSibling;
|
|
43527
43584
|
return P(r, () => Nj(e.createdAt)), P(i, n), t;
|
|
43528
43585
|
})();
|
|
43529
43586
|
}
|
|
@@ -43535,7 +43592,7 @@ function j$(e) {
|
|
|
43535
43592
|
//#endregion
|
|
43536
43593
|
//#region src/panel/views/LocalView.tsx
|
|
43537
43594
|
rt(["click"]), Rr();
|
|
43538
|
-
var
|
|
43595
|
+
var L$ = /*#__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\">"), R$ = /*#__PURE__*/ N("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), z$ = /*#__PURE__*/ N("<p>"), B$ = /*#__PURE__*/ N("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running · "), V$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), H$ = /*#__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\">"), U$ = /*#__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"), W$ = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), G$ = /*#__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]\">"), K$ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), q$ = /*#__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\">"), J$ = /*#__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>"), Y$ = /*#__PURE__*/ N("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), X$ = /*#__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>−"), Z$ = /*#__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\">"), Q$ = /*#__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=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\">"), e1 = /*#__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\">"), t1 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Send"), n1 = /*#__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]\">"), r1 = /*#__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\">"), i1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), a1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\">"), o1 = /*#__PURE__*/ N("<option>"), s1 = /*#__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>"), c1 = /*#__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\">"), l1 = /*#__PURE__*/ N("<span class=text-success>+"), u1 = /*#__PURE__*/ N("<span class=text-danger>−"), d1 = /*#__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\">"), f1 = /*#__PURE__*/ N("<span class=text-text-faint>bin"), p1 = /*#__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"), m1 = /*#__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\">"), h1 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), g1 = [
|
|
43539
43596
|
{
|
|
43540
43597
|
id: "",
|
|
43541
43598
|
label: "Default model"
|
|
@@ -43557,13 +43614,13 @@ var M$ = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end
|
|
|
43557
43614
|
label: "Haiku"
|
|
43558
43615
|
}
|
|
43559
43616
|
];
|
|
43560
|
-
function
|
|
43617
|
+
function _1(e, t) {
|
|
43561
43618
|
let n = e.split(".").map(Number), r = t.split(".").map(Number);
|
|
43562
43619
|
for (let e = 0; e < 3; e++) if ((n[e] ?? 0) !== (r[e] ?? 0)) return (n[e] ?? 0) < (r[e] ?? 0);
|
|
43563
43620
|
return !1;
|
|
43564
43621
|
}
|
|
43565
|
-
var
|
|
43566
|
-
function
|
|
43622
|
+
var v1 = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
|
|
43623
|
+
function y1() {
|
|
43567
43624
|
let e = sr(), t = _r(() => ({
|
|
43568
43625
|
queryKey: ["bridge-health"],
|
|
43569
43626
|
queryFn: EO,
|
|
@@ -43616,7 +43673,7 @@ function m1() {
|
|
|
43616
43673
|
let y = async () => {
|
|
43617
43674
|
m(!0);
|
|
43618
43675
|
try {
|
|
43619
|
-
let e = await
|
|
43676
|
+
let e = await zQ();
|
|
43620
43677
|
e && f((t) => `${t ? `${t}\n` : ""}${e}\n`);
|
|
43621
43678
|
} finally {
|
|
43622
43679
|
m(!1);
|
|
@@ -43646,20 +43703,20 @@ function m1() {
|
|
|
43646
43703
|
await navigator.clipboard.writeText(zO(e)), te(e.id), setTimeout(() => te(null), 1800);
|
|
43647
43704
|
} catch {}
|
|
43648
43705
|
}, ne = (e) => e === "running" ? "var(--color-accent)" : e === "done" ? "var(--color-success)" : e === "stopped" ? "var(--color-warn)" : "var(--color-danger)", re = (e) => {
|
|
43649
|
-
let t = e.line.kind, n = k(() =>
|
|
43706
|
+
let t = e.line.kind, n = k(() => YQ(e.line.text));
|
|
43650
43707
|
return t === "user" ? (() => {
|
|
43651
|
-
var e =
|
|
43708
|
+
var e = L$(), t = e.firstChild.nextSibling;
|
|
43652
43709
|
return D(() => t.innerHTML = n()), e;
|
|
43653
43710
|
})() : t === "assistant" || t === "result" ? (() => {
|
|
43654
|
-
var e =
|
|
43711
|
+
var e = R$(), r = e.firstChild, i = r.nextSibling;
|
|
43655
43712
|
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;
|
|
43656
43713
|
})() : (() => {
|
|
43657
|
-
var n =
|
|
43714
|
+
var n = z$();
|
|
43658
43715
|
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;
|
|
43659
43716
|
})();
|
|
43660
43717
|
};
|
|
43661
43718
|
return (() => {
|
|
43662
|
-
var e =
|
|
43719
|
+
var e = H$(), a = e.firstChild;
|
|
43663
43720
|
a.firstChild;
|
|
43664
43721
|
var l = a.nextSibling;
|
|
43665
43722
|
return P(a, j(M, {
|
|
@@ -43675,7 +43732,7 @@ function m1() {
|
|
|
43675
43732
|
get children() {
|
|
43676
43733
|
return [j(M, {
|
|
43677
43734
|
get when() {
|
|
43678
|
-
return
|
|
43735
|
+
return _1(t.data.version, "0.15.1");
|
|
43679
43736
|
},
|
|
43680
43737
|
get children() {
|
|
43681
43738
|
return j(Oj, {
|
|
@@ -43691,7 +43748,7 @@ function m1() {
|
|
|
43691
43748
|
});
|
|
43692
43749
|
}
|
|
43693
43750
|
}), (() => {
|
|
43694
|
-
var e =
|
|
43751
|
+
var e = B$(), n = e.firstChild;
|
|
43695
43752
|
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;
|
|
43696
43753
|
})()];
|
|
43697
43754
|
}
|
|
@@ -43705,7 +43762,7 @@ function m1() {
|
|
|
43705
43762
|
get children() {
|
|
43706
43763
|
return [
|
|
43707
43764
|
"Start it in your repo's terminal:",
|
|
43708
|
-
|
|
43765
|
+
U$(),
|
|
43709
43766
|
"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."
|
|
43710
43767
|
];
|
|
43711
43768
|
}
|
|
@@ -43723,20 +43780,20 @@ function m1() {
|
|
|
43723
43780
|
});
|
|
43724
43781
|
},
|
|
43725
43782
|
get children() {
|
|
43726
|
-
var e =
|
|
43783
|
+
var e = V$();
|
|
43727
43784
|
return P(e, j(We, {
|
|
43728
43785
|
get each() {
|
|
43729
43786
|
return n.data;
|
|
43730
43787
|
},
|
|
43731
43788
|
children: (e) => (() => {
|
|
43732
|
-
var t =
|
|
43789
|
+
var t = r1(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, m = n.nextSibling, h = m.nextSibling, g = h.nextSibling;
|
|
43733
43790
|
return P(n, j(M, {
|
|
43734
43791
|
get when() {
|
|
43735
43792
|
return e.status === "running";
|
|
43736
43793
|
},
|
|
43737
43794
|
get fallback() {
|
|
43738
43795
|
return (() => {
|
|
43739
|
-
var t =
|
|
43796
|
+
var t = i1();
|
|
43740
43797
|
return D((n) => dt(t, "background", ne(e.status))), t;
|
|
43741
43798
|
})();
|
|
43742
43799
|
},
|
|
@@ -43789,8 +43846,8 @@ function m1() {
|
|
|
43789
43846
|
return e.usage;
|
|
43790
43847
|
},
|
|
43791
43848
|
get children() {
|
|
43792
|
-
var t =
|
|
43793
|
-
return n.nextSibling, P(t, () =>
|
|
43849
|
+
var t = W$(), n = t.firstChild.nextSibling;
|
|
43850
|
+
return n.nextSibling, P(t, () => v1(e.usage.contextTokens), n), P(t, () => v1(e.usage.outputTokens), null), P(t, (() => {
|
|
43794
43851
|
var t = $e(() => !!e.usage.costUsd);
|
|
43795
43852
|
return () => t() ? ` · $${e.usage.costUsd.toFixed(2)}` : "";
|
|
43796
43853
|
})(), null), t;
|
|
@@ -43800,7 +43857,7 @@ function m1() {
|
|
|
43800
43857
|
return o(e);
|
|
43801
43858
|
},
|
|
43802
43859
|
children: (e) => (() => {
|
|
43803
|
-
var t =
|
|
43860
|
+
var t = a1();
|
|
43804
43861
|
return P(t, j(Oj, { get children() {
|
|
43805
43862
|
return e().state.name;
|
|
43806
43863
|
} }), null), P(t, j(Tj, {
|
|
@@ -43815,7 +43872,7 @@ function m1() {
|
|
|
43815
43872
|
return $e(() => !!e.worktree)() && !e.worktree.removed;
|
|
43816
43873
|
},
|
|
43817
43874
|
get children() {
|
|
43818
|
-
var t =
|
|
43875
|
+
var t = G$(), n = t.firstChild;
|
|
43819
43876
|
return P(t, j(Oj, {
|
|
43820
43877
|
class: "text-warn",
|
|
43821
43878
|
children: "⎇ worktree"
|
|
@@ -43851,9 +43908,9 @@ function m1() {
|
|
|
43851
43908
|
title: "Model — applies from the next message",
|
|
43852
43909
|
get children() {
|
|
43853
43910
|
return j(We, {
|
|
43854
|
-
each:
|
|
43911
|
+
each: g1,
|
|
43855
43912
|
children: (t) => (() => {
|
|
43856
|
-
var n =
|
|
43913
|
+
var n = o1();
|
|
43857
43914
|
return P(n, () => t.label), D(() => n.selected = (e.pendingModel ?? e.model ?? "") === t.id), D(() => n.value = t.id), n;
|
|
43858
43915
|
})()
|
|
43859
43916
|
});
|
|
@@ -43868,7 +43925,7 @@ function m1() {
|
|
|
43868
43925
|
title: "Open the issue's Activity thread",
|
|
43869
43926
|
onClick: () => YA("activity", e().id),
|
|
43870
43927
|
get children() {
|
|
43871
|
-
return
|
|
43928
|
+
return s1();
|
|
43872
43929
|
}
|
|
43873
43930
|
})
|
|
43874
43931
|
}), null), P(g, j(vj, {
|
|
@@ -43887,10 +43944,10 @@ function m1() {
|
|
|
43887
43944
|
return ee() === e.id;
|
|
43888
43945
|
},
|
|
43889
43946
|
get fallback() {
|
|
43890
|
-
return
|
|
43947
|
+
return c1();
|
|
43891
43948
|
},
|
|
43892
43949
|
get children() {
|
|
43893
|
-
return
|
|
43950
|
+
return K$();
|
|
43894
43951
|
}
|
|
43895
43952
|
});
|
|
43896
43953
|
}
|
|
@@ -43902,7 +43959,7 @@ function m1() {
|
|
|
43902
43959
|
},
|
|
43903
43960
|
onClick: () => i(r() === e.id ? null : e.id),
|
|
43904
43961
|
get children() {
|
|
43905
|
-
return
|
|
43962
|
+
return q$();
|
|
43906
43963
|
}
|
|
43907
43964
|
}), null), P(g, j(M, {
|
|
43908
43965
|
get when() {
|
|
@@ -43918,7 +43975,7 @@ function m1() {
|
|
|
43918
43975
|
title: "Interrupt — the session stays resumable",
|
|
43919
43976
|
onClick: () => u.mutate(e.id),
|
|
43920
43977
|
get children() {
|
|
43921
|
-
return
|
|
43978
|
+
return J$();
|
|
43922
43979
|
}
|
|
43923
43980
|
});
|
|
43924
43981
|
}
|
|
@@ -43933,7 +43990,7 @@ function m1() {
|
|
|
43933
43990
|
return $e(() => !!c.data)() && (c.data.files.length || c.data.untracked.length || c.data.prs.length);
|
|
43934
43991
|
},
|
|
43935
43992
|
get children() {
|
|
43936
|
-
var e =
|
|
43993
|
+
var e = X$(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
|
|
43937
43994
|
r.firstChild;
|
|
43938
43995
|
var i = r.nextSibling.nextSibling;
|
|
43939
43996
|
return i.firstChild, P(t, j(M, {
|
|
@@ -43941,7 +43998,7 @@ function m1() {
|
|
|
43941
43998
|
return c.data.branch;
|
|
43942
43999
|
},
|
|
43943
44000
|
get children() {
|
|
43944
|
-
var e =
|
|
44001
|
+
var e = Y$();
|
|
43945
44002
|
return P(e, () => c.data.branch), e;
|
|
43946
44003
|
}
|
|
43947
44004
|
}), n), P(r, () => c.data.totalAdded, null), P(i, () => c.data.totalDeleted, null), P(e, j(We, {
|
|
@@ -43949,23 +44006,23 @@ function m1() {
|
|
|
43949
44006
|
return c.data.files;
|
|
43950
44007
|
},
|
|
43951
44008
|
children: (e) => (() => {
|
|
43952
|
-
var t =
|
|
44009
|
+
var t = d1(), n = t.firstChild, r = n.nextSibling;
|
|
43953
44010
|
return P(n, () => e.path), P(r, j(M, {
|
|
43954
44011
|
get when() {
|
|
43955
44012
|
return !e.binary;
|
|
43956
44013
|
},
|
|
43957
44014
|
get fallback() {
|
|
43958
|
-
return
|
|
44015
|
+
return f1();
|
|
43959
44016
|
},
|
|
43960
44017
|
get children() {
|
|
43961
44018
|
return [
|
|
43962
44019
|
(() => {
|
|
43963
|
-
var t =
|
|
44020
|
+
var t = l1();
|
|
43964
44021
|
return t.firstChild, P(t, () => e.added, null), t;
|
|
43965
44022
|
})(),
|
|
43966
44023
|
" ",
|
|
43967
44024
|
(() => {
|
|
43968
|
-
var t =
|
|
44025
|
+
var t = u1();
|
|
43969
44026
|
return t.firstChild, P(t, () => e.deleted, null), t;
|
|
43970
44027
|
})()
|
|
43971
44028
|
];
|
|
@@ -43977,7 +44034,7 @@ function m1() {
|
|
|
43977
44034
|
return c.data.untracked;
|
|
43978
44035
|
},
|
|
43979
44036
|
children: (e) => (() => {
|
|
43980
|
-
var t =
|
|
44037
|
+
var t = p1(), n = t.firstChild;
|
|
43981
44038
|
return it(n, "title", e), P(n, e), t;
|
|
43982
44039
|
})()
|
|
43983
44040
|
}), null), P(e, j(We, {
|
|
@@ -43985,7 +44042,7 @@ function m1() {
|
|
|
43985
44042
|
return c.data.prs;
|
|
43986
44043
|
},
|
|
43987
44044
|
children: (e) => (() => {
|
|
43988
|
-
var t =
|
|
44045
|
+
var t = m1(), n = t.firstChild;
|
|
43989
44046
|
return P(t, j(Oj, {
|
|
43990
44047
|
class: "text-accent",
|
|
43991
44048
|
get children() {
|
|
@@ -44003,7 +44060,7 @@ function m1() {
|
|
|
44003
44060
|
}
|
|
44004
44061
|
}),
|
|
44005
44062
|
(() => {
|
|
44006
|
-
var e =
|
|
44063
|
+
var e = Z$();
|
|
44007
44064
|
return e.addEventListener("scroll", E), pt((e) => {
|
|
44008
44065
|
C = e, w = !0;
|
|
44009
44066
|
}, e), P(e, j(M, {
|
|
@@ -44011,7 +44068,7 @@ function m1() {
|
|
|
44011
44068
|
return (s.data?.tail ?? []).length > 0;
|
|
44012
44069
|
},
|
|
44013
44070
|
get fallback() {
|
|
44014
|
-
return
|
|
44071
|
+
return h1();
|
|
44015
44072
|
},
|
|
44016
44073
|
get children() {
|
|
44017
44074
|
return j(Ge, {
|
|
@@ -44026,7 +44083,7 @@ function m1() {
|
|
|
44026
44083
|
})), e;
|
|
44027
44084
|
})(),
|
|
44028
44085
|
(() => {
|
|
44029
|
-
var t =
|
|
44086
|
+
var t = n1(), n = t.firstChild, r = n.firstChild;
|
|
44030
44087
|
return P(t, j(xj, {
|
|
44031
44088
|
rows: 2,
|
|
44032
44089
|
get placeholder() {
|
|
@@ -44046,7 +44103,7 @@ function m1() {
|
|
|
44046
44103
|
"aria-label": "Pick element",
|
|
44047
44104
|
onClick: v,
|
|
44048
44105
|
get children() {
|
|
44049
|
-
return
|
|
44106
|
+
return Q$();
|
|
44050
44107
|
}
|
|
44051
44108
|
}), null), P(n, j(vj, {
|
|
44052
44109
|
variant: "ghost",
|
|
@@ -44058,7 +44115,7 @@ function m1() {
|
|
|
44058
44115
|
"aria-label": "Attach captures",
|
|
44059
44116
|
onClick: () => void y(),
|
|
44060
44117
|
get children() {
|
|
44061
|
-
return
|
|
44118
|
+
return $$();
|
|
44062
44119
|
}
|
|
44063
44120
|
}), null), P(n, j(vj, {
|
|
44064
44121
|
variant: "ghost",
|
|
@@ -44073,7 +44130,7 @@ function m1() {
|
|
|
44073
44130
|
text: "/compact"
|
|
44074
44131
|
}),
|
|
44075
44132
|
get children() {
|
|
44076
|
-
return
|
|
44133
|
+
return e1();
|
|
44077
44134
|
}
|
|
44078
44135
|
}), null), P(n, j(vj, {
|
|
44079
44136
|
variant: "primary",
|
|
@@ -44089,7 +44146,7 @@ function m1() {
|
|
|
44089
44146
|
text: d().trim()
|
|
44090
44147
|
}),
|
|
44091
44148
|
get children() {
|
|
44092
|
-
return
|
|
44149
|
+
return t1();
|
|
44093
44150
|
}
|
|
44094
44151
|
}), null), t;
|
|
44095
44152
|
})()
|
|
@@ -44106,13 +44163,13 @@ function m1() {
|
|
|
44106
44163
|
}
|
|
44107
44164
|
//#endregion
|
|
44108
44165
|
//#region src/panel/views/PrsView.tsx
|
|
44109
|
-
var
|
|
44110
|
-
function
|
|
44166
|
+
var b1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">/<!> from your issues"), x1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), S1 = /*#__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\">"), C1 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px]\"title=\"Merge states come from gh via the bridge\">states unknown — restart the bridge"), w1 = /*#__PURE__*/ N("<button>"), T1 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), E1 = /*#__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>"), D1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), O1 = /*#__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\">"), k1 = /*#__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\">"), A1 = /*#__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\">"), j1 = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
|
|
44167
|
+
function M1(e) {
|
|
44111
44168
|
let t = _r(() => ({
|
|
44112
44169
|
queryKey: ["my-issues"],
|
|
44113
44170
|
queryFn: uO,
|
|
44114
44171
|
refetchInterval: 15e3
|
|
44115
|
-
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) =>
|
|
44172
|
+
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => j1.test(e.url)).map((t) => ({
|
|
44116
44173
|
issue: e,
|
|
44117
44174
|
attachment: t
|
|
44118
44175
|
})))), r = _r(() => ({
|
|
@@ -44149,7 +44206,7 @@ function D1(e) {
|
|
|
44149
44206
|
} catch {}
|
|
44150
44207
|
};
|
|
44151
44208
|
return (() => {
|
|
44152
|
-
var r =
|
|
44209
|
+
var r = S1(), p = r.firstChild;
|
|
44153
44210
|
p.firstChild;
|
|
44154
44211
|
var h = p.nextSibling, _ = h.firstChild, b = h.nextSibling;
|
|
44155
44212
|
return P(p, j(M, {
|
|
@@ -44157,10 +44214,10 @@ function D1(e) {
|
|
|
44157
44214
|
return !i.isError;
|
|
44158
44215
|
},
|
|
44159
44216
|
get fallback() {
|
|
44160
|
-
return
|
|
44217
|
+
return C1();
|
|
44161
44218
|
},
|
|
44162
44219
|
get children() {
|
|
44163
|
-
var e =
|
|
44220
|
+
var e = b1(), t = e.firstChild, r = t.nextSibling;
|
|
44164
44221
|
return r.nextSibling, P(e, () => d().length, t), P(e, () => n().length, r), e;
|
|
44165
44222
|
}
|
|
44166
44223
|
}), null), P(_, j(We, {
|
|
@@ -44183,7 +44240,7 @@ function D1(e) {
|
|
|
44183
44240
|
}
|
|
44184
44241
|
],
|
|
44185
44242
|
children: (e) => (() => {
|
|
44186
|
-
var t =
|
|
44243
|
+
var t = w1();
|
|
44187
44244
|
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;
|
|
44188
44245
|
})()
|
|
44189
44246
|
})), P(h, j(bj, {
|
|
@@ -44206,13 +44263,13 @@ function D1(e) {
|
|
|
44206
44263
|
});
|
|
44207
44264
|
},
|
|
44208
44265
|
get children() {
|
|
44209
|
-
var t =
|
|
44266
|
+
var t = x1();
|
|
44210
44267
|
return P(t, j(We, {
|
|
44211
44268
|
get each() {
|
|
44212
44269
|
return d();
|
|
44213
44270
|
},
|
|
44214
44271
|
children: (t) => (() => {
|
|
44215
|
-
var n =
|
|
44272
|
+
var n = O1(), r = n.firstChild, i = r.nextSibling, s = i.firstChild, c = s.nextSibling, l = c.nextSibling, u = i.nextSibling, d = u.firstChild;
|
|
44216
44273
|
return P(r, () => t.attachment.title || t.attachment.url), P(i, j(kj, { get color() {
|
|
44217
44274
|
return t.issue.state.color;
|
|
44218
44275
|
} }), s), P(s, () => t.issue.identifier), P(c, () => t.issue.title), P(l, () => Nj(t.issue.updatedAt)), P(u, j(Oj, { get children() {
|
|
@@ -44289,10 +44346,10 @@ function D1(e) {
|
|
|
44289
44346
|
return g().has(t.attachment.url);
|
|
44290
44347
|
},
|
|
44291
44348
|
get fallback() {
|
|
44292
|
-
return
|
|
44349
|
+
return k1();
|
|
44293
44350
|
},
|
|
44294
44351
|
get children() {
|
|
44295
|
-
return
|
|
44352
|
+
return T1();
|
|
44296
44353
|
}
|
|
44297
44354
|
});
|
|
44298
44355
|
}
|
|
@@ -44305,7 +44362,7 @@ function D1(e) {
|
|
|
44305
44362
|
YA("activity", t.issue.id), e.onOpenIssue();
|
|
44306
44363
|
},
|
|
44307
44364
|
get children() {
|
|
44308
|
-
return
|
|
44365
|
+
return E1();
|
|
44309
44366
|
}
|
|
44310
44367
|
}), null), P(d, j(vj, {
|
|
44311
44368
|
variant: "ghost",
|
|
@@ -44319,10 +44376,10 @@ function D1(e) {
|
|
|
44319
44376
|
return f() === t.attachment.id;
|
|
44320
44377
|
},
|
|
44321
44378
|
get fallback() {
|
|
44322
|
-
return
|
|
44379
|
+
return A1();
|
|
44323
44380
|
},
|
|
44324
44381
|
get children() {
|
|
44325
|
-
return
|
|
44382
|
+
return D1();
|
|
44326
44383
|
}
|
|
44327
44384
|
});
|
|
44328
44385
|
}
|
|
@@ -44342,13 +44399,13 @@ function D1(e) {
|
|
|
44342
44399
|
//#endregion
|
|
44343
44400
|
//#region src/lib/linear/auth.ts
|
|
44344
44401
|
rt(["click"]), Rr();
|
|
44345
|
-
function
|
|
44402
|
+
function N1(e) {
|
|
44346
44403
|
let t = "";
|
|
44347
44404
|
for (let n of e) t += String.fromCharCode(n);
|
|
44348
44405
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
44349
44406
|
}
|
|
44350
|
-
async function
|
|
44351
|
-
let t =
|
|
44407
|
+
async function P1(e) {
|
|
44408
|
+
let t = N1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = N1(new Uint8Array(n)), i = N1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
44352
44409
|
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");
|
|
44353
44410
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
44354
44411
|
url: o.toString(),
|
|
@@ -44376,15 +44433,15 @@ async function k1(e) {
|
|
|
44376
44433
|
linearOauthClientId: e
|
|
44377
44434
|
});
|
|
44378
44435
|
}
|
|
44379
|
-
async function
|
|
44436
|
+
async function F1() {
|
|
44380
44437
|
await wr({
|
|
44381
44438
|
linearAccessToken: void 0,
|
|
44382
44439
|
linearApiKey: void 0
|
|
44383
44440
|
});
|
|
44384
44441
|
}
|
|
44385
44442
|
Rr(), br(), Nx(), mD();
|
|
44386
|
-
var
|
|
44387
|
-
function
|
|
44443
|
+
var I1 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), L1 = /*#__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."), R1 = /*#__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"), z1 = /*#__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)."), B1 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), V1 = /*#__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]\">"), H1 = /*#__PURE__*/ N("<option value>Select a team…"), U1 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), W1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), G1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), K1 = /*#__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."), q1 = /*#__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."), J1 = /*#__PURE__*/ N("<option value>Select a channel…"), Y1 = /*#__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"), X1 = /*#__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."), Z1 = /*#__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"), Q1 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), $1 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), e0 = /*#__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."), t0 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), n0 = /*#__PURE__*/ N("<button>"), r0 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), i0 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), a0 = /*#__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\">"), o0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), s0 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), c0 = /*#__PURE__*/ N("<option> (<!>)"), l0 = /*#__PURE__*/ N("<option value>Select the agent…"), u0 = /*#__PURE__*/ N("<option>"), d0 = /*#__PURE__*/ N("<option>#"), f0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
44444
|
+
function p0() {
|
|
44388
44445
|
let e = sr(), t = _r(() => ({
|
|
44389
44446
|
queryKey: ["settings"],
|
|
44390
44447
|
queryFn: Cr,
|
|
@@ -44429,7 +44486,7 @@ function c0() {
|
|
|
44429
44486
|
}
|
|
44430
44487
|
v(!0), b("");
|
|
44431
44488
|
try {
|
|
44432
|
-
await
|
|
44489
|
+
await P1(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"] });
|
|
44433
44490
|
} catch (e) {
|
|
44434
44491
|
b(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
44435
44492
|
} finally {
|
|
@@ -44440,7 +44497,7 @@ function c0() {
|
|
|
44440
44497
|
async function w() {
|
|
44441
44498
|
C(!0);
|
|
44442
44499
|
try {
|
|
44443
|
-
await
|
|
44500
|
+
await F1(), 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"] });
|
|
44444
44501
|
} finally {
|
|
44445
44502
|
C(!1);
|
|
44446
44503
|
}
|
|
@@ -44456,12 +44513,12 @@ function c0() {
|
|
|
44456
44513
|
return e ? `Drafting with ${e} — ${jx[e].fast} (fast) / ${jx[e].best} (best)` : null;
|
|
44457
44514
|
});
|
|
44458
44515
|
return (() => {
|
|
44459
|
-
var e =
|
|
44516
|
+
var e = t0();
|
|
44460
44517
|
return P(e, j(Dj, {
|
|
44461
44518
|
title: "Workflow",
|
|
44462
44519
|
get children() {
|
|
44463
44520
|
return [(() => {
|
|
44464
|
-
var e =
|
|
44521
|
+
var e = I1();
|
|
44465
44522
|
return P(e, j(We, {
|
|
44466
44523
|
each: [{
|
|
44467
44524
|
id: "cloud",
|
|
@@ -44471,19 +44528,19 @@ function c0() {
|
|
|
44471
44528
|
label: "Local · clipboard"
|
|
44472
44529
|
}],
|
|
44473
44530
|
children: (e) => (() => {
|
|
44474
|
-
var t =
|
|
44531
|
+
var t = n0();
|
|
44475
44532
|
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;
|
|
44476
44533
|
})()
|
|
44477
44534
|
})), e;
|
|
44478
|
-
})(),
|
|
44535
|
+
})(), L1()];
|
|
44479
44536
|
}
|
|
44480
44537
|
}), null), P(e, j(Dj, {
|
|
44481
44538
|
title: "Capture",
|
|
44482
44539
|
get children() {
|
|
44483
44540
|
return [(() => {
|
|
44484
|
-
var e =
|
|
44541
|
+
var e = R1(), t = e.firstChild;
|
|
44485
44542
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
44486
|
-
})(),
|
|
44543
|
+
})(), z1()];
|
|
44487
44544
|
}
|
|
44488
44545
|
}), null), P(e, j(Dj, {
|
|
44489
44546
|
title: "Linear",
|
|
@@ -44494,13 +44551,13 @@ function c0() {
|
|
|
44494
44551
|
},
|
|
44495
44552
|
get fallback() {
|
|
44496
44553
|
return (() => {
|
|
44497
|
-
var e =
|
|
44554
|
+
var e = o0();
|
|
44498
44555
|
return P(e, j(Ej, {
|
|
44499
44556
|
label: "Personal API key",
|
|
44500
44557
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
44501
44558
|
get children() {
|
|
44502
44559
|
return [(() => {
|
|
44503
|
-
var e =
|
|
44560
|
+
var e = r0();
|
|
44504
44561
|
return P(e, j(bj, {
|
|
44505
44562
|
type: "password",
|
|
44506
44563
|
placeholder: "lin_api_…",
|
|
@@ -44537,12 +44594,12 @@ function c0() {
|
|
|
44537
44594
|
}), null), P(e, j(M, {
|
|
44538
44595
|
when: yr,
|
|
44539
44596
|
get children() {
|
|
44540
|
-
return [
|
|
44597
|
+
return [i0(), j(Ej, {
|
|
44541
44598
|
label: "OAuth client ID",
|
|
44542
44599
|
get children() {
|
|
44543
44600
|
return [
|
|
44544
44601
|
(() => {
|
|
44545
|
-
var e =
|
|
44602
|
+
var e = r0();
|
|
44546
44603
|
return P(e, j(bj, {
|
|
44547
44604
|
placeholder: "your-client-id",
|
|
44548
44605
|
get value() {
|
|
@@ -44570,7 +44627,7 @@ function c0() {
|
|
|
44570
44627
|
}
|
|
44571
44628
|
}),
|
|
44572
44629
|
(() => {
|
|
44573
|
-
var e =
|
|
44630
|
+
var e = a0(), t = e.firstChild.nextSibling.nextSibling;
|
|
44574
44631
|
return P(t, E), e;
|
|
44575
44632
|
})()
|
|
44576
44633
|
];
|
|
@@ -44581,13 +44638,13 @@ function c0() {
|
|
|
44581
44638
|
})();
|
|
44582
44639
|
},
|
|
44583
44640
|
get children() {
|
|
44584
|
-
var e =
|
|
44641
|
+
var e = V1(), t = e.firstChild;
|
|
44585
44642
|
return P(t, j(M, {
|
|
44586
44643
|
get when() {
|
|
44587
44644
|
return !a.isLoading;
|
|
44588
44645
|
},
|
|
44589
44646
|
get fallback() {
|
|
44590
|
-
return
|
|
44647
|
+
return s0();
|
|
44591
44648
|
},
|
|
44592
44649
|
get children() {
|
|
44593
44650
|
return j(M, {
|
|
@@ -44600,7 +44657,7 @@ function c0() {
|
|
|
44600
44657
|
return a.isError;
|
|
44601
44658
|
},
|
|
44602
44659
|
get fallback() {
|
|
44603
|
-
return
|
|
44660
|
+
return s0();
|
|
44604
44661
|
},
|
|
44605
44662
|
get children() {
|
|
44606
44663
|
return j(jj, { message: "Key rejected — reconnect" });
|
|
@@ -44608,7 +44665,7 @@ function c0() {
|
|
|
44608
44665
|
});
|
|
44609
44666
|
},
|
|
44610
44667
|
get children() {
|
|
44611
|
-
var e =
|
|
44668
|
+
var e = B1(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
44612
44669
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
44613
44670
|
}
|
|
44614
44671
|
});
|
|
@@ -44649,7 +44706,7 @@ function c0() {
|
|
|
44649
44706
|
return o.isLoading;
|
|
44650
44707
|
},
|
|
44651
44708
|
get children() {
|
|
44652
|
-
return [
|
|
44709
|
+
return [H1(), j(M, {
|
|
44653
44710
|
get when() {
|
|
44654
44711
|
return o.data;
|
|
44655
44712
|
},
|
|
@@ -44659,7 +44716,7 @@ function c0() {
|
|
|
44659
44716
|
return o.data;
|
|
44660
44717
|
},
|
|
44661
44718
|
children: (e) => (() => {
|
|
44662
|
-
var t =
|
|
44719
|
+
var t = c0(), r = t.firstChild, i = r.nextSibling;
|
|
44663
44720
|
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;
|
|
44664
44721
|
})()
|
|
44665
44722
|
});
|
|
@@ -44703,7 +44760,7 @@ function c0() {
|
|
|
44703
44760
|
return s.isLoading;
|
|
44704
44761
|
},
|
|
44705
44762
|
get children() {
|
|
44706
|
-
return [
|
|
44763
|
+
return [l0(), j(M, {
|
|
44707
44764
|
get when() {
|
|
44708
44765
|
return s.data;
|
|
44709
44766
|
},
|
|
@@ -44713,7 +44770,7 @@ function c0() {
|
|
|
44713
44770
|
return s.data;
|
|
44714
44771
|
},
|
|
44715
44772
|
children: (e) => (() => {
|
|
44716
|
-
var t =
|
|
44773
|
+
var t = u0();
|
|
44717
44774
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
44718
44775
|
})()
|
|
44719
44776
|
});
|
|
@@ -44723,7 +44780,7 @@ function c0() {
|
|
|
44723
44780
|
});
|
|
44724
44781
|
},
|
|
44725
44782
|
get children() {
|
|
44726
|
-
return
|
|
44783
|
+
return U1();
|
|
44727
44784
|
}
|
|
44728
44785
|
});
|
|
44729
44786
|
}
|
|
@@ -44771,7 +44828,7 @@ function c0() {
|
|
|
44771
44828
|
onBlur: (e) => {
|
|
44772
44829
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
44773
44830
|
}
|
|
44774
|
-
}),
|
|
44831
|
+
}), W1()];
|
|
44775
44832
|
}
|
|
44776
44833
|
}),
|
|
44777
44834
|
j(Ej, {
|
|
@@ -44828,7 +44885,7 @@ function c0() {
|
|
|
44828
44885
|
label: "Test account",
|
|
44829
44886
|
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.",
|
|
44830
44887
|
get children() {
|
|
44831
|
-
var e =
|
|
44888
|
+
var e = G1();
|
|
44832
44889
|
return P(e, j(bj, {
|
|
44833
44890
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
44834
44891
|
get value() {
|
|
@@ -44860,7 +44917,7 @@ function c0() {
|
|
|
44860
44917
|
title: "Panel",
|
|
44861
44918
|
get children() {
|
|
44862
44919
|
return [(() => {
|
|
44863
|
-
var e =
|
|
44920
|
+
var e = K1(), t = e.firstChild.nextSibling;
|
|
44864
44921
|
return P(t, j(We, {
|
|
44865
44922
|
each: [{
|
|
44866
44923
|
id: "overlay",
|
|
@@ -44870,7 +44927,7 @@ function c0() {
|
|
|
44870
44927
|
label: "Beside page"
|
|
44871
44928
|
}],
|
|
44872
44929
|
children: (e) => (() => {
|
|
44873
|
-
var t =
|
|
44930
|
+
var t = n0();
|
|
44874
44931
|
return t.$$click = () => void r({
|
|
44875
44932
|
panelMode: e.id,
|
|
44876
44933
|
panelPos: void 0
|
|
@@ -44878,11 +44935,11 @@ function c0() {
|
|
|
44878
44935
|
})()
|
|
44879
44936
|
})), e;
|
|
44880
44937
|
})(), (() => {
|
|
44881
|
-
var e =
|
|
44938
|
+
var e = q1(), t = e.firstChild.nextSibling;
|
|
44882
44939
|
return P(t, j(We, {
|
|
44883
44940
|
each: ["left", "right"],
|
|
44884
44941
|
children: (e) => (() => {
|
|
44885
|
-
var t =
|
|
44942
|
+
var t = n0();
|
|
44886
44943
|
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;
|
|
44887
44944
|
})()
|
|
44888
44945
|
})), e;
|
|
@@ -44994,12 +45051,12 @@ function c0() {
|
|
|
44994
45051
|
});
|
|
44995
45052
|
},
|
|
44996
45053
|
get children() {
|
|
44997
|
-
return [
|
|
45054
|
+
return [J1(), j(We, {
|
|
44998
45055
|
get each() {
|
|
44999
45056
|
return O.data ?? [];
|
|
45000
45057
|
},
|
|
45001
45058
|
children: (e) => (() => {
|
|
45002
|
-
var t =
|
|
45059
|
+
var t = d0();
|
|
45003
45060
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
45004
45061
|
})()
|
|
45005
45062
|
})];
|
|
@@ -45050,10 +45107,10 @@ function c0() {
|
|
|
45050
45107
|
}
|
|
45051
45108
|
}),
|
|
45052
45109
|
(() => {
|
|
45053
|
-
var e =
|
|
45110
|
+
var e = Y1(), t = e.firstChild;
|
|
45054
45111
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
45055
45112
|
})(),
|
|
45056
|
-
|
|
45113
|
+
X1()
|
|
45057
45114
|
];
|
|
45058
45115
|
}
|
|
45059
45116
|
}), null), P(e, j(Dj, {
|
|
@@ -45091,7 +45148,7 @@ function c0() {
|
|
|
45091
45148
|
}
|
|
45092
45149
|
}),
|
|
45093
45150
|
(() => {
|
|
45094
|
-
var e =
|
|
45151
|
+
var e = Z1(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
45095
45152
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
45096
45153
|
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;
|
|
45097
45154
|
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;
|
|
@@ -45104,16 +45161,16 @@ function c0() {
|
|
|
45104
45161
|
}), e;
|
|
45105
45162
|
})(),
|
|
45106
45163
|
(() => {
|
|
45107
|
-
var e =
|
|
45164
|
+
var e = $1();
|
|
45108
45165
|
return P(e, j(M, {
|
|
45109
45166
|
get when() {
|
|
45110
45167
|
return te();
|
|
45111
45168
|
},
|
|
45112
45169
|
get fallback() {
|
|
45113
|
-
return
|
|
45170
|
+
return f0();
|
|
45114
45171
|
},
|
|
45115
45172
|
get children() {
|
|
45116
|
-
var e =
|
|
45173
|
+
var e = Q1();
|
|
45117
45174
|
return P(e, te), e;
|
|
45118
45175
|
}
|
|
45119
45176
|
})), e;
|
|
@@ -45123,7 +45180,7 @@ function c0() {
|
|
|
45123
45180
|
}), null), P(e, j(Dj, {
|
|
45124
45181
|
title: "How it works",
|
|
45125
45182
|
get children() {
|
|
45126
|
-
return
|
|
45183
|
+
return e0();
|
|
45127
45184
|
}
|
|
45128
45185
|
}), null), e;
|
|
45129
45186
|
})();
|
|
@@ -45131,38 +45188,38 @@ function c0() {
|
|
|
45131
45188
|
rt(["click"]);
|
|
45132
45189
|
//#endregion
|
|
45133
45190
|
//#region src/lib/idbCache.ts
|
|
45134
|
-
var
|
|
45191
|
+
var m0 = "linear-grab", h0 = "queries", g0 = [
|
|
45135
45192
|
"my-issues",
|
|
45136
45193
|
"issue",
|
|
45137
45194
|
"sessions",
|
|
45138
45195
|
"teams",
|
|
45139
45196
|
"agents"
|
|
45140
45197
|
];
|
|
45141
|
-
function
|
|
45198
|
+
function _0() {
|
|
45142
45199
|
return new Promise((e) => {
|
|
45143
45200
|
try {
|
|
45144
|
-
let t = indexedDB.open(
|
|
45145
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
45201
|
+
let t = indexedDB.open(m0, 1);
|
|
45202
|
+
t.onupgradeneeded = () => t.result.createObjectStore(h0), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
45146
45203
|
} catch {
|
|
45147
45204
|
e(null);
|
|
45148
45205
|
}
|
|
45149
45206
|
});
|
|
45150
45207
|
}
|
|
45151
|
-
function
|
|
45152
|
-
return typeof e[0] == "string" &&
|
|
45208
|
+
function v0(e) {
|
|
45209
|
+
return typeof e[0] == "string" && g0.includes(e[0]);
|
|
45153
45210
|
}
|
|
45154
|
-
async function
|
|
45155
|
-
let t = await
|
|
45211
|
+
async function y0(e) {
|
|
45212
|
+
let t = await _0();
|
|
45156
45213
|
if (!t) return () => {};
|
|
45157
45214
|
await new Promise((n) => {
|
|
45158
45215
|
try {
|
|
45159
|
-
let r = t.transaction(
|
|
45216
|
+
let r = t.transaction(h0, "readonly").objectStore(h0).openCursor();
|
|
45160
45217
|
r.onsuccess = () => {
|
|
45161
45218
|
let t = r.result;
|
|
45162
45219
|
if (!t) return n();
|
|
45163
45220
|
try {
|
|
45164
45221
|
let { queryKey: n, data: r } = t.value;
|
|
45165
|
-
|
|
45222
|
+
v0(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
45166
45223
|
} catch {}
|
|
45167
45224
|
t.continue();
|
|
45168
45225
|
}, r.onerror = () => n();
|
|
@@ -45173,14 +45230,14 @@ async function m0(e) {
|
|
|
45173
45230
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
45174
45231
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
45175
45232
|
let { queryKey: i, queryHash: a } = r.query;
|
|
45176
|
-
if (!
|
|
45233
|
+
if (!v0(i)) return;
|
|
45177
45234
|
let o = n.get(a);
|
|
45178
45235
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
45179
45236
|
n.delete(a);
|
|
45180
45237
|
try {
|
|
45181
45238
|
let n = e.getQueryData(i);
|
|
45182
45239
|
if (n === void 0) return;
|
|
45183
|
-
t.transaction(
|
|
45240
|
+
t.transaction(h0, "readwrite").objectStore(h0).put({
|
|
45184
45241
|
queryKey: i,
|
|
45185
45242
|
data: n
|
|
45186
45243
|
}, a);
|
|
@@ -45196,7 +45253,7 @@ async function m0(e) {
|
|
|
45196
45253
|
//#endregion
|
|
45197
45254
|
//#region src/panel/App.tsx
|
|
45198
45255
|
Rr();
|
|
45199
|
-
var
|
|
45256
|
+
var b0 = /*#__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\">"), x0 = /*#__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\">"), S0 = /*#__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\">–"), C0 = /*#__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>"), w0 = /*#__PURE__*/ N("<button>"), T0 = [
|
|
45200
45257
|
{
|
|
45201
45258
|
id: "draft",
|
|
45202
45259
|
label: "Draft"
|
|
@@ -45221,14 +45278,14 @@ var h0 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
45221
45278
|
id: "settings",
|
|
45222
45279
|
label: "Settings"
|
|
45223
45280
|
}
|
|
45224
|
-
],
|
|
45281
|
+
], E0 = new gr({ defaultOptions: { queries: {
|
|
45225
45282
|
retry: 1,
|
|
45226
45283
|
refetchOnWindowFocus: !1,
|
|
45227
45284
|
staleTime: 5e3
|
|
45228
45285
|
} } });
|
|
45229
|
-
function
|
|
45286
|
+
function D0(e) {
|
|
45230
45287
|
return (() => {
|
|
45231
|
-
var t =
|
|
45288
|
+
var t = b0();
|
|
45232
45289
|
return D((n) => {
|
|
45233
45290
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
45234
45291
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -45238,32 +45295,32 @@ function S0(e) {
|
|
|
45238
45295
|
}), t;
|
|
45239
45296
|
})();
|
|
45240
45297
|
}
|
|
45241
|
-
function
|
|
45298
|
+
function O0(e) {
|
|
45242
45299
|
let [t, n] = T("draft"), r = () => {
|
|
45243
|
-
|
|
45300
|
+
E0.invalidateQueries({ queryKey: ["grab"] }), ZA() === "capture" && n("capture"), e.onGrab?.();
|
|
45244
45301
|
};
|
|
45245
45302
|
return O(() => {
|
|
45246
45303
|
let e = GA();
|
|
45247
45304
|
e && n(e);
|
|
45248
45305
|
}), ie(() => {
|
|
45249
|
-
let e =
|
|
45250
|
-
RO().then(
|
|
45306
|
+
let e = y0(E0), t = IZ(r), n = () => {
|
|
45307
|
+
RO().then(KQ), FO();
|
|
45251
45308
|
};
|
|
45252
45309
|
n();
|
|
45253
45310
|
let i = Ar((e) => {
|
|
45254
|
-
e === "settings" && (
|
|
45311
|
+
e === "settings" && (E0.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
45255
45312
|
});
|
|
45256
45313
|
ae(() => {
|
|
45257
45314
|
t(), i(), e.then((e) => e());
|
|
45258
45315
|
});
|
|
45259
45316
|
}), j(cr, {
|
|
45260
|
-
client:
|
|
45317
|
+
client: E0,
|
|
45261
45318
|
get children() {
|
|
45262
|
-
var r =
|
|
45263
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
45264
|
-
each:
|
|
45319
|
+
var r = C0(), 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;
|
|
45320
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(D0, { size: 14 })), P(o, j(We, {
|
|
45321
|
+
each: T0,
|
|
45265
45322
|
children: (e) => (() => {
|
|
45266
|
-
var r =
|
|
45323
|
+
var r = w0();
|
|
45267
45324
|
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;
|
|
45268
45325
|
})()
|
|
45269
45326
|
})), P(i, j(M, {
|
|
@@ -45271,7 +45328,7 @@ function C0(e) {
|
|
|
45271
45328
|
return e.onTogglePin;
|
|
45272
45329
|
},
|
|
45273
45330
|
get children() {
|
|
45274
|
-
var t =
|
|
45331
|
+
var t = x0();
|
|
45275
45332
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
45276
45333
|
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"}`;
|
|
45277
45334
|
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;
|
|
@@ -45286,10 +45343,10 @@ function C0(e) {
|
|
|
45286
45343
|
return e.onClose;
|
|
45287
45344
|
},
|
|
45288
45345
|
get children() {
|
|
45289
|
-
var t =
|
|
45346
|
+
var t = S0();
|
|
45290
45347
|
return t.$$click = () => e.onClose?.(), t;
|
|
45291
45348
|
}
|
|
45292
|
-
}), null), P(s, j(dM, { onCreated: () => n("activity") })), P(c, j(aQ, {})), P(l, j(
|
|
45349
|
+
}), null), P(s, j(dM, { onCreated: () => n("activity") })), P(c, j(aQ, {})), P(l, j(M$, {})), P(u, j(y1, {})), P(d, j(M1, { onOpenIssue: () => n("activity") })), P(f, j(p0, {})), D((n) => {
|
|
45293
45350
|
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";
|
|
45294
45351
|
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;
|
|
45295
45352
|
}, {
|
|
@@ -45307,12 +45364,12 @@ function C0(e) {
|
|
|
45307
45364
|
rt(["pointerdown", "click"]);
|
|
45308
45365
|
//#endregion
|
|
45309
45366
|
//#region src/styles/app.css?inline
|
|
45310
|
-
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}}";
|
|
45367
|
+
var k0 = "/*! 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}}";
|
|
45311
45368
|
//#endregion
|
|
45312
45369
|
//#region src/page/index.tsx
|
|
45313
45370
|
Rr();
|
|
45314
|
-
var
|
|
45315
|
-
function
|
|
45371
|
+
var A0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), j0 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), M0 = /*#__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"), N0 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), P0 = /*#__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"), F0 = /*#__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\">"), I0 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), L0 = /*#__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\">"), R0 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), z0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), B0 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), V0 = /*#__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>"), H0 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), U0 = /*#__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\"> · <!> · ");
|
|
45372
|
+
function W0(e = {}) {
|
|
45316
45373
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
45317
45374
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
45318
45375
|
let t = () => {
|
|
@@ -45320,17 +45377,17 @@ function z0(e = {}) {
|
|
|
45320
45377
|
let t = document.createElement("div");
|
|
45321
45378
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
45322
45379
|
let n = t.attachShadow({ mode: "open" }), r = document.createElement("style");
|
|
45323
|
-
r.textContent =
|
|
45380
|
+
r.textContent = k0, n.appendChild(r);
|
|
45324
45381
|
let i = document.createElement("div");
|
|
45325
45382
|
n.appendChild(i);
|
|
45326
|
-
let a = () => i.setAttribute("data-theme",
|
|
45327
|
-
a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), nt(() => j(
|
|
45383
|
+
let a = () => i.setAttribute("data-theme", G0());
|
|
45384
|
+
a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), nt(() => j(Z0, { get defaultOpen() {
|
|
45328
45385
|
return e.defaultOpen ?? !1;
|
|
45329
45386
|
} }), i);
|
|
45330
45387
|
};
|
|
45331
45388
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
45332
45389
|
}
|
|
45333
|
-
function
|
|
45390
|
+
function G0() {
|
|
45334
45391
|
try {
|
|
45335
45392
|
let e = [document.body, document.documentElement];
|
|
45336
45393
|
for (let t of e) {
|
|
@@ -45340,11 +45397,11 @@ function B0() {
|
|
|
45340
45397
|
} catch {}
|
|
45341
45398
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
45342
45399
|
}
|
|
45343
|
-
var
|
|
45344
|
-
function
|
|
45400
|
+
var K0 = 130, q0 = 36, J0 = 380, Y0 = 280, X0 = 720;
|
|
45401
|
+
function Z0(e) {
|
|
45345
45402
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
45346
|
-
x: Math.max(8, window.innerWidth -
|
|
45347
|
-
y: Math.max(8, window.innerHeight -
|
|
45403
|
+
x: Math.max(8, window.innerWidth - K0 - 24),
|
|
45404
|
+
y: Math.max(8, window.innerHeight - q0 - 20)
|
|
45348
45405
|
}), [s, c] = T({
|
|
45349
45406
|
running: [],
|
|
45350
45407
|
review: []
|
|
@@ -45359,12 +45416,12 @@ function K0(e) {
|
|
|
45359
45416
|
let t = Math.floor(e / 1e3);
|
|
45360
45417
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
45361
45418
|
}, [v, y] = T(null), b = (e) => ({
|
|
45362
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
45363
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
45419
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - K0 - 8),
|
|
45420
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - q0 - 8)
|
|
45364
45421
|
}), x = (e) => ({
|
|
45365
45422
|
x: Math.min(Math.max(8 - (te() - 80), e.x), window.innerWidth - 80),
|
|
45366
45423
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
45367
|
-
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(
|
|
45424
|
+
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(J0), ne = (e) => Math.min(X0, Math.max(Y0, Math.min(e, window.innerWidth - 60)));
|
|
45368
45425
|
O(() => {
|
|
45369
45426
|
let e = document.documentElement, n = t() && S();
|
|
45370
45427
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${te()}px` : "", e.style.marginLeft = n && r() === "left" ? `${te()}px` : "";
|
|
@@ -45472,7 +45529,7 @@ function K0(e) {
|
|
|
45472
45529
|
return !t();
|
|
45473
45530
|
},
|
|
45474
45531
|
get children() {
|
|
45475
|
-
var e =
|
|
45532
|
+
var e = F0(), t = e.firstChild;
|
|
45476
45533
|
return t.$$pointerdown = se, P(t, j(M, {
|
|
45477
45534
|
get when() {
|
|
45478
45535
|
return p() === "recording";
|
|
@@ -45480,14 +45537,14 @@ function K0(e) {
|
|
|
45480
45537
|
get fallback() {
|
|
45481
45538
|
return [
|
|
45482
45539
|
(() => {
|
|
45483
|
-
var e =
|
|
45540
|
+
var e = L0();
|
|
45484
45541
|
return e.$$click = () => {
|
|
45485
45542
|
oe || (f(!1), n(!0));
|
|
45486
|
-
}, P(e, j(
|
|
45543
|
+
}, P(e, j(D0, { size: 13 })), e;
|
|
45487
45544
|
})(),
|
|
45488
|
-
|
|
45545
|
+
R0(),
|
|
45489
45546
|
(() => {
|
|
45490
|
-
var e =
|
|
45547
|
+
var e = V0(), t = e.firstChild, n = t.nextSibling;
|
|
45491
45548
|
return e.$$click = () => {
|
|
45492
45549
|
oe || f((e) => !e);
|
|
45493
45550
|
}, P(n, (() => {
|
|
@@ -45498,8 +45555,8 @@ function K0(e) {
|
|
|
45498
45555
|
return $e(() => !k())() && u().length > 0;
|
|
45499
45556
|
},
|
|
45500
45557
|
get children() {
|
|
45501
|
-
return [
|
|
45502
|
-
var e =
|
|
45558
|
+
return [z0(), (() => {
|
|
45559
|
+
var e = B0(), t = e.firstChild;
|
|
45503
45560
|
return P(e, () => u().length, t), e;
|
|
45504
45561
|
})()];
|
|
45505
45562
|
}
|
|
@@ -45515,13 +45572,13 @@ function K0(e) {
|
|
|
45515
45572
|
},
|
|
45516
45573
|
get children() {
|
|
45517
45574
|
return [
|
|
45518
|
-
|
|
45575
|
+
A0(),
|
|
45519
45576
|
(() => {
|
|
45520
|
-
var e =
|
|
45577
|
+
var e = j0();
|
|
45521
45578
|
return P(e, () => _(h())), e;
|
|
45522
45579
|
})(),
|
|
45523
45580
|
(() => {
|
|
45524
|
-
var e =
|
|
45581
|
+
var e = M0();
|
|
45525
45582
|
return e.$$click = () => {
|
|
45526
45583
|
oe || QD();
|
|
45527
45584
|
}, e;
|
|
@@ -45533,17 +45590,17 @@ function K0(e) {
|
|
|
45533
45590
|
return d();
|
|
45534
45591
|
},
|
|
45535
45592
|
get children() {
|
|
45536
|
-
var e =
|
|
45593
|
+
var e = P0(), t = e.firstChild;
|
|
45537
45594
|
return P(e, j(M, {
|
|
45538
45595
|
get when() {
|
|
45539
45596
|
return u().length > 0;
|
|
45540
45597
|
},
|
|
45541
45598
|
get children() {
|
|
45542
|
-
return [
|
|
45599
|
+
return [N0(), j(We, {
|
|
45543
45600
|
get each() {
|
|
45544
45601
|
return u();
|
|
45545
45602
|
},
|
|
45546
|
-
children: (e) => j(
|
|
45603
|
+
children: (e) => j(Q0, {
|
|
45547
45604
|
agent: e,
|
|
45548
45605
|
review: !0,
|
|
45549
45606
|
onOpen: le
|
|
@@ -45555,14 +45612,14 @@ function K0(e) {
|
|
|
45555
45612
|
return l().length > 0;
|
|
45556
45613
|
},
|
|
45557
45614
|
get fallback() {
|
|
45558
|
-
return
|
|
45615
|
+
return H0();
|
|
45559
45616
|
},
|
|
45560
45617
|
get children() {
|
|
45561
45618
|
return j(We, {
|
|
45562
45619
|
get each() {
|
|
45563
45620
|
return l();
|
|
45564
45621
|
},
|
|
45565
|
-
children: (e) => j(
|
|
45622
|
+
children: (e) => j(Q0, {
|
|
45566
45623
|
agent: e,
|
|
45567
45624
|
onOpen: le
|
|
45568
45625
|
})
|
|
@@ -45583,8 +45640,8 @@ function K0(e) {
|
|
|
45583
45640
|
return t();
|
|
45584
45641
|
},
|
|
45585
45642
|
get children() {
|
|
45586
|
-
var e =
|
|
45587
|
-
return t.$$pointerdown = ue, P(e, j(
|
|
45643
|
+
var e = I0(), t = e.firstChild;
|
|
45644
|
+
return t.$$pointerdown = ue, P(e, j(O0, {
|
|
45588
45645
|
onGrab: () => n(!0),
|
|
45589
45646
|
onClose: () => n(!1),
|
|
45590
45647
|
get onHeaderPointerDown() {
|
|
@@ -45612,19 +45669,19 @@ function K0(e) {
|
|
|
45612
45669
|
}
|
|
45613
45670
|
})];
|
|
45614
45671
|
}
|
|
45615
|
-
function
|
|
45672
|
+
function Q0(e) {
|
|
45616
45673
|
return (() => {
|
|
45617
|
-
var t =
|
|
45674
|
+
var t = U0(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
45618
45675
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
45619
45676
|
var t = $e(() => !!e.review);
|
|
45620
45677
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
45621
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
45678
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => $0(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
45622
45679
|
})();
|
|
45623
45680
|
}
|
|
45624
|
-
function
|
|
45681
|
+
function $0(e) {
|
|
45625
45682
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
45626
45683
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
45627
45684
|
}
|
|
45628
45685
|
rt(["pointerdown", "click"]);
|
|
45629
45686
|
//#endregion
|
|
45630
|
-
export {
|
|
45687
|
+
export { W0 as init };
|