linear-grab 0.16.1 → 0.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3152,25 +3152,17 @@ async function Dr(e) {
3152
3152
  };
3153
3153
  continue;
3154
3154
  }
3155
- let r = (e) => `${e.source?.filePath ?? ""}:${e.source?.lineNumber ?? ""}|${e.tagName ?? ""}|${(e.content ?? "").trim().slice(0, 80)}`;
3156
- if (n.source?.filePath) {
3157
- let e = t.findIndex((e) => r(e) === r(n));
3158
- if (e >= 0) {
3159
- t[e] = {
3160
- ...t[e],
3161
- ...n
3162
- };
3163
- continue;
3164
- }
3155
+ let r = (e) => `${e.source?.filePath ?? ""}:${e.source?.lineNumber ?? ""}|${e.tagName ?? ""}|${(e.content ?? "").trim().slice(0, 80)}`, i = t[t.length - 1];
3156
+ if (n.source?.filePath && i && r(i) === r(n)) {
3157
+ t[t.length - 1] = {
3158
+ ...i,
3159
+ ...n
3160
+ };
3161
+ continue;
3165
3162
  }
3166
3163
  t.push(n);
3167
3164
  }
3168
- let n = /* @__PURE__ */ new Set(), r = [];
3169
- for (let e = t.length - 1; e >= 0; e--) {
3170
- let i = t[e], a = i.source?.filePath ? `${i.source.filePath}:${i.source.lineNumber ?? ""}|${i.tagName ?? ""}|${(i.content ?? "").trim().slice(0, 80)}` : `id:${i.grabbedAt}`;
3171
- n.has(a) || (n.add(a), r.unshift(i));
3172
- }
3173
- await Er(r.slice(-8));
3165
+ await Er(t.slice(-8));
3174
3166
  }
3175
3167
  async function Or(e) {
3176
3168
  await Er((await Tr() ?? []).filter((t) => t.grabbedAt !== e));
@@ -41732,8 +41724,8 @@ function LZ() {
41732
41724
  });
41733
41725
  }
41734
41726
  Rr(), br(), mD();
41735
- var RZ = /*#__PURE__*/ N("<span class=\"text-text-faint ml-auto text-[10.5px] font-normal normal-case tabular-nums\">"), zZ = /*#__PURE__*/ N("<details open class=group><summary class=\"text-text-dim hover:text-text flex cursor-pointer items-center gap-1.5 text-[11px] font-semibold tracking-wide uppercase select-none\"><span aria-hidden class=\"text-text-faint inline-block w-3 text-center transition-transform group-open:rotate-90\">›</span></summary><div class=\"flex flex-col gap-2 pt-2 pl-4\">"), BZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"text-text-faint min-w-0 text-[10.5px] leading-snug\">All elements post into ONE issue. Shift+click / drag selects several at once."), VZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex gap-1.5\">"), HZ = /*#__PURE__*/ N("<span class=text-danger>●"), UZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><span class=\"text-text-faint text-[10.5px] leading-snug\">Captures your screen as a looping GIF (max 30s) the coding agent can watch. Pick this tab in the share dialog, then reproduce the issue."), WZ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Stop"), GZ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center gap-2 rounded-lg border p-2.5\"><span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\"></span><span class=\"text-text min-w-[5ch] text-[12px] tabular-nums\"></span><span class=\"text-text-faint text-[10.5px]\">max 0:30"), KZ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center gap-2 rounded-lg border p-2.5\"><span class=\"text-text-dim text-[12px]\">Encoding GIF…"), qZ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-4 overflow-y-auto pt-3 pb-4 pl-3 pr-4\">"), JZ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), YZ = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M4 4l8 8M12 4l-8 8\">"), XZ = /*#__PURE__*/ N("<span class=\"font-mono text-text-dim break-all text-[11px] leading-snug\">"), ZZ = /*#__PURE__*/ N("<img alt=\"Element location screenshot\"class=\"border-border bg-bg max-h-32 w-full rounded-md border object-contain\">"), QZ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"font-mono text-accent min-w-0 truncate text-[12px]\"></span><div class=\"flex shrink-0 items-center gap-1\">"), $Z = /*#__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\">"), eQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M8 2.5v8M4.5 7.5 8 11l3.5-3.5M2.5 13.5h11\">"), tQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M2.5 4h11M6.5 4V2.5h3V4M4 4l.7 9a1.5 1.5 0 0 0 1.5 1.4h3.6A1.5 1.5 0 0 0 11.3 13l.7-9M6.5 7v4.5M9.5 7v4.5\">"), nQ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-2 rounded-lg border p-2.5\"><img alt=\"Screen recording preview\"class=\"border-border bg-bg max-h-44 w-full rounded-md border object-contain\"><span class=\"text-text-faint text-[10.5px] tabular-nums\"> KB · <!>s · <!>×</span><label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Attach to issue on create</span></label><div class=\"flex items-center gap-1\">"), rQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M6.5 9.5 9.5 6.5M7.5 4.5 9 3a2.5 2.5 0 0 1 3.5 3.5L11 8M8.5 11.5 7 13a2.5 2.5 0 0 1-3.5-3.5L5 8\">");
41736
- function iQ(e) {
41727
+ var RZ = /*#__PURE__*/ N("<span class=\"text-text-faint ml-auto text-[10.5px] font-normal normal-case tabular-nums\">"), zZ = /*#__PURE__*/ N("<details open class=group><summary class=\"text-text-dim hover:text-text flex cursor-pointer items-center gap-1.5 text-[11px] font-semibold tracking-wide uppercase select-none\"><span aria-hidden class=\"text-text-faint inline-block w-3 text-center transition-transform group-open:rotate-90\">›</span></summary><div class=\"flex flex-col gap-2 pt-2 pl-4\">"), BZ = /*#__PURE__*/ N("<p class=\"text-warn text-[10.5px] leading-snug\">Several captures resolve to the same source — this page region likely renders inside an iframe/canvas the picker can't see into. Use <b>Capture region</b> for visual pointers there."), VZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"text-text-faint min-w-0 text-[10.5px] leading-snug\">All elements post into ONE issue. Shift+click / drag selects several at once."), HZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex gap-1.5\">"), UZ = /*#__PURE__*/ N("<span class=text-danger>●"), WZ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><span class=\"text-text-faint text-[10.5px] leading-snug\">Captures your screen as a looping GIF (max 30s) the coding agent can watch. Pick this tab in the share dialog, then reproduce the issue."), GZ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Stop"), KZ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center gap-2 rounded-lg border p-2.5\"><span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\"></span><span class=\"text-text min-w-[5ch] text-[12px] tabular-nums\"></span><span class=\"text-text-faint text-[10.5px]\">max 0:30"), qZ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center gap-2 rounded-lg border p-2.5\"><span class=\"text-text-dim text-[12px]\">Encoding GIF…"), JZ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-4 overflow-y-auto pt-3 pb-4 pl-3 pr-4\">"), YZ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), XZ = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M4 4l8 8M12 4l-8 8\">"), ZZ = /*#__PURE__*/ N("<span class=\"font-mono text-text-dim break-all text-[11px] leading-snug\">"), QZ = /*#__PURE__*/ N("<img alt=\"Element location screenshot\"class=\"border-border bg-bg max-h-32 w-full rounded-md border object-contain\">"), $Z = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"font-mono text-accent min-w-0 truncate text-[12px]\"></span><div class=\"flex shrink-0 items-center gap-1\">"), eQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><rect x=5.5 y=5.5 width=9 height=9 rx=1.5></rect><path d=\"M10.5 5.5v-2a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h2\">"), tQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M8 2.5v8M4.5 7.5 8 11l3.5-3.5M2.5 13.5h11\">"), nQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M2.5 4h11M6.5 4V2.5h3V4M4 4l.7 9a1.5 1.5 0 0 0 1.5 1.4h3.6A1.5 1.5 0 0 0 11.3 13l.7-9M6.5 7v4.5M9.5 7v4.5\">"), rQ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-2 rounded-lg border p-2.5\"><img alt=\"Screen recording preview\"class=\"border-border bg-bg max-h-44 w-full rounded-md border object-contain\"><span class=\"text-text-faint text-[10.5px] tabular-nums\"> KB · <!>s · <!>×</span><label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Attach to issue on create</span></label><div class=\"flex items-center gap-1\">"), iQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M6.5 9.5 9.5 6.5M7.5 4.5 9 3a2.5 2.5 0 0 1 3.5 3.5L11 8M8.5 11.5 7 13a2.5 2.5 0 0 1-3.5-3.5L5 8\">");
41728
+ function aQ(e) {
41737
41729
  return (() => {
41738
41730
  var t = zZ(), n = t.firstChild;
41739
41731
  n.firstChild;
@@ -41749,7 +41741,7 @@ function iQ(e) {
41749
41741
  }), null), P(r, () => e.children), t;
41750
41742
  })();
41751
41743
  }
