linear-grab 0.16.5 → 0.16.6
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 +5 -5
- package/dist/linear-grab.js +366 -298
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -42964,15 +42964,15 @@ function QQ(e) {
|
|
|
42964
42964
|
//#endregion
|
|
42965
42965
|
//#region src/panel/views/ActivityView.tsx
|
|
42966
42966
|
Br();
|
|
42967
|
-
var $Q = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), e$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), t$ = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), n$ = /*#__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\">"), r$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), i$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), a$ = /*#__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\">"), o$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), s$ = /*#__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\">"), c$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-left\">← Back"), l$ = /*#__PURE__*/ N("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), u$ = /*#__PURE__*/ N("<span class=\"truncate text-[12px] font-medium text-text\">"), d$ = /*#__PURE__*/ N("<span class=\"text-[11.5px] text-text-faint\">Loading…"), f$ = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), p$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2\">"), m$ = /*#__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\">"), h$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), g$ = /*#__PURE__*/ N("<option value=local>Message local Claude Code session"), _$ = /*#__PURE__*/ N("<option value=new>Start NEW agent (@<!>)"), v$ = /*#__PURE__*/ N("<option value=comment>Comment only"), y$ = /*#__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\">"), b$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), x$ = /*#__PURE__*/ N("<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\">"), S$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), C$ = /*#__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\">"), w$ = /*#__PURE__*/ N("<option selected>"), T$ = /*#__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-
|
|
42968
|
-
function
|
|
42967
|
+
var $Q = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), e$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), t$ = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), n$ = /*#__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\">"), r$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), i$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), a$ = /*#__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\">"), o$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), s$ = /*#__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\">"), c$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-left\">← Back"), l$ = /*#__PURE__*/ N("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), u$ = /*#__PURE__*/ N("<span class=\"truncate text-[12px] font-medium text-text\">"), d$ = /*#__PURE__*/ N("<span class=\"text-[11.5px] text-text-faint\">Loading…"), f$ = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), p$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2\">"), m$ = /*#__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\">"), h$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), g$ = /*#__PURE__*/ N("<option value=local>Message local Claude Code session"), _$ = /*#__PURE__*/ N("<option value=new>Start NEW agent (@<!>)"), v$ = /*#__PURE__*/ N("<option value=comment>Comment only"), y$ = /*#__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\">"), b$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), x$ = /*#__PURE__*/ N("<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\">"), S$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), C$ = /*#__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\">"), w$ = /*#__PURE__*/ N("<option selected>"), T$ = /*#__PURE__*/ N("<svg width=10 height=10 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), E$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><path d=\"M4.5 2.8a.8.8 0 0 1 1.22-.68l8 5.2a.8.8 0 0 1 0 1.36l-8 5.2a.8.8 0 0 1-1.22-.68V2.8Z\">"), D$ = /*#__PURE__*/ N("<svg width=11 height=11 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 4 3.5 4-3.5 4M8 12.5h5.5\">"), O$ = /*#__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><div class=\"flex h-9 items-center gap-1 pr-2\"><button class=\"hover:bg-surface-2 flex h-full min-w-0 flex-1 cursor-pointer items-center gap-2 rounded-md 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\">"), k$ = /*#__PURE__*/ N("<option>"), A$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-center\">Merge"), j$ = /*#__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\">"), M$ = /*#__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\">"), N$ = /*#__PURE__*/ N("<option>Steer running agent<!> · "), P$ = /*#__PURE__*/ N("<span class=\"bg-danger inline-block size-2.5 rounded-full\"aria-hidden>"), F$ = /*#__PURE__*/ N("<span class=\"text-[11px] text-text-dim\">"), I$ = /*#__PURE__*/ N("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), L$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5 border-t border-border pt-1.5 mt-0.5\">"), R$ = /*#__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\">"), z$ = /*#__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\">");
|
|
42968
|
+
function B$(e) {
|
|
42969
42969
|
let t = k(() => QQ(e.text));
|
|
42970
42970
|
return (() => {
|
|
42971
42971
|
var e = $Q();
|
|
42972
42972
|
return D(() => e.innerHTML = t()), e;
|
|
42973
42973
|
})();
|
|
42974
42974
|
}
|
|
42975
|
-
function
|
|
42975
|
+
function V$() {
|
|
42976
42976
|
let [e, t] = T(null);
|
|
42977
42977
|
return O(() => {
|
|
42978
42978
|
let e = YA();
|
|
@@ -42984,7 +42984,7 @@ function R$() {
|
|
|
42984
42984
|
return e() === null;
|
|
42985
42985
|
},
|
|
42986
42986
|
get fallback() {
|
|
42987
|
-
return j(
|
|
42987
|
+
return j(W$, {
|
|
42988
42988
|
get issueId() {
|
|
42989
42989
|
return e();
|
|
42990
42990
|
},
|
|
@@ -42992,12 +42992,12 @@ function R$() {
|
|
|
42992
42992
|
});
|
|
42993
42993
|
},
|
|
42994
42994
|
get children() {
|
|
42995
|
-
return j(
|
|
42995
|
+
return j(H$, { onSelect: (e) => t(e) });
|
|
42996
42996
|
}
|
|
42997
42997
|
})), n;
|
|
42998
42998
|
})();
|
|
42999
42999
|
}
|
|
43000
|
-
function
|
|
43000
|
+
function H$(e) {
|
|
43001
43001
|
let t, n = _r(() => ({
|
|
43002
43002
|
queryKey: ["my-issues"],
|
|
43003
43003
|
queryFn: fO,
|
|
@@ -43069,7 +43069,7 @@ function z$(e) {
|
|
|
43069
43069
|
let n = k(() => r()[t.index]);
|
|
43070
43070
|
return (() => {
|
|
43071
43071
|
var r = o$();
|
|
43072
|
-
return P(r, j(
|
|
43072
|
+
return P(r, j(U$, {
|
|
43073
43073
|
get issue() {
|
|
43074
43074
|
return n();
|
|
43075
43075
|
},
|
|
@@ -43084,7 +43084,7 @@ function z$(e) {
|
|
|
43084
43084
|
}), null), a;
|
|
43085
43085
|
})();
|
|
43086
43086
|
}
|
|
43087
|
-
function
|
|
43087
|
+
function U$(e) {
|
|
43088
43088
|
return (() => {
|
|
43089
43089
|
var t = s$(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling, o = a.firstChild;
|
|
43090
43090
|
return t.$$click = () => e.onSelect(e.issue.id), P(n, j(jj, { get color() {
|
|
@@ -43120,7 +43120,7 @@ function B$(e) {
|
|
|
43120
43120
|
}), o), P(o, () => Fj(e.issue.updatedAt)), t;
|
|
43121
43121
|
})();
|
|
43122
43122
|
}
|
|
43123
|
-
function
|
|
43123
|
+
function W$(e) {
|
|
43124
43124
|
let t = sr(), n = _r(() => ({
|
|
43125
43125
|
queryKey: ["issue", e.issueId],
|
|
43126
43126
|
queryFn: () => pO(e.issueId),
|
|
@@ -43165,10 +43165,20 @@ function V$(e) {
|
|
|
43165
43165
|
onSuccess: (e) => {
|
|
43166
43166
|
t.setQueryData(["bridge-tasks"], (t) => t?.map((t) => t.id === e.id ? e : t));
|
|
43167
43167
|
}
|
|
43168
|
-
})), c =
|
|
43168
|
+
})), c = vr(() => ({
|
|
43169
|
+
mutationFn: (e) => MO(e, "Continue where you left off. If the work is already complete, finish any remaining closeout steps (PR, Linear update, announcement)."),
|
|
43170
|
+
onSuccess: () => void t.invalidateQueries({ queryKey: ["bridge-tasks"] })
|
|
43171
|
+
})), l = vr(() => ({
|
|
43172
|
+
mutationFn: (e) => PO(e),
|
|
43173
|
+
onSuccess: () => void t.invalidateQueries({ queryKey: ["bridge-tasks"] })
|
|
43174
|
+
})), [u, d] = T(!1), f = async (e) => {
|
|
43175
|
+
try {
|
|
43176
|
+
await navigator.clipboard.writeText(VO(e)), d(!0), setTimeout(() => d(!1), 1800);
|
|
43177
|
+
} catch {}
|
|
43178
|
+
}, p = k(() => {
|
|
43169
43179
|
let e = n.data?.identifier;
|
|
43170
43180
|
return e ? a.data?.find((t) => t.title.startsWith(e)) : void 0;
|
|
43171
|
-
}),
|
|
43181
|
+
}), m = (e) => e.status === "running" ? {
|
|
43172
43182
|
word: "Working…",
|
|
43173
43183
|
cls: "text-accent"
|
|
43174
43184
|
} : e.status === "done" ? {
|
|
@@ -43180,76 +43190,76 @@ function V$(e) {
|
|
|
43180
43190
|
} : {
|
|
43181
43191
|
word: "Error",
|
|
43182
43192
|
cls: "text-danger"
|
|
43183
|
-
}, [
|
|
43193
|
+
}, [h, g] = br(`activity-reply:${e.issueId}`, ""), [_, v] = T(null), [y, b] = T(0), x = _r(() => ({
|
|
43184
43194
|
queryKey: ["grab"],
|
|
43185
43195
|
queryFn: Dr,
|
|
43186
43196
|
enabled: $A() === "composer"
|
|
43187
|
-
})), [
|
|
43188
|
-
|
|
43197
|
+
})), [S, C] = T(!1), w = async () => {
|
|
43198
|
+
C(!0), v(null);
|
|
43189
43199
|
try {
|
|
43190
43200
|
let e = await HQ();
|
|
43191
|
-
e ?
|
|
43201
|
+
e ? g((t) => `${t ? `${t}\n` : ""}${e}\n`) : v("Nothing captured yet — pick an element, capture a region, or record first.");
|
|
43192
43202
|
} catch (e) {
|
|
43193
|
-
|
|
43203
|
+
v(e instanceof Error ? e.message : "Attach failed.");
|
|
43194
43204
|
} finally {
|
|
43195
|
-
|
|
43205
|
+
C(!1);
|
|
43196
43206
|
}
|
|
43197
|
-
},
|
|
43207
|
+
}, E = () => {
|
|
43198
43208
|
if ($A() === "composer") {
|
|
43199
43209
|
tj("capture");
|
|
43200
43210
|
return;
|
|
43201
43211
|
}
|
|
43202
|
-
|
|
43212
|
+
b(Date.now()), tj("composer"), LZ().catch(() => tj("capture"));
|
|
43203
43213
|
};
|
|
43204
43214
|
O(() => {
|
|
43205
43215
|
if ($A() !== "composer") return;
|
|
43206
|
-
let e = (
|
|
43216
|
+
let e = (x.data ?? []).filter((e) => e.grabbedAt > y());
|
|
43207
43217
|
if (!e.length) return;
|
|
43208
43218
|
let t = e.map((e) => {
|
|
43209
43219
|
let t = e.source?.filePath ? ` — \`${e.source.filePath}${e.source.lineNumber == null ? "" : `:${e.source.lineNumber}`}\`` : "";
|
|
43210
43220
|
return `- \`<${e.componentName ?? e.tagName ?? "element"}>\`${t}`;
|
|
43211
43221
|
}).join("\n");
|
|
43212
|
-
|
|
43222
|
+
g((e) => `${e ? `${e}\n` : ""}${t}\n`), b(Math.max(...e.map((e) => e.grabbedAt)));
|
|
43213
43223
|
});
|
|
43214
|
-
let [
|
|
43215
|
-
ae(UD(
|
|
43216
|
-
let
|
|
43224
|
+
let [ee, te] = T(HD());
|
|
43225
|
+
ae(UD(te));
|
|
43226
|
+
let A = !1;
|
|
43217
43227
|
O(() => {
|
|
43218
|
-
|
|
43228
|
+
ee().phase === "ready" && A && (A = !1, w());
|
|
43219
43229
|
});
|
|
43220
|
-
let
|
|
43221
|
-
|
|
43222
|
-
},
|
|
43223
|
-
queryKey: ["pr-status",
|
|
43224
|
-
queryFn: () => RO(
|
|
43230
|
+
let ne = () => {
|
|
43231
|
+
ee().phase === "recording" ? eO() : (A = !0, $D());
|
|
43232
|
+
}, re = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, ie = k(() => (n.data?.attachments ?? []).map((e) => e.url).filter((e) => re.test(e))), oe = _r(() => ({
|
|
43233
|
+
queryKey: ["pr-status", ie().sort().join("|")],
|
|
43234
|
+
queryFn: () => RO(ie()),
|
|
43225
43235
|
refetchInterval: 3e4,
|
|
43226
43236
|
retry: 0,
|
|
43227
|
-
enabled:
|
|
43228
|
-
})),
|
|
43229
|
-
|
|
43237
|
+
enabled: ie().length > 0
|
|
43238
|
+
})), se = (e) => ue().has(e) ? "MERGED" : oe.data?.[e], [ce, le] = T(null), [ue, de] = T(/* @__PURE__ */ new Set()), [fe, pe] = T(null), me = async (n) => {
|
|
43239
|
+
pe(null), le(n);
|
|
43230
43240
|
try {
|
|
43231
|
-
await zO(n),
|
|
43241
|
+
await zO(n), de((e) => new Set(e).add(n)), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), t.invalidateQueries({ queryKey: ["my-issues"] }), RQ();
|
|
43232
43242
|
} catch (e) {
|
|
43233
|
-
|
|
43243
|
+
pe(e instanceof Error ? `${e.message} (bridge must be running; gh needs merge rights)` : "Merge failed.");
|
|
43234
43244
|
} finally {
|
|
43235
|
-
|
|
43245
|
+
le(null);
|
|
43236
43246
|
}
|
|
43237
|
-
},
|
|
43247
|
+
}, he = k(() => n.data ? xO(n.data.comments) : []), [ge, _e] = T("comment"), ve = !1, ye = !1;
|
|
43238
43248
|
O(() => {
|
|
43239
|
-
if (
|
|
43240
|
-
|
|
43241
|
-
let e =
|
|
43242
|
-
e.length ?
|
|
43249
|
+
if (ye || !n.data || !i.data) return;
|
|
43250
|
+
ye = !0;
|
|
43251
|
+
let e = he();
|
|
43252
|
+
e.length ? _e(`thread:${e[0].id}`) : n.data.delegate && i.data.cursorAgentId && _e("new");
|
|
43243
43253
|
}), O(() => {
|
|
43244
|
-
|
|
43254
|
+
ve || p() && (ge() === "comment" || ge() === "new") && _e("local");
|
|
43245
43255
|
});
|
|
43246
|
-
let
|
|
43256
|
+
let be = vr(() => ({
|
|
43247
43257
|
mutationFn: async () => {
|
|
43248
|
-
let t =
|
|
43258
|
+
let t = h().trim();
|
|
43249
43259
|
if (!t) throw Error("Message is empty");
|
|
43250
|
-
let n = i.data ?? {}, r =
|
|
43260
|
+
let n = i.data ?? {}, r = ge();
|
|
43251
43261
|
if (r === "local") {
|
|
43252
|
-
let n =
|
|
43262
|
+
let n = p();
|
|
43253
43263
|
if (!n) throw Error("Local session not found — is the bridge running?");
|
|
43254
43264
|
await MO(n.id, t), await yO(e.issueId, `🖥️ **→ local agent:** ${t}`).catch(() => {});
|
|
43255
43265
|
} else r.startsWith("thread:") ? await yO(e.issueId, t, r.slice(7)) : r === "new" && n.cursorAgentId ? await bO(e.issueId, t, {
|
|
@@ -43259,14 +43269,14 @@ function V$(e) {
|
|
|
43259
43269
|
}) : await yO(e.issueId, t);
|
|
43260
43270
|
},
|
|
43261
43271
|
onSuccess: () => {
|
|
43262
|
-
|
|
43272
|
+
g(""), v(null), tj("capture"), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), RQ();
|
|
43263
43273
|
},
|
|
43264
43274
|
onError: (e) => {
|
|
43265
|
-
|
|
43275
|
+
v(e.message ?? "Failed to send");
|
|
43266
43276
|
}
|
|
43267
|
-
})),
|
|
43277
|
+
})), xe = k(() => n.data), Se = k(() => r.data ?? []);
|
|
43268
43278
|
return (() => {
|
|
43269
|
-
var t = C$(), r = t.firstChild, a = r.firstChild,
|
|
43279
|
+
var t = C$(), r = t.firstChild, a = r.firstChild, d = r.nextSibling, v = d.nextSibling, y = v.firstChild;
|
|
43270
43280
|
return P(a, j(bj, {
|
|
43271
43281
|
class: "min-w-[68px] shrink-0 text-[11px]",
|
|
43272
43282
|
get onClick() {
|
|
@@ -43277,52 +43287,52 @@ function V$(e) {
|
|
|
43277
43287
|
}
|
|
43278
43288
|
}), null), P(a, j(M, {
|
|
43279
43289
|
get when() {
|
|
43280
|
-
return
|
|
43290
|
+
return xe();
|
|
43281
43291
|
},
|
|
43282
43292
|
get children() {
|
|
43283
43293
|
return [(() => {
|
|
43284
43294
|
var e = l$();
|
|
43285
|
-
return P(e, () =>
|
|
43295
|
+
return P(e, () => xe().identifier), e;
|
|
43286
43296
|
})(), (() => {
|
|
43287
43297
|
var e = u$();
|
|
43288
|
-
return P(e, () =>
|
|
43298
|
+
return P(e, () => xe().title), e;
|
|
43289
43299
|
})()];
|
|
43290
43300
|
}
|
|
43291
43301
|
}), null), P(a, j(M, {
|
|
43292
43302
|
get when() {
|
|
43293
|
-
return $e(() => !!n.isPending)() && !
|
|
43303
|
+
return $e(() => !!n.isPending)() && !xe();
|
|
43294
43304
|
},
|
|
43295
43305
|
get children() {
|
|
43296
43306
|
return d$();
|
|
43297
43307
|
}
|
|
43298
43308
|
}), null), P(r, j(M, {
|
|
43299
43309
|
get when() {
|
|
43300
|
-
return
|
|
43310
|
+
return xe();
|
|
43301
43311
|
},
|
|
43302
43312
|
get children() {
|
|
43303
43313
|
var e = f$(), t = e.firstChild;
|
|
43304
43314
|
return P(e, j(jj, { get color() {
|
|
43305
|
-
return
|
|
43306
|
-
} }), t), P(t, () =>
|
|
43315
|
+
return xe().state.color;
|
|
43316
|
+
} }), t), P(t, () => xe().state.name), P(e, j(Dj, {
|
|
43307
43317
|
get href() {
|
|
43308
|
-
return
|
|
43318
|
+
return xe().url;
|
|
43309
43319
|
},
|
|
43310
43320
|
class: "ml-auto shrink-0",
|
|
43311
43321
|
children: "Open in Linear"
|
|
43312
43322
|
}), null), e;
|
|
43313
43323
|
}
|
|
43314
|
-
}), null), P(
|
|
43324
|
+
}), null), P(d, j(M, {
|
|
43315
43325
|
get when() {
|
|
43316
|
-
return
|
|
43326
|
+
return p();
|
|
43317
43327
|
},
|
|
43318
43328
|
children: (e) => {
|
|
43319
|
-
let t = () =>
|
|
43329
|
+
let t = () => m(e());
|
|
43320
43330
|
return (() => {
|
|
43321
|
-
var n =
|
|
43331
|
+
var n = O$(), r = n.firstChild, i = r.firstChild.firstChild, a = i.nextSibling.nextSibling.nextSibling;
|
|
43322
43332
|
a.firstChild;
|
|
43323
|
-
var
|
|
43333
|
+
var d = r.nextSibling, p = d.firstChild, m = p.firstChild, h = m.nextSibling;
|
|
43324
43334
|
return P(i, j(Ej, { size: 12 })), P(a, () => Fj(e().startedAt), null), P(r, j(wj, {
|
|
43325
|
-
class: "h-6 w-auto max-w-[
|
|
43335
|
+
class: "h-6 w-auto max-w-[110px] shrink-0 text-[10.5px]",
|
|
43326
43336
|
get value() {
|
|
43327
43337
|
return e().pendingModel ?? e().model ?? "";
|
|
43328
43338
|
},
|
|
@@ -43335,7 +43345,7 @@ function V$(e) {
|
|
|
43335
43345
|
return [j(We, {
|
|
43336
43346
|
each: o,
|
|
43337
43347
|
children: (t) => (() => {
|
|
43338
|
-
var n =
|
|
43348
|
+
var n = k$();
|
|
43339
43349
|
return P(n, () => t.label), D(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), D(() => n.value = t.id), n;
|
|
43340
43350
|
})()
|
|
43341
43351
|
}), j(M, {
|
|
@@ -43348,77 +43358,135 @@ function V$(e) {
|
|
|
43348
43358
|
}
|
|
43349
43359
|
})];
|
|
43350
43360
|
}
|
|
43351
|
-
}), null),
|
|
43361
|
+
}), null), p.$$click = () => ZA("local"), P(p, j(M, {
|
|
43352
43362
|
get when() {
|
|
43353
43363
|
return e().status === "running";
|
|
43354
43364
|
},
|
|
43355
43365
|
get children() {
|
|
43356
43366
|
return j(xj, { size: 12 });
|
|
43357
43367
|
}
|
|
43358
|
-
}),
|
|
43368
|
+
}), m), P(m, () => t().word), P(h, (() => {
|
|
43359
43369
|
var t = $e(() => e().status === "done");
|
|
43360
43370
|
return () => t() ? e().result ?? e().lastText : e().lastText;
|
|
43361
|
-
})()),
|
|
43371
|
+
})()), P(d, j(M, {
|
|
43372
|
+
get when() {
|
|
43373
|
+
return e().status === "running";
|
|
43374
|
+
},
|
|
43375
|
+
get children() {
|
|
43376
|
+
return j(bj, {
|
|
43377
|
+
variant: "danger",
|
|
43378
|
+
class: "size-6 shrink-0 px-0",
|
|
43379
|
+
get loading() {
|
|
43380
|
+
return l.isPending;
|
|
43381
|
+
},
|
|
43382
|
+
title: "Stop the session — resumable afterwards",
|
|
43383
|
+
"aria-label": "Stop session",
|
|
43384
|
+
onClick: () => l.mutate(e().id),
|
|
43385
|
+
get children() {
|
|
43386
|
+
return T$();
|
|
43387
|
+
}
|
|
43388
|
+
});
|
|
43389
|
+
}
|
|
43390
|
+
}), null), P(d, j(M, {
|
|
43391
|
+
get when() {
|
|
43392
|
+
return $e(() => e().status !== "running")() && e().sessionId;
|
|
43393
|
+
},
|
|
43394
|
+
get children() {
|
|
43395
|
+
return j(bj, {
|
|
43396
|
+
variant: "ghost",
|
|
43397
|
+
class: "size-6 shrink-0 px-0",
|
|
43398
|
+
get loading() {
|
|
43399
|
+
return c.isPending;
|
|
43400
|
+
},
|
|
43401
|
+
get title() {
|
|
43402
|
+
return `Run again — resumes this session${e().pendingModel ? ` on ${e().pendingModel}` : ""}`;
|
|
43403
|
+
},
|
|
43404
|
+
"aria-label": "Resume session",
|
|
43405
|
+
onClick: () => c.mutate(e().id),
|
|
43406
|
+
get children() {
|
|
43407
|
+
return E$();
|
|
43408
|
+
}
|
|
43409
|
+
});
|
|
43410
|
+
}
|
|
43411
|
+
}), null), P(d, j(M, {
|
|
43412
|
+
get when() {
|
|
43413
|
+
return e().sessionId;
|
|
43414
|
+
},
|
|
43415
|
+
get children() {
|
|
43416
|
+
return j(bj, {
|
|
43417
|
+
variant: "ghost",
|
|
43418
|
+
class: "size-6 shrink-0 px-0",
|
|
43419
|
+
get title() {
|
|
43420
|
+
return u() ? "Copied!" : "Copy terminal resume command (claude --resume …)";
|
|
43421
|
+
},
|
|
43422
|
+
"aria-label": "Copy resume command",
|
|
43423
|
+
onClick: () => void f(e()),
|
|
43424
|
+
get children() {
|
|
43425
|
+
return D$();
|
|
43426
|
+
}
|
|
43427
|
+
});
|
|
43428
|
+
}
|
|
43429
|
+
}), null), D(() => st(m, `shrink-0 text-[11.5px] font-medium ${t().cls}`)), n;
|
|
43362
43430
|
})();
|
|
43363
43431
|
}
|
|
43364
|
-
}), null), P(
|
|
43432
|
+
}), null), P(d, j(M, {
|
|
43365
43433
|
get when() {
|
|
43366
|
-
return
|
|
43434
|
+
return Se().length > 0;
|
|
43367
43435
|
},
|
|
43368
43436
|
get children() {
|
|
43369
43437
|
var e = p$();
|
|
43370
43438
|
return P(e, j(We, {
|
|
43371
43439
|
get each() {
|
|
43372
|
-
return
|
|
43440
|
+
return Se();
|
|
43373
43441
|
},
|
|
43374
|
-
children: (e) => j(
|
|
43442
|
+
children: (e) => j(G$, { session: e })
|
|
43375
43443
|
})), e;
|
|
43376
43444
|
}
|
|
43377
|
-
}), null), P(
|
|
43445
|
+
}), null), P(d, j(M, {
|
|
43378
43446
|
get when() {
|
|
43379
|
-
return $e(() => !!
|
|
43447
|
+
return $e(() => !!xe())() && xe().attachments.length > 0;
|
|
43380
43448
|
},
|
|
43381
43449
|
get children() {
|
|
43382
43450
|
var e = m$(), t = e.firstChild.nextSibling;
|
|
43383
43451
|
return P(t, j(We, {
|
|
43384
43452
|
get each() {
|
|
43385
|
-
return
|
|
43453
|
+
return xe().attachments;
|
|
43386
43454
|
},
|
|
43387
43455
|
children: (e) => {
|
|
43388
43456
|
let t = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i.test(e.url);
|
|
43389
43457
|
return (() => {
|
|
43390
|
-
var n =
|
|
43458
|
+
var n = j$(), r = n.firstChild;
|
|
43391
43459
|
return P(r, () => e.title), P(n, j(M, {
|
|
43392
43460
|
get when() {
|
|
43393
|
-
return $e(() => !!(t &&
|
|
43461
|
+
return $e(() => !!(t && se(e.url)))() && se(e.url) !== "OPEN";
|
|
43394
43462
|
},
|
|
43395
43463
|
get children() {
|
|
43396
43464
|
return j(Aj, {
|
|
43397
43465
|
get class() {
|
|
43398
|
-
return `ml-auto shrink-0 ${
|
|
43466
|
+
return `ml-auto shrink-0 ${se(e.url) === "MERGED" ? "text-success" : "text-text-faint"}`;
|
|
43399
43467
|
},
|
|
43400
43468
|
get children() {
|
|
43401
|
-
return
|
|
43469
|
+
return se(e.url) === "MERGED" ? "✓ merged" : "closed";
|
|
43402
43470
|
}
|
|
43403
43471
|
});
|
|
43404
43472
|
}
|
|
43405
43473
|
}), null), P(n, j(M, {
|
|
43406
43474
|
get when() {
|
|
43407
|
-
return t && (!
|
|
43475
|
+
return t && (!se(e.url) || se(e.url) === "OPEN");
|
|
43408
43476
|
},
|
|
43409
43477
|
get children() {
|
|
43410
43478
|
return j(bj, {
|
|
43411
43479
|
variant: "primary",
|
|
43412
43480
|
class: "ml-auto h-6 shrink-0 px-2 text-[11px]",
|
|
43413
43481
|
get loading() {
|
|
43414
|
-
return
|
|
43482
|
+
return ce() === e.url;
|
|
43415
43483
|
},
|
|
43416
43484
|
get title() {
|
|
43417
|
-
return
|
|
43485
|
+
return oe.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.";
|
|
43418
43486
|
},
|
|
43419
|
-
onClick: () => void
|
|
43487
|
+
onClick: () => void me(e.url),
|
|
43420
43488
|
get children() {
|
|
43421
|
-
return
|
|
43489
|
+
return A$();
|
|
43422
43490
|
}
|
|
43423
43491
|
});
|
|
43424
43492
|
}
|
|
@@ -43433,29 +43501,29 @@ function V$(e) {
|
|
|
43433
43501
|
}
|
|
43434
43502
|
}), null), P(t, j(M, {
|
|
43435
43503
|
get when() {
|
|
43436
|
-
return
|
|
43504
|
+
return fe();
|
|
43437
43505
|
},
|
|
43438
43506
|
get children() {
|
|
43439
43507
|
return j(Nj, { get message() {
|
|
43440
|
-
return
|
|
43508
|
+
return fe();
|
|
43441
43509
|
} });
|
|
43442
43510
|
}
|
|
43443
43511
|
}), null), e;
|
|
43444
43512
|
}
|
|
43445
|
-
}), null), P(
|
|
43513
|
+
}), null), P(d, j(M, {
|
|
43446
43514
|
get when() {
|
|
43447
|
-
return $e(() => !!
|
|
43515
|
+
return $e(() => !!xe())() && xe().comments.length > 0;
|
|
43448
43516
|
},
|
|
43449
43517
|
get children() {
|
|
43450
43518
|
var e = h$();
|
|
43451
43519
|
return e.firstChild, P(e, j(Ge, {
|
|
43452
43520
|
get each() {
|
|
43453
|
-
return
|
|
43521
|
+
return xe().comments;
|
|
43454
43522
|
},
|
|
43455
43523
|
children: (e) => {
|
|
43456
43524
|
let t = e();
|
|
43457
43525
|
return (() => {
|
|
43458
|
-
var e =
|
|
43526
|
+
var e = M$(), n = e.firstChild, r = n.firstChild, i = r.nextSibling;
|
|
43459
43527
|
return P(r, () => t.user?.displayName ?? t.user?.name ?? "Unknown"), P(n, j(M, {
|
|
43460
43528
|
get when() {
|
|
43461
43529
|
return t.user?.app;
|
|
@@ -43463,16 +43531,16 @@ function V$(e) {
|
|
|
43463
43531
|
get children() {
|
|
43464
43532
|
return j(Aj, { children: "agent" });
|
|
43465
43533
|
}
|
|
43466
|
-
}), i), P(i, () => Fj(t.createdAt)), P(e, j(
|
|
43534
|
+
}), i), P(i, () => Fj(t.createdAt)), P(e, j(B$, { get text() {
|
|
43467
43535
|
return t.body;
|
|
43468
43536
|
} }), null), e;
|
|
43469
43537
|
})();
|
|
43470
43538
|
}
|
|
43471
43539
|
}), null), e;
|
|
43472
43540
|
}
|
|
43473
|
-
}), null), P(
|
|
43541
|
+
}), null), P(d, j(M, {
|
|
43474
43542
|
get when() {
|
|
43475
|
-
return $e(() => !!(
|
|
43543
|
+
return $e(() => !!(xe() && xe().comments.length === 0))() && Se().length === 0;
|
|
43476
43544
|
},
|
|
43477
43545
|
get children() {
|
|
43478
43546
|
return j(Mj, {
|
|
@@ -43480,9 +43548,9 @@ function V$(e) {
|
|
|
43480
43548
|
children: "Comments and agent sessions will appear here."
|
|
43481
43549
|
});
|
|
43482
43550
|
}
|
|
43483
|
-
}), null), P(
|
|
43551
|
+
}), null), P(d, j(M, {
|
|
43484
43552
|
get when() {
|
|
43485
|
-
return $e(() => !!n.isError)() && !
|
|
43553
|
+
return $e(() => !!n.isError)() && !xe();
|
|
43486
43554
|
},
|
|
43487
43555
|
get children() {
|
|
43488
43556
|
return j(Mj, {
|
|
@@ -43492,54 +43560,54 @@ function V$(e) {
|
|
|
43492
43560
|
}
|
|
43493
43561
|
});
|
|
43494
43562
|
}
|
|
43495
|
-
}), null), P(
|
|
43563
|
+
}), null), P(v, j(M, {
|
|
43496
43564
|
get when() {
|
|
43497
|
-
return
|
|
43565
|
+
return _();
|
|
43498
43566
|
},
|
|
43499
43567
|
get children() {
|
|
43500
43568
|
return j(Nj, { get message() {
|
|
43501
|
-
return
|
|
43569
|
+
return _();
|
|
43502
43570
|
} });
|
|
43503
43571
|
}
|
|
43504
|
-
}),
|
|
43572
|
+
}), y), P(v, j(Cj, {
|
|
43505
43573
|
rows: 2,
|
|
43506
43574
|
placeholder: "Reply — steer the agent or add context…",
|
|
43507
43575
|
get value() {
|
|
43508
|
-
return
|
|
43576
|
+
return h();
|
|
43509
43577
|
},
|
|
43510
|
-
onInput: (e) =>
|
|
43578
|
+
onInput: (e) => g(e.target.value),
|
|
43511
43579
|
get disabled() {
|
|
43512
|
-
return
|
|
43580
|
+
return be.isPending;
|
|
43513
43581
|
}
|
|
43514
|
-
}),
|
|
43582
|
+
}), y), P(y, j(wj, {
|
|
43515
43583
|
class: "min-w-0 flex-1",
|
|
43516
43584
|
get value() {
|
|
43517
|
-
return
|
|
43585
|
+
return ge();
|
|
43518
43586
|
},
|
|
43519
43587
|
onChange: (e) => {
|
|
43520
|
-
|
|
43588
|
+
ve = !0, _e(e.currentTarget.value);
|
|
43521
43589
|
},
|
|
43522
43590
|
get children() {
|
|
43523
43591
|
return [
|
|
43524
43592
|
j(M, {
|
|
43525
43593
|
get when() {
|
|
43526
|
-
return
|
|
43594
|
+
return p();
|
|
43527
43595
|
},
|
|
43528
43596
|
get children() {
|
|
43529
43597
|
var e = g$();
|
|
43530
|
-
return D(() => e.selected =
|
|
43598
|
+
return D(() => e.selected = ge() === "local"), e;
|
|
43531
43599
|
}
|
|
43532
43600
|
}),
|
|
43533
43601
|
j(We, {
|
|
43534
43602
|
get each() {
|
|
43535
|
-
return
|
|
43603
|
+
return he();
|
|
43536
43604
|
},
|
|
43537
43605
|
children: (e, t) => (() => {
|
|
43538
|
-
var n =
|
|
43606
|
+
var n = N$(), r = n.firstChild.nextSibling;
|
|
43539
43607
|
return r.nextSibling, P(n, (() => {
|
|
43540
|
-
var e = $e(() =>
|
|
43608
|
+
var e = $e(() => he().length > 1);
|
|
43541
43609
|
return () => e() ? ` #${t() + 1}` : "";
|
|
43542
|
-
})(), r), P(n, () => Fj(e.createdAt), null), D(() => n.selected =
|
|
43610
|
+
})(), r), P(n, () => Fj(e.createdAt), null), D(() => n.selected = ge() === `thread:${e.id}`), D(() => n.value = `thread:${e.id}`), n;
|
|
43543
43611
|
})()
|
|
43544
43612
|
}),
|
|
43545
43613
|
j(M, {
|
|
@@ -43548,16 +43616,16 @@ function V$(e) {
|
|
|
43548
43616
|
},
|
|
43549
43617
|
get children() {
|
|
43550
43618
|
var e = _$(), t = e.firstChild.nextSibling;
|
|
43551
|
-
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected =
|
|
43619
|
+
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected = ge() === "new"), e;
|
|
43552
43620
|
}
|
|
43553
43621
|
}),
|
|
43554
43622
|
(() => {
|
|
43555
43623
|
var e = v$();
|
|
43556
|
-
return D(() => e.selected =
|
|
43624
|
+
return D(() => e.selected = ge() === "comment"), e;
|
|
43557
43625
|
})()
|
|
43558
43626
|
];
|
|
43559
43627
|
}
|
|
43560
|
-
}), null), P(
|
|
43628
|
+
}), null), P(y, j(bj, {
|
|
43561
43629
|
variant: "ghost",
|
|
43562
43630
|
get class() {
|
|
43563
43631
|
return `size-7 shrink-0 px-0 ${$A() === "composer" ? "text-accent" : ""}`;
|
|
@@ -43566,68 +43634,68 @@ function V$(e) {
|
|
|
43566
43634
|
return $A() === "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)";
|
|
43567
43635
|
},
|
|
43568
43636
|
"aria-label": "Pick element for reply",
|
|
43569
|
-
onClick:
|
|
43637
|
+
onClick: E,
|
|
43570
43638
|
get children() {
|
|
43571
43639
|
return y$();
|
|
43572
43640
|
}
|
|
43573
|
-
}), null), P(
|
|
43641
|
+
}), null), P(y, j(bj, {
|
|
43574
43642
|
variant: "ghost",
|
|
43575
43643
|
get class() {
|
|
43576
|
-
return `size-7 shrink-0 px-0 ${
|
|
43644
|
+
return `size-7 shrink-0 px-0 ${ee().phase === "recording" ? "text-danger" : ""}`;
|
|
43577
43645
|
},
|
|
43578
43646
|
get title() {
|
|
43579
|
-
return
|
|
43647
|
+
return ee().phase === "recording" ? "Stop recording — the GIF auto-attaches to this reply" : "Record a GIF from this thread (auto-attaches when done)";
|
|
43580
43648
|
},
|
|
43581
43649
|
"aria-label": "Record GIF",
|
|
43582
|
-
onClick:
|
|
43650
|
+
onClick: ne,
|
|
43583
43651
|
get children() {
|
|
43584
43652
|
return j(M, {
|
|
43585
43653
|
get when() {
|
|
43586
|
-
return
|
|
43654
|
+
return ee().phase === "recording";
|
|
43587
43655
|
},
|
|
43588
43656
|
get fallback() {
|
|
43589
|
-
return
|
|
43657
|
+
return P$();
|
|
43590
43658
|
},
|
|
43591
43659
|
get children() {
|
|
43592
43660
|
return b$();
|
|
43593
43661
|
}
|
|
43594
43662
|
});
|
|
43595
43663
|
}
|
|
43596
|
-
}), null), P(
|
|
43664
|
+
}), null), P(y, j(bj, {
|
|
43597
43665
|
variant: "ghost",
|
|
43598
43666
|
class: "size-7 shrink-0 px-0",
|
|
43599
43667
|
get loading() {
|
|
43600
|
-
return
|
|
43668
|
+
return S();
|
|
43601
43669
|
},
|
|
43602
43670
|
title: "Attach captures — element refs, screenshots, region shots, recording GIF",
|
|
43603
43671
|
"aria-label": "Attach captures",
|
|
43604
|
-
onClick: () => void
|
|
43672
|
+
onClick: () => void w(),
|
|
43605
43673
|
get children() {
|
|
43606
43674
|
return x$();
|
|
43607
43675
|
}
|
|
43608
|
-
}), null), P(
|
|
43676
|
+
}), null), P(y, j(bj, {
|
|
43609
43677
|
class: "min-w-[52px] shrink-0",
|
|
43610
43678
|
variant: "primary",
|
|
43611
43679
|
get loading() {
|
|
43612
|
-
return
|
|
43680
|
+
return be.isPending;
|
|
43613
43681
|
},
|
|
43614
43682
|
get disabled() {
|
|
43615
|
-
return
|
|
43683
|
+
return h().trim().length === 0;
|
|
43616
43684
|
},
|
|
43617
|
-
onClick: () =>
|
|
43685
|
+
onClick: () => be.mutate(),
|
|
43618
43686
|
get children() {
|
|
43619
43687
|
return S$();
|
|
43620
43688
|
}
|
|
43621
43689
|
}), null), t;
|
|
43622
43690
|
})();
|
|
43623
43691
|
}
|
|
43624
|
-
function
|
|
43692
|
+
function G$(e) {
|
|
43625
43693
|
let t = k(() => {
|
|
43626
43694
|
let t = e.session.status;
|
|
43627
43695
|
return /complete|done/i.test(t) ? "var(--color-success)" : /await|pending|elicit/i.test(t) ? "var(--color-warn)" : "var(--color-accent)";
|
|
43628
43696
|
}), n = k(() => e.session.activities.slice(-10));
|
|
43629
43697
|
return (() => {
|
|
43630
|
-
var r =
|
|
43698
|
+
var r = R$(), i = r.firstChild, a = i.firstChild;
|
|
43631
43699
|
return P(i, j(Aj, {
|
|
43632
43700
|
get color() {
|
|
43633
43701
|
return t();
|
|
@@ -43640,7 +43708,7 @@ function H$(e) {
|
|
|
43640
43708
|
return e.session.appUser?.displayName;
|
|
43641
43709
|
},
|
|
43642
43710
|
get children() {
|
|
43643
|
-
var t =
|
|
43711
|
+
var t = F$();
|
|
43644
43712
|
return P(t, () => e.session.appUser.displayName), t;
|
|
43645
43713
|
}
|
|
43646
43714
|
}), a), P(a, () => Fj(e.session.updatedAt)), P(r, j(M, {
|
|
@@ -43648,7 +43716,7 @@ function H$(e) {
|
|
|
43648
43716
|
return e.session.summary;
|
|
43649
43717
|
},
|
|
43650
43718
|
get children() {
|
|
43651
|
-
var t =
|
|
43719
|
+
var t = I$();
|
|
43652
43720
|
return P(t, () => e.session.summary), t;
|
|
43653
43721
|
}
|
|
43654
43722
|
}), null), P(r, j(M, {
|
|
@@ -43656,7 +43724,7 @@ function H$(e) {
|
|
|
43656
43724
|
return n().length > 0;
|
|
43657
43725
|
},
|
|
43658
43726
|
get children() {
|
|
43659
|
-
var e =
|
|
43727
|
+
var e = L$();
|
|
43660
43728
|
return P(e, j(We, {
|
|
43661
43729
|
get each() {
|
|
43662
43730
|
return n();
|
|
@@ -43664,7 +43732,7 @@ function H$(e) {
|
|
|
43664
43732
|
children: (e) => {
|
|
43665
43733
|
let t = e.content, n = String(t?.body ?? t?.text ?? t?.type ?? JSON.stringify(t)).slice(0, 300);
|
|
43666
43734
|
return (() => {
|
|
43667
|
-
var t =
|
|
43735
|
+
var t = z$(), r = t.firstChild, i = r.nextSibling;
|
|
43668
43736
|
return P(r, () => Fj(e.createdAt)), P(i, n), t;
|
|
43669
43737
|
})();
|
|
43670
43738
|
}
|
|
@@ -43676,7 +43744,7 @@ function H$(e) {
|
|
|
43676
43744
|
//#endregion
|
|
43677
43745
|
//#region src/panel/views/LocalView.tsx
|
|
43678
43746
|
rt(["click"]), Br();
|
|
43679
|
-
var
|
|
43747
|
+
var K$ = /*#__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\">"), q$ = /*#__PURE__*/ N("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), J$ = /*#__PURE__*/ N("<p>"), Y$ = /*#__PURE__*/ N("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running · "), X$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), Z$ = /*#__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\">"), Q$ = /*#__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"), $$ = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), e1 = /*#__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]\">"), t1 = /*#__PURE__*/ N("<option selected>"), n1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><path d=\"M4.5 2.8a.8.8 0 0 1 1.22-.68l8 5.2a.8.8 0 0 1 0 1.36l-8 5.2a.8.8 0 0 1-1.22-.68V2.8Z\">"), r1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), i1 = /*#__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\">"), a1 = /*#__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>"), o1 = /*#__PURE__*/ N("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), s1 = /*#__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>−"), c1 = /*#__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\">"), l1 = /*#__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\">"), u1 = /*#__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\">"), d1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><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\">"), f1 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Send"), p1 = /*#__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]\">"), m1 = /*#__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\">"), h1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), g1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\">"), _1 = /*#__PURE__*/ N("<option>"), v1 = /*#__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>"), y1 = /*#__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\">"), b1 = /*#__PURE__*/ N("<span class=text-success>+"), x1 = /*#__PURE__*/ N("<span class=text-danger>−"), S1 = /*#__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\">"), C1 = /*#__PURE__*/ N("<span class=text-text-faint>bin"), w1 = /*#__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"), T1 = /*#__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\">"), E1 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), D1 = [
|
|
43680
43748
|
{
|
|
43681
43749
|
id: "",
|
|
43682
43750
|
label: "Default model"
|
|
@@ -43698,13 +43766,13 @@ var U$ = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end
|
|
|
43698
43766
|
label: "Haiku"
|
|
43699
43767
|
}
|
|
43700
43768
|
];
|
|
43701
|
-
function
|
|
43769
|
+
function O1(e, t) {
|
|
43702
43770
|
let n = e.split(".").map(Number), r = t.split(".").map(Number);
|
|
43703
43771
|
for (let e = 0; e < 3; e++) if ((n[e] ?? 0) !== (r[e] ?? 0)) return (n[e] ?? 0) < (r[e] ?? 0);
|
|
43704
43772
|
return !1;
|
|
43705
43773
|
}
|
|
43706
|
-
var
|
|
43707
|
-
function
|
|
43774
|
+
var k1 = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
|
|
43775
|
+
function A1() {
|
|
43708
43776
|
let e = sr(), t = _r(() => ({
|
|
43709
43777
|
queryKey: ["bridge-health"],
|
|
43710
43778
|
queryFn: OO,
|
|
@@ -43791,18 +43859,18 @@ function D1() {
|
|
|
43791
43859
|
}, ne = (e) => e === "running" ? "var(--color-accent)" : e === "done" ? "var(--color-success)" : e === "stopped" ? "var(--color-warn)" : "var(--color-danger)", re = (e) => {
|
|
43792
43860
|
let t = e.line.kind, n = k(() => QQ(e.line.text));
|
|
43793
43861
|
return t === "user" ? (() => {
|
|
43794
|
-
var e =
|
|
43862
|
+
var e = K$(), t = e.firstChild.nextSibling;
|
|
43795
43863
|
return D(() => t.innerHTML = n()), e;
|
|
43796
43864
|
})() : t === "assistant" || t === "result" ? (() => {
|
|
43797
|
-
var e =
|
|
43865
|
+
var e = q$(), r = e.firstChild, i = r.nextSibling;
|
|
43798
43866
|
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;
|
|
43799
43867
|
})() : (() => {
|
|
43800
|
-
var n =
|
|
43868
|
+
var n = J$();
|
|
43801
43869
|
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;
|
|
43802
43870
|
})();
|
|
43803
43871
|
};
|
|
43804
43872
|
return (() => {
|
|
43805
|
-
var e =
|
|
43873
|
+
var e = Z$(), a = e.firstChild;
|
|
43806
43874
|
a.firstChild;
|
|
43807
43875
|
var l = a.nextSibling;
|
|
43808
43876
|
return P(a, j(M, {
|
|
@@ -43818,7 +43886,7 @@ function D1() {
|
|
|
43818
43886
|
get children() {
|
|
43819
43887
|
return [j(M, {
|
|
43820
43888
|
get when() {
|
|
43821
|
-
return
|
|
43889
|
+
return O1(t.data.version, "0.15.1");
|
|
43822
43890
|
},
|
|
43823
43891
|
get children() {
|
|
43824
43892
|
return j(Aj, {
|
|
@@ -43834,7 +43902,7 @@ function D1() {
|
|
|
43834
43902
|
});
|
|
43835
43903
|
}
|
|
43836
43904
|
}), (() => {
|
|
43837
|
-
var e =
|
|
43905
|
+
var e = Y$(), n = e.firstChild;
|
|
43838
43906
|
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;
|
|
43839
43907
|
})()];
|
|
43840
43908
|
}
|
|
@@ -43848,7 +43916,7 @@ function D1() {
|
|
|
43848
43916
|
get children() {
|
|
43849
43917
|
return [
|
|
43850
43918
|
"Start it in your repo's terminal:",
|
|
43851
|
-
|
|
43919
|
+
Q$(),
|
|
43852
43920
|
"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."
|
|
43853
43921
|
];
|
|
43854
43922
|
}
|
|
@@ -43866,20 +43934,20 @@ function D1() {
|
|
|
43866
43934
|
});
|
|
43867
43935
|
},
|
|
43868
43936
|
get children() {
|
|
43869
|
-
var e =
|
|
43937
|
+
var e = X$();
|
|
43870
43938
|
return P(e, j(Ge, {
|
|
43871
43939
|
get each() {
|
|
43872
43940
|
return n.data;
|
|
43873
43941
|
},
|
|
43874
43942
|
children: (e) => (() => {
|
|
43875
|
-
var t =
|
|
43943
|
+
var t = m1(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, m = n.nextSibling, h = m.nextSibling, g = h.nextSibling;
|
|
43876
43944
|
return P(n, j(M, {
|
|
43877
43945
|
get when() {
|
|
43878
43946
|
return e().status === "running";
|
|
43879
43947
|
},
|
|
43880
43948
|
get fallback() {
|
|
43881
43949
|
return (() => {
|
|
43882
|
-
var t =
|
|
43950
|
+
var t = h1();
|
|
43883
43951
|
return D((n) => dt(t, "background", ne(e().status))), t;
|
|
43884
43952
|
})();
|
|
43885
43953
|
},
|
|
@@ -43932,8 +44000,8 @@ function D1() {
|
|
|
43932
44000
|
return e().usage;
|
|
43933
44001
|
},
|
|
43934
44002
|
get children() {
|
|
43935
|
-
var t =
|
|
43936
|
-
return n.nextSibling, P(t, () =>
|
|
44003
|
+
var t = $$(), n = t.firstChild.nextSibling;
|
|
44004
|
+
return n.nextSibling, P(t, () => k1(e().usage.contextTokens), n), P(t, () => k1(e().usage.outputTokens), null), P(t, (() => {
|
|
43937
44005
|
var t = $e(() => !!e().usage.costUsd);
|
|
43938
44006
|
return () => t() ? ` · $${e().usage.costUsd.toFixed(2)}` : "";
|
|
43939
44007
|
})(), null), t;
|
|
@@ -43943,7 +44011,7 @@ function D1() {
|
|
|
43943
44011
|
return o(e());
|
|
43944
44012
|
},
|
|
43945
44013
|
children: (e) => (() => {
|
|
43946
|
-
var t =
|
|
44014
|
+
var t = g1();
|
|
43947
44015
|
return P(t, j(Aj, { get children() {
|
|
43948
44016
|
return e().state.name;
|
|
43949
44017
|
} }), null), P(t, j(Dj, {
|
|
@@ -43958,7 +44026,7 @@ function D1() {
|
|
|
43958
44026
|
return $e(() => !!e().worktree)() && !e().worktree.removed;
|
|
43959
44027
|
},
|
|
43960
44028
|
get children() {
|
|
43961
|
-
var t =
|
|
44029
|
+
var t = e1(), n = t.firstChild;
|
|
43962
44030
|
return P(t, j(Aj, {
|
|
43963
44031
|
class: "text-warn",
|
|
43964
44032
|
children: "⎇ worktree"
|
|
@@ -43994,17 +44062,17 @@ function D1() {
|
|
|
43994
44062
|
title: "Model — applies from the next message",
|
|
43995
44063
|
get children() {
|
|
43996
44064
|
return [j(We, {
|
|
43997
|
-
each:
|
|
44065
|
+
each: D1,
|
|
43998
44066
|
children: (t) => (() => {
|
|
43999
|
-
var n =
|
|
44067
|
+
var n = _1();
|
|
44000
44068
|
return P(n, () => t.label), D(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), D(() => n.value = t.id), n;
|
|
44001
44069
|
})()
|
|
44002
44070
|
}), j(M, {
|
|
44003
44071
|
get when() {
|
|
44004
|
-
return !
|
|
44072
|
+
return !D1.some((t) => t.id === (e().pendingModel ?? e().model ?? ""));
|
|
44005
44073
|
},
|
|
44006
44074
|
get children() {
|
|
44007
|
-
var t =
|
|
44075
|
+
var t = t1();
|
|
44008
44076
|
return P(t, () => e().pendingModel ?? e().model), D(() => t.value = e().pendingModel ?? e().model ?? ""), t;
|
|
44009
44077
|
}
|
|
44010
44078
|
})];
|
|
@@ -44029,7 +44097,7 @@ function D1() {
|
|
|
44029
44097
|
text: "Continue where you left off. If the work is already complete, finish any remaining closeout steps (PR, Linear update, announcement)."
|
|
44030
44098
|
}),
|
|
44031
44099
|
get children() {
|
|
44032
|
-
return
|
|
44100
|
+
return n1();
|
|
44033
44101
|
}
|
|
44034
44102
|
});
|
|
44035
44103
|
}
|
|
@@ -44043,7 +44111,7 @@ function D1() {
|
|
|
44043
44111
|
title: "Open the issue's Activity thread",
|
|
44044
44112
|
onClick: () => ZA("activity", e().id),
|
|
44045
44113
|
get children() {
|
|
44046
|
-
return
|
|
44114
|
+
return v1();
|
|
44047
44115
|
}
|
|
44048
44116
|
})
|
|
44049
44117
|
}), null), P(g, j(bj, {
|
|
@@ -44062,10 +44130,10 @@ function D1() {
|
|
|
44062
44130
|
return ee() === e().id;
|
|
44063
44131
|
},
|
|
44064
44132
|
get fallback() {
|
|
44065
|
-
return
|
|
44133
|
+
return y1();
|
|
44066
44134
|
},
|
|
44067
44135
|
get children() {
|
|
44068
|
-
return
|
|
44136
|
+
return r1();
|
|
44069
44137
|
}
|
|
44070
44138
|
});
|
|
44071
44139
|
}
|
|
@@ -44077,7 +44145,7 @@ function D1() {
|
|
|
44077
44145
|
},
|
|
44078
44146
|
onClick: () => i(r() === e().id ? null : e().id),
|
|
44079
44147
|
get children() {
|
|
44080
|
-
return
|
|
44148
|
+
return i1();
|
|
44081
44149
|
}
|
|
44082
44150
|
}), null), P(g, j(M, {
|
|
44083
44151
|
get when() {
|
|
@@ -44093,7 +44161,7 @@ function D1() {
|
|
|
44093
44161
|
title: "Interrupt — the session stays resumable",
|
|
44094
44162
|
onClick: () => u.mutate(e().id),
|
|
44095
44163
|
get children() {
|
|
44096
|
-
return
|
|
44164
|
+
return a1();
|
|
44097
44165
|
}
|
|
44098
44166
|
});
|
|
44099
44167
|
}
|
|
@@ -44108,7 +44176,7 @@ function D1() {
|
|
|
44108
44176
|
return $e(() => !!c.data)() && (c.data.files.length || c.data.untracked.length || c.data.prs.length);
|
|
44109
44177
|
},
|
|
44110
44178
|
get children() {
|
|
44111
|
-
var e =
|
|
44179
|
+
var e = s1(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
|
|
44112
44180
|
r.firstChild;
|
|
44113
44181
|
var i = r.nextSibling.nextSibling;
|
|
44114
44182
|
return i.firstChild, P(t, j(M, {
|
|
@@ -44116,7 +44184,7 @@ function D1() {
|
|
|
44116
44184
|
return c.data.branch;
|
|
44117
44185
|
},
|
|
44118
44186
|
get children() {
|
|
44119
|
-
var e =
|
|
44187
|
+
var e = o1();
|
|
44120
44188
|
return P(e, () => c.data.branch), e;
|
|
44121
44189
|
}
|
|
44122
44190
|
}), n), P(r, () => c.data.totalAdded, null), P(i, () => c.data.totalDeleted, null), P(e, j(We, {
|
|
@@ -44124,23 +44192,23 @@ function D1() {
|
|
|
44124
44192
|
return c.data.files;
|
|
44125
44193
|
},
|
|
44126
44194
|
children: (e) => (() => {
|
|
44127
|
-
var t =
|
|
44195
|
+
var t = S1(), n = t.firstChild, r = n.nextSibling;
|
|
44128
44196
|
return P(n, () => e.path), P(r, j(M, {
|
|
44129
44197
|
get when() {
|
|
44130
44198
|
return !e.binary;
|
|
44131
44199
|
},
|
|
44132
44200
|
get fallback() {
|
|
44133
|
-
return
|
|
44201
|
+
return C1();
|
|
44134
44202
|
},
|
|
44135
44203
|
get children() {
|
|
44136
44204
|
return [
|
|
44137
44205
|
(() => {
|
|
44138
|
-
var t =
|
|
44206
|
+
var t = b1();
|
|
44139
44207
|
return t.firstChild, P(t, () => e.added, null), t;
|
|
44140
44208
|
})(),
|
|
44141
44209
|
" ",
|
|
44142
44210
|
(() => {
|
|
44143
|
-
var t =
|
|
44211
|
+
var t = x1();
|
|
44144
44212
|
return t.firstChild, P(t, () => e.deleted, null), t;
|
|
44145
44213
|
})()
|
|
44146
44214
|
];
|
|
@@ -44152,7 +44220,7 @@ function D1() {
|
|
|
44152
44220
|
return c.data.untracked;
|
|
44153
44221
|
},
|
|
44154
44222
|
children: (e) => (() => {
|
|
44155
|
-
var t =
|
|
44223
|
+
var t = w1(), n = t.firstChild;
|
|
44156
44224
|
return it(n, "title", e), P(n, e), t;
|
|
44157
44225
|
})()
|
|
44158
44226
|
}), null), P(e, j(We, {
|
|
@@ -44160,7 +44228,7 @@ function D1() {
|
|
|
44160
44228
|
return c.data.prs;
|
|
44161
44229
|
},
|
|
44162
44230
|
children: (e) => (() => {
|
|
44163
|
-
var t =
|
|
44231
|
+
var t = T1(), n = t.firstChild;
|
|
44164
44232
|
return P(t, j(Aj, {
|
|
44165
44233
|
class: "text-accent",
|
|
44166
44234
|
get children() {
|
|
@@ -44178,7 +44246,7 @@ function D1() {
|
|
|
44178
44246
|
}
|
|
44179
44247
|
}),
|
|
44180
44248
|
(() => {
|
|
44181
|
-
var e =
|
|
44249
|
+
var e = c1();
|
|
44182
44250
|
return e.addEventListener("scroll", E), pt((e) => {
|
|
44183
44251
|
C = e, w = !0;
|
|
44184
44252
|
}, e), P(e, j(M, {
|
|
@@ -44186,7 +44254,7 @@ function D1() {
|
|
|
44186
44254
|
return (s.data?.tail ?? []).length > 0;
|
|
44187
44255
|
},
|
|
44188
44256
|
get fallback() {
|
|
44189
|
-
return
|
|
44257
|
+
return E1();
|
|
44190
44258
|
},
|
|
44191
44259
|
get children() {
|
|
44192
44260
|
return j(Ge, {
|
|
@@ -44201,7 +44269,7 @@ function D1() {
|
|
|
44201
44269
|
})), e;
|
|
44202
44270
|
})(),
|
|
44203
44271
|
(() => {
|
|
44204
|
-
var t =
|
|
44272
|
+
var t = p1(), n = t.firstChild, r = n.firstChild;
|
|
44205
44273
|
return P(t, j(Cj, {
|
|
44206
44274
|
rows: 2,
|
|
44207
44275
|
get placeholder() {
|
|
@@ -44221,7 +44289,7 @@ function D1() {
|
|
|
44221
44289
|
"aria-label": "Pick element",
|
|
44222
44290
|
onClick: v,
|
|
44223
44291
|
get children() {
|
|
44224
|
-
return
|
|
44292
|
+
return l1();
|
|
44225
44293
|
}
|
|
44226
44294
|
}), null), P(n, j(bj, {
|
|
44227
44295
|
variant: "ghost",
|
|
@@ -44233,7 +44301,7 @@ function D1() {
|
|
|
44233
44301
|
"aria-label": "Attach captures",
|
|
44234
44302
|
onClick: () => void y(),
|
|
44235
44303
|
get children() {
|
|
44236
|
-
return
|
|
44304
|
+
return u1();
|
|
44237
44305
|
}
|
|
44238
44306
|
}), null), P(n, j(bj, {
|
|
44239
44307
|
variant: "ghost",
|
|
@@ -44248,7 +44316,7 @@ function D1() {
|
|
|
44248
44316
|
text: "/compact"
|
|
44249
44317
|
}),
|
|
44250
44318
|
get children() {
|
|
44251
|
-
return
|
|
44319
|
+
return d1();
|
|
44252
44320
|
}
|
|
44253
44321
|
}), null), P(n, j(bj, {
|
|
44254
44322
|
variant: "primary",
|
|
@@ -44264,7 +44332,7 @@ function D1() {
|
|
|
44264
44332
|
text: d().trim()
|
|
44265
44333
|
}),
|
|
44266
44334
|
get children() {
|
|
44267
|
-
return
|
|
44335
|
+
return f1();
|
|
44268
44336
|
}
|
|
44269
44337
|
}), null), t;
|
|
44270
44338
|
})()
|
|
@@ -44281,13 +44349,13 @@ function D1() {
|
|
|
44281
44349
|
}
|
|
44282
44350
|
//#endregion
|
|
44283
44351
|
//#region src/panel/views/PrsView.tsx
|
|
44284
|
-
var
|
|
44285
|
-
function
|
|
44352
|
+
var j1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">/<!> from your issues"), M1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), N1 = /*#__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\">"), P1 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px]\"title=\"Merge states come from gh via the bridge\">states unknown — restart the bridge"), F1 = /*#__PURE__*/ N("<button>"), I1 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), L1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), R1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), z1 = /*#__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\">"), B1 = /*#__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\">"), V1 = /*#__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\">"), H1 = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
|
|
44353
|
+
function U1(e) {
|
|
44286
44354
|
let t = _r(() => ({
|
|
44287
44355
|
queryKey: ["my-issues"],
|
|
44288
44356
|
queryFn: fO,
|
|
44289
44357
|
refetchInterval: 15e3
|
|
44290
|
-
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) =>
|
|
44358
|
+
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => H1.test(e.url)).map((t) => ({
|
|
44291
44359
|
issue: e,
|
|
44292
44360
|
attachment: t
|
|
44293
44361
|
})))), r = _r(() => ({
|
|
@@ -44324,7 +44392,7 @@ function B1(e) {
|
|
|
44324
44392
|
} catch {}
|
|
44325
44393
|
};
|
|
44326
44394
|
return (() => {
|
|
44327
|
-
var r =
|
|
44395
|
+
var r = N1(), p = r.firstChild;
|
|
44328
44396
|
p.firstChild;
|
|
44329
44397
|
var h = p.nextSibling, _ = h.firstChild, b = h.nextSibling;
|
|
44330
44398
|
return P(p, j(M, {
|
|
@@ -44332,10 +44400,10 @@ function B1(e) {
|
|
|
44332
44400
|
return !i.isError;
|
|
44333
44401
|
},
|
|
44334
44402
|
get fallback() {
|
|
44335
|
-
return
|
|
44403
|
+
return P1();
|
|
44336
44404
|
},
|
|
44337
44405
|
get children() {
|
|
44338
|
-
var e =
|
|
44406
|
+
var e = j1(), t = e.firstChild, r = t.nextSibling;
|
|
44339
44407
|
return r.nextSibling, P(e, () => d().length, t), P(e, () => n().length, r), e;
|
|
44340
44408
|
}
|
|
44341
44409
|
}), null), P(_, j(We, {
|
|
@@ -44358,7 +44426,7 @@ function B1(e) {
|
|
|
44358
44426
|
}
|
|
44359
44427
|
],
|
|
44360
44428
|
children: (e) => (() => {
|
|
44361
|
-
var t =
|
|
44429
|
+
var t = F1();
|
|
44362
44430
|
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;
|
|
44363
44431
|
})()
|
|
44364
44432
|
})), P(h, j(Sj, {
|
|
@@ -44381,13 +44449,13 @@ function B1(e) {
|
|
|
44381
44449
|
});
|
|
44382
44450
|
},
|
|
44383
44451
|
get children() {
|
|
44384
|
-
var t =
|
|
44452
|
+
var t = M1();
|
|
44385
44453
|
return P(t, j(We, {
|
|
44386
44454
|
get each() {
|
|
44387
44455
|
return d();
|
|
44388
44456
|
},
|
|
44389
44457
|
children: (t) => (() => {
|
|
44390
|
-
var n =
|
|
44458
|
+
var n = z1(), r = n.firstChild, i = r.nextSibling, s = i.firstChild, c = s.nextSibling, l = c.nextSibling, u = i.nextSibling, d = u.firstChild;
|
|
44391
44459
|
return P(r, () => t.attachment.title || t.attachment.url), P(i, j(jj, { get color() {
|
|
44392
44460
|
return t.issue.state.color;
|
|
44393
44461
|
} }), s), P(s, () => t.issue.identifier), P(c, () => t.issue.title), P(l, () => Fj(t.issue.updatedAt)), P(u, j(Aj, { get children() {
|
|
@@ -44464,10 +44532,10 @@ function B1(e) {
|
|
|
44464
44532
|
return g().has(t.attachment.url);
|
|
44465
44533
|
},
|
|
44466
44534
|
get fallback() {
|
|
44467
|
-
return
|
|
44535
|
+
return B1();
|
|
44468
44536
|
},
|
|
44469
44537
|
get children() {
|
|
44470
|
-
return
|
|
44538
|
+
return I1();
|
|
44471
44539
|
}
|
|
44472
44540
|
});
|
|
44473
44541
|
}
|
|
@@ -44480,7 +44548,7 @@ function B1(e) {
|
|
|
44480
44548
|
ZA("activity", t.issue.id), e.onOpenIssue();
|
|
44481
44549
|
},
|
|
44482
44550
|
get children() {
|
|
44483
|
-
return
|
|
44551
|
+
return L1();
|
|
44484
44552
|
}
|
|
44485
44553
|
}), null), P(d, j(bj, {
|
|
44486
44554
|
variant: "ghost",
|
|
@@ -44494,10 +44562,10 @@ function B1(e) {
|
|
|
44494
44562
|
return f() === t.attachment.id;
|
|
44495
44563
|
},
|
|
44496
44564
|
get fallback() {
|
|
44497
|
-
return
|
|
44565
|
+
return V1();
|
|
44498
44566
|
},
|
|
44499
44567
|
get children() {
|
|
44500
|
-
return
|
|
44568
|
+
return R1();
|
|
44501
44569
|
}
|
|
44502
44570
|
});
|
|
44503
44571
|
}
|
|
@@ -44517,13 +44585,13 @@ function B1(e) {
|
|
|
44517
44585
|
//#endregion
|
|
44518
44586
|
//#region src/lib/linear/auth.ts
|
|
44519
44587
|
rt(["click"]), Br();
|
|
44520
|
-
function
|
|
44588
|
+
function W1(e) {
|
|
44521
44589
|
let t = "";
|
|
44522
44590
|
for (let n of e) t += String.fromCharCode(n);
|
|
44523
44591
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
44524
44592
|
}
|
|
44525
|
-
async function
|
|
44526
|
-
let t =
|
|
44593
|
+
async function G1(e) {
|
|
44594
|
+
let t = W1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = W1(new Uint8Array(n)), i = W1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
44527
44595
|
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");
|
|
44528
44596
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
44529
44597
|
url: o.toString(),
|
|
@@ -44551,15 +44619,15 @@ async function H1(e) {
|
|
|
44551
44619
|
linearOauthClientId: e
|
|
44552
44620
|
});
|
|
44553
44621
|
}
|
|
44554
|
-
async function
|
|
44622
|
+
async function K1() {
|
|
44555
44623
|
await Er({
|
|
44556
44624
|
linearAccessToken: void 0,
|
|
44557
44625
|
linearApiKey: void 0
|
|
44558
44626
|
});
|
|
44559
44627
|
}
|
|
44560
44628
|
Br(), Sr(), Fx(), gD();
|
|
44561
|
-
var
|
|
44562
|
-
function
|
|
44629
|
+
var q1 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), J1 = /*#__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."), 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]\">Element screenshots"), X1 = /*#__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)."), Z1 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), Q1 = /*#__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]\">"), $1 = /*#__PURE__*/ N("<option value>Select a team…"), e0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), t0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), n0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), r0 = /*#__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."), i0 = /*#__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."), a0 = /*#__PURE__*/ N("<option value>Select a channel…"), o0 = /*#__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"), s0 = /*#__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."), c0 = /*#__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"), l0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), u0 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), d0 = /*#__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."), f0 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), p0 = /*#__PURE__*/ N("<button>"), m0 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), h0 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), g0 = /*#__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\">"), _0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), v0 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), y0 = /*#__PURE__*/ N("<option> (<!>)"), b0 = /*#__PURE__*/ N("<option value>Select the agent…"), x0 = /*#__PURE__*/ N("<option>"), S0 = /*#__PURE__*/ N("<option>#"), C0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
44630
|
+
function w0() {
|
|
44563
44631
|
let e = sr(), t = _r(() => ({
|
|
44564
44632
|
queryKey: ["settings"],
|
|
44565
44633
|
queryFn: Tr,
|
|
@@ -44604,7 +44672,7 @@ function x0() {
|
|
|
44604
44672
|
}
|
|
44605
44673
|
v(!0), b("");
|
|
44606
44674
|
try {
|
|
44607
|
-
await
|
|
44675
|
+
await G1(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"] });
|
|
44608
44676
|
} catch (e) {
|
|
44609
44677
|
b(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
44610
44678
|
} finally {
|
|
@@ -44615,7 +44683,7 @@ function x0() {
|
|
|
44615
44683
|
async function w() {
|
|
44616
44684
|
C(!0);
|
|
44617
44685
|
try {
|
|
44618
|
-
await
|
|
44686
|
+
await K1(), 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"] });
|
|
44619
44687
|
} finally {
|
|
44620
44688
|
C(!1);
|
|
44621
44689
|
}
|
|
@@ -44631,12 +44699,12 @@ function x0() {
|
|
|
44631
44699
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
44632
44700
|
});
|
|
44633
44701
|
return (() => {
|
|
44634
|
-
var e =
|
|
44702
|
+
var e = f0();
|
|
44635
44703
|
return P(e, j(kj, {
|
|
44636
44704
|
title: "Workflow",
|
|
44637
44705
|
get children() {
|
|
44638
44706
|
return [(() => {
|
|
44639
|
-
var e =
|
|
44707
|
+
var e = q1();
|
|
44640
44708
|
return P(e, j(We, {
|
|
44641
44709
|
each: [{
|
|
44642
44710
|
id: "cloud",
|
|
@@ -44646,19 +44714,19 @@ function x0() {
|
|
|
44646
44714
|
label: "Local · clipboard"
|
|
44647
44715
|
}],
|
|
44648
44716
|
children: (e) => (() => {
|
|
44649
|
-
var t =
|
|
44717
|
+
var t = p0();
|
|
44650
44718
|
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;
|
|
44651
44719
|
})()
|
|
44652
44720
|
})), e;
|
|
44653
|
-
})(),
|
|
44721
|
+
})(), J1()];
|
|
44654
44722
|
}
|
|
44655
44723
|
}), null), P(e, j(kj, {
|
|
44656
44724
|
title: "Capture",
|
|
44657
44725
|
get children() {
|
|
44658
44726
|
return [(() => {
|
|
44659
|
-
var e =
|
|
44727
|
+
var e = Y1(), t = e.firstChild;
|
|
44660
44728
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
44661
|
-
})(),
|
|
44729
|
+
})(), X1()];
|
|
44662
44730
|
}
|
|
44663
44731
|
}), null), P(e, j(kj, {
|
|
44664
44732
|
title: "Linear",
|
|
@@ -44669,13 +44737,13 @@ function x0() {
|
|
|
44669
44737
|
},
|
|
44670
44738
|
get fallback() {
|
|
44671
44739
|
return (() => {
|
|
44672
|
-
var e =
|
|
44740
|
+
var e = _0();
|
|
44673
44741
|
return P(e, j(Oj, {
|
|
44674
44742
|
label: "Personal API key",
|
|
44675
44743
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
44676
44744
|
get children() {
|
|
44677
44745
|
return [(() => {
|
|
44678
|
-
var e =
|
|
44746
|
+
var e = m0();
|
|
44679
44747
|
return P(e, j(Sj, {
|
|
44680
44748
|
type: "password",
|
|
44681
44749
|
placeholder: "lin_api_…",
|
|
@@ -44712,12 +44780,12 @@ function x0() {
|
|
|
44712
44780
|
}), null), P(e, j(M, {
|
|
44713
44781
|
when: xr,
|
|
44714
44782
|
get children() {
|
|
44715
|
-
return [
|
|
44783
|
+
return [h0(), j(Oj, {
|
|
44716
44784
|
label: "OAuth client ID",
|
|
44717
44785
|
get children() {
|
|
44718
44786
|
return [
|
|
44719
44787
|
(() => {
|
|
44720
|
-
var e =
|
|
44788
|
+
var e = m0();
|
|
44721
44789
|
return P(e, j(Sj, {
|
|
44722
44790
|
placeholder: "your-client-id",
|
|
44723
44791
|
get value() {
|
|
@@ -44745,7 +44813,7 @@ function x0() {
|
|
|
44745
44813
|
}
|
|
44746
44814
|
}),
|
|
44747
44815
|
(() => {
|
|
44748
|
-
var e =
|
|
44816
|
+
var e = g0(), t = e.firstChild.nextSibling.nextSibling;
|
|
44749
44817
|
return P(t, E), e;
|
|
44750
44818
|
})()
|
|
44751
44819
|
];
|
|
@@ -44756,13 +44824,13 @@ function x0() {
|
|
|
44756
44824
|
})();
|
|
44757
44825
|
},
|
|
44758
44826
|
get children() {
|
|
44759
|
-
var e =
|
|
44827
|
+
var e = Q1(), t = e.firstChild;
|
|
44760
44828
|
return P(t, j(M, {
|
|
44761
44829
|
get when() {
|
|
44762
44830
|
return !a.isLoading;
|
|
44763
44831
|
},
|
|
44764
44832
|
get fallback() {
|
|
44765
|
-
return
|
|
44833
|
+
return v0();
|
|
44766
44834
|
},
|
|
44767
44835
|
get children() {
|
|
44768
44836
|
return j(M, {
|
|
@@ -44775,7 +44843,7 @@ function x0() {
|
|
|
44775
44843
|
return a.isError;
|
|
44776
44844
|
},
|
|
44777
44845
|
get fallback() {
|
|
44778
|
-
return
|
|
44846
|
+
return v0();
|
|
44779
44847
|
},
|
|
44780
44848
|
get children() {
|
|
44781
44849
|
return j(Nj, { message: "Key rejected — reconnect" });
|
|
@@ -44783,7 +44851,7 @@ function x0() {
|
|
|
44783
44851
|
});
|
|
44784
44852
|
},
|
|
44785
44853
|
get children() {
|
|
44786
|
-
var e =
|
|
44854
|
+
var e = Z1(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
44787
44855
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
44788
44856
|
}
|
|
44789
44857
|
});
|
|
@@ -44824,7 +44892,7 @@ function x0() {
|
|
|
44824
44892
|
return o.isLoading;
|
|
44825
44893
|
},
|
|
44826
44894
|
get children() {
|
|
44827
|
-
return [
|
|
44895
|
+
return [$1(), j(M, {
|
|
44828
44896
|
get when() {
|
|
44829
44897
|
return o.data;
|
|
44830
44898
|
},
|
|
@@ -44834,7 +44902,7 @@ function x0() {
|
|
|
44834
44902
|
return o.data;
|
|
44835
44903
|
},
|
|
44836
44904
|
children: (e) => (() => {
|
|
44837
|
-
var t =
|
|
44905
|
+
var t = y0(), r = t.firstChild, i = r.nextSibling;
|
|
44838
44906
|
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;
|
|
44839
44907
|
})()
|
|
44840
44908
|
});
|
|
@@ -44878,7 +44946,7 @@ function x0() {
|
|
|
44878
44946
|
return s.isLoading;
|
|
44879
44947
|
},
|
|
44880
44948
|
get children() {
|
|
44881
|
-
return [
|
|
44949
|
+
return [b0(), j(M, {
|
|
44882
44950
|
get when() {
|
|
44883
44951
|
return s.data;
|
|
44884
44952
|
},
|
|
@@ -44888,7 +44956,7 @@ function x0() {
|
|
|
44888
44956
|
return s.data;
|
|
44889
44957
|
},
|
|
44890
44958
|
children: (e) => (() => {
|
|
44891
|
-
var t =
|
|
44959
|
+
var t = x0();
|
|
44892
44960
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
44893
44961
|
})()
|
|
44894
44962
|
});
|
|
@@ -44898,7 +44966,7 @@ function x0() {
|
|
|
44898
44966
|
});
|
|
44899
44967
|
},
|
|
44900
44968
|
get children() {
|
|
44901
|
-
return
|
|
44969
|
+
return e0();
|
|
44902
44970
|
}
|
|
44903
44971
|
});
|
|
44904
44972
|
}
|
|
@@ -44946,7 +45014,7 @@ function x0() {
|
|
|
44946
45014
|
onBlur: (e) => {
|
|
44947
45015
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
44948
45016
|
}
|
|
44949
|
-
}),
|
|
45017
|
+
}), t0()];
|
|
44950
45018
|
}
|
|
44951
45019
|
}),
|
|
44952
45020
|
j(Oj, {
|
|
@@ -45003,7 +45071,7 @@ function x0() {
|
|
|
45003
45071
|
label: "Test account",
|
|
45004
45072
|
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.",
|
|
45005
45073
|
get children() {
|
|
45006
|
-
var e =
|
|
45074
|
+
var e = n0();
|
|
45007
45075
|
return P(e, j(Sj, {
|
|
45008
45076
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
45009
45077
|
get value() {
|
|
@@ -45035,7 +45103,7 @@ function x0() {
|
|
|
45035
45103
|
title: "Panel",
|
|
45036
45104
|
get children() {
|
|
45037
45105
|
return [(() => {
|
|
45038
|
-
var e =
|
|
45106
|
+
var e = r0(), t = e.firstChild.nextSibling;
|
|
45039
45107
|
return P(t, j(We, {
|
|
45040
45108
|
each: [{
|
|
45041
45109
|
id: "overlay",
|
|
@@ -45045,7 +45113,7 @@ function x0() {
|
|
|
45045
45113
|
label: "Beside page"
|
|
45046
45114
|
}],
|
|
45047
45115
|
children: (e) => (() => {
|
|
45048
|
-
var t =
|
|
45116
|
+
var t = p0();
|
|
45049
45117
|
return t.$$click = () => void r({
|
|
45050
45118
|
panelMode: e.id,
|
|
45051
45119
|
panelPos: void 0
|
|
@@ -45053,11 +45121,11 @@ function x0() {
|
|
|
45053
45121
|
})()
|
|
45054
45122
|
})), e;
|
|
45055
45123
|
})(), (() => {
|
|
45056
|
-
var e =
|
|
45124
|
+
var e = i0(), t = e.firstChild.nextSibling;
|
|
45057
45125
|
return P(t, j(We, {
|
|
45058
45126
|
each: ["left", "right"],
|
|
45059
45127
|
children: (e) => (() => {
|
|
45060
|
-
var t =
|
|
45128
|
+
var t = p0();
|
|
45061
45129
|
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;
|
|
45062
45130
|
})()
|
|
45063
45131
|
})), e;
|
|
@@ -45169,12 +45237,12 @@ function x0() {
|
|
|
45169
45237
|
});
|
|
45170
45238
|
},
|
|
45171
45239
|
get children() {
|
|
45172
|
-
return [
|
|
45240
|
+
return [a0(), j(We, {
|
|
45173
45241
|
get each() {
|
|
45174
45242
|
return O.data ?? [];
|
|
45175
45243
|
},
|
|
45176
45244
|
children: (e) => (() => {
|
|
45177
|
-
var t =
|
|
45245
|
+
var t = S0();
|
|
45178
45246
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
45179
45247
|
})()
|
|
45180
45248
|
})];
|
|
@@ -45225,10 +45293,10 @@ function x0() {
|
|
|
45225
45293
|
}
|
|
45226
45294
|
}),
|
|
45227
45295
|
(() => {
|
|
45228
|
-
var e =
|
|
45296
|
+
var e = o0(), t = e.firstChild;
|
|
45229
45297
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
45230
45298
|
})(),
|
|
45231
|
-
|
|
45299
|
+
s0()
|
|
45232
45300
|
];
|
|
45233
45301
|
}
|
|
45234
45302
|
}), null), P(e, j(kj, {
|
|
@@ -45266,7 +45334,7 @@ function x0() {
|
|
|
45266
45334
|
}
|
|
45267
45335
|
}),
|
|
45268
45336
|
(() => {
|
|
45269
|
-
var e =
|
|
45337
|
+
var e = c0(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
45270
45338
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
45271
45339
|
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;
|
|
45272
45340
|
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;
|
|
@@ -45279,16 +45347,16 @@ function x0() {
|
|
|
45279
45347
|
}), e;
|
|
45280
45348
|
})(),
|
|
45281
45349
|
(() => {
|
|
45282
|
-
var e =
|
|
45350
|
+
var e = u0();
|
|
45283
45351
|
return P(e, j(M, {
|
|
45284
45352
|
get when() {
|
|
45285
45353
|
return te();
|
|
45286
45354
|
},
|
|
45287
45355
|
get fallback() {
|
|
45288
|
-
return
|
|
45356
|
+
return C0();
|
|
45289
45357
|
},
|
|
45290
45358
|
get children() {
|
|
45291
|
-
var e =
|
|
45359
|
+
var e = l0();
|
|
45292
45360
|
return P(e, te), e;
|
|
45293
45361
|
}
|
|
45294
45362
|
})), e;
|
|
@@ -45298,7 +45366,7 @@ function x0() {
|
|
|
45298
45366
|
}), null), P(e, j(kj, {
|
|
45299
45367
|
title: "How it works",
|
|
45300
45368
|
get children() {
|
|
45301
|
-
return
|
|
45369
|
+
return d0();
|
|
45302
45370
|
}
|
|
45303
45371
|
}), null), e;
|
|
45304
45372
|
})();
|
|
@@ -45306,38 +45374,38 @@ function x0() {
|
|
|
45306
45374
|
rt(["click"]);
|
|
45307
45375
|
//#endregion
|
|
45308
45376
|
//#region src/lib/idbCache.ts
|
|
45309
|
-
var
|
|
45377
|
+
var T0 = "linear-grab", E0 = "queries", D0 = [
|
|
45310
45378
|
"my-issues",
|
|
45311
45379
|
"issue",
|
|
45312
45380
|
"sessions",
|
|
45313
45381
|
"teams",
|
|
45314
45382
|
"agents"
|
|
45315
45383
|
];
|
|
45316
|
-
function
|
|
45384
|
+
function O0() {
|
|
45317
45385
|
return new Promise((e) => {
|
|
45318
45386
|
try {
|
|
45319
|
-
let t = indexedDB.open(
|
|
45320
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
45387
|
+
let t = indexedDB.open(T0, 1);
|
|
45388
|
+
t.onupgradeneeded = () => t.result.createObjectStore(E0), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
45321
45389
|
} catch {
|
|
45322
45390
|
e(null);
|
|
45323
45391
|
}
|
|
45324
45392
|
});
|
|
45325
45393
|
}
|
|
45326
|
-
function
|
|
45327
|
-
return typeof e[0] == "string" &&
|
|
45394
|
+
function k0(e) {
|
|
45395
|
+
return typeof e[0] == "string" && D0.includes(e[0]);
|
|
45328
45396
|
}
|
|
45329
|
-
async function
|
|
45330
|
-
let t = await
|
|
45397
|
+
async function A0(e) {
|
|
45398
|
+
let t = await O0();
|
|
45331
45399
|
if (!t) return () => {};
|
|
45332
45400
|
await new Promise((n) => {
|
|
45333
45401
|
try {
|
|
45334
|
-
let r = t.transaction(
|
|
45402
|
+
let r = t.transaction(E0, "readonly").objectStore(E0).openCursor();
|
|
45335
45403
|
r.onsuccess = () => {
|
|
45336
45404
|
let t = r.result;
|
|
45337
45405
|
if (!t) return n();
|
|
45338
45406
|
try {
|
|
45339
45407
|
let { queryKey: n, data: r } = t.value;
|
|
45340
|
-
|
|
45408
|
+
k0(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
45341
45409
|
} catch {}
|
|
45342
45410
|
t.continue();
|
|
45343
45411
|
}, r.onerror = () => n();
|
|
@@ -45348,14 +45416,14 @@ async function D0(e) {
|
|
|
45348
45416
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
45349
45417
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
45350
45418
|
let { queryKey: i, queryHash: a } = r.query;
|
|
45351
|
-
if (!
|
|
45419
|
+
if (!k0(i)) return;
|
|
45352
45420
|
let o = n.get(a);
|
|
45353
45421
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
45354
45422
|
n.delete(a);
|
|
45355
45423
|
try {
|
|
45356
45424
|
let n = e.getQueryData(i);
|
|
45357
45425
|
if (n === void 0) return;
|
|
45358
|
-
t.transaction(
|
|
45426
|
+
t.transaction(E0, "readwrite").objectStore(E0).put({
|
|
45359
45427
|
queryKey: i,
|
|
45360
45428
|
data: n
|
|
45361
45429
|
}, a);
|
|
@@ -45371,7 +45439,7 @@ async function D0(e) {
|
|
|
45371
45439
|
//#endregion
|
|
45372
45440
|
//#region src/panel/App.tsx
|
|
45373
45441
|
Br();
|
|
45374
|
-
var
|
|
45442
|
+
var j0 = /*#__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\">"), M0 = /*#__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\">"), N0 = /*#__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\">–"), P0 = /*#__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>"), F0 = /*#__PURE__*/ N("<button>"), I0 = [
|
|
45375
45443
|
{
|
|
45376
45444
|
id: "draft",
|
|
45377
45445
|
label: "Draft"
|
|
@@ -45396,14 +45464,14 @@ var O0 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
45396
45464
|
id: "settings",
|
|
45397
45465
|
label: "Settings"
|
|
45398
45466
|
}
|
|
45399
|
-
],
|
|
45467
|
+
], L0 = new gr({ defaultOptions: { queries: {
|
|
45400
45468
|
retry: 1,
|
|
45401
45469
|
refetchOnWindowFocus: !1,
|
|
45402
45470
|
staleTime: 5e3
|
|
45403
45471
|
} } });
|
|
45404
|
-
function
|
|
45472
|
+
function R0(e) {
|
|
45405
45473
|
return (() => {
|
|
45406
|
-
var t =
|
|
45474
|
+
var t = j0();
|
|
45407
45475
|
return D((n) => {
|
|
45408
45476
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
45409
45477
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -45413,32 +45481,32 @@ function F0(e) {
|
|
|
45413
45481
|
}), t;
|
|
45414
45482
|
})();
|
|
45415
45483
|
}
|
|
45416
|
-
function
|
|
45484
|
+
function z0(e) {
|
|
45417
45485
|
let [t, n] = T("draft"), r = () => {
|
|
45418
|
-
|
|
45486
|
+
L0.invalidateQueries({ queryKey: ["grab"] }), $A() === "capture" && n("capture"), e.onGrab?.();
|
|
45419
45487
|
};
|
|
45420
45488
|
return O(() => {
|
|
45421
45489
|
let e = qA();
|
|
45422
45490
|
e && n(e);
|
|
45423
45491
|
}), ie(() => {
|
|
45424
|
-
let e =
|
|
45492
|
+
let e = A0(L0), t = RZ(r), n = () => {
|
|
45425
45493
|
BO().then(YQ), LO();
|
|
45426
45494
|
};
|
|
45427
45495
|
n();
|
|
45428
45496
|
let i = Mr((e) => {
|
|
45429
|
-
e === "settings" && (
|
|
45497
|
+
e === "settings" && (L0.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
45430
45498
|
});
|
|
45431
45499
|
ae(() => {
|
|
45432
45500
|
t(), i(), e.then((e) => e());
|
|
45433
45501
|
});
|
|
45434
45502
|
}), j(cr, {
|
|
45435
|
-
client:
|
|
45503
|
+
client: L0,
|
|
45436
45504
|
get children() {
|
|
45437
|
-
var r =
|
|
45438
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
45439
|
-
each:
|
|
45505
|
+
var r = P0(), 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;
|
|
45506
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(R0, { size: 14 })), P(o, j(We, {
|
|
45507
|
+
each: I0,
|
|
45440
45508
|
children: (e) => (() => {
|
|
45441
|
-
var r =
|
|
45509
|
+
var r = F0();
|
|
45442
45510
|
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;
|
|
45443
45511
|
})()
|
|
45444
45512
|
})), P(i, j(M, {
|
|
@@ -45446,7 +45514,7 @@ function I0(e) {
|
|
|
45446
45514
|
return e.onTogglePin;
|
|
45447
45515
|
},
|
|
45448
45516
|
get children() {
|
|
45449
|
-
var t =
|
|
45517
|
+
var t = M0();
|
|
45450
45518
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
45451
45519
|
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"}`;
|
|
45452
45520
|
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;
|
|
@@ -45461,10 +45529,10 @@ function I0(e) {
|
|
|
45461
45529
|
return e.onClose;
|
|
45462
45530
|
},
|
|
45463
45531
|
get children() {
|
|
45464
|
-
var t =
|
|
45532
|
+
var t = N0();
|
|
45465
45533
|
return t.$$click = () => e.onClose?.(), t;
|
|
45466
45534
|
}
|
|
45467
|
-
}), null), P(s, j(pM, { onCreated: () => n("activity") })), P(c, j(cQ, {})), P(l, j(
|
|
45535
|
+
}), null), P(s, j(pM, { onCreated: () => n("activity") })), P(c, j(cQ, {})), P(l, j(V$, {})), P(u, j(A1, {})), P(d, j(U1, { onOpenIssue: () => n("activity") })), P(f, j(w0, {})), D((n) => {
|
|
45468
45536
|
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";
|
|
45469
45537
|
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;
|
|
45470
45538
|
}, {
|
|
@@ -45482,12 +45550,12 @@ function I0(e) {
|
|
|
45482
45550
|
rt(["pointerdown", "click"]);
|
|
45483
45551
|
//#endregion
|
|
45484
45552
|
//#region src/styles/app.css?inline
|
|
45485
|
-
var L0 = "/*! 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-\\[40\\%\\]{max-width:40%}.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}}";
|
|
45553
|
+
var B0 = "/*! 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-\\[40\\%\\]{max-width:40%}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[110px\\]{max-width:110px}.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-2{padding-right:calc(var(--spacing) * 2)}.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}}";
|
|
45486
45554
|
//#endregion
|
|
45487
45555
|
//#region src/page/index.tsx
|
|
45488
45556
|
Br();
|
|
45489
|
-
var
|
|
45490
|
-
function
|
|
45557
|
+
var V0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), H0 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), U0 = /*#__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"), W0 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), G0 = /*#__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"), K0 = /*#__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\">"), q0 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), J0 = /*#__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\">"), Y0 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), X0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), Z0 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), Q0 = /*#__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>"), $0 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), e2 = /*#__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\"> · <!> · ");
|
|
45558
|
+
function t2(e = {}) {
|
|
45491
45559
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
45492
45560
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
45493
45561
|
let t = () => {
|
|
@@ -45519,17 +45587,17 @@ function Q0(e = {}) {
|
|
|
45519
45587
|
"keypress"
|
|
45520
45588
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
45521
45589
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
45522
|
-
i.textContent =
|
|
45590
|
+
i.textContent = B0, r.appendChild(i);
|
|
45523
45591
|
let a = document.createElement("div");
|
|
45524
45592
|
r.appendChild(a);
|
|
45525
|
-
let o = () => a.setAttribute("data-theme",
|
|
45526
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(
|
|
45593
|
+
let o = () => a.setAttribute("data-theme", n2());
|
|
45594
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(c2, { get defaultOpen() {
|
|
45527
45595
|
return e.defaultOpen ?? !1;
|
|
45528
45596
|
} }), a);
|
|
45529
45597
|
};
|
|
45530
45598
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
45531
45599
|
}
|
|
45532
|
-
function
|
|
45600
|
+
function n2() {
|
|
45533
45601
|
try {
|
|
45534
45602
|
let e = [document.body, document.documentElement];
|
|
45535
45603
|
for (let t of e) {
|
|
@@ -45539,11 +45607,11 @@ function $0() {
|
|
|
45539
45607
|
} catch {}
|
|
45540
45608
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
45541
45609
|
}
|
|
45542
|
-
var
|
|
45543
|
-
function
|
|
45610
|
+
var r2 = 130, i2 = 36, a2 = 380, o2 = 280, s2 = 720;
|
|
45611
|
+
function c2(e) {
|
|
45544
45612
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
45545
|
-
x: Math.max(8, window.innerWidth -
|
|
45546
|
-
y: Math.max(8, window.innerHeight -
|
|
45613
|
+
x: Math.max(8, window.innerWidth - r2 - 24),
|
|
45614
|
+
y: Math.max(8, window.innerHeight - i2 - 20)
|
|
45547
45615
|
}), [s, c] = T({
|
|
45548
45616
|
running: [],
|
|
45549
45617
|
review: []
|
|
@@ -45558,12 +45626,12 @@ function a2(e) {
|
|
|
45558
45626
|
let t = Math.floor(e / 1e3);
|
|
45559
45627
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
45560
45628
|
}, [v, y] = T(null), b = (e) => ({
|
|
45561
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
45562
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
45629
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - r2 - 8),
|
|
45630
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - i2 - 8)
|
|
45563
45631
|
}), x = (e) => ({
|
|
45564
45632
|
x: Math.min(Math.max(8 - (te() - 80), e.x), window.innerWidth - 80),
|
|
45565
45633
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
45566
|
-
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(
|
|
45634
|
+
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(a2), ne = (e) => Math.min(s2, Math.max(o2, Math.min(e, window.innerWidth - 60)));
|
|
45567
45635
|
O(() => {
|
|
45568
45636
|
let e = document.documentElement, n = t() && S();
|
|
45569
45637
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${te()}px` : "", e.style.marginLeft = n && r() === "left" ? `${te()}px` : "";
|
|
@@ -45671,7 +45739,7 @@ function a2(e) {
|
|
|
45671
45739
|
return !t();
|
|
45672
45740
|
},
|
|
45673
45741
|
get children() {
|
|
45674
|
-
var e =
|
|
45742
|
+
var e = K0(), t = e.firstChild;
|
|
45675
45743
|
return t.$$pointerdown = se, P(t, j(M, {
|
|
45676
45744
|
get when() {
|
|
45677
45745
|
return p() === "recording";
|
|
@@ -45679,14 +45747,14 @@ function a2(e) {
|
|
|
45679
45747
|
get fallback() {
|
|
45680
45748
|
return [
|
|
45681
45749
|
(() => {
|
|
45682
|
-
var e =
|
|
45750
|
+
var e = J0();
|
|
45683
45751
|
return e.$$click = () => {
|
|
45684
45752
|
oe || (f(!1), n(!0));
|
|
45685
|
-
}, P(e, j(
|
|
45753
|
+
}, P(e, j(R0, { size: 13 })), e;
|
|
45686
45754
|
})(),
|
|
45687
|
-
|
|
45755
|
+
Y0(),
|
|
45688
45756
|
(() => {
|
|
45689
|
-
var e =
|
|
45757
|
+
var e = Q0(), t = e.firstChild, n = t.nextSibling;
|
|
45690
45758
|
return e.$$click = () => {
|
|
45691
45759
|
oe || f((e) => !e);
|
|
45692
45760
|
}, P(n, (() => {
|
|
@@ -45697,8 +45765,8 @@ function a2(e) {
|
|
|
45697
45765
|
return $e(() => !k())() && u().length > 0;
|
|
45698
45766
|
},
|
|
45699
45767
|
get children() {
|
|
45700
|
-
return [
|
|
45701
|
-
var e =
|
|
45768
|
+
return [X0(), (() => {
|
|
45769
|
+
var e = Z0(), t = e.firstChild;
|
|
45702
45770
|
return P(e, () => u().length, t), e;
|
|
45703
45771
|
})()];
|
|
45704
45772
|
}
|
|
@@ -45714,13 +45782,13 @@ function a2(e) {
|
|
|
45714
45782
|
},
|
|
45715
45783
|
get children() {
|
|
45716
45784
|
return [
|
|
45717
|
-
|
|
45785
|
+
V0(),
|
|
45718
45786
|
(() => {
|
|
45719
|
-
var e =
|
|
45787
|
+
var e = H0();
|
|
45720
45788
|
return P(e, () => _(h())), e;
|
|
45721
45789
|
})(),
|
|
45722
45790
|
(() => {
|
|
45723
|
-
var e =
|
|
45791
|
+
var e = U0();
|
|
45724
45792
|
return e.$$click = () => {
|
|
45725
45793
|
oe || eO();
|
|
45726
45794
|
}, e;
|
|
@@ -45732,17 +45800,17 @@ function a2(e) {
|
|
|
45732
45800
|
return d();
|
|
45733
45801
|
},
|
|
45734
45802
|
get children() {
|
|
45735
|
-
var e =
|
|
45803
|
+
var e = G0(), t = e.firstChild;
|
|
45736
45804
|
return P(e, j(M, {
|
|
45737
45805
|
get when() {
|
|
45738
45806
|
return u().length > 0;
|
|
45739
45807
|
},
|
|
45740
45808
|
get children() {
|
|
45741
|
-
return [
|
|
45809
|
+
return [W0(), j(We, {
|
|
45742
45810
|
get each() {
|
|
45743
45811
|
return u();
|
|
45744
45812
|
},
|
|
45745
|
-
children: (e) => j(
|
|
45813
|
+
children: (e) => j(l2, {
|
|
45746
45814
|
agent: e,
|
|
45747
45815
|
review: !0,
|
|
45748
45816
|
onOpen: le
|
|
@@ -45754,14 +45822,14 @@ function a2(e) {
|
|
|
45754
45822
|
return l().length > 0;
|
|
45755
45823
|
},
|
|
45756
45824
|
get fallback() {
|
|
45757
|
-
return
|
|
45825
|
+
return $0();
|
|
45758
45826
|
},
|
|
45759
45827
|
get children() {
|
|
45760
45828
|
return j(We, {
|
|
45761
45829
|
get each() {
|
|
45762
45830
|
return l();
|
|
45763
45831
|
},
|
|
45764
|
-
children: (e) => j(
|
|
45832
|
+
children: (e) => j(l2, {
|
|
45765
45833
|
agent: e,
|
|
45766
45834
|
onOpen: le
|
|
45767
45835
|
})
|
|
@@ -45782,8 +45850,8 @@ function a2(e) {
|
|
|
45782
45850
|
return t();
|
|
45783
45851
|
},
|
|
45784
45852
|
get children() {
|
|
45785
|
-
var e =
|
|
45786
|
-
return t.$$pointerdown = ue, P(e, j(
|
|
45853
|
+
var e = q0(), t = e.firstChild;
|
|
45854
|
+
return t.$$pointerdown = ue, P(e, j(z0, {
|
|
45787
45855
|
onGrab: () => n(!0),
|
|
45788
45856
|
onClose: () => n(!1),
|
|
45789
45857
|
get onHeaderPointerDown() {
|
|
@@ -45811,19 +45879,19 @@ function a2(e) {
|
|
|
45811
45879
|
}
|
|
45812
45880
|
})];
|
|
45813
45881
|
}
|
|
45814
|
-
function
|
|
45882
|
+
function l2(e) {
|
|
45815
45883
|
return (() => {
|
|
45816
|
-
var t =
|
|
45884
|
+
var t = e2(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
45817
45885
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
45818
45886
|
var t = $e(() => !!e.review);
|
|
45819
45887
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
45820
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
45888
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => u2(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
45821
45889
|
})();
|
|
45822
45890
|
}
|
|
45823
|
-
function
|
|
45891
|
+
function u2(e) {
|
|
45824
45892
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
45825
45893
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
45826
45894
|
}
|
|
45827
45895
|
rt(["pointerdown", "click"]);
|
|
45828
45896
|
//#endregion
|
|
45829
|
-
export {
|
|
45897
|
+
export { t2 as init };
|