linear-grab 0.17.6 → 0.17.8
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 +9 -6
- package/dist/linear-grab.js +483 -313
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -26523,7 +26523,7 @@ function mO(e) {
|
|
|
26523
26523
|
}
|
|
26524
26524
|
async function hO(e) {
|
|
26525
26525
|
try {
|
|
26526
|
-
return (await cO("query($id: String!) {\n issue(id: $id) {\n agentSessions(first: 10) {\n nodes {\n id status summary updatedAt\n appUser { displayName }\n comment { id }\n activities(
|
|
26526
|
+
return (await cO("query($id: String!) {\n issue(id: $id) {\n agentSessions(first: 10) {\n nodes {\n id status summary updatedAt\n appUser { displayName }\n comment { id }\n externalLinks { label url }\n activities(first: 250) {\n nodes { id createdAt ephemeral content {\n __typename\n ... on AgentActivityThoughtContent { body }\n ... on AgentActivityResponseContent { body }\n ... on AgentActivityErrorContent { body }\n ... on AgentActivityPromptContent { body }\n ... on AgentActivityElicitationContent { body }\n ... on AgentActivityActionContent { action parameter result }\n } }\n }\n }\n }\n }\n }", { id: e })).issue.agentSessions.nodes.map((e) => ({
|
|
26527
26527
|
...e,
|
|
26528
26528
|
activities: mO(e.activities.nodes)
|
|
26529
26529
|
}));
|
|
@@ -26533,13 +26533,13 @@ async function hO(e) {
|
|
|
26533
26533
|
}
|
|
26534
26534
|
async function gO() {
|
|
26535
26535
|
try {
|
|
26536
|
-
return (await cO("query {\n agentSessions(first: 50) {\n nodes {\n id status summary updatedAt createdAt\n appUser { displayName }\n issue { id identifier title url state { name color type } }\n activities(last: 3) {\n nodes { id createdAt content {\n __typename\n ... on AgentActivityThoughtContent { body }\n ... on AgentActivityResponseContent { body }\n ... on AgentActivityErrorContent { body }\n ... on AgentActivityPromptContent { body }\n ... on AgentActivityElicitationContent { body }\n ... on AgentActivityActionContent { action parameter result }\n } }\n }\n }\n }\n }")).agentSessions.nodes.map((e) => ({
|
|
26536
|
+
return (await cO("query {\n agentSessions(first: 50) {\n nodes {\n id status summary updatedAt createdAt\n appUser { displayName }\n externalLinks { label url }\n issue { id identifier title url state { name color type } }\n activities(last: 3) {\n nodes { id createdAt content {\n __typename\n ... on AgentActivityThoughtContent { body }\n ... on AgentActivityResponseContent { body }\n ... on AgentActivityErrorContent { body }\n ... on AgentActivityPromptContent { body }\n ... on AgentActivityElicitationContent { body }\n ... on AgentActivityActionContent { action parameter result }\n } }\n }\n }\n }\n }")).agentSessions.nodes.map((e) => ({
|
|
26537
26537
|
...e,
|
|
26538
26538
|
activities: mO(e.activities.nodes)
|
|
26539
26539
|
})).sort((e, t) => Date.parse(t.updatedAt) - Date.parse(e.updatedAt));
|
|
26540
26540
|
} catch {
|
|
26541
26541
|
try {
|
|
26542
|
-
return (await cO("query {\n agentSessions(first: 50) {\n nodes {\n id status summary updatedAt createdAt\n appUser { displayName }\n issue { id identifier title url state { name color type } }\n }\n }\n }")).agentSessions.nodes.map((e) => ({
|
|
26542
|
+
return (await cO("query {\n agentSessions(first: 50) {\n nodes {\n id status summary updatedAt createdAt\n appUser { displayName }\n externalLinks { label url }\n issue { id identifier title url state { name color type } }\n }\n }\n }")).agentSessions.nodes.map((e) => ({
|
|
26543
26543
|
...e,
|
|
26544
26544
|
activities: []
|
|
26545
26545
|
})).sort((e, t) => Date.parse(t.updatedAt) - Date.parse(e.updatedAt));
|
|
@@ -43011,7 +43011,7 @@ function n$(e) {
|
|
|
43011
43011
|
//#endregion
|
|
43012
43012
|
//#region src/panel/views/ActivityView.tsx
|
|
43013
43013
|
Br();
|
|
43014
|
-
var r$ = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), i$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), a$ = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), o$ = /*#__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\">"), s$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), c$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), l$ = /*#__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\"></div></div><div class=\"border-border flex shrink-0 items-center gap-1 border-b px-3 py-1.5\">"), u$ = /*#__PURE__*/ N("<button>"), d$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), f$ = /*#__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\">"), p$ = /*#__PURE__*/ N("<
|
|
43014
|
+
var r$ = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), i$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), a$ = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), o$ = /*#__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\">"), s$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), c$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), l$ = /*#__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\"></div></div><div class=\"border-border flex shrink-0 items-center gap-1 border-b px-3 py-1.5\">"), u$ = /*#__PURE__*/ N("<button>"), d$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), f$ = /*#__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\">"), p$ = /*#__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=\"M10.5 3.5 6 8l4.5 4.5\">"), m$ = /*#__PURE__*/ N("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), h$ = /*#__PURE__*/ N("<span class=\"truncate text-[12px] font-medium text-text\">"), g$ = /*#__PURE__*/ N("<span class=\"text-[11.5px] text-text-faint\">Loading…"), _$ = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), v$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2\">"), y$ = /*#__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\">"), b$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), x$ = /*#__PURE__*/ N("<option value=local>Message local Claude Code session"), S$ = /*#__PURE__*/ N("<option value=new>Start NEW agent (@<!>)"), C$ = /*#__PURE__*/ N("<option value=comment>Comment only"), w$ = /*#__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\">"), T$ = /*#__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>"), E$ = /*#__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\">"), D$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), O$ = /*#__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\">"), k$ = /*#__PURE__*/ N("<option selected>"), A$ = /*#__PURE__*/ N("<svg width=10 height=10 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), j$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><path d=\"M4.5 2.8a.8.8 0 0 1 1.22-.68l8 5.2a.8.8 0 0 1 0 1.36l-8 5.2a.8.8 0 0 1-1.22-.68V2.8Z\">"), M$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"m2.5 4 3.5 4-3.5 4M8 12.5h5.5\">"), N$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border overflow-clip rounded-lg border\"><div class=\"border-border flex h-9 min-w-0 items-center justify-between gap-2 border-b px-3\"><div class=\"flex min-w-0 items-center gap-1.5 text-[11.5px] font-medium\"><span aria-hidden class=\"text-text-dim inline-flex\"></span><span class=\"text-text shrink-0\">Local Claude Code</span><span class=\"text-text-dim shrink-0\">started by you</span><span class=\"text-text-faint shrink-0 tabular-nums\">· </span></div></div><div class=\"flex h-9 items-center gap-1 pr-2\"><button class=\"hover:bg-surface-2 flex h-full min-w-0 flex-1 cursor-pointer items-center gap-2 rounded-md px-3 text-left transition-colors\"title=\"Open the live thread in the Local tab\"><span></span><span class=\"text-text-faint min-w-0 flex-1 truncate text-[11.5px]\"></span><svg width=14 height=14 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden class=\"text-text-dim shrink-0\"><path d=\"m6 3.5 4.5 4.5L6 12.5\">"), P$ = /*#__PURE__*/ N("<option>"), F$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-center\">Merge"), I$ = /*#__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\">"), L$ = /*#__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\">"), R$ = /*#__PURE__*/ N("<option>Steer running agent<!> · "), z$ = /*#__PURE__*/ N("<span class=\"bg-danger inline-block size-2.5 rounded-full\"aria-hidden>"), B$ = /*#__PURE__*/ N("<span class=\"text-[11px] text-text-dim\">"), V$ = /*#__PURE__*/ N("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), H$ = /*#__PURE__*/ N("<div class=\"border-border mt-0.5 flex max-h-64 flex-col gap-1 overflow-y-auto border-t pt-1.5 pl-0.5 pr-3\">"), U$ = /*#__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\">"), W$ = /*#__PURE__*/ N("<p class=\"font-mono text-text-faint text-[10.5px] leading-relaxed break-words\">→ <!> "), G$ = /*#__PURE__*/ N("<div>");
|
|
43015
43015
|
function K$(e) {
|
|
43016
43016
|
let t = k(() => n$(e.text));
|
|
43017
43017
|
return (() => {
|
|
@@ -43417,7 +43417,10 @@ function X$(e) {
|
|
|
43417
43417
|
return (() => {
|
|
43418
43418
|
var t = O$(), r = t.firstChild, a = r.firstChild, d = r.nextSibling, v = d.nextSibling, y = v.firstChild;
|
|
43419
43419
|
return P(a, j(wj, {
|
|
43420
|
-
|
|
43420
|
+
variant: "ghost",
|
|
43421
|
+
class: "size-7 shrink-0 px-0",
|
|
43422
|
+
title: "Back to issues",
|
|
43423
|
+
"aria-label": "Back to issues",
|
|
43421
43424
|
get onClick() {
|
|
43422
43425
|
return e.onBack;
|
|
43423
43426
|
},
|
|
@@ -43881,7 +43884,21 @@ function Z$(e) {
|
|
|
43881
43884
|
var t = B$();
|
|
43882
43885
|
return P(t, () => e.session.appUser.displayName), t;
|
|
43883
43886
|
}
|
|
43884
|
-
}), c), P(c, () => zj(e.session.updatedAt)), P(
|
|
43887
|
+
}), c), P(c, () => zj(e.session.updatedAt)), P(s, j(M, {
|
|
43888
|
+
get when() {
|
|
43889
|
+
return e.session.externalLinks?.[0];
|
|
43890
|
+
},
|
|
43891
|
+
children: (e) => j(jj, {
|
|
43892
|
+
get href() {
|
|
43893
|
+
return e().url;
|
|
43894
|
+
},
|
|
43895
|
+
class: "shrink-0",
|
|
43896
|
+
title: "Open this run on the agent's site",
|
|
43897
|
+
get children() {
|
|
43898
|
+
return e().label || "Cursor";
|
|
43899
|
+
}
|
|
43900
|
+
})
|
|
43901
|
+
}), null), P(a, j(M, {
|
|
43885
43902
|
get when() {
|
|
43886
43903
|
return e.session.summary;
|
|
43887
43904
|
},
|
|
@@ -43926,8 +43943,8 @@ function Z$(e) {
|
|
|
43926
43943
|
rt(["click"]);
|
|
43927
43944
|
//#endregion
|
|
43928
43945
|
//#region src/panel/views/CloudView.tsx
|
|
43929
|
-
var Q$ = /*#__PURE__*/ N("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), $$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), e1 = /*#__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 inline-flex items-center gap-1.5 text-[12px] font-semibold\"> Cloud agents</span><span class=\"text-text-faint text-[10.5px] tabular-nums\"> working · updated </span></div><div class=\"border-border flex shrink-0 items-center gap-1 border-b px-3 py-1.5\"></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), t1 = /*#__PURE__*/ N("<button>"), n1 = /*#__PURE__*/ N("<div class=\"grid place-items-center py-10\">"), r1 = /*#__PURE__*/ N("<span class=\"font-mono text-text-dim shrink-0 text-[11px]\"
|
|
43930
|
-
function
|
|
43946
|
+
var Q$ = /*#__PURE__*/ N("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), $$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), e1 = /*#__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 inline-flex items-center gap-1.5 text-[12px] font-semibold\"> Cloud agents</span><span class=\"text-text-faint text-[10.5px] tabular-nums\"> working · updated </span></div><div class=\"border-border flex shrink-0 items-center gap-1 border-b px-3 py-1.5\"></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), t1 = /*#__PURE__*/ N("<button>"), n1 = /*#__PURE__*/ N("<div class=\"grid place-items-center py-10\">"), r1 = /*#__PURE__*/ N("<button class=\"flex min-w-0 flex-1 cursor-pointer items-center gap-1.5 text-left\"title=\"View the thread here\"><span class=\"font-mono text-text-dim shrink-0 text-[11px]\"></span><span class=\"text-text hover:text-accent min-w-0 truncate text-[12.5px] font-medium transition-colors\">"), i1 = /*#__PURE__*/ N("<p class=\"text-text-dim line-clamp-2 cursor-pointer text-[11.5px] leading-snug break-words\">"), a1 = /*#__PURE__*/ N("<span class=\"text-text-dim text-[11px]\">"), o1 = /*#__PURE__*/ N("<svg width=12 height=12 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>"), s1 = /*#__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-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><div class=\"flex min-w-0 items-center gap-1.5\"><span class=ml-auto>"), c1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), l1 = /*#__PURE__*/ N("<span class=\"text-text-dim text-[12.5px]\">Conversation session");
|
|
43947
|
+
function u1() {
|
|
43931
43948
|
let e = _r(() => ({
|
|
43932
43949
|
queryKey: ["cloud-sessions"],
|
|
43933
43950
|
queryFn: gO,
|
|
@@ -43974,146 +43991,294 @@ function d1() {
|
|
|
43974
43991
|
}, o = (e) => {
|
|
43975
43992
|
let t = [...e.activities].reverse().find((e) => e.content?.body || e.content?.action);
|
|
43976
43993
|
return t ? t.content.action ? `→ ${t.content.action} ${t.content.parameter ?? ""}` : t.content.body ?? "" : e.summary ?? "";
|
|
43977
|
-
}, s = k(() => (e.data ?? []).filter((e) => /active|pending/i.test(e.status)).length);
|
|
43978
|
-
return (
|
|
43979
|
-
|
|
43980
|
-
|
|
43981
|
-
|
|
43982
|
-
|
|
43983
|
-
|
|
43984
|
-
|
|
43985
|
-
|
|
43986
|
-
|
|
43987
|
-
|
|
43988
|
-
|
|
43989
|
-
|
|
43990
|
-
|
|
43991
|
-
|
|
43992
|
-
|
|
43993
|
-
|
|
43994
|
-
|
|
43995
|
-
|
|
43996
|
-
|
|
43997
|
-
|
|
43998
|
-
|
|
43999
|
-
|
|
44000
|
-
|
|
44001
|
-
|
|
44002
|
-
|
|
44003
|
-
|
|
44004
|
-
|
|
44005
|
-
|
|
44006
|
-
|
|
44007
|
-
|
|
44008
|
-
|
|
44009
|
-
|
|
44010
|
-
|
|
44011
|
-
|
|
44012
|
-
|
|
44013
|
-
|
|
44014
|
-
|
|
44015
|
-
|
|
44016
|
-
|
|
44017
|
-
|
|
44018
|
-
|
|
44019
|
-
|
|
44020
|
-
|
|
44021
|
-
|
|
44022
|
-
|
|
44023
|
-
|
|
44024
|
-
|
|
44025
|
-
|
|
44026
|
-
|
|
44027
|
-
|
|
44028
|
-
|
|
44029
|
-
|
|
44030
|
-
|
|
44031
|
-
|
|
44032
|
-
|
|
44033
|
-
|
|
44034
|
-
|
|
44035
|
-
|
|
44036
|
-
|
|
44037
|
-
|
|
44038
|
-
|
|
44039
|
-
|
|
44040
|
-
|
|
44041
|
-
|
|
44042
|
-
|
|
44043
|
-
|
|
44044
|
-
|
|
44045
|
-
|
|
44046
|
-
|
|
44047
|
-
|
|
44048
|
-
|
|
44049
|
-
|
|
44050
|
-
|
|
44051
|
-
return
|
|
44052
|
-
}
|
|
43994
|
+
}, s = k(() => (e.data ?? []).filter((e) => /active|pending/i.test(e.status)).length), [c, l] = T(null);
|
|
43995
|
+
return j(M, {
|
|
43996
|
+
get when() {
|
|
43997
|
+
return !c();
|
|
43998
|
+
},
|
|
43999
|
+
get fallback() {
|
|
44000
|
+
return j(X$, {
|
|
44001
|
+
get issueId() {
|
|
44002
|
+
return c();
|
|
44003
|
+
},
|
|
44004
|
+
onBack: () => l(null)
|
|
44005
|
+
});
|
|
44006
|
+
},
|
|
44007
|
+
get children() {
|
|
44008
|
+
var c = e1(), u = c.firstChild, d = u.firstChild, f = d.firstChild, p = d.nextSibling, m = p.firstChild, h = u.nextSibling, g = h.nextSibling;
|
|
44009
|
+
return P(d, j(kj, { size: 13 }), f), P(p, s, m), P(p, () => zj(e.dataUpdatedAt || Date.now()), null), P(h, j(We, {
|
|
44010
|
+
each: t,
|
|
44011
|
+
children: (e) => (() => {
|
|
44012
|
+
var t = t1();
|
|
44013
|
+
return t.$$click = () => r(e.id), P(t, () => e.label), D(() => st(t, `h-6 shrink-0 cursor-pointer rounded-md px-2 text-[11px] font-medium transition-colors ${n() === e.id ? "bg-accent-soft text-accent" : "text-text-dim hover:bg-surface-2"}`)), t;
|
|
44014
|
+
})()
|
|
44015
|
+
}), null), P(h, j(wj, {
|
|
44016
|
+
class: "ml-auto size-6 px-0",
|
|
44017
|
+
get loading() {
|
|
44018
|
+
return e.isFetching;
|
|
44019
|
+
},
|
|
44020
|
+
title: "Refresh",
|
|
44021
|
+
"aria-label": "Refresh sessions",
|
|
44022
|
+
onClick: () => void e.refetch(),
|
|
44023
|
+
get children() {
|
|
44024
|
+
return Q$();
|
|
44025
|
+
}
|
|
44026
|
+
}), null), P(g, j(M, {
|
|
44027
|
+
get when() {
|
|
44028
|
+
return i().length > 0;
|
|
44029
|
+
},
|
|
44030
|
+
get fallback() {
|
|
44031
|
+
return j(M, {
|
|
44032
|
+
get when() {
|
|
44033
|
+
return !e.isPending;
|
|
44034
|
+
},
|
|
44035
|
+
get fallback() {
|
|
44036
|
+
return (() => {
|
|
44037
|
+
var e = n1();
|
|
44038
|
+
return P(e, j(Tj, {})), e;
|
|
44039
|
+
})();
|
|
44040
|
+
},
|
|
44041
|
+
get children() {
|
|
44042
|
+
return j(Ij, {
|
|
44043
|
+
title: "No cloud agent sessions",
|
|
44044
|
+
children: "Delegate an issue to Cursor from the Draft tab and its live session appears here."
|
|
44045
|
+
});
|
|
44046
|
+
}
|
|
44047
|
+
});
|
|
44048
|
+
},
|
|
44049
|
+
get children() {
|
|
44050
|
+
var e = $$();
|
|
44051
|
+
return P(e, j(Ge, {
|
|
44052
|
+
get each() {
|
|
44053
|
+
return i();
|
|
44054
|
+
},
|
|
44055
|
+
children: (e) => (() => {
|
|
44056
|
+
var t = s1(), n = t.firstChild, r = n.firstChild, i = n.nextSibling, s = i.firstChild;
|
|
44057
|
+
return P(n, j(M, {
|
|
44058
|
+
get when() {
|
|
44059
|
+
return /active|pending/i.test(e().status);
|
|
44060
|
+
},
|
|
44061
|
+
get fallback() {
|
|
44062
|
+
return (() => {
|
|
44063
|
+
var t = c1();
|
|
44064
|
+
return D((n) => dt(t, "background", a(e().status).color)), t;
|
|
44065
|
+
})();
|
|
44066
|
+
},
|
|
44067
|
+
get children() {
|
|
44068
|
+
return j(Tj, {});
|
|
44069
|
+
}
|
|
44070
|
+
}), r), P(n, j(M, {
|
|
44071
|
+
get when() {
|
|
44072
|
+
return e().issue;
|
|
44073
|
+
},
|
|
44074
|
+
get fallback() {
|
|
44075
|
+
return l1();
|
|
44076
|
+
},
|
|
44077
|
+
get children() {
|
|
44078
|
+
var t = r1(), n = t.firstChild, r = n.nextSibling;
|
|
44079
|
+
return t.$$click = () => l(e().issue.id), P(n, () => e().issue.identifier), P(r, () => e().issue.title), t;
|
|
44080
|
+
}
|
|
44081
|
+
}), r), P(r, () => zj(e().updatedAt)), P(t, j(M, {
|
|
44082
|
+
get when() {
|
|
44083
|
+
return o(e());
|
|
44084
|
+
},
|
|
44085
|
+
get children() {
|
|
44053
44086
|
var t = i1();
|
|
44054
|
-
return
|
|
44055
|
-
}
|
|
44056
|
-
}
|
|
44057
|
-
|
|
44058
|
-
|
|
44059
|
-
|
|
44060
|
-
|
|
44061
|
-
|
|
44062
|
-
|
|
44063
|
-
|
|
44064
|
-
|
|
44065
|
-
|
|
44066
|
-
|
|
44067
|
-
|
|
44068
|
-
|
|
44069
|
-
|
|
44070
|
-
|
|
44071
|
-
|
|
44072
|
-
|
|
44073
|
-
|
|
44074
|
-
|
|
44075
|
-
},
|
|
44076
|
-
|
|
44077
|
-
|
|
44078
|
-
|
|
44079
|
-
|
|
44080
|
-
|
|
44081
|
-
|
|
44082
|
-
|
|
44083
|
-
|
|
44084
|
-
|
|
44085
|
-
|
|
44086
|
-
|
|
44087
|
-
|
|
44088
|
-
|
|
44089
|
-
|
|
44090
|
-
|
|
44091
|
-
|
|
44092
|
-
|
|
44093
|
-
|
|
44094
|
-
|
|
44095
|
-
|
|
44096
|
-
|
|
44097
|
-
|
|
44098
|
-
|
|
44099
|
-
|
|
44100
|
-
|
|
44101
|
-
|
|
44102
|
-
|
|
44103
|
-
|
|
44104
|
-
|
|
44105
|
-
|
|
44106
|
-
|
|
44107
|
-
|
|
44108
|
-
|
|
44109
|
-
|
|
44110
|
-
|
|
44111
|
-
|
|
44087
|
+
return t.$$click = () => e().issue && l(e().issue.id), P(t, () => o(e())), t;
|
|
44088
|
+
}
|
|
44089
|
+
}), i), P(i, j(Pj, {
|
|
44090
|
+
get color() {
|
|
44091
|
+
return a(e().status).color;
|
|
44092
|
+
},
|
|
44093
|
+
get children() {
|
|
44094
|
+
return a(e().status).word;
|
|
44095
|
+
}
|
|
44096
|
+
}), s), P(i, j(M, {
|
|
44097
|
+
get when() {
|
|
44098
|
+
return e().issue;
|
|
44099
|
+
},
|
|
44100
|
+
get children() {
|
|
44101
|
+
return [j(Fj, { get color() {
|
|
44102
|
+
return e().issue.state.color;
|
|
44103
|
+
} }), (() => {
|
|
44104
|
+
var t = a1();
|
|
44105
|
+
return P(t, () => e().issue.state.name), t;
|
|
44106
|
+
})()];
|
|
44107
|
+
}
|
|
44108
|
+
}), s), P(i, j(M, {
|
|
44109
|
+
get when() {
|
|
44110
|
+
return e().issue;
|
|
44111
|
+
},
|
|
44112
|
+
get children() {
|
|
44113
|
+
return [j(wj, {
|
|
44114
|
+
variant: "ghost",
|
|
44115
|
+
class: "size-6 shrink-0 px-0",
|
|
44116
|
+
title: "Open the thread — steer this agent",
|
|
44117
|
+
"aria-label": "Open thread",
|
|
44118
|
+
onClick: () => l(e().issue.id),
|
|
44119
|
+
get children() {
|
|
44120
|
+
return o1();
|
|
44121
|
+
}
|
|
44122
|
+
}), j(jj, {
|
|
44123
|
+
get href() {
|
|
44124
|
+
return e().issue.url;
|
|
44125
|
+
},
|
|
44126
|
+
class: "shrink-0",
|
|
44127
|
+
children: "Linear"
|
|
44128
|
+
})];
|
|
44129
|
+
}
|
|
44130
|
+
}), null), t;
|
|
44131
|
+
})()
|
|
44132
|
+
})), e;
|
|
44133
|
+
}
|
|
44134
|
+
})), c;
|
|
44135
|
+
}
|
|
44136
|
+
});
|
|
44137
|
+
}
|
|
44138
|
+
rt(["click"]);
|
|
44139
|
+
//#endregion
|
|
44140
|
+
//#region src/panel/views/RunningView.tsx
|
|
44141
|
+
var d1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), f1 = /*#__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\">Running now</span><span class=\"text-text-faint text-[10.5px] tabular-nums\"> agent<!> active</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), p1 = /*#__PURE__*/ N("<span class=\"font-mono text-text-dim shrink-0 text-[11px]\">"), m1 = /*#__PURE__*/ N("<svg width=12 height=12 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>"), h1 = /*#__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\"><button class=\"flex min-w-0 flex-1 cursor-pointer items-center gap-1.5 text-left\"><span class=\"text-text hover:text-accent min-w-0 truncate text-[12.5px] font-medium transition-colors\"></span></button><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><p class=\"text-text-dim line-clamp-2 text-[11.5px] leading-snug break-words\"></p><div class=\"flex min-w-0 items-center gap-1.5\"><span class=ml-auto>");
|
|
44142
|
+
function g1() {
|
|
44143
|
+
let e = _r(() => ({
|
|
44144
|
+
queryKey: ["cloud-sessions"],
|
|
44145
|
+
queryFn: gO,
|
|
44146
|
+
refetchInterval: 12e3
|
|
44147
|
+
})), t = _r(() => ({
|
|
44148
|
+
queryKey: ["bridge-tasks"],
|
|
44149
|
+
queryFn: NO,
|
|
44150
|
+
refetchInterval: 5e3,
|
|
44151
|
+
retry: 0
|
|
44152
|
+
})), n = _r(() => ({
|
|
44153
|
+
queryKey: ["my-issues"],
|
|
44154
|
+
queryFn: fO,
|
|
44155
|
+
refetchInterval: 3e4
|
|
44156
|
+
})), r = k(() => {
|
|
44157
|
+
let r = (e.data ?? []).filter((e) => /active|pending|awaitingInput|elicit/i.test(e.status)).map((e) => ({
|
|
44158
|
+
kind: "cloud",
|
|
44159
|
+
at: Date.parse(e.updatedAt),
|
|
44160
|
+
session: e
|
|
44161
|
+
})), i = (t.data ?? []).filter((e) => e.status === "running").map((e) => ({
|
|
44162
|
+
kind: "local",
|
|
44163
|
+
at: e.startedAt,
|
|
44164
|
+
task: e,
|
|
44165
|
+
issueId: (n.data ?? []).find((t) => e.title.startsWith(t.identifier))?.id
|
|
44166
|
+
}));
|
|
44167
|
+
return [...r, ...i].sort((e, t) => t.at - e.at);
|
|
44168
|
+
}), [i, a] = T(null), o = (e) => /awaitingInput|elicit/i.test(e) ? {
|
|
44169
|
+
word: "Needs input",
|
|
44170
|
+
color: "var(--color-warn)"
|
|
44171
|
+
} : {
|
|
44172
|
+
word: "Working…",
|
|
44173
|
+
color: "var(--color-accent)"
|
|
44174
|
+
}, s = (e) => {
|
|
44175
|
+
let t = [...e.activities].reverse().find((e) => e.content?.body || e.content?.action);
|
|
44176
|
+
return t ? t.content.action ? `→ ${t.content.action} ${t.content.parameter ?? ""}` : t.content.body ?? "" : e.summary ?? "";
|
|
44177
|
+
};
|
|
44178
|
+
return j(M, {
|
|
44179
|
+
get when() {
|
|
44180
|
+
return !i();
|
|
44181
|
+
},
|
|
44182
|
+
get fallback() {
|
|
44183
|
+
return j(X$, {
|
|
44184
|
+
get issueId() {
|
|
44185
|
+
return i();
|
|
44186
|
+
},
|
|
44187
|
+
onBack: () => a(null)
|
|
44188
|
+
});
|
|
44189
|
+
},
|
|
44190
|
+
get children() {
|
|
44191
|
+
var e = f1(), t = e.firstChild, n = t.firstChild.nextSibling, i = n.firstChild, c = i.nextSibling;
|
|
44192
|
+
c.nextSibling;
|
|
44193
|
+
var l = t.nextSibling;
|
|
44194
|
+
return P(n, () => r().length, i), P(n, () => r().length === 1 ? "" : "s", c), P(l, j(M, {
|
|
44195
|
+
get when() {
|
|
44196
|
+
return r().length > 0;
|
|
44197
|
+
},
|
|
44198
|
+
get fallback() {
|
|
44199
|
+
return j(Ij, {
|
|
44200
|
+
title: "Nothing running",
|
|
44201
|
+
children: "Delegate an issue from the Draft tab — cloud (Cursor) and local (Claude Code) agents working right now appear here together."
|
|
44202
|
+
});
|
|
44203
|
+
},
|
|
44204
|
+
get children() {
|
|
44205
|
+
var e = d1();
|
|
44206
|
+
return P(e, j(Ge, {
|
|
44207
|
+
get each() {
|
|
44208
|
+
return r();
|
|
44209
|
+
},
|
|
44210
|
+
children: (e) => (() => {
|
|
44211
|
+
var t = h1(), n = t.firstChild, r = n.firstChild, i = r.firstChild, c = r.nextSibling, l = n.nextSibling, u = l.nextSibling, d = u.firstChild;
|
|
44212
|
+
return P(n, j(Tj, { size: 12 }), r), P(n, j(Pj, {
|
|
44213
|
+
get title() {
|
|
44214
|
+
return e().kind === "cloud" ? "Cursor cloud agent" : "Local Claude Code";
|
|
44215
|
+
},
|
|
44216
|
+
get children() {
|
|
44217
|
+
return [$e(() => $e(() => e().kind === "cloud")() ? j(kj, {}) : j(Aj, {})), $e(() => e().kind === "cloud" ? "cloud" : "local")];
|
|
44218
|
+
}
|
|
44219
|
+
}), r), r.$$click = () => {
|
|
44220
|
+
let t = e();
|
|
44221
|
+
t.kind === "cloud" && t.session.issue ? a(t.session.issue.id) : t.kind === "local" && tj("local");
|
|
44222
|
+
}, P(r, j(M, {
|
|
44223
|
+
get when() {
|
|
44224
|
+
return e().kind === "cloud";
|
|
44225
|
+
},
|
|
44226
|
+
get children() {
|
|
44227
|
+
var t = p1();
|
|
44228
|
+
return P(t, () => e().session.issue?.identifier), t;
|
|
44229
|
+
}
|
|
44230
|
+
}), i), P(i, (() => {
|
|
44231
|
+
var t = $e(() => e().kind === "cloud");
|
|
44232
|
+
return () => t() ? e().session.issue?.title ?? "Conversation session" : e().task.title;
|
|
44233
|
+
})()), P(c, () => zj(e().at)), P(l, (() => {
|
|
44234
|
+
var t = $e(() => e().kind === "cloud");
|
|
44235
|
+
return () => t() ? s(e().session) : e().task.lastText;
|
|
44236
|
+
})()), P(u, j(M, {
|
|
44237
|
+
get when() {
|
|
44238
|
+
return e().kind === "cloud";
|
|
44239
|
+
},
|
|
44240
|
+
get fallback() {
|
|
44241
|
+
return j(Pj, {
|
|
44242
|
+
color: "var(--color-accent)",
|
|
44243
|
+
children: "Working…"
|
|
44244
|
+
});
|
|
44245
|
+
},
|
|
44246
|
+
get children() {
|
|
44247
|
+
return j(Pj, {
|
|
44248
|
+
get color() {
|
|
44249
|
+
return o(e().session.status).color;
|
|
44250
|
+
},
|
|
44251
|
+
get children() {
|
|
44252
|
+
return o(e().session.status).word;
|
|
44253
|
+
}
|
|
44254
|
+
});
|
|
44255
|
+
}
|
|
44256
|
+
}), d), P(u, j(wj, {
|
|
44257
|
+
variant: "ghost",
|
|
44258
|
+
class: "size-6 shrink-0 px-0",
|
|
44259
|
+
get title() {
|
|
44260
|
+
return e().kind === "cloud" ? "Open the thread — steer this agent" : "Open the live session in the Local tab";
|
|
44261
|
+
},
|
|
44262
|
+
"aria-label": "Open thread",
|
|
44263
|
+
onClick: () => {
|
|
44264
|
+
let t = e();
|
|
44265
|
+
t.kind === "cloud" && t.session.issue ? a(t.session.issue.id) : t.kind === "local" && tj("local");
|
|
44266
|
+
},
|
|
44267
|
+
get children() {
|
|
44268
|
+
return m1();
|
|
44269
|
+
}
|
|
44270
|
+
}), null), D(() => it(r, "title", e().kind === "cloud" ? "View the thread here" : "Open the Local tab")), t;
|
|
44271
|
+
})()
|
|
44272
|
+
})), e;
|
|
44273
|
+
}
|
|
44274
|
+
})), e;
|
|
44275
|
+
}
|
|
44276
|
+
});
|
|
44112
44277
|
}
|
|
44113
44278
|
//#endregion
|
|
44114
44279
|
//#region src/panel/views/LocalView.tsx
|
|
44115
44280
|
rt(["click"]), Br();
|
|
44116
|
-
var
|
|
44281
|
+
var _1 = /*#__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\">"), v1 = /*#__PURE__*/ N("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), y1 = /*#__PURE__*/ N("<p>"), b1 = /*#__PURE__*/ N("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running · "), x1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), S1 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Local Claude Code</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), C1 = /*#__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"), w1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), T1 = /*#__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]\">"), E1 = /*#__PURE__*/ N("<option selected>"), D1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><path d=\"M4.5 2.8a.8.8 0 0 1 1.22-.68l8 5.2a.8.8 0 0 1 0 1.36l-8 5.2a.8.8 0 0 1-1.22-.68V2.8Z\">"), O1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), k1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><path d=\"M14 10a2 2 0 0 1-2 2H6l-3.5 2.5V4a2 2 0 0 1 2-2H12a2 2 0 0 1 2 2v6Z\">"), A1 = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), j1 = /*#__PURE__*/ N("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), M1 = /*#__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\">"), 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=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), F1 = /*#__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\">"), I1 = /*#__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\">"), L1 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Send"), R1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center gap-1\"><span class=\"text-text-faint min-w-0 flex-1 truncate text-[10.5px]\">"), z1 = /*#__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\">"), B1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), V1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\">"), H1 = /*#__PURE__*/ N("<option>"), U1 = /*#__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>"), W1 = /*#__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\">"), G1 = /*#__PURE__*/ N("<span class=text-success>+"), K1 = /*#__PURE__*/ N("<span class=text-danger>−"), q1 = /*#__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\">"), J1 = /*#__PURE__*/ N("<span class=text-text-faint>bin"), Y1 = /*#__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"), X1 = /*#__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\">"), Z1 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), Q1 = [
|
|
44117
44282
|
{
|
|
44118
44283
|
id: "",
|
|
44119
44284
|
label: "Default model"
|
|
@@ -44135,13 +44300,13 @@ var f1 = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end
|
|
|
44135
44300
|
label: "Haiku"
|
|
44136
44301
|
}
|
|
44137
44302
|
];
|
|
44138
|
-
function
|
|
44303
|
+
function $1(e, t) {
|
|
44139
44304
|
let n = e.split(".").map(Number), r = t.split(".").map(Number);
|
|
44140
44305
|
for (let e = 0; e < 3; e++) if ((n[e] ?? 0) !== (r[e] ?? 0)) return (n[e] ?? 0) < (r[e] ?? 0);
|
|
44141
44306
|
return !1;
|
|
44142
44307
|
}
|
|
44143
|
-
var
|
|
44144
|
-
function
|
|
44308
|
+
var e0 = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
|
|
44309
|
+
function t0() {
|
|
44145
44310
|
let e = sr(), t = _r(() => ({
|
|
44146
44311
|
queryKey: ["bridge-health"],
|
|
44147
44312
|
queryFn: MO,
|
|
@@ -44228,18 +44393,18 @@ function X1() {
|
|
|
44228
44393
|
}, ne = (e) => e === "running" ? "var(--color-accent)" : e === "done" ? "var(--color-success)" : e === "stopped" ? "var(--color-warn)" : "var(--color-danger)", re = (e) => {
|
|
44229
44394
|
let t = e.line.kind, n = k(() => n$(e.line.text));
|
|
44230
44395
|
return t === "user" ? (() => {
|
|
44231
|
-
var e =
|
|
44396
|
+
var e = _1(), t = e.firstChild.nextSibling;
|
|
44232
44397
|
return D(() => t.innerHTML = n()), e;
|
|
44233
44398
|
})() : t === "assistant" || t === "result" ? (() => {
|
|
44234
|
-
var e =
|
|
44399
|
+
var e = v1(), r = e.firstChild, i = r.nextSibling;
|
|
44235
44400
|
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;
|
|
44236
44401
|
})() : (() => {
|
|
44237
|
-
var n =
|
|
44402
|
+
var n = y1();
|
|
44238
44403
|
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;
|
|
44239
44404
|
})();
|
|
44240
44405
|
};
|
|
44241
44406
|
return (() => {
|
|
44242
|
-
var e =
|
|
44407
|
+
var e = S1(), a = e.firstChild;
|
|
44243
44408
|
a.firstChild;
|
|
44244
44409
|
var l = a.nextSibling;
|
|
44245
44410
|
return P(a, j(M, {
|
|
@@ -44255,7 +44420,7 @@ function X1() {
|
|
|
44255
44420
|
get children() {
|
|
44256
44421
|
return [j(M, {
|
|
44257
44422
|
get when() {
|
|
44258
|
-
return
|
|
44423
|
+
return $1(t.data.version, "0.15.1");
|
|
44259
44424
|
},
|
|
44260
44425
|
get children() {
|
|
44261
44426
|
return j(Pj, {
|
|
@@ -44271,7 +44436,7 @@ function X1() {
|
|
|
44271
44436
|
});
|
|
44272
44437
|
}
|
|
44273
44438
|
}), (() => {
|
|
44274
|
-
var e =
|
|
44439
|
+
var e = b1(), n = e.firstChild;
|
|
44275
44440
|
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;
|
|
44276
44441
|
})()];
|
|
44277
44442
|
}
|
|
@@ -44285,7 +44450,7 @@ function X1() {
|
|
|
44285
44450
|
get children() {
|
|
44286
44451
|
return [
|
|
44287
44452
|
"Start it in your repo's terminal:",
|
|
44288
|
-
|
|
44453
|
+
C1(),
|
|
44289
44454
|
"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."
|
|
44290
44455
|
];
|
|
44291
44456
|
}
|
|
@@ -44303,20 +44468,20 @@ function X1() {
|
|
|
44303
44468
|
});
|
|
44304
44469
|
},
|
|
44305
44470
|
get children() {
|
|
44306
|
-
var e =
|
|
44471
|
+
var e = x1();
|
|
44307
44472
|
return P(e, j(Ge, {
|
|
44308
44473
|
get each() {
|
|
44309
44474
|
return n.data;
|
|
44310
44475
|
},
|
|
44311
44476
|
children: (e) => (() => {
|
|
44312
|
-
var t =
|
|
44477
|
+
var t = z1(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, m = n.nextSibling, h = m.nextSibling, g = h.nextSibling;
|
|
44313
44478
|
return P(n, j(M, {
|
|
44314
44479
|
get when() {
|
|
44315
44480
|
return e().status === "running";
|
|
44316
44481
|
},
|
|
44317
44482
|
get fallback() {
|
|
44318
44483
|
return (() => {
|
|
44319
|
-
var t =
|
|
44484
|
+
var t = B1();
|
|
44320
44485
|
return D((n) => dt(t, "background", ne(e().status))), t;
|
|
44321
44486
|
})();
|
|
44322
44487
|
},
|
|
@@ -44369,8 +44534,8 @@ function X1() {
|
|
|
44369
44534
|
return e().usage;
|
|
44370
44535
|
},
|
|
44371
44536
|
get children() {
|
|
44372
|
-
var t =
|
|
44373
|
-
return n.nextSibling, P(t, () =>
|
|
44537
|
+
var t = w1(), n = t.firstChild.nextSibling;
|
|
44538
|
+
return n.nextSibling, P(t, () => e0(e().usage.contextTokens), n), P(t, () => e0(e().usage.outputTokens), null), P(t, (() => {
|
|
44374
44539
|
var t = $e(() => !!e().usage.costUsd);
|
|
44375
44540
|
return () => t() ? ` · $${e().usage.costUsd.toFixed(2)}` : "";
|
|
44376
44541
|
})(), null), t;
|
|
@@ -44380,7 +44545,7 @@ function X1() {
|
|
|
44380
44545
|
return o(e());
|
|
44381
44546
|
},
|
|
44382
44547
|
children: (e) => (() => {
|
|
44383
|
-
var t =
|
|
44548
|
+
var t = V1();
|
|
44384
44549
|
return P(t, j(Pj, { get children() {
|
|
44385
44550
|
return e().state.name;
|
|
44386
44551
|
} }), null), P(t, j(jj, {
|
|
@@ -44395,7 +44560,7 @@ function X1() {
|
|
|
44395
44560
|
return $e(() => !!e().worktree)() && !e().worktree.removed;
|
|
44396
44561
|
},
|
|
44397
44562
|
get children() {
|
|
44398
|
-
var t =
|
|
44563
|
+
var t = T1(), n = t.firstChild;
|
|
44399
44564
|
return P(t, j(Pj, {
|
|
44400
44565
|
class: "text-warn",
|
|
44401
44566
|
children: "⎇ worktree"
|
|
@@ -44431,17 +44596,17 @@ function X1() {
|
|
|
44431
44596
|
title: "Model — applies from the next message",
|
|
44432
44597
|
get children() {
|
|
44433
44598
|
return [j(We, {
|
|
44434
|
-
each:
|
|
44599
|
+
each: Q1,
|
|
44435
44600
|
children: (t) => (() => {
|
|
44436
|
-
var n =
|
|
44601
|
+
var n = H1();
|
|
44437
44602
|
return P(n, () => t.label), D(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), D(() => n.value = t.id), n;
|
|
44438
44603
|
})()
|
|
44439
44604
|
}), j(M, {
|
|
44440
44605
|
get when() {
|
|
44441
|
-
return !
|
|
44606
|
+
return !Q1.some((t) => t.id === (e().pendingModel ?? e().model ?? ""));
|
|
44442
44607
|
},
|
|
44443
44608
|
get children() {
|
|
44444
|
-
var t =
|
|
44609
|
+
var t = E1();
|
|
44445
44610
|
return P(t, () => e().pendingModel ?? e().model), D(() => t.value = e().pendingModel ?? e().model ?? ""), t;
|
|
44446
44611
|
}
|
|
44447
44612
|
})];
|
|
@@ -44466,7 +44631,7 @@ function X1() {
|
|
|
44466
44631
|
text: "Continue where you left off. If the work is already complete, finish any remaining closeout steps (PR, Linear update, announcement)."
|
|
44467
44632
|
}),
|
|
44468
44633
|
get children() {
|
|
44469
|
-
return
|
|
44634
|
+
return D1();
|
|
44470
44635
|
}
|
|
44471
44636
|
});
|
|
44472
44637
|
}
|
|
@@ -44480,7 +44645,7 @@ function X1() {
|
|
|
44480
44645
|
title: "Open the issue's Activity thread",
|
|
44481
44646
|
onClick: () => tj("activity", e().id),
|
|
44482
44647
|
get children() {
|
|
44483
|
-
return
|
|
44648
|
+
return U1();
|
|
44484
44649
|
}
|
|
44485
44650
|
})
|
|
44486
44651
|
}), null), P(g, j(wj, {
|
|
@@ -44499,10 +44664,10 @@ function X1() {
|
|
|
44499
44664
|
return ee() === e().id;
|
|
44500
44665
|
},
|
|
44501
44666
|
get fallback() {
|
|
44502
|
-
return
|
|
44667
|
+
return W1();
|
|
44503
44668
|
},
|
|
44504
44669
|
get children() {
|
|
44505
|
-
return
|
|
44670
|
+
return O1();
|
|
44506
44671
|
}
|
|
44507
44672
|
});
|
|
44508
44673
|
}
|
|
@@ -44514,7 +44679,7 @@ function X1() {
|
|
|
44514
44679
|
},
|
|
44515
44680
|
onClick: () => i(r() === e().id ? null : e().id),
|
|
44516
44681
|
get children() {
|
|
44517
|
-
return
|
|
44682
|
+
return k1();
|
|
44518
44683
|
}
|
|
44519
44684
|
}), null), P(g, j(M, {
|
|
44520
44685
|
get when() {
|
|
@@ -44530,7 +44695,7 @@ function X1() {
|
|
|
44530
44695
|
title: "Interrupt — the session stays resumable",
|
|
44531
44696
|
onClick: () => u.mutate(e().id),
|
|
44532
44697
|
get children() {
|
|
44533
|
-
return
|
|
44698
|
+
return A1();
|
|
44534
44699
|
}
|
|
44535
44700
|
});
|
|
44536
44701
|
}
|
|
@@ -44545,7 +44710,7 @@ function X1() {
|
|
|
44545
44710
|
return $e(() => !!c.data)() && (c.data.files.length || c.data.untracked.length || c.data.prs.length);
|
|
44546
44711
|
},
|
|
44547
44712
|
get children() {
|
|
44548
|
-
var e =
|
|
44713
|
+
var e = M1(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
|
|
44549
44714
|
r.firstChild;
|
|
44550
44715
|
var i = r.nextSibling.nextSibling;
|
|
44551
44716
|
return i.firstChild, P(t, j(M, {
|
|
@@ -44553,7 +44718,7 @@ function X1() {
|
|
|
44553
44718
|
return c.data.branch;
|
|
44554
44719
|
},
|
|
44555
44720
|
get children() {
|
|
44556
|
-
var e =
|
|
44721
|
+
var e = j1();
|
|
44557
44722
|
return P(e, () => c.data.branch), e;
|
|
44558
44723
|
}
|
|
44559
44724
|
}), n), P(r, () => c.data.totalAdded, null), P(i, () => c.data.totalDeleted, null), P(e, j(We, {
|
|
@@ -44561,23 +44726,23 @@ function X1() {
|
|
|
44561
44726
|
return c.data.files;
|
|
44562
44727
|
},
|
|
44563
44728
|
children: (e) => (() => {
|
|
44564
|
-
var t =
|
|
44729
|
+
var t = q1(), n = t.firstChild, r = n.nextSibling;
|
|
44565
44730
|
return P(n, () => e.path), P(r, j(M, {
|
|
44566
44731
|
get when() {
|
|
44567
44732
|
return !e.binary;
|
|
44568
44733
|
},
|
|
44569
44734
|
get fallback() {
|
|
44570
|
-
return
|
|
44735
|
+
return J1();
|
|
44571
44736
|
},
|
|
44572
44737
|
get children() {
|
|
44573
44738
|
return [
|
|
44574
44739
|
(() => {
|
|
44575
|
-
var t =
|
|
44740
|
+
var t = G1();
|
|
44576
44741
|
return t.firstChild, P(t, () => e.added, null), t;
|
|
44577
44742
|
})(),
|
|
44578
44743
|
" ",
|
|
44579
44744
|
(() => {
|
|
44580
|
-
var t =
|
|
44745
|
+
var t = K1();
|
|
44581
44746
|
return t.firstChild, P(t, () => e.deleted, null), t;
|
|
44582
44747
|
})()
|
|
44583
44748
|
];
|
|
@@ -44589,7 +44754,7 @@ function X1() {
|
|
|
44589
44754
|
return c.data.untracked;
|
|
44590
44755
|
},
|
|
44591
44756
|
children: (e) => (() => {
|
|
44592
|
-
var t =
|
|
44757
|
+
var t = Y1(), n = t.firstChild;
|
|
44593
44758
|
return it(n, "title", e), P(n, e), t;
|
|
44594
44759
|
})()
|
|
44595
44760
|
}), null), P(e, j(We, {
|
|
@@ -44597,7 +44762,7 @@ function X1() {
|
|
|
44597
44762
|
return c.data.prs;
|
|
44598
44763
|
},
|
|
44599
44764
|
children: (e) => (() => {
|
|
44600
|
-
var t =
|
|
44765
|
+
var t = X1(), n = t.firstChild;
|
|
44601
44766
|
return P(t, j(Pj, {
|
|
44602
44767
|
class: "text-accent",
|
|
44603
44768
|
get children() {
|
|
@@ -44615,7 +44780,7 @@ function X1() {
|
|
|
44615
44780
|
}
|
|
44616
44781
|
}),
|
|
44617
44782
|
(() => {
|
|
44618
|
-
var e =
|
|
44783
|
+
var e = N1();
|
|
44619
44784
|
return e.addEventListener("scroll", E), pt((e) => {
|
|
44620
44785
|
C = e, w = !0;
|
|
44621
44786
|
}, e), P(e, j(M, {
|
|
@@ -44623,7 +44788,7 @@ function X1() {
|
|
|
44623
44788
|
return (s.data?.tail ?? []).length > 0;
|
|
44624
44789
|
},
|
|
44625
44790
|
get fallback() {
|
|
44626
|
-
return
|
|
44791
|
+
return Z1();
|
|
44627
44792
|
},
|
|
44628
44793
|
get children() {
|
|
44629
44794
|
return j(Ge, {
|
|
@@ -44638,7 +44803,7 @@ function X1() {
|
|
|
44638
44803
|
})), e;
|
|
44639
44804
|
})(),
|
|
44640
44805
|
(() => {
|
|
44641
|
-
var t =
|
|
44806
|
+
var t = R1(), n = t.firstChild, r = n.firstChild;
|
|
44642
44807
|
return P(t, j(Dj, {
|
|
44643
44808
|
rows: 2,
|
|
44644
44809
|
get placeholder() {
|
|
@@ -44658,7 +44823,7 @@ function X1() {
|
|
|
44658
44823
|
"aria-label": "Pick element",
|
|
44659
44824
|
onClick: v,
|
|
44660
44825
|
get children() {
|
|
44661
|
-
return
|
|
44826
|
+
return P1();
|
|
44662
44827
|
}
|
|
44663
44828
|
}), null), P(n, j(wj, {
|
|
44664
44829
|
variant: "ghost",
|
|
@@ -44670,7 +44835,7 @@ function X1() {
|
|
|
44670
44835
|
"aria-label": "Attach captures",
|
|
44671
44836
|
onClick: () => void y(),
|
|
44672
44837
|
get children() {
|
|
44673
|
-
return
|
|
44838
|
+
return F1();
|
|
44674
44839
|
}
|
|
44675
44840
|
}), null), P(n, j(wj, {
|
|
44676
44841
|
variant: "ghost",
|
|
@@ -44685,7 +44850,7 @@ function X1() {
|
|
|
44685
44850
|
text: "/compact"
|
|
44686
44851
|
}),
|
|
44687
44852
|
get children() {
|
|
44688
|
-
return
|
|
44853
|
+
return I1();
|
|
44689
44854
|
}
|
|
44690
44855
|
}), null), P(n, j(wj, {
|
|
44691
44856
|
variant: "primary",
|
|
@@ -44701,7 +44866,7 @@ function X1() {
|
|
|
44701
44866
|
text: d().trim()
|
|
44702
44867
|
}),
|
|
44703
44868
|
get children() {
|
|
44704
|
-
return
|
|
44869
|
+
return L1();
|
|
44705
44870
|
}
|
|
44706
44871
|
}), null), t;
|
|
44707
44872
|
})()
|
|
@@ -44718,13 +44883,13 @@ function X1() {
|
|
|
44718
44883
|
}
|
|
44719
44884
|
//#endregion
|
|
44720
44885
|
//#region src/panel/views/PrsView.tsx
|
|
44721
|
-
var
|
|
44722
|
-
function
|
|
44886
|
+
var n0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">/<!> from your issues"), r0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), i0 = /*#__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\">"), a0 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px]\"title=\"Merge states come from gh via the bridge\">states unknown — restart the bridge"), o0 = /*#__PURE__*/ N("<button>"), s0 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), c0 = /*#__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>"), l0 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), u0 = /*#__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\">"), d0 = /*#__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\">"), f0 = /*#__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\">"), p0 = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
|
|
44887
|
+
function m0(e) {
|
|
44723
44888
|
let t = _r(() => ({
|
|
44724
44889
|
queryKey: ["my-issues"],
|
|
44725
44890
|
queryFn: fO,
|
|
44726
44891
|
refetchInterval: 15e3
|
|
44727
|
-
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) =>
|
|
44892
|
+
})), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => p0.test(e.url)).map((t) => ({
|
|
44728
44893
|
issue: e,
|
|
44729
44894
|
attachment: t
|
|
44730
44895
|
})))), r = _r(() => ({
|
|
@@ -44761,7 +44926,7 @@ function l0(e) {
|
|
|
44761
44926
|
} catch {}
|
|
44762
44927
|
};
|
|
44763
44928
|
return (() => {
|
|
44764
|
-
var r =
|
|
44929
|
+
var r = i0(), p = r.firstChild;
|
|
44765
44930
|
p.firstChild;
|
|
44766
44931
|
var h = p.nextSibling, _ = h.firstChild, b = h.nextSibling;
|
|
44767
44932
|
return P(p, j(M, {
|
|
@@ -44769,10 +44934,10 @@ function l0(e) {
|
|
|
44769
44934
|
return !i.isError;
|
|
44770
44935
|
},
|
|
44771
44936
|
get fallback() {
|
|
44772
|
-
return
|
|
44937
|
+
return a0();
|
|
44773
44938
|
},
|
|
44774
44939
|
get children() {
|
|
44775
|
-
var e =
|
|
44940
|
+
var e = n0(), t = e.firstChild, r = t.nextSibling;
|
|
44776
44941
|
return r.nextSibling, P(e, () => d().length, t), P(e, () => n().length, r), e;
|
|
44777
44942
|
}
|
|
44778
44943
|
}), null), P(_, j(We, {
|
|
@@ -44795,7 +44960,7 @@ function l0(e) {
|
|
|
44795
44960
|
}
|
|
44796
44961
|
],
|
|
44797
44962
|
children: (e) => (() => {
|
|
44798
|
-
var t =
|
|
44963
|
+
var t = o0();
|
|
44799
44964
|
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;
|
|
44800
44965
|
})()
|
|
44801
44966
|
})), P(h, j(Ej, {
|
|
@@ -44818,13 +44983,13 @@ function l0(e) {
|
|
|
44818
44983
|
});
|
|
44819
44984
|
},
|
|
44820
44985
|
get children() {
|
|
44821
|
-
var t =
|
|
44986
|
+
var t = r0();
|
|
44822
44987
|
return P(t, j(We, {
|
|
44823
44988
|
get each() {
|
|
44824
44989
|
return d();
|
|
44825
44990
|
},
|
|
44826
44991
|
children: (t) => (() => {
|
|
44827
|
-
var n =
|
|
44992
|
+
var n = u0(), r = n.firstChild, s = r.nextSibling, c = s.firstChild, l = c.nextSibling, u = l.nextSibling, d = s.nextSibling, p = d.firstChild;
|
|
44828
44993
|
return P(r, () => t.attachment.title || t.attachment.url), P(n, j(M, {
|
|
44829
44994
|
get when() {
|
|
44830
44995
|
return i.data?.previews[t.attachment.url];
|
|
@@ -44915,10 +45080,10 @@ function l0(e) {
|
|
|
44915
45080
|
return g().has(t.attachment.url);
|
|
44916
45081
|
},
|
|
44917
45082
|
get fallback() {
|
|
44918
|
-
return
|
|
45083
|
+
return d0();
|
|
44919
45084
|
},
|
|
44920
45085
|
get children() {
|
|
44921
|
-
return
|
|
45086
|
+
return s0();
|
|
44922
45087
|
}
|
|
44923
45088
|
});
|
|
44924
45089
|
}
|
|
@@ -44931,7 +45096,7 @@ function l0(e) {
|
|
|
44931
45096
|
tj("activity", t.issue.id), e.onOpenIssue();
|
|
44932
45097
|
},
|
|
44933
45098
|
get children() {
|
|
44934
|
-
return
|
|
45099
|
+
return c0();
|
|
44935
45100
|
}
|
|
44936
45101
|
}), null), P(p, j(wj, {
|
|
44937
45102
|
variant: "ghost",
|
|
@@ -44945,10 +45110,10 @@ function l0(e) {
|
|
|
44945
45110
|
return f() === t.attachment.id;
|
|
44946
45111
|
},
|
|
44947
45112
|
get fallback() {
|
|
44948
|
-
return
|
|
45113
|
+
return f0();
|
|
44949
45114
|
},
|
|
44950
45115
|
get children() {
|
|
44951
|
-
return
|
|
45116
|
+
return l0();
|
|
44952
45117
|
}
|
|
44953
45118
|
});
|
|
44954
45119
|
}
|
|
@@ -44968,13 +45133,13 @@ function l0(e) {
|
|
|
44968
45133
|
//#endregion
|
|
44969
45134
|
//#region src/lib/linear/auth.ts
|
|
44970
45135
|
rt(["click"]), Br();
|
|
44971
|
-
function
|
|
45136
|
+
function h0(e) {
|
|
44972
45137
|
let t = "";
|
|
44973
45138
|
for (let n of e) t += String.fromCharCode(n);
|
|
44974
45139
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
44975
45140
|
}
|
|
44976
|
-
async function
|
|
44977
|
-
let t =
|
|
45141
|
+
async function g0(e) {
|
|
45142
|
+
let t = h0(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = h0(new Uint8Array(n)), i = h0(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
44978
45143
|
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");
|
|
44979
45144
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
44980
45145
|
url: o.toString(),
|
|
@@ -45002,15 +45167,15 @@ async function d0(e) {
|
|
|
45002
45167
|
linearOauthClientId: e
|
|
45003
45168
|
});
|
|
45004
45169
|
}
|
|
45005
|
-
async function
|
|
45170
|
+
async function _0() {
|
|
45006
45171
|
await Er({
|
|
45007
45172
|
linearAccessToken: void 0,
|
|
45008
45173
|
linearApiKey: void 0
|
|
45009
45174
|
});
|
|
45010
45175
|
}
|
|
45011
45176
|
Br(), Sr(), Fx(), gD();
|
|
45012
|
-
var
|
|
45013
|
-
function
|
|
45177
|
+
var v0 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), y0 = /*#__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."), b0 = /*#__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"), x0 = /*#__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)."), S0 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), C0 = /*#__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]\">"), w0 = /*#__PURE__*/ N("<option value>Select a team…"), T0 = /*#__PURE__*/ N("<option value>No project"), E0 = /*#__PURE__*/ N("<div class=\"flex flex-wrap gap-1\">"), D0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), O0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), k0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), A0 = /*#__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."), j0 = /*#__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."), M0 = /*#__PURE__*/ N("<option value>Select a channel…"), N0 = /*#__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"), P0 = /*#__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."), F0 = /*#__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"), I0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), L0 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), R0 = /*#__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."), z0 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), B0 = /*#__PURE__*/ N("<button>"), V0 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), H0 = /*#__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\">"), W0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), G0 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), K0 = /*#__PURE__*/ N("<option> (<!>)"), q0 = /*#__PURE__*/ N("<option>"), J0 = /*#__PURE__*/ N("<button type=button><span class=\"mr-1 inline-block size-2 rounded-full align-middle\">"), Y0 = /*#__PURE__*/ N("<option value>Select the agent…"), X0 = /*#__PURE__*/ N("<option>#"), Z0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
45178
|
+
function Q0() {
|
|
45014
45179
|
let e = sr(), t = _r(() => ({
|
|
45015
45180
|
queryKey: ["settings"],
|
|
45016
45181
|
queryFn: Tr,
|
|
@@ -45063,7 +45228,7 @@ function q0() {
|
|
|
45063
45228
|
}
|
|
45064
45229
|
b(!0), S("");
|
|
45065
45230
|
try {
|
|
45066
|
-
await
|
|
45231
|
+
await g0(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"] });
|
|
45067
45232
|
} catch (e) {
|
|
45068
45233
|
S(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
45069
45234
|
} finally {
|
|
@@ -45074,7 +45239,7 @@ function q0() {
|
|
|
45074
45239
|
async function O() {
|
|
45075
45240
|
E(!0);
|
|
45076
45241
|
try {
|
|
45077
|
-
await
|
|
45242
|
+
await _0(), 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"] });
|
|
45078
45243
|
} finally {
|
|
45079
45244
|
E(!1);
|
|
45080
45245
|
}
|
|
@@ -45090,12 +45255,12 @@ function q0() {
|
|
|
45090
45255
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
45091
45256
|
});
|
|
45092
45257
|
return (() => {
|
|
45093
|
-
var e =
|
|
45258
|
+
var e = z0();
|
|
45094
45259
|
return P(e, j(Nj, {
|
|
45095
45260
|
title: "Workflow",
|
|
45096
45261
|
get children() {
|
|
45097
45262
|
return [(() => {
|
|
45098
|
-
var e =
|
|
45263
|
+
var e = v0();
|
|
45099
45264
|
return P(e, j(We, {
|
|
45100
45265
|
each: [{
|
|
45101
45266
|
id: "cloud",
|
|
@@ -45105,19 +45270,19 @@ function q0() {
|
|
|
45105
45270
|
label: "Local · clipboard"
|
|
45106
45271
|
}],
|
|
45107
45272
|
children: (e) => (() => {
|
|
45108
|
-
var t =
|
|
45273
|
+
var t = B0();
|
|
45109
45274
|
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;
|
|
45110
45275
|
})()
|
|
45111
45276
|
})), e;
|
|
45112
|
-
})(),
|
|
45277
|
+
})(), y0()];
|
|
45113
45278
|
}
|
|
45114
45279
|
}), null), P(e, j(Nj, {
|
|
45115
45280
|
title: "Capture",
|
|
45116
45281
|
get children() {
|
|
45117
45282
|
return [(() => {
|
|
45118
|
-
var e =
|
|
45283
|
+
var e = b0(), t = e.firstChild;
|
|
45119
45284
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
45120
|
-
})(),
|
|
45285
|
+
})(), x0()];
|
|
45121
45286
|
}
|
|
45122
45287
|
}), null), P(e, j(Nj, {
|
|
45123
45288
|
title: "Linear",
|
|
@@ -45128,13 +45293,13 @@ function q0() {
|
|
|
45128
45293
|
},
|
|
45129
45294
|
get fallback() {
|
|
45130
45295
|
return (() => {
|
|
45131
|
-
var e =
|
|
45296
|
+
var e = W0();
|
|
45132
45297
|
return P(e, j(Mj, {
|
|
45133
45298
|
label: "Personal API key",
|
|
45134
45299
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
45135
45300
|
get children() {
|
|
45136
45301
|
return [(() => {
|
|
45137
|
-
var e =
|
|
45302
|
+
var e = V0();
|
|
45138
45303
|
return P(e, j(Ej, {
|
|
45139
45304
|
type: "password",
|
|
45140
45305
|
placeholder: "lin_api_…",
|
|
@@ -45171,12 +45336,12 @@ function q0() {
|
|
|
45171
45336
|
}), null), P(e, j(M, {
|
|
45172
45337
|
when: xr,
|
|
45173
45338
|
get children() {
|
|
45174
|
-
return [
|
|
45339
|
+
return [H0(), j(Mj, {
|
|
45175
45340
|
label: "OAuth client ID",
|
|
45176
45341
|
get children() {
|
|
45177
45342
|
return [
|
|
45178
45343
|
(() => {
|
|
45179
|
-
var e =
|
|
45344
|
+
var e = V0();
|
|
45180
45345
|
return P(e, j(Ej, {
|
|
45181
45346
|
placeholder: "your-client-id",
|
|
45182
45347
|
get value() {
|
|
@@ -45204,7 +45369,7 @@ function q0() {
|
|
|
45204
45369
|
}
|
|
45205
45370
|
}),
|
|
45206
45371
|
(() => {
|
|
45207
|
-
var e =
|
|
45372
|
+
var e = U0(), t = e.firstChild.nextSibling.nextSibling;
|
|
45208
45373
|
return P(t, ee), e;
|
|
45209
45374
|
})()
|
|
45210
45375
|
];
|
|
@@ -45215,13 +45380,13 @@ function q0() {
|
|
|
45215
45380
|
})();
|
|
45216
45381
|
},
|
|
45217
45382
|
get children() {
|
|
45218
|
-
var e =
|
|
45383
|
+
var e = C0(), t = e.firstChild;
|
|
45219
45384
|
return P(t, j(M, {
|
|
45220
45385
|
get when() {
|
|
45221
45386
|
return !a.isLoading;
|
|
45222
45387
|
},
|
|
45223
45388
|
get fallback() {
|
|
45224
|
-
return
|
|
45389
|
+
return G0();
|
|
45225
45390
|
},
|
|
45226
45391
|
get children() {
|
|
45227
45392
|
return j(M, {
|
|
@@ -45234,7 +45399,7 @@ function q0() {
|
|
|
45234
45399
|
return a.isError;
|
|
45235
45400
|
},
|
|
45236
45401
|
get fallback() {
|
|
45237
|
-
return
|
|
45402
|
+
return G0();
|
|
45238
45403
|
},
|
|
45239
45404
|
get children() {
|
|
45240
45405
|
return j(Lj, { message: "Key rejected — reconnect" });
|
|
@@ -45242,7 +45407,7 @@ function q0() {
|
|
|
45242
45407
|
});
|
|
45243
45408
|
},
|
|
45244
45409
|
get children() {
|
|
45245
|
-
var e =
|
|
45410
|
+
var e = S0(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
45246
45411
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
45247
45412
|
}
|
|
45248
45413
|
});
|
|
@@ -45283,7 +45448,7 @@ function q0() {
|
|
|
45283
45448
|
return o.isLoading;
|
|
45284
45449
|
},
|
|
45285
45450
|
get children() {
|
|
45286
|
-
return [
|
|
45451
|
+
return [w0(), j(M, {
|
|
45287
45452
|
get when() {
|
|
45288
45453
|
return o.data;
|
|
45289
45454
|
},
|
|
@@ -45293,7 +45458,7 @@ function q0() {
|
|
|
45293
45458
|
return o.data;
|
|
45294
45459
|
},
|
|
45295
45460
|
children: (e) => (() => {
|
|
45296
|
-
var t =
|
|
45461
|
+
var t = K0(), r = t.firstChild, i = r.nextSibling;
|
|
45297
45462
|
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;
|
|
45298
45463
|
})()
|
|
45299
45464
|
});
|
|
@@ -45317,14 +45482,14 @@ function q0() {
|
|
|
45317
45482
|
},
|
|
45318
45483
|
get children() {
|
|
45319
45484
|
return [(() => {
|
|
45320
|
-
var e =
|
|
45485
|
+
var e = T0();
|
|
45321
45486
|
return D(() => e.selected = !n().defaultProjectId), e;
|
|
45322
45487
|
})(), j(We, {
|
|
45323
45488
|
get each() {
|
|
45324
45489
|
return s.data ?? [];
|
|
45325
45490
|
},
|
|
45326
45491
|
children: (e) => (() => {
|
|
45327
|
-
var t =
|
|
45492
|
+
var t = q0();
|
|
45328
45493
|
return P(t, () => e.name), D(() => t.selected = e.id === n().defaultProjectId), D(() => t.value = e.id), t;
|
|
45329
45494
|
})()
|
|
45330
45495
|
})];
|
|
@@ -45336,7 +45501,7 @@ function q0() {
|
|
|
45336
45501
|
label: "Default labels",
|
|
45337
45502
|
hint: "Applied to every issue created from the panel.",
|
|
45338
45503
|
get children() {
|
|
45339
|
-
var e =
|
|
45504
|
+
var e = E0();
|
|
45340
45505
|
return P(e, j(We, {
|
|
45341
45506
|
get each() {
|
|
45342
45507
|
return c.data ?? [];
|
|
@@ -45344,7 +45509,7 @@ function q0() {
|
|
|
45344
45509
|
children: (e) => {
|
|
45345
45510
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
45346
45511
|
return (() => {
|
|
45347
|
-
var i =
|
|
45512
|
+
var i = J0(), a = i.firstChild;
|
|
45348
45513
|
return i.$$click = () => {
|
|
45349
45514
|
let i = n().defaultLabelIds ?? [];
|
|
45350
45515
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -45394,7 +45559,7 @@ function q0() {
|
|
|
45394
45559
|
return l.isLoading;
|
|
45395
45560
|
},
|
|
45396
45561
|
get children() {
|
|
45397
|
-
return [
|
|
45562
|
+
return [Y0(), j(M, {
|
|
45398
45563
|
get when() {
|
|
45399
45564
|
return l.data;
|
|
45400
45565
|
},
|
|
@@ -45404,7 +45569,7 @@ function q0() {
|
|
|
45404
45569
|
return l.data;
|
|
45405
45570
|
},
|
|
45406
45571
|
children: (e) => (() => {
|
|
45407
|
-
var t =
|
|
45572
|
+
var t = q0();
|
|
45408
45573
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
45409
45574
|
})()
|
|
45410
45575
|
});
|
|
@@ -45414,7 +45579,7 @@ function q0() {
|
|
|
45414
45579
|
});
|
|
45415
45580
|
},
|
|
45416
45581
|
get children() {
|
|
45417
|
-
return
|
|
45582
|
+
return D0();
|
|
45418
45583
|
}
|
|
45419
45584
|
});
|
|
45420
45585
|
}
|
|
@@ -45462,7 +45627,7 @@ function q0() {
|
|
|
45462
45627
|
onBlur: (e) => {
|
|
45463
45628
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
45464
45629
|
}
|
|
45465
|
-
}),
|
|
45630
|
+
}), O0()];
|
|
45466
45631
|
}
|
|
45467
45632
|
}),
|
|
45468
45633
|
j(Mj, {
|
|
@@ -45519,7 +45684,7 @@ function q0() {
|
|
|
45519
45684
|
label: "Test account",
|
|
45520
45685
|
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.",
|
|
45521
45686
|
get children() {
|
|
45522
|
-
var e =
|
|
45687
|
+
var e = k0();
|
|
45523
45688
|
return P(e, j(Ej, {
|
|
45524
45689
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
45525
45690
|
get value() {
|
|
@@ -45551,7 +45716,7 @@ function q0() {
|
|
|
45551
45716
|
title: "Panel",
|
|
45552
45717
|
get children() {
|
|
45553
45718
|
return [(() => {
|
|
45554
|
-
var e =
|
|
45719
|
+
var e = A0(), t = e.firstChild.nextSibling;
|
|
45555
45720
|
return P(t, j(We, {
|
|
45556
45721
|
each: [{
|
|
45557
45722
|
id: "overlay",
|
|
@@ -45561,7 +45726,7 @@ function q0() {
|
|
|
45561
45726
|
label: "Beside page"
|
|
45562
45727
|
}],
|
|
45563
45728
|
children: (e) => (() => {
|
|
45564
|
-
var t =
|
|
45729
|
+
var t = B0();
|
|
45565
45730
|
return t.$$click = () => void r({
|
|
45566
45731
|
panelMode: e.id,
|
|
45567
45732
|
panelPos: void 0
|
|
@@ -45569,11 +45734,11 @@ function q0() {
|
|
|
45569
45734
|
})()
|
|
45570
45735
|
})), e;
|
|
45571
45736
|
})(), (() => {
|
|
45572
|
-
var e =
|
|
45737
|
+
var e = j0(), t = e.firstChild.nextSibling;
|
|
45573
45738
|
return P(t, j(We, {
|
|
45574
45739
|
each: ["left", "right"],
|
|
45575
45740
|
children: (e) => (() => {
|
|
45576
|
-
var t =
|
|
45741
|
+
var t = B0();
|
|
45577
45742
|
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;
|
|
45578
45743
|
})()
|
|
45579
45744
|
})), e;
|
|
@@ -45685,12 +45850,12 @@ function q0() {
|
|
|
45685
45850
|
});
|
|
45686
45851
|
},
|
|
45687
45852
|
get children() {
|
|
45688
|
-
return [
|
|
45853
|
+
return [M0(), j(We, {
|
|
45689
45854
|
get each() {
|
|
45690
45855
|
return te.data ?? [];
|
|
45691
45856
|
},
|
|
45692
45857
|
children: (e) => (() => {
|
|
45693
|
-
var t =
|
|
45858
|
+
var t = X0();
|
|
45694
45859
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
45695
45860
|
})()
|
|
45696
45861
|
})];
|
|
@@ -45741,10 +45906,10 @@ function q0() {
|
|
|
45741
45906
|
}
|
|
45742
45907
|
}),
|
|
45743
45908
|
(() => {
|
|
45744
|
-
var e =
|
|
45909
|
+
var e = N0(), t = e.firstChild;
|
|
45745
45910
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
45746
45911
|
})(),
|
|
45747
|
-
|
|
45912
|
+
P0()
|
|
45748
45913
|
];
|
|
45749
45914
|
}
|
|
45750
45915
|
}), null), P(e, j(Nj, {
|
|
@@ -45782,7 +45947,7 @@ function q0() {
|
|
|
45782
45947
|
}
|
|
45783
45948
|
}),
|
|
45784
45949
|
(() => {
|
|
45785
|
-
var e =
|
|
45950
|
+
var e = F0(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
45786
45951
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
45787
45952
|
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;
|
|
45788
45953
|
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;
|
|
@@ -45795,16 +45960,16 @@ function q0() {
|
|
|
45795
45960
|
}), e;
|
|
45796
45961
|
})(),
|
|
45797
45962
|
(() => {
|
|
45798
|
-
var e =
|
|
45963
|
+
var e = L0();
|
|
45799
45964
|
return P(e, j(M, {
|
|
45800
45965
|
get when() {
|
|
45801
45966
|
return ne();
|
|
45802
45967
|
},
|
|
45803
45968
|
get fallback() {
|
|
45804
|
-
return
|
|
45969
|
+
return Z0();
|
|
45805
45970
|
},
|
|
45806
45971
|
get children() {
|
|
45807
|
-
var e =
|
|
45972
|
+
var e = I0();
|
|
45808
45973
|
return P(e, ne), e;
|
|
45809
45974
|
}
|
|
45810
45975
|
})), e;
|
|
@@ -45814,7 +45979,7 @@ function q0() {
|
|
|
45814
45979
|
}), null), P(e, j(Nj, {
|
|
45815
45980
|
title: "How it works",
|
|
45816
45981
|
get children() {
|
|
45817
|
-
return
|
|
45982
|
+
return R0();
|
|
45818
45983
|
}
|
|
45819
45984
|
}), null), e;
|
|
45820
45985
|
})();
|
|
@@ -45822,38 +45987,38 @@ function q0() {
|
|
|
45822
45987
|
rt(["click"]);
|
|
45823
45988
|
//#endregion
|
|
45824
45989
|
//#region src/lib/idbCache.ts
|
|
45825
|
-
var
|
|
45990
|
+
var $0 = "linear-grab", e2 = "queries", t2 = [
|
|
45826
45991
|
"my-issues",
|
|
45827
45992
|
"issue",
|
|
45828
45993
|
"sessions",
|
|
45829
45994
|
"teams",
|
|
45830
45995
|
"agents"
|
|
45831
45996
|
];
|
|
45832
|
-
function
|
|
45997
|
+
function n2() {
|
|
45833
45998
|
return new Promise((e) => {
|
|
45834
45999
|
try {
|
|
45835
|
-
let t = indexedDB.open(
|
|
45836
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
46000
|
+
let t = indexedDB.open($0, 1);
|
|
46001
|
+
t.onupgradeneeded = () => t.result.createObjectStore(e2), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
45837
46002
|
} catch {
|
|
45838
46003
|
e(null);
|
|
45839
46004
|
}
|
|
45840
46005
|
});
|
|
45841
46006
|
}
|
|
45842
|
-
function
|
|
45843
|
-
return typeof e[0] == "string" &&
|
|
46007
|
+
function r2(e) {
|
|
46008
|
+
return typeof e[0] == "string" && t2.includes(e[0]);
|
|
45844
46009
|
}
|
|
45845
|
-
async function
|
|
45846
|
-
let t = await
|
|
46010
|
+
async function i2(e) {
|
|
46011
|
+
let t = await n2();
|
|
45847
46012
|
if (!t) return () => {};
|
|
45848
46013
|
await new Promise((n) => {
|
|
45849
46014
|
try {
|
|
45850
|
-
let r = t.transaction(
|
|
46015
|
+
let r = t.transaction(e2, "readonly").objectStore(e2).openCursor();
|
|
45851
46016
|
r.onsuccess = () => {
|
|
45852
46017
|
let t = r.result;
|
|
45853
46018
|
if (!t) return n();
|
|
45854
46019
|
try {
|
|
45855
46020
|
let { queryKey: n, data: r } = t.value;
|
|
45856
|
-
|
|
46021
|
+
r2(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
45857
46022
|
} catch {}
|
|
45858
46023
|
t.continue();
|
|
45859
46024
|
}, r.onerror = () => n();
|
|
@@ -45864,14 +46029,14 @@ async function $0(e) {
|
|
|
45864
46029
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
45865
46030
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
45866
46031
|
let { queryKey: i, queryHash: a } = r.query;
|
|
45867
|
-
if (!
|
|
46032
|
+
if (!r2(i)) return;
|
|
45868
46033
|
let o = n.get(a);
|
|
45869
46034
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
45870
46035
|
n.delete(a);
|
|
45871
46036
|
try {
|
|
45872
46037
|
let n = e.getQueryData(i);
|
|
45873
46038
|
if (n === void 0) return;
|
|
45874
|
-
t.transaction(
|
|
46039
|
+
t.transaction(e2, "readwrite").objectStore(e2).put({
|
|
45875
46040
|
queryKey: i,
|
|
45876
46041
|
data: n
|
|
45877
46042
|
}, a);
|
|
@@ -45887,7 +46052,7 @@ async function $0(e) {
|
|
|
45887
46052
|
//#endregion
|
|
45888
46053
|
//#region src/panel/App.tsx
|
|
45889
46054
|
Br();
|
|
45890
|
-
var
|
|
46055
|
+
var a2 = /*#__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\">"), o2 = /*#__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\">"), s2 = /*#__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\">–"), c2 = /*#__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></div><div class=h-full></div><div class=h-full>"), l2 = /*#__PURE__*/ N("<button>"), u2 = [
|
|
45891
46056
|
{
|
|
45892
46057
|
id: "draft",
|
|
45893
46058
|
label: "Draft"
|
|
@@ -45900,6 +46065,10 @@ var e2 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
45900
46065
|
id: "activity",
|
|
45901
46066
|
label: "Activity"
|
|
45902
46067
|
},
|
|
46068
|
+
{
|
|
46069
|
+
id: "running",
|
|
46070
|
+
label: "Running"
|
|
46071
|
+
},
|
|
45903
46072
|
{
|
|
45904
46073
|
id: "cloud",
|
|
45905
46074
|
label: "Cloud"
|
|
@@ -45916,14 +46085,14 @@ var e2 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
45916
46085
|
id: "settings",
|
|
45917
46086
|
label: "Settings"
|
|
45918
46087
|
}
|
|
45919
|
-
],
|
|
46088
|
+
], d2 = new gr({ defaultOptions: { queries: {
|
|
45920
46089
|
retry: 1,
|
|
45921
46090
|
refetchOnWindowFocus: !1,
|
|
45922
46091
|
staleTime: 5e3
|
|
45923
46092
|
} } });
|
|
45924
|
-
function
|
|
46093
|
+
function f2(e) {
|
|
45925
46094
|
return (() => {
|
|
45926
|
-
var t =
|
|
46095
|
+
var t = a2();
|
|
45927
46096
|
return D((n) => {
|
|
45928
46097
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
45929
46098
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -45933,32 +46102,32 @@ function s2(e) {
|
|
|
45933
46102
|
}), t;
|
|
45934
46103
|
})();
|
|
45935
46104
|
}
|
|
45936
|
-
function
|
|
46105
|
+
function p2(e) {
|
|
45937
46106
|
let [t, n] = T("draft"), r = () => {
|
|
45938
|
-
|
|
46107
|
+
d2.invalidateQueries({ queryKey: ["grab"] }), rj() === "capture" && n("capture"), e.onGrab?.();
|
|
45939
46108
|
};
|
|
45940
46109
|
return O(() => {
|
|
45941
46110
|
let e = ZA();
|
|
45942
46111
|
e && n(e);
|
|
45943
46112
|
}), ie(() => {
|
|
45944
|
-
let e =
|
|
46113
|
+
let e = i2(d2), t = HZ(r), n = () => {
|
|
45945
46114
|
WO().then($Q), VO();
|
|
45946
46115
|
};
|
|
45947
46116
|
n();
|
|
45948
46117
|
let i = Mr((e) => {
|
|
45949
|
-
e === "settings" && (
|
|
46118
|
+
e === "settings" && (d2.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
45950
46119
|
});
|
|
45951
46120
|
ae(() => {
|
|
45952
46121
|
t(), i(), e.then((e) => e());
|
|
45953
46122
|
});
|
|
45954
46123
|
}), j(cr, {
|
|
45955
|
-
client:
|
|
46124
|
+
client: d2,
|
|
45956
46125
|
get children() {
|
|
45957
|
-
var r =
|
|
45958
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
45959
|
-
each:
|
|
46126
|
+
var r = c2(), 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, p = f.nextSibling, m = p.nextSibling;
|
|
46127
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(f2, { size: 14 })), P(o, j(We, {
|
|
46128
|
+
each: u2,
|
|
45960
46129
|
children: (e) => (() => {
|
|
45961
|
-
var r =
|
|
46130
|
+
var r = l2();
|
|
45962
46131
|
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;
|
|
45963
46132
|
})()
|
|
45964
46133
|
})), P(i, j(M, {
|
|
@@ -45966,7 +46135,7 @@ function c2(e) {
|
|
|
45966
46135
|
return e.onTogglePin;
|
|
45967
46136
|
},
|
|
45968
46137
|
get children() {
|
|
45969
|
-
var t =
|
|
46138
|
+
var t = o2();
|
|
45970
46139
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
45971
46140
|
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"}`;
|
|
45972
46141
|
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;
|
|
@@ -45981,12 +46150,12 @@ function c2(e) {
|
|
|
45981
46150
|
return e.onClose;
|
|
45982
46151
|
},
|
|
45983
46152
|
get children() {
|
|
45984
|
-
var t =
|
|
46153
|
+
var t = s2();
|
|
45985
46154
|
return t.$$click = () => e.onClose?.(), t;
|
|
45986
46155
|
}
|
|
45987
|
-
}), null), P(s, j(_M, { onCreated: () => n("activity") })), P(c, j(fQ, {})), P(l, j(q$, {})), P(u, j(
|
|
45988
|
-
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",
|
|
45989
|
-
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),
|
|
46156
|
+
}), null), P(s, j(_M, { onCreated: () => n("activity") })), P(c, j(fQ, {})), P(l, j(q$, {})), P(u, j(g1, {})), P(d, j(u1, {})), P(f, j(t0, {})), P(p, j(m0, { onOpenIssue: () => n("activity") })), P(m, j(Q0, {})), D((n) => {
|
|
46157
|
+
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", h = t() !== "activity", g = t() !== "running", _ = t() !== "cloud", v = t() !== "local", y = t() !== "prs", b = t() !== "settings";
|
|
46158
|
+
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), h !== n.o && l.classList.toggle("hidden", n.o = h), g !== n.i && u.classList.toggle("hidden", n.i = g), _ !== n.n && d.classList.toggle("hidden", n.n = _), v !== n.s && f.classList.toggle("hidden", n.s = v), y !== n.h && p.classList.toggle("hidden", n.h = y), b !== n.r && m.classList.toggle("hidden", n.r = b), n;
|
|
45990
46159
|
}, {
|
|
45991
46160
|
e: void 0,
|
|
45992
46161
|
t: void 0,
|
|
@@ -45995,7 +46164,8 @@ function c2(e) {
|
|
|
45995
46164
|
i: void 0,
|
|
45996
46165
|
n: void 0,
|
|
45997
46166
|
s: void 0,
|
|
45998
|
-
h: void 0
|
|
46167
|
+
h: void 0,
|
|
46168
|
+
r: void 0
|
|
45999
46169
|
}), r;
|
|
46000
46170
|
}
|
|
46001
46171
|
});
|
|
@@ -46003,12 +46173,12 @@ function c2(e) {
|
|
|
46003
46173
|
rt(["pointerdown", "click"]);
|
|
46004
46174
|
//#endregion
|
|
46005
46175
|
//#region src/styles/app.css?inline
|
|
46006
|
-
var l2 = "/*! 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-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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-28{width:calc(var(--spacing) * 28)}.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-\\[110px\\]{max-width:110px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[68px\\]{min-width:68px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-0{padding-left:0}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.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}.align-middle{vertical-align:middle}.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}}";
|
|
46176
|
+
var m2 = "/*! 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-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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-28{width:calc(var(--spacing) * 28)}.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-\\[110px\\]{max-width:110px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-0{padding-left:0}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.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}.align-middle{vertical-align:middle}.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-accent:hover{color:var(--color-accent)}.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}}";
|
|
46007
46177
|
//#endregion
|
|
46008
46178
|
//#region src/page/index.tsx
|
|
46009
46179
|
Br();
|
|
46010
|
-
var
|
|
46011
|
-
function
|
|
46180
|
+
var h2 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), g2 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), _2 = /*#__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"), v2 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), y2 = /*#__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"), b2 = /*#__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\">"), x2 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), S2 = /*#__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\">"), C2 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), w2 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), T2 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), E2 = /*#__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>"), D2 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), O2 = /*#__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\"> · <!> · ");
|
|
46181
|
+
function k2(e = {}) {
|
|
46012
46182
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
46013
46183
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
46014
46184
|
let t = () => {
|
|
@@ -46040,17 +46210,17 @@ function w2(e = {}) {
|
|
|
46040
46210
|
"keypress"
|
|
46041
46211
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
46042
46212
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
46043
|
-
i.textContent =
|
|
46213
|
+
i.textContent = m2, r.appendChild(i);
|
|
46044
46214
|
let a = document.createElement("div");
|
|
46045
46215
|
r.appendChild(a);
|
|
46046
|
-
let o = () => a.setAttribute("data-theme",
|
|
46047
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(
|
|
46216
|
+
let o = () => a.setAttribute("data-theme", A2());
|
|
46217
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(I2, { get defaultOpen() {
|
|
46048
46218
|
return e.defaultOpen ?? !1;
|
|
46049
46219
|
} }), a);
|
|
46050
46220
|
};
|
|
46051
46221
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
46052
46222
|
}
|
|
46053
|
-
function
|
|
46223
|
+
function A2() {
|
|
46054
46224
|
try {
|
|
46055
46225
|
let e = [document.body, document.documentElement];
|
|
46056
46226
|
for (let t of e) {
|
|
@@ -46060,11 +46230,11 @@ function T2() {
|
|
|
46060
46230
|
} catch {}
|
|
46061
46231
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
46062
46232
|
}
|
|
46063
|
-
var
|
|
46064
|
-
function
|
|
46233
|
+
var j2 = 130, M2 = 36, N2 = 380, P2 = 280, F2 = 720;
|
|
46234
|
+
function I2(e) {
|
|
46065
46235
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
46066
|
-
x: Math.max(8, window.innerWidth -
|
|
46067
|
-
y: Math.max(8, window.innerHeight -
|
|
46236
|
+
x: Math.max(8, window.innerWidth - j2 - 24),
|
|
46237
|
+
y: Math.max(8, window.innerHeight - M2 - 20)
|
|
46068
46238
|
}), [s, c] = T({
|
|
46069
46239
|
running: [],
|
|
46070
46240
|
review: []
|
|
@@ -46079,12 +46249,12 @@ function j2(e) {
|
|
|
46079
46249
|
let t = Math.floor(e / 1e3);
|
|
46080
46250
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
46081
46251
|
}, [v, y] = T(null), b = (e) => ({
|
|
46082
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
46083
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
46252
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - j2 - 8),
|
|
46253
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - M2 - 8)
|
|
46084
46254
|
}), x = (e) => ({
|
|
46085
46255
|
x: Math.min(Math.max(8 - (te() - 80), e.x), window.innerWidth - 80),
|
|
46086
46256
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
46087
|
-
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(
|
|
46257
|
+
}), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(N2), ne = (e) => Math.min(F2, Math.max(P2, Math.min(e, window.innerWidth - 60)));
|
|
46088
46258
|
O(() => {
|
|
46089
46259
|
let e = document.documentElement, n = t() && S();
|
|
46090
46260
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${te()}px` : "", e.style.marginLeft = n && r() === "left" ? `${te()}px` : "";
|
|
@@ -46192,7 +46362,7 @@ function j2(e) {
|
|
|
46192
46362
|
return !t();
|
|
46193
46363
|
},
|
|
46194
46364
|
get children() {
|
|
46195
|
-
var e =
|
|
46365
|
+
var e = b2(), t = e.firstChild;
|
|
46196
46366
|
return t.$$pointerdown = se, P(t, j(M, {
|
|
46197
46367
|
get when() {
|
|
46198
46368
|
return p() === "recording";
|
|
@@ -46200,14 +46370,14 @@ function j2(e) {
|
|
|
46200
46370
|
get fallback() {
|
|
46201
46371
|
return [
|
|
46202
46372
|
(() => {
|
|
46203
|
-
var e =
|
|
46373
|
+
var e = S2();
|
|
46204
46374
|
return e.$$click = () => {
|
|
46205
46375
|
oe || (f(!1), n(!0));
|
|
46206
|
-
}, P(e, j(
|
|
46376
|
+
}, P(e, j(f2, { size: 13 })), e;
|
|
46207
46377
|
})(),
|
|
46208
|
-
|
|
46378
|
+
C2(),
|
|
46209
46379
|
(() => {
|
|
46210
|
-
var e =
|
|
46380
|
+
var e = E2(), t = e.firstChild, n = t.nextSibling;
|
|
46211
46381
|
return e.$$click = () => {
|
|
46212
46382
|
oe || f((e) => !e);
|
|
46213
46383
|
}, P(n, (() => {
|
|
@@ -46218,8 +46388,8 @@ function j2(e) {
|
|
|
46218
46388
|
return $e(() => !k())() && u().length > 0;
|
|
46219
46389
|
},
|
|
46220
46390
|
get children() {
|
|
46221
|
-
return [
|
|
46222
|
-
var e =
|
|
46391
|
+
return [w2(), (() => {
|
|
46392
|
+
var e = T2(), t = e.firstChild;
|
|
46223
46393
|
return P(e, () => u().length, t), e;
|
|
46224
46394
|
})()];
|
|
46225
46395
|
}
|
|
@@ -46235,13 +46405,13 @@ function j2(e) {
|
|
|
46235
46405
|
},
|
|
46236
46406
|
get children() {
|
|
46237
46407
|
return [
|
|
46238
|
-
|
|
46408
|
+
h2(),
|
|
46239
46409
|
(() => {
|
|
46240
|
-
var e =
|
|
46410
|
+
var e = g2();
|
|
46241
46411
|
return P(e, () => _(h())), e;
|
|
46242
46412
|
})(),
|
|
46243
46413
|
(() => {
|
|
46244
|
-
var e =
|
|
46414
|
+
var e = _2();
|
|
46245
46415
|
return e.$$click = () => {
|
|
46246
46416
|
oe || eO();
|
|
46247
46417
|
}, e;
|
|
@@ -46253,17 +46423,17 @@ function j2(e) {
|
|
|
46253
46423
|
return d();
|
|
46254
46424
|
},
|
|
46255
46425
|
get children() {
|
|
46256
|
-
var e =
|
|
46426
|
+
var e = y2(), t = e.firstChild;
|
|
46257
46427
|
return P(e, j(M, {
|
|
46258
46428
|
get when() {
|
|
46259
46429
|
return u().length > 0;
|
|
46260
46430
|
},
|
|
46261
46431
|
get children() {
|
|
46262
|
-
return [
|
|
46432
|
+
return [v2(), j(We, {
|
|
46263
46433
|
get each() {
|
|
46264
46434
|
return u();
|
|
46265
46435
|
},
|
|
46266
|
-
children: (e) => j(
|
|
46436
|
+
children: (e) => j(L2, {
|
|
46267
46437
|
agent: e,
|
|
46268
46438
|
review: !0,
|
|
46269
46439
|
onOpen: le
|
|
@@ -46275,14 +46445,14 @@ function j2(e) {
|
|
|
46275
46445
|
return l().length > 0;
|
|
46276
46446
|
},
|
|
46277
46447
|
get fallback() {
|
|
46278
|
-
return
|
|
46448
|
+
return D2();
|
|
46279
46449
|
},
|
|
46280
46450
|
get children() {
|
|
46281
46451
|
return j(We, {
|
|
46282
46452
|
get each() {
|
|
46283
46453
|
return l();
|
|
46284
46454
|
},
|
|
46285
|
-
children: (e) => j(
|
|
46455
|
+
children: (e) => j(L2, {
|
|
46286
46456
|
agent: e,
|
|
46287
46457
|
onOpen: le
|
|
46288
46458
|
})
|
|
@@ -46303,8 +46473,8 @@ function j2(e) {
|
|
|
46303
46473
|
return t();
|
|
46304
46474
|
},
|
|
46305
46475
|
get children() {
|
|
46306
|
-
var e =
|
|
46307
|
-
return t.$$pointerdown = ue, P(e, j(
|
|
46476
|
+
var e = x2(), t = e.firstChild;
|
|
46477
|
+
return t.$$pointerdown = ue, P(e, j(p2, {
|
|
46308
46478
|
onGrab: () => n(!0),
|
|
46309
46479
|
onClose: () => n(!1),
|
|
46310
46480
|
get onHeaderPointerDown() {
|
|
@@ -46332,19 +46502,19 @@ function j2(e) {
|
|
|
46332
46502
|
}
|
|
46333
46503
|
})];
|
|
46334
46504
|
}
|
|
46335
|
-
function
|
|
46505
|
+
function L2(e) {
|
|
46336
46506
|
return (() => {
|
|
46337
|
-
var t =
|
|
46507
|
+
var t = O2(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
46338
46508
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
46339
46509
|
var t = $e(() => !!e.review);
|
|
46340
46510
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
46341
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
46511
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => R2(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
46342
46512
|
})();
|
|
46343
46513
|
}
|
|
46344
|
-
function
|
|
46514
|
+
function R2(e) {
|
|
46345
46515
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
46346
46516
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
46347
46517
|
}
|
|
46348
46518
|
rt(["pointerdown", "click"]);
|
|
46349
46519
|
//#endregion
|
|
46350
|
-
export {
|
|
46520
|
+
export { k2 as init };
|