41752
- function aQ() {
41744
+ function oQ() {
41753
41745
  let e = sr(), t = _r(() => ({
41754
41746
  queryKey: ["grab"],
41755
41747
  queryFn: Tr
@@ -41834,8 +41826,8 @@ function aQ() {
41834
41826
  }
41835
41827
  };
41836
41828
  return (() => {
41837
- var e = qZ();
41838
- return P(e, j(iQ, {
41829
+ var e = JZ();
41830
+ return P(e, j(aQ, {
41839
41831
  title: "Captured elements",
41840
41832
  get badge() {
41841
41833
  return $e(() => !!r().length)() ? `${r().length}/8` : void 0;
@@ -41852,13 +41844,13 @@ function aQ() {
41852
41844
  });
41853
41845
  },
41854
41846
  get children() {
41855
- var e = BZ(), t = e.firstChild;
41847
+ var e = VZ(), t = e.firstChild;
41856
41848
  return t.firstChild, P(e, j(We, {
41857
41849
  get each() {
41858
41850
  return r();
41859
41851
  },
41860
41852
  children: (e) => (() => {
41861
- var t = QZ(), n = t.firstChild.firstChild, r = n.nextSibling;
41853
+ var t = $Z(), n = t.firstChild.firstChild, r = n.nextSibling;
41862
41854
  return P(n, (() => {
41863
41855
  var t = $e(() => !!e.componentName);
41864
41856
  return () => t() ? `<${e.componentName}>` : $e(() => !!e.tagName)() ? `<${e.tagName}>` : "Element";
@@ -41874,10 +41866,10 @@ function aQ() {
41874
41866
  return l() === e.grabbedAt;
41875
41867
  },
41876
41868
  get fallback() {
41877
- return $Z();
41869
+ return eQ();
41878
41870
  },
41879
41871
  get children() {
41880
- return JZ();
41872
+ return YZ();
41881
41873
  }
41882
41874
  });
41883
41875
  }
@@ -41888,14 +41880,14 @@ function aQ() {
41888
41880
  "aria-label": "Remove element",
41889
41881
  onClick: () => void f(e.grabbedAt),
41890
41882
  get children() {
41891
- return YZ();
41883
+ return XZ();
41892
41884
  }
41893
41885
  }), null), P(t, j(M, {
41894
41886
  get when() {
41895
41887
  return e.source?.filePath;
41896
41888
  },
41897
41889
  get children() {
41898
- var t = XZ();
41890
+ var t = ZZ();
41899
41891
  return P(t, () => e.source.filePath, null), P(t, (() => {
41900
41892
  var t = $e(() => e.source?.lineNumber != null);
41901
41893
  return () => t() ? `:${e.source.lineNumber}` : "";
@@ -41906,11 +41898,18 @@ function aQ() {
41906
41898
  return e.screenshotDataUrl;
41907
41899
  },
41908
41900
  get children() {
41909
- var t = ZZ();
41901
+ var t = QZ();
41910
41902
  return D(() => it(t, "src", e.screenshotDataUrl)), t;
41911
41903
  }
41912
41904
  }), null), t;
41913
41905
  })()
41906
+ }), t), P(e, j(M, {
41907
+ get when() {
41908
+ return new Set(r().filter((e) => e.source?.filePath).map((e) => `${e.source.filePath}:${e.source.lineNumber ?? ""}`)).size < r().filter((e) => e.source?.filePath).length;
41909
+ },
41910
+ get children() {
41911
+ return BZ();
41912
+ }
41914
41913
  }), t), P(t, j(vj, {
41915
41914
  class: "h-6 shrink-0 px-2 text-[11px]",
41916
41915
  variant: "ghost",
@@ -41919,7 +41918,7 @@ function aQ() {
41919
41918
  }), null), e;
41920
41919
  }
41921
41920
  }), (() => {
41922
- var e = VZ(), t = e.firstChild;
41921
+ var e = HZ(), t = e.firstChild;
41923
41922
  return P(t, j(vj, {
41924
41923
  variant: "primary",
41925
41924
  class: "min-w-0 flex-1",
@@ -41951,7 +41950,7 @@ function aQ() {
41951
41950
  }), null), e;
41952
41951
  })()];
41953
41952
  }
41954
- }), null), P(e, j(iQ, {
41953
+ }), null), P(e, j(aQ, {
41955
41954
  title: "Recording",
41956
41955
  get badge() {
41957
41956
  return $e(() => !!g().result)() ? `${(g().result.durationMs / 1e3).toFixed(1)}s` : void 0;
@@ -41963,12 +41962,12 @@ function aQ() {
41963
41962
  return g().phase === "idle" || g().phase === "error";
41964
41963
  },
41965
41964
  get children() {
41966
- var e = UZ(), t = e.firstChild;
41965
+ var e = WZ(), t = e.firstChild;
41967
41966
  return P(e, j(vj, {
41968
41967
  variant: "ghost",
41969
41968
  onClick: () => void ZD(),
41970
41969
  get children() {
41971
- return [HZ(), " Record interaction"];
41970
+ return [UZ(), " Record interaction"];
41972
41971
  }
41973
41972
  }), t), P(e, j(M, {
41974
41973
  get when() {
@@ -41987,13 +41986,13 @@ function aQ() {
41987
41986
  return g().phase === "recording";
41988
41987
  },
41989
41988
  get children() {
41990
- var e = GZ(), t = e.firstChild.nextSibling;
41989
+ var e = KZ(), t = e.firstChild.nextSibling;
41991
41990
  return t.nextSibling, P(t, () => b(v())), P(e, j(vj, {
41992
41991
  variant: "primary",
41993
41992
  class: "ml-auto",
41994
41993
  onClick: () => void QD(),
41995
41994
  get children() {
41996
- return WZ();
41995
+ return GZ();
41997
41996
  }
41998
41997
  }), null), e;
41999
41998
  }
@@ -42003,7 +42002,7 @@ function aQ() {
42003
42002
  return g().phase === "processing";
42004
42003
  },
42005
42004
  get children() {
42006
- var e = KZ(), t = e.firstChild;
42005
+ var e = qZ(), t = e.firstChild;
42007
42006
  return P(e, j(yj, {}), t), e;
42008
42007
  }
42009
42008
  }),
@@ -42012,7 +42011,7 @@ function aQ() {
42012
42011
  return $e(() => g().phase === "ready")() && g().result;
42013
42012
  },
42014
42013
  children: (e) => (() => {
42015
- var t = nQ(), n = t.firstChild, r = n.nextSibling, a = r.firstChild, o = a.nextSibling, s = o.nextSibling.nextSibling;
42014
+ var t = rQ(), n = t.firstChild, r = n.nextSibling, a = r.firstChild, o = a.nextSibling, s = o.nextSibling.nextSibling;
42016
42015
  s.nextSibling;
42017
42016
  var c = r.nextSibling, l = c.firstChild, u = c.nextSibling;
42018
42017
  return P(r, () => (e().blob.size / 1024).toFixed(0), a), P(r, () => (e().durationMs / 1e3).toFixed(1), o), P(r, () => e().width, s), P(r, () => e().height, null), l.addEventListener("change", (e) => eO(e.currentTarget.checked)), P(u, j(vj, {
@@ -42035,10 +42034,10 @@ function aQ() {
42035
42034
  return x() === "copied";
42036
42035
  },
42037
42036
  get fallback() {
42038
- return rQ();
42037
+ return iQ();
42039
42038
  },
42040
42039
  get children() {
42041
- return JZ();
42040
+ return YZ();
42042
42041
  }
42043
42042
  });
42044
42043
  }
@@ -42057,10 +42056,10 @@ function aQ() {
42057
42056
  return te() === "copied";
42058
42057
  },
42059
42058
  get fallback() {
42060
- return $Z();
42059
+ return eQ();
42061
42060
  },
42062
42061
  get children() {
42063
- return JZ();
42062
+ return YZ();
42064
42063
  }
42065
42064
  });
42066
42065
  }
@@ -42071,7 +42070,7 @@ function aQ() {
42071
42070
  "aria-label": "Download GIF",
42072
42071
  onClick: ee,
42073
42072
  get children() {
42074
- return eQ();
42073
+ return tQ();
42075
42074
  }
42076
42075
  }), null), P(u, j(vj, {
42077
42076
  variant: "danger",
@@ -42080,7 +42079,7 @@ function aQ() {
42080
42079
  "aria-label": "Discard recording",
42081
42080
  onClick: $D,
42082
42081
  get children() {
42083
- return tQ();
42082
+ return nQ();
42084
42083
  }
42085
42084
  }), null), P(t, j(M, {
42086
42085
  get when() {
@@ -42101,7 +42100,7 @@ function aQ() {
42101
42100
  }
42102
42101
  //#endregion
42103
42102
  //#region node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js
42104
- function oQ(e, t, n) {
42103
+ function sQ(e, t, n) {
42105
42104
  let r = Array(e);
42106
42105
  return new Proxy(r, { get(r, i, a) {
42107
42106
  if (typeof i == "string") {
@@ -42131,7 +42130,7 @@ function oQ(e, t, n) {
42131
42130
  }
42132
42131
  //#endregion
42133
42132
  //#region node_modules/@tanstack/virtual-core/dist/esm/utils.js
42134
- function sQ(e, t, n) {
42133
+ function cQ(e, t, n) {
42135
42134
  let r = n.initialDeps ?? [], i, a = !0;
42136
42135
  function o() {
42137
42136
  let o = e();
@@ -42141,32 +42140,32 @@ function sQ(e, t, n) {
42141
42140
  r = e;
42142
42141
  }, o;
42143
42142
  }
42144
- function cQ(e, t) {
42143
+ function lQ(e, t) {
42145
42144
  if (e === void 0) throw Error(`Unexpected undefined${t ? `: ${t}` : ""}`);
42146
42145
  return e;
42147
42146
  }
42148
- var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42147
+ var uQ = (e, t) => Math.abs(e - t) < 1.01, dQ = (e, t, n) => {
42149
42148
  let r;
42150
42149
  return function(...i) {
42151
42150
  e.clearTimeout(r), r = e.setTimeout(() => t.apply(this, i), n);
42152
42151
  };
42153
- }, dQ, fQ = () => {
42154
- if (dQ !== void 0) return dQ;
42155
- if (typeof navigator > "u") return dQ = !1;
42156
- if (/iP(hone|od|ad)/.test(navigator.userAgent)) return dQ = !0;
42152
+ }, fQ, pQ = () => {
42153
+ if (fQ !== void 0) return fQ;
42154
+ if (typeof navigator > "u") return fQ = !1;
42155
+ if (/iP(hone|od|ad)/.test(navigator.userAgent)) return fQ = !0;
42157
42156
  let e = navigator.maxTouchPoints;
42158
- return dQ = navigator.platform === "MacIntel" && e !== void 0 && e > 0;
42159
- }, pQ = (e) => {
42157
+ return fQ = navigator.platform === "MacIntel" && e !== void 0 && e > 0;
42158
+ }, mQ = (e) => {
42160
42159
  let { offsetWidth: t, offsetHeight: n } = e;
42161
42160
  return {
42162
42161
  width: t,
42163
42162
  height: n
42164
42163
  };
42165
- }, mQ = (e) => e, hQ = (e) => {
42164
+ }, hQ = (e) => e, gQ = (e) => {
42166
42165
  let t = Math.max(e.startIndex - e.overscan, 0), n = Math.min(e.endIndex + e.overscan, e.count - 1) - t + 1, r = Array(n);
42167
42166
  for (let e = 0; e < n; e++) r[e] = t + e;
42168
42167
  return r;
42169
- }, gQ = (e, t) => {
42168
+ }, _Q = (e, t) => {
42170
42169
  let n = e.scrollElement;
42171
42170
  if (!n) return;
42172
42171
  let r = e.targetWindow;
@@ -42178,7 +42177,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42178
42177
  height: Math.round(r)
42179
42178
  });
42180
42179
  };
42181
- if (i(pQ(n)), !r.ResizeObserver) return () => {};
42180
+ if (i(mQ(n)), !r.ResizeObserver) return () => {};
42182
42181
  let a = new r.ResizeObserver((t) => {
42183
42182
  let r = () => {
42184
42183
  let e = t[0];
@@ -42192,28 +42191,28 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42192
42191
  return;
42193
42192
  }
42194
42193
  }
42195
- i(pQ(n));
42194
+ i(mQ(n));
42196
42195
  };
42197
42196
  e.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(r) : r();
42198
42197
  });
42199
42198
  return a.observe(n, { box: "border-box" }), () => {
42200
42199
  a.unobserve(n);
42201
42200
  };
42202
- }, _Q = { passive: !0 }, vQ = typeof window > "u" || "onscrollend" in window, yQ = (e, t, n) => {
42201
+ }, vQ = { passive: !0 }, yQ = typeof window > "u" || "onscrollend" in window, bQ = (e, t, n) => {
42203
42202
  let r = e.scrollElement;
42204
42203
  if (!r) return;
42205
42204
  let i = e.targetWindow;
42206
42205
  if (!i) return;
42207
- let a = e.options.useScrollendEvent && vQ, o = 0, s = a ? null : uQ(i, () => t(o, !1), e.options.isScrollingResetDelay), c = (e) => () => {
42206
+ let a = e.options.useScrollendEvent && yQ, o = 0, s = a ? null : dQ(i, () => t(o, !1), e.options.isScrollingResetDelay), c = (e) => () => {
42208
42207
  o = n(r), s?.(), t(o, e);
42209
42208
  }, l = c(!0), u = c(!1);
42210
- return r.addEventListener("scroll", l, _Q), a && r.addEventListener("scrollend", u, _Q), () => {
42209
+ return r.addEventListener("scroll", l, vQ), a && r.addEventListener("scrollend", u, vQ), () => {
42211
42210
  r.removeEventListener("scroll", l), a && r.removeEventListener("scrollend", u);
42212
42211
  };
42213
- }, bQ = (e, t) => yQ(e, t, (t) => {
42212
+ }, xQ = (e, t) => bQ(e, t, (t) => {
42214
42213
  let { horizontal: n, isRtl: r } = e.options;
42215
42214
  return n ? t.scrollLeft * (r && -1 || 1) : t.scrollTop;
42216
- }), xQ = (e, t, n) => {
42215
+ }), SQ = (e, t, n) => {
42217
42216
  if (n.options.useCachedMeasurements) {
42218
42217
  let t = n.indexFromElement(e), r = n.options.getItemKey(t);
42219
42218
  return n.itemSizeCache.get(r) ?? n.options.estimateSize(t);
@@ -42227,13 +42226,13 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42227
42226
  if (i !== void 0) return i;
42228
42227
  }
42229
42228
  return e[n.options.horizontal ? "offsetWidth" : "offsetHeight"];
42230
- }, SQ = (e, { adjustments: t = 0, behavior: n }, r) => {
42229
+ }, CQ = (e, { adjustments: t = 0, behavior: n }, r) => {
42231
42230
  var i, a;
42232
42231
  (a = (i = r.scrollElement)?.scrollTo) == null || a.call(i, {
42233
42232
  [r.options.horizontal ? "left" : "top"]: e + t,
42234
42233
  behavior: n
42235
42234
  });
42236
- }, CQ = class {
42235
+ }, wQ = class {
42237
42236
  constructor(e) {
42238
42237
  this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.scrollState = null, this.measurementsCache = [], this._flatMeasurements = null, this.itemSizeCache = /* @__PURE__ */ new Map(), this.itemSizeCacheVersion = 0, this.laneAssignments = /* @__PURE__ */ new Map(), this.pendingMin = null, this.prevLanes = void 0, this.lanesChangedFlag = !1, this.lanesSettling = !1, this.pendingScrollAnchor = null, this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this._iosDeferredAdjustment = 0, this._iosTouching = !1, this._iosJustTouchEnded = !1, this._iosTouchEndTimerId = null, this._intendedScrollOffset = null, this.elementsCache = /* @__PURE__ */ new Map(), this.now = () => {
42239
42238
  var e;
@@ -42274,10 +42273,10 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42274
42273
  scrollPaddingStart: 0,
42275
42274
  scrollPaddingEnd: 0,
42276
42275
  horizontal: !1,
42277
- getItemKey: mQ,
42278
- rangeExtractor: hQ,
42276
+ getItemKey: hQ,
42277
+ rangeExtractor: gQ,
42279
42278
  onChange: () => {},
42280
- measureElement: xQ,
42279
+ measureElement: SQ,
42281
42280
  initialRect: {
42282
42281
  width: 0,
42283
42282
  height: 0
@@ -42335,7 +42334,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42335
42334
  }, this.notify = (e) => {
42336
42335
  var t, n;
42337
42336
  (n = (t = this.options).onChange) == null || n.call(t, this, e);
42338
- }, this.maybeNotify = sQ(() => (this.calculateRange(), [
42337
+ }, this.maybeNotify = cQ(() => (this.calculateRange(), [
42339
42338
  this.isScrolling,
42340
42339
  this.range ? this.range.startIndex : null,
42341
42340
  this.range ? this.range.endIndex : null
@@ -42373,11 +42372,11 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42373
42372
  let e = this.scrollElement, t = () => {
42374
42373
  this._iosTouching = !0, this._iosJustTouchEnded = !1, this._iosTouchEndTimerId !== null && this.targetWindow != null && (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), this._iosTouchEndTimerId = null);
42375
42374
  }, n = () => {
42376
- this._iosTouching = !1, !(!fQ() || this.targetWindow == null) && (this._iosJustTouchEnded = !0, this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
42375
+ this._iosTouching = !1, !(!pQ() || this.targetWindow == null) && (this._iosJustTouchEnded = !0, this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
42377
42376
  this._iosJustTouchEnded = !1, this._iosTouchEndTimerId = null, this._flushIosDeferredIfReady();
42378
42377
  }, 150));
42379
42378
  };
42380
- e.addEventListener("touchstart", t, _Q), e.addEventListener("touchend", n, _Q), this.unsubs.push(() => {
42379
+ e.addEventListener("touchstart", t, vQ), e.addEventListener("touchend", n, vQ), this.unsubs.push(() => {
42381
42380
  e.removeEventListener("touchstart", t), e.removeEventListener("touchend", n), this._iosTouchEndTimerId !== null && this.targetWindow != null && (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), this._iosTouchEndTimerId = null);
42382
42381
  });
42383
42382
  }
@@ -42389,7 +42388,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42389
42388
  let t = this.pendingScrollAnchor;
42390
42389
  if (this.pendingScrollAnchor = null, t && this.scrollElement && this.options.enabled) {
42391
42390
  let [e, n, r, i] = t;
42392
- e !== null && !r && (fQ() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? i !== 0 && (this._iosDeferredAdjustment += i) : this._scrollToOffset(this.getScrollOffset(), {
42391
+ e !== null && !r && (pQ() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? i !== 0 && (this._iosDeferredAdjustment += i) : this._scrollToOffset(this.getScrollOffset(), {
42393
42392
  adjustments: void 0,
42394
42393
  behavior: void 0
42395
42394
  })), r && this.scrollToEnd({ behavior: r });
@@ -42403,7 +42402,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42403
42402
  adjustments: this.scrollAdjustments += n,
42404
42403
  behavior: void 0
42405
42404
  });
42406
- }, this.rafId = null, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getMeasurementOptions = sQ(() => [
42405
+ }, this.rafId = null, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getMeasurementOptions = cQ(() => [
42407
42406
  this.options.count,
42408
42407
  this.options.paddingStart,
42409
42408
  this.options.scrollMargin,
@@ -42421,7 +42420,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42421
42420
  lanes: a,
42422
42421
  laneAssignmentMode: o,
42423
42422
  gap: s
42424
- }), { key: !1 }), this.getMeasurements = sQ(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({ count: e, paddingStart: t, scrollMargin: n, getItemKey: r, enabled: i, lanes: a, laneAssignmentMode: o, gap: s }, c) => {
42423
+ }), { key: !1 }), this.getMeasurements = cQ(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({ count: e, paddingStart: t, scrollMargin: n, getItemKey: r, enabled: i, lanes: a, laneAssignmentMode: o, gap: s }, c) => {
42425
42424
  let l = this.itemSizeCache;
42426
42425
  if (!i) return this.measurementsCache = [], this.itemSizeCache.clear(), this.laneAssignments.clear(), [];
42427
42426
  if (this.laneAssignments.size > e) for (let t of this.laneAssignments.keys()) t >= e && this.laneAssignments.delete(t);
@@ -42445,7 +42444,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42445
42444
  let e = r(t), n = l.get(e), i = typeof n == "number" ? n : this.options.estimateSize(t);
42446
42445
  a[t * 2] = o, a[t * 2 + 1] = i, o += i + s;
42447
42446
  }
42448
- let c = oQ(e, a, r);
42447
+ let c = sQ(e, a, r);
42449
42448
  return this.measurementsCache = c, c;
42450
42449
  }
42451
42450
  let d = this.measurementsCache.slice(0, u), f = Array(a).fill(void 0), p = new Float64Array(a), m = 0;
@@ -42481,15 +42480,15 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42481
42480
  }, {
42482
42481
  key: !1,
42483
42482
  debug: () => this.options.debug
42484
- }), this.calculateRange = sQ(() => [
42483
+ }), this.calculateRange = cQ(() => [
42485
42484
  this.getMeasurements(),
42486
42485
  this.getSize(),
42487
42486
  this.getScrollOffset(),
42488
42487
  this.options.lanes
42489
- ], (e, t, n, r) => e.length === 0 || t === 0 ? (this.range = null, null) : (this.range = EQ(e, t, n, r, r === 1 && this._flatMeasurements != null ? this._flatMeasurements : null), this.range), {
42488
+ ], (e, t, n, r) => e.length === 0 || t === 0 ? (this.range = null, null) : (this.range = DQ(e, t, n, r, r === 1 && this._flatMeasurements != null ? this._flatMeasurements : null), this.range), {
42490
42489
  key: !1,
42491
42490
  debug: () => this.options.debug
42492
- }), this.getVirtualIndexes = sQ(() => {
42491
+ }), this.getVirtualIndexes = cQ(() => {
42493
42492
  let e = null, t = null, n = this.calculateRange();
42494
42493
  return n && (e = n.startIndex, t = n.endIndex), this.maybeNotify.updateDeps([
42495
42494
  this.isScrolling,
@@ -42551,7 +42550,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42551
42550
  }, o, this));
42552
42551
  (this.pendingMin === null || e < this.pendingMin) && (this.pendingMin = e), this.itemSizeCache.set(i, t), this.itemSizeCacheVersion++, a ? this.applyScrollAdjustment(this.getTotalSize() - s) : c && this.applyScrollAdjustment(o), this.notify(!1);
42553
42552
  }
42554
- }, this.getVirtualItems = sQ(() => [this.getVirtualIndexes(), this.getMeasurements()], (e, t) => {
42553
+ }, this.getVirtualItems = cQ(() => [this.getVirtualIndexes(), this.getMeasurements()], (e, t) => {
42555
42554
  let n = [];
42556
42555
  for (let r = 0, i = e.length; r < i; r++) {
42557
42556
  let i = t[e[r]];
@@ -42565,7 +42564,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42565
42564
  let t = this.getMeasurements();
42566
42565
  if (t.length === 0) return;
42567
42566
  let n = this._flatMeasurements, r = this.options.lanes === 1 && n != null;
42568
- return cQ(t[wQ(0, t.length - 1, r ? (e) => n[e * 2] : (e) => cQ(t[e]).start, e)]);
42567
+ return lQ(t[TQ(0, t.length - 1, r ? (e) => n[e * 2] : (e) => lQ(t[e]).start, e)]);
42569
42568
  }, this.getMaxScrollOffset = () => {
42570
42569
  if (!this.scrollElement) return 0;
42571
42570
  if ("scrollHeight" in this.scrollElement) return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;
@@ -42678,7 +42677,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42678
42677
  }, this.setOptions(e);
42679
42678
  }
42680
42679
  applyScrollAdjustment(e, t) {
42681
- e !== 0 && (fQ() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? this._iosDeferredAdjustment += e : (this._scrollToOffset(this.getScrollOffset(), {
42680
+ e !== 0 && (pQ() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? this._iosDeferredAdjustment += e : (this._scrollToOffset(this.getScrollOffset(), {
42682
42681
  adjustments: this.scrollAdjustments += e,
42683
42682
  behavior: t
42684
42683
  }), this.scrollOffset !== null && (this.scrollOffset += this.scrollAdjustments, this.scrollAdjustments = 0)));
@@ -42699,7 +42698,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42699
42698
  return;
42700
42699
  }
42701
42700
  let e = this.scrollState.index == null ? void 0 : this.getOffsetForIndex(this.scrollState.index, this.scrollState.align), t = e ? e[0] : this.scrollState.lastTargetOffset, n = t !== this.scrollState.lastTargetOffset;
42702
- if (!n && lQ(t, this.getScrollOffset())) {
42701
+ if (!n && uQ(t, this.getScrollOffset())) {
42703
42702
  if (this.scrollState.stableFrames++, this.scrollState.stableFrames >= 1) {
42704
42703
  this.getScrollOffset() !== t && this._scrollToOffset(t, {
42705
42704
  adjustments: void 0,
@@ -42716,7 +42715,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42716
42715
  }
42717
42716
  this.scheduleScrollReconcile();
42718
42717
  }
42719
- }, wQ = (e, t, n, r) => {
42718
+ }, TQ = (e, t, n, r) => {
42720
42719
  for (; e <= t;) {
42721
42720
  let i = (e + t) / 2 | 0, a = n(i);
42722
42721
  if (a < r) e = i + 1;
@@ -42725,7 +42724,7 @@ var lQ = (e, t) => Math.abs(e - t) < 1.01, uQ = (e, t, n) => {
42725
42724
  }
42726
42725
  return e > 0 ? e - 1 : 0;
42727
42726
  };
42728
- function TQ(e, t, n) {
42727
+ function EQ(e, t, n) {
42729
42728
  let r = 0;
42730
42729
  for (; r <= t;) {
42731
42730
  let i = (r + t) / 2 | 0, a = e[i * 2];
@@ -42735,21 +42734,21 @@ function TQ(e, t, n) {
42735
42734
  }
42736
42735
  return r > 0 ? r - 1 : 0;
42737
42736
  }
42738
- function EQ(e, t, n, r, i) {
42737
+ function DQ(e, t, n, r, i) {
42739
42738
  let a = e.length - 1;
42740
42739
  if (e.length <= r) return {
42741
42740
  startIndex: 0,
42742
42741
  endIndex: a
42743
42742
  };
42744
42743
  if (r === 1 && i !== null) {
42745
- let e = TQ(i, a, n), r = e, o = n + t;
42744
+ let e = EQ(i, a, n), r = e, o = n + t;
42746
42745
  for (; r < a && i[r * 2] + i[r * 2 + 1] < o;) r++;
42747
42746
  return {
42748
42747
  startIndex: e,
42749
42748
  endIndex: r
42750
42749
  };
42751
42750
  }
42752
- let o = wQ(0, a, (t) => e[t].start, n), s = o;
42751
+ let o = TQ(0, a, (t) => e[t].start, n), s = o;
42753
42752
  if (r === 1) for (; s < a && e[s].end < n + t;) s++;
42754
42753
  else if (r > 1) {
42755
42754
  let i = Array(r).fill(0);
@@ -42771,8 +42770,8 @@ function EQ(e, t, n, r, i) {
42771
42770
  }
42772
42771
  //#endregion
42773
42772
  //#region node_modules/@tanstack/solid-virtual/dist/esm/index.js
42774
- function DQ(e) {
42775
- let t = Ve(e), n = new CQ(t), [r, i] = tr(n.getVirtualItems()), [a, o] = T(n.getTotalSize()), s = new Proxy(n, { get(e, t) {
42773
+ function OQ(e) {
42774
+ let t = Ve(e), n = new wQ(t), [r, i] = tr(n.getVirtualItems()), [a, o] = T(n.getTotalSize()), s = new Proxy(n, { get(e, t) {
42776
42775
  switch (t) {
42777
42776
  case "getVirtualItems": return () => r;
42778
42777
  case "getTotalSize": return () => a();
@@ -42789,29 +42788,29 @@ function DQ(e) {
42789
42788
  } })), s._willUpdate(), i(ar(n.getVirtualItems(), { key: "index" })), o(n.getTotalSize());
42790
42789
  }), s;
42791
42790
  }
42792
- function OQ(e) {
42793
- return DQ(Ve({
42794
- observeElementRect: gQ,
42795
- observeElementOffset: bQ,
42796
- scrollToFn: SQ
42791
+ function kQ(e) {
42792
+ return OQ(Ve({
42793
+ observeElementRect: _Q,
42794
+ observeElementOffset: xQ,
42795
+ scrollToFn: CQ
42797
42796
  }, e));
42798
42797
  }
42799
42798
  //#endregion
42800
42799
  //#region src/lib/agentWatch.ts
42801
42800
  Rr();
42802
- var kQ = 3e4, AQ = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, jQ = {
42801
+ var AQ = 3e4, jQ = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, MQ = {
42803
42802
  running: [],
42804
42803
  review: []
42805
- }, MQ = null, NQ = /* @__PURE__ */ new Set();
42806
- function PQ(e) {
42807
- return NQ.add(e), MQ || (MQ = setInterval(() => void LQ(), kQ), LQ()), () => {
42808
- NQ.delete(e), !NQ.size && MQ && (clearInterval(MQ), MQ = null);
42804
+ }, NQ = null, PQ = /* @__PURE__ */ new Set();
42805
+ function FQ(e) {
42806
+ return PQ.add(e), NQ || (NQ = setInterval(() => void RQ(), AQ), RQ()), () => {
42807
+ PQ.delete(e), !PQ.size && NQ && (clearInterval(NQ), NQ = null);
42809
42808
  };
42810
42809
  }
42811
- function FQ() {
42812
- LQ();
42810
+ function IQ() {
42811
+ RQ();
42813
42812
  }
42814
- function IQ(e) {
42813
+ function LQ(e) {
42815
42814
  return {
42816
42815
  id: e.id,
42817
42816
  identifier: e.identifier,
@@ -42820,49 +42819,49 @@ function IQ(e) {
42820
42819
  stateColor: e.state.color,
42821
42820
  delegateName: e.delegate?.displayName ?? "Agent",
42822
42821
  updatedAt: e.updatedAt,
42823
- prUrl: e.attachments?.find((e) => AQ.test(e.url))?.url
42822
+ prUrl: e.attachments?.find((e) => jQ.test(e.url))?.url
42824
42823
  };
42825
42824
  }
42826
- async function LQ() {
42825
+ async function RQ() {
42827
42826
  try {
42828
42827
  let e = await Cr();
42829
42828
  if (!e.linearApiKey && !e.linearAccessToken) return;
42830
- let t = (await uO()).filter((e) => !!e.delegate && e.state.type === "started").map(IQ);
42831
- jQ = {
42829
+ let t = (await uO()).filter((e) => !!e.delegate && e.state.type === "started").map(LQ);
42830
+ MQ = {
42832
42831
  running: t.filter((e) => !e.prUrl),
42833
42832
  review: t.filter((e) => !!e.prUrl)
42834
42833
  };
42835
- for (let e of NQ) e(jQ);
42834
+ for (let e of PQ) e(MQ);
42836
42835
  } catch {}
42837
42836
  }
42838
42837
  //#endregion
42839
42838
  //#region src/lib/captureShare.ts
42840
42839
  Rr();
42841
- function RQ(e, t = 6e3) {
42840
+ function zQ(e, t = 6e3) {
42842
42841
  return Promise.race([e, new Promise((e, n) => setTimeout(() => n(/* @__PURE__ */ Error("upload timeout")), t))]);
42843
42842
  }
42844
- async function zQ() {
42843
+ async function BQ() {
42845
42844
  let e = [];
42846
42845
  for (let t of await Tr() ?? []) {
42847
42846
  let n = t.source?.filePath ? ` — \`${t.source.filePath}${t.source.lineNumber == null ? "" : `:${t.source.lineNumber}`}\`` : "";
42848
42847
  if (e.push(`- \`<${t.componentName ?? t.tagName ?? "element"}>\`${n}`), t.screenshotDataUrl) try {
42849
- let n = await RQ(xO(WA(t.screenshotDataUrl), `capture-${t.grabbedAt}.png`));
42848
+ let n = await zQ(xO(WA(t.screenshotDataUrl), `capture-${t.grabbedAt}.png`));
42850
42849
  e.push(` ![capture](${n})`);
42851
42850
  } catch {}
42852
42851
  }
42853
42852
  let t = BD();
42854
42853
  if (t.result) try {
42855
- let n = t.result.assetUrl ?? await RQ(xO(t.result.blob, `recording-${Date.now()}.gif`));
42854
+ let n = t.result.assetUrl ?? await zQ(xO(t.result.blob, `recording-${Date.now()}.gif`));
42856
42855
  tO(n), e.push(`![recording](${n})`);
42857
42856
  } catch {}
42858
42857
  return e.length ? `Captured context:\n${e.join("\n")}` : null;
42859
42858
  }
42860
42859
  //#endregion
42861
42860
  //#region src/panel/components/markdown.ts
42862
- function BQ(e) {
42861
+ function VQ(e) {
42863
42862
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
42864
42863
  }
42865
- var VQ = /^(https?:\/\/|mailto:)/i, HQ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, UQ = /\.(png|jpe?g|gif|webp|avif|svg)(\?|#|$)/i, WQ = class extends HTMLElement {
42864
+ var HQ = /^(https?:\/\/|mailto:)/i, UQ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, WQ = /\.(png|jpe?g|gif|webp|avif|svg)(\?|#|$)/i, GQ = class extends HTMLElement {
42866
42865
  objectUrl = null;
42867
42866
  connectedCallback() {
42868
42867
  let e = this.getAttribute("src") ?? "", t = this.getAttribute("alt") ?? "";
@@ -42889,27 +42888,27 @@ var VQ = /^(https?:\/\/|mailto:)/i, HQ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, UQ = /
42889
42888
  this.objectUrl && URL.revokeObjectURL(this.objectUrl);
42890
42889
  }
42891
42890
  };
42892
- typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media", WQ);
42893
- var GQ = null;
42894
- function KQ(e) {
42895
- GQ = e ? e.replace(/\/$/, "") : null;
42896
- }
42891
+ typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media", GQ);
42892
+ var KQ = null;
42897
42893
  function qQ(e) {
42894
+ KQ = e ? e.replace(/\/$/, "") : null;
42895
+ }
42896
+ function JQ(e) {
42898
42897
  try {
42899
- if (GQ && new URL(e).hostname.endsWith("uploads.linear.app")) return `${GQ}/fetch?url=${encodeURIComponent(e)}`;
42898
+ if (KQ && new URL(e).hostname.endsWith("uploads.linear.app")) return `${KQ}/fetch?url=${encodeURIComponent(e)}`;
42900
42899
  } catch {}
42901
42900
  return e;
42902
42901
  }
42903
- function JQ(e) {
42902
+ function YQ(e) {
42904
42903
  let t = e;
42905
42904
  return t = t.replace(/`([^`]+)`/g, (e, t) => `<code>${t}</code>`), t = t.replace(/!\[([^\]]*)\]\((?:&lt;)?([^()\s]+?)(?:&gt;)?\)/g, (e, t, n) => {
42906
- if (!VQ.test(n)) return t;
42907
- let r = qQ(n);
42908
- return HQ.test(n) ? `<video controls preload="metadata" src="${r}"></video>` : r !== n && !UQ.test(n) ? `<lg-media src="${r}" alt="${t}"></lg-media>` : `<img src="${r}" alt="${t}" loading="lazy" />`;
42909
- }), t = t.replace(/\[([^\]]+)\]\((?:&lt;)?([^()\s]+?)(?:&gt;)?\)/g, (e, t, n) => VQ.test(n) ? `<a href="${n}" target="_blank" rel="noopener noreferrer">${t}</a>` : t), t = t.replace(/&lt;(https?:\/\/[^\s&]+)&gt;/g, "<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>"), t = t.replace(/(^|[\s(])((?:https?:\/\/)[^\s<>()"']+)/g, (e, t, n) => `${t}<a href="${n}" target="_blank" rel="noopener noreferrer">${n}</a>`), t = t.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), t = t.replace(/(^|\W)\*([^*\n]+)\*(?=\W|$)/g, "$1<em>$2</em>"), t;
42905
+ if (!HQ.test(n)) return t;
42906
+ let r = JQ(n);
42907
+ return UQ.test(n) ? `<video controls preload="metadata" src="${r}"></video>` : r !== n && !WQ.test(n) ? `<lg-media src="${r}" alt="${t}"></lg-media>` : `<img src="${r}" alt="${t}" loading="lazy" />`;
42908
+ }), t = t.replace(/\[([^\]]+)\]\((?:&lt;)?([^()\s]+?)(?:&gt;)?\)/g, (e, t, n) => HQ.test(n) ? `<a href="${n}" target="_blank" rel="noopener noreferrer">${t}</a>` : t), t = t.replace(/&lt;(https?:\/\/[^\s&]+)&gt;/g, "<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>"), t = t.replace(/(^|[\s(])((?:https?:\/\/)[^\s<>()"']+)/g, (e, t, n) => `${t}<a href="${n}" target="_blank" rel="noopener noreferrer">${n}</a>`), t = t.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), t = t.replace(/(^|\W)\*([^*\n]+)\*(?=\W|$)/g, "$1<em>$2</em>"), t;
42910
42909
  }
42911
- function YQ(e) {
42912
- let t = BQ(e.trim()).split("\n"), n = [], r = 0;
42910
+ function XQ(e) {
42911
+ let t = VQ(e.trim()).split("\n"), n = [], r = 0;
42913
42912
  for (; r < t.length;) {
42914
42913
  let e = t[r];
42915
42914
  if (!e.trim()) {
@@ -42924,51 +42923,51 @@ function YQ(e) {
42924
42923
  }
42925
42924
  let i = e.match(/^(#{1,6})\s+(.*)$/);
42926
42925
  if (i) {
42927
- n.push(`<h4>${JQ(i[2])}</h4>`), r++;
42926
+ n.push(`<h4>${YQ(i[2])}</h4>`), r++;
42928
42927
  continue;
42929
42928
  }
42930
42929
  if (/^\s*[-*]\s+/.test(e)) {
42931
42930
  let e = [];
42932
- for (; r < t.length && /^\s*[-*]\s+/.test(t[r]);) e.push(`<li>${JQ(t[r].replace(/^\s*[-*]\s+/, ""))}</li>`), r++;
42931
+ for (; r < t.length && /^\s*[-*]\s+/.test(t[r]);) e.push(`<li>${YQ(t[r].replace(/^\s*[-*]\s+/, ""))}</li>`), r++;
42933
42932
  n.push(`<ul>${e.join("")}</ul>`);
42934
42933
  continue;
42935
42934
  }
42936
42935
  if (/^\s*\d+[.)]\s+/.test(e)) {
42937
42936
  let e = [];
42938
- for (; r < t.length && /^\s*\d+[.)]\s+/.test(t[r]);) e.push(`<li>${JQ(t[r].replace(/^\s*\d+[.)]\s+/, ""))}</li>`), r++;
42937
+ for (; r < t.length && /^\s*\d+[.)]\s+/.test(t[r]);) e.push(`<li>${YQ(t[r].replace(/^\s*\d+[.)]\s+/, ""))}</li>`), r++;
42939
42938
  n.push(`<ol>${e.join("")}</ol>`);
42940
42939
  continue;
42941
42940
  }
42942
42941
  let a = [];
42943
42942
  for (; r < t.length && t[r].trim() && !/^(#{1,6}\s|```|\s*[-*]\s+|\s*\d+[.)]\s+)/.test(t[r]);) a.push(t[r]), r++;
42944
- n.push(`<p>${JQ(a.join("<br />"))}</p>`);
42943
+ n.push(`<p>${YQ(a.join("<br />"))}</p>`);
42945
42944
  }
42946
42945
  return n.join("");
42947
42946
  }
42948
42947
  //#endregion
42949
42948
  //#region src/panel/views/ActivityView.tsx
42950
42949
  Rr();
42951
- var XQ = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), ZQ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), QQ = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), $Q = /*#__PURE__*/ N("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), e$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), t$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), n$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">My issues</span><div class=\"flex items-center gap-2\">"), r$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), i$ = /*#__PURE__*/ N("<button class=\"w-full cursor-pointer rounded-md px-2 py-1.5 text-left hover:bg-surface-2 transition-colors\"><div class=\"flex items-center gap-1.5 min-w-0\"><span class=\"font-mono text-[11px] text-text-dim shrink-0\"></span><span class=\"truncate text-[12.5px] text-text\"></span></div><div class=\"mt-0.5 flex items-center gap-1.5\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), a$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-left\">← Back"), o$ = /*#__PURE__*/ N("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), s$ = /*#__PURE__*/ N("<span class=\"truncate text-[12px] font-medium text-text\">"), c$ = /*#__PURE__*/ N("<span class=\"text-[11.5px] text-text-faint\">Loading…"), l$ = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), u$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2\">"), d$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Attachments</span><div class=\"flex flex-col gap-1\">"), f$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), p$ = /*#__PURE__*/ N("<option value=local>Message local Claude Code session"), m$ = /*#__PURE__*/ N("<option value=new>Start NEW agent (@<!>)"), h$ = /*#__PURE__*/ N("<option value=comment>Comment only"), g$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), _$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), v$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M13 7.5 8.2 12.3a3.2 3.2 0 0 1-4.5-4.5L8.9 2.6a2.1 2.1 0 0 1 3 3L7.1 10.4a1 1 0 0 1-1.5-1.5l4.3-4.3\">"), y$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), b$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 flex-col gap-1 border-b px-3 py-2\"><div class=\"flex items-center gap-2\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pl-3 pr-4 py-3 flex flex-col gap-3\"></div><div class=\"border-border shrink-0 border-t p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-2\">"), x$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border overflow-clip rounded-lg border\"><div class=\"border-border flex h-9 min-w-0 items-center justify-between gap-2 border-b px-3\"><div class=\"flex min-w-0 items-center gap-1.5 text-[11.5px] font-medium\"><span aria-hidden class=\"text-text-dim inline-flex\"></span><span class=\"text-text shrink-0\">Local Claude Code</span><span class=\"text-text-dim shrink-0\">started by you</span><span class=\"text-text-faint shrink-0 tabular-nums\">· </span></div></div><button class=\"hover:bg-surface-2 flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 px-3 text-left transition-colors\"title=\"Open the live thread in the Local tab\"><span></span><span class=\"text-text-faint min-w-0 flex-1 truncate text-[11.5px]\"></span><svg width=14 height=14 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden class=\"text-text-dim shrink-0\"><path d=\"m6 3.5 4.5 4.5L6 12.5\">"), S$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-center\">Merge"), C$ = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11.5px] hover:underline\">"), w$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><div class=\"flex items-center gap-1.5\"><span class=\"text-[11px] font-medium text-text-dim\"></span><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), T$ = /*#__PURE__*/ N("<option>Steer running agent<!> · "), E$ = /*#__PURE__*/ N("<span class=\"bg-danger inline-block size-2.5 rounded-full\"aria-hidden>"), D$ = /*#__PURE__*/ N("<span class=\"text-[11px] text-text-dim\">"), O$ = /*#__PURE__*/ N("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), k$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5 border-t border-border pt-1.5 mt-0.5\">"), A$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border rounded-lg border p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-1.5 flex-wrap\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), j$ = /*#__PURE__*/ N("<div class=\"flex items-start gap-1.5\"><span class=\"tabular-nums text-[10px] text-text-faint shrink-0 mt-px\"></span><span class=\"text-[11px] text-text-dim break-words min-w-0\">");
42952
- function M$(e) {
42953
- let t = k(() => YQ(e.text));
42950
+ var ZQ = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), QQ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), $Q = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), e$ = /*#__PURE__*/ N("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), t$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), n$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), r$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">My issues</span><div class=\"flex items-center gap-2\">"), i$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), a$ = /*#__PURE__*/ N("<button class=\"w-full cursor-pointer rounded-md px-2 py-1.5 text-left hover:bg-surface-2 transition-colors\"><div class=\"flex items-center gap-1.5 min-w-0\"><span class=\"font-mono text-[11px] text-text-dim shrink-0\"></span><span class=\"truncate text-[12.5px] text-text\"></span></div><div class=\"mt-0.5 flex items-center gap-1.5\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), o$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-left\">← Back"), s$ = /*#__PURE__*/ N("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), c$ = /*#__PURE__*/ N("<span class=\"truncate text-[12px] font-medium text-text\">"), l$ = /*#__PURE__*/ N("<span class=\"text-[11.5px] text-text-faint\">Loading…"), u$ = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), d$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2\">"), f$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Attachments</span><div class=\"flex flex-col gap-1\">"), p$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), m$ = /*#__PURE__*/ N("<option value=local>Message local Claude Code session"), h$ = /*#__PURE__*/ N("<option value=new>Start NEW agent (@<!>)"), g$ = /*#__PURE__*/ N("<option value=comment>Comment only"), _$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), v$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), y$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M13 7.5 8.2 12.3a3.2 3.2 0 0 1-4.5-4.5L8.9 2.6a2.1 2.1 0 0 1 3 3L7.1 10.4a1 1 0 0 1-1.5-1.5l4.3-4.3\">"), b$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), x$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 flex-col gap-1 border-b px-3 py-2\"><div class=\"flex items-center gap-2\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pl-3 pr-4 py-3 flex flex-col gap-3\"></div><div class=\"border-border shrink-0 border-t p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-2\">"), S$ = /*#__PURE__*/ N("<option selected>"), C$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border overflow-clip rounded-lg border\"><div class=\"border-border flex h-9 min-w-0 items-center justify-between gap-2 border-b px-3\"><div class=\"flex min-w-0 items-center gap-1.5 text-[11.5px] font-medium\"><span aria-hidden class=\"text-text-dim inline-flex\"></span><span class=\"text-text shrink-0\">Local Claude Code</span><span class=\"text-text-dim shrink-0\">started by you</span><span class=\"text-text-faint shrink-0 tabular-nums\">· </span></div></div><button class=\"hover:bg-surface-2 flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 px-3 text-left transition-colors\"title=\"Open the live thread in the Local tab\"><span></span><span class=\"text-text-faint min-w-0 flex-1 truncate text-[11.5px]\"></span><svg width=14 height=14 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden class=\"text-text-dim shrink-0\"><path d=\"m6 3.5 4.5 4.5L6 12.5\">"), w$ = /*#__PURE__*/ N("<option>"), T$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-center\">Merge"), E$ = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11.5px] hover:underline\">"), D$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><div class=\"flex items-center gap-1.5\"><span class=\"text-[11px] font-medium text-text-dim\"></span><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), O$ = /*#__PURE__*/ N("<option>Steer running agent<!> · "), k$ = /*#__PURE__*/ N("<span class=\"bg-danger inline-block size-2.5 rounded-full\"aria-hidden>"), A$ = /*#__PURE__*/ N("<span class=\"text-[11px] text-text-dim\">"), j$ = /*#__PURE__*/ N("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), M$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5 border-t border-border pt-1.5 mt-0.5\">"), N$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border rounded-lg border p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-1.5 flex-wrap\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), P$ = /*#__PURE__*/ N("<div class=\"flex items-start gap-1.5\"><span class=\"tabular-nums text-[10px] text-text-faint shrink-0 mt-px\"></span><span class=\"text-[11px] text-text-dim break-words min-w-0\">");
42951
+ function F$(e) {
42952
+ let t = k(() => XQ(e.text));
42954
42953
  return (() => {
42955
- var e = XQ();
42954
+ var e = ZQ();
42956
42955
  return D(() => e.innerHTML = t()), e;
42957
42956
  })();
42958
42957
  }
42959
- function N$() {
42958
+ function I$() {
42960
42959
  let [e, t] = T(null);
42961
42960
  return O(() => {
42962
42961
  let e = qA();
42963
42962
  e && (t(e), XA());
42964
42963
  }), (() => {
42965
- var n = ZQ();
42964
+ var n = QQ();
42966
42965
  return P(n, j(M, {
42967
42966
  get when() {
42968
42967
  return e() === null;
42969
42968
  },
42970
42969
  get fallback() {
42971
- return j(I$, {
42970
+ return j(z$, {
42972
42971
  get issueId() {
42973
42972
  return e();
42974
42973
  },
@@ -42976,17 +42975,17 @@ function N$() {
42976
42975
  });
42977
42976
  },
42978
42977
  get children() {
42979
- return j(P$, { onSelect: (e) => t(e) });
42978
+ return j(L$, { onSelect: (e) => t(e) });
42980
42979
  }
42981
42980
  })), n;
42982
42981
  })();
42983
42982
  }
42984
- function P$(e) {
42983
+ function L$(e) {
42985
42984
  let t, n = _r(() => ({
42986
42985
  queryKey: ["my-issues"],
42987
42986
  queryFn: uO,
42988
42987
  refetchInterval: 12e3
42989
- })), r = k(() => n.data ?? []), i = OQ({
42988
+ })), r = k(() => n.data ?? []), i = kQ({
42990
42989
  get count() {
42991
42990
  return r().length;
42992
42991
  },
@@ -42995,13 +42994,13 @@ function P$(e) {
42995
42994
  overscan: 5
42996
42995
  });
42997
42996
  return (() => {
42998
- var a = n$(), o = a.firstChild.firstChild.nextSibling;
42997
+ var a = r$(), o = a.firstChild.firstChild.nextSibling;
42999
42998
  return P(o, j(M, {
43000
42999
  get when() {
43001
43000
  return n.dataUpdatedAt > 0;
43002
43001
  },
43003
43002
  get children() {
43004
- var e = QQ();
43003
+ var e = $Q();
43005
43004
  return e.firstChild, P(e, () => Nj(n.dataUpdatedAt), null), e;
43006
43005
  }
43007
43006
  }), null), P(o, j(vj, {
@@ -43013,14 +43012,14 @@ function P$(e) {
43013
43012
  title: "Refresh",
43014
43013
  "aria-label": "Refresh issues",
43015
43014
  get children() {
43016
- return $Q();
43015
+ return e$();
43017
43016
  }
43018
43017
  }), null), P(a, j(M, {
43019
43018
  get when() {
43020
43019
  return n.isError;
43021
43020
  },
43022
43021
  get children() {
43023
- var e = e$();
43022
+ var e = t$();
43024
43023
  return P(e, j(Aj, {
43025
43024
  title: "Connect Linear in Settings",
43026
43025
  get children() {
@@ -43033,7 +43032,7 @@ function P$(e) {
43033
43032
  return $e(() => !n.isError && !n.isPending)() && r().length === 0;
43034
43033
  },
43035
43034
  get children() {
43036
- var e = e$();
43035
+ var e = t$();
43037
43036
  return P(e, j(Aj, {
43038
43037
  title: "No issues found",
43039
43038
  children: "Issues you create will appear here."
@@ -43044,7 +43043,7 @@ function P$(e) {
43044
43043
  return $e(() => !n.isError)() && r().length > 0;
43045
43044
  },
43046
43045
  get children() {
43047
- var n = t$(), a = n.firstChild, o = t;
43046
+ var n = n$(), a = n.firstChild, o = t;
43048
43047
  return typeof o == "function" ? pt(o, n) : t = n, P(a, j(We, {
43049
43048
  get each() {
43050
43049
  return i.getVirtualItems();
@@ -43052,8 +43051,8 @@ function P$(e) {
43052
43051
  children: (t) => {
43053
43052
  let n = k(() => r()[t.index]);
43054
43053
  return (() => {
43055
- var r = r$();
43056
- return P(r, j(F$, {
43054
+ var r = i$();
43055
+ return P(r, j(R$, {
43057
43056
  get issue() {
43058
43057
  return n();
43059
43058
  },
@@ -43068,9 +43067,9 @@ function P$(e) {
43068
43067
  }), null), a;
43069
43068
  })();
43070
43069
  }
43071
- function F$(e) {
43070
+ function R$(e) {
43072
43071
  return (() => {
43073
- var t = i$(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling, o = a.firstChild;
43072
+ var t = a$(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling, o = a.firstChild;
43074
43073
  return t.$$click = () => e.onSelect(e.issue.id), P(n, j(kj, { get color() {
43075
43074
  return e.issue.state.color;
43076
43075
  } }), r), P(r, () => e.issue.identifier), P(i, () => e.issue.title), P(a, j(Oj, { get children() {
@@ -43104,7 +43103,7 @@ function F$(e) {
43104
43103
  }), o), P(o, () => Nj(e.issue.updatedAt)), t;
43105
43104
  })();
43106
43105
  }
43107
- function I$(e) {
43106
+ function z$(e) {
43108
43107
  let t = sr(), n = _r(() => ({
43109
43108
  queryKey: ["issue", e.issueId],
43110
43109
  queryFn: () => dO(e.issueId),
@@ -43123,10 +43122,36 @@ function I$(e) {
43123
43122
  queryFn: DO,
43124
43123
  refetchInterval: 5e3,
43125
43124
  retry: 0
43126
- })), o = k(() => {
43125
+ })), o = [
43126
+ {
43127
+ id: "",
43128
+ label: "Default model"
43129
+ },
43130
+ {
43131
+ id: "fable",
43132
+ label: "Fable 5"
43133
+ },
43134
+ {
43135
+ id: "opus",
43136
+ label: "Opus"
43137
+ },
43138
+ {
43139
+ id: "sonnet",
43140
+ label: "Sonnet"
43141
+ },
43142
+ {
43143
+ id: "haiku",
43144
+ label: "Haiku"
43145
+ }
43146
+ ], s = vr(() => ({
43147
+ mutationFn: (e) => jO(e.id, e.model),
43148
+ onSuccess: (e) => {
43149
+ t.setQueryData(["bridge-tasks"], (t) => t?.map((t) => t.id === e.id ? e : t));
43150
+ }
43151
+ })), c = k(() => {
43127
43152
  let e = n.data?.identifier;
43128
43153
  return e ? a.data?.find((t) => t.title.startsWith(e)) : void 0;
43129
- }), s = (e) => e.status === "running" ? {
43154
+ }), l = (e) => e.status === "running" ? {
43130
43155
  word: "Working…",
43131
43156
  cls: "text-accent"
43132
43157
  } : e.status === "done" ? {
@@ -43138,76 +43163,76 @@ function I$(e) {
43138
43163
  } : {
43139
43164
  word: "Error",
43140
43165
  cls: "text-danger"
43141
- }, [c, l] = T(""), [u, d] = T(null), [f, p] = T(0), m = _r(() => ({
43166
+ }, [u, d] = T(""), [f, p] = T(null), [m, h] = T(0), g = _r(() => ({
43142
43167
  queryKey: ["grab"],
43143
43168
  queryFn: Tr,
43144
43169
  enabled: ZA() === "composer"
43145
- })), [h, g] = T(!1), _ = async () => {
43146
- g(!0), d(null);
43170
+ })), [_, v] = T(!1), y = async () => {
43171
+ v(!0), p(null);
43147
43172
  try {
43148
- let e = await zQ();
43149
- e ? l((t) => `${t ? `${t}\n` : ""}${e}\n`) : d("Nothing captured yet — pick an element, capture a region, or record first.");
43173
+ let e = await BQ();
43174
+ e ? d((t) => `${t ? `${t}\n` : ""}${e}\n`) : p("Nothing captured yet — pick an element, capture a region, or record first.");
43150
43175
  } catch (e) {
43151
- d(e instanceof Error ? e.message : "Attach failed.");
43176
+ p(e instanceof Error ? e.message : "Attach failed.");
43152
43177
  } finally {
43153
- g(!1);
43178
+ v(!1);
43154
43179
  }
43155
- }, v = () => {
43180
+ }, b = () => {
43156
43181
  if (ZA() === "composer") {
43157
43182
  $A("capture");
43158
43183
  return;
43159
43184
  }
43160
- p(Date.now()), $A("composer"), FZ().catch(() => $A("capture"));
43185
+ h(Date.now()), $A("composer"), FZ().catch(() => $A("capture"));
43161
43186
  };
43162
43187
  O(() => {
43163
43188
  if (ZA() !== "composer") return;
43164
- let e = (m.data ?? []).filter((e) => e.grabbedAt > f());
43189
+ let e = (g.data ?? []).filter((e) => e.grabbedAt > m());
43165
43190
  if (!e.length) return;
43166
43191
  let t = e.map((e) => {
43167
43192
  let t = e.source?.filePath ? ` — \`${e.source.filePath}${e.source.lineNumber == null ? "" : `:${e.source.lineNumber}`}\`` : "";
43168
43193
  return `- \`<${e.componentName ?? e.tagName ?? "element"}>\`${t}`;
43169
43194
  }).join("\n");
43170
- l((e) => `${e ? `${e}\n` : ""}${t}\n`), p(Math.max(...e.map((e) => e.grabbedAt)));
43195
+ d((e) => `${e ? `${e}\n` : ""}${t}\n`), h(Math.max(...e.map((e) => e.grabbedAt)));
43171
43196
  });
43172
- let [y, b] = T(BD());
43173
- ae(VD(b));
43174
- let x = !1;
43197
+ let [x, S] = T(BD());
43198
+ ae(VD(S));
43199
+ let C = !1;
43175
43200
  O(() => {
43176
- y().phase === "ready" && x && (x = !1, _());
43201
+ x().phase === "ready" && C && (C = !1, y());
43177
43202
  });
43178
- let S = () => {
43179
- y().phase === "recording" ? QD() : (x = !0, ZD());
43180
- }, C = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, w = k(() => (n.data?.attachments ?? []).map((e) => e.url).filter((e) => C.test(e))), E = _r(() => ({
43181
- queryKey: ["pr-status", w().sort().join("|")],
43182
- queryFn: () => IO(w()),
43203
+ let w = () => {
43204
+ x().phase === "recording" ? QD() : (C = !0, ZD());
43205
+ }, E = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, ee = k(() => (n.data?.attachments ?? []).map((e) => e.url).filter((e) => E.test(e))), te = _r(() => ({
43206
+ queryKey: ["pr-status", ee().sort().join("|")],
43207
+ queryFn: () => IO(ee()),
43183
43208
  refetchInterval: 3e4,
43184
43209
  retry: 0,
43185
- enabled: w().length > 0
43186
- })), ee = (e) => ne().has(e) ? "MERGED" : E.data?.[e], [te, A] = T(null), [ne, re] = T(/* @__PURE__ */ new Set()), [ie, oe] = T(null), se = async (n) => {
43187
- oe(null), A(n);
43210
+ enabled: ee().length > 0
43211
+ })), A = (e) => ie().has(e) ? "MERGED" : te.data?.[e], [ne, re] = T(null), [ie, oe] = T(/* @__PURE__ */ new Set()), [se, ce] = T(null), le = async (n) => {
43212
+ ce(null), re(n);
43188
43213
  try {
43189
- await LO(n), re((e) => new Set(e).add(n)), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), t.invalidateQueries({ queryKey: ["my-issues"] }), FQ();
43214
+ await LO(n), oe((e) => new Set(e).add(n)), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), t.invalidateQueries({ queryKey: ["my-issues"] }), IQ();
43190
43215
  } catch (e) {
43191
- oe(e instanceof Error ? `${e.message} (bridge must be running; gh needs merge rights)` : "Merge failed.");
43216
+ ce(e instanceof Error ? `${e.message} (bridge must be running; gh needs merge rights)` : "Merge failed.");
43192
43217
  } finally {
43193
- A(null);
43218
+ re(null);
43194
43219
  }
43195
- }, ce = k(() => n.data ? yO(n.data.comments) : []), [le, ue] = T("comment"), de = !1, fe = !1;
43220
+ }, ue = k(() => n.data ? yO(n.data.comments) : []), [de, fe] = T("comment"), pe = !1, me = !1;
43196
43221
  O(() => {
43197
- if (fe || !n.data || !i.data) return;
43198
- fe = !0;
43199
- let e = ce();
43200
- e.length ? ue(`thread:${e[0].id}`) : n.data.delegate && i.data.cursorAgentId && ue("new");
43222
+ if (me || !n.data || !i.data) return;
43223
+ me = !0;
43224
+ let e = ue();
43225
+ e.length ? fe(`thread:${e[0].id}`) : n.data.delegate && i.data.cursorAgentId && fe("new");
43201
43226
  }), O(() => {
43202
- de || o() && (le() === "comment" || le() === "new") && ue("local");
43227
+ pe || c() && (de() === "comment" || de() === "new") && fe("local");
43203
43228
  });
43204
- let pe = vr(() => ({
43229
+ let he = vr(() => ({
43205
43230
  mutationFn: async () => {
43206
- let t = c().trim();
43231
+ let t = u().trim();
43207
43232
  if (!t) throw Error("Message is empty");
43208
- let n = i.data ?? {}, r = le();
43233
+ let n = i.data ?? {}, r = de();
43209
43234
  if (r === "local") {
43210
- let n = o();
43235
+ let n = c();
43211
43236
  if (!n) throw Error("Local session not found — is the bridge running?");
43212
43237
  await AO(n.id, t), await _O(e.issueId, `🖥️ **→ local agent:** ${t}`).catch(() => {});
43213
43238
  } else r.startsWith("thread:") ? await _O(e.issueId, t, r.slice(7)) : r === "new" && n.cursorAgentId ? await vO(e.issueId, t, {
@@ -43217,141 +43242,166 @@ function I$(e) {
43217
43242
  }) : await _O(e.issueId, t);
43218
43243
  },
43219
43244
  onSuccess: () => {
43220
- l(""), d(null), $A("capture"), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), FQ();
43245
+ d(""), p(null), $A("capture"), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), IQ();
43221
43246
  },
43222
43247
  onError: (e) => {
43223
- d(e.message ?? "Failed to send");
43248
+ p(e.message ?? "Failed to send");
43224
43249
  }
43225
- })), me = k(() => n.data), he = k(() => r.data ?? []);
43250
+ })), ge = k(() => n.data), _e = k(() => r.data ?? []);
43226
43251
  return (() => {
43227
- var t = b$(), r = t.firstChild, a = r.firstChild, d = r.nextSibling, f = d.nextSibling, p = f.firstChild;
43252
+ var t = x$(), r = t.firstChild, a = r.firstChild, p = r.nextSibling, m = p.nextSibling, h = m.firstChild;
43228
43253
  return P(a, j(vj, {
43229
43254
  class: "min-w-[68px] shrink-0 text-[11px]",
43230
43255
  get onClick() {
43231
43256
  return e.onBack;
43232
43257
  },
43233
43258
  get children() {
43234
- return a$();
43259
+ return o$();
43235
43260
  }
43236
43261
  }), null), P(a, j(M, {
43237
43262
  get when() {
43238
- return me();
43263
+ return ge();
43239
43264
  },
43240
43265
  get children() {
43241
43266
  return [(() => {
43242
- var e = o$();
43243
- return P(e, () => me().identifier), e;
43244
- })(), (() => {
43245
43267
  var e = s$();
43246
- return P(e, () => me().title), e;
43268
+ return P(e, () => ge().identifier), e;
43269
+ })(), (() => {
43270
+ var e = c$();
43271
+ return P(e, () => ge().title), e;
43247
43272
  })()];
43248
43273
  }
43249
43274
  }), null), P(a, j(M, {
43250
43275
  get when() {
43251
- return $e(() => !!n.isPending)() && !me();
43276
+ return $e(() => !!n.isPending)() && !ge();
43252
43277
  },
43253
43278
  get children() {
43254
- return c$();
43279
+ return l$();
43255
43280
  }
43256
43281
  }), null), P(r, j(M, {
43257
43282
  get when() {
43258
- return me();
43283
+ return ge();
43259
43284
  },
43260
43285
  get children() {
43261
- var e = l$(), t = e.firstChild;
43286
+ var e = u$(), t = e.firstChild;
43262
43287
  return P(e, j(kj, { get color() {
43263
- return me().state.color;
43264
- } }), t), P(t, () => me().state.name), P(e, j(Tj, {
43288
+ return ge().state.color;
43289
+ } }), t), P(t, () => ge().state.name), P(e, j(Tj, {
43265
43290
  get href() {
43266
- return me().url;
43291
+ return ge().url;
43267
43292
  },
43268
43293
  class: "ml-auto shrink-0",
43269
43294
  children: "Open in Linear"
43270
43295
  }), null), e;
43271
43296
  }
43272
- }), null), P(d, j(M, {
43297
+ }), null), P(p, j(M, {
43273
43298
  get when() {
43274
- return o();
43299
+ return c();
43275
43300
  },
43276
43301
  children: (e) => {
43277
- let t = () => s(e());
43302
+ let t = () => l(e());
43278
43303
  return (() => {
43279
- var n = x$(), r = n.firstChild, i = r.firstChild.firstChild, a = i.nextSibling.nextSibling.nextSibling;
43304
+ var n = C$(), r = n.firstChild, i = r.firstChild.firstChild, a = i.nextSibling.nextSibling.nextSibling;
43280
43305
  a.firstChild;
43281
- var o = r.nextSibling, s = o.firstChild, c = s.nextSibling;
43282
- return P(i, j(wj, { size: 12 })), P(a, () => Nj(e().startedAt), null), P(r, j(Oj, { get children() {
43283
- return e().model ?? "default";
43284
- } }), null), o.$$click = () => YA("local"), P(o, j(M, {
43306
+ var c = r.nextSibling, l = c.firstChild, u = l.nextSibling;
43307
+ return P(i, j(wj, { size: 12 })), P(a, () => Nj(e().startedAt), null), P(r, j(Sj, {
43308
+ class: "h-6 w-auto max-w-[40%] shrink-0 text-[10.5px]",
43309
+ get value() {
43310
+ return e().pendingModel ?? e().model ?? "";
43311
+ },
43312
+ onChange: (t) => s.mutate({
43313
+ id: e().id,
43314
+ model: t.currentTarget.value
43315
+ }),
43316
+ title: "Model — applies from the next message",
43317
+ get children() {
43318
+ return [j(We, {
43319
+ each: o,
43320
+ children: (t) => (() => {
43321
+ var n = w$();
43322
+ return P(n, () => t.label), D(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), D(() => n.value = t.id), n;
43323
+ })()
43324
+ }), j(M, {
43325
+ get when() {
43326
+ return !o.some((t) => t.id === (e().pendingModel ?? e().model ?? ""));
43327
+ },
43328
+ get children() {
43329
+ var t = S$();
43330
+ return P(t, () => e().pendingModel ?? e().model), D(() => t.value = e().pendingModel ?? e().model ?? ""), t;
43331
+ }
43332
+ })];
43333
+ }
43334
+ }), null), c.$$click = () => YA("local"), P(c, j(M, {
43285
43335
  get when() {
43286
43336
  return e().status === "running";
43287
43337
  },
43288
43338
  get children() {
43289
43339
  return j(yj, { size: 12 });
43290
43340
  }
43291
- }), s), P(s, () => t().word), P(c, (() => {
43341
+ }), l), P(l, () => t().word), P(u, (() => {
43292
43342
  var t = $e(() => e().status === "done");
43293
43343
  return () => t() ? e().result ?? e().lastText : e().lastText;
43294
- })()), D(() => st(s, `shrink-0 text-[11.5px] font-medium ${t().cls}`)), n;
43344
+ })()), D(() => st(l, `shrink-0 text-[11.5px] font-medium ${t().cls}`)), n;
43295
43345
  })();
43296
43346
  }
43297
- }), null), P(d, j(M, {
43347
+ }), null), P(p, j(M, {
43298
43348
  get when() {
43299
- return he().length > 0;
43349
+ return _e().length > 0;
43300
43350
  },
43301
43351
  get children() {
43302
- var e = u$();
43352
+ var e = d$();
43303
43353
  return P(e, j(We, {
43304
43354
  get each() {
43305
- return he();
43355
+ return _e();
43306
43356
  },
43307
- children: (e) => j(L$, { session: e })
43357
+ children: (e) => j(B$, { session: e })
43308
43358
  })), e;
43309
43359
  }
43310
- }), null), P(d, j(M, {
43360
+ }), null), P(p, j(M, {
43311
43361
  get when() {
43312
- return $e(() => !!me())() && me().attachments.length > 0;
43362
+ return $e(() => !!ge())() && ge().attachments.length > 0;
43313
43363
  },
43314
43364
  get children() {
43315
- var e = d$(), t = e.firstChild.nextSibling;
43365
+ var e = f$(), t = e.firstChild.nextSibling;
43316
43366
  return P(t, j(We, {
43317
43367
  get each() {
43318
- return me().attachments;
43368
+ return ge().attachments;
43319
43369
  },
43320
43370
  children: (e) => {
43321
43371
  let t = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i.test(e.url);
43322
43372
  return (() => {
43323
- var n = C$(), r = n.firstChild;
43373
+ var n = E$(), r = n.firstChild;
43324
43374
  return P(r, () => e.title), P(n, j(M, {
43325
43375
  get when() {
43326
- return $e(() => !!(t && ee(e.url)))() && ee(e.url) !== "OPEN";
43376
+ return $e(() => !!(t && A(e.url)))() && A(e.url) !== "OPEN";
43327
43377
  },
43328
43378
  get children() {
43329
43379
  return j(Oj, {
43330
43380
  get class() {
43331
- return `ml-auto shrink-0 ${ee(e.url) === "MERGED" ? "text-success" : "text-text-faint"}`;
43381
+ return `ml-auto shrink-0 ${A(e.url) === "MERGED" ? "text-success" : "text-text-faint"}`;
43332
43382
  },
43333
43383
  get children() {
43334
- return ee(e.url) === "MERGED" ? "✓ merged" : "closed";
43384
+ return A(e.url) === "MERGED" ? "✓ merged" : "closed";
43335
43385
  }
43336
43386
  });
43337
43387
  }
43338
43388
  }), null), P(n, j(M, {
43339
43389
  get when() {
43340
- return t && (!ee(e.url) || ee(e.url) === "OPEN");
43390
+ return t && (!A(e.url) || A(e.url) === "OPEN");
43341
43391
  },
43342
43392
  get children() {
43343
43393
  return j(vj, {
43344
43394
  variant: "primary",
43345
43395
  class: "ml-auto h-6 shrink-0 px-2 text-[11px]",
43346
43396
  get loading() {
43347
- return te() === e.url;
43397
+ return ne() === e.url;
43348
43398
  },
43349
43399
  get title() {
43350
- return E.isError ? "PR state unknown — restart the bridge (npx linear-grab-bridge) for live merge status" : "Squash-merge this PR via the bridge gh — reviewed the demo? Ship it.";
43400
+ return te.isError ? "PR state unknown — restart the bridge (npx linear-grab-bridge) for live merge status" : "Squash-merge this PR via the bridge gh — reviewed the demo? Ship it.";
43351
43401
  },
43352
- onClick: () => void se(e.url),
43402
+ onClick: () => void le(e.url),
43353
43403
  get children() {
43354
- return S$();
43404
+ return T$();
43355
43405
  }
43356
43406
  });
43357
43407
  }
@@ -43366,29 +43416,29 @@ function I$(e) {
43366
43416
  }
43367
43417
  }), null), P(t, j(M, {
43368
43418
  get when() {
43369
- return ie();
43419
+ return se();
43370
43420
  },
43371
43421
  get children() {
43372
43422
  return j(jj, { get message() {
43373
- return ie();
43423
+ return se();
43374
43424
  } });
43375
43425
  }
43376
43426
  }), null), e;
43377
43427
  }
43378
- }), null), P(d, j(M, {
43428
+ }), null), P(p, j(M, {
43379
43429
  get when() {
43380
- return $e(() => !!me())() && me().comments.length > 0;
43430
+ return $e(() => !!ge())() && ge().comments.length > 0;
43381
43431
  },
43382
43432
  get children() {
43383
- var e = f$();
43433
+ var e = p$();
43384
43434
  return e.firstChild, P(e, j(Ge, {
43385
43435
  get each() {
43386
- return me().comments;
43436
+ return ge().comments;
43387
43437
  },
43388
43438
  children: (e) => {
43389
43439
  let t = e();
43390
43440
  return (() => {
43391
- var e = w$(), n = e.firstChild, r = n.firstChild, i = r.nextSibling;
43441
+ var e = D$(), n = e.firstChild, r = n.firstChild, i = r.nextSibling;
43392
43442
  return P(r, () => t.user?.displayName ?? t.user?.name ?? "Unknown"), P(n, j(M, {
43393
43443
  get when() {
43394
43444
  return t.user?.app;
@@ -43396,16 +43446,16 @@ function I$(e) {
43396
43446
  get children() {
43397
43447
  return j(Oj, { children: "agent" });
43398
43448
  }
43399
- }), i), P(i, () => Nj(t.createdAt)), P(e, j(M$, { get text() {
43449
+ }), i), P(i, () => Nj(t.createdAt)), P(e, j(F$, { get text() {
43400
43450
  return t.body;
43401
43451
  } }), null), e;
43402
43452
  })();
43403
43453
  }
43404
43454
  }), null), e;
43405
43455
  }
43406
- }), null), P(d, j(M, {
43456
+ }), null), P(p, j(M, {
43407
43457
  get when() {
43408
- return $e(() => !!(me() && me().comments.length === 0))() && he().length === 0;
43458
+ return $e(() => !!(ge() && ge().comments.length === 0))() && _e().length === 0;
43409
43459
  },
43410
43460
  get children() {
43411
43461
  return j(Aj, {
@@ -43413,9 +43463,9 @@ function I$(e) {
43413
43463
  children: "Comments and agent sessions will appear here."
43414
43464
  });
43415
43465
  }
43416
- }), null), P(d, j(M, {
43466
+ }), null), P(p, j(M, {
43417
43467
  get when() {
43418
- return $e(() => !!n.isError)() && !me();
43468
+ return $e(() => !!n.isError)() && !ge();
43419
43469
  },
43420
43470
  get children() {
43421
43471
  return j(Aj, {
@@ -43425,54 +43475,54 @@ function I$(e) {
43425
43475
  }
43426
43476
  });
43427
43477
  }
43428
- }), null), P(f, j(M, {
43478
+ }), null), P(m, j(M, {
43429
43479
  get when() {
43430
- return u();
43480
+ return f();
43431
43481
  },
43432
43482
  get children() {
43433
43483
  return j(jj, { get message() {
43434
- return u();
43484
+ return f();
43435
43485
  } });
43436
43486
  }
43437
- }), p), P(f, j(xj, {
43487
+ }), h), P(m, j(xj, {
43438
43488
  rows: 2,
43439
43489
  placeholder: "Reply — steer the agent or add context…",
43440
43490
  get value() {
43441
- return c();
43491
+ return u();
43442
43492
  },
43443
- onInput: (e) => l(e.target.value),
43493
+ onInput: (e) => d(e.target.value),
43444
43494
  get disabled() {
43445
- return pe.isPending;
43495
+ return he.isPending;
43446
43496
  }
43447
- }), p), P(p, j(Sj, {
43497
+ }), h), P(h, j(Sj, {
43448
43498
  class: "min-w-0 flex-1",
43449
43499
  get value() {
43450
- return le();
43500
+ return de();
43451
43501
  },
43452
43502
  onChange: (e) => {
43453
- de = !0, ue(e.currentTarget.value);
43503
+ pe = !0, fe(e.currentTarget.value);
43454
43504
  },
43455
43505
  get children() {
43456
43506
  return [
43457
43507
  j(M, {
43458
43508
  get when() {
43459
- return o();
43509
+ return c();
43460
43510
  },
43461
43511
  get children() {
43462
- var e = p$();
43463
- return D(() => e.selected = le() === "local"), e;
43512
+ var e = m$();
43513
+ return D(() => e.selected = de() === "local"), e;
43464
43514
  }
43465
43515
  }),
43466
43516
  j(We, {
43467
43517
  get each() {
43468
- return ce();
43518
+ return ue();
43469
43519
  },
43470
43520
  children: (e, t) => (() => {
43471
- var n = T$(), r = n.firstChild.nextSibling;
43521
+ var n = O$(), r = n.firstChild.nextSibling;
43472
43522
  return r.nextSibling, P(n, (() => {
43473
- var e = $e(() => ce().length > 1);
43523
+ var e = $e(() => ue().length > 1);
43474
43524
  return () => e() ? ` #${t() + 1}` : "";
43475
- })(), r), P(n, () => Nj(e.createdAt), null), D(() => n.selected = le() === `thread:${e.id}`), D(() => n.value = `thread:${e.id}`), n;
43525
+ })(), r), P(n, () => Nj(e.createdAt), null), D(() => n.selected = de() === `thread:${e.id}`), D(() => n.value = `thread:${e.id}`), n;
43476
43526
  })()
43477
43527
  }),
43478
43528
  j(M, {
@@ -43480,17 +43530,17 @@ function I$(e) {
43480
43530
  return i.data?.cursorAgentId;
43481
43531
  },
43482
43532
  get children() {
43483
- var e = m$(), t = e.firstChild.nextSibling;
43484
- return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected = le() === "new"), e;
43533
+ var e = h$(), t = e.firstChild.nextSibling;
43534
+ return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), D(() => e.selected = de() === "new"), e;
43485
43535
  }
43486
43536
  }),
43487
43537
  (() => {
43488
- var e = h$();
43489
- return D(() => e.selected = le() === "comment"), e;
43538
+ var e = g$();
43539
+ return D(() => e.selected = de() === "comment"), e;
43490
43540
  })()
43491
43541
  ];
43492
43542
  }
43493
- }), null), P(p, j(vj, {
43543
+ }), null), P(h, j(vj, {
43494
43544
  variant: "ghost",
43495
43545
  get class() {
43496
43546
  return `size-7 shrink-0 px-0 ${ZA() === "composer" ? "text-accent" : ""}`;
@@ -43499,68 +43549,68 @@ function I$(e) {
43499
43549
  return ZA() === "composer" ? "Pick mode ON — every pick appends here. Click to stop." : "Pick elements — refs append to this reply (stays on until toggled off or sent)";
43500
43550
  },
43501
43551
  "aria-label": "Pick element for reply",
43502
- onClick: v,
43552
+ onClick: b,
43503
43553
  get children() {
43504
- return g$();
43554
+ return _$();
43505
43555
  }
43506
- }), null), P(p, j(vj, {
43556
+ }), null), P(h, j(vj, {
43507
43557
  variant: "ghost",
43508
43558
  get class() {
43509
- return `size-7 shrink-0 px-0 ${y().phase === "recording" ? "text-danger" : ""}`;
43559
+ return `size-7 shrink-0 px-0 ${x().phase === "recording" ? "text-danger" : ""}`;
43510
43560
  },
43511
43561
  get title() {
43512
- return y().phase === "recording" ? "Stop recording — the GIF auto-attaches to this reply" : "Record a GIF from this thread (auto-attaches when done)";
43562
+ return x().phase === "recording" ? "Stop recording — the GIF auto-attaches to this reply" : "Record a GIF from this thread (auto-attaches when done)";
43513
43563
  },
43514
43564
  "aria-label": "Record GIF",
43515
- onClick: S,
43565
+ onClick: w,
43516
43566
  get children() {
43517
43567
  return j(M, {
43518
43568
  get when() {
43519
- return y().phase === "recording";
43569
+ return x().phase === "recording";
43520
43570
  },
43521
43571
  get fallback() {
43522
- return E$();
43572
+ return k$();
43523
43573
  },
43524
43574
  get children() {
43525
- return _$();
43575
+ return v$();
43526
43576
  }
43527
43577
  });
43528
43578
  }
43529
- }), null), P(p, j(vj, {
43579
+ }), null), P(h, j(vj, {
43530
43580
  variant: "ghost",
43531
43581
  class: "size-7 shrink-0 px-0",
43532
43582
  get loading() {
43533
- return h();
43583
+ return _();
43534
43584
  },
43535
43585
  title: "Attach captures — element refs, screenshots, region shots, recording GIF",
43536
43586
  "aria-label": "Attach captures",
43537
- onClick: () => void _(),
43587
+ onClick: () => void y(),
43538
43588
  get children() {
43539
- return v$();
43589
+ return y$();
43540
43590
  }
43541
- }), null), P(p, j(vj, {
43591
+ }), null), P(h, j(vj, {
43542
43592
  class: "min-w-[52px] shrink-0",
43543
43593
  variant: "primary",
43544
43594
  get loading() {
43545
- return pe.isPending;
43595
+ return he.isPending;
43546
43596
  },
43547
43597
  get disabled() {
43548
- return c().trim().length === 0;
43598
+ return u().trim().length === 0;
43549
43599
  },
43550
- onClick: () => pe.mutate(),
43600
+ onClick: () => he.mutate(),
43551
43601
  get children() {
43552
- return y$();
43602
+ return b$();
43553
43603
  }
43554
43604
  }), null), t;
43555
43605
  })();
43556
43606
  }
43557
- function L$(e) {
43607
+ function B$(e) {
43558
43608
  let t = k(() => {
43559
43609
  let t = e.session.status;
43560
43610
  return /complete|done/i.test(t) ? "var(--color-success)" : /await|pending|elicit/i.test(t) ? "var(--color-warn)" : "var(--color-accent)";
43561
43611
  }), n = k(() => e.session.activities.slice(-10));
43562
43612
  return (() => {
43563
- var r = A$(), i = r.firstChild, a = i.firstChild;
43613
+ var r = N$(), i = r.firstChild, a = i.firstChild;
43564
43614
  return P(i, j(Oj, {
43565
43615
  get color() {
43566
43616
  return t();
@@ -43573,7 +43623,7 @@ function L$(e) {
43573
43623
  return e.session.appUser?.displayName;
43574
43624
  },
43575
43625
  get children() {
43576
- var t = D$();
43626
+ var t = A$();
43577
43627
  return P(t, () => e.session.appUser.displayName), t;
43578
43628
  }
43579
43629
  }), a), P(a, () => Nj(e.session.updatedAt)), P(r, j(M, {
@@ -43581,7 +43631,7 @@ function L$(e) {
43581
43631
  return e.session.summary;
43582
43632
  },
43583
43633
  get children() {
43584
- var t = O$();
43634
+ var t = j$();
43585
43635
  return P(t, () => e.session.summary), t;
43586
43636
  }
43587
43637
  }), null), P(r, j(M, {
@@ -43589,7 +43639,7 @@ function L$(e) {
43589
43639
  return n().length > 0;
43590
43640
  },
43591
43641
  get children() {
43592
- var e = k$();
43642
+ var e = M$();
43593
43643
  return P(e, j(We, {
43594
43644
  get each() {
43595
43645
  return n();
@@ -43597,7 +43647,7 @@ function L$(e) {
43597
43647
  children: (e) => {
43598
43648
  let t = e.content, n = String(t?.body ?? t?.text ?? t?.type ?? JSON.stringify(t)).slice(0, 300);
43599
43649
  return (() => {
43600
- var t = j$(), r = t.firstChild, i = r.nextSibling;
43650
+ var t = P$(), r = t.firstChild, i = r.nextSibling;
43601
43651
  return P(r, () => Nj(e.createdAt)), P(i, n), t;
43602
43652
  })();
43603
43653
  }
@@ -43609,7 +43659,7 @@ function L$(e) {
43609
43659
  //#endregion
43610
43660
  //#region src/panel/views/LocalView.tsx
43611
43661
  rt(["click"]), Rr();
43612
- var R$ = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end rounded-lg border px-2.5 py-1.5\"><p class=\"text-accent mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase\">You</p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), z$ = /*#__PURE__*/ N("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), B$ = /*#__PURE__*/ N("<p>"), V$ = /*#__PURE__*/ N("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running · "), H$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), U$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Local Claude Code</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), W$ = /*#__PURE__*/ N("<span class=\"bg-surface-2 border-border font-mono mt-2 block rounded-md border px-2 py-1.5 text-[11px] select-all\">npx linear-grab-bridge"), G$ = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), K$ = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), q$ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), J$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><path d=\"M14 10a2 2 0 0 1-2 2H6l-3.5 2.5V4a2 2 0 0 1 2-2H12a2 2 0 0 1 2 2v6Z\">"), Y$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), X$ = /*#__PURE__*/ N("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), Z$ = /*#__PURE__*/ N("<div class=\"border-border bg-bg flex flex-col gap-1 rounded-md border p-2\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text-dim text-[10.5px] font-semibold tracking-wide uppercase\">Changes</span><span class=\"ml-auto shrink-0 text-[10.5px] tabular-nums\"><span class=text-success>+</span> <span class=text-danger>−"), Q$ = /*#__PURE__*/ N("<div class=\"border-border bg-bg flex max-h-80 flex-col gap-1.5 overflow-y-auto rounded-md border py-2 pl-2 pr-3\">"), $$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), e1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M13 7.5 8.2 12.3a3.2 3.2 0 0 1-4.5-4.5L8.9 2.6a2.1 2.1 0 0 1 3 3L7.1 10.4a1 1 0 0 1-1.5-1.5l4.3-4.3\">"), t1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M8 2v4M8 10v4M2 8h4M10 8h4M4.5 4.5 6 6M11.5 11.5 10 10M11.5 4.5 10 6M4.5 11.5 6 10\">"), n1 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Send"), r1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center gap-1\"><span class=\"text-text-faint min-w-0 flex-1 truncate text-[10.5px]\">"), i1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text min-w-0 truncate text-[12.5px] font-medium\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><p class=\"text-text-dim text-[11.5px] leading-snug break-words\"></p><div class=\"flex flex-wrap items-center gap-1.5\"></div><div class=\"flex items-center gap-1\">"), a1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), o1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\">"), s1 = /*#__PURE__*/ N("<option>"), c1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), l1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M2.5 3.5 6 7 2.5 10.5M7.5 12.5h6\">"), u1 = /*#__PURE__*/ N("<span class=text-success>+"), d1 = /*#__PURE__*/ N("<span class=text-danger>−"), f1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"shrink-0 text-[10px] tabular-nums\">"), p1 = /*#__PURE__*/ N("<span class=text-text-faint>bin"), m1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"text-success shrink-0 text-[10px]\">new"), h1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5 pt-0.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11px] hover:underline\">"), g1 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), _1 = [
43662
+ var V$ = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end rounded-lg border px-2.5 py-1.5\"><p class=\"text-accent mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase\">You</p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), H$ = /*#__PURE__*/ N("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), U$ = /*#__PURE__*/ N("<p>"), W$ = /*#__PURE__*/ N("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running · "), G$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), K$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Local Claude Code</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), q$ = /*#__PURE__*/ N("<span class=\"bg-surface-2 border-border font-mono mt-2 block rounded-md border px-2 py-1.5 text-[11px] select-all\">npx linear-grab-bridge"), J$ = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), Y$ = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), X$ = /*#__PURE__*/ N("<option selected>"), Z$ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), Q$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><path d=\"M14 10a2 2 0 0 1-2 2H6l-3.5 2.5V4a2 2 0 0 1 2-2H12a2 2 0 0 1 2 2v6Z\">"), $$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), e1 = /*#__PURE__*/ N("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), t1 = /*#__PURE__*/ N("<div class=\"border-border bg-bg flex flex-col gap-1 rounded-md border p-2\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text-dim text-[10.5px] font-semibold tracking-wide uppercase\">Changes</span><span class=\"ml-auto shrink-0 text-[10.5px] tabular-nums\"><span class=text-success>+</span> <span class=text-danger>−"), n1 = /*#__PURE__*/ N("<div class=\"border-border bg-bg flex max-h-80 flex-col gap-1.5 overflow-y-auto rounded-md border py-2 pl-2 pr-3\">"), r1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), i1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M13 7.5 8.2 12.3a3.2 3.2 0 0 1-4.5-4.5L8.9 2.6a2.1 2.1 0 0 1 3 3L7.1 10.4a1 1 0 0 1-1.5-1.5l4.3-4.3\">"), a1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M8 2v4M8 10v4M2 8h4M10 8h4M4.5 4.5 6 6M11.5 11.5 10 10M11.5 4.5 10 6M4.5 11.5 6 10\">"), o1 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Send"), s1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center gap-1\"><span class=\"text-text-faint min-w-0 flex-1 truncate text-[10.5px]\">"), c1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text min-w-0 truncate text-[12.5px] font-medium\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><p class=\"text-text-dim text-[11.5px] leading-snug break-words\"></p><div class=\"flex flex-wrap items-center gap-1.5\"></div><div class=\"flex items-center gap-1\">"), l1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), u1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\">"), d1 = /*#__PURE__*/ N("<option>"), f1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), p1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M2.5 3.5 6 7 2.5 10.5M7.5 12.5h6\">"), m1 = /*#__PURE__*/ N("<span class=text-success>+"), h1 = /*#__PURE__*/ N("<span class=text-danger>−"), g1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"shrink-0 text-[10px] tabular-nums\">"), _1 = /*#__PURE__*/ N("<span class=text-text-faint>bin"), v1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"text-success shrink-0 text-[10px]\">new"), y1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5 pt-0.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11px] hover:underline\">"), b1 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), x1 = [
43613
43663
  {
43614
43664
  id: "",
43615
43665
  label: "Default model"
@@ -43631,13 +43681,13 @@ var R$ = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end
43631
43681
  label: "Haiku"
43632
43682
  }
43633
43683
  ];
43634
- function v1(e, t) {
43684
+ function S1(e, t) {
43635
43685
  let n = e.split(".").map(Number), r = t.split(".").map(Number);
43636
43686
  for (let e = 0; e < 3; e++) if ((n[e] ?? 0) !== (r[e] ?? 0)) return (n[e] ?? 0) < (r[e] ?? 0);
43637
43687
  return !1;
43638
43688
  }
43639
- var y1 = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
43640
- function b1() {
43689
+ var C1 = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
43690
+ function w1() {
43641
43691
  let e = sr(), t = _r(() => ({
43642
43692
  queryKey: ["bridge-health"],
43643
43693
  queryFn: EO,
@@ -43690,7 +43740,7 @@ function b1() {
43690
43740
  let y = async () => {
43691
43741
  m(!0);
43692
43742
  try {
43693
- let e = await zQ();
43743
+ let e = await BQ();
43694
43744
  e && f((t) => `${t ? `${t}\n` : ""}${e}\n`);
43695
43745
  } finally {
43696
43746
  m(!1);
@@ -43702,7 +43752,9 @@ function b1() {
43702
43752
  }
43703
43753
  })), x = vr(() => ({
43704
43754
  mutationFn: (e) => jO(e.id, e.model),
43705
- onSuccess: l
43755
+ onSuccess: (t) => {
43756
+ e.setQueryData(["bridge-tasks"], (e) => e?.map((e) => e.id === t.id ? t : e)), l();
43757
+ }
43706
43758
  })), S = vr(() => ({
43707
43759
  mutationFn: (e) => NO(e),
43708
43760
  onSuccess: l
@@ -43720,20 +43772,20 @@ function b1() {
43720
43772
  await navigator.clipboard.writeText(zO(e)), te(e.id), setTimeout(() => te(null), 1800);
43721
43773
  } catch {}
43722
43774
  }, ne = (e) => e === "running" ? "var(--color-accent)" : e === "done" ? "var(--color-success)" : e === "stopped" ? "var(--color-warn)" : "var(--color-danger)", re = (e) => {
43723
- let t = e.line.kind, n = k(() => YQ(e.line.text));
43775
+ let t = e.line.kind, n = k(() => XQ(e.line.text));
43724
43776
  return t === "user" ? (() => {
43725
- var e = R$(), t = e.firstChild.nextSibling;
43777
+ var e = V$(), t = e.firstChild.nextSibling;
43726
43778
  return D(() => t.innerHTML = n()), e;
43727
43779
  })() : t === "assistant" || t === "result" ? (() => {
43728
- var e = z$(), r = e.firstChild, i = r.nextSibling;
43780
+ var e = H$(), r = e.firstChild, i = r.nextSibling;
43729
43781
  return st(e, `bg-surface rounded-lg border px-2.5 py-1.5 ${t === "result" ? "border-success/40" : "border-border"}`), st(r, `mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase ${t === "result" ? "text-success" : "text-text-faint"}`), P(r, t === "result" ? "Result" : "Claude"), D(() => i.innerHTML = n()), e;
43730
43782
  })() : (() => {
43731
- var n = B$();
43783
+ var n = U$();
43732
43784
  return st(n, `font-mono px-1 text-[10px] leading-relaxed break-words ${t === "subagent" ? "text-warn" : t === "stderr" ? "text-danger" : "text-text-faint"}`), P(n, () => e.line.text), n;
43733
43785
  })();
43734
43786
  };
43735
43787
  return (() => {
43736
- var e = U$(), a = e.firstChild;
43788
+ var e = K$(), a = e.firstChild;
43737
43789
  a.firstChild;
43738
43790
  var l = a.nextSibling;
43739
43791
  return P(a, j(M, {
@@ -43749,7 +43801,7 @@ function b1() {
43749
43801
  get children() {
43750
43802
  return [j(M, {
43751
43803
  get when() {
43752
- return v1(t.data.version, "0.15.1");
43804
+ return S1(t.data.version, "0.15.1");
43753
43805
  },
43754
43806
  get children() {
43755
43807
  return j(Oj, {
@@ -43765,7 +43817,7 @@ function b1() {
43765
43817
  });
43766
43818
  }
43767
43819
  }), (() => {
43768
- var e = V$(), n = e.firstChild;
43820
+ var e = W$(), n = e.firstChild;
43769
43821
  return P(e, () => t.data.active, n), P(e, () => t.data.cwd.split("/").slice(-2).join("/"), null), D(() => it(e, "title", t.data?.cwd)), e;
43770
43822
  })()];
43771
43823
  }
@@ -43779,7 +43831,7 @@ function b1() {
43779
43831
  get children() {
43780
43832
  return [
43781
43833
  "Start it in your repo's terminal:",
43782
- W$(),
43834
+ q$(),
43783
43835
  "Then delegate from the Draft tab (\"Local Claude Code\") or watch tasks here. Sessions stay interactive — send follow-ups, switch models, interrupt, resume in your terminal. History persists across restarts."
43784
43836
  ];
43785
43837
  }
@@ -43797,38 +43849,38 @@ function b1() {
43797
43849
  });
43798
43850
  },
43799
43851
  get children() {
43800
- var e = H$();
43801
- return P(e, j(We, {
43852
+ var e = G$();
43853
+ return P(e, j(Ge, {
43802
43854
  get each() {
43803
43855
  return n.data;
43804
43856
  },
43805
43857
  children: (e) => (() => {
43806
- var t = i1(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, m = n.nextSibling, h = m.nextSibling, g = h.nextSibling;
43858
+ var t = c1(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, m = n.nextSibling, h = m.nextSibling, g = h.nextSibling;
43807
43859
  return P(n, j(M, {
43808
43860
  get when() {
43809
- return e.status === "running";
43861
+ return e().status === "running";
43810
43862
  },
43811
43863
  get fallback() {
43812
43864
  return (() => {
43813
- var t = a1();
43814
- return D((n) => dt(t, "background", ne(e.status))), t;
43865
+ var t = l1();
43866
+ return D((n) => dt(t, "background", ne(e().status))), t;
43815
43867
  })();
43816
43868
  },
43817
43869
  get children() {
43818
43870
  return j(yj, {});
43819
43871
  }
43820
- }), a), P(a, () => e.title), P(l, () => Nj(e.startedAt)), P(m, () => e.lastText), P(h, j(Oj, {
43872
+ }), a), P(a, () => e().title), P(l, () => Nj(e().startedAt)), P(m, () => e().lastText), P(h, j(Oj, {
43821
43873
  get color() {
43822
- return ne(e.status);
43874
+ return ne(e().status);
43823
43875
  },
43824
43876
  get children() {
43825
- return e.status;
43877
+ return e().status;
43826
43878
  }
43827
43879
  }), null), P(h, j(Oj, { get children() {
43828
- return e.model ?? "default model";
43880
+ return e().model ?? "default model";
43829
43881
  } }), null), P(h, j(M, {
43830
43882
  get when() {
43831
- return e.pendingModel;
43883
+ return e().pendingModel;
43832
43884
  },
43833
43885
  get children() {
43834
43886
  return j(Oj, {
@@ -43836,7 +43888,7 @@ function b1() {
43836
43888
  get children() {
43837
43889
  return [
43838
43890
  "→ ",
43839
- $e(() => e.pendingModel),
43891
+ $e(() => e().pendingModel),
43840
43892
  " next msg"
43841
43893
  ];
43842
43894
  }
@@ -43844,7 +43896,7 @@ function b1() {
43844
43896
  }
43845
43897
  }), null), P(h, j(M, {
43846
43898
  get when() {
43847
- return e.subagents > 0;
43899
+ return e().subagents > 0;
43848
43900
  },
43849
43901
  get children() {
43850
43902
  return j(Oj, {
@@ -43852,7 +43904,7 @@ function b1() {
43852
43904
  get children() {
43853
43905
  return [
43854
43906
  "⛓ ",
43855
- $e(() => e.subagents),
43907
+ $e(() => e().subagents),
43856
43908
  " subagents"
43857
43909
  ];
43858
43910
  }
@@ -43860,21 +43912,21 @@ function b1() {
43860
43912
  }
43861
43913
  }), null), P(h, j(M, {
43862
43914
  get when() {
43863
- return e.usage;
43915
+ return e().usage;
43864
43916
  },
43865
43917
  get children() {
43866
- var t = G$(), n = t.firstChild.nextSibling;
43867
- return n.nextSibling, P(t, () => y1(e.usage.contextTokens), n), P(t, () => y1(e.usage.outputTokens), null), P(t, (() => {
43868
- var t = $e(() => !!e.usage.costUsd);
43869
- return () => t() ? ` · $${e.usage.costUsd.toFixed(2)}` : "";
43918
+ var t = J$(), n = t.firstChild.nextSibling;
43919
+ return n.nextSibling, P(t, () => C1(e().usage.contextTokens), n), P(t, () => C1(e().usage.outputTokens), null), P(t, (() => {
43920
+ var t = $e(() => !!e().usage.costUsd);
43921
+ return () => t() ? ` · $${e().usage.costUsd.toFixed(2)}` : "";
43870
43922
  })(), null), t;
43871
43923
  }
43872
43924
  }), null), P(t, j(M, {
43873
43925
  get when() {
43874
- return o(e);
43926
+ return o(e());
43875
43927
  },
43876
43928
  children: (e) => (() => {
43877
- var t = o1();
43929
+ var t = u1();
43878
43930
  return P(t, j(Oj, { get children() {
43879
43931
  return e().state.name;
43880
43932
  } }), null), P(t, j(Tj, {
@@ -43886,16 +43938,16 @@ function b1() {
43886
43938
  })()
43887
43939
  }), g), P(t, j(M, {
43888
43940
  get when() {
43889
- return $e(() => !!e.worktree)() && !e.worktree.removed;
43941
+ return $e(() => !!e().worktree)() && !e().worktree.removed;
43890
43942
  },
43891
43943
  get children() {
43892
- var t = K$(), n = t.firstChild;
43944
+ var t = Y$(), n = t.firstChild;
43893
43945
  return P(t, j(Oj, {
43894
43946
  class: "text-warn",
43895
43947
  children: "⎇ worktree"
43896
- }), n), P(n, () => e.worktree.branch), P(t, j(M, {
43948
+ }), n), P(n, () => e().worktree.branch), P(t, j(M, {
43897
43949
  get when() {
43898
- return e.status !== "running";
43950
+ return e().status !== "running";
43899
43951
  },
43900
43952
  get children() {
43901
43953
  return j(vj, {
@@ -43905,36 +43957,44 @@ function b1() {
43905
43957
  return S.isPending;
43906
43958
  },
43907
43959
  get title() {
43908
- return `Remove the worktree at ${e.worktree.path} — the branch (and PR) survive`;
43960
+ return `Remove the worktree at ${e().worktree.path} — the branch (and PR) survive`;
43909
43961
  },
43910
- onClick: () => S.mutate(e.id),
43962
+ onClick: () => S.mutate(e().id),
43911
43963
  children: "Remove"
43912
43964
  });
43913
43965
  }
43914
- }), null), D(() => it(n, "title", e.worktree.path)), t;
43966
+ }), null), D(() => it(n, "title", e().worktree.path)), t;
43915
43967
  }
43916
43968
  }), g), P(g, j(Sj, {
43917
43969
  class: "h-7 w-auto min-w-0 flex-1 text-[11px]",
43918
43970
  get value() {
43919
- return e.pendingModel ?? e.model ?? "";
43971
+ return e().pendingModel ?? e().model ?? "";
43920
43972
  },
43921
43973
  onChange: (t) => x.mutate({
43922
- id: e.id,
43974
+ id: e().id,
43923
43975
  model: t.currentTarget.value
43924
43976
  }),
43925
43977
  title: "Model — applies from the next message",
43926
43978
  get children() {
43927
- return j(We, {
43928
- each: _1,
43979
+ return [j(We, {
43980
+ each: x1,
43929
43981
  children: (t) => (() => {
43930
- var n = s1();
43931
- return P(n, () => t.label), D(() => n.selected = (e.pendingModel ?? e.model ?? "") === t.id), D(() => n.value = t.id), n;
43982
+ var n = d1();
43983
+ return P(n, () => t.label), D(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), D(() => n.value = t.id), n;
43932
43984
  })()
43933
- });
43985
+ }), j(M, {
43986
+ get when() {
43987
+ return !x1.some((t) => t.id === (e().pendingModel ?? e().model ?? ""));
43988
+ },
43989
+ get children() {
43990
+ var t = X$();
43991
+ return P(t, () => e().pendingModel ?? e().model), D(() => t.value = e().pendingModel ?? e().model ?? ""), t;
43992
+ }
43993
+ })];
43934
43994
  }
43935
43995
  }), null), P(g, j(M, {
43936
43996
  get when() {
43937
- return o(e);
43997
+ return o(e());
43938
43998
  },
43939
43999
  children: (e) => j(vj, {
43940
44000
  variant: "ghost",
@@ -43942,29 +44002,29 @@ function b1() {
43942
44002
  title: "Open the issue's Activity thread",
43943
44003
  onClick: () => YA("activity", e().id),
43944
44004
  get children() {
43945
- return c1();
44005
+ return f1();
43946
44006
  }
43947
44007
  })
43948
44008
  }), null), P(g, j(vj, {
43949
44009
  variant: "ghost",
43950
44010
  class: "size-7 px-0",
43951
44011
  get disabled() {
43952
- return !e.sessionId;
44012
+ return !e().sessionId;
43953
44013
  },
43954
44014
  get title() {
43955
- return $e(() => !!e.sessionId)() ? `Copy resume command · session ${e.sessionId.slice(0, 8)}…` : "No session yet";
44015
+ return $e(() => !!e().sessionId)() ? `Copy resume command · session ${e().sessionId.slice(0, 8)}…` : "No session yet";
43956
44016
  },
43957
- onClick: () => void A(e),
44017
+ onClick: () => void A(e()),
43958
44018
  get children() {
43959
44019
  return j(M, {
43960
44020
  get when() {
43961
- return ee() === e.id;
44021
+ return ee() === e().id;
43962
44022
  },
43963
44023
  get fallback() {
43964
- return l1();
44024
+ return p1();
43965
44025
  },
43966
44026
  get children() {
43967
- return q$();
44027
+ return Z$();
43968
44028
  }
43969
44029
  });
43970
44030
  }
@@ -43972,15 +44032,15 @@ function b1() {
43972
44032
  variant: "ghost",
43973
44033
  class: "size-7 px-0",
43974
44034
  get title() {
43975
- return r() === e.id ? "Hide thread" : "Open thread — chat & changes";
44035
+ return r() === e().id ? "Hide thread" : "Open thread — chat & changes";
43976
44036
  },
43977
- onClick: () => i(r() === e.id ? null : e.id),
44037
+ onClick: () => i(r() === e().id ? null : e().id),
43978
44038
  get children() {
43979
- return J$();
44039
+ return Q$();
43980
44040
  }
43981
44041
  }), null), P(g, j(M, {
43982
44042
  get when() {
43983
- return e.status === "running";
44043
+ return e().status === "running";
43984
44044
  },
43985
44045
  get children() {
43986
44046
  return j(vj, {
@@ -43990,15 +44050,15 @@ function b1() {
43990
44050
  return u.isPending;
43991
44051
  },
43992
44052
  title: "Interrupt — the session stays resumable",
43993
- onClick: () => u.mutate(e.id),
44053
+ onClick: () => u.mutate(e().id),
43994
44054
  get children() {
43995
- return Y$();
44055
+ return $$();
43996
44056
  }
43997
44057
  });
43998
44058
  }
43999
44059
  }), null), P(t, j(M, {
44000
44060
  get when() {
44001
- return r() === e.id;
44061
+ return r() === e().id;
44002
44062
  },
44003
44063
  get children() {
44004
44064
  return [
@@ -44007,7 +44067,7 @@ function b1() {
44007
44067
  return $e(() => !!c.data)() && (c.data.files.length || c.data.untracked.length || c.data.prs.length);
44008
44068
  },
44009
44069
  get children() {
44010
- var e = Z$(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
44070
+ var e = t1(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
44011
44071
  r.firstChild;
44012
44072
  var i = r.nextSibling.nextSibling;
44013
44073
  return i.firstChild, P(t, j(M, {
@@ -44015,7 +44075,7 @@ function b1() {
44015
44075
  return c.data.branch;
44016
44076
  },
44017
44077
  get children() {
44018
- var e = X$();
44078
+ var e = e1();
44019
44079
  return P(e, () => c.data.branch), e;
44020
44080
  }
44021
44081
  }), n), P(r, () => c.data.totalAdded, null), P(i, () => c.data.totalDeleted, null), P(e, j(We, {
@@ -44023,23 +44083,23 @@ function b1() {
44023
44083
  return c.data.files;
44024
44084
  },
44025
44085
  children: (e) => (() => {
44026
- var t = f1(), n = t.firstChild, r = n.nextSibling;
44086
+ var t = g1(), n = t.firstChild, r = n.nextSibling;
44027
44087
  return P(n, () => e.path), P(r, j(M, {
44028
44088
  get when() {
44029
44089
  return !e.binary;
44030
44090
  },
44031
44091
  get fallback() {
44032
- return p1();
44092
+ return _1();
44033
44093
  },
44034
44094
  get children() {
44035
44095
  return [
44036
44096
  (() => {
44037
- var t = u1();
44097
+ var t = m1();
44038
44098
  return t.firstChild, P(t, () => e.added, null), t;
44039
44099
  })(),
44040
44100
  " ",
44041
44101
  (() => {
44042
- var t = d1();
44102
+ var t = h1();
44043
44103
  return t.firstChild, P(t, () => e.deleted, null), t;
44044
44104
  })()
44045
44105
  ];
@@ -44051,7 +44111,7 @@ function b1() {
44051
44111
  return c.data.untracked;
44052
44112
  },
44053
44113
  children: (e) => (() => {
44054
- var t = m1(), n = t.firstChild;
44114
+ var t = v1(), n = t.firstChild;
44055
44115
  return it(n, "title", e), P(n, e), t;
44056
44116
  })()
44057
44117
  }), null), P(e, j(We, {
@@ -44059,7 +44119,7 @@ function b1() {
44059
44119
  return c.data.prs;
44060
44120
  },
44061
44121
  children: (e) => (() => {
44062
- var t = h1(), n = t.firstChild;
44122
+ var t = y1(), n = t.firstChild;
44063
44123
  return P(t, j(Oj, {
44064
44124
  class: "text-accent",
44065
44125
  get children() {
@@ -44077,7 +44137,7 @@ function b1() {
44077
44137
  }
44078
44138
  }),
44079
44139
  (() => {
44080
- var e = Q$();
44140
+ var e = n1();
44081
44141
  return e.addEventListener("scroll", E), pt((e) => {
44082
44142
  C = e, w = !0;
44083
44143
  }, e), P(e, j(M, {
@@ -44085,7 +44145,7 @@ function b1() {
44085
44145
  return (s.data?.tail ?? []).length > 0;
44086
44146
  },
44087
44147
  get fallback() {
44088
- return g1();
44148
+ return b1();
44089
44149
  },
44090
44150
  get children() {
44091
44151
  return j(Ge, {
@@ -44100,19 +44160,19 @@ function b1() {
44100
44160
  })), e;
44101
44161
  })(),
44102
44162
  (() => {
44103
- var t = r1(), n = t.firstChild, r = n.firstChild;
44163
+ var t = s1(), n = t.firstChild, r = n.firstChild;
44104
44164
  return P(t, j(xj, {
44105
44165
  rows: 2,
44106
44166
  get placeholder() {
44107
- return e.status === "running" ? "Message the working agent — it queues into the live session…" : "Follow-up — resumes the session…";
44167
+ return e().status === "running" ? "Message the working agent — it queues into the live session…" : "Follow-up — resumes the session…";
44108
44168
  },
44109
44169
  get value() {
44110
44170
  return d();
44111
44171
  },
44112
44172
  onInput: (e) => f(e.currentTarget.value)
44113
44173
  }), n), P(r, (() => {
44114
- var t = $e(() => !!e.alive);
44115
- return () => t() ? "live session" : e.sessionId ? "resumes on send" : "no session";
44174
+ var t = $e(() => !!e().alive);
44175
+ return () => t() ? "live session" : e().sessionId ? "resumes on send" : "no session";
44116
44176
  })()), P(n, j(vj, {
44117
44177
  variant: "ghost",
44118
44178
  class: "size-7 shrink-0 px-0",
@@ -44120,7 +44180,7 @@ function b1() {
44120
44180
  "aria-label": "Pick element",
44121
44181
  onClick: v,
44122
44182
  get children() {
44123
- return $$();
44183
+ return r1();
44124
44184
  }
44125
44185
  }), null), P(n, j(vj, {
44126
44186
  variant: "ghost",
@@ -44132,22 +44192,22 @@ function b1() {
44132
44192
  "aria-label": "Attach captures",
44133
44193
  onClick: () => void y(),
44134
44194
  get children() {
44135
- return e1();
44195
+ return i1();
44136
44196
  }
44137
44197
  }), null), P(n, j(vj, {
44138
44198
  variant: "ghost",
44139
44199
  class: "size-7 shrink-0 px-0",
44140
44200
  get disabled() {
44141
- return $e(() => !e.alive)() && !e.sessionId;
44201
+ return $e(() => !e().alive)() && !e().sessionId;
44142
44202
  },
44143
44203
  title: "Compact the session — frees context (sends /compact)",
44144
44204
  "aria-label": "Compact session",
44145
44205
  onClick: () => b.mutate({
44146
- id: e.id,
44206
+ id: e().id,
44147
44207
  text: "/compact"
44148
44208
  }),
44149
44209
  get children() {
44150
- return t1();
44210
+ return a1();
44151
44211
  }
44152
44212
  }), null), P(n, j(vj, {
44153
44213
  variant: "primary",
@@ -44156,14 +44216,14 @@ function b1() {
44156
44216
  return b.isPending;
44157
44217
  },
44158
44218
  get disabled() {
44159
- return !d().trim() || !e.alive && !e.sessionId;
44219
+ return !d().trim() || !e().alive && !e().sessionId;
44160
44220
  },
44161
44221
  onClick: () => b.mutate({
44162
- id: e.id,
44222
+ id: e().id,
44163
44223
  text: d().trim()
44164
44224
  }),
44165
44225
  get children() {
44166
- return n1();
44226
+ return o1();
44167
44227
  }
44168
44228
  }), null), t;
44169
44229
  })()
@@ -44180,13 +44240,13 @@ function b1() {
44180
44240
  }
44181
44241
  //#endregion
44182
44242
  //#region src/panel/views/PrsView.tsx
44183
- var x1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">/<!> from your issues"), S1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), C1 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Pull requests</span></div><div class=\"border-border flex shrink-0 items-center gap-1.5 border-b px-3 py-1.5\"><div class=\"bg-surface-2 border-border flex shrink-0 rounded-md border p-0.5\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), w1 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px]\"title=\"Merge states come from gh via the bridge\">states unknown — restart the bridge"), T1 = /*#__PURE__*/ N("<button>"), E1 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), D1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), O1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), k1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><a target=_blank rel=noreferrer class=\"text-accent truncate text-[12.5px] font-medium hover:underline\"></a><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim shrink-0 text-[11px]\"></span><span class=\"text-text-dim truncate text-[11.5px]\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><div class=\"flex min-w-0 flex-wrap items-center gap-1.5\"><div class=\"ml-auto flex shrink-0 items-center gap-1\">"), A1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=4 cy=3.5 r=1.5></circle><circle cx=4 cy=12.5 r=1.5></circle><circle cx=12 cy=8 r=1.5></circle><path d=\"M4 5v6M4 6.5c0 2 2 3 4.5 3h2\">"), j1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><rect x=5.5 y=5.5 width=9 height=9 rx=1.5></rect><path d=\"M10.5 5.5v-2a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h2\">"), M1 = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
44184
- function N1(e) {
44243
+ var T1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">/<!> from your issues"), E1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), D1 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Pull requests</span></div><div class=\"border-border flex shrink-0 items-center gap-1.5 border-b px-3 py-1.5\"><div class=\"bg-surface-2 border-border flex shrink-0 rounded-md border p-0.5\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), O1 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px]\"title=\"Merge states come from gh via the bridge\">states unknown — restart the bridge"), k1 = /*#__PURE__*/ N("<button>"), A1 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), j1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), M1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), N1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><a target=_blank rel=noreferrer class=\"text-accent truncate text-[12.5px] font-medium hover:underline\"></a><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim shrink-0 text-[11px]\"></span><span class=\"text-text-dim truncate text-[11.5px]\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><div class=\"flex min-w-0 flex-wrap items-center gap-1.5\"><div class=\"ml-auto flex shrink-0 items-center gap-1\">"), P1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=4 cy=3.5 r=1.5></circle><circle cx=4 cy=12.5 r=1.5></circle><circle cx=12 cy=8 r=1.5></circle><path d=\"M4 5v6M4 6.5c0 2 2 3 4.5 3h2\">"), F1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><rect x=5.5 y=5.5 width=9 height=9 rx=1.5></rect><path d=\"M10.5 5.5v-2a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h2\">"), I1 = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
44244
+ function L1(e) {
44185
44245
  let t = _r(() => ({
44186
44246
  queryKey: ["my-issues"],
44187
44247
  queryFn: uO,
44188
44248
  refetchInterval: 15e3
44189
- })), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => M1.test(e.url)).map((t) => ({
44249
+ })), n = k(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => I1.test(e.url)).map((t) => ({
44190
44250
  issue: e,
44191
44251
  attachment: t
44192
44252
  })))), r = _r(() => ({
@@ -44223,7 +44283,7 @@ function N1(e) {
44223
44283
  } catch {}
44224
44284
  };
44225
44285
  return (() => {
44226
- var r = C1(), p = r.firstChild;
44286
+ var r = D1(), p = r.firstChild;
44227
44287
  p.firstChild;
44228
44288
  var h = p.nextSibling, _ = h.firstChild, b = h.nextSibling;
44229
44289
  return P(p, j(M, {
@@ -44231,10 +44291,10 @@ function N1(e) {
44231
44291
  return !i.isError;
44232
44292
  },
44233
44293
  get fallback() {
44234
- return w1();
44294
+ return O1();
44235
44295
  },
44236
44296
  get children() {
44237
- var e = x1(), t = e.firstChild, r = t.nextSibling;
44297
+ var e = T1(), t = e.firstChild, r = t.nextSibling;
44238
44298
  return r.nextSibling, P(e, () => d().length, t), P(e, () => n().length, r), e;
44239
44299
  }
44240
44300
  }), null), P(_, j(We, {
@@ -44257,7 +44317,7 @@ function N1(e) {
44257
44317
  }
44258
44318
  ],
44259
44319
  children: (e) => (() => {
44260
- var t = T1();
44320
+ var t = k1();
44261
44321
  return t.$$click = () => c(e.id), P(t, () => e.label), D(() => st(t, `rounded-[5px] px-2 py-0.5 text-[11px] font-medium transition-colors ${s() === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
44262
44322
  })()
44263
44323
  })), P(h, j(bj, {
@@ -44280,13 +44340,13 @@ function N1(e) {
44280
44340
  });
44281
44341
  },
44282
44342
  get children() {
44283
- var t = S1();
44343
+ var t = E1();
44284
44344
  return P(t, j(We, {
44285
44345
  get each() {
44286
44346
  return d();
44287
44347
  },
44288
44348
  children: (t) => (() => {
44289
- var n = k1(), r = n.firstChild, i = r.nextSibling, s = i.firstChild, c = s.nextSibling, l = c.nextSibling, u = i.nextSibling, d = u.firstChild;
44349
+ var n = N1(), r = n.firstChild, i = r.nextSibling, s = i.firstChild, c = s.nextSibling, l = c.nextSibling, u = i.nextSibling, d = u.firstChild;
44290
44350
  return P(r, () => t.attachment.title || t.attachment.url), P(i, j(kj, { get color() {
44291
44351
  return t.issue.state.color;
44292
44352
  } }), s), P(s, () => t.issue.identifier), P(c, () => t.issue.title), P(l, () => Nj(t.issue.updatedAt)), P(u, j(Oj, { get children() {
@@ -44363,10 +44423,10 @@ function N1(e) {
44363
44423
  return g().has(t.attachment.url);
44364
44424
  },
44365
44425
  get fallback() {
44366
- return A1();
44426
+ return P1();
44367
44427
  },
44368
44428
  get children() {
44369
- return E1();
44429
+ return A1();
44370
44430
  }
44371
44431
  });
44372
44432
  }
@@ -44379,7 +44439,7 @@ function N1(e) {
44379
44439
  YA("activity", t.issue.id), e.onOpenIssue();
44380
44440
  },
44381
44441
  get children() {
44382
- return D1();
44442
+ return j1();
44383
44443
  }
44384
44444
  }), null), P(d, j(vj, {
44385
44445
  variant: "ghost",
@@ -44393,10 +44453,10 @@ function N1(e) {
44393
44453
  return f() === t.attachment.id;
44394
44454
  },
44395
44455
  get fallback() {
44396
- return j1();
44456
+ return F1();
44397
44457
  },
44398
44458
  get children() {
44399
- return O1();
44459
+ return M1();
44400
44460
  }
44401
44461
  });
44402
44462
  }
@@ -44416,13 +44476,13 @@ function N1(e) {
44416
44476
  //#endregion
44417
44477
  //#region src/lib/linear/auth.ts
44418
44478
  rt(["click"]), Rr();
44419
- function P1(e) {
44479
+ function R1(e) {
44420
44480
  let t = "";
44421
44481
  for (let n of e) t += String.fromCharCode(n);
44422
44482
  return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
44423
44483
  }
44424
- async function F1(e) {
44425
- let t = P1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = P1(new Uint8Array(n)), i = P1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
44484
+ async function z1(e) {
44485
+ let t = R1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = R1(new Uint8Array(n)), i = R1(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
44426
44486
  o.searchParams.set("client_id", e), o.searchParams.set("redirect_uri", a), o.searchParams.set("response_type", "code"), o.searchParams.set("scope", "read,write"), o.searchParams.set("state", i), o.searchParams.set("code_challenge", r), o.searchParams.set("code_challenge_method", "S256");
44427
44487
  let s = await chrome.identity.launchWebAuthFlow({
44428
44488
  url: o.toString(),
@@ -44450,15 +44510,15 @@ async function F1(e) {
44450
44510
  linearOauthClientId: e
44451
44511
  });
44452
44512
  }
44453
- async function I1() {
44513
+ async function B1() {
44454
44514
  await wr({
44455
44515
  linearAccessToken: void 0,
44456
44516
  linearApiKey: void 0
44457
44517
  });
44458
44518
  }
44459
44519
  Rr(), br(), Nx(), mD();
44460
- var L1 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), R1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Cloud: picking an element opens the panel to draft &amp; delegate to the Cursor agent. Local (react-grab style): picking auto-copies the element's context — source, stack, and your skills/memory paths — straight to the clipboard for a local Claude Code or Cursor session; the panel stays out of the way. Both share the same picker; switch anytime."), z1 = /*#__PURE__*/ N("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Element screenshots"), B1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Captures a highlighted screenshot of each picked element and attaches it to the issue. Costs a beat on huge pages — with this off, picking is instant (pure react-grab speed)."), V1 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), H1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center justify-between rounded-lg border p-2.5\"><span class=\"text-text text-[12px]\">"), U1 = /*#__PURE__*/ N("<option value>Select a team…"), W1 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), G1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), K1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), q1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Mode</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">Beside page squeezes the app next to the panel, DevTools-style — nothing gets covered. Also toggleable from the dock icon in the panel header."), J1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Dock side</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">The launcher pill is draggable — park it anywhere it doesn't cover your app."), Y1 = /*#__PURE__*/ N("<option value>Select a channel…"), X1 = /*#__PURE__*/ N("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Announce new issues on create"), Z1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">⚠️ Tokens are embedded in issue Agent-instructions so agents can post the finished demo — everyone who can read the issue can read them. Use single-channel-scoped bots."), Q1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Provider preference</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"><button>Auto</button><button>OpenAI</button><button>Anthropic"), $1 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), e0 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), t0 = /*#__PURE__*/ N("<ol class=\"text-text-faint flex list-decimal flex-col gap-1 pl-4 text-[11px] leading-relaxed\"><li>Pick an element on your running dev app.</li><li>Draft the issue (AI optional).</li><li>Create + delegate — Cursor's cloud agent fixes it and opens a PR.</li><li>Track and steer it from Activity."), n0 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), r0 = /*#__PURE__*/ N("<button>"), i0 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), a0 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), o0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Register this callback URL in your Linear OAuth app config:<br><span class=\"font-mono text-[10.5px] break-all\">"), s0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), c0 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), l0 = /*#__PURE__*/ N("<option> (<!>)"), u0 = /*#__PURE__*/ N("<option value>Select the agent…"), d0 = /*#__PURE__*/ N("<option>"), f0 = /*#__PURE__*/ N("<option>#"), p0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
44461
- function m0() {
44520
+ var V1 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), H1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Cloud: picking an element opens the panel to draft &amp; delegate to the Cursor agent. Local (react-grab style): picking auto-copies the element's context — source, stack, and your skills/memory paths — straight to the clipboard for a local Claude Code or Cursor session; the panel stays out of the way. Both share the same picker; switch anytime."), U1 = /*#__PURE__*/ N("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Element screenshots"), W1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Captures a highlighted screenshot of each picked element and attaches it to the issue. Costs a beat on huge pages — with this off, picking is instant (pure react-grab speed)."), G1 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), K1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center justify-between rounded-lg border p-2.5\"><span class=\"text-text text-[12px]\">"), q1 = /*#__PURE__*/ N("<option value>Select a team…"), J1 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), Y1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), X1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), Z1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Mode</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">Beside page squeezes the app next to the panel, DevTools-style — nothing gets covered. Also toggleable from the dock icon in the panel header."), Q1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Dock side</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">The launcher pill is draggable — park it anywhere it doesn't cover your app."), $1 = /*#__PURE__*/ N("<option value>Select a channel…"), e0 = /*#__PURE__*/ N("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Announce new issues on create"), t0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">⚠️ Tokens are embedded in issue Agent-instructions so agents can post the finished demo — everyone who can read the issue can read them. Use single-channel-scoped bots."), n0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Provider preference</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"><button>Auto</button><button>OpenAI</button><button>Anthropic"), r0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), i0 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), a0 = /*#__PURE__*/ N("<ol class=\"text-text-faint flex list-decimal flex-col gap-1 pl-4 text-[11px] leading-relaxed\"><li>Pick an element on your running dev app.</li><li>Draft the issue (AI optional).</li><li>Create + delegate — Cursor's cloud agent fixes it and opens a PR.</li><li>Track and steer it from Activity."), o0 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), s0 = /*#__PURE__*/ N("<button>"), c0 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), l0 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), u0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Register this callback URL in your Linear OAuth app config:<br><span class=\"font-mono text-[10.5px] break-all\">"), d0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), f0 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), p0 = /*#__PURE__*/ N("<option> (<!>)"), m0 = /*#__PURE__*/ N("<option value>Select the agent…"), h0 = /*#__PURE__*/ N("<option>"), g0 = /*#__PURE__*/ N("<option>#"), _0 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
44521
+ function v0() {
44462
44522
  let e = sr(), t = _r(() => ({
44463
44523
  queryKey: ["settings"],
44464
44524
  queryFn: Cr,
@@ -44503,7 +44563,7 @@ function m0() {
44503
44563
  }
44504
44564
  v(!0), b("");
44505
44565
  try {
44506
- await F1(t), await e.invalidateQueries({ queryKey: ["settings"] }), await e.invalidateQueries({ queryKey: ["viewer"] }), await e.invalidateQueries({ queryKey: ["teams"] }), await e.invalidateQueries({ queryKey: ["agents"] }), await e.invalidateQueries({ queryKey: ["my-issues"] });
44566
+ await z1(t), await e.invalidateQueries({ queryKey: ["settings"] }), await e.invalidateQueries({ queryKey: ["viewer"] }), await e.invalidateQueries({ queryKey: ["teams"] }), await e.invalidateQueries({ queryKey: ["agents"] }), await e.invalidateQueries({ queryKey: ["my-issues"] });
44507
44567
  } catch (e) {
44508
44568
  b(e instanceof Error ? e.message : "OAuth flow failed.");
44509
44569
  } finally {
@@ -44514,7 +44574,7 @@ function m0() {
44514
44574
  async function w() {
44515
44575
  C(!0);
44516
44576
  try {
44517
- await I1(), await e.invalidateQueries({ queryKey: ["settings"] }), await e.invalidateQueries({ queryKey: ["viewer"] }), await e.invalidateQueries({ queryKey: ["teams"] }), await e.invalidateQueries({ queryKey: ["agents"] }), await e.invalidateQueries({ queryKey: ["my-issues"] });
44577
+ await B1(), await e.invalidateQueries({ queryKey: ["settings"] }), await e.invalidateQueries({ queryKey: ["viewer"] }), await e.invalidateQueries({ queryKey: ["teams"] }), await e.invalidateQueries({ queryKey: ["agents"] }), await e.invalidateQueries({ queryKey: ["my-issues"] });
44518
44578
  } finally {
44519
44579
  C(!1);
44520
44580
  }
@@ -44530,12 +44590,12 @@ function m0() {
44530
44590
  return e ? `Drafting with ${e} — ${jx[e].fast} (fast) / ${jx[e].best} (best)` : null;
44531
44591
  });
44532
44592
  return (() => {
44533
- var e = n0();
44593
+ var e = o0();
44534
44594
  return P(e, j(Dj, {
44535
44595
  title: "Workflow",
44536
44596
  get children() {
44537
44597
  return [(() => {
44538
- var e = L1();
44598
+ var e = V1();
44539
44599
  return P(e, j(We, {
44540
44600
  each: [{
44541
44601
  id: "cloud",
@@ -44545,19 +44605,19 @@ function m0() {
44545
44605
  label: "Local · clipboard"
44546
44606
  }],
44547
44607
  children: (e) => (() => {
44548
- var t = r0();
44608
+ var t = s0();
44549
44609
  return t.$$click = () => void r({ workflowMode: e.id }), P(t, () => e.label), D(() => st(t, `flex-1 rounded-[5px] px-2 py-1 text-[11.5px] font-medium transition-colors ${(n().workflowMode ?? "cloud") === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
44550
44610
  })()
44551
44611
  })), e;
44552
- })(), R1()];
44612
+ })(), H1()];
44553
44613
  }
44554
44614
  }), null), P(e, j(Dj, {
44555
44615
  title: "Capture",
44556
44616
  get children() {
44557
44617
  return [(() => {
44558
- var e = z1(), t = e.firstChild;
44618
+ var e = U1(), t = e.firstChild;
44559
44619
  return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
44560
- })(), B1()];
44620
+ })(), W1()];
44561
44621
  }
44562
44622
  }), null), P(e, j(Dj, {
44563
44623
  title: "Linear",
@@ -44568,13 +44628,13 @@ function m0() {
44568
44628
  },
44569
44629
  get fallback() {
44570
44630
  return (() => {
44571
- var e = s0();
44631
+ var e = d0();
44572
44632
  return P(e, j(Ej, {
44573
44633
  label: "Personal API key",
44574
44634
  hint: "Create one at linear.app → Settings → API — fastest path.",
44575
44635
  get children() {
44576
44636
  return [(() => {
44577
- var e = i0();
44637
+ var e = c0();
44578
44638
  return P(e, j(bj, {
44579
44639
  type: "password",
44580
44640
  placeholder: "lin_api_…",
@@ -44611,12 +44671,12 @@ function m0() {
44611
44671
  }), null), P(e, j(M, {
44612
44672
  when: yr,
44613
44673
  get children() {
44614
- return [a0(), j(Ej, {
44674
+ return [l0(), j(Ej, {
44615
44675
  label: "OAuth client ID",
44616
44676
  get children() {
44617
44677
  return [
44618
44678
  (() => {
44619
- var e = i0();
44679
+ var e = c0();
44620
44680
  return P(e, j(bj, {
44621
44681
  placeholder: "your-client-id",
44622
44682
  get value() {
@@ -44644,7 +44704,7 @@ function m0() {
44644
44704
  }
44645
44705
  }),
44646
44706
  (() => {
44647
- var e = o0(), t = e.firstChild.nextSibling.nextSibling;
44707
+ var e = u0(), t = e.firstChild.nextSibling.nextSibling;
44648
44708
  return P(t, E), e;
44649
44709
  })()
44650
44710
  ];
@@ -44655,13 +44715,13 @@ function m0() {
44655
44715
  })();
44656
44716
  },
44657
44717
  get children() {
44658
- var e = H1(), t = e.firstChild;
44718
+ var e = K1(), t = e.firstChild;
44659
44719
  return P(t, j(M, {
44660
44720
  get when() {
44661
44721
  return !a.isLoading;
44662
44722
  },
44663
44723
  get fallback() {
44664
- return c0();
44724
+ return f0();
44665
44725
  },
44666
44726
  get children() {
44667
44727
  return j(M, {
@@ -44674,7 +44734,7 @@ function m0() {
44674
44734
  return a.isError;
44675
44735
  },
44676
44736
  get fallback() {
44677
- return c0();
44737
+ return f0();
44678
44738
  },
44679
44739
  get children() {
44680
44740
  return j(jj, { message: "Key rejected — reconnect" });
@@ -44682,7 +44742,7 @@ function m0() {
44682
44742
  });
44683
44743
  },
44684
44744
  get children() {
44685
- var e = V1(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
44745
+ var e = G1(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
44686
44746
  return P(t, () => a.data.name), P(n, () => a.data.email), e;
44687
44747
  }
44688
44748
  });
@@ -44723,7 +44783,7 @@ function m0() {
44723
44783
  return o.isLoading;
44724
44784
  },
44725
44785
  get children() {
44726
- return [U1(), j(M, {
44786
+ return [q1(), j(M, {
44727
44787
  get when() {
44728
44788
  return o.data;
44729
44789
  },
@@ -44733,7 +44793,7 @@ function m0() {
44733
44793
  return o.data;
44734
44794
  },
44735
44795
  children: (e) => (() => {
44736
- var t = l0(), r = t.firstChild, i = r.nextSibling;
44796
+ var t = p0(), r = t.firstChild, i = r.nextSibling;
44737
44797
  return i.nextSibling, P(t, () => e.name, r), P(t, () => e.key, i), D(() => t.selected = e.id === n().defaultTeamId), D(() => t.value = e.id), t;
44738
44798
  })()
44739
44799
  });
@@ -44777,7 +44837,7 @@ function m0() {
44777
44837
  return s.isLoading;
44778
44838
  },
44779
44839
  get children() {
44780
- return [u0(), j(M, {
44840
+ return [m0(), j(M, {
44781
44841
  get when() {
44782
44842
  return s.data;
44783
44843
  },
@@ -44787,7 +44847,7 @@ function m0() {
44787
44847
  return s.data;
44788
44848
  },
44789
44849
  children: (e) => (() => {
44790
- var t = d0();
44850
+ var t = h0();
44791
44851
  return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
44792
44852
  })()
44793
44853
  });
@@ -44797,7 +44857,7 @@ function m0() {
44797
44857
  });
44798
44858
  },
44799
44859
  get children() {
44800
- return W1();
44860
+ return J1();
44801
44861
  }
44802
44862
  });
44803
44863
  }
@@ -44845,7 +44905,7 @@ function m0() {
44845
44905
  onBlur: (e) => {
44846
44906
  r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
44847
44907
  }
44848
- }), G1()];
44908
+ }), Y1()];
44849
44909
  }
44850
44910
  }),
44851
44911
  j(Ej, {
@@ -44902,7 +44962,7 @@ function m0() {
44902
44962
  label: "Test account",
44903
44963
  hint: "The cloud agent logs into the app with this while testing and recording its demo. Added to every issue's Agent instructions. Use a throwaway account — it's visible to everyone who can read the issue.",
44904
44964
  get children() {
44905
- var e = K1();
44965
+ var e = X1();
44906
44966
  return P(e, j(bj, {
44907
44967
  placeholder: "Username or email (e.g. demo@yourapp.com)",
44908
44968
  get value() {
@@ -44934,7 +44994,7 @@ function m0() {
44934
44994
  title: "Panel",
44935
44995
  get children() {
44936
44996
  return [(() => {
44937
- var e = q1(), t = e.firstChild.nextSibling;
44997
+ var e = Z1(), t = e.firstChild.nextSibling;
44938
44998
  return P(t, j(We, {
44939
44999
  each: [{
44940
45000
  id: "overlay",
@@ -44944,7 +45004,7 @@ function m0() {
44944
45004
  label: "Beside page"
44945
45005
  }],
44946
45006
  children: (e) => (() => {
44947
- var t = r0();
45007
+ var t = s0();
44948
45008
  return t.$$click = () => void r({
44949
45009
  panelMode: e.id,
44950
45010
  panelPos: void 0
@@ -44952,11 +45012,11 @@ function m0() {
44952
45012
  })()
44953
45013
  })), e;
44954
45014
  })(), (() => {
44955
- var e = J1(), t = e.firstChild.nextSibling;
45015
+ var e = Q1(), t = e.firstChild.nextSibling;
44956
45016
  return P(t, j(We, {
44957
45017
  each: ["left", "right"],
44958
45018
  children: (e) => (() => {
44959
- var t = r0();
45019
+ var t = s0();
44960
45020
  return t.$$click = () => void r({ panelSide: e }), P(t, e === "left" ? "Left" : "Right"), D(() => st(t, `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors ${(n().panelSide ?? "right") === e ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
44961
45021
  })()
44962
45022
  })), e;
@@ -45068,12 +45128,12 @@ function m0() {
45068
45128
  });
45069
45129
  },
45070
45130
  get children() {
45071
- return [Y1(), j(We, {
45131
+ return [$1(), j(We, {
45072
45132
  get each() {
45073
45133
  return O.data ?? [];
45074
45134
  },
45075
45135
  children: (e) => (() => {
45076
- var t = f0();
45136
+ var t = g0();
45077
45137
  return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
45078
45138
  })()
45079
45139
  })];
@@ -45124,10 +45184,10 @@ function m0() {
45124
45184
  }
45125
45185
  }),
45126
45186
  (() => {
45127
- var e = X1(), t = e.firstChild;
45187
+ var e = e0(), t = e.firstChild;
45128
45188
  return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
45129
45189
  })(),
45130
- Z1()
45190
+ t0()
45131
45191
  ];
45132
45192
  }
45133
45193
  }), null), P(e, j(Dj, {
@@ -45165,7 +45225,7 @@ function m0() {
45165
45225
  }
45166
45226
  }),
45167
45227
  (() => {
45168
- var e = Q1(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
45228
+ var e = n0(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
45169
45229
  return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
45170
45230
  var r = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors ${n().preferredProvider === void 0 ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`, o = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors disabled:cursor-not-allowed ${n().preferredProvider === "openai" ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer disabled:text-text-faint"}`, s = !n().openaiKey, c = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors disabled:cursor-not-allowed ${n().preferredProvider === "anthropic" ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer disabled:text-text-faint"}`, l = !n().anthropicKey;
45171
45231
  return r !== e.e && st(t, e.e = r), o !== e.t && st(i, e.t = o), s !== e.a && (i.disabled = e.a = s), c !== e.o && st(a, e.o = c), l !== e.i && (a.disabled = e.i = l), e;
@@ -45178,16 +45238,16 @@ function m0() {
45178
45238
  }), e;
45179
45239
  })(),
45180
45240
  (() => {
45181
- var e = e0();
45241
+ var e = i0();
45182
45242
  return P(e, j(M, {
45183
45243
  get when() {
45184
45244
  return te();
45185
45245
  },
45186
45246
  get fallback() {
45187
- return p0();
45247
+ return _0();
45188
45248
  },
45189
45249
  get children() {
45190
- var e = $1();
45250
+ var e = r0();
45191
45251
  return P(e, te), e;
45192
45252
  }
45193
45253
  })), e;
@@ -45197,7 +45257,7 @@ function m0() {
45197
45257
  }), null), P(e, j(Dj, {
45198
45258
  title: "How it works",
45199
45259
  get children() {
45200
- return t0();
45260
+ return a0();
45201
45261
  }
45202
45262
  }), null), e;
45203
45263
  })();
@@ -45205,38 +45265,38 @@ function m0() {
45205
45265
  rt(["click"]);
45206
45266
  //#endregion
45207
45267
  //#region src/lib/idbCache.ts
45208
- var h0 = "linear-grab", g0 = "queries", _0 = [
45268
+ var y0 = "linear-grab", b0 = "queries", x0 = [
45209
45269
  "my-issues",
45210
45270
  "issue",
45211
45271
  "sessions",
45212
45272
  "teams",
45213
45273
  "agents"
45214
45274
  ];
45215
- function v0() {
45275
+ function S0() {
45216
45276
  return new Promise((e) => {
45217
45277
  try {
45218
- let t = indexedDB.open(h0, 1);
45219
- t.onupgradeneeded = () => t.result.createObjectStore(g0), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
45278
+ let t = indexedDB.open(y0, 1);
45279
+ t.onupgradeneeded = () => t.result.createObjectStore(b0), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
45220
45280
  } catch {
45221
45281
  e(null);
45222
45282
  }
45223
45283
  });
45224
45284
  }
45225
- function y0(e) {
45226
- return typeof e[0] == "string" && _0.includes(e[0]);
45285
+ function C0(e) {
45286
+ return typeof e[0] == "string" && x0.includes(e[0]);
45227
45287
  }
45228
- async function b0(e) {
45229
- let t = await v0();
45288
+ async function w0(e) {
45289
+ let t = await S0();
45230
45290
  if (!t) return () => {};
45231
45291
  await new Promise((n) => {
45232
45292
  try {
45233
- let r = t.transaction(g0, "readonly").objectStore(g0).openCursor();
45293
+ let r = t.transaction(b0, "readonly").objectStore(b0).openCursor();
45234
45294
  r.onsuccess = () => {
45235
45295
  let t = r.result;
45236
45296
  if (!t) return n();
45237
45297
  try {
45238
45298
  let { queryKey: n, data: r } = t.value;
45239
- y0(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
45299
+ C0(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
45240
45300
  } catch {}
45241
45301
  t.continue();
45242
45302
  }, r.onerror = () => n();
@@ -45247,14 +45307,14 @@ async function b0(e) {
45247
45307
  let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
45248
45308
  if (r.type !== "updated" || r.action.type !== "success") return;
45249
45309
  let { queryKey: i, queryHash: a } = r.query;
45250
- if (!y0(i)) return;
45310
+ if (!C0(i)) return;
45251
45311
  let o = n.get(a);
45252
45312
  o && clearTimeout(o), n.set(a, setTimeout(() => {
45253
45313
  n.delete(a);
45254
45314
  try {
45255
45315
  let n = e.getQueryData(i);
45256
45316
  if (n === void 0) return;
45257
- t.transaction(g0, "readwrite").objectStore(g0).put({
45317
+ t.transaction(b0, "readwrite").objectStore(b0).put({
45258
45318
  queryKey: i,
45259
45319
  data: n
45260
45320
  }, a);
@@ -45270,7 +45330,7 @@ async function b0(e) {
45270
45330
  //#endregion
45271
45331
  //#region src/panel/App.tsx
45272
45332
  Rr();
45273
- var x0 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hidden><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3541-.0443L12.6587 18.074Z\">"), S0 = /*#__PURE__*/ N("<button><svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><rect x=1.5 y=2.5 width=13 height=11 rx=1.5></rect><path d=\"M10 2.5v11\">"), C0 = /*#__PURE__*/ N("<button aria-label=\"Minimize to launcher\"title=\"Minimize to launcher\"class=\"text-text-dim hover:text-text hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md text-[15px] leading-none transition-colors\">–"), w0 = /*#__PURE__*/ N("<div class=\"bg-bg text-text flex h-full flex-col\"><header><span class=\"text-accent mr-0.5 inline-flex shrink-0\"title=\"Linear Grab\"></span><div class=\"no-scrollbar flex min-w-0 flex-1 items-center gap-1 overflow-x-auto\"></div></header><main class=\"min-h-0 flex-1\"><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full>"), T0 = /*#__PURE__*/ N("<button>"), E0 = [
45333
+ var T0 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hidden><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3541-.0443L12.6587 18.074Z\">"), E0 = /*#__PURE__*/ N("<button><svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><rect x=1.5 y=2.5 width=13 height=11 rx=1.5></rect><path d=\"M10 2.5v11\">"), D0 = /*#__PURE__*/ N("<button aria-label=\"Minimize to launcher\"title=\"Minimize to launcher\"class=\"text-text-dim hover:text-text hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md text-[15px] leading-none transition-colors\">–"), O0 = /*#__PURE__*/ N("<div class=\"bg-bg text-text flex h-full flex-col\"><header><span class=\"text-accent mr-0.5 inline-flex shrink-0\"title=\"Linear Grab\"></span><div class=\"no-scrollbar flex min-w-0 flex-1 items-center gap-1 overflow-x-auto\"></div></header><main class=\"min-h-0 flex-1\"><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full>"), k0 = /*#__PURE__*/ N("<button>"), A0 = [
45274
45334
  {
45275
45335
  id: "draft",
45276
45336
  label: "Draft"
@@ -45295,14 +45355,14 @@ var x0 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
45295
45355
  id: "settings",
45296
45356
  label: "Settings"
45297
45357
  }
45298
- ], D0 = new gr({ defaultOptions: { queries: {
45358
+ ], j0 = new gr({ defaultOptions: { queries: {
45299
45359
  retry: 1,
45300
45360
  refetchOnWindowFocus: !1,
45301
45361
  staleTime: 5e3
45302
45362
  } } });
45303
- function O0(e) {
45363
+ function M0(e) {
45304
45364
  return (() => {
45305
- var t = x0();
45365
+ var t = T0();
45306
45366
  return D((n) => {
45307
45367
  var r = e.size ?? 14, i = e.size ?? 14;
45308
45368
  return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
@@ -45312,32 +45372,32 @@ function O0(e) {
45312
45372
  }), t;
45313
45373
  })();
45314
45374
  }
45315
- function k0(e) {
45375
+ function N0(e) {
45316
45376
  let [t, n] = T("draft"), r = () => {
45317
- D0.invalidateQueries({ queryKey: ["grab"] }), ZA() === "capture" && n("capture"), e.onGrab?.();
45377
+ j0.invalidateQueries({ queryKey: ["grab"] }), ZA() === "capture" && n("capture"), e.onGrab?.();
45318
45378
  };
45319
45379
  return O(() => {
45320
45380
  let e = GA();
45321
45381
  e && n(e);
45322
45382
  }), ie(() => {
45323
- let e = b0(D0), t = IZ(r), n = () => {
45324
- RO().then(KQ), FO();
45383
+ let e = w0(j0), t = IZ(r), n = () => {
45384
+ RO().then(qQ), FO();
45325
45385
  };
45326
45386
  n();
45327
45387
  let i = Ar((e) => {
45328
- e === "settings" && (D0.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
45388
+ e === "settings" && (j0.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
45329
45389
  });
45330
45390
  ae(() => {
45331
45391
  t(), i(), e.then((e) => e());
45332
45392
  });
45333
45393
  }), j(cr, {
45334
- client: D0,
45394
+ client: j0,
45335
45395
  get children() {
45336
- var r = w0(), i = r.firstChild, a = i.firstChild, o = a.nextSibling, s = i.nextSibling.firstChild, c = s.nextSibling, l = c.nextSibling, u = l.nextSibling, d = u.nextSibling, f = d.nextSibling;
45337
- return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(O0, { size: 14 })), P(o, j(We, {
45338
- each: E0,
45396
+ var r = O0(), i = r.firstChild, a = i.firstChild, o = a.nextSibling, s = i.nextSibling.firstChild, c = s.nextSibling, l = c.nextSibling, u = l.nextSibling, d = u.nextSibling, f = d.nextSibling;
45397
+ return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(M0, { size: 14 })), P(o, j(We, {
45398
+ each: A0,
45339
45399
  children: (e) => (() => {
45340
- var r = T0();
45400
+ var r = k0();
45341
45401
  return r.$$click = () => n(e.id), P(r, () => e.label), D(() => st(r, `h-6 shrink-0 rounded-md px-2 text-[12px] font-medium whitespace-nowrap transition-colors ${t() === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), r;
45342
45402
  })()
45343
45403
  })), P(i, j(M, {
@@ -45345,7 +45405,7 @@ function k0(e) {
45345
45405
  return e.onTogglePin;
45346
45406
  },
45347
45407
  get children() {
45348
- var t = S0();
45408
+ var t = E0();
45349
45409
  return t.$$click = () => e.onTogglePin?.(), D((n) => {
45350
45410
  var r = e.pinned ? "Switch to overlay" : "Dock beside page", i = e.pinned ? "Overlay the page" : "Dock beside page (squeezes the app, DevTools-style)", a = `hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md transition-colors ${e.pinned ? "text-accent" : "text-text-dim hover:text-text"}`;
45351
45411
  return r !== n.e && it(t, "aria-label", n.e = r), i !== n.t && it(t, "title", n.t = i), a !== n.a && st(t, n.a = a), n;
@@ -45360,10 +45420,10 @@ function k0(e) {
45360
45420
  return e.onClose;
45361
45421
  },
45362
45422
  get children() {
45363
- var t = C0();
45423
+ var t = D0();
45364
45424
  return t.$$click = () => e.onClose?.(), t;
45365
45425
  }
45366
- }), null), P(s, j(dM, { onCreated: () => n("activity") })), P(c, j(aQ, {})), P(l, j(N$, {})), P(u, j(b1, {})), P(d, j(N1, { onOpenIssue: () => n("activity") })), P(f, j(m0, {})), D((n) => {
45426
+ }), null), P(s, j(dM, { onCreated: () => n("activity") })), P(c, j(oQ, {})), P(l, j(I$, {})), P(u, j(w1, {})), P(d, j(L1, { onOpenIssue: () => n("activity") })), P(f, j(v0, {})), D((n) => {
45367
45427
  var r = `border-border bg-surface flex shrink-0 items-center gap-1 border-b px-2 py-1.5 select-none ${e.onHeaderPointerDown ? "cursor-grab active:cursor-grabbing" : ""}`, a = t() !== "draft", o = t() !== "capture", p = t() !== "activity", m = t() !== "local", h = t() !== "prs", g = t() !== "settings";
45368
45428
  return r !== n.e && st(i, n.e = r), a !== n.t && s.classList.toggle("hidden", n.t = a), o !== n.a && c.classList.toggle("hidden", n.a = o), p !== n.o && l.classList.toggle("hidden", n.o = p), m !== n.i && u.classList.toggle("hidden", n.i = m), h !== n.n && d.classList.toggle("hidden", n.n = h), g !== n.s && f.classList.toggle("hidden", n.s = g), n;
45369
45429
  }, {
@@ -45381,12 +45441,12 @@ function k0(e) {
45381
45441
  rt(["pointerdown", "click"]);
45382
45442
  //#endregion
45383
45443
  //#region src/styles/app.css?inline
45384
- var A0 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[68px\\]{min-width:68px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
45444
+ var P0 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[40\\%\\]{max-width:40%}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[68px\\]{min-width:68px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
45385
45445
  //#endregion
45386
45446
  //#region src/page/index.tsx
45387
45447
  Rr();
45388
- var j0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), M0 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), N0 = /*#__PURE__*/ N("<button class=\"bg-accent hover:bg-accent-hover h-7 cursor-pointer rounded-full px-2.5 text-[11px] font-medium text-white transition-colors\"><span class=\"inline-block min-w-[4ch] text-center\">Stop"), P0 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), F0 = /*#__PURE__*/ N("<div><p class=\"text-text-dim px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Running agents"), I0 = /*#__PURE__*/ N("<div class=\"fixed z-[2147483646] select-none\"><div class=\"bg-surface border-border text-text flex h-9 cursor-grab items-center gap-1 rounded-full border py-1 pr-1 pl-2.5 font-sans shadow-lg active:cursor-grabbing\">"), L0 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), R0 = /*#__PURE__*/ N("<button title=\"Open Linear Grab\"aria-label=\"Open Linear Grab\"class=\"text-accent hover:opacity-80 inline-flex cursor-pointer items-center gap-1.5\">"), z0 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), B0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), V0 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), H0 = /*#__PURE__*/ N("<button title=\"Running agents\"aria-label=\"Running agents\"class=\"hover:bg-surface-2 flex h-7 cursor-pointer items-center gap-1.5 rounded-full px-2 transition-colors\"><span aria-hidden></span><span>"), U0 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), W0 = /*#__PURE__*/ N("<button class=\"hover:bg-surface-2 flex w-full cursor-pointer flex-col gap-0.5 rounded-md px-1.5 py-1.5 text-left transition-colors\"><span class=\"flex min-w-0 items-center gap-1.5\"><span aria-hidden class=\"size-1.5 shrink-0 rounded-full\"></span><span class=\"font-mono text-text-dim shrink-0 text-[10.5px]\"></span><span class=\"text-text truncate text-[11.5px]\"></span></span><span class=\"text-text-faint pl-3 text-[10.5px] tabular-nums\"> · <!> · ");
45389
- function G0(e = {}) {
45448
+ var F0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), I0 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), L0 = /*#__PURE__*/ N("<button class=\"bg-accent hover:bg-accent-hover h-7 cursor-pointer rounded-full px-2.5 text-[11px] font-medium text-white transition-colors\"><span class=\"inline-block min-w-[4ch] text-center\">Stop"), R0 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), z0 = /*#__PURE__*/ N("<div><p class=\"text-text-dim px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Running agents"), B0 = /*#__PURE__*/ N("<div class=\"fixed z-[2147483646] select-none\"><div class=\"bg-surface border-border text-text flex h-9 cursor-grab items-center gap-1 rounded-full border py-1 pr-1 pl-2.5 font-sans shadow-lg active:cursor-grabbing\">"), V0 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), H0 = /*#__PURE__*/ N("<button title=\"Open Linear Grab\"aria-label=\"Open Linear Grab\"class=\"text-accent hover:opacity-80 inline-flex cursor-pointer items-center gap-1.5\">"), U0 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), W0 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), G0 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), K0 = /*#__PURE__*/ N("<button title=\"Running agents\"aria-label=\"Running agents\"class=\"hover:bg-surface-2 flex h-7 cursor-pointer items-center gap-1.5 rounded-full px-2 transition-colors\"><span aria-hidden></span><span>"), q0 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), J0 = /*#__PURE__*/ N("<button class=\"hover:bg-surface-2 flex w-full cursor-pointer flex-col gap-0.5 rounded-md px-1.5 py-1.5 text-left transition-colors\"><span class=\"flex min-w-0 items-center gap-1.5\"><span aria-hidden class=\"size-1.5 shrink-0 rounded-full\"></span><span class=\"font-mono text-text-dim shrink-0 text-[10.5px]\"></span><span class=\"text-text truncate text-[11.5px]\"></span></span><span class=\"text-text-faint pl-3 text-[10.5px] tabular-nums\"> · <!> · ");
45449
+ function Y0(e = {}) {
45390
45450
  if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
45391
45451
  window.__LINEAR_GRAB_PAGE__ = !0;
45392
45452
  let t = () => {
@@ -45394,17 +45454,17 @@ function G0(e = {}) {
45394
45454
  let t = document.createElement("div");
45395
45455
  t.id = "linear-grab-root", document.body.appendChild(t);
45396
45456
  let n = t.attachShadow({ mode: "open" }), r = document.createElement("style");
45397
- r.textContent = A0, n.appendChild(r);
45457
+ r.textContent = P0, n.appendChild(r);
45398
45458
  let i = document.createElement("div");
45399
45459
  n.appendChild(i);
45400
- let a = () => i.setAttribute("data-theme", K0());
45401
- a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), nt(() => j(Q0, { get defaultOpen() {
45460
+ let a = () => i.setAttribute("data-theme", X0());
45461
+ a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), nt(() => j(n2, { get defaultOpen() {
45402
45462
  return e.defaultOpen ?? !1;
45403
45463
  } }), i);
45404
45464
  };
45405
45465
  document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
45406
45466
  }
45407
- function K0() {
45467
+ function X0() {
45408
45468
  try {
45409
45469
  let e = [document.body, document.documentElement];
45410
45470
  for (let t of e) {
@@ -45414,11 +45474,11 @@ function K0() {
45414
45474
  } catch {}
45415
45475
  return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
45416
45476
  }
45417
- var q0 = 130, J0 = 36, Y0 = 380, X0 = 280, Z0 = 720;
45418
- function Q0(e) {
45477
+ var Z0 = 130, Q0 = 36, $0 = 380, e2 = 280, t2 = 720;
45478
+ function n2(e) {
45419
45479
  let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
45420
- x: Math.max(8, window.innerWidth - q0 - 24),
45421
- y: Math.max(8, window.innerHeight - J0 - 20)
45480
+ x: Math.max(8, window.innerWidth - Z0 - 24),
45481
+ y: Math.max(8, window.innerHeight - Q0 - 20)
45422
45482
  }), [s, c] = T({
45423
45483
  running: [],
45424
45484
  review: []
@@ -45433,12 +45493,12 @@ function Q0(e) {
45433
45493
  let t = Math.floor(e / 1e3);
45434
45494
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
45435
45495
  }, [v, y] = T(null), b = (e) => ({
45436
- x: Math.min(Math.max(8, e.x), window.innerWidth - q0 - 8),
45437
- y: Math.min(Math.max(8, e.y), window.innerHeight - J0 - 8)
45496
+ x: Math.min(Math.max(8, e.x), window.innerWidth - Z0 - 8),
45497
+ y: Math.min(Math.max(8, e.y), window.innerHeight - Q0 - 8)
45438
45498
  }), x = (e) => ({
45439
45499
  x: Math.min(Math.max(8 - (te() - 80), e.x), window.innerWidth - 80),
45440
45500
  y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
45441
- }), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T(Y0), ne = (e) => Math.min(Z0, Math.max(X0, Math.min(e, window.innerWidth - 60)));
45501
+ }), [S, C] = T(!1), [w, E] = T("cloud"), [k, ee] = T(!1), [te, A] = T($0), ne = (e) => Math.min(t2, Math.max(e2, Math.min(e, window.innerWidth - 60)));
45442
45502
  O(() => {
45443
45503
  let e = document.documentElement, n = t() && S();
45444
45504
  e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${te()}px` : "", e.style.marginLeft = n && r() === "left" ? `${te()}px` : "";
@@ -45470,7 +45530,7 @@ function Q0(e) {
45470
45530
  window.addEventListener(DZ, r), ae(() => {
45471
45531
  window.removeEventListener(EZ, t), window.removeEventListener(DZ, r);
45472
45532
  });
45473
- let s = PQ(c), l = BD().phase, u = VD((e) => {
45533
+ let s = FQ(c), l = BD().phase, u = VD((e) => {
45474
45534
  m(e.phase), e.phase === "recording" && l !== "recording" && !S() && n(!1), e.phase === "ready" && l !== "ready" && (YA("capture"), n(!0)), l = e.phase;
45475
45535
  }), d = () => {
45476
45536
  o(b(a()));
@@ -45546,7 +45606,7 @@ function Q0(e) {
45546
45606
  return !t();
45547
45607
  },
45548
45608
  get children() {
45549
- var e = I0(), t = e.firstChild;
45609
+ var e = B0(), t = e.firstChild;
45550
45610
  return t.$$pointerdown = se, P(t, j(M, {
45551
45611
  get when() {
45552
45612
  return p() === "recording";
@@ -45554,14 +45614,14 @@ function Q0(e) {
45554
45614
  get fallback() {
45555
45615
  return [
45556
45616
  (() => {
45557
- var e = R0();
45617
+ var e = H0();
45558
45618
  return e.$$click = () => {
45559
45619
  oe || (f(!1), n(!0));
45560
- }, P(e, j(O0, { size: 13 })), e;
45620
+ }, P(e, j(M0, { size: 13 })), e;
45561
45621
  })(),
45562
- z0(),
45622
+ U0(),
45563
45623
  (() => {
45564
- var e = H0(), t = e.firstChild, n = t.nextSibling;
45624
+ var e = K0(), t = e.firstChild, n = t.nextSibling;
45565
45625
  return e.$$click = () => {
45566
45626
  oe || f((e) => !e);
45567
45627
  }, P(n, (() => {
@@ -45572,8 +45632,8 @@ function Q0(e) {
45572
45632
  return $e(() => !k())() && u().length > 0;
45573
45633
  },
45574
45634
  get children() {
45575
- return [B0(), (() => {
45576
- var e = V0(), t = e.firstChild;
45635
+ return [W0(), (() => {
45636
+ var e = G0(), t = e.firstChild;
45577
45637
  return P(e, () => u().length, t), e;
45578
45638
  })()];
45579
45639
  }
@@ -45589,13 +45649,13 @@ function Q0(e) {
45589
45649
  },
45590
45650
  get children() {
45591
45651
  return [
45592
- j0(),
45652
+ F0(),
45593
45653
  (() => {
45594
- var e = M0();
45654
+ var e = I0();
45595
45655
  return P(e, () => _(h())), e;
45596
45656
  })(),
45597
45657
  (() => {
45598
- var e = N0();
45658
+ var e = L0();
45599
45659
  return e.$$click = () => {
45600
45660
  oe || QD();
45601
45661
  }, e;
@@ -45607,17 +45667,17 @@ function Q0(e) {
45607
45667
  return d();
45608
45668
  },
45609
45669
  get children() {
45610
- var e = F0(), t = e.firstChild;
45670
+ var e = z0(), t = e.firstChild;
45611
45671
  return P(e, j(M, {
45612
45672
  get when() {
45613
45673
  return u().length > 0;
45614
45674
  },
45615
45675
  get children() {
45616
- return [P0(), j(We, {
45676
+ return [R0(), j(We, {
45617
45677
  get each() {
45618
45678
  return u();
45619
45679
  },
45620
- children: (e) => j($0, {
45680
+ children: (e) => j(r2, {
45621
45681
  agent: e,
45622
45682
  review: !0,
45623
45683
  onOpen: le
@@ -45629,14 +45689,14 @@ function Q0(e) {
45629
45689
  return l().length > 0;
45630
45690
  },
45631
45691
  get fallback() {
45632
- return U0();
45692
+ return q0();
45633
45693
  },
45634
45694
  get children() {
45635
45695
  return j(We, {
45636
45696
  get each() {
45637
45697
  return l();
45638
45698
  },
45639
- children: (e) => j($0, {
45699
+ children: (e) => j(r2, {
45640
45700
  agent: e,
45641
45701
  onOpen: le
45642
45702
  })
@@ -45657,8 +45717,8 @@ function Q0(e) {
45657
45717
  return t();
45658
45718
  },
45659
45719
  get children() {
45660
- var e = L0(), t = e.firstChild;
45661
- return t.$$pointerdown = ue, P(e, j(k0, {
45720
+ var e = V0(), t = e.firstChild;
45721
+ return t.$$pointerdown = ue, P(e, j(N0, {
45662
45722
  onGrab: () => n(!0),
45663
45723
  onClose: () => n(!1),
45664
45724
  get onHeaderPointerDown() {
@@ -45686,19 +45746,19 @@ function Q0(e) {
45686
45746
  }
45687
45747
  })];
45688
45748
  }
45689
- function $0(e) {
45749
+ function r2(e) {
45690
45750
  return (() => {
45691
- var t = W0(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
45751
+ var t = J0(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
45692
45752
  return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
45693
45753
  var t = $e(() => !!e.review);
45694
45754
  return () => t() ? "PR ready · needs review" : e.agent.stateName;
45695
- })(), s), P(o, () => e.agent.delegateName, c), P(o, () => e2(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
45755
+ })(), s), P(o, () => e.agent.delegateName, c), P(o, () => i2(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
45696
45756
  })();
45697
45757
  }
45698
- function e2(e) {
45758
+ function i2(e) {
45699
45759
  let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
45700
45760
  return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
45701
45761
  }
45702
45762
  rt(["pointerdown", "click"]);
45703
45763
  //#endregion
45704
- export { G0 as init };
45764
+ export { Y0 as init };