linear-grab 0.16.1 → 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.global.js +8 -8
- package/dist/linear-grab.js +559 -499
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -3152,25 +3152,17 @@ async function Dr(e) {
|
|
|
3152
3152
|
};
|
|
3153
3153
|
continue;
|
|
3154
3154
|
}
|
|
3155
|
-
let r = (e) => `${e.source?.filePath ?? ""}:${e.source?.lineNumber ?? ""}|${e.tagName ?? ""}|${(e.content ?? "").trim().slice(0, 80)}
|
|
3156
|
-
if (n.source?.filePath) {
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
};
|
|
3163
|
-
continue;
|
|
3164
|
-
}
|
|
3155
|
+
let r = (e) => `${e.source?.filePath ?? ""}:${e.source?.lineNumber ?? ""}|${e.tagName ?? ""}|${(e.content ?? "").trim().slice(0, 80)}`, i = t[t.length - 1];
|
|
3156
|
+
if (n.source?.filePath && i && r(i) === r(n)) {
|
|
3157
|
+
t[t.length - 1] = {
|
|
3158
|
+
...i,
|
|
3159
|
+
...n
|
|
3160
|
+
};
|
|
3161
|
+
continue;
|
|
3165
3162
|
}
|
|
3166
3163
|
t.push(n);
|
|
3167
3164
|
}
|
|
3168
|
-
|
|
3169
|
-
for (let e = t.length - 1; e >= 0; e--) {
|
|
3170
|
-
let i = t[e], a = i.source?.filePath ? `${i.source.filePath}:${i.source.lineNumber ?? ""}|${i.tagName ?? ""}|${(i.content ?? "").trim().slice(0, 80)}` : `id:${i.grabbedAt}`;
|
|
3171
|
-
n.has(a) || (n.add(a), r.unshift(i));
|
|
3172
|
-
}
|
|
3173
|
-
await Er(r.slice(-8));
|
|
3165
|
+
await Er(t.slice(-8));
|
|
3174
3166
|
}
|
|
3175
3167
|
async function Or(e) {
|
|
3176
3168
|
await Er((await Tr() ?? []).filter((t) => t.grabbedAt !== e));
|
|
@@ -41732,8 +41724,8 @@ function LZ() {
|
|
|
41732
41724
|
});
|
|
41733
41725
|
}
|
|
41734
41726
|
Rr(), br(), mD();
|
|
41735
|
-
var RZ = /*#__PURE__*/ N("<span class=\"text-text-faint ml-auto text-[10.5px] font-normal normal-case tabular-nums\">"), zZ = /*#__PURE__*/ N("<details open class=group><summary class=\"text-text-dim hover:text-text flex cursor-pointer items-center gap-1.5 text-[11px] font-semibold tracking-wide uppercase select-none\"><span aria-hidden class=\"text-text-faint inline-block w-3 text-center transition-transform group-open:rotate-90\">›</span></summary><div class=\"flex flex-col gap-2 pt-2 pl-4\">"), BZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"text-text-faint min-w-0 text-[10.5px] leading-snug\">All elements post into ONE issue. Shift+click / drag selects several at once."),
|
|
41736
|
-
function
|
|
41727
|
+
var RZ = /*#__PURE__*/ N("<span class=\"text-text-faint ml-auto text-[10.5px] font-normal normal-case tabular-nums\">"), zZ = /*#__PURE__*/ N("<details open class=group><summary class=\"text-text-dim hover:text-text flex cursor-pointer items-center gap-1.5 text-[11px] font-semibold tracking-wide uppercase select-none\"><span aria-hidden class=\"text-text-faint inline-block w-3 text-center transition-transform group-open:rotate-90\">›</span></summary><div class=\"flex flex-col gap-2 pt-2 pl-4\">"), BZ = /*#__PURE__*/ N("<p class=\"text-warn text-[10.5px] leading-snug\">Several captures resolve to the same source — this page region likely renders inside an iframe/canvas the picker can't see into. Use <b>Capture region</b> for visual pointers there."), VZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"text-text-faint min-w-0 text-[10.5px] leading-snug\">All elements post into ONE issue. Shift+click / drag selects several at once."), HZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex gap-1.5\">"), UZ = /*#__PURE__*/ N("<span class=text-danger>●"), WZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><span class=\"text-text-faint text-[10.5px] leading-snug\">Captures your screen as a looping GIF (max 30s) the coding agent can watch. Pick this tab in the share dialog, then reproduce the issue."), GZ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Stop"), KZ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center gap-2 rounded-lg border p-2.5\"><span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\"></span><span class=\"text-text min-w-[5ch] text-[12px] tabular-nums\"></span><span class=\"text-text-faint text-[10.5px]\">max 0:30"), qZ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center gap-2 rounded-lg border p-2.5\"><span class=\"text-text-dim text-[12px]\">Encoding GIF…"), JZ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-4 overflow-y-auto pt-3 pb-4 pl-3 pr-4\">"), YZ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), XZ = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M4 4l8 8M12 4l-8 8\">"), ZZ = /*#__PURE__*/ N("<span class=\"font-mono text-text-dim break-all text-[11px] leading-snug\">"), QZ = /*#__PURE__*/ N("<img alt=\"Element location screenshot\"class=\"border-border bg-bg max-h-32 w-full rounded-md border object-contain\">"), $Z = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"font-mono text-accent min-w-0 truncate text-[12px]\"></span><div class=\"flex shrink-0 items-center gap-1\">"), eQ = /*#__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\">"), tQ = /*#__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=\"M8 2.5v8M4.5 7.5 8 11l3.5-3.5M2.5 13.5h11\">"), nQ = /*#__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=\"M2.5 4h11M6.5 4V2.5h3V4M4 4l.7 9a1.5 1.5 0 0 0 1.5 1.4h3.6A1.5 1.5 0 0 0 11.3 13l.7-9M6.5 7v4.5M9.5 7v4.5\">"), rQ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-2 rounded-lg border p-2.5\"><img alt=\"Screen recording preview\"class=\"border-border bg-bg max-h-44 w-full rounded-md border object-contain\"><span class=\"text-text-faint text-[10.5px] tabular-nums\"> KB · <!>s · <!>×</span><label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Attach to issue on create</span></label><div class=\"flex items-center gap-1\">"), iQ = /*#__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=\"M6.5 9.5 9.5 6.5M7.5 4.5 9 3a2.5 2.5 0 0 1 3.5 3.5L11 8M8.5 11.5 7 13a2.5 2.5 0 0 1-3.5-3.5L5 8\">");
|
|
41728
|
+
function aQ(e) {
|
|
41737
41729
|
return (() => {
|
|
41738
41730
|
var t = zZ(), n = t.firstChild;
|
|
41739
41731
|
n.firstChild;
|
|
@@ -41749,7 +41741,7 @@ function iQ(e) {
|
|
|
41749
41741
|
}), null), P(r, () => e.children), t;
|
|
41750
41742
|
})();
|
|
41751
41743
|
}
|
|
41752
|
-
function
|
|
41744
|
+
function oQ() {
|
|
41753
41745
|
let e = sr(), t = _r(() => ({
|
|
41754
41746
|
queryKey: ["grab"],
|
|
41755
41747
|
queryFn: Tr
|
|
@@ -41834,8 +41826,8 @@ function aQ() {
|
|
|
41834
41826
|
}
|
|
41835
41827
|
};
|
|
41836
41828
|
return (() => {
|
|
41837
|
-
var e =
|
|
41838
|
-
return P(e, j(
|
|
41829
|
+
var e = JZ();
|
|
41830
|
+
return P(e, j(aQ, {
|
|
41839
41831
|
title: "Captured elements",
|
|
41840
41832
|
get badge() {
|
|
41841
41833
|
return $e(() => !!r().length)() ? `${r().length}/8` : void 0;
|
|
@@ -41852,13 +41844,13 @@ function aQ() {
|
|
|
41852
41844
|
});
|
|
41853
41845
|
},
|
|
41854
41846
|
get children() {
|
|
41855
|
-
var e =
|
|
41847
|
+
var e = VZ(), t = e.firstChild;
|
|
41856
41848
|
return t.firstChild, P(e, j(We, {
|
|
41857
41849
|
get each() {
|
|
41858
41850
|
return r();
|
|
41859
41851
|
},
|
|
41860
41852
|
children: (e) => (() => {
|
|
41861
|
-
var t =
|
|
41853
|
+
var t = $Z(), n = t.firstChild.firstChild, r = n.nextSibling;
|
|
41862
41854
|
return P(n, (() => {
|
|
41863
41855
|
var t = $e(() => !!e.componentName);
|
|
41864
41856
|
return () => t() ? `<${e.componentName}>` : $e(() => !!e.tagName)() ? `<${e.tagName}>` : "Element";
|
|
@@ -41874,10 +41866,10 @@ function aQ() {
|
|
|
41874
41866
|
return l() === e.grabbedAt;
|
|
41875
41867
|
},
|
|
41876
41868
|
get fallback() {
|
|
41877
|
-
return
|
|
41869
|
+
return eQ();
|
|
41878
41870
|
},
|
|
41879
41871
|
get children() {
|
|
41880
|
-
return
|
|
41872
|
+
return YZ();
|
|
41881
41873
|
}
|
|
41882
41874
|
});
|
|
41883
41875
|
}
|
|
@@ -41888,14 +41880,14 @@ function aQ() {
|
|
|
41888
41880
|
"aria-label": "Remove element",
|
|
41889
41881
|
onClick: () => void f(e.grabbedAt),
|
|
41890
41882
|
get children() {
|
|
41891
|
-
return
|
|
41883
|
+
return XZ();
|
|
41892
41884
|
}
|
|
41893
41885
|
}), null), P(t, j(M, {
|
|
41894
41886
|
get when() {
|
|
41895
41887
|
return e.source?.filePath;
|
|
41896
41888
|
},
|
|
41897
41889
|
get children() {
|
|
41898
|
-
var t =
|
|
41890
|
+
var t = ZZ();
|
|
41899
41891
|
return P(t, () => e.source.filePath, null), P(t, (() => {
|
|
41900
41892
|
var t = $e(() => e.source?.lineNumber != null);
|
|
41901
41893
|
return () => t() ? `:${e.source.lineNumber}` : "";
|
|
@@ -41906,11 +41898,18 @@ function aQ() {
|
|
|
41906
41898
|
return e.screenshotDataUrl;
|
|
41907
41899
|
},
|
|
41908
41900
|
get children() {
|
|
41909
|
-
var t =
|
|
41901
|
+
var t = QZ();
|
|
41910
41902
|
return D(() => it(t, "src", e.screenshotDataUrl)), t;
|
|
41911
41903
|
}
|
|
41912
41904
|
}), null), t;
|
|
41913
41905
|
})()
|
|
41906
|
+
}), t), P(e, j(M, {
|
|
41907
|
+
get when() {
|
|
41908
|
+
return new Set(r().filter((e) => e.source?.filePath).map((e) => `${e.source.filePath}:${e.source.lineNumber ?? ""}`)).size < r().filter((e) => e.source?.filePath).length;
|
|
41909
|
+
},
|
|
41910
|
+
get children() {
|
|
41911
|
+
return BZ();
|
|
41912
|
+
}
|
|
41914
41913
|
}), t), P(t, j(vj, {
|
|
41915
41914
|
class: "h-6 shrink-0 px-2 text-[11px]",
|
|
41916
41915
|
variant: "ghost",
|
|
@@ -41919,7 +41918,7 @@ function aQ() {
|
|
|
41919
41918
|
}), null), e;
|
|
41920
41919
|
}
|
|
41921
41920
|
}), (() => {
|
|
41922
|
-
var e =
|
|
41921
|
+
var e = HZ(), t = e.firstChild;
|
|
41923
41922
|
return P(t, j(vj, {
|
|
41924
41923
|
variant: "primary",
|
|
41925
41924
|
class: "min-w-0 flex-1",
|
|
@@ -41951,7 +41950,7 @@ function aQ() {
|
|
|
41951
41950
|
}), null), e;
|
|
41952
41951
|
})()];
|
|
41953
41952
|
}
|
|
41954
|
-
}), null), P(e, j(
|
|
41953
|
+
}), null), P(e, j(aQ, {
|
|
41955
41954
|
title: "Recording",
|
|
41956
41955
|
get badge() {
|
|
41957
41956
|
return $e(() => !!g().result)() ? `${(g().result.durationMs / 1e3).toFixed(1)}s` : void 0;
|
|
@@ -41963,12 +41962,12 @@ function aQ() {
|
|
|
41963
41962
|
return g().phase === "idle" || g().phase === "error";
|
|
41964
41963
|
},
|
|
41965
41964
|
get children() {
|
|
41966
|
-
var e =
|
|
41965
|
+
var e = WZ(), t = e.firstChild;
|
|
41967
41966
|
return P(e, j(vj, {
|
|
41968
41967
|
variant: "ghost",
|
|
41969
41968
|
onClick: () => void ZD(),
|
|
41970
41969
|
get children() {
|
|
41971
|
-
return [
|
|
41970
|
+
return [UZ(), " Record interaction"];
|
|
41972
41971
|
}
|
|
41973
41972
|
}), t), P(e, j(M, {
|
|
41974
41973
|
get when() {
|
|
@@ -41987,13 +41986,13 @@ function aQ() {
|
|
|
41987
41986
|
return g().phase === "recording";
|
|
41988
41987
|
},
|
|
41989
41988
|
get children() {
|
|
41990
|
-
var e =
|
|
41989
|
+
var e = KZ(), t = e.firstChild.nextSibling;
|
|
41991
41990
|
return t.nextSibling, P(t, () => b(v())), P(e, j(vj, {
|
|
41992
41991
|
variant: "primary",
|
|
41993
41992
|
class: "ml-auto",
|
|
41994
41993
|
onClick: () => void QD(),
|
|
41995
41994
|
get children() {
|
|
41996
|
-
return
|
|
41995
|
+
return GZ();
|
|
41997
41996
|
}
|
|
41998
41997
|
}), null), e;
|
|
41999
41998
|
}
|
|
@@ -42003,7 +42002,7 @@ function aQ() {
|
|
|
42003
42002
|
return g().phase === "processing";
|
|
42004
42003
|
},
|
|
42005
42004
|
get children() {
|
|
42006
|
-
var e =
|
|
42005
|
+
var e = qZ(), t = e.firstChild;
|
|
42007
42006
|
return P(e, j(yj, {}), t), e;
|
|
42008
42007
|
}
|
|
42009
42008
|
}),
|
|
@@ -42012,7 +42011,7 @@ function aQ() {
|
|
|
42012
42011
|
return $e(() => g().phase === "ready")() && g().result;
|
|
42013
42012
|
},
|
|
42014
42013
|
children: (e) => (() => {
|
|
42015
|
-
var t =
|
|
42014
|
+
var t = rQ(), n = t.firstChild, r = n.nextSibling, a = r.firstChild, o = a.nextSibling, s = o.nextSibling.nextSibling;
|
|
42016
42015
|
s.nextSibling;
|
|
42017
42016
|
var c = r.nextSibling, l = c.firstChild, u = c.nextSibling;
|
|
42018
42017
|
return P(r, () => (e().blob.size / 1024).toFixed(0), a), P(r, () => (e().durationMs / 1e3).toFixed(1), o), P(r, () => e().width, s), P(r, () => e().height, null), l.addEventListener("change", (e) => eO(e.currentTarget.checked)), P(u, j(vj, {
|
|
@@ -42035,10 +42034,10 @@ function aQ() {
|
|
|
42035
42034
|
return x() === "copied";
|
|
42036
42035
|
},
|
|
42037
42036
|
get fallback() {
|
|
42038
|
-
return
|
|
42037
|
+
return iQ();
|
|
42039
42038
|
},
|
|
42040
42039
|
get children() {
|
|
42041
|
-
return
|
|
42040
|
+
return YZ();
|
|
42042
42041
|
}
|
|
42043
42042
|
});
|
|
42044
42043
|
}
|
|
@@ -42057,10 +42056,10 @@ function aQ() {
|
|
|
42057
42056
|
return te() === "copied";
|
|
42058
42057
|
},
|
|
42059
42058
|
get fallback() {
|
|
42060
|
-
return
|
|
42059
|
+
return eQ();
|
|
42061
42060
|
},
|
|
42062
42061
|
get children() {
|
|
42063
|
-
return
|
|
42062
|
+
return YZ();
|
|
42064
42063
|
}
|
|
42065
42064
|
});
|
|
42066
42065
|
}
|
|
@@ -42071,7 +42070,7 @@ function aQ() {
|
|
|
42071
42070
|
"aria-label": "Download GIF",
|
|
42072
42071
|
onClick: ee,
|
|
42073
42072
|
get children() {
|
|
42074
|
-
return
|
|
42073
|
+
return tQ();
|
|
42075
42074
|
}
|
|
42076
42075
|
}), null), P(u, j(vj, {
|
|
42077
42076
|
variant: "danger",
|
|
@@ -42080,7 +42079,7 @@ function aQ() {
|
|
|
42080
42079
|
"aria-label": "Discard recording",
|
|
42081
42080
|
onClick: $D,
|
|
42082
42081
|
get children() {
|
|
42083
|
-
return
|
|
42082
|
+
return nQ();
|
|
42084
42083
|
}
|
|
42085
42084
|
}), null), P(t, j(M, {
|
|
42086
42085
|
get when() {
|
|
@@ -42101,7 +42100,7 @@ function aQ() {
|
|
|
42101
42100
|
}
|
|
42102
42101
|
//#endregion
|
|
42103
42102
|
//#region node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js
|
|
42104
|
-
function
|
|
42103
|
+
function sQ(e, t, n) {
|
|
42105
42104
|
let r = Array(e);
|
|
42106
42105
|
return new Proxy(r, { get(r, i, a) {
|
|
42107
42106
|
if (typeof i == "string") {
|
|
@@ -42131,7 +42130,7 @@ function oQ(e, t, n) {
|
|
|
42131
42130
|
}
|
|
42132
42131
|
//#endregion
|
|
42133
42132
|
//#region node_modules/@tanstack/virtual-core/dist/esm/utils.js
|
|
42134
|
-
function
|
|
42133
|
+
function cQ(e, t, n) {
|
|
42135
42134
|
let r = n.initialDeps ?? [], i, a = !0;
|
|
42136
42135
|
function o() {
|
|
42137
42136
|
let o = e();
|
|
@@ -42141,32 +42140,32 @@ function sQ(e, t, n) {
|
|
|
42141
42140
|
r = e;
|
|
42142
42141
|
}, o;
|
|
42143
42142
|
}
|
|
42144
|
-
function
|
|
42143
|
+
function lQ(e, t) {
|
|
42145
42144
|
if (e === void 0) throw Error(`Unexpected undefined${t ? `: ${t}` : ""}`);
|
|
42146
42145
|
return e;
|
|
42147
42146
|
}
|
|
42148
|
-
var
|
|
42147
|
+
var uQ = (e, t) => Math.abs(e - t) < 1.01, dQ = (e, t, n) => {
|
|
42149
42148
|
let r;
|
|
42150
42149
|
return function(...i) {
|
|
42151
42150
|
e.clearTimeout(r), r = e.setTimeout(() => t.apply(this, i), n);
|
|
42152
42151
|
};
|
|
42153
|
-
},
|
|
42154
|
-
if (
|
|
42155
|
-
if (typeof navigator > "u") return
|
|
42156
|
-
if (/iP(hone|od|ad)/.test(navigator.userAgent)) return
|
|
42152
|
+
}, fQ, pQ = () => {
|
|
42153
|
+
if (fQ !== void 0) return fQ;
|
|
42154
|
+
if (typeof navigator > "u") return fQ = !1;
|
|
42155
|
+
if (/iP(hone|od|ad)/.test(navigator.userAgent)) return fQ = !0;
|
|
42157
42156
|
let e = navigator.maxTouchPoints;
|
|
42158
|
-
return
|
|
42159
|
-
},
|
|
42157
|
+
return fQ = navigator.platform === "MacIntel" && e !== void 0 && e > 0;
|
|
42158
|
+
}, mQ = (e) => {
|
|
42160
42159
|
let { offsetWidth: t, offsetHeight: n } = e;
|
|
42161
42160
|
return {
|
|
42162
42161
|
width: t,
|
|
42163
42162
|
height: n
|
|
42164
42163
|
};
|
|
42165
|
-
},
|
|
42164
|
+
}, hQ = (e) => e, gQ = (e) => {
|
|
42166
42165
|
let t = Math.max(e.startIndex - e.overscan, 0), n = Math.min(e.endIndex + e.overscan, e.count - 1) - t + 1, r = Array(n);
|
|
42167
42166
|
for (let e = 0; e < n; e++) r[e] = t + e;
|
|
42168
42167
|
return r;
|
|
42169
|
-
},
|
|
42168
|
+
}, _Q = (e, t) => {
|
|
42170
42169
|
let n = e.scrollElement;
|
|
42171
42170
|
if (!n) return;
|
|
42172
42171
|
let r = e.targetWindow;
|
|
@@ -42178,7 +42177,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42178
42177
|
height: Math.round(r)
|
|
42179
42178
|
});
|
|
42180
42179
|
};
|
|
42181
|
-
if (i(
|
|
42180
|
+
if (i(mQ(n)), !r.ResizeObserver) return () => {};
|
|
42182
42181
|
let a = new r.ResizeObserver((t) => {
|
|
42183
42182
|
let r = () => {
|
|
42184
42183
|
let e = t[0];
|
|
@@ -42192,28 +42191,28 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42192
42191
|
return;
|
|
42193
42192
|
}
|
|
42194
42193
|
}
|
|
42195
|
-
i(
|
|
42194
|
+
i(mQ(n));
|
|
42196
42195
|
};
|
|
42197
42196
|
e.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(r) : r();
|
|
42198
42197
|
});
|
|
42199
42198
|
return a.observe(n, { box: "border-box" }), () => {
|
|
42200
42199
|
a.unobserve(n);
|
|
42201
42200
|
};
|
|
42202
|
-
},
|
|
42201
|
+
}, vQ = { passive: !0 }, yQ = typeof window > "u" || "onscrollend" in window, bQ = (e, t, n) => {
|
|
42203
42202
|
let r = e.scrollElement;
|
|
42204
42203
|
if (!r) return;
|
|
42205
42204
|
let i = e.targetWindow;
|
|
42206
42205
|
if (!i) return;
|
|
42207
|
-
let a = e.options.useScrollendEvent &&
|
|
42206
|
+
let a = e.options.useScrollendEvent && yQ, o = 0, s = a ? null : dQ(i, () => t(o, !1), e.options.isScrollingResetDelay), c = (e) => () => {
|
|
42208
42207
|
o = n(r), s?.(), t(o, e);
|
|
42209
42208
|
}, l = c(!0), u = c(!1);
|
|
42210
|
-
return r.addEventListener("scroll", l,
|
|
42209
|
+
return r.addEventListener("scroll", l, vQ), a && r.addEventListener("scrollend", u, vQ), () => {
|
|
42211
42210
|
r.removeEventListener("scroll", l), a && r.removeEventListener("scrollend", u);
|
|
42212
42211
|
};
|
|
42213
|
-
},
|
|
42212
|
+
}, xQ = (e, t) => bQ(e, t, (t) => {
|
|
42214
42213
|
let { horizontal: n, isRtl: r } = e.options;
|
|
42215
42214
|
return n ? t.scrollLeft * (r && -1 || 1) : t.scrollTop;
|
|
42216
|
-
}),
|
|
42215
|
+
}), SQ = (e, t, n) => {
|
|
42217
42216
|
if (n.options.useCachedMeasurements) {
|
|
42218
42217
|
let t = n.indexFromElement(e), r = n.options.getItemKey(t);
|
|
42219
42218
|
return n.itemSizeCache.get(r) ?? n.options.estimateSize(t);
|
|
@@ -42227,13 +42226,13 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42227
42226
|
if (i !== void 0) return i;
|
|
42228
42227
|
}
|
|
42229
42228
|
return e[n.options.horizontal ? "offsetWidth" : "offsetHeight"];
|
|
42230
|
-
},
|
|
42229
|
+
}, CQ = (e, { adjustments: t = 0, behavior: n }, r) => {
|
|
42231
42230
|
var i, a;
|
|
42232
42231
|
(a = (i = r.scrollElement)?.scrollTo) == null || a.call(i, {
|
|
42233
42232
|
[r.options.horizontal ? "left" : "top"]: e + t,
|
|
42234
42233
|
behavior: n
|
|
42235
42234
|
});
|
|
42236
|
-
},
|
|
42235
|
+
}, wQ = class {
|
|
42237
42236
|
constructor(e) {
|
|
42238
42237
|
this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.scrollState = null, this.measurementsCache = [], this._flatMeasurements = null, this.itemSizeCache = /* @__PURE__ */ new Map(), this.itemSizeCacheVersion = 0, this.laneAssignments = /* @__PURE__ */ new Map(), this.pendingMin = null, this.prevLanes = void 0, this.lanesChangedFlag = !1, this.lanesSettling = !1, this.pendingScrollAnchor = null, this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this._iosDeferredAdjustment = 0, this._iosTouching = !1, this._iosJustTouchEnded = !1, this._iosTouchEndTimerId = null, this._intendedScrollOffset = null, this.elementsCache = /* @__PURE__ */ new Map(), this.now = () => {
|
|
42239
42238
|
var e;
|
|
@@ -42274,10 +42273,10 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42274
42273
|
scrollPaddingStart: 0,
|
|
42275
42274
|
scrollPaddingEnd: 0,
|
|
42276
42275
|
horizontal: !1,
|
|
42277
|
-
getItemKey:
|
|
42278
|
-
rangeExtractor:
|
|
42276
|
+
getItemKey: hQ,
|
|
42277
|
+
rangeExtractor: gQ,
|
|
42279
42278
|
onChange: () => {},
|
|
42280
|
-
measureElement:
|
|
42279
|
+
measureElement: SQ,
|
|
42281
42280
|
initialRect: {
|
|
42282
42281
|
width: 0,
|
|
42283
42282
|
height: 0
|
|
@@ -42335,7 +42334,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42335
42334
|
}, this.notify = (e) => {
|
|
42336
42335
|
var t, n;
|
|
42337
42336
|
(n = (t = this.options).onChange) == null || n.call(t, this, e);
|
|
42338
|
-
}, this.maybeNotify =
|
|
42337
|
+
}, this.maybeNotify = cQ(() => (this.calculateRange(), [
|
|
42339
42338
|
this.isScrolling,
|
|
42340
42339
|
this.range ? this.range.startIndex : null,
|
|
42341
42340
|
this.range ? this.range.endIndex : null
|
|
@@ -42373,11 +42372,11 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42373
42372
|
let e = this.scrollElement, t = () => {
|
|
42374
42373
|
this._iosTouching = !0, this._iosJustTouchEnded = !1, this._iosTouchEndTimerId !== null && this.targetWindow != null && (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), this._iosTouchEndTimerId = null);
|
|
42375
42374
|
}, n = () => {
|
|
42376
|
-
this._iosTouching = !1, !(!
|
|
42375
|
+
this._iosTouching = !1, !(!pQ() || this.targetWindow == null) && (this._iosJustTouchEnded = !0, this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
|
|
42377
42376
|
this._iosJustTouchEnded = !1, this._iosTouchEndTimerId = null, this._flushIosDeferredIfReady();
|
|
42378
42377
|
}, 150));
|
|
42379
42378
|
};
|
|
42380
|
-
e.addEventListener("touchstart", t,
|
|
42379
|
+
e.addEventListener("touchstart", t, vQ), e.addEventListener("touchend", n, vQ), this.unsubs.push(() => {
|
|
42381
42380
|
e.removeEventListener("touchstart", t), e.removeEventListener("touchend", n), this._iosTouchEndTimerId !== null && this.targetWindow != null && (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), this._iosTouchEndTimerId = null);
|
|
42382
42381
|
});
|
|
42383
42382
|
}
|
|
@@ -42389,7 +42388,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42389
42388
|
let t = this.pendingScrollAnchor;
|
|
42390
42389
|
if (this.pendingScrollAnchor = null, t && this.scrollElement && this.options.enabled) {
|
|
42391
42390
|
let [e, n, r, i] = t;
|
|
42392
|
-
e !== null && !r && (
|
|
42391
|
+
e !== null && !r && (pQ() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? i !== 0 && (this._iosDeferredAdjustment += i) : this._scrollToOffset(this.getScrollOffset(), {
|
|
42393
42392
|
adjustments: void 0,
|
|
42394
42393
|
behavior: void 0
|
|
42395
42394
|
})), r && this.scrollToEnd({ behavior: r });
|
|
@@ -42403,7 +42402,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42403
42402
|
adjustments: this.scrollAdjustments += n,
|
|
42404
42403
|
behavior: void 0
|
|
42405
42404
|
});
|
|
42406
|
-
}, this.rafId = null, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getMeasurementOptions =
|
|
42405
|
+
}, this.rafId = null, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getMeasurementOptions = cQ(() => [
|
|
42407
42406
|
this.options.count,
|
|
42408
42407
|
this.options.paddingStart,
|
|
42409
42408
|
this.options.scrollMargin,
|
|
@@ -42421,7 +42420,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42421
42420
|
lanes: a,
|
|
42422
42421
|
laneAssignmentMode: o,
|
|
42423
42422
|
gap: s
|
|
42424
|
-
}), { key: !1 }), this.getMeasurements =
|
|
42423
|
+
}), { key: !1 }), this.getMeasurements = cQ(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({ count: e, paddingStart: t, scrollMargin: n, getItemKey: r, enabled: i, lanes: a, laneAssignmentMode: o, gap: s }, c) => {
|
|
42425
42424
|
let l = this.itemSizeCache;
|
|
42426
42425
|
if (!i) return this.measurementsCache = [], this.itemSizeCache.clear(), this.laneAssignments.clear(), [];
|
|
42427
42426
|
if (this.laneAssignments.size > e) for (let t of this.laneAssignments.keys()) t >= e && this.laneAssignments.delete(t);
|
|
@@ -42445,7 +42444,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42445
42444
|
let e = r(t), n = l.get(e), i = typeof n == "number" ? n : this.options.estimateSize(t);
|
|
42446
42445
|
a[t * 2] = o, a[t * 2 + 1] = i, o += i + s;
|
|
42447
42446
|
}
|
|
42448
|
-
let c =
|
|
42447
|
+
let c = sQ(e, a, r);
|
|
42449
42448
|
return this.measurementsCache = c, c;
|
|
42450
42449
|
}
|
|
42451
42450
|
let d = this.measurementsCache.slice(0, u), f = Array(a).fill(void 0), p = new Float64Array(a), m = 0;
|
|
@@ -42481,15 +42480,15 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42481
42480
|
}, {
|
|
42482
42481
|
key: !1,
|
|
42483
42482
|
debug: () => this.options.debug
|
|
42484
|
-
}), this.calculateRange =
|
|
42483
|
+
}), this.calculateRange = cQ(() => [
|
|
42485
42484
|
this.getMeasurements(),
|
|
42486
42485
|
this.getSize(),
|
|
42487
42486
|
this.getScrollOffset(),
|
|
42488
42487
|
this.options.lanes
|
|
42489
|
-
], (e, t, n, r) => e.length === 0 || t === 0 ? (this.range = null, null) : (this.range =
|
|
42488
|
+
], (e, t, n, r) => e.length === 0 || t === 0 ? (this.range = null, null) : (this.range = DQ(e, t, n, r, r === 1 && this._flatMeasurements != null ? this._flatMeasurements : null), this.range), {
|
|
42490
42489
|
key: !1,
|
|
42491
42490
|
debug: () => this.options.debug
|
|
42492
|
-
}), this.getVirtualIndexes =
|
|
42491
|
+
}), this.getVirtualIndexes = cQ(() => {
|
|
42493
42492
|
let e = null, t = null, n = this.calculateRange();
|
|
42494
42493
|
return n && (e = n.startIndex, t = n.endIndex), this.maybeNotify.updateDeps([
|
|
42495
42494
|
this.isScrolling,
|
|
@@ -42551,7 +42550,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42551
42550
|
}, o, this));
|
|
42552
42551
|
(this.pendingMin === null || e < this.pendingMin) && (this.pendingMin = e), this.itemSizeCache.set(i, t), this.itemSizeCacheVersion++, a ? this.applyScrollAdjustment(this.getTotalSize() - s) : c && this.applyScrollAdjustment(o), this.notify(!1);
|
|
42553
42552
|
}
|
|
42554
|
-
}, this.getVirtualItems =
|
|
42553
|
+
}, this.getVirtualItems = cQ(() => [this.getVirtualIndexes(), this.getMeasurements()], (e, t) => {
|
|
42555
42554
|
let n = [];
|
|
42556
42555
|
for (let r = 0, i = e.length; r < i; r++) {
|
|
42557
42556
|
let i = t[e[r]];
|
|
@@ -42565,7 +42564,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42565
42564
|
let t = this.getMeasurements();
|
|
42566
42565
|
if (t.length === 0) return;
|
|
42567
42566
|
let n = this._flatMeasurements, r = this.options.lanes === 1 && n != null;
|
|
42568
|
-
return
|
|
42567
|
+
return lQ(t[TQ(0, t.length - 1, r ? (e) => n[e * 2] : (e) => lQ(t[e]).start, e)]);
|
|
42569
42568
|
}, this.getMaxScrollOffset = () => {
|
|
42570
42569
|
if (!this.scrollElement) return 0;
|
|
42571
42570
|
if ("scrollHeight" in this.scrollElement) return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;
|
|
@@ -42678,7 +42677,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42678
42677
|
}, this.setOptions(e);
|
|
42679
42678
|
}
|
|
42680
42679
|
applyScrollAdjustment(e, t) {
|
|
42681
|
-
e !== 0 && (
|
|
42680
|
+
e !== 0 && (pQ() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? this._iosDeferredAdjustment += e : (this._scrollToOffset(this.getScrollOffset(), {
|
|
42682
42681
|
adjustments: this.scrollAdjustments += e,
|
|
42683
42682
|
behavior: t
|
|
42684
42683
|
}), this.scrollOffset !== null && (this.scrollOffset += this.scrollAdjustments, this.scrollAdjustments = 0)));
|
|
@@ -42699,7 +42698,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42699
42698
|
return;
|
|
42700
42699
|
}
|
|
42701
42700
|
let e = this.scrollState.index == null ? void 0 : this.getOffsetForIndex(this.scrollState.index, this.scrollState.align), t = e ? e[0] : this.scrollState.lastTargetOffset, n = t !== this.scrollState.lastTargetOffset;
|
|
42702
|
-
if (!n &&
|
|
42701
|
+
if (!n && uQ(t, this.getScrollOffset())) {
|
|
42703
42702
|
if (this.scrollState.stableFrames++, this.scrollState.stableFrames >= 1) {
|
|
42704
42703
|
this.getScrollOffset() !== t && this._scrollToOffset(t, {
|
|
42705
42704
|
adjustments: void 0,
|
|
@@ -42716,7 +42715,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42716
42715
|
}
|
|
42717
42716
|
this.scheduleScrollReconcile();
|
|
42718
42717
|
}
|
|
42719
|
-
},
|
|
42718
|
+
}, TQ = (e, t, n, r) => {
|
|
42720
42719
|
for (; e <= t;) {
|
|
42721
42720
|
let i = (e + t) / 2 | 0, a = n(i);
|
|
42722
42721
|
if (a < r) e = i + 1;
|
|
@@ -42725,7 +42724,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
|
|
|
42725
42724
|
}
|
|
42726
42725
|
return e > 0 ? e - 1 : 0;
|
|
42727
42726
|
};
|
|
42728
|
-
function
|
|
42727
|
+
function EQ(e, t, n) {
|
|
42729
42728
|
let r = 0;
|
|
42730
42729
|
for (; r <= t;) {
|
|
42731
42730
|
let i = (r + t) / 2 | 0, a = e[i * 2];
|
|
@@ -42735,21 +42734,21 @@ function TQ(e, t, n) {
|
|
|
42735
42734
|
}
|
|
42736
42735
|
return r > 0 ? r - 1 : 0;
|
|
42737
42736
|
}
|
|
42738
|
-
function
|
|
42737
|
+
function DQ(e, t, n, r, i) {
|
|
42739
42738
|
let a = e.length - 1;
|
|
42740
42739
|
if (e.length <= r) return {
|
|
42741
42740
|
startIndex: 0,
|
|
42742
42741
|
endIndex: a
|
|
42743
42742
|
};
|
|
42744
42743
|
if (r === 1 && i !== null) {
|
|
42745
|
-
let e =
|
|
42744
|
+
let e = EQ(i, a, n), r = e, o = n + t;
|
|
42746
42745
|
for (; r < a && i[r * 2] + i[r * 2 + 1] < o;) r++;
|
|
42747
42746
|
return {
|
|
42748
42747
|
startIndex: e,
|
|
42749
42748
|
endIndex: r
|
|
42750
42749
|
};
|
|
42751
42750
|
}
|
|
42752
|
-
let o =
|
|
42751
|
+
let o = TQ(0, a, (t) => e[t].start, n), s = o;
|
|
42753
42752
|
if (r === 1) for (; s < a && e[s].end < n + t;) s++;
|
|
42754
42753
|
else if (r > 1) {
|
|
42755
42754
|
let i = Array(r).fill(0);
|
|
@@ -42771,8 +42770,8 @@ function EQ(e, t, n, r, i) {
|
|
|
42771
42770
|
}
|
|
42772
42771
|
//#endregion
|
|
42773
42772
|
//#region node_modules/@tanstack/solid-virtual/dist/esm/index.js
|
|
42774
|
-
function
|
|
42775
|
-
let t = Ve(e), n = new
|
|
42773
|
+
function OQ(e) {
|
|
42774
|
+
let t = Ve(e), n = new wQ(t), [r, i] = tr(n.getVirtualItems()), [a, o] = T(n.getTotalSize()), s = new Proxy(n, { get(e, t) {
|
|
42776
42775
|
switch (t) {
|
|
42777
42776
|
case "getVirtualItems": return () => r;
|
|
42778
42777
|
case "getTotalSize": return () => a();
|
|
@@ -42789,29 +42788,29 @@ function DQ(e) {
|
|
|
42789
42788
|
} })), s._willUpdate(), i(ar(n.getVirtualItems(), { key: "index" })), o(n.getTotalSize());
|
|
42790
42789
|
}), s;
|
|
42791
42790
|
}
|
|
42792
|
-
function
|
|
42793
|
-
return
|
|
42794
|
-
observeElementRect:
|
|
42795
|
-
observeElementOffset:
|
|
42796
|
-
scrollToFn:
|
|
42791
|
+
function kQ(e) {
|
|
42792
|
+
return OQ(Ve({
|
|
42793
|
+
observeElementRect: _Q,
|
|
42794
|
+
observeElementOffset: xQ,
|
|
42795
|
+
scrollToFn: CQ
|
|
42797
42796
|
}, e));
|
|
42798
42797
|
}
|
|
42799
42798
|
//#endregion
|
|
42800
42799
|
//#region src/lib/agentWatch.ts
|
|
42801
42800
|
Rr();
|
|
42802
|
-
var
|
|
42801
|
+
var AQ = 3e4, jQ = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, MQ = {
|
|
42803
42802
|
running: [],
|
|
42804
42803
|
review: []
|
|
42805
|
-
},
|
|
42806
|
-
function
|
|
42807
|
-
return
|
|
42808
|
-
|
|
42804
|
+
}, NQ = null, PQ = /* @__PURE__ */ new Set();
|
|
42805
|
+
function FQ(e) {
|
|
42806
|
+
return PQ.add(e), NQ || (NQ = setInterval(() => void RQ(), AQ), RQ()), () => {
|
|
42807
|
+
PQ.delete(e), !PQ.size && NQ && (clearInterval(NQ), NQ = null);
|
|
42809
42808
|
};
|
|
42810
42809
|
}
|
|
42811
|
-
function
|
|
42812
|
-
|
|
42810
|
+
function IQ() {
|
|
42811
|
+
RQ();
|
|
42813
42812
|
}
|
|
42814
|
-
function
|
|
42813
|
+
function LQ(e) {
|
|
42815
42814
|
return {
|
|
42816
42815
|
id: e.id,
|
|
42817
42816
|
identifier: e.identifier,
|
|
@@ -42820,49 +42819,49 @@ function IQ(e) {
|
|
|
42820
42819
|
stateColor: e.state.color,
|
|
42821
42820
|
delegateName: e.delegate?.displayName ?? "Agent",
|
|
42822
42821
|
updatedAt: e.updatedAt,
|
|
42823
|
-
prUrl: e.attachments?.find((e) =>
|
|
42822
|
+
prUrl: e.attachments?.find((e) => jQ.test(e.url))?.url
|
|
42824
42823
|
};
|
|
42825
42824
|
}
|
|
42826
|
-
async function
|
|
42825
|
+
async function RQ() {
|
|
42827
42826
|
try {
|
|
42828
42827
|
let e = await Cr();
|
|
42829
42828
|
if (!e.linearApiKey && !e.linearAccessToken) return;
|
|
42830
|
-
let t = (await uO()).filter((e) => !!e.delegate && e.state.type === "started").map(
|
|
42831
|
-
|
|
42829
|
+
let t = (await uO()).filter((e) => !!e.delegate && e.state.type === "started").map(LQ);
|
|
42830
|
+
MQ = {
|
|
42832
42831
|
running: t.filter((e) => !e.prUrl),
|
|
42833
42832
|
review: t.filter((e) => !!e.prUrl)
|
|
42834
42833
|
};
|
|
42835
|
-
for (let e of
|
|
42834
|
+
for (let e of PQ) e(MQ);
|
|
42836
42835
|
} catch {}
|
|
42837
42836
|
}
|
|
42838
42837
|
//#endregion
|
|
42839
42838
|
//#region src/lib/captureShare.ts
|
|
42840
42839
|
Rr();
|
|
42841
|
-
function
|
|
42840
|
+
function zQ(e, t = 6e3) {
|
|
42842
42841
|
return Promise.race([e, new Promise((e, n) => setTimeout(() => n(/* @__PURE__ */ Error("upload timeout")), t))]);
|
|
42843
42842
|
}
|
|
42844
|
-
async function
|
|
42843
|
+
async function BQ() {
|
|
42845
42844
|
let e = [];
|
|
42846
42845
|
for (let t of await Tr() ?? []) {
|
|
42847
42846
|
let n = t.source?.filePath ? ` — \`${t.source.filePath}${t.source.lineNumber == null ? "" : `:${t.source.lineNumber}`}\`` : "";
|
|
42848
42847
|
if (e.push(`- \`<${t.componentName ?? t.tagName ?? "element"}>\`${n}`), t.screenshotDataUrl) try {
|
|
42849
|
-
let n = await
|
|
42848
|
+
let n = await zQ(xO(WA(t.screenshotDataUrl), `capture-${t.grabbedAt}.png`));
|
|
42850
42849
|
e.push(` `);
|
|
42851
42850
|
} catch {}
|
|
42852
42851
|
}
|
|
42853
42852
|
let t = BD();
|
|
42854
42853
|
if (t.result) try {
|
|
42855
|
-
let n = t.result.assetUrl ?? await
|
|
42854
|
+
let n = t.result.assetUrl ?? await zQ(xO(t.result.blob, `recording-${Date.now()}.gif`));
|
|
42856
42855
|
tO(n), e.push(``);
|
|
42857
42856
|
} catch {}
|
|
42858
42857
|
return e.length ? `Captured context:\n${e.join("\n")}` : null;
|
|
42859
42858
|
}
|
|
42860
42859
|
//#endregion
|
|
42861
42860
|
//#region src/panel/components/markdown.ts
|
|
42862
|
-
function
|
|
42861
|
+
function VQ(e) {
|
|
42863
42862
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
42864
42863
|
}
|
|
42865
|
-
var
|
|
42864
|
+
var HQ = /^(https?:\/\/|mailto:)/i, UQ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, WQ = /\.(png|jpe?g|gif|webp|avif|svg)(\?|#|$)/i, GQ = class extends HTMLElement {
|
|
42866
42865
|
objectUrl = null;
|
|
42867
42866
|
connectedCallback() {
|
|
42868
42867
|
let e = this.getAttribute("src") ?? "", t = this.getAttribute("alt") ?? "";
|
|
@@ -42889,27 +42888,27 @@ var VQ = /^(https?:\/\/|mailto:)/i, HQ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, UQ = /
|
|
|
42889
42888
|
this.objectUrl && URL.revokeObjectURL(this.objectUrl);
|
|
42890
42889
|
}
|
|
42891
42890
|
};
|
|
42892
|
-
typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media",
|
|
42893
|
-
var
|
|
42894
|
-
function KQ(e) {
|
|
42895
|
-
GQ = e ? e.replace(/\/$/, "") : null;
|
|
42896
|
-
}
|
|
42891
|
+
typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media", GQ);
|
|
42892
|
+
var KQ = null;
|
|
42897
42893
|
function qQ(e) {
|
|
42894
|
+
KQ = e ? e.replace(/\/$/, "") : null;
|
|
42895
|
+
}
|
|
42896
|
+
function JQ(e) {
|
|
42898
42897
|
try {
|
|
42899
|
-
if (
|
|
42898
|
+
if (KQ && new URL(e).hostname.endsWith("uploads.linear.app")) return `${KQ}/fetch?url=${encodeURIComponent(e)}`;
|
|
42900
42899
|
} catch {}
|
|
42901
42900
|
return e;
|
|
42902
42901
|
}
|
|
42903
|
-
function
|
|
42902
|
+
function YQ(e) {
|
|
42904
42903
|
let t = e;
|
|
42905
42904
|
return t = t.replace(/`([^`]+)`/g, (e, t) => `<code>${t}</code>`), t = t.replace(/!\[([^\]]*)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) => {
|
|
42906
|
-
if (!
|
|
42907
|
-
let r =
|
|
42908
|
-
return
|
|
42909
|
-
}), t = t.replace(/\[([^\]]+)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) =>
|
|
42905
|
+
if (!HQ.test(n)) return t;
|
|
42906
|
+
let r = JQ(n);
|
|
42907
|
+
return UQ.test(n) ? `<video controls preload="metadata" src="${r}"></video>` : r !== n && !WQ.test(n) ? `<lg-media src="${r}" alt="${t}"></lg-media>` : `<img src="${r}" alt="${t}" loading="lazy" />`;
|
|
42908
|
+
}), t = t.replace(/\[([^\]]+)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) => HQ.test(n) ? `<a href="${n}" target="_blank" rel="noopener noreferrer">${t}</a>` : t), t = t.replace(/<(https?:\/\/[^\s&]+)>/g, "<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>"), t = t.replace(/(^|[\s(])((?:https?:\/\/)[^\s<>()"']+)/g, (e, t, n) => `${t}<a href="${n}" target="_blank" rel="noopener noreferrer">${n}</a>`), t = t.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), t = t.replace(/(^|\W)\*([^*\n]+)\*(?=\W|$)/g, "$1<em>$2</em>"), t;
|
|
42910
42909
|
}
|
|
42911
|
-
function
|
|
42912
|
-
let t =
|
|
42910
|
+
function XQ(e) {
|
|
42911
|
+
let t = VQ(e.trim()).split("\n"), n = [], r = 0;
|
|
42913
42912
|
for (; r < t.length;) {
|
|
42914
42913
|
let e = t[r];
|
|
42915
42914
|
if (!e.trim()) {
|
|
@@ -42924,51 +42923,51 @@ function YQ(e) {
|
|
|
42924
42923
|
}
|
|
42925
42924
|
let i = e.match(/^(#{1,6})\s+(.*)$/);
|
|
42926
42925
|
if (i) {
|
|
42927
|
-
n.push(`<h4>${
|
|
42926
|
+
n.push(`<h4>${YQ(i[2])}</h4>`), r++;
|
|
42928
42927
|
continue;
|
|
42929
42928
|
}
|
|
42930
42929
|
if (/^\s*[-*]\s+/.test(e)) {
|
|
42931
42930
|
let e = [];
|
|
42932
|
-
for (; r < t.length && /^\s*[-*]\s+/.test(t[r]);) e.push(`<li>${
|
|
42931
|
+
for (; r < t.length && /^\s*[-*]\s+/.test(t[r]);) e.push(`<li>${YQ(t[r].replace(/^\s*[-*]\s+/, ""))}</li>`), r++;
|
|
42933
42932
|
n.push(`<ul>${e.join("")}</ul>`);
|
|
42934
42933
|
continue;
|
|
42935
42934
|
}
|
|
42936
42935
|
if (/^\s*\d+[.)]\s+/.test(e)) {
|
|
42937
42936
|
let e = [];
|
|
42938
|
-
for (; r < t.length && /^\s*\d+[.)]\s+/.test(t[r]);) e.push(`<li>${
|
|
42937
|
+
for (; r < t.length && /^\s*\d+[.)]\s+/.test(t[r]);) e.push(`<li>${YQ(t[r].replace(/^\s*\d+[.)]\s+/, ""))}</li>`), r++;
|
|
42939
42938
|
n.push(`<ol>${e.join("")}</ol>`);
|
|
42940
42939
|
continue;
|
|
42941
42940
|
}
|
|
42942
42941
|
let a = [];
|
|
42943
42942
|
for (; r < t.length && t[r].trim() && !/^(#{1,6}\s|```|\s*[-*]\s+|\s*\d+[.)]\s+)/.test(t[r]);) a.push(t[r]), r++;
|
|
42944
|
-
n.push(`<p>${
|
|
42943
|
+
n.push(`<p>${YQ(a.join("<br />"))}</p>`);
|
|
42945
42944
|
}
|
|
42946
42945
|
return n.join("");
|
|
42947
42946
|
}
|
|
42948
42947
|
//#endregion
|
|
42949
42948
|
//#region src/panel/views/ActivityView.tsx
|
|
42950
42949
|
Rr();
|
|
42951
|
-
var
|
|
42952
|
-
function
|
|
42953
|
-
let t = k(() =>
|
|
42950
|
+
var ZQ = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), QQ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), $Q = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), e$ = /*#__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\">"), t$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), n$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), r$ = /*#__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\">"), i$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), a$ = /*#__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\">"), o$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-left\">← Back"), s$ = /*#__PURE__*/ N("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), c$ = /*#__PURE__*/ N("<span class=\"truncate text-[12px] font-medium text-text\">"), l$ = /*#__PURE__*/ N("<span class=\"text-[11.5px] text-text-faint\">Loading…"), u$ = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), d$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2\">"), f$ = /*#__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\">"), p$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), m$ = /*#__PURE__*/ N("<option value=local>Message local Claude Code session"), h$ = /*#__PURE__*/ N("<option value=new>Start NEW agent (@<!>)"), g$ = /*#__PURE__*/ N("<option value=comment>Comment only"), _$ = /*#__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\">"), v$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), y$ = /*#__PURE__*/ N("<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\">"), b$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), x$ = /*#__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\">"), S$ = /*#__PURE__*/ N("<option selected>"), C$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border overflow-clip rounded-lg border\"><div class=\"border-border flex h-9 min-w-0 items-center justify-between gap-2 border-b px-3\"><div class=\"flex min-w-0 items-center gap-1.5 text-[11.5px] font-medium\"><span aria-hidden class=\"text-text-dim inline-flex\"></span><span class=\"text-text shrink-0\">Local Claude Code</span><span class=\"text-text-dim shrink-0\">started by you</span><span class=\"text-text-faint shrink-0 tabular-nums\">· </span></div></div><button class=\"hover:bg-surface-2 flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 px-3 text-left transition-colors\"title=\"Open the live thread in the Local tab\"><span></span><span class=\"text-text-faint min-w-0 flex-1 truncate text-[11.5px]\"></span><svg width=14 height=14 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden class=\"text-text-dim shrink-0\"><path d=\"m6 3.5 4.5 4.5L6 12.5\">"), w$ = /*#__PURE__*/ N("<option>"), T$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-center\">Merge"), E$ = /*#__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\">"), D$ = /*#__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\">"), O$ = /*#__PURE__*/ N("<option>Steer running agent<!> · "), k$ = /*#__PURE__*/ N("<span class=\"bg-danger inline-block size-2.5 rounded-full\"aria-hidden>"), A$ = /*#__PURE__*/ N("<span class=\"text-[11px] text-text-dim\">"), j$ = /*#__PURE__*/ N("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), M$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5 border-t border-border pt-1.5 mt-0.5\">"), N$ = /*#__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\">"), P$ = /*#__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\">");
|
|
42951
|
+
function F$(e) {
|
|
42952
|
+
let t = k(() => XQ(e.text));
|
|
42954
42953
|
return (() => {
|
|
42955
|
-
var e =
|
|
42954
|
+
var e = ZQ();
|
|
42956
42955
|
return D(() => e.innerHTML = t()), e;
|
|
42957
42956
|
})();
|
|
42958
42957
|
}
|
|
42959
|
-
function
|
|
42958
|
+
function I$() {
|
|
42960
42959
|
let [e, t] = T(null);
|
|
42961
42960
|
return O(() => {
|
|
42962
42961
|
let e = qA();
|
|
42963
42962
|
e && (t(e), XA());
|
|
42964
42963
|
}), (() => {
|
|
42965
|
-
var n =
|
|
42964
|
+
var n = QQ();
|
|
42966
42965
|
return P(n, j(M, {
|
|
42967
42966
|
get when() {
|
|
42968
42967
|
return e() === null;
|
|
42969
42968
|
},
|
|
42970
42969
|
get fallback() {
|
|
42971
|
-
return j(
|
|
42970
|
+
return j(z$, {
|
|
42972
42971
|
get issueId() {
|
|
42973
42972
|
return e();
|
|
42974
42973
|
},
|
|
@@ -42976,17 +42975,17 @@ function N$() {
|
|
|
42976
42975
|
});
|
|
42977
42976
|
},
|
|
42978
42977
|
get children() {
|
|
42979
|
-
return j(
|
|
42978
|
+
return j(L$, { onSelect: (e) => t(e) });
|
|
42980
42979
|
}
|
|
42981
42980
|
})), n;
|
|
42982
42981
|
})();
|
|
42983
42982
|
}
|
|
42984
|
-
function
|
|
42983
|
+
function L$(e) {
|
|
42985
42984
|
let t, n = _r(() => ({
|
|
42986
42985
|
queryKey: ["my-issues"],
|
|
42987
42986
|
queryFn: uO,
|
|
42988
42987
|
refetchInterval: 12e3
|
|
42989
|
-
})), r = k(() => n.data ?? []), i =
|
|
42988
|
+
})), r = k(() => n.data ?? []), i = kQ({
|
|
42990
42989
|
get count() {
|
|
42991
42990
|
return r().length;
|
|
42992
42991
|
},
|
|
@@ -42995,13 +42994,13 @@ function P$(e) {
|
|
|
42995
42994
|
overscan: 5
|
|
42996
42995
|
});
|
|
42997
42996
|
return (() => {
|
|
42998
|
-
var a =
|
|
42997
|
+
var a = r$(), o = a.firstChild.firstChild.nextSibling;
|
|
42999
42998
|
return P(o, j(M, {
|
|
43000
42999
|
get when() {
|
|
43001
43000
|
return n.dataUpdatedAt > 0;
|
|
43002
43001
|
},
|
|
43003
43002
|
get children() {
|
|
43004
|
-
var e =
|
|
43003
|
+
var e = $Q();
|
|
43005
43004
|
return e.firstChild, P(e, () => Nj(n.dataUpdatedAt), null), e;
|
|
43006
43005
|
}
|
|
43007
43006
|
}), null), P(o, j(vj, {
|
|
@@ -43013,14 +43012,14 @@ function P$(e) {
|
|
|
43013
43012
|
title: "Refresh",
|
|
43014
43013
|
"aria-label": "Refresh issues",
|
|
43015
43014
|
get children() {
|
|
43016
|
-
return $
|
|
43015
|
+
return e$();
|
|
43017
43016
|
}
|
|
43018
43017
|
}), null), P(a, j(M, {
|
|
43019
43018
|
get when() {
|
|
43020
43019
|
return n.isError;
|
|
43021
43020
|
},
|
|
43022
43021
|
get children() {
|
|
43023
|
-
var e =
|
|
43022
|
+
var e = t$();
|
|
43024
43023
|
return P(e, j(Aj, {
|
|
43025
43024
|
title: "Connect Linear in Settings",
|
|
43026
43025
|
get children() {
|
|
@@ -43033,7 +43032,7 @@ function P$(e) {
|
|
|
43033
43032
|
return $e(() => !n.isError && !n.isPending)() && r().length === 0;
|
|
43034
43033
|
},
|
|
43035
43034
|
get children() {
|
|
43036
|
-
var e =
|
|
43035
|
+
var e = t$();
|
|
43037
43036
|
return P(e, j(Aj, {
|
|
43038
43037
|
title: "No issues found",
|
|
43039
43038
|
children: "Issues you create will appear here."
|
|
@@ -43044,7 +43043,7 @@ function P$(e) {
|
|
|
43044
43043
|
return $e(() => !n.isError)() && r().length > 0;
|
|
43045
43044
|
},
|
|
43046
43045
|
get children() {
|
|
43047
|
-
var n =
|
|
43046
|
+
var n = n$(), a = n.firstChild, o = t;
|
|
43048
43047
|
return typeof o == "function" ? pt(o, n) : t = n, P(a, j(We, {
|
|
43049
43048
|
get each() {
|
|
43050
43049
|
return i.getVirtualItems();
|
|
@@ -43052,8 +43051,8 @@ function P$(e) {
|
|
|
43052
43051
|
children: (t) => {
|
|
43053
43052
|
let n = k(() => r()[t.index]);
|
|
43054
43053
|
return (() => {
|
|
43055
|
-
var r =
|
|
43056
|
-
return P(r, j(
|
|
43054
|
+
var r = i$();
|
|
43055
|
+
return P(r, j(R$, {
|
|
43057
43056
|
get issue() {
|
|
43058
43057
|
return n();
|
|
43059
43058
|
},
|
|
@@ -43068,9 +43067,9 @@ function P$(e) {
|
|
|
43068
43067
|
}), null), a;
|
|
43069
43068
|
})();
|
|
43070
43069
|
}
|
|
43071
|
-
function
|
|
43070
|
+
function R$(e) {
|
|
43072
43071
|
return (() => {
|
|
43073
|
-
var t =
|
|
43072
|
+
var t = a$(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling, o = a.firstChild;
|
|
43074
43073
|
return t.$$click = () => e.onSelect(e.issue.id), P(n, j(kj, { get color() {
|
|
43075
43074
|
return e.issue.state.color;
|
|
43076
43075
|
} }), r), P(r, () => e.issue.identifier), P(i, () => e.issue.title), P(a, j(Oj, { get children() {
|
|
@@ -43104,7 +43103,7 @@ function F$(e) {
|
|
|
43104
43103
|
}), o), P(o, () => Nj(e.issue.updatedAt)), t;
|
|
43105
43104
|
})();
|
|
43106
43105
|
}
|
|
43107
|
-
function
|
|
43106
|
+
function z$(e) {
|
|
43108
43107
|
let t = sr(), n = _r(() => ({
|
|
43109
43108
|
queryKey: ["issue", e.issueId],
|
|
43110
43109
|
queryFn: () => dO(e.issueId),
|
|
@@ -43123,10 +43122,36 @@ function I$(e) {
|
|
|
43123
43122
|
queryFn: DO,
|
|
43124
43123
|
refetchInterval: 5e3,
|
|
43125
43124
|
retry: 0
|
|
43126
|
-
})), o =
|
|
43125
|
+
})), o = [
|
|
43126
|
+
{
|
|
43127
|
+
id: "",
|
|
43128
|
+
label: "Default model"
|
|
43129
|
+
},
|
|
43130
|
+
{
|
|
43131
|
+
id: "fable",
|
|
43132
|
+
label: "Fable 5"
|
|
43133
|
+
},
|
|
43134
|
+
{
|
|
43135
|
+
id: "opus",
|
|
43136
|
+
label: "Opus"
|
|
43137
|
+
},
|
|
43138
|
+
{
|
|
43139
|
+
id: "sonnet",
|
|
43140
|
+
label: "Sonnet"
|
|
43141
|
+
},
|
|
43142
|
+
{
|
|
43143
|
+
id: "haiku",
|
|
43144
|
+
label: "Haiku"
|
|
43145
|
+
}
|
|
43146
|
+
], s = vr(() => ({
|
|
43147
|
+
mutationFn: (e) => jO(e.id, e.model),
|
|
43148
|
+
onSuccess: (e) => {
|
|
43149
|
+
t.setQueryData(["bridge-tasks"], (t) => t?.map((t) => t.id === e.id ? e : t));
|
|
43150
|
+
}
|
|
43151
|
+
})), c = k(() => {
|
|
43127
43152
|
let e = n.data?.identifier;
|
|
43128
43153
|
return e ? a.data?.find((t) => t.title.startsWith(e)) : void 0;
|
|
43129
|
-
}),
|
|
43154
|
+
}), l = (e) => e.status === "running" ? {
|
|
43130
43155
|
word: "Working…",
|
|
43131
43156
|
cls: "text-accent"
|
|
43132
43157
|
} : e.status === "done" ? {
|
|
@@ -43138,76 +43163,76 @@ function I$(e) {
|
|
|
43138
43163
|
} : {
|
|
43139
43164
|
word: "Error",
|
|
43140
43165
|
cls: "text-danger"
|
|
43141
|
-
}, [
|
|
43166
|
+
}, [u, d] = T(""), [f, p] = T(null), [m, h] = T(0), g = _r(() => ({
|
|
43142
43167
|
queryKey: ["grab"],
|
|
43143
43168
|
queryFn: Tr,
|
|
43144
43169
|
enabled: ZA() === "composer"
|
|
43145
|
-
})), [
|
|
43146
|
-
|
|
43170
|
+
})), [_, v] = T(!1), y = async () => {
|
|
43171
|
+
v(!0), p(null);
|
|
43147
43172
|
try {
|
|
43148
|
-
let e = await
|
|
43149
|
-
e ?
|
|
43173
|
+
let e = await BQ();
|
|
43174
|
+
e ? d((t) => `${t ? `${t}\n` : ""}${e}\n`) : p("Nothing captured yet — pick an element, capture a region, or record first.");
|
|
43150
43175
|
} catch (e) {
|
|
43151
|
-
|
|
43176
|
+
p(e instanceof Error ? e.message : "Attach failed.");
|
|
43152
43177
|
} finally {
|
|
43153
|
-
|
|
43178
|
+
v(!1);
|
|
43154
43179
|
}
|
|
43155
|
-
},
|
|
43180
|
+
}, b = () => {
|
|
43156
43181
|
if (ZA() === "composer") {
|
|
43157
43182
|
$A("capture");
|
|
43158
43183
|
return;
|
|
43159
43184
|
}
|
|
43160
|
-
|
|
43185
|
+
h(Date.now()), $A("composer"), FZ().catch(() => $A("capture"));
|
|
43161
43186
|
};
|
|
43162
43187
|
O(() => {
|
|
43163
43188
|
if (ZA() !== "composer") return;
|
|
43164
|
-
let e = (
|
|
43189
|
+
let e = (g.data ?? []).filter((e) => e.grabbedAt > m());
|
|
43165
43190
|
if (!e.length) return;
|
|
43166
43191
|
let t = e.map((e) => {
|
|
43167
43192
|
let t = e.source?.filePath ? ` — \`${e.source.filePath}${e.source.lineNumber == null ? "" : `:${e.source.lineNumber}`}\`` : "";
|
|
43168
43193
|
return `- \`<${e.componentName ?? e.tagName ?? "element"}>\`${t}`;
|
|
43169
43194
|
}).join("\n");
|
|
43170
|
-
|
|
43195
|
+
d((e) => `${e ? `${e}\n` : ""}${t}\n`), h(Math.max(...e.map((e) => e.grabbedAt)));
|
|
43171
43196
|
});
|
|
43172
|
-
let [
|
|
43173
|
-
ae(VD(
|
|
43174
|
-
let
|
|
43197
|
+
let [x, S] = T(BD());
|
|
43198
|
+
ae(VD(S));
|
|
43199
|
+
let C = !1;
|
|
43175
43200
|
O(() => {
|
|
43176
|
-
|
|
43201
|
+
x().phase === "ready" && C && (C = !1, y());
|
|
43177
43202
|
});
|
|
43178
|
-
let
|
|
43179
|
-
|
|
43180
|
-
},
|
|
43181
|
-
queryKey: ["pr-status",
|
|
43182
|
-
queryFn: () => IO(
|
|
43203
|
+
let w = () => {
|
|
43204
|
+
x().phase === "recording" ? QD() : (C = !0, ZD());
|
|
43205
|
+
}, E = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, ee = k(() => (n.data?.attachments ?? []).map((e) => e.url).filter((e) => E.test(e))), te = _r(() => ({
|
|
43206
|
+
queryKey: ["pr-status", ee().sort().join("|")],
|
|
43207
|
+
queryFn: () => IO(ee()),
|
|
43183
43208
|
refetchInterval: 3e4,
|
|
43184
43209
|
retry: 0,
|
|
43185
|
-
enabled:
|
|
43186
|
-
})),
|
|
43187
|
-
|
|
43210
|
+
enabled: ee().length > 0
|
|
43211
|
+
})), A = (e) => ie().has(e) ? "MERGED" : te.data?.[e], [ne, re] = T(null), [ie, oe] = T(/* @__PURE__ */ new Set()), [se, ce] = T(null), le = async (n) => {
|
|
43212
|
+
ce(null), re(n);
|
|
43188
43213
|
try {
|
|
43189
|
-
await LO(n),
|
|
43214
|
+
await LO(n), oe((e) => new Set(e).add(n)), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), t.invalidateQueries({ queryKey: ["my-issues"] }), IQ();
|
|
43190
43215
|
} catch (e) {
|
|
43191
|
-
|
|
43216
|
+
ce(e instanceof Error ? `${e.message} (bridge must be running; gh needs merge rights)` : "Merge failed.");
|
|
43192
43217
|
} finally {
|
|
43193
|
-
|
|
43218
|
+
re(null);
|
|
43194
43219
|
}
|
|
43195
|
-
},
|
|
43220
|
+
}, ue = k(() => n.data ? yO(n.data.comments) : []), [de, fe] = T("comment"), pe = !1, me = !1;
|
|
43196
43221
|
O(() => {
|
|
43197
|
-
if (
|
|
43198
|
-
|
|
43199
|
-
let e =
|
|
43200
|
-
e.length ?
|
|
43222
|
+
if (me || !n.data || !i.data) return;
|
|
43223
|
+
me = !0;
|
|
43224
|
+
let e = ue();
|
|
43225
|
+
e.length ? fe(`thread:${e[0].id}`) : n.data.delegate && i.data.cursorAgentId && fe("new");
|
|
43201
43226
|
}), O(() => {
|
|
43202
|
-
|
|
43227
|
+
pe || c() && (de() === "comment" || de() === "new") && fe("local");
|
|
43203
43228
|
});
|
|
43204
|
-
let
|
|
43229
|
+
let he = vr(() => ({
|
|
43205
43230
|
mutationFn: async () => {
|
|
43206
|
-
let t =
|
|
43231
|
+
let t = u().trim();
|
|
43207
43232
|
if (!t) throw Error("Message is empty");
|
|
43208
|
-
let n = i.data ?? {}, r =
|
|
43233
|
+
let n = i.data ?? {}, r = de();
|
|
43209
43234
|
if (r === "local") {
|
|
43210
|
-
let n =
|
|
43235
|
+
let n = c();
|
|
43211
43236
|
if (!n) throw Error("Local session not found — is the bridge running?");
|
|
43212
43237
|
await AO(n.id, t), await _O(e.issueId, `🖥️ **→ local agent:** ${t}`).catch(() => {});
|
|
43213
43238
|
} else r.startsWith("thread:") ? await _O(e.issueId, t, r.slice(7)) : r === "new" && n.cursorAgentId ? await vO(e.issueId, t, {
|
|
@@ -43217,141 +43242,166 @@ function I$(e) {
|
|
|
43217
43242
|
}) : await _O(e.issueId, t);
|
|
43218
43243
|
},
|
|
43219
43244
|
onSuccess: () => {
|
|
43220
|
-
|
|
43245
|
+
d(""), p(null), $A("capture"), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), IQ();
|
|
43221
43246
|
},
|
|
43222
43247
|
onError: (e) => {
|
|
43223
|
-
|
|
43248
|
+
p(e.message ?? "Failed to send");
|
|
43224
43249
|
}
|
|
43225
|
-
})),
|
|
43250
|
+
})), ge = k(() => n.data), _e = k(() => r.data ?? []);
|
|
43226
43251
|
return (() => {
|
|
43227
|
-
var t =
|
|
43252
|
+
var t = x$(), r = t.firstChild, a = r.firstChild, p = r.nextSibling, m = p.nextSibling, h = m.firstChild;
|
|
43228
43253
|
return P(a, j(vj, {
|
|
43229
43254
|
class: "min-w-[68px] shrink-0 text-[11px]",
|
|
43230
43255
|
get onClick() {
|
|
43231
43256
|
return e.onBack;
|
|
43232
43257
|
},
|
|
43233
43258
|
get children() {
|
|
43234
|
-
return
|
|
43259
|
+
return o$();
|
|
43235
43260
|
}
|
|
43236
43261
|
}), null), P(a, j(M, {
|
|
43237
43262
|
get when() {
|
|
43238
|
-
return
|
|
43263
|
+
return ge();
|
|
43239
43264
|
},
|
|
43240
43265
|
get children() {
|
|
43241
43266
|
return [(() => {
|
|
43242
|
-
var e = o$();
|
|
43243
|
-
return P(e, () => me().identifier), e;
|
|
43244
|
-
})(), (() => {
|
|
43245
43267
|
var e = s$();
|
|
43246
|
-
return P(e, () =>
|
|
43268
|
+
return P(e, () => ge().identifier), e;
|
|
43269
|
+
})(), (() => {
|
|
43270
|
+
var e = c$();
|
|
43271
|
+
return P(e, () => ge().title), e;
|
|
43247
43272
|
})()];
|
|
43248
43273
|
}
|
|
43249
43274
|
}), null), P(a, j(M, {
|
|
43250
43275
|
get when() {
|
|
43251
|
-
return $e(() => !!n.isPending)() && !
|
|
43276
|
+
return $e(() => !!n.isPending)() && !ge();
|
|
43252
43277
|
},
|
|
43253
43278
|
get children() {
|
|
43254
|
-
return
|
|
43279
|
+
return l$();
|
|
43255
43280
|
}
|
|
43256
43281
|
}), null), P(r, j(M, {
|
|
43257
43282
|
get when() {
|
|
43258
|
-
return
|
|
43283
|
+
return ge();
|
|
43259
43284
|
},
|
|
43260
43285
|
get children() {
|
|
43261
|
-
var e =
|
|
43286
|
+
var e = u$(), t = e.firstChild;
|
|
43262
43287
|
return P(e, j(kj, { get color() {
|
|
43263
|
-
return
|
|
43264
|
-
} }), t), P(t, () =>
|
|
43288
|
+
return ge().state.color;
|
|
43289
|
+
} }), t), P(t, () => ge().state.name), P(e, j(Tj, {
|
|
43265
43290
|
get href() {
|
|
43266
|
-
return
|
|
43291
|
+
return ge().url;
|
|
43267
43292
|
},
|
|
43268
43293
|
class: "ml-auto shrink-0",
|
|
43269
43294
|
children: "Open in Linear"
|
|
43270
43295
|
}), null), e;
|
|
43271
43296
|
}
|
|
43272
|
-
}), null), P(
|
|
43297
|
+
}), null), P(p, j(M, {
|
|
43273
43298
|
get when() {
|
|
43274
|
-
return
|
|
43299
|
+
return c();
|
|
43275
43300
|
},
|
|
43276
43301
|
children: (e) => {
|
|
43277
|
-
let t = () =>
|
|
43302
|
+
let t = () => l(e());
|
|
43278
43303
|
return (() => {
|
|
43279
|
-
var n =
|
|
43304
|
+
var n = C$(), r = n.firstChild, i = r.firstChild.firstChild, a = i.nextSibling.nextSibling.nextSibling;
|
|
43280
43305
|
a.firstChild;
|
|
43281
|
-
var
|
|
43282
|
-
return P(i, j(wj, { size: 12 })), P(a, () => Nj(e().startedAt), null), P(r, j(
|
|
43283
|
-
|
|
43284
|
-
|
|
43306
|
+
var c = r.nextSibling, l = c.firstChild, u = l.nextSibling;
|
|
43307
|
+
return P(i, j(wj, { size: 12 })), P(a, () => Nj(e().startedAt), null), P(r, j(Sj, {
|
|
43308
|
+
class: "h-6 w-auto max-w-[40%] shrink-0 text-[10.5px]",
|
|
43309
|
+
get value() {
|
|
43310
|
+
return e().pendingModel ?? e().model ?? "";
|
|
43311
|
+
},
|
|
43312
|
+
onChange: (t) => s.mutate({
|
|
43313
|
+
id: e().id,
|
|
43314
|
+
model: t.currentTarget.value
|
|
43315
|
+
}),
|
|
43316
|
+
title: "Model — applies from the next message",
|
|
43317
|
+
get children() {
|
|
43318
|
+
return [j(We, {
|
|
43319
|
+
each: o,
|
|
43320
|
+
children: (t) => (() => {
|
|
43321
|
+
var n = w$();
|
|
43322
|
+
return P(n, () => t.label), D(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), D(() => n.value = t.id), n;
|
|
43323
|
+
})()
|
|
43324
|
+
}), j(M, {
|
|
43325
|
+
get when() {
|
|
43326
|
+
return !o.some((t) => t.id === (e().pendingModel ?? e().model ?? ""));
|
|
43327
|
+
},
|
|
43328
|
+
get children() {
|
|
43329
|
+
var t = S$();
|
|
43330
|
+
return P(t, () => e().pendingModel ?? e().model), D(() => t.value = e().pendingModel ?? e().model ?? ""), t;
|
|
43331
|
+
}
|
|
43332
|
+
})];
|
|
43333
|
+
}
|
|
43334
|
+
}), null), c.$$click = () => YA("local"), P(c, j(M, {
|
|
43285
43335
|
get when() {
|
|
43286
43336
|
return e().status === "running";
|
|
43287
43337
|
},
|
|
43288
43338
|
get children() {
|
|
43289
43339
|
return j(yj, { size: 12 });
|
|
43290
43340
|
}
|
|
43291
|
-
}),
|
|
43341
|
+
}), l), P(l, () => t().word), P(u, (() => {
|
|
43292
43342
|
var t = $e(() => e().status === "done");
|
|
43293
43343
|
return () => t() ? e().result ?? e().lastText : e().lastText;
|
|
43294
|
-
})()), D(() => st(
|
|
43344
|
+
})()), D(() => st(l, `shrink-0 text-[11.5px] font-medium ${t().cls}`)), n;
|
|
43295
43345
|
})();
|
|
43296
43346
|
}
|
|
43297
|
-
}), null), P(
|
|
43347
|
+
}), null), P(p, j(M, {
|
|
43298
43348
|
get when() {
|
|
43299
|
-
return
|
|
43349
|
+
return _e().length > 0;
|
|
43300
43350
|
},
|
|
43301
43351
|
get children() {
|
|
43302
|
-
var e =
|
|
43352
|
+
var e = d$();
|
|
43303
43353
|
return P(e, j(We, {
|
|
43304
43354
|
get each() {
|
|
43305
|
-
return
|
|
43355
|
+
return _e();
|
|
43306
43356
|
},
|
|
43307
|
-
children: (e) => j(
|
|
43357
|
+
children: (e) => j(B$, { session: e })
|
|
43308
43358
|
})), e;
|
|
43309
43359
|
}
|
|
43310
|
-
}), null), P(
|
|
43360
|
+
}), null), P(p, j(M, {
|
|
43311
43361
|
get when() {
|
|
43312
|
-
return $e(() => !!
|
|
43362
|
+
return $e(() => !!ge())() && ge().attachments.length > 0;
|
|
43313
43363
|
},
|
|
43314
43364
|
get children() {
|
|
43315
|
-
var e =
|
|
43365
|
+
var e = f$(), t = e.firstChild.nextSibling;
|
|
43316
43366
|
return P(t, j(We, {
|
|
43317
43367
|
get each() {
|
|
43318
|
-
return
|
|
43368
|
+
return ge().attachments;
|
|
43319
43369
|
},
|
|
43320
43370
|
children: (e) => {
|
|
43321
43371
|
let t = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i.test(e.url);
|
|
43322
43372
|
return (() => {
|
|
43323
|
-
var n =
|
|
43373
|
+
var n = E$(), r = n.firstChild;
|
|
43324
43374
|
return P(r, () => e.title), P(n, j(M, {
|
|
43325
43375
|
get when() {
|
|
43326
|
-
return $e(() => !!(t &&
|
|
43376
|
+
return $e(() => !!(t && A(e.url)))() && A(e.url) !== "OPEN";
|
|
43327
43377
|
},
|
|
43328
43378
|
get children() {
|
|
43329
43379
|
return j(Oj, {
|
|
43330
43380
|
get class() {
|
|
43331
|
-
return `ml-auto shrink-0 ${
|
|
43381
|
+
return `ml-auto shrink-0 ${A(e.url) === "MERGED" ? "text-success" : "text-text-faint"}`;
|
|
43332
43382
|
},
|
|
43333
43383
|
get children() {
|
|
43334
|
-
return
|
|
43384
|
+
return A(e.url) === "MERGED" ? "✓ merged" : "closed";
|
|
43335
43385
|
}
|
|
43336
43386
|
});
|
|
43337
43387
|
}
|
|
43338
43388
|
}), null), P(n, j(M, {
|
|
43339
43389
|
get when() {
|
|
43340
|
-
return t && (!
|
|
43390
|
+
return t && (!A(e.url) || A(e.url) === "OPEN");
|
|
43341
43391
|
},
|
|
43342
43392
|
get children() {
|
|
43343
43393
|
return j(vj, {
|
|
43344
43394
|
variant: "primary",
|
|
43345
43395
|
class: "ml-auto h-6 shrink-0 px-2 text-[11px]",
|
|
43346
43396
|
get loading() {
|
|
43347
|
-
return
|
|
43397
|
+
return ne() === e.url;
|
|
43348
43398
|
},
|
|
43349
43399
|
get title() {
|
|
43350
|
-
return
|
|
43400
|
+
return te.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.";
|
|
43351
43401
|
},
|
|
43352
|
-
onClick: () => void
|
|
43402
|
+
onClick: () => void le(e.url),
|
|
43353
43403
|
get children() {
|
|
43354
|
-
return
|
|
43404
|
+
return T$();
|
|
43355
43405
|
}
|
|
43356
43406
|
});
|
|
43357
43407
|
}
|
|
@@ -43366,29 +43416,29 @@ function I$(e) {
|
|
|
43366
43416
|
}
|
|
43367
43417
|
}), null), P(t, j(M, {
|
|
43368
43418
|
get when() {
|
|
43369
|
-
return
|
|
43419
|
+
return se();
|
|
43370
43420
|
},
|
|
43371
43421
|
get children() {
|
|
43372
43422
|
return j(jj, { get message() {
|
|
43373
|
-
return
|
|
43423
|
+
return se();
|
|
43374
43424
|
} });
|
|
43375
43425
|
}
|
|
43376
43426
|
}), null), e;
|
|
43377
43427
|
}
|
|
43378
|
-
}), null), P(
|
|
43428
|
+
}), null), P(p, j(M, {
|
|
43379
43429
|
get when() {
|
|
43380
|
-
return $e(() => !!
|
|
43430
|
+
return $e(() => !!ge())() && ge().comments.length > 0;
|
|
43381
43431
|
},
|
|
43382
43432
|
get children() {
|
|
43383
|
-
var e =
|
|
43433
|
+
var e = p$();
|
|
43384
43434
|
return e.firstChild, P(e, j(Ge, {
|
|
43385
43435
|
get each() {
|
|
43386
|
-
return
|
|
43436
|
+
return ge().comments;
|
|
43387
43437
|
},
|
|
43388
43438
|
children: (e) => {
|
|
43389
43439
|
let t = e();
|
|
43390
43440
|
return (() => {
|
|
43391
|
-
var e =
|
|
43441
|
+
var e = D$(), n = e.firstChild, r = n.firstChild, i = r.nextSibling;
|
|
43392
43442
|
return P(r, () => t.user?.displayName ?? t.user?.name ?? "Unknown"), P(n, j(M, {
|
|
43393
43443
|
get when() {
|
|
43394
43444
|
return t.user?.app;
|
|
@@ -43396,16 +43446,16 @@ function I$(e) {
|
|
|
43396
43446
|
get children() {
|
|
43397
43447
|
return j(Oj, { children: "agent" });
|
|
43398
43448
|
}
|
|
43399
|
-
}), i), P(i, () => Nj(t.createdAt)), P(e, j(
|
|
43449
|
+
}), i), P(i, () => Nj(t.createdAt)), P(e, j(F$, { get text() {
|
|
43400
43450
|
return t.body;
|
|
43401
43451
|
} }), null), e;
|
|
43402
43452
|
})();
|
|
43403
43453
|
}
|
|
43404
43454
|
}), null), e;
|
|
43405
43455
|
}
|
|
43406
|
-
}), null), P(
|
|
43456
|
+
}), null), P(p, j(M, {
|
|
43407
43457
|
get when() {
|
|
43408
|
-
return $e(() => !!(
|
|
43458
|
+
return $e(() => !!(ge() && ge().comments.length === 0))() && _e().length === 0;
|
|
43409
43459
|
},
|
|
43410
43460
|
get children() {
|
|
43411
43461
|
return j(Aj, {
|
|
@@ -43413,9 +43463,9 @@ function I$(e) {
|
|
|
43413
43463
|
children: "Comments and agent sessions will appear here."
|
|
43414
43464
|
});
|
|
43415
43465
|
}
|
|
43416
|
-
}), null), P(
|
|
43466
|
+
}), null), P(p, j(M, {
|
|
43417
43467
|
get when() {
|
|
43418
|
-
return $e(() => !!n.isError)() && !
|
|
43468
|
+
return $e(() => !!n.isError)() && !ge();
|
|
43419
43469
|
},
|
|
43420
43470
|
get children() {
|
|
43421
43471
|
return j(Aj, {
|
|
@@ -43425,54 +43475,54 @@ function I$(e) {
|
|
|
43425
43475
|
}
|
|
43426
43476
|
});
|
|
43427
43477
|
}
|
|
43428
|
-
}), null), P(
|
|
43478
|
+
}), null), P(m, j(M, {
|
|
43429
43479
|
get when() {
|
|
43430
|
-
return
|
|
43480
|
+
return f();
|
|
43431
43481
|
},
|
|
43432
43482
|
get children() {
|
|
43433
43483
|
return j(jj, { get message() {
|
|
43434
|
-
return
|
|
43484
|
+
return f();
|
|
43435
43485
|
} });
|
|
43436
43486
|
}
|
|
43437
|
-
}),
|
|
43487
|
+
}), h), P(m, j(xj, {
|
|
43438
43488
|
rows: 2,
|
|
43439
43489
|
placeholder: "Reply — steer the agent or add context…",
|
|
43440
43490
|
get value() {
|
|
43441
|
-
return
|
|
43491
|
+
return u();
|
|
43442
43492
|
},
|
|
43443
|
-
onInput: (e) =>
|
|
43493
|
+
onInput: (e) => d(e.target.value),
|
|
43444
43494
|
get disabled() {
|
|
43445
|
-
return
|
|
43495
|
+
return he.isPending;
|
|
43446
43496
|
}
|
|
43447
|
-
}),
|
|
43497
|
+
}), h), P(h, j(Sj, {
|
|
43448
43498
|
class: "min-w-0 flex-1",
|
|
43449
43499
|
get value() {
|
|
43450
|
-
return
|
|
43500
|
+
return de();
|
|
43451
43501
|
},
|
|
43452
43502
|
onChange: (e) => {
|
|
43453
|
-
|
|
43503
|
+
pe = !0, fe(e.currentTarget.value);
|
|
43454
43504
|
},
|
|
43455
43505
|
get children() {
|
|
43456
43506
|
return [
|
|
43457
43507
|
j(M, {
|
|
43458
43508
|
get when() {
|
|
43459
|
-
return
|
|
43509
|
+
return c();
|
|
43460
43510
|
},
|
|
43461
43511
|
get children() {
|
|
43462
|
-
var e =
|
|
43463
|
-
return D(() => e.selected =
|
|
43512
|
+
var e = m$();
|
|
43513
|
+
return D(() => e.selected = de() === "local"), e;
|
|
43464
43514
|
}
|
|
43465
43515
|
}),
|
|
43466
43516
|
j(We, {
|
|
43467
43517
|
get each() {
|
|
43468
|
-
return
|
|
43518
|
+
return ue();
|
|
43469
43519
|
},
|
|
43470
43520
|
children: (e, t) => (() => {
|
|
43471
|
-
var n =
|
|
43521
|
+
var n = O$(), r = n.firstChild.nextSibling;
|
|
43472
43522
|
return r.nextSibling, P(n, (() => {
|
|
43473
|
-
var e = $e(() =>
|
|
43523
|
+
var e = $e(() => ue().length > 1);
|
|
43474
43524
|
return () => e() ? ` #${t() + 1}` : "";
|
|
43475
|
-
})(), r), P(n, () => Nj(e.createdAt), null), D(() => n.selected =
|
|
43525
|
+
})(), r), P(n, () => Nj(e.createdAt), null), D(() => n.selected = de() === `thread:${e.id}`), D(() => n.value = `thread:${e.id}`), n;
|
|
43476
43526
|
})()
|
|
43477
43527
|
}),
|
|
43478
43528
|
j(M, {
|
|
@@ -43480,17 +43530,17 @@ function I$(e) {
|
|
|
43480
43530
|
return i.data?.cursorAgentId;
|
|
43481
43531
|
},
|
|
43482
43532
|
get children() {
|
|
43483
|
-
var e =
|
|
43484
|
-
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected =
|
|
43533
|
+
var e = h$(), t = e.firstChild.nextSibling;
|
|
43534
|
+
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected = de() === "new"), e;
|
|
43485
43535
|
}
|
|
43486
43536
|
}),
|
|
43487
43537
|
(() => {
|
|
43488
|
-
var e =
|
|
43489
|
-
return D(() => e.selected =
|
|
43538
|
+
var e = g$();
|
|
43539
|
+
return D(() => e.selected = de() === "comment"), e;
|
|
43490
43540
|
})()
|
|
43491
43541
|
];
|
|
43492
43542
|
}
|
|
43493
|
-
}), null), P(
|
|
43543
|
+
}), null), P(h, j(vj, {
|
|
43494
43544
|
variant: "ghost",
|
|
43495
43545
|
get class() {
|
|
43496
43546
|
return `size-7 shrink-0 px-0 ${ZA() === "composer" ? "text-accent" : ""}`;
|
|
@@ -43499,68 +43549,68 @@ function I$(e) {
|
|
|
43499
43549
|
return ZA() === "composer" ? "Pick mode ON — every pick appends here. Click to stop." : "Pick elements — refs append to this reply (stays on until toggled off or sent)";
|
|
43500
43550
|
},
|
|
43501
43551
|
"aria-label": "Pick element for reply",
|
|
43502
|
-
onClick:
|
|
43552
|
+
onClick: b,
|
|
43503
43553
|
get children() {
|
|
43504
|
-
return
|
|
43554
|
+
return _$();
|
|
43505
43555
|
}
|
|
43506
|
-
}), null), P(
|
|
43556
|
+
}), null), P(h, j(vj, {
|
|
43507
43557
|
variant: "ghost",
|
|
43508
43558
|
get class() {
|
|
43509
|
-
return `size-7 shrink-0 px-0 ${
|
|
43559
|
+
return `size-7 shrink-0 px-0 ${x().phase === "recording" ? "text-danger" : ""}`;
|
|
43510
43560
|
},
|
|
43511
43561
|
get title() {
|
|
43512
|
-
return
|
|
43562
|
+
return x().phase === "recording" ? "Stop recording — the GIF auto-attaches to this reply" : "Record a GIF from this thread (auto-attaches when done)";
|
|
43513
43563
|
},
|
|
43514
43564
|
"aria-label": "Record GIF",
|
|
43515
|
-
onClick:
|
|
43565
|
+
onClick: w,
|
|
43516
43566
|
get children() {
|
|
43517
43567
|
return j(M, {
|
|
43518
43568
|
get when() {
|
|
43519
|
-
return
|
|
43569
|
+
return x().phase === "recording";
|
|
43520
43570
|
},
|
|
43521
43571
|
get fallback() {
|
|
43522
|
-
return
|
|
43572
|
+
return k$();
|
|
43523
43573
|
},
|
|
43524
43574
|
get children() {
|
|
43525
|
-
return
|
|
43575
|
+
return v$();
|
|
43526
43576
|
}
|
|
43527
43577
|
});
|
|
43528
43578
|
}
|
|
43529
|
-
}), null), P(
|
|
43579
|
+
}), null), P(h, j(vj, {
|
|
43530
43580
|
variant: "ghost",
|
|
43531
43581
|
class: "size-7 shrink-0 px-0",
|
|
43532
43582
|
get loading() {
|
|
43533
|
-
return
|
|
43583
|
+
return _();
|
|
43534
43584
|
},
|
|
43535
43585
|
title: "Attach captures — element refs, screenshots, region shots, recording GIF",
|
|
43536
43586
|
"aria-label": "Attach captures",
|
|
43537
|
-
onClick: () => void
|
|
43587
|
+
onClick: () => void y(),
|
|
43538
43588
|
get children() {
|
|
43539
|
-
return
|
|
43589
|
+
return y$();
|
|
43540
43590
|
}
|
|
43541
|
-
}), null), P(
|
|
43591
|
+
}), null), P(h, j(vj, {
|
|
43542
43592
|
class: "min-w-[52px] shrink-0",
|
|
43543
43593
|
variant: "primary",
|
|
43544
43594
|
get loading() {
|
|
43545
|
-
return
|
|
43595
|
+
return he.isPending;
|
|
43546
43596
|
},
|
|
43547
43597
|
get disabled() {
|
|
43548
|
-
return
|
|
43598
|
+
return u().trim().length === 0;
|
|
43549
43599
|
},
|
|
43550
|
-
onClick: () =>
|
|
43600
|
+
onClick: () => he.mutate(),
|
|
43551
43601
|
get children() {
|
|
43552
|
-
return
|
|
43602
|
+
return b$();
|
|
43553
43603
|
}
|
|
43554
43604
|
}), null), t;
|
|
43555
43605
|
})();
|
|
43556
43606
|
}
|
|
43557
|
-
function
|
|
43607
|
+
function B$(e) {
|
|
43558
43608
|
let t = k(() => {
|
|
43559
43609
|
let t = e.session.status;
|
|
43560
43610
|
return /complete|done/i.test(t) ? "var(--color-success)" : /await|pending|elicit/i.test(t) ? "var(--color-warn)" : "var(--color-accent)";
|
|
43561
43611
|
}), n = k(() => e.session.activities.slice(-10));
|
|
43562
43612
|
return (() => {
|
|
43563
|
-
var r =
|
|
43613
|
+
var r = N$(), i = r.firstChild, a = i.firstChild;
|
|
43564
43614
|
return P(i, j(Oj, {
|
|
43565
43615
|
get color() {
|
|
43566
43616
|
return t();
|
|
@@ -43573,7 +43623,7 @@ function L$(e) {
|
|
|
43573
43623
|
return e.session.appUser?.displayName;
|
|
43574
43624
|
},
|
|
43575
43625
|
get children() {
|
|
43576
|
-
var t =
|
|
43626
|
+
var t = A$();
|
|
43577
43627
|
return P(t, () => e.session.appUser.displayName), t;
|
|
43578
43628
|
}
|
|
43579
43629
|
}), a), P(a, () => Nj(e.session.updatedAt)), P(r, j(M, {
|
|
@@ -43581,7 +43631,7 @@ function L$(e) {
|
|
|
43581
43631
|
return e.session.summary;
|
|
43582
43632
|
},
|
|
43583
43633
|
get children() {
|
|
43584
|
-
var t =
|
|
43634
|
+
var t = j$();
|
|
43585
43635
|
return P(t, () => e.session.summary), t;
|
|
43586
43636
|
}
|
|
43587
43637
|
}), null), P(r, j(M, {
|
|
@@ -43589,7 +43639,7 @@ function L$(e) {
|
|
|
43589
43639
|
return n().length > 0;
|
|
43590
43640
|
},
|
|
43591
43641
|
get children() {
|
|
43592
|
-
var e =
|
|
43642
|
+
var e = M$();
|
|
43593
43643
|
return P(e, j(We, {
|
|
43594
43644
|
get each() {
|
|
43595
43645
|
return n();
|
|
@@ -43597,7 +43647,7 @@ function L$(e) {
|
|
|
43597
43647
|
children: (e) => {
|
|
43598
43648
|
let t = e.content, n = String(t?.body ?? t?.text ?? t?.type ?? JSON.stringify(t)).slice(0, 300);
|
|
43599
43649
|
return (() => {
|
|
43600
|
-
var t =
|
|
43650
|
+
var t = P$(), r = t.firstChild, i = r.nextSibling;
|
|
43601
43651
|
return P(r, () => Nj(e.createdAt)), P(i, n), t;
|
|
43602
43652
|
})();
|
|
43603
43653
|
}
|
|
@@ -43609,7 +43659,7 @@ function L$(e) {
|
|
|
43609
43659
|
//#endregion
|
|
43610
43660
|
//#region src/panel/views/LocalView.tsx
|
|
43611
43661
|
rt(["click"]), Rr();
|
|
43612
|
-
var
|
|
43662
|
+
var V$ = /*#__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\">"), H$ = /*#__PURE__*/ N("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), U$ = /*#__PURE__*/ N("<p>"), W$ = /*#__PURE__*/ N("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running · "), G$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), K$ = /*#__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"), J$ = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), Y$ = /*#__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]\">"), X$ = /*#__PURE__*/ N("<option selected>"), Z$ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), Q$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><path d=\"M14 10a2 2 0 0 1-2 2H6l-3.5 2.5V4a2 2 0 0 1 2-2H12a2 2 0 0 1 2 2v6Z\">"), $$ = /*#__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>"), e1 = /*#__PURE__*/ N("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), t1 = /*#__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>−"), n1 = /*#__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\">"), r1 = /*#__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\">"), i1 = /*#__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\">"), a1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><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\">"), o1 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Send"), s1 = /*#__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]\">"), c1 = /*#__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\">"), l1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), u1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\">"), d1 = /*#__PURE__*/ N("<option>"), f1 = /*#__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>"), p1 = /*#__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\">"), m1 = /*#__PURE__*/ N("<span class=text-success>+"), h1 = /*#__PURE__*/ N("<span class=text-danger>−"), g1 = /*#__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\">"), _1 = /*#__PURE__*/ N("<span class=text-text-faint>bin"), v1 = /*#__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"), y1 = /*#__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\">"), b1 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), x1 = [
|
|
43613
43663
|
{
|
|
43614
43664
|
id: "",
|
|
43615
43665
|
label: "Default model"
|
|
@@ -43631,13 +43681,13 @@ var R$ = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end
|
|
|
43631
43681
|
label: "Haiku"
|
|
43632
43682
|
}
|
|
43633
43683
|
];
|
|
43634
|
-
function
|
|
43684
|
+
function S1(e, t) {
|
|
43635
43685
|
let n = e.split(".").map(Number), r = t.split(".").map(Number);
|
|
43636
43686
|
for (let e = 0; e < 3; e++) if ((n[e] ?? 0) !== (r[e] ?? 0)) return (n[e] ?? 0) < (r[e] ?? 0);
|
|
43637
43687
|
return !1;
|
|
43638
43688
|
}
|
|
43639
|
-
var
|
|
43640
|
-
function
|
|
43689
|
+
var C1 = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
|
|
43690
|
+
function w1() {
|
|
43641
43691
|
let e = sr(), t = _r(() => ({
|
|
43642
43692
|
queryKey: ["bridge-health"],
|
|
43643
43693
|
queryFn: EO,
|
|
@@ -43690,7 +43740,7 @@ function b1() {
|
|
|
43690
43740
|
let y = async () => {
|
|
43691
43741
|
m(!0);
|
|
43692
43742
|
try {
|
|
43693
|
-
let e = await
|
|
43743
|
+
let e = await BQ();
|
|
43694
43744
|
e && f((t) => `${t ? `${t}\n` : ""}${e}\n`);
|
|
43695
43745
|
} finally {
|
|
43696
43746
|
m(!1);
|
|
@@ -43702,7 +43752,9 @@ function b1() {
|
|
|
43702
43752
|
}
|
|
43703
43753
|
})), x = vr(() => ({
|
|
43704
43754
|
mutationFn: (e) => jO(e.id, e.model),
|
|
43705
|
-
onSuccess:
|
|
43755
|
+
onSuccess: (t) => {
|
|
43756
|
+
e.setQueryData(["bridge-tasks"], (e) => e?.map((e) => e.id === t.id ? t : e)), l();
|
|
43757
|
+
}
|
|
43706
43758
|
})), S = vr(() => ({
|
|
43707
43759
|
mutationFn: (e) => NO(e),
|
|
43708
43760
|
onSuccess: l
|
|
@@ -43720,20 +43772,20 @@ function b1() {
|
|
|
43720
43772
|
await navigator.clipboard.writeText(zO(e)), te(e.id), setTimeout(() => te(null), 1800);
|
|
43721
43773
|
} catch {}
|
|
43722
43774
|
}, ne = (e) => e === "running" ? "var(--color-accent)" : e === "done" ? "var(--color-success)" : e === "stopped" ? "var(--color-warn)" : "var(--color-danger)", re = (e) => {
|
|
43723
|
-
let t = e.line.kind, n = k(() =>
|
|
43775
|
+
let t = e.line.kind, n = k(() => XQ(e.line.text));
|
|
43724
43776
|
return t === "user" ? (() => {
|
|
43725
|
-
var e =
|
|
43777
|
+
var e = V$(), t = e.firstChild.nextSibling;
|
|
43726
43778
|
return D(() => t.innerHTML = n()), e;
|
|
43727
43779
|
})() : t === "assistant" || t === "result" ? (() => {
|
|
43728
|
-
var e =
|
|
43780
|
+
var e = H$(), r = e.firstChild, i = r.nextSibling;
|
|
43729
43781
|
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;
|
|
43730
43782
|
})() : (() => {
|
|
43731
|
-
var n =
|
|
43783
|
+
var n = U$();
|
|
43732
43784
|
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;
|
|
43733
43785
|
})();
|
|
43734
43786
|
};
|
|
43735
43787
|
return (() => {
|
|
43736
|
-
var e =
|
|
43788
|
+
var e = K$(), a = e.firstChild;
|
|
43737
43789
|
a.firstChild;
|
|
43738
43790
|
var l = a.nextSibling;
|
|
43739
43791
|
return P(a, j(M, {
|
|
@@ -43749,7 +43801,7 @@ function b1() {
|
|
|
43749
43801
|
get children() {
|
|
43750
43802
|
return [j(M, {
|
|
43751
43803
|
get when() {
|
|
43752
|
-
return
|
|
43804
|
+
return S1(t.data.version, "0.15.1");
|
|
43753
43805
|
},
|
|
43754
43806
|
get children() {
|
|
43755
43807
|
return j(Oj, {
|
|
@@ -43765,7 +43817,7 @@ function b1() {
|
|
|
43765
43817
|
});
|
|
43766
43818
|
}
|
|
43767
43819
|
}), (() => {
|
|
43768
|
-
var e =
|
|
43820
|
+
var e = W$(), n = e.firstChild;
|
|
43769
43821
|
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;
|
|
43770
43822
|
})()];
|
|
43771
43823
|
}
|
|
@@ -43779,7 +43831,7 @@ function b1() {
|
|
|
43779
43831
|
get children() {
|
|
43780
43832
|
return [
|
|
43781
43833
|
"Start it in your repo's terminal:",
|
|
43782
|
-
|
|
43834
|
+
q$(),
|
|
43783
43835
|
"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."
|
|
43784
43836
|
];
|
|
43785
43837
|
}
|
|
@@ -43797,38 +43849,38 @@ function b1() {
|
|
|
43797
43849
|
});
|
|
43798
43850
|
},
|
|
43799
43851
|
get children() {
|
|
43800
|
-
var e =
|
|
43801
|
-
return P(e, j(
|
|
43852
|
+
var e = G$();
|
|
43853
|
+
return P(e, j(Ge, {
|
|
43802
43854
|
get each() {
|
|
43803
43855
|
return n.data;
|
|
43804
43856
|
},
|
|
43805
43857
|
children: (e) => (() => {
|
|
43806
|
-
var t =
|
|
43858
|
+
var t = c1(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, m = n.nextSibling, h = m.nextSibling, g = h.nextSibling;
|
|
43807
43859
|
return P(n, j(M, {
|
|
43808
43860
|
get when() {
|
|
43809
|
-
return e.status === "running";
|
|
43861
|
+
return e().status === "running";
|
|
43810
43862
|
},
|
|
43811
43863
|
get fallback() {
|
|
43812
43864
|
return (() => {
|
|
43813
|
-
var t =
|
|
43814
|
-
return D((n) => dt(t, "background", ne(e.status))), t;
|
|
43865
|
+
var t = l1();
|
|
43866
|
+
return D((n) => dt(t, "background", ne(e().status))), t;
|
|
43815
43867
|
})();
|
|
43816
43868
|
},
|
|
43817
43869
|
get children() {
|
|
43818
43870
|
return j(yj, {});
|
|
43819
43871
|
}
|
|
43820
|
-
}), a), P(a, () => e.title), P(l, () => Nj(e.startedAt)), P(m, () => e.lastText), P(h, j(Oj, {
|
|
43872
|
+
}), a), P(a, () => e().title), P(l, () => Nj(e().startedAt)), P(m, () => e().lastText), P(h, j(Oj, {
|
|
43821
43873
|
get color() {
|
|
43822
|
-
return ne(e.status);
|
|
43874
|
+
return ne(e().status);
|
|
43823
43875
|
},
|
|
43824
43876
|
get children() {
|
|
43825
|
-
return e.status;
|
|
43877
|
+
return e().status;
|
|
43826
43878
|
}
|
|
43827
43879
|
}), null), P(h, j(Oj, { get children() {
|
|
43828
|
-
return e.model ?? "default model";
|
|
43880
|
+
return e().model ?? "default model";
|
|
43829
43881
|
} }), null), P(h, j(M, {
|
|
43830
43882
|
get when() {
|
|
43831
|
-
return e.pendingModel;
|
|
43883
|
+
return e().pendingModel;
|
|
43832
43884
|
},
|
|
43833
43885
|
get children() {
|
|
43834
43886
|
return j(Oj, {
|
|
@@ -43836,7 +43888,7 @@ function b1() {
|
|
|
43836
43888
|
get children() {
|
|
43837
43889
|
return [
|
|
43838
43890
|
"→ ",
|
|
43839
|
-
$e(() => e.pendingModel),
|
|
43891
|
+
$e(() => e().pendingModel),
|
|
43840
43892
|
" next msg"
|
|
43841
43893
|
];
|
|
43842
43894
|
}
|
|
@@ -43844,7 +43896,7 @@ function b1() {
|
|
|
43844
43896
|
}
|
|
43845
43897
|
}), null), P(h, j(M, {
|
|
43846
43898
|
get when() {
|
|
43847
|
-
return e.subagents > 0;
|
|
43899
|
+
return e().subagents > 0;
|
|
43848
43900
|
},
|
|
43849
43901
|
get children() {
|
|
43850
43902
|
return j(Oj, {
|
|
@@ -43852,7 +43904,7 @@ function b1() {
|
|
|
43852
43904
|
get children() {
|
|
43853
43905
|
return [
|
|
43854
43906
|
"⛓ ",
|
|
43855
|
-
$e(() => e.subagents),
|
|
43907
|
+
$e(() => e().subagents),
|
|
43856
43908
|
" subagents"
|
|
43857
43909
|
];
|
|
43858
43910
|
}
|
|
@@ -43860,21 +43912,21 @@ function b1() {
|
|
|
43860
43912
|
}
|
|
43861
43913
|
}), null), P(h, j(M, {
|
|
43862
43914
|
get when() {
|
|
43863
|
-
return e.usage;
|
|
43915
|
+
return e().usage;
|
|
43864
43916
|
},
|
|
43865
43917
|
get children() {
|
|
43866
|
-
var t =
|
|
43867
|
-
return n.nextSibling, P(t, () =>
|
|
43868
|
-
var t = $e(() => !!e.usage.costUsd);
|
|
43869
|
-
return () => t() ? ` · $${e.usage.costUsd.toFixed(2)}` : "";
|
|
43918
|
+
var t = J$(), n = t.firstChild.nextSibling;
|
|
43919
|
+
return n.nextSibling, P(t, () => C1(e().usage.contextTokens), n), P(t, () => C1(e().usage.outputTokens), null), P(t, (() => {
|
|
43920
|
+
var t = $e(() => !!e().usage.costUsd);
|
|
43921
|
+
return () => t() ? ` · $${e().usage.costUsd.toFixed(2)}` : "";
|
|
43870
43922
|
})(), null), t;
|
|
43871
43923
|
}
|
|
43872
43924
|
}), null), P(t, j(M, {
|
|
43873
43925
|
get when() {
|
|
43874
|
-
return o(e);
|
|
43926
|
+
return o(e());
|
|
43875
43927
|
},
|
|
43876
43928
|
children: (e) => (() => {
|
|
43877
|
-
var t =
|
|
43929
|
+
var t = u1();
|
|
43878
43930
|
return P(t, j(Oj, { get children() {
|
|
43879
43931
|
return e().state.name;
|
|
43880
43932
|
} }), null), P(t, j(Tj, {
|
|
@@ -43886,16 +43938,16 @@ function b1() {
|
|
|
43886
43938
|
})()
|
|
43887
43939
|
}), g), P(t, j(M, {
|
|
43888
43940
|
get when() {
|
|
43889
|
-
return $e(() => !!e.worktree)() && !e.worktree.removed;
|
|
43941
|
+
return $e(() => !!e().worktree)() && !e().worktree.removed;
|
|
43890
43942
|
},
|
|
43891
43943
|
get children() {
|
|
43892
|
-
var t =
|
|
43944
|
+
var t = Y$(), n = t.firstChild;
|
|
43893
43945
|
return P(t, j(Oj, {
|
|
43894
43946
|
class: "text-warn",
|
|
43895
43947
|
children: "⎇ worktree"
|
|
43896
|
-
}), n), P(n, () => e.worktree.branch), P(t, j(M, {
|
|
43948
|
+
}), n), P(n, () => e().worktree.branch), P(t, j(M, {
|
|
43897
43949
|
get when() {
|
|
43898
|
-
return e.status !== "running";
|
|
43950
|
+
return e().status !== "running";
|
|
43899
43951
|
},
|
|
43900
43952
|
get children() {
|
|
43901
43953
|
return j(vj, {
|
|
@@ -43905,36 +43957,44 @@ function b1() {
|
|
|
43905
43957
|
return S.isPending;
|
|
43906
43958
|
},
|
|
43907
43959
|
get title() {
|
|
43908
|
-
return `Remove the worktree at ${e.worktree.path} — the branch (and PR) survive`;
|
|
43960
|
+
return `Remove the worktree at ${e().worktree.path} — the branch (and PR) survive`;
|
|
43909
43961
|
},
|
|
43910
|
-
onClick: () => S.mutate(e.id),
|
|
43962
|
+
onClick: () => S.mutate(e().id),
|
|
43911
43963
|
children: "Remove"
|
|
43912
43964
|
});
|
|
43913
43965
|
}
|
|
43914
|
-
}), null), D(() => it(n, "title", e.worktree.path)), t;
|
|
43966
|
+
}), null), D(() => it(n, "title", e().worktree.path)), t;
|
|
43915
43967
|
}
|
|
43916
43968
|
}), g), P(g, j(Sj, {
|
|
43917
43969
|
class: "h-7 w-auto min-w-0 flex-1 text-[11px]",
|
|
43918
43970
|
get value() {
|
|
43919
|
-
return e.pendingModel ?? e.model ?? "";
|
|
43971
|
+
return e().pendingModel ?? e().model ?? "";
|
|
43920
43972
|
},
|
|
43921
43973
|
onChange: (t) => x.mutate({
|
|
43922
|
-
id: e.id,
|
|
43974
|
+
id: e().id,
|
|
43923
43975
|
model: t.currentTarget.value
|
|
43924
43976
|
}),
|
|
43925
43977
|
title: "Model — applies from the next message",
|
|
43926
43978
|
get children() {
|
|
43927
|
-
return j(We, {
|
|
43928
|
-
each:
|
|
43979
|
+
return [j(We, {
|
|
43980
|
+
each: x1,
|
|
43929
43981
|
children: (t) => (() => {
|
|
43930
|
-
var n =
|
|
43931
|
-
return P(n, () => t.label), D(() => n.selected = (e.pendingModel ?? e.model ?? "") === t.id), D(() => n.value = t.id), n;
|
|
43982
|
+
var n = d1();
|
|
43983
|
+
return P(n, () => t.label), D(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), D(() => n.value = t.id), n;
|
|
43932
43984
|
})()
|
|
43933
|
-
})
|
|
43985
|
+
}), j(M, {
|
|
43986
|
+
get when() {
|
|
43987
|
+
return !x1.some((t) => t.id === (e().pendingModel ?? e().model ?? ""));
|
|
43988
|
+
},
|
|
43989
|
+
get children() {
|
|
43990
|
+
var t = X$();
|
|
43991
|
+
return P(t, () => e().pendingModel ?? e().model), D(() => t.value = e().pendingModel ?? e().model ?? ""), t;
|
|
43992
|
+
}
|
|
43993
|
+
})];
|
|
43934
43994
|
}
|
|
43935
43995
|
}), null), P(g, j(M, {
|
|
43936
43996
|
get when() {
|
|
43937
|
-
return o(e);
|
|
43997
|
+
return o(e());
|
|
43938
43998
|
},
|
|
43939
43999
|
children: (e) => j(vj, {
|
|
43940
44000
|
variant: "ghost",
|
|
@@ -43942,29 +44002,29 @@ function b1() {
|
|
|
43942
44002
|
title: "Open the issue's Activity thread",
|
|
43943
44003
|
onClick: () => YA("activity", e().id),
|
|
43944
44004
|
get children() {
|
|
43945
|
-
return
|
|
44005
|
+
return f1();
|
|
43946
44006
|
}
|
|
43947
44007
|
})
|
|
43948
44008
|
}), null), P(g, j(vj, {
|
|
43949
44009
|
variant: "ghost",
|
|
43950
44010
|
class: "size-7 px-0",
|
|
43951
44011
|
get disabled() {
|
|
43952
|
-
return !e.sessionId;
|
|
44012
|
+
return !e().sessionId;
|
|
43953
44013
|
},
|
|
43954
44014
|
get title() {
|
|
43955
|
-
return $e(() => !!e.sessionId)() ? `Copy resume command · session ${e.sessionId.slice(0, 8)}…` : "No session yet";
|
|
44015
|
+
return $e(() => !!e().sessionId)() ? `Copy resume command · session ${e().sessionId.slice(0, 8)}…` : "No session yet";
|
|
43956
44016
|
},
|
|
43957
|
-
onClick: () => void A(e),
|
|
44017
|
+
onClick: () => void A(e()),
|
|
43958
44018
|
get children() {
|
|
43959
44019
|
return j(M, {
|
|
43960
44020
|
get when() {
|
|
43961
|
-
return ee() === e.id;
|
|
44021
|
+
return ee() === e().id;
|
|
43962
44022
|
},
|
|
43963
44023
|
get fallback() {
|
|
43964
|
-
return
|
|
44024
|
+
return p1();
|
|
43965
44025
|
},
|
|
43966
44026
|
get children() {
|
|
43967
|
-
return
|
|
44027
|
+
return Z$();
|
|
43968
44028
|
}
|
|
43969
44029
|
});
|
|
43970
44030
|
}
|
|
@@ -43972,15 +44032,15 @@ function b1() {
|
|
|
43972
44032
|
variant: "ghost",
|
|
43973
44033
|
class: "size-7 px-0",
|
|
43974
44034
|
get title() {
|
|
43975
|
-
return r() === e.id ? "Hide thread" : "Open thread — chat & changes";
|
|
44035
|
+
return r() === e().id ? "Hide thread" : "Open thread — chat & changes";
|
|
43976
44036
|
},
|
|
43977
|
-
onClick: () => i(r() === e.id ? null : e.id),
|
|
44037
|
+
onClick: () => i(r() === e().id ? null : e().id),
|
|
43978
44038
|
get children() {
|
|
43979
|
-
return
|
|
44039
|
+
return Q$();
|
|
43980
44040
|
}
|
|
43981
44041
|
}), null), P(g, j(M, {
|
|
43982
44042
|
get when() {
|
|
43983
|
-
return e.status === "running";
|
|
44043
|
+
return e().status === "running";
|
|
43984
44044
|
},
|
|
43985
44045
|
get children() {
|
|
43986
44046
|
return j(vj, {
|
|
@@ -43990,15 +44050,15 @@ function b1() {
|
|
|
43990
44050
|
return u.isPending;
|
|
43991
44051
|
},
|
|
43992
44052
|
title: "Interrupt — the session stays resumable",
|
|
43993
|
-
onClick: () => u.mutate(e.id),
|
|
44053
|
+
onClick: () => u.mutate(e().id),
|
|
43994
44054
|
get children() {
|
|
43995
|
-
return
|
|
44055
|
+
return $$();
|
|
43996
44056
|
}
|
|
43997
44057
|
});
|
|
43998
44058
|
}
|
|
43999
44059
|
}), null), P(t, j(M, {
|
|
44000
44060
|
get when() {
|
|
44001
|
-
return r() === e.id;
|
|
44061
|
+
return r() === e().id;
|
|
44002
44062
|
},
|
|
44003
44063
|
get children() {
|
|
44004
44064
|
return [
|
|
@@ -44007,7 +44067,7 @@ function b1() {
|
|
|
44007
44067
|
return $e(() => !!c.data)() && (c.data.files.length || c.data.untracked.length || c.data.prs.length);
|
|
44008
44068
|
},
|
|
44009
44069
|
get children() {
|
|
44010
|
-
var e =
|
|
44070
|
+
var e = t1(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
|
|
44011
44071
|
r.firstChild;
|
|
44012
44072
|
var i = r.nextSibling.nextSibling;
|
|
44013
44073
|
return i.firstChild, P(t, j(M, {
|
|
@@ -44015,7 +44075,7 @@ function b1() {
|
|
|
44015
44075
|
return c.data.branch;
|
|
44016
44076
|
},
|
|
44017
44077
|
get children() {
|
|
44018
|
-
var e =
|
|
44078
|
+
var e = e1();
|
|
44019
44079
|
return P(e, () => c.data.branch), e;
|
|
44020
44080
|
}
|
|
44021
44081
|
}), n), P(r, () => c.data.totalAdded, null), P(i, () => c.data.totalDeleted, null), P(e, j(We, {
|
|
@@ -44023,23 +44083,23 @@ function b1() {
|
|
|
44023
44083
|
return c.data.files;
|
|
44024
44084
|
},
|
|
44025
44085
|
children: (e) => (() => {
|
|
44026
|
-
var t =
|
|
44086
|
+
var t = g1(), n = t.firstChild, r = n.nextSibling;
|
|
44027
44087
|
return P(n, () => e.path), P(r, j(M, {
|
|
44028
44088
|
get when() {
|
|
44029
44089
|
return !e.binary;
|
|
44030
44090
|
},
|
|
44031
44091
|
get fallback() {
|
|
44032
|
-
return
|
|
44092
|
+
return _1();
|
|
44033
44093
|
},
|
|
44034
44094
|
get children() {
|
|
44035
44095
|
return [
|
|
44036
44096
|
(() => {
|
|
44037
|
-
var t =
|
|
44097
|
+
var t = m1();
|
|
44038
44098
|
return t.firstChild, P(t, () => e.added, null), t;
|
|
44039
44099
|
})(),
|
|
44040
44100
|
" ",
|
|
44041
44101
|
(() => {
|
|
44042
|
-
var t =
|
|
44102
|
+
var t = h1();
|
|
44043
44103
|
return t.firstChild, P(t, () => e.deleted, null), t;
|
|
44044
44104
|
})()
|
|
44045
44105
|
];
|
|
@@ -44051,7 +44111,7 @@ function b1() {
|
|
|
44051
44111
|
return c.data.untracked;
|
|
44052
44112
|
},
|
|
44053
44113
|
children: (e) => (() => {
|
|
44054
|
-
var t =
|
|
44114
|
+
var t = v1(), n = t.firstChild;
|
|
44055
44115
|
return it(n, "title", e), P(n, e), t;
|
|
44056
44116
|
})()
|
|
44057
44117
|
}), null), P(e, j(We, {
|
|
@@ -44059,7 +44119,7 @@ function b1() {
|
|
|
44059
44119
|
return c.data.prs;
|
|
44060
44120
|
},
|
|
44061
44121
|
children: (e) => (() => {
|
|
44062
|
-
var t =
|
|
44122
|
+
var t = y1(), n = t.firstChild;
|
|
44063
44123
|
return P(t, j(Oj, {
|
|
44064
44124
|
class: "text-accent",
|
|
44065
44125
|
get children() {
|
|
@@ -44077,7 +44137,7 @@ function b1() {
|
|
|
44077
44137
|
}
|
|
44078
44138
|
}),
|
|
44079
44139
|
(() => {
|
|
44080
|
-
var e =
|
|
44140
|
+
var e = n1();
|
|
44081
44141
|
return e.addEventListener("scroll", E), pt((e) => {
|
|
44082
44142
|
C = e, w = !0;
|
|
44083
44143
|
}, e), P(e, j(M, {
|
|
@@ -44085,7 +44145,7 @@ function b1() {
|
|
|
44085
44145
|
return (s.data?.tail ?? []).length > 0;
|
|
44086
44146
|
},
|
|
44087
44147
|
get fallback() {
|
|
44088
|
-
return
|
|
44148
|
+
return b1();
|
|
44089
44149
|
},
|
|
44090
44150
|
get children() {
|
|
44091
44151
|
return j(Ge, {
|
|
@@ -44100,19 +44160,19 @@ function b1() {
|
|
|
44100
44160
|
})), e;
|
|
44101
44161
|
})(),
|
|
44102
44162
|
(() => {
|
|
44103
|
-
var t =
|
|
44163
|
+
var t = s1(), n = t.firstChild, r = n.firstChild;
|
|
44104
44164
|
return P(t, j(xj, {
|
|
44105
44165
|
rows: 2,
|
|
44106
44166
|
get placeholder() {
|
|
44107
|
-
return e.status === "running" ? "Message the working agent — it queues into the live session…" : "Follow-up — resumes the session…";
|
|
44167
|
+
return e().status === "running" ? "Message the working agent — it queues into the live session…" : "Follow-up — resumes the session…";
|
|
44108
44168
|
},
|
|
44109
44169
|
get value() {
|
|
44110
44170
|
return d();
|
|
44111
44171
|
},
|
|
44112
44172
|
onInput: (e) => f(e.currentTarget.value)
|
|
44113
44173
|
}), n), P(r, (() => {
|
|
44114
|
-
var t = $e(() => !!e.alive);
|
|
44115
|
-
return () => t() ? "live session" : e.sessionId ? "resumes on send" : "no session";
|
|
44174
|
+
var t = $e(() => !!e().alive);
|
|
44175
|
+
return () => t() ? "live session" : e().sessionId ? "resumes on send" : "no session";
|
|
44116
44176
|
})()), P(n, j(vj, {
|
|
44117
44177
|
variant: "ghost",
|
|
44118
44178
|
class: "size-7 shrink-0 px-0",
|
|
@@ -44120,7 +44180,7 @@ function b1() {
|
|
|
44120
44180
|
"aria-label": "Pick element",
|
|
44121
44181
|
onClick: v,
|
|
44122
44182
|
get children() {
|
|
44123
|
-
return
|
|
44183
|
+
return r1();
|
|
44124
44184
|
}
|
|
44125
44185
|
}), null), P(n, j(vj, {
|
|
44126
44186
|
variant: "ghost",
|
|
@@ -44132,22 +44192,22 @@ function b1() {
|
|
|
44132
44192
|
"aria-label": "Attach captures",
|
|
44133
44193
|
onClick: () => void y(),
|
|
44134
44194
|
get children() {
|
|
44135
|
-
return
|
|
44195
|
+
return i1();
|
|
44136
44196
|
}
|
|
44137
44197
|
}), null), P(n, j(vj, {
|
|
44138
44198
|
variant: "ghost",
|
|
44139
44199
|
class: "size-7 shrink-0 px-0",
|
|
44140
44200
|
get disabled() {
|
|
44141
|
-
return $e(() => !e.alive)() && !e.sessionId;
|
|
44201
|
+
return $e(() => !e().alive)() && !e().sessionId;
|
|
44142
44202
|
},
|
|
44143
44203
|
title: "Compact the session — frees context (sends /compact)",
|
|
44144
44204
|
"aria-label": "Compact session",
|
|
44145
44205
|
onClick: () => b.mutate({
|
|
44146
|
-
id: e.id,
|
|
44206
|
+
id: e().id,
|
|
44147
44207
|
text: "/compact"
|
|
44148
44208
|
}),
|
|
44149
44209
|
get children() {
|
|
44150
|
-
return
|
|
44210
|
+
return a1();
|
|
44151
44211
|
}
|
|
44152
44212
|
}), null), P(n, j(vj, {
|
|
44153
44213
|
variant: "primary",
|
|
@@ -44156,14 +44216,14 @@ function b1() {
|
|
|
44156
44216
|
return b.isPending;
|
|
44157
44217
|
},
|
|
44158
44218
|
get disabled() {
|
|
44159
|
-
return !d().trim() || !e.alive && !e.sessionId;
|
|
44219
|
+
return !d().trim() || !e().alive && !e().sessionId;
|
|
44160
44220
|
},
|
|
44161
44221
|
onClick: () => b.mutate({
|
|
44162
|
-
id: e.id,
|
|
44222
|
+
id: e().id,
|
|
44163
44223
|
text: d().trim()
|
|
44164
44224
|
}),
|
|
44165
44225
|
get children() {
|
|
44166
|
-
return
|
|
44226
|
+
return o1();
|
|
44167
44227
|
}
|
|
44168
44228
|
}), null), t;
|
|
44169
44229
|
})()
|
|
@@ -44180,13 +44240,13 @@ function b1() {
|
|
|
44180
44240
|
}
|
|
44181
44241
|
//#endregion
|
|
44182
44242
|
//#region src/panel/views/PrsView.tsx
|
|
44183
|
-
var
|
|
44184
|
-
function
|
|
44243
|
+
var T1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">/<!> from your issues"), E1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), D1 = /*#__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\">"), O1 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px]\"title=\"Merge states come from gh via the bridge\">states unknown — restart the bridge"), k1 = /*#__PURE__*/ N("<button>"), A1 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), j1 = /*#__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>"), M1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), N1 = /*#__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\">"), P1 = /*#__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\">"), F1 = /*#__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\">"), I1 = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
|
|
44244
|
+
function L1(e) {
|
|
44185
44245
|
let t = _r(() => ({
|
|
44186
44246
|
queryKey: ["my-issues"],
|
|
44187
44247
|
queryFn: uO,
|
|
44188
44248
|
refetchInterval: 15e3
|
|
44189
|
-
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) =>
|
|
44249
|
+
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => I1.test(e.url)).map((t) => ({
|
|
44190
44250
|
issue: e,
|
|
44191
44251
|
attachment: t
|
|
44192
44252
|
})))), r = _r(() => ({
|
|
@@ -44223,7 +44283,7 @@ function N1(e) {
|
|
|
44223
44283
|
} catch {}
|
|
44224
44284
|
};
|
|
44225
44285
|
return (() => {
|
|
44226
|
-
var r =
|
|
44286
|
+
var r = D1(), p = r.firstChild;
|
|
44227
44287
|
p.firstChild;
|
|
44228
44288
|
var h = p.nextSibling, _ = h.firstChild, b = h.nextSibling;
|
|
44229
44289
|
return P(p, j(M, {
|
|
@@ -44231,10 +44291,10 @@ function N1(e) {
|
|
|
44231
44291
|
return !i.isError;
|
|
44232
44292
|
},
|
|
44233
44293
|
get fallback() {
|
|
44234
|
-
return
|
|
44294
|
+
return O1();
|
|
44235
44295
|
},
|
|
44236
44296
|
get children() {
|
|
44237
|
-
var e =
|
|
44297
|
+
var e = T1(), t = e.firstChild, r = t.nextSibling;
|
|
44238
44298
|
return r.nextSibling, P(e, () => d().length, t), P(e, () => n().length, r), e;
|
|
44239
44299
|
}
|
|
44240
44300
|
}), null), P(_, j(We, {
|
|
@@ -44257,7 +44317,7 @@ function N1(e) {
|
|
|
44257
44317
|
}
|
|
44258
44318
|
],
|
|
44259
44319
|
children: (e) => (() => {
|
|
44260
|
-
var t =
|
|
44320
|
+
var t = k1();
|
|
44261
44321
|
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;
|
|
44262
44322
|
})()
|
|
44263
44323
|
})), P(h, j(bj, {
|
|
@@ -44280,13 +44340,13 @@ function N1(e) {
|
|
|
44280
44340
|
});
|
|
44281
44341
|
},
|
|
44282
44342
|
get children() {
|
|
44283
|
-
var t =
|
|
44343
|
+
var t = E1();
|
|
44284
44344
|
return P(t, j(We, {
|
|
44285
44345
|
get each() {
|
|
44286
44346
|
return d();
|
|
44287
44347
|
},
|
|
44288
44348
|
children: (t) => (() => {
|
|
44289
|
-
var n =
|
|
44349
|
+
var n = N1(), r = n.firstChild, i = r.nextSibling, s = i.firstChild, c = s.nextSibling, l = c.nextSibling, u = i.nextSibling, d = u.firstChild;
|
|
44290
44350
|
return P(r, () => t.attachment.title || t.attachment.url), P(i, j(kj, { get color() {
|
|
44291
44351
|
return t.issue.state.color;
|
|
44292
44352
|
} }), s), P(s, () => t.issue.identifier), P(c, () => t.issue.title), P(l, () => Nj(t.issue.updatedAt)), P(u, j(Oj, { get children() {
|
|
@@ -44363,10 +44423,10 @@ function N1(e) {
|
|
|
44363
44423
|
return g().has(t.attachment.url);
|
|
44364
44424
|
},
|
|
44365
44425
|
get fallback() {
|
|
44366
|
-
return
|
|
44426
|
+
return P1();
|
|
44367
44427
|
},
|
|
44368
44428
|
get children() {
|
|
44369
|
-
return
|
|
44429
|
+
return A1();
|
|
44370
44430
|
}
|
|
44371
44431
|
});
|
|
44372
44432
|
}
|
|
@@ -44379,7 +44439,7 @@ function N1(e) {
|
|
|
44379
44439
|
YA("activity", t.issue.id), e.onOpenIssue();
|
|
44380
44440
|
},
|
|
44381
44441
|
get children() {
|
|
44382
|
-
return
|
|
44442
|
+
return j1();
|
|
44383
44443
|
}
|
|
44384
44444
|
}), null), P(d, j(vj, {
|
|
44385
44445
|
variant: "ghost",
|
|
@@ -44393,10 +44453,10 @@ function N1(e) {
|
|
|
44393
44453
|
return f() === t.attachment.id;
|
|
44394
44454
|
},
|
|
44395
44455
|
get fallback() {
|
|
44396
|
-
return
|
|
44456
|
+
return F1();
|
|
44397
44457
|
},
|
|
44398
44458
|
get children() {
|
|
44399
|
-
return
|
|
44459
|
+
return M1();
|
|
44400
44460
|
}
|
|
44401
44461
|
});
|
|
44402
44462
|
}
|
|
@@ -44416,13 +44476,13 @@ function N1(e) {
|
|
|
44416
44476
|
//#endregion
|
|
44417
44477
|
//#region src/lib/linear/auth.ts
|
|
44418
44478
|
rt(["click"]), Rr();
|
|
44419
|
-
function
|
|
44479
|
+
function R1(e) {
|
|
44420
44480
|
let t = "";
|
|
44421
44481
|
for (let n of e) t += String.fromCharCode(n);
|
|
44422
44482
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
44423
44483
|
}
|
|
44424
|
-
async function
|
|
44425
|
-
let t =
|
|
44484
|
+
async function z1(e) {
|
|
44485
|
+
let t = R1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = R1(new Uint8Array(n)), i = R1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
44426
44486
|
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");
|
|
44427
44487
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
44428
44488
|
url: o.toString(),
|
|
@@ -44450,15 +44510,15 @@ async function F1(e) {
|
|
|
44450
44510
|
linearOauthClientId: e
|
|
44451
44511
|
});
|
|
44452
44512
|
}
|
|
44453
|
-
async function
|
|
44513
|
+
async function B1() {
|
|
44454
44514
|
await wr({
|
|
44455
44515
|
linearAccessToken: void 0,
|
|
44456
44516
|
linearApiKey: void 0
|
|
44457
44517
|
});
|
|
44458
44518
|
}
|
|
44459
44519
|
Rr(), br(), Nx(), mD();
|
|
44460
|
-
var
|
|
44461
|
-
function
|
|
44520
|
+
var V1 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), H1 = /*#__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."), U1 = /*#__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"), W1 = /*#__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)."), G1 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), K1 = /*#__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]\">"), q1 = /*#__PURE__*/ N("<option value>Select a team…"), J1 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), Y1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), X1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), Z1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Mode</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">Beside page squeezes the app next to the panel, DevTools-style — nothing gets covered. Also toggleable from the dock icon in the panel header."), Q1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Dock side</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">The launcher pill is draggable — park it anywhere it doesn't cover your app."), $1 = /*#__PURE__*/ N("<option value>Select a channel…"), e0 = /*#__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"), t0 = /*#__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."), n0 = /*#__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"), r0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), i0 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), a0 = /*#__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."), o0 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), s0 = /*#__PURE__*/ N("<button>"), c0 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), l0 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), u0 = /*#__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\">"), d0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), f0 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), p0 = /*#__PURE__*/ N("<option> (<!>)"), m0 = /*#__PURE__*/ N("<option value>Select the agent…"), h0 = /*#__PURE__*/ N("<option>"), g0 = /*#__PURE__*/ N("<option>#"), _0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
44521
|
+
function v0() {
|
|
44462
44522
|
let e = sr(), t = _r(() => ({
|
|
44463
44523
|
queryKey: ["settings"],
|
|
44464
44524
|
queryFn: Cr,
|
|
@@ -44503,7 +44563,7 @@ function m0() {
|
|
|
44503
44563
|
}
|
|
44504
44564
|
v(!0), b("");
|
|
44505
44565
|
try {
|
|
44506
|
-
await
|
|
44566
|
+
await z1(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"] });
|
|
44507
44567
|
} catch (e) {
|
|
44508
44568
|
b(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
44509
44569
|
} finally {
|
|
@@ -44514,7 +44574,7 @@ function m0() {
|
|
|
44514
44574
|
async function w() {
|
|
44515
44575
|
C(!0);
|
|
44516
44576
|
try {
|
|
44517
|
-
await
|
|
44577
|
+
await B1(), 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"] });
|
|
44518
44578
|
} finally {
|
|
44519
44579
|
C(!1);
|
|
44520
44580
|
}
|
|
@@ -44530,12 +44590,12 @@ function m0() {
|
|
|
44530
44590
|
return e ? `Drafting with ${e} — ${jx[e].fast} (fast) / ${jx[e].best} (best)` : null;
|
|
44531
44591
|
});
|
|
44532
44592
|
return (() => {
|
|
44533
|
-
var e =
|
|
44593
|
+
var e = o0();
|
|
44534
44594
|
return P(e, j(Dj, {
|
|
44535
44595
|
title: "Workflow",
|
|
44536
44596
|
get children() {
|
|
44537
44597
|
return [(() => {
|
|
44538
|
-
var e =
|
|
44598
|
+
var e = V1();
|
|
44539
44599
|
return P(e, j(We, {
|
|
44540
44600
|
each: [{
|
|
44541
44601
|
id: "cloud",
|
|
@@ -44545,19 +44605,19 @@ function m0() {
|
|
|
44545
44605
|
label: "Local · clipboard"
|
|
44546
44606
|
}],
|
|
44547
44607
|
children: (e) => (() => {
|
|
44548
|
-
var t =
|
|
44608
|
+
var t = s0();
|
|
44549
44609
|
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;
|
|
44550
44610
|
})()
|
|
44551
44611
|
})), e;
|
|
44552
|
-
})(),
|
|
44612
|
+
})(), H1()];
|
|
44553
44613
|
}
|
|
44554
44614
|
}), null), P(e, j(Dj, {
|
|
44555
44615
|
title: "Capture",
|
|
44556
44616
|
get children() {
|
|
44557
44617
|
return [(() => {
|
|
44558
|
-
var e =
|
|
44618
|
+
var e = U1(), t = e.firstChild;
|
|
44559
44619
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
44560
|
-
})(),
|
|
44620
|
+
})(), W1()];
|
|
44561
44621
|
}
|
|
44562
44622
|
}), null), P(e, j(Dj, {
|
|
44563
44623
|
title: "Linear",
|
|
@@ -44568,13 +44628,13 @@ function m0() {
|
|
|
44568
44628
|
},
|
|
44569
44629
|
get fallback() {
|
|
44570
44630
|
return (() => {
|
|
44571
|
-
var e =
|
|
44631
|
+
var e = d0();
|
|
44572
44632
|
return P(e, j(Ej, {
|
|
44573
44633
|
label: "Personal API key",
|
|
44574
44634
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
44575
44635
|
get children() {
|
|
44576
44636
|
return [(() => {
|
|
44577
|
-
var e =
|
|
44637
|
+
var e = c0();
|
|
44578
44638
|
return P(e, j(bj, {
|
|
44579
44639
|
type: "password",
|
|
44580
44640
|
placeholder: "lin_api_…",
|
|
@@ -44611,12 +44671,12 @@ function m0() {
|
|
|
44611
44671
|
}), null), P(e, j(M, {
|
|
44612
44672
|
when: yr,
|
|
44613
44673
|
get children() {
|
|
44614
|
-
return [
|
|
44674
|
+
return [l0(), j(Ej, {
|
|
44615
44675
|
label: "OAuth client ID",
|
|
44616
44676
|
get children() {
|
|
44617
44677
|
return [
|
|
44618
44678
|
(() => {
|
|
44619
|
-
var e =
|
|
44679
|
+
var e = c0();
|
|
44620
44680
|
return P(e, j(bj, {
|
|
44621
44681
|
placeholder: "your-client-id",
|
|
44622
44682
|
get value() {
|
|
@@ -44644,7 +44704,7 @@ function m0() {
|
|
|
44644
44704
|
}
|
|
44645
44705
|
}),
|
|
44646
44706
|
(() => {
|
|
44647
|
-
var e =
|
|
44707
|
+
var e = u0(), t = e.firstChild.nextSibling.nextSibling;
|
|
44648
44708
|
return P(t, E), e;
|
|
44649
44709
|
})()
|
|
44650
44710
|
];
|
|
@@ -44655,13 +44715,13 @@ function m0() {
|
|
|
44655
44715
|
})();
|
|
44656
44716
|
},
|
|
44657
44717
|
get children() {
|
|
44658
|
-
var e =
|
|
44718
|
+
var e = K1(), t = e.firstChild;
|
|
44659
44719
|
return P(t, j(M, {
|
|
44660
44720
|
get when() {
|
|
44661
44721
|
return !a.isLoading;
|
|
44662
44722
|
},
|
|
44663
44723
|
get fallback() {
|
|
44664
|
-
return
|
|
44724
|
+
return f0();
|
|
44665
44725
|
},
|
|
44666
44726
|
get children() {
|
|
44667
44727
|
return j(M, {
|
|
@@ -44674,7 +44734,7 @@ function m0() {
|
|
|
44674
44734
|
return a.isError;
|
|
44675
44735
|
},
|
|
44676
44736
|
get fallback() {
|
|
44677
|
-
return
|
|
44737
|
+
return f0();
|
|
44678
44738
|
},
|
|
44679
44739
|
get children() {
|
|
44680
44740
|
return j(jj, { message: "Key rejected — reconnect" });
|
|
@@ -44682,7 +44742,7 @@ function m0() {
|
|
|
44682
44742
|
});
|
|
44683
44743
|
},
|
|
44684
44744
|
get children() {
|
|
44685
|
-
var e =
|
|
44745
|
+
var e = G1(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
44686
44746
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
44687
44747
|
}
|
|
44688
44748
|
});
|
|
@@ -44723,7 +44783,7 @@ function m0() {
|
|
|
44723
44783
|
return o.isLoading;
|
|
44724
44784
|
},
|
|
44725
44785
|
get children() {
|
|
44726
|
-
return [
|
|
44786
|
+
return [q1(), j(M, {
|
|
44727
44787
|
get when() {
|
|
44728
44788
|
return o.data;
|
|
44729
44789
|
},
|
|
@@ -44733,7 +44793,7 @@ function m0() {
|
|
|
44733
44793
|
return o.data;
|
|
44734
44794
|
},
|
|
44735
44795
|
children: (e) => (() => {
|
|
44736
|
-
var t =
|
|
44796
|
+
var t = p0(), r = t.firstChild, i = r.nextSibling;
|
|
44737
44797
|
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;
|
|
44738
44798
|
})()
|
|
44739
44799
|
});
|
|
@@ -44777,7 +44837,7 @@ function m0() {
|
|
|
44777
44837
|
return s.isLoading;
|
|
44778
44838
|
},
|
|
44779
44839
|
get children() {
|
|
44780
|
-
return [
|
|
44840
|
+
return [m0(), j(M, {
|
|
44781
44841
|
get when() {
|
|
44782
44842
|
return s.data;
|
|
44783
44843
|
},
|
|
@@ -44787,7 +44847,7 @@ function m0() {
|
|
|
44787
44847
|
return s.data;
|
|
44788
44848
|
},
|
|
44789
44849
|
children: (e) => (() => {
|
|
44790
|
-
var t =
|
|
44850
|
+
var t = h0();
|
|
44791
44851
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
44792
44852
|
})()
|
|
44793
44853
|
});
|
|
@@ -44797,7 +44857,7 @@ function m0() {
|
|
|
44797
44857
|
});
|
|
44798
44858
|
},
|
|
44799
44859
|
get children() {
|
|
44800
|
-
return
|
|
44860
|
+
return J1();
|
|
44801
44861
|
}
|
|
44802
44862
|
});
|
|
44803
44863
|
}
|
|
@@ -44845,7 +44905,7 @@ function m0() {
|
|
|
44845
44905
|
onBlur: (e) => {
|
|
44846
44906
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
44847
44907
|
}
|
|
44848
|
-
}),
|
|
44908
|
+
}), Y1()];
|
|
44849
44909
|
}
|
|
44850
44910
|
}),
|
|
44851
44911
|
j(Ej, {
|
|
@@ -44902,7 +44962,7 @@ function m0() {
|
|
|
44902
44962
|
label: "Test account",
|
|
44903
44963
|
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.",
|
|
44904
44964
|
get children() {
|
|
44905
|
-
var e =
|
|
44965
|
+
var e = X1();
|
|
44906
44966
|
return P(e, j(bj, {
|
|
44907
44967
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
44908
44968
|
get value() {
|
|
@@ -44934,7 +44994,7 @@ function m0() {
|
|
|
44934
44994
|
title: "Panel",
|
|
44935
44995
|
get children() {
|
|
44936
44996
|
return [(() => {
|
|
44937
|
-
var e =
|
|
44997
|
+
var e = Z1(), t = e.firstChild.nextSibling;
|
|
44938
44998
|
return P(t, j(We, {
|
|
44939
44999
|
each: [{
|
|
44940
45000
|
id: "overlay",
|
|
@@ -44944,7 +45004,7 @@ function m0() {
|
|
|
44944
45004
|
label: "Beside page"
|
|
44945
45005
|
}],
|
|
44946
45006
|
children: (e) => (() => {
|
|
44947
|
-
var t =
|
|
45007
|
+
var t = s0();
|
|
44948
45008
|
return t.$$click = () => void r({
|
|
44949
45009
|
panelMode: e.id,
|
|
44950
45010
|
panelPos: void 0
|
|
@@ -44952,11 +45012,11 @@ function m0() {
|
|
|
44952
45012
|
})()
|
|
44953
45013
|
})), e;
|
|
44954
45014
|
})(), (() => {
|
|
44955
|
-
var e =
|
|
45015
|
+
var e = Q1(), t = e.firstChild.nextSibling;
|
|
44956
45016
|
return P(t, j(We, {
|
|
44957
45017
|
each: ["left", "right"],
|
|
44958
45018
|
children: (e) => (() => {
|
|
44959
|
-
var t =
|
|
45019
|
+
var t = s0();
|
|
44960
45020
|
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;
|
|
44961
45021
|
})()
|
|
44962
45022
|
})), e;
|
|
@@ -45068,12 +45128,12 @@ function m0() {
|
|
|
45068
45128
|
});
|
|
45069
45129
|
},
|
|
45070
45130
|
get children() {
|
|
45071
|
-
return [
|
|
45131
|
+
return [$1(), j(We, {
|
|
45072
45132
|
get each() {
|
|
45073
45133
|
return O.data ?? [];
|
|
45074
45134
|
},
|
|
45075
45135
|
children: (e) => (() => {
|
|
45076
|
-
var t =
|
|
45136
|
+
var t = g0();
|
|
45077
45137
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
45078
45138
|
})()
|
|
45079
45139
|
})];
|
|
@@ -45124,10 +45184,10 @@ function m0() {
|
|
|
45124
45184
|
}
|
|
45125
45185
|
}),
|
|
45126
45186
|
(() => {
|
|
45127
|
-
var e =
|
|
45187
|
+
var e = e0(), t = e.firstChild;
|
|
45128
45188
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
45129
45189
|
})(),
|
|
45130
|
-
|
|
45190
|
+
t0()
|
|
45131
45191
|
];
|
|
45132
45192
|
}
|
|
45133
45193
|
}), null), P(e, j(Dj, {
|
|
@@ -45165,7 +45225,7 @@ function m0() {
|
|
|
45165
45225
|
}
|
|
45166
45226
|
}),
|
|
45167
45227
|
(() => {
|
|
45168
|
-
var e =
|
|
45228
|
+
var e = n0(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
45169
45229
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
45170
45230
|
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;
|
|
45171
45231
|
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;
|
|
@@ -45178,16 +45238,16 @@ function m0() {
|
|
|
45178
45238
|
}), e;
|
|
45179
45239
|
})(),
|
|
45180
45240
|
(() => {
|
|
45181
|
-
var e =
|
|
45241
|
+
var e = i0();
|
|
45182
45242
|
return P(e, j(M, {
|
|
45183
45243
|
get when() {
|
|
45184
45244
|
return te();
|
|
45185
45245
|
},
|
|
45186
45246
|
get fallback() {
|
|
45187
|
-
return
|
|
45247
|
+
return _0();
|
|
45188
45248
|
},
|
|
45189
45249
|
get children() {
|
|
45190
|
-
var e =
|
|
45250
|
+
var e = r0();
|
|
45191
45251
|
return P(e, te), e;
|
|
45192
45252
|
}
|
|
45193
45253
|
})), e;
|
|
@@ -45197,7 +45257,7 @@ function m0() {
|
|
|
45197
45257
|
}), null), P(e, j(Dj, {
|
|
45198
45258
|
title: "How it works",
|
|
45199
45259
|
get children() {
|
|
45200
|
-
return
|
|
45260
|
+
return a0();
|
|
45201
45261
|
}
|
|
45202
45262
|
}), null), e;
|
|
45203
45263
|
})();
|
|
@@ -45205,38 +45265,38 @@ function m0() {
|
|
|
45205
45265
|
rt(["click"]);
|
|
45206
45266
|
//#endregion
|
|
45207
45267
|
//#region src/lib/idbCache.ts
|
|
45208
|
-
var
|
|
45268
|
+
var y0 = "linear-grab", b0 = "queries", x0 = [
|
|
45209
45269
|
"my-issues",
|
|
45210
45270
|
"issue",
|
|
45211
45271
|
"sessions",
|
|
45212
45272
|
"teams",
|
|
45213
45273
|
"agents"
|
|
45214
45274
|
];
|
|
45215
|
-
function
|
|
45275
|
+
function S0() {
|
|
45216
45276
|
return new Promise((e) => {
|
|
45217
45277
|
try {
|
|
45218
|
-
let t = indexedDB.open(
|
|
45219
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
45278
|
+
let t = indexedDB.open(y0, 1);
|
|
45279
|
+
t.onupgradeneeded = () => t.result.createObjectStore(b0), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
45220
45280
|
} catch {
|
|
45221
45281
|
e(null);
|
|
45222
45282
|
}
|
|
45223
45283
|
});
|
|
45224
45284
|
}
|
|
45225
|
-
function
|
|
45226
|
-
return typeof e[0] == "string" &&
|
|
45285
|
+
function C0(e) {
|
|
45286
|
+
return typeof e[0] == "string" && x0.includes(e[0]);
|
|
45227
45287
|
}
|
|
45228
|
-
async function
|
|
45229
|
-
let t = await
|
|
45288
|
+
async function w0(e) {
|
|
45289
|
+
let t = await S0();
|
|
45230
45290
|
if (!t) return () => {};
|
|
45231
45291
|
await new Promise((n) => {
|
|
45232
45292
|
try {
|
|
45233
|
-
let r = t.transaction(
|
|
45293
|
+
let r = t.transaction(b0, "readonly").objectStore(b0).openCursor();
|
|
45234
45294
|
r.onsuccess = () => {
|
|
45235
45295
|
let t = r.result;
|
|
45236
45296
|
if (!t) return n();
|
|
45237
45297
|
try {
|
|
45238
45298
|
let { queryKey: n, data: r } = t.value;
|
|
45239
|
-
|
|
45299
|
+
C0(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
45240
45300
|
} catch {}
|
|
45241
45301
|
t.continue();
|
|
45242
45302
|
}, r.onerror = () => n();
|
|
@@ -45247,14 +45307,14 @@ async function b0(e) {
|
|
|
45247
45307
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
45248
45308
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
45249
45309
|
let { queryKey: i, queryHash: a } = r.query;
|
|
45250
|
-
if (!
|
|
45310
|
+
if (!C0(i)) return;
|
|
45251
45311
|
let o = n.get(a);
|
|
45252
45312
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
45253
45313
|
n.delete(a);
|
|
45254
45314
|
try {
|
|
45255
45315
|
let n = e.getQueryData(i);
|
|
45256
45316
|
if (n === void 0) return;
|
|
45257
|
-
t.transaction(
|
|
45317
|
+
t.transaction(b0, "readwrite").objectStore(b0).put({
|
|
45258
45318
|
queryKey: i,
|
|
45259
45319
|
data: n
|
|
45260
45320
|
}, a);
|
|
@@ -45270,7 +45330,7 @@ async function b0(e) {
|
|
|
45270
45330
|
//#endregion
|
|
45271
45331
|
//#region src/panel/App.tsx
|
|
45272
45332
|
Rr();
|
|
45273
|
-
var
|
|
45333
|
+
var T0 = /*#__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\">"), E0 = /*#__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\">"), D0 = /*#__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\">–"), O0 = /*#__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>"), k0 = /*#__PURE__*/ N("<button>"), A0 = [
|
|
45274
45334
|
{
|
|
45275
45335
|
id: "draft",
|
|
45276
45336
|
label: "Draft"
|
|
@@ -45295,14 +45355,14 @@ var x0 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
45295
45355
|
id: "settings",
|
|
45296
45356
|
label: "Settings"
|
|
45297
45357
|
}
|
|
45298
|
-
],
|
|
45358
|
+
], j0 = new gr({ defaultOptions: { queries: {
|
|
45299
45359
|
retry: 1,
|
|
45300
45360
|
refetchOnWindowFocus: !1,
|
|
45301
45361
|
staleTime: 5e3
|
|
45302
45362
|
} } });
|
|
45303
|
-
function
|
|
45363
|
+
function M0(e) {
|
|
45304
45364
|
return (() => {
|
|
45305
|
-
var t =
|
|
45365
|
+
var t = T0();
|
|
45306
45366
|
return D((n) => {
|
|
45307
45367
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
45308
45368
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -45312,32 +45372,32 @@ function O0(e) {
|
|
|
45312
45372
|
}), t;
|
|
45313
45373
|
})();
|
|
45314
45374
|
}
|
|
45315
|
-
function
|
|
45375
|
+
function N0(e) {
|
|
45316
45376
|
let [t, n] = T("draft"), r = () => {
|
|
45317
|
-
|
|
45377
|
+
j0.invalidateQueries({ queryKey: ["grab"] }), ZA() === "capture" && n("capture"), e.onGrab?.();
|
|
45318
45378
|
};
|
|
45319
45379
|
return O(() => {
|
|
45320
45380
|
let e = GA();
|
|
45321
45381
|
e && n(e);
|
|
45322
45382
|
}), ie(() => {
|
|
45323
|
-
let e =
|
|
45324
|
-
RO().then(
|
|
45383
|
+
let e = w0(j0), t = IZ(r), n = () => {
|
|
45384
|
+
RO().then(qQ), FO();
|
|
45325
45385
|
};
|
|
45326
45386
|
n();
|
|
45327
45387
|
let i = Ar((e) => {
|
|
45328
|
-
e === "settings" && (
|
|
45388
|
+
e === "settings" && (j0.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
45329
45389
|
});
|
|
45330
45390
|
ae(() => {
|
|
45331
45391
|
t(), i(), e.then((e) => e());
|
|
45332
45392
|
});
|
|
45333
45393
|
}), j(cr, {
|
|
45334
|
-
client:
|
|
45394
|
+
client: j0,
|
|
45335
45395
|
get children() {
|
|
45336
|
-
var r =
|
|
45337
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
45338
|
-
each:
|
|
45396
|
+
var r = O0(), 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;
|
|
45397
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(M0, { size: 14 })), P(o, j(We, {
|
|
45398
|
+
each: A0,
|
|
45339
45399
|
children: (e) => (() => {
|
|
45340
|
-
var r =
|
|
45400
|
+
var r = k0();
|
|
45341
45401
|
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;
|
|
45342
45402
|
})()
|
|
45343
45403
|
})), P(i, j(M, {
|
|
@@ -45345,7 +45405,7 @@ function k0(e) {
|
|
|
45345
45405
|
return e.onTogglePin;
|
|
45346
45406
|
},
|
|
45347
45407
|
get children() {
|
|
45348
|
-
var t =
|
|
45408
|
+
var t = E0();
|
|
45349
45409
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
45350
45410
|
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"}`;
|
|
45351
45411
|
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;
|
|
@@ -45360,10 +45420,10 @@ function k0(e) {
|
|
|
45360
45420
|
return e.onClose;
|
|
45361
45421
|
},
|
|
45362
45422
|
get children() {
|
|
45363
|
-
var t =
|
|
45423
|
+
var t = D0();
|
|
45364
45424
|
return t.$$click = () => e.onClose?.(), t;
|
|
45365
45425
|
}
|
|
45366
|
-
}), null), P(s, j(dM, { onCreated: () => n("activity") })), P(c, j(
|
|
45426
|
+
}), null), P(s, j(dM, { onCreated: () => n("activity") })), P(c, j(oQ, {})), P(l, j(I$, {})), P(u, j(w1, {})), P(d, j(L1, { onOpenIssue: () => n("activity") })), P(f, j(v0, {})), D((n) => {
|
|
45367
45427
|
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";
|
|
45368
45428
|
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;
|
|
45369
45429
|
}, {
|
|
@@ -45381,12 +45441,12 @@ function k0(e) {
|
|
|
45381
45441
|
rt(["pointerdown", "click"]);
|
|
45382
45442
|
//#endregion
|
|
45383
45443
|
//#region src/styles/app.css?inline
|
|
45384
|
-
var A0 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[68px\\]{min-width:68px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
45444
|
+
var P0 = "/*! 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}}";
|
|
45385
45445
|
//#endregion
|
|
45386
45446
|
//#region src/page/index.tsx
|
|
45387
45447
|
Rr();
|
|
45388
|
-
var
|
|
45389
|
-
function
|
|
45448
|
+
var F0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), I0 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), L0 = /*#__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"), R0 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), z0 = /*#__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"), B0 = /*#__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\">"), V0 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), H0 = /*#__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\">"), U0 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), W0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), G0 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), K0 = /*#__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>"), q0 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), J0 = /*#__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\"> · <!> · ");
|
|
45449
|
+
function Y0(e = {}) {
|
|
45390
45450
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
45391
45451
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
45392
45452
|
let t = () => {
|
|
@@ -45394,17 +45454,17 @@ function G0(e = {}) {
|
|
|
45394
45454
|
let t = document.createElement("div");
|
|
45395
45455
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
45396
45456
|
let n = t.attachShadow({ mode: "open" }), r = document.createElement("style");
|
|
45397
|
-
r.textContent =
|
|
45457
|
+
r.textContent = P0, n.appendChild(r);
|
|
45398
45458
|
let i = document.createElement("div");
|
|
45399
45459
|
n.appendChild(i);
|
|
45400
|
-
let a = () => i.setAttribute("data-theme",
|
|
45401
|
-
a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), nt(() => j(
|
|
45460
|
+
let a = () => i.setAttribute("data-theme", X0());
|
|
45461
|
+
a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), nt(() => j(n2, { get defaultOpen() {
|
|
45402
45462
|
return e.defaultOpen ?? !1;
|
|
45403
45463
|
} }), i);
|
|
45404
45464
|
};
|
|
45405
45465
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
45406
45466
|
}
|
|
45407
|
-
function
|
|
45467
|
+
function X0() {
|
|
45408
45468
|
try {
|
|
45409
45469
|
let e = [document.body, document.documentElement];
|
|
45410
45470
|
for (let t of e) {
|
|
@@ -45414,11 +45474,11 @@ function K0() {
|
|
|
45414
45474
|
} catch {}
|
|
45415
45475
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
45416
45476
|
}
|
|
45417
|
-
var
|
|
45418
|
-
function
|
|
45477
|
+
var Z0 = 130, Q0 = 36, $0 = 380, e2 = 280, t2 = 720;
|
|
45478
|
+
function n2(e) {
|
|
45419
45479
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
45420
|
-
x: Math.max(8, window.innerWidth -
|
|
45421
|
-
y: Math.max(8, window.innerHeight -
|
|
45480
|
+
x: Math.max(8, window.innerWidth - Z0 - 24),
|
|
45481
|
+
y: Math.max(8, window.innerHeight - Q0 - 20)
|
|
45422
45482
|
}), [s, c] = T({
|
|
45423
45483
|
running: [],
|
|
45424
45484
|
review: []
|
|
@@ -45433,12 +45493,12 @@ function Q0(e) {
|
|
|
45433
45493
|
let t = Math.floor(e / 1e3);
|
|
45434
45494
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
45435
45495
|
}, [v, y] = T(null), b = (e) => ({
|
|
45436
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
45437
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
45496
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - Z0 - 8),
|
|
45497
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - Q0 - 8)
|
|
45438
45498
|
}), x = (e) => ({
|
|
45439
45499
|
x: Math.min(Math.max(8 - (te() - 80), e.x), window.innerWidth - 80),
|
|
45440
45500
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
45441
|
-
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(
|
|
45501
|
+
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T($0), ne = (e) => Math.min(t2, Math.max(e2, Math.min(e, window.innerWidth - 60)));
|
|
45442
45502
|
O(() => {
|
|
45443
45503
|
let e = document.documentElement, n = t() && S();
|
|
45444
45504
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${te()}px` : "", e.style.marginLeft = n && r() === "left" ? `${te()}px` : "";
|
|
@@ -45470,7 +45530,7 @@ function Q0(e) {
|
|
|
45470
45530
|
window.addEventListener(DZ, r), ae(() => {
|
|
45471
45531
|
window.removeEventListener(EZ, t), window.removeEventListener(DZ, r);
|
|
45472
45532
|
});
|
|
45473
|
-
let s =
|
|
45533
|
+
let s = FQ(c), l = BD().phase, u = VD((e) => {
|
|
45474
45534
|
m(e.phase), e.phase === "recording" && l !== "recording" && !S() && n(!1), e.phase === "ready" && l !== "ready" && (YA("capture"), n(!0)), l = e.phase;
|
|
45475
45535
|
}), d = () => {
|
|
45476
45536
|
o(b(a()));
|
|
@@ -45546,7 +45606,7 @@ function Q0(e) {
|
|
|
45546
45606
|
return !t();
|
|
45547
45607
|
},
|
|
45548
45608
|
get children() {
|
|
45549
|
-
var e =
|
|
45609
|
+
var e = B0(), t = e.firstChild;
|
|
45550
45610
|
return t.$$pointerdown = se, P(t, j(M, {
|
|
45551
45611
|
get when() {
|
|
45552
45612
|
return p() === "recording";
|
|
@@ -45554,14 +45614,14 @@ function Q0(e) {
|
|
|
45554
45614
|
get fallback() {
|
|
45555
45615
|
return [
|
|
45556
45616
|
(() => {
|
|
45557
|
-
var e =
|
|
45617
|
+
var e = H0();
|
|
45558
45618
|
return e.$$click = () => {
|
|
45559
45619
|
oe || (f(!1), n(!0));
|
|
45560
|
-
}, P(e, j(
|
|
45620
|
+
}, P(e, j(M0, { size: 13 })), e;
|
|
45561
45621
|
})(),
|
|
45562
|
-
|
|
45622
|
+
U0(),
|
|
45563
45623
|
(() => {
|
|
45564
|
-
var e =
|
|
45624
|
+
var e = K0(), t = e.firstChild, n = t.nextSibling;
|
|
45565
45625
|
return e.$$click = () => {
|
|
45566
45626
|
oe || f((e) => !e);
|
|
45567
45627
|
}, P(n, (() => {
|
|
@@ -45572,8 +45632,8 @@ function Q0(e) {
|
|
|
45572
45632
|
return $e(() => !k())() && u().length > 0;
|
|
45573
45633
|
},
|
|
45574
45634
|
get children() {
|
|
45575
|
-
return [
|
|
45576
|
-
var e =
|
|
45635
|
+
return [W0(), (() => {
|
|
45636
|
+
var e = G0(), t = e.firstChild;
|
|
45577
45637
|
return P(e, () => u().length, t), e;
|
|
45578
45638
|
})()];
|
|
45579
45639
|
}
|
|
@@ -45589,13 +45649,13 @@ function Q0(e) {
|
|
|
45589
45649
|
},
|
|
45590
45650
|
get children() {
|
|
45591
45651
|
return [
|
|
45592
|
-
|
|
45652
|
+
F0(),
|
|
45593
45653
|
(() => {
|
|
45594
|
-
var e =
|
|
45654
|
+
var e = I0();
|
|
45595
45655
|
return P(e, () => _(h())), e;
|
|
45596
45656
|
})(),
|
|
45597
45657
|
(() => {
|
|
45598
|
-
var e =
|
|
45658
|
+
var e = L0();
|
|
45599
45659
|
return e.$$click = () => {
|
|
45600
45660
|
oe || QD();
|
|
45601
45661
|
}, e;
|
|
@@ -45607,17 +45667,17 @@ function Q0(e) {
|
|
|
45607
45667
|
return d();
|
|
45608
45668
|
},
|
|
45609
45669
|
get children() {
|
|
45610
|
-
var e =
|
|
45670
|
+
var e = z0(), t = e.firstChild;
|
|
45611
45671
|
return P(e, j(M, {
|
|
45612
45672
|
get when() {
|
|
45613
45673
|
return u().length > 0;
|
|
45614
45674
|
},
|
|
45615
45675
|
get children() {
|
|
45616
|
-
return [
|
|
45676
|
+
return [R0(), j(We, {
|
|
45617
45677
|
get each() {
|
|
45618
45678
|
return u();
|
|
45619
45679
|
},
|
|
45620
|
-
children: (e) => j(
|
|
45680
|
+
children: (e) => j(r2, {
|
|
45621
45681
|
agent: e,
|
|
45622
45682
|
review: !0,
|
|
45623
45683
|
onOpen: le
|
|
@@ -45629,14 +45689,14 @@ function Q0(e) {
|
|
|
45629
45689
|
return l().length > 0;
|
|
45630
45690
|
},
|
|
45631
45691
|
get fallback() {
|
|
45632
|
-
return
|
|
45692
|
+
return q0();
|
|
45633
45693
|
},
|
|
45634
45694
|
get children() {
|
|
45635
45695
|
return j(We, {
|
|
45636
45696
|
get each() {
|
|
45637
45697
|
return l();
|
|
45638
45698
|
},
|
|
45639
|
-
children: (e) => j(
|
|
45699
|
+
children: (e) => j(r2, {
|
|
45640
45700
|
agent: e,
|
|
45641
45701
|
onOpen: le
|
|
45642
45702
|
})
|
|
@@ -45657,8 +45717,8 @@ function Q0(e) {
|
|
|
45657
45717
|
return t();
|
|
45658
45718
|
},
|
|
45659
45719
|
get children() {
|
|
45660
|
-
var e =
|
|
45661
|
-
return t.$$pointerdown = ue, P(e, j(
|
|
45720
|
+
var e = V0(), t = e.firstChild;
|
|
45721
|
+
return t.$$pointerdown = ue, P(e, j(N0, {
|
|
45662
45722
|
onGrab: () => n(!0),
|
|
45663
45723
|
onClose: () => n(!1),
|
|
45664
45724
|
get onHeaderPointerDown() {
|
|
@@ -45686,19 +45746,19 @@ function Q0(e) {
|
|
|
45686
45746
|
}
|
|
45687
45747
|
})];
|
|
45688
45748
|
}
|
|
45689
|
-
function
|
|
45749
|
+
function r2(e) {
|
|
45690
45750
|
return (() => {
|
|
45691
|
-
var t =
|
|
45751
|
+
var t = J0(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
45692
45752
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
45693
45753
|
var t = $e(() => !!e.review);
|
|
45694
45754
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
45695
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
45755
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => i2(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
45696
45756
|
})();
|
|
45697
45757
|
}
|
|
45698
|
-
function
|
|
45758
|
+
function i2(e) {
|
|
45699
45759
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
45700
45760
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
45701
45761
|
}
|
|
45702
45762
|
rt(["pointerdown", "click"]);
|
|
45703
45763
|
//#endregion
|
|
45704
|
-
export {
|
|
45764
|
+
export { Y0 as init };
|