@pstdio/ui 0.2.0 → 0.2.2

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.
Files changed (45) hide show
  1. package/dist/chat-ui.js +691 -637
  2. package/dist/chat-ui.js.map +1 -1
  3. package/dist/components/chat-ui/agent-types.d.ts +1 -0
  4. package/dist/components/chat-ui/components/ai-conversation.d.ts +21 -579
  5. package/dist/components/chat-ui/components/ai-conversation.test.d.ts +1 -0
  6. package/dist/components/chat-ui/components/ai-message.d.ts +8 -8
  7. package/dist/components/chat-ui/components/chat-panel.d.ts +2 -0
  8. package/dist/components/chat-ui/components/message-parts-renderer.stories.d.ts +1 -0
  9. package/dist/components/chat-ui/components/message-types.d.ts +8 -0
  10. package/dist/components/menu-item.d.ts +3 -1
  11. package/dist/components/menu-item.stories.d.ts +1 -1
  12. package/dist/components/rich-text/rich-message/rich-message.d.ts +1 -0
  13. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeNode.d.ts +2 -0
  14. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeNode.test.d.ts +1 -0
  15. package/dist/components/scroll-area.d.ts +1 -0
  16. package/dist/components/sidebar-next/sidebar-next-header.d.ts +1 -1
  17. package/dist/components/sidebar-next/sidebar-next.types.d.ts +3 -1
  18. package/dist/components/sidebar-tree/sidebar-tree.d.ts +2 -1
  19. package/dist/components/sidebar-tree/sidebar-tree.types.d.ts +9 -1
  20. package/dist/components/tickets/display-menu.d.ts +15 -0
  21. package/dist/components/tickets/display-menu.stories.d.ts +6 -0
  22. package/dist/components/tickets/filter-menu.d.ts +11 -0
  23. package/dist/components/tickets/filter-menu.stories.d.ts +6 -0
  24. package/dist/components/tickets/ticket-board.d.ts +7 -0
  25. package/dist/components/tickets/ticket-grouping.d.ts +22 -0
  26. package/dist/components/tickets/ticket-grouping.test.d.ts +1 -0
  27. package/dist/components/tickets/tickets-workspace.d.ts +29 -0
  28. package/dist/components/tickets/tickets-workspace.stories.d.ts +10 -0
  29. package/dist/components/tickets/types.d.ts +49 -0
  30. package/dist/components/tickets/use-workspace-store.d.ts +51 -0
  31. package/dist/components/tickets/use-workspace-store.test.d.ts +1 -0
  32. package/dist/index.d.ts +8 -1
  33. package/dist/index.js +2077 -1211
  34. package/dist/index.js.map +1 -1
  35. package/dist/{rich-message-B2gxL8oy.js → rich-message-C0_i-4Ux.js} +323 -308
  36. package/dist/rich-message-C0_i-4Ux.js.map +1 -0
  37. package/dist/rich-text.js +89 -88
  38. package/dist/rich-text.js.map +1 -1
  39. package/dist/scroll-area-DZs-GiIp.js +267 -0
  40. package/dist/scroll-area-DZs-GiIp.js.map +1 -0
  41. package/dist/style.css +1 -1
  42. package/package.json +2 -2
  43. package/dist/empty-state-B8mbv7ZH.js +0 -128
  44. package/dist/empty-state-B8mbv7ZH.js.map +0 -1
  45. package/dist/rich-message-B2gxL8oy.js.map +0 -1
package/dist/chat-ui.js CHANGED
@@ -1,10 +1,11 @@
1
- import { jsx as l, jsxs as x, Fragment as De } from "react/jsx-runtime";
1
+ import { jsx as i, jsxs as x, Fragment as Le } from "react/jsx-runtime";
2
2
  import { c as y } from "react/compiler-runtime";
3
- import { chakra as je, AbsoluteCenter as ft, IconButton as Ue, defineSlotRecipe as pt, createSlotRecipeContext as mt, Text as Q, Code as Me, Button as Ae, HStack as qe, Box as T, Flex as pe, Tooltip as fe, Portal as ht, Kbd as gt, Spacer as bt, Timeline as xt, Span as se, Avatar as Z, Card as M, Link as Ve, Stack as Ke, Spinner as yt } from "@chakra-ui/react";
4
- import { ArrowDownIcon as St, ShieldX as kt, ShieldCheck as Tt, Square as wt, ArrowUp as Ct, Move as Pt, FileDown as _t, FileUp as Rt, FileDiff as It, Trash2 as Bt, FilePen as At, FileText as Dt, ListTree as vt, Terminal as Ge, File as Ft, Globe as $t, Search as zt, AlertTriangle as Mt, DotIcon as Ot, ChevronUpIcon as Lt, MessageCircleIcon as Et } from "lucide-react";
5
- import { StickToBottom as Ye, useStickToBottomContext as Je } from "use-stick-to-bottom";
6
- import { useRef as Xe, useEffect as Qe, useState as oe } from "react";
7
- import { f as Re, P as Wt, g as Nt, R as Ze, h as Ht } from "./rich-message-B2gxL8oy.js";
3
+ import { chakra as gt, AbsoluteCenter as bt, IconButton as Ye, defineSlotRecipe as xt, createSlotRecipeContext as yt, Text as te, Code as Ue, Button as $e, HStack as Qe, Box as k, Flex as be, Tooltip as ge, Portal as St, Kbd as kt, Spacer as Tt, Timeline as wt, Span as ae, Avatar as ne, Card as N, Link as Ze, Stack as et, Spinner as Ct } from "@chakra-ui/react";
4
+ import { ArrowDownIcon as Pt, ShieldX as _t, ShieldCheck as Rt, Square as It, ArrowUp as Bt, Move as Dt, FileDown as At, FileUp as vt, FileDiff as Ft, Trash2 as zt, FilePen as $t, FileText as Mt, ListTree as Ot, Terminal as tt, File as Lt, Globe as Wt, Search as Et, AlertTriangle as Ht, DotIcon as Nt, ChevronUpIcon as jt, MessageCircleIcon as Ut } from "lucide-react";
5
+ import { StickToBottom as Vt, useStickToBottomContext as We } from "use-stick-to-bottom";
6
+ import { S as nt, D as qt, a as Kt, E as Gt } from "./scroll-area-DZs-GiIp.js";
7
+ import { useRef as Me, useEffect as Oe, useState as ce } from "react";
8
+ import { f as Ae, P as Jt, g as Xt, R as rt, h as Yt } from "./rich-message-C0_i-4Ux.js";
8
9
  import "@lexical/react/LexicalCollaborationContext";
9
10
  import "@lexical/react/LexicalCollaborationPlugin";
10
11
  import "@lexical/react/LexicalComposer";
@@ -29,43 +30,56 @@ import "@lexical/react/LexicalAutoFocusPlugin";
29
30
  import "@lexical/react/LexicalHistoryPlugin";
30
31
  import "@lexical/react/LexicalOnChangePlugin";
31
32
  import "@lexical/react/LexicalTreeView";
32
- import { D as jt, a as Ut, E as qt } from "./empty-state-B8mbv7ZH.js";
33
- const Vt = {
33
+ const Qt = {
34
34
  "aria-roledescription": "conversation",
35
35
  initial: "instant",
36
36
  resize: "instant",
37
37
  role: "log"
38
- }, Kt = je(Ye, {
38
+ }, Zt = gt(Vt, {
39
39
  base: {
40
40
  position: "relative",
41
41
  flex: 1,
42
- overflowY: "auto",
42
+ overflow: "hidden",
43
43
  height: "full"
44
44
  }
45
45
  }, {
46
46
  forwardProps: ["resize"],
47
- defaultProps: Vt
48
- }), Gt = je(Ye.Content, {
49
- base: {
50
- p: "0"
51
- }
52
- }, {
53
- defaultProps: {
47
+ defaultProps: Qt
48
+ }), en = (t) => {
49
+ const e = y(9);
50
+ let n, r;
51
+ e[0] !== t ? ({
52
+ children: n,
53
+ ...r
54
+ } = t, e[0] = t, e[1] = n, e[2] = r) : (n = e[1], r = e[2]);
55
+ const {
56
+ contentRef: o,
57
+ scrollRef: s
58
+ } = We(), l = s, c = o;
59
+ let d;
60
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (d = {
61
+ p: "sm",
54
62
  "aria-live": "polite",
55
63
  role: "list"
56
- }
57
- }), Yt = (t) => {
64
+ }, e[3] = d) : d = e[3];
65
+ let a;
66
+ return e[4] !== n || e[5] !== r || e[6] !== l || e[7] !== c ? (a = /* @__PURE__ */ i(nt, { ...r, height: "full", width: "full", showHorizontalScrollbar: !1, viewportRef: l, contentRef: c, contentProps: d, children: n }), e[4] = n, e[5] = r, e[6] = l, e[7] = c, e[8] = a) : a = e[8], a;
67
+ }, tn = {
68
+ axis: "horizontal",
69
+ bottom: "md",
70
+ zIndex: 2
71
+ }, nn = (t) => {
58
72
  const e = y(4), {
59
73
  isAtBottom: n,
60
- scrollToBottom: s
61
- } = Je();
62
- let r;
63
- return e[0] !== n || e[1] !== t || e[2] !== s ? (r = !n && /* @__PURE__ */ l(ft, { axis: "horizontal", bottom: "md", children: /* @__PURE__ */ l(Ue, { rounded: "full", onClick: () => s(), variant: "outline", size: "xs", ...t, children: /* @__PURE__ */ l(St, { size: 16 }) }) }), e[0] = n, e[1] = t, e[2] = s, e[3] = r) : r = e[3], r;
64
- }, Ie = {
65
- Root: Kt,
66
- Viewport: Gt,
67
- ScrollToBottom: Yt
68
- }, Jt = pt({
74
+ scrollToBottom: r
75
+ } = We();
76
+ let o;
77
+ return e[0] !== n || e[1] !== t || e[2] !== r ? (o = !n && /* @__PURE__ */ i(bt, { ...tn, children: /* @__PURE__ */ i(Ye, { rounded: "full", onClick: () => r(), variant: "outline", size: "xs", ...t, children: /* @__PURE__ */ i(Pt, { size: 16 }) }) }), e[0] = n, e[1] = t, e[2] = r, e[3] = o) : o = e[3], o;
78
+ }, ve = {
79
+ Root: Zt,
80
+ Viewport: en,
81
+ ScrollToBottom: nn
82
+ }, rn = xt({
69
83
  className: "ai-message",
70
84
  slots: ["root", "content"],
71
85
  base: {
@@ -74,7 +88,10 @@ const Vt = {
74
88
  width: "full",
75
89
  alignItems: "end",
76
90
  justifyContent: "end",
77
- gap: "sm"
91
+ gap: "sm",
92
+ "&:has(+ [data-scope='ai-message'][data-part='root'])": {
93
+ mb: 0
94
+ }
78
95
  },
79
96
  content: {
80
97
  display: "flex",
@@ -89,13 +106,13 @@ const Vt = {
89
106
  user: {
90
107
  root: {
91
108
  mb: "md",
92
- flexDirection: "row",
93
- "& > div": {
94
- marginLeft: "lg"
95
- }
109
+ flexDirection: "row"
96
110
  },
97
111
  content: {
98
- bg: "bg.muted",
112
+ border: "1px solid",
113
+ borderColor: "border.muted",
114
+ bg: "bg.subtle",
115
+ width: "full",
99
116
  borderBottomRightRadius: 0
100
117
  }
101
118
  },
@@ -103,10 +120,10 @@ const Vt = {
103
120
  root: {
104
121
  mb: "md",
105
122
  flexDirection: "row",
106
- justifyContent: "start",
107
- "& > div": {
108
- marginRight: "lg"
109
- }
123
+ justifyContent: "start"
124
+ },
125
+ content: {
126
+ width: "full"
110
127
  }
111
128
  },
112
129
  developer: {
@@ -150,7 +167,7 @@ const Vt = {
150
167
  shape: {
151
168
  rounded: {
152
169
  content: {
153
- rounded: "lg"
170
+ rounded: "xs"
154
171
  }
155
172
  },
156
173
  pill: {
@@ -171,259 +188,267 @@ const Vt = {
171
188
  shape: "rounded"
172
189
  }
173
190
  }), {
174
- withProvider: Xt,
175
- withContext: Qt
176
- } = mt({
177
- recipe: Jt
178
- }), Zt = Xt("div", "root"), en = Qt("div", "content"), Oe = {
179
- Root: Zt,
180
- Content: en
181
- }, tn = (t) => {
191
+ withProvider: on,
192
+ withContext: sn
193
+ } = yt({
194
+ recipe: rn
195
+ }), ln = on("div", "root"), cn = sn("div", "content"), Ve = {
196
+ Root: ln,
197
+ Content: cn
198
+ }, an = (t) => {
182
199
  if (t == null) return null;
183
200
  const e = typeof t == "string" ? t : JSON.stringify(t, null, 2);
184
201
  return e.length === 0 ? null : e.length > 200 ? `${e.slice(0, 200)}...` : e;
185
- }, lo = (t) => {
202
+ }, ho = (t) => {
186
203
  const e = y(19), {
187
204
  toolName: n,
188
- toolInput: s,
189
- onApprove: r,
190
- onDeny: o
205
+ toolInput: r,
206
+ onApprove: o,
207
+ onDeny: s
191
208
  } = t;
192
- let i;
193
- e[0] !== s ? (i = tn(s), e[0] = s, e[1] = i) : i = e[1];
194
- const c = i;
209
+ let l;
210
+ e[0] !== r ? (l = an(r), e[0] = r, e[1] = l) : l = e[1];
211
+ const c = l;
195
212
  let d;
196
- e[2] !== n ? (d = /* @__PURE__ */ x(Q, { textStyle: "label/S/medium", color: "fg", children: [
213
+ e[2] !== n ? (d = /* @__PURE__ */ x(te, { textStyle: "label/S/medium", color: "fg", children: [
197
214
  "Allow ",
198
- /* @__PURE__ */ l(Me, { size: "sm", children: n }),
215
+ /* @__PURE__ */ i(Ue, { size: "sm", children: n }),
199
216
  "?"
200
217
  ] }), e[2] = n, e[3] = d) : d = e[3];
201
218
  let a;
202
- e[4] !== c ? (a = c ? /* @__PURE__ */ l(Me, { size: "sm", whiteSpace: "pre-wrap", maxH: "6rem", overflowY: "auto", children: c }) : null, e[4] = c, e[5] = a) : a = e[5];
219
+ e[4] !== c ? (a = c ? /* @__PURE__ */ i(Ue, { size: "sm", whiteSpace: "pre-wrap", maxH: "6rem", overflowY: "auto", children: c }) : null, e[4] = c, e[5] = a) : a = e[5];
203
220
  let u;
204
- e[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ l(kt, { size: 14 }), e[6] = u) : u = e[6];
221
+ e[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ i(_t, { size: 14 }), e[6] = u) : u = e[6];
205
222
  let f;
206
- e[7] !== o ? (f = /* @__PURE__ */ x(Ae, { size: "xs", variant: "outline", onClick: o, children: [
223
+ e[7] !== s ? (f = /* @__PURE__ */ x($e, { size: "xs", variant: "outline", onClick: s, children: [
207
224
  u,
208
225
  "Deny"
209
- ] }), e[7] = o, e[8] = f) : f = e[8];
226
+ ] }), e[7] = s, e[8] = f) : f = e[8];
210
227
  let p;
211
- e[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (p = /* @__PURE__ */ l(Tt, { size: 14 }), e[9] = p) : p = e[9];
228
+ e[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (p = /* @__PURE__ */ i(Rt, { size: 14 }), e[9] = p) : p = e[9];
212
229
  let m;
213
- e[10] !== r ? (m = /* @__PURE__ */ x(Ae, { size: "xs", colorPalette: "green", onClick: r, children: [
230
+ e[10] !== o ? (m = /* @__PURE__ */ x($e, { size: "xs", colorPalette: "green", onClick: o, children: [
214
231
  p,
215
232
  "Allow"
216
- ] }), e[10] = r, e[11] = m) : m = e[11];
233
+ ] }), e[10] = o, e[11] = m) : m = e[11];
217
234
  let h;
218
- e[12] !== f || e[13] !== m ? (h = /* @__PURE__ */ x(qe, { gap: "xs", justifyContent: "flex-end", children: [
235
+ e[12] !== f || e[13] !== m ? (h = /* @__PURE__ */ x(Qe, { gap: "xs", justifyContent: "flex-end", children: [
219
236
  f,
220
237
  m
221
238
  ] }), e[12] = f, e[13] = m, e[14] = h) : h = e[14];
222
- let g;
223
- return e[15] !== d || e[16] !== a || e[17] !== h ? (g = /* @__PURE__ */ l(T, { px: "sm", py: "xs", mx: "sm", borderWidth: "1px", borderColor: "border.warning", borderRadius: "lg", bg: "bg.warning", children: /* @__PURE__ */ x(pe, { direction: "column", gap: "xs", children: [
239
+ let b;
240
+ return e[15] !== d || e[16] !== a || e[17] !== h ? (b = /* @__PURE__ */ i(k, { px: "sm", py: "xs", mx: "sm", borderWidth: "1px", borderColor: "border.warning", borderRadius: "lg", bg: "bg.warning", children: /* @__PURE__ */ x(be, { direction: "column", gap: "xs", children: [
224
241
  d,
225
242
  a,
226
243
  h
227
- ] }) }), e[15] = d, e[16] = a, e[17] = h, e[18] = g) : g = e[18], g;
228
- }, nn = (t) => {
244
+ ] }) }), e[15] = d, e[16] = a, e[17] = h, e[18] = b) : b = e[18], b;
245
+ }, dn = (t) => {
229
246
  const {
230
247
  previousUserMessageCount: e,
231
248
  userMessageCount: n
232
249
  } = t;
233
250
  return e === 0 ? !1 : n > e;
234
251
  };
235
- function rn(t) {
252
+ function un(t) {
236
253
  const e = y(4), {
237
254
  userMessageCount: n
238
255
  } = t, {
239
- scrollToBottom: s
240
- } = Je(), r = Xe(n);
241
- let o, i;
242
- return e[0] !== s || e[1] !== n ? (o = () => {
243
- nn({
244
- previousUserMessageCount: r.current,
256
+ scrollToBottom: r
257
+ } = We(), o = Me(n);
258
+ let s, l;
259
+ return e[0] !== r || e[1] !== n ? (s = () => {
260
+ dn({
261
+ previousUserMessageCount: o.current,
245
262
  userMessageCount: n
246
- }) && s(), r.current = n;
247
- }, i = [n, s], e[0] = s, e[1] = n, e[2] = o, e[3] = i) : (o = e[2], i = e[3]), Qe(o, i), null;
263
+ }) && r(), o.current = n;
264
+ }, l = [n, r], e[0] = r, e[1] = n, e[2] = s, e[3] = l) : (s = e[2], l = e[3]), Oe(s, l), null;
248
265
  }
249
- const on = (t) => {
266
+ const fn = (t) => {
250
267
  const e = y(22);
251
- let n, s, r, o;
268
+ let n, r, o, s;
252
269
  e[0] !== t ? ({
253
- title: o,
254
- shortcut: r,
270
+ title: s,
271
+ shortcut: o,
255
272
  canInterrupt: n,
256
- ...s
257
- } = t, e[0] = t, e[1] = n, e[2] = s, e[3] = r, e[4] = o) : (n = e[1], s = e[2], r = e[3], o = e[4]);
258
- const i = s["aria-label"] ?? o;
273
+ ...r
274
+ } = t, e[0] = t, e[1] = n, e[2] = r, e[3] = o, e[4] = s) : (n = e[1], r = e[2], o = e[3], s = e[4]);
275
+ const l = r["aria-label"] ?? s;
259
276
  let c;
260
- e[5] !== n ? (c = n ? /* @__PURE__ */ l(wt, { size: 16, strokeWidth: 2, fill: "currentColor" }) : /* @__PURE__ */ l(Ct, { size: 16, strokeWidth: 2 }), e[5] = n, e[6] = c) : c = e[6];
277
+ e[5] !== n ? (c = n ? /* @__PURE__ */ i(It, { size: 16, strokeWidth: 2, fill: "currentColor" }) : /* @__PURE__ */ i(Bt, { size: 16, strokeWidth: 2 }), e[5] = n, e[6] = c) : c = e[6];
261
278
  const d = c;
262
279
  let a;
263
- e[7] !== i || e[8] !== d || e[9] !== s || e[10] !== o ? (a = /* @__PURE__ */ l(Ue, { size: "sm", variant: "solid", borderRadius: "full", colorPalette: "primary", "aria-label": i, title: o, ...s, children: d }), e[7] = i, e[8] = d, e[9] = s, e[10] = o, e[11] = a) : a = e[11];
280
+ e[7] !== l || e[8] !== d || e[9] !== r || e[10] !== s ? (a = /* @__PURE__ */ i(Ye, { size: "sm", variant: "solid", borderRadius: "full", colorPalette: "primary", "aria-label": l, title: s, ...r, children: d }), e[7] = l, e[8] = d, e[9] = r, e[10] = s, e[11] = a) : a = e[11];
264
281
  const u = a;
265
- if (o) {
282
+ if (s) {
266
283
  let f;
267
- e[12] !== r || e[13] !== o ? (f = r ? /* @__PURE__ */ x(De, { children: [
268
- o,
284
+ e[12] !== o || e[13] !== s ? (f = o ? /* @__PURE__ */ x(Le, { children: [
285
+ s,
269
286
  " ",
270
- /* @__PURE__ */ l(gt, { fontSize: "xs", children: r })
271
- ] }) : o, e[12] = r, e[13] = o, e[14] = f) : f = e[14];
287
+ /* @__PURE__ */ i(kt, { fontSize: "xs", children: o })
288
+ ] }) : s, e[12] = o, e[13] = s, e[14] = f) : f = e[14];
272
289
  const p = f;
273
290
  let m;
274
- e[15] !== u ? (m = /* @__PURE__ */ l(fe.Trigger, { asChild: !0, children: u }), e[15] = u, e[16] = m) : m = e[16];
291
+ e[15] !== u ? (m = /* @__PURE__ */ i(ge.Trigger, { asChild: !0, children: u }), e[15] = u, e[16] = m) : m = e[16];
275
292
  let h;
276
- e[17] !== p ? (h = /* @__PURE__ */ l(ht, { children: /* @__PURE__ */ l(fe.Positioner, { children: /* @__PURE__ */ l(fe.Content, { children: p }) }) }), e[17] = p, e[18] = h) : h = e[18];
277
- let g;
278
- return e[19] !== m || e[20] !== h ? (g = /* @__PURE__ */ x(fe.Root, { closeDelay: 50, openDelay: 100, children: [
293
+ e[17] !== p ? (h = /* @__PURE__ */ i(St, { children: /* @__PURE__ */ i(ge.Positioner, { children: /* @__PURE__ */ i(ge.Content, { children: p }) }) }), e[17] = p, e[18] = h) : h = e[18];
294
+ let b;
295
+ return e[19] !== m || e[20] !== h ? (b = /* @__PURE__ */ x(ge.Root, { closeDelay: 50, openDelay: 100, children: [
279
296
  m,
280
297
  h
281
- ] }), e[19] = m, e[20] = h, e[21] = g) : g = e[21], g;
298
+ ] }), e[19] = m, e[20] = h, e[21] = b) : b = e[21], b;
282
299
  }
283
300
  return u;
284
- }, sn = (t) => {
285
- const e = y(61), {
301
+ }, pn = (t) => {
302
+ const e = y(63), {
286
303
  defaultState: n,
287
- onSubmit: s,
288
- onInterrupt: r,
289
- streaming: o,
290
- attachedResources: i,
304
+ onSubmit: r,
305
+ onInterrupt: o,
306
+ streaming: s,
307
+ attachedResources: l,
291
308
  onClearAttachments: c,
292
309
  isDisabled: d,
293
310
  onChange: a,
294
311
  placeholder: u,
295
312
  attachmentList: f,
296
313
  actions: p
297
- } = t, m = s === void 0 ? ln : s, h = o === void 0 ? !1 : o;
298
- let g;
299
- e[0] !== i ? (g = i === void 0 ? [] : i, e[0] = i, e[1] = g) : g = e[1];
300
- const S = g, k = d === void 0 ? !1 : d, [P, D] = oe(!1), [B, v] = oe(n), [A, F] = oe(0);
301
- let _;
302
- e[2] !== n ? (_ = () => Re(n), e[2] = n, e[3] = _) : _ = e[3];
303
- const [C, O] = oe(_), $ = Xe(null);
304
- let R, I;
305
- e[4] !== n || e[5] !== a ? (R = () => {
306
- const w = Re(n);
307
- v(n), F(cn), O(w), a?.(w);
308
- }, I = [n, a], e[4] = n, e[5] = a, e[6] = R, e[7] = I) : (R = e[6], I = e[7]), Qe(R, I);
309
- let z;
310
- e[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (z = () => {
311
- const w = $.current?.querySelector('[contenteditable="true"]');
314
+ } = t, m = r === void 0 ? mn : r, h = s === void 0 ? !1 : s;
315
+ let b;
316
+ e[0] !== l ? (b = l === void 0 ? [] : l, e[0] = l, e[1] = b) : b = e[1];
317
+ const S = b, T = d === void 0 ? !1 : d, [P, M] = ce(!1), [v, O] = ce(n), [F, L] = ce(0);
318
+ let R;
319
+ e[2] !== n ? (R = () => Ae(n), e[2] = n, e[3] = R) : R = e[3];
320
+ const [C, z] = ce(R), W = Me(null), $ = Me(a);
321
+ let E, I;
322
+ e[4] !== a ? (E = () => {
323
+ $.current = a;
324
+ }, I = [a], e[4] = a, e[5] = E, e[6] = I) : (E = e[5], I = e[6]), Oe(E, I);
325
+ let B, D;
326
+ e[7] !== n ? (B = () => {
327
+ const w = Ae(n);
328
+ O(n), L(hn), z(w), $.current?.(w);
329
+ }, D = [n], e[7] = n, e[8] = B, e[9] = D) : (B = e[8], D = e[9]), Oe(B, D);
330
+ let A;
331
+ e[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (A = () => {
332
+ const w = W.current?.querySelector('[contenteditable="true"]');
312
333
  w instanceof HTMLElement && w.focus();
313
- }, e[8] = z) : z = e[8];
314
- const N = z;
315
- let H;
316
- e[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (H = () => {
317
- D(!0), N();
318
- }, e[9] = H) : H = e[9];
319
- const ye = H;
320
- let L;
321
- e[10] !== n || e[11] !== a ? (L = (w) => {
322
- const ut = w === void 0 ? !1 : w;
323
- v(n), F(an);
324
- const ze = Re(n);
325
- O(ze), a?.(ze), ut && requestAnimationFrame(() => {
326
- N();
334
+ }, e[10] = A) : A = e[10];
335
+ const V = A;
336
+ let j;
337
+ e[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (j = () => {
338
+ M(!0), V();
339
+ }, e[11] = j) : j = e[11];
340
+ const we = j;
341
+ let q;
342
+ e[12] !== n ? (q = (w) => {
343
+ const ht = w === void 0 ? !1 : w;
344
+ O(n), L(gn);
345
+ const je = Ae(n);
346
+ z(je), $.current?.(je), ht && requestAnimationFrame(() => {
347
+ V();
327
348
  });
328
- }, e[10] = n, e[11] = a, e[12] = L) : L = e[12];
329
- const j = L;
330
- let ie;
331
- e[13] !== S || e[14] !== k || e[15] !== c || e[16] !== r || e[17] !== m || e[18] !== j || e[19] !== h || e[20] !== C ? (ie = () => {
332
- if (k)
349
+ }, e[12] = n, e[13] = q) : q = e[13];
350
+ const ie = q;
351
+ let K;
352
+ e[14] !== S || e[15] !== T || e[16] !== c || e[17] !== o || e[18] !== m || e[19] !== ie || e[20] !== h || e[21] !== C ? (K = () => {
353
+ if (T)
333
354
  return;
334
355
  if (h) {
335
- r?.();
356
+ o?.();
336
357
  return;
337
358
  }
338
359
  const w = C.trim();
339
- w && (m(w, S), j(!0), c?.());
340
- }, e[13] = S, e[14] = k, e[15] = c, e[16] = r, e[17] = m, e[18] = j, e[19] = h, e[20] = C, e[21] = ie) : ie = e[21];
341
- const U = ie, W = h && !!r;
342
- let le;
343
- e[22] !== u ? (le = u ? /* @__PURE__ */ l(Q, { textStyle: "label/M/regular", color: "fg.subtle", pointerEvents: "none", position: "absolute", top: "0", children: u }) : void 0, e[22] = u, e[23] = le) : le = e[23];
344
- const Se = le, ke = P ? "blue.border" : "border.muted", Te = P ? "mid" : "low", we = P ? "blue.border" : "border";
345
- let q;
346
- e[24] !== we ? (q = {
347
- borderColor: we,
360
+ w && (m(w, S), ie(!0), c?.());
361
+ }, e[14] = S, e[15] = T, e[16] = c, e[17] = o, e[18] = m, e[19] = ie, e[20] = h, e[21] = C, e[22] = K) : K = e[22];
362
+ const _ = K, H = h && !!o;
363
+ let de;
364
+ e[23] !== u ? (de = u ? /* @__PURE__ */ i(te, { textStyle: "label/M/regular", color: "fg.subtle", pointerEvents: "none", position: "absolute", top: "0", children: u }) : void 0, e[23] = u, e[24] = de) : de = e[24];
365
+ const Ce = de, Pe = P ? "blue.border" : "border.muted", _e = P ? "mid" : "low", Re = P ? "blue.border" : "border";
366
+ let G;
367
+ e[25] !== Re ? (G = {
368
+ borderColor: Re,
348
369
  boxShadow: "mid"
349
- }, e[24] = we, e[25] = q) : q = e[25];
350
- let ce;
351
- e[26] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (ce = {
370
+ }, e[25] = Re, e[26] = G) : G = e[26];
371
+ let ue;
372
+ e[27] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (ue = {
352
373
  borderColor: "blue.border",
353
374
  boxShadow: "mid"
354
- }, e[26] = ce) : ce = e[26];
355
- let ae;
356
- e[27] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (ae = () => D(!1), e[27] = ae) : ae = e[27];
357
- const Ce = !k;
358
- let V;
359
- e[28] !== a ? (V = (w) => {
360
- O(w), a?.(w);
361
- }, e[28] = a, e[29] = V) : V = e[29];
362
- let K;
363
- e[30] !== A || e[31] !== B || e[32] !== U || e[33] !== Se || e[34] !== Ce || e[35] !== V ? (K = /* @__PURE__ */ l(Wt, { defaultState: B, isEditable: Ce, placeholder: Se, onChange: V, onSubmit: U }, A), e[30] = A, e[31] = B, e[32] = U, e[33] = Se, e[34] = Ce, e[35] = V, e[36] = K) : K = e[36];
364
- let de;
365
- e[37] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (de = /* @__PURE__ */ l(bt, {}), e[37] = de) : de = e[37];
366
- const Pe = W ? "Stop Response" : "Message Sending", _e = h ? void 0 : "Enter";
367
- let G;
368
- e[38] !== W || e[39] !== k || e[40] !== h || e[41] !== C ? (G = h && !W || !h && !C.trim() || k, e[38] = W, e[39] = k, e[40] = h, e[41] = C, e[42] = G) : G = e[42];
369
- let Y;
370
- e[43] !== W || e[44] !== U || e[45] !== Pe || e[46] !== _e || e[47] !== G ? (Y = /* @__PURE__ */ l(on, { canInterrupt: W, title: Pe, shortcut: _e, onClick: U, disabled: G }), e[43] = W, e[44] = U, e[45] = Pe, e[46] = _e, e[47] = G, e[48] = Y) : Y = e[48];
375
+ }, e[27] = ue) : ue = e[27];
376
+ let fe;
377
+ e[28] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (fe = () => M(!1), e[28] = fe) : fe = e[28];
378
+ let pe;
379
+ e[29] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (pe = {
380
+ pr: "2xs"
381
+ }, e[29] = pe) : pe = e[29];
382
+ const Ie = !T;
371
383
  let J;
372
- e[49] !== p || e[50] !== Y ? (J = /* @__PURE__ */ x(qe, { gap: "1", mt: "md", children: [
373
- p,
374
- de,
375
- Y
376
- ] }), e[49] = p, e[50] = Y, e[51] = J) : J = e[51];
384
+ e[30] !== a ? (J = (w) => {
385
+ z(w), a?.(w);
386
+ }, e[30] = a, e[31] = J) : J = e[31];
377
387
  let X;
378
- e[52] !== f || e[53] !== K || e[54] !== J ? (X = /* @__PURE__ */ x(pe, { direction: "column", color: "fg", children: [
388
+ e[32] !== F || e[33] !== v || e[34] !== _ || e[35] !== Ce || e[36] !== Ie || e[37] !== J ? (X = /* @__PURE__ */ i(nt, { maxH: "10rem", showHorizontalScrollbar: !1, contentProps: pe, children: /* @__PURE__ */ i(Jt, { defaultState: v, isEditable: Ie, placeholder: Ce, onChange: J, onSubmit: _ }, F) }), e[32] = F, e[33] = v, e[34] = _, e[35] = Ce, e[36] = Ie, e[37] = J, e[38] = X) : X = e[38];
389
+ let me;
390
+ e[39] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (me = /* @__PURE__ */ i(Tt, {}), e[39] = me) : me = e[39];
391
+ const Be = H ? "Stop Response" : "Message Sending", De = h ? void 0 : "Enter";
392
+ let Y;
393
+ e[40] !== H || e[41] !== T || e[42] !== h || e[43] !== C ? (Y = h && !H || !h && !C.trim() || T, e[40] = H, e[41] = T, e[42] = h, e[43] = C, e[44] = Y) : Y = e[44];
394
+ let Q;
395
+ e[45] !== H || e[46] !== _ || e[47] !== Be || e[48] !== De || e[49] !== Y ? (Q = /* @__PURE__ */ i(fn, { canInterrupt: H, title: Be, shortcut: De, onClick: _, disabled: Y }), e[45] = H, e[46] = _, e[47] = Be, e[48] = De, e[49] = Y, e[50] = Q) : Q = e[50];
396
+ let Z;
397
+ e[51] !== p || e[52] !== Q ? (Z = /* @__PURE__ */ x(Qe, { gap: "1", mt: "md", children: [
398
+ p,
399
+ me,
400
+ Q
401
+ ] }), e[51] = p, e[52] = Q, e[53] = Z) : Z = e[53];
402
+ let ee;
403
+ e[54] !== f || e[55] !== X || e[56] !== Z ? (ee = /* @__PURE__ */ x(be, { direction: "column", color: "fg", children: [
379
404
  f,
380
- K,
381
- J
382
- ] }), e[52] = f, e[53] = K, e[54] = J, e[55] = X) : X = e[55];
383
- let ue;
384
- return e[56] !== ke || e[57] !== Te || e[58] !== q || e[59] !== X ? (ue = /* @__PURE__ */ l(T, { ref: $, width: "100%", paddingX: "lg", paddingY: "md", bg: "bg", borderRadius: "md", borderWidth: "1px", borderStyle: "solid", borderColor: ke, boxShadow: Te, transition: "box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out", _hover: q, _focusWithin: ce, onClick: ye, onBlur: ae, children: X }), e[56] = ke, e[57] = Te, e[58] = q, e[59] = X, e[60] = ue) : ue = e[60], ue;
405
+ X,
406
+ Z
407
+ ] }), e[54] = f, e[55] = X, e[56] = Z, e[57] = ee) : ee = e[57];
408
+ let he;
409
+ return e[58] !== Pe || e[59] !== _e || e[60] !== G || e[61] !== ee ? (he = /* @__PURE__ */ i(k, { ref: W, width: "100%", paddingX: "lg", paddingY: "md", bg: "bg", borderRadius: "md", borderWidth: "1px", borderStyle: "solid", borderColor: Pe, boxShadow: _e, transition: "box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out", _hover: G, _focusWithin: ue, onClick: we, onBlur: fe, children: ee }), e[58] = Pe, e[59] = _e, e[60] = G, e[61] = ee, e[62] = he) : he = e[62], he;
385
410
  };
386
- function ln() {
411
+ function mn() {
387
412
  }
388
- function cn(t) {
413
+ function hn(t) {
389
414
  return t + 1;
390
415
  }
391
- function an(t) {
416
+ function gn(t) {
392
417
  return t + 1;
393
418
  }
394
- const dn = (t = "") => JSON.stringify(Nt(t)), un = (t) => {
419
+ const bn = (t = "") => JSON.stringify(Xt(t)), xn = (t) => {
395
420
  const e = y(8);
396
- let n, s;
421
+ let n, r;
397
422
  e[0] !== t ? ({
398
423
  children: n,
399
- ...s
400
- } = t, e[0] = t, e[1] = n, e[2] = s) : (n = e[1], s = e[2]);
401
- let r;
402
- e[3] !== n ? (r = /* @__PURE__ */ l(Ze, { defaultState: n }), e[3] = n, e[4] = r) : r = e[4];
424
+ ...r
425
+ } = t, e[0] = t, e[1] = n, e[2] = r) : (n = e[1], r = e[2]);
403
426
  let o;
404
- return e[5] !== s || e[6] !== r ? (o = /* @__PURE__ */ l(T, { ...s, children: r }), e[5] = s, e[6] = r, e[7] = o) : o = e[7], o;
405
- }, fn = un, et = {
406
- shell: Ge,
407
- ls: vt,
408
- read_file: Dt,
409
- write_file: At,
410
- delete_file: Bt,
411
- patch: It,
412
- upload_files: Rt,
413
- download_file: _t,
414
- move_file: Pt
415
- }, pn = {
416
- dot: Ot,
417
- danger: Mt,
418
- search: zt,
419
- browser: $t,
420
- file: Ft,
421
- terminal: Ge,
422
- ...et
423
- }, Le = "dot", mn = (t) => Object.hasOwn(et, t), hn = (t) => pn[t], tt = (t) => {
424
- if (!t) return Le;
427
+ e[3] !== n ? (o = /* @__PURE__ */ i(rt, { defaultState: n, fullWidth: !0 }), e[3] = n, e[4] = o) : o = e[4];
428
+ let s;
429
+ return e[5] !== r || e[6] !== o ? (s = /* @__PURE__ */ i(k, { ...r, children: o }), e[5] = r, e[6] = o, e[7] = s) : s = e[7], s;
430
+ }, yn = xn, ot = {
431
+ shell: tt,
432
+ ls: Ot,
433
+ read_file: Mt,
434
+ write_file: $t,
435
+ delete_file: zt,
436
+ patch: Ft,
437
+ upload_files: vt,
438
+ download_file: At,
439
+ move_file: Dt
440
+ }, Sn = {
441
+ dot: Nt,
442
+ danger: Ht,
443
+ search: Et,
444
+ browser: Wt,
445
+ file: Lt,
446
+ terminal: tt,
447
+ ...ot
448
+ }, qe = "dot", kn = (t) => Object.hasOwn(ot, t), Tn = (t) => Sn[t], st = (t) => {
449
+ if (!t) return qe;
425
450
  const e = t.replace(/^tool-/, "");
426
- if (mn(e)) return e;
451
+ if (kn(e)) return e;
427
452
  switch (e) {
428
453
  case "read":
429
454
  return "file";
@@ -443,52 +468,52 @@ const dn = (t = "") => JSON.stringify(Nt(t)), un = (t) => {
443
468
  case "file":
444
469
  return "file";
445
470
  default:
446
- return Le;
471
+ return qe;
447
472
  }
448
473
  };
449
- function ve(t) {
474
+ function Ee(t) {
450
475
  const e = t.lastIndexOf("/");
451
476
  return e >= 0 ? t.slice(e + 1) : t;
452
477
  }
453
- function me(t) {
478
+ function xe(t) {
454
479
  if (!t) return null;
455
480
  const e = t.split(" ")[0].trim();
456
481
  if (e === "/dev/null") return null;
457
482
  let n = e;
458
483
  return (n.startsWith("a/") || n.startsWith("b/")) && (n = n.slice(2)), n.replace(/^\/+/, "").replace(/\\/g, "/");
459
484
  }
460
- const ge = (t) => t.startsWith("--- "), Fe = (t) => t.startsWith("+++ "), $e = (t) => t.startsWith("@@"), gn = (t) => t.startsWith("+") && !(Fe(t) || t === "+++"), bn = (t) => t.startsWith("-") && !(ge(t) || t === "---"), xn = (t, e) => {
485
+ const Se = (t) => t.startsWith("--- "), He = (t) => t.startsWith("+++ "), Ne = (t) => t.startsWith("@@"), wn = (t) => t.startsWith("+") && !(He(t) || t === "+++"), Cn = (t) => t.startsWith("-") && !(Se(t) || t === "---"), Pn = (t, e) => {
461
486
  t.has(e) || t.set(e, {
462
487
  additions: 0,
463
488
  deletions: 0
464
489
  });
465
- }, yn = (t, e) => {
490
+ }, _n = (t, e) => {
466
491
  const n = t.get(e);
467
492
  n && (n.additions += 1);
468
- }, Sn = (t, e) => {
493
+ }, Rn = (t, e) => {
469
494
  const n = t.get(e);
470
495
  n && (n.deletions += 1);
471
- }, kn = (t, e, n) => {
472
- if (ge(t))
496
+ }, In = (t, e, n) => {
497
+ if (Se(t))
473
498
  return {
474
499
  ...e,
475
- lastMinusHeader: me(t.slice(4)),
500
+ lastMinusHeader: xe(t.slice(4)),
476
501
  inHunk: !1
477
502
  };
478
- if (Fe(t)) {
479
- const r = me(t.slice(4)) ?? e.lastMinusHeader;
480
- return r && xn(n, r), {
503
+ if (He(t)) {
504
+ const o = xe(t.slice(4)) ?? e.lastMinusHeader;
505
+ return o && Pn(n, o), {
481
506
  ...e,
482
- currentPath: r,
507
+ currentPath: o,
483
508
  inHunk: !1
484
509
  };
485
510
  }
486
- return e.currentPath ? $e(t) ? {
511
+ return e.currentPath ? Ne(t) ? {
487
512
  ...e,
488
513
  inHunk: !0
489
- } : e.inHunk ? gn(t) ? (yn(n, e.currentPath), e) : (bn(t) && Sn(n, e.currentPath), e) : e : e;
514
+ } : e.inHunk ? wn(t) ? (_n(n, e.currentPath), e) : (Cn(t) && Rn(n, e.currentPath), e) : e : e;
490
515
  };
491
- function nt(t) {
516
+ function lt(t) {
492
517
  if (!t || typeof t != "string") return [];
493
518
  const e = /* @__PURE__ */ new Map();
494
519
  let n = {
@@ -496,34 +521,34 @@ function nt(t) {
496
521
  lastMinusHeader: null,
497
522
  inHunk: !1
498
523
  };
499
- const s = t.split(/\r?\n/);
500
- for (const r of s)
501
- n = kn(r, n, e);
502
- return Array.from(e.entries()).map(([r, {
503
- additions: o,
504
- deletions: i
524
+ const r = t.split(/\r?\n/);
525
+ for (const o of r)
526
+ n = In(o, n, e);
527
+ return Array.from(e.entries()).map(([o, {
528
+ additions: s,
529
+ deletions: l
505
530
  }]) => ({
506
- filePath: r,
507
- additions: o,
508
- deletions: i
531
+ filePath: o,
532
+ additions: s,
533
+ deletions: l
509
534
  }));
510
535
  }
511
- function Tn(t) {
512
- return nt(t).map((e) => ({
536
+ function Bn(t) {
537
+ return lt(t).map((e) => ({
513
538
  kind: "diff",
514
- fileName: ve(e.filePath),
539
+ fileName: Ee(e.filePath),
515
540
  filePath: e.filePath,
516
541
  additions: e.additions,
517
542
  deletions: e.deletions
518
543
  }));
519
544
  }
520
- function wn(t) {
521
- return nt(t).map((e) => e.filePath);
545
+ function Dn(t) {
546
+ return lt(t).map((e) => e.filePath);
522
547
  }
523
- const rt = (t) => ge(t) || t.startsWith("diff --git "), Cn = (t) => t.startsWith(" ") || t.startsWith("+") || t.startsWith("-") ? !1 : t.trim() !== "", Pn = (t, e, n) => {
548
+ const it = (t) => Se(t) || t.startsWith("diff --git "), An = (t) => t.startsWith(" ") || t.startsWith("+") || t.startsWith("-") ? !1 : t.trim() !== "", vn = (t, e, n) => {
524
549
  if (t.startsWith(" ")) {
525
- const s = t.slice(1);
526
- e.push(s), n.push(s);
550
+ const r = t.slice(1);
551
+ e.push(r), n.push(r);
527
552
  return;
528
553
  }
529
554
  if (t.startsWith("-")) {
@@ -531,294 +556,294 @@ const rt = (t) => ge(t) || t.startsWith("diff --git "), Cn = (t) => t.startsWith
531
556
  return;
532
557
  }
533
558
  t.startsWith("+") && n.push(t.slice(1));
534
- }, _n = (t, e, n, s) => {
535
- let r = e;
536
- for (; r < t.length; ) {
537
- const o = t[r] || "";
538
- if (rt(o) || $e(o) || Cn(o))
559
+ }, Fn = (t, e, n, r) => {
560
+ let o = e;
561
+ for (; o < t.length; ) {
562
+ const s = t[o] || "";
563
+ if (it(s) || Ne(s) || An(s))
539
564
  break;
540
- Pn(o, n, s), r += 1;
565
+ vn(s, n, r), o += 1;
541
566
  }
542
- return (n.length > 0 || s.length > 0) && (n.push(""), s.push("")), r;
543
- }, Rn = (t, e) => {
544
- const n = me((t[e] || "").slice(4)), s = t[e + 1] || "";
545
- if (!Fe(s)) return {
567
+ return (n.length > 0 || r.length > 0) && (n.push(""), r.push("")), o;
568
+ }, zn = (t, e) => {
569
+ const n = xe((t[e] || "").slice(4)), r = t[e + 1] || "";
570
+ if (!He(r)) return {
546
571
  nextIndex: e + 1
547
572
  };
548
- const o = me(s.slice(4)) ?? n ?? "", i = [], c = [];
573
+ const s = xe(r.slice(4)) ?? n ?? "", l = [], c = [];
549
574
  let d = e + 2;
550
575
  for (; d < t.length; ) {
551
576
  const a = t[d] || "";
552
- if (rt(a)) break;
553
- if (!$e(a)) {
577
+ if (it(a)) break;
578
+ if (!Ne(a)) {
554
579
  d += 1;
555
580
  continue;
556
581
  }
557
- d = _n(t, d + 1, i, c);
582
+ d = Fn(t, d + 1, l, c);
558
583
  }
559
584
  return {
560
585
  nextIndex: d,
561
586
  preview: {
562
- filePath: o,
563
- original: i.join(`
587
+ filePath: s,
588
+ original: l.join(`
564
589
  `),
565
590
  modified: c.join(`
566
591
  `)
567
592
  }
568
593
  };
569
594
  };
570
- function In(t) {
595
+ function $n(t) {
571
596
  if (!t || typeof t != "string") return [];
572
597
  const e = t.split(/\r?\n/), n = [];
573
- let s = 0;
574
- for (; s < e.length; ) {
575
- const r = e[s] || "";
576
- if (!ge(r)) {
577
- s += 1;
598
+ let r = 0;
599
+ for (; r < e.length; ) {
600
+ const o = e[r] || "";
601
+ if (!Se(o)) {
602
+ r += 1;
578
603
  continue;
579
604
  }
580
605
  const {
581
- nextIndex: o,
582
- preview: i
583
- } = Rn(e, s);
584
- i && n.push(i), s = Math.max(o, s + 1);
606
+ nextIndex: s,
607
+ preview: l
608
+ } = zn(e, r);
609
+ l && n.push(l), r = Math.max(s, r + 1);
585
610
  }
586
611
  return n;
587
612
  }
588
- const Bn = {
613
+ const Mn = {
589
614
  apply_patch: "Apply patch",
590
615
  read: "Read file",
591
616
  bash: "Run",
592
617
  grep: "Search files",
593
618
  glob: "Find files",
594
619
  skill: "Load skill"
595
- }, Ee = {
620
+ }, Ke = {
596
621
  pending: "queued",
597
622
  error: "failed",
598
623
  "output-error": "failed",
599
624
  "input-streaming": "running",
600
625
  "input-available": "queued"
601
- }, ot = (t) => t.replace(/^tool-/, ""), An = (t) => t.split(" ").filter((e) => e.length > 0).map((e) => e[0].toUpperCase() + e.slice(1)).join(" "), Dn = (t) => ot(t.tool ?? "tool"), vn = (t) => {
602
- const e = ot(t);
603
- return Bn[e] ?? An(e.replace(/_/g, " "));
604
- }, Fn = (t) => !t || typeof t != "string" ? null : Ee[t] ? Ee[t] : t.includes("stream") ? "running" : null, st = (t) => t === "error" || t === "output-error", ee = (t) => st(t.state?.status) ? {
626
+ }, ct = (t) => t.replace(/^tool-/, ""), On = (t) => t.split(" ").filter((e) => e.length > 0).map((e) => e[0].toUpperCase() + e.slice(1)).join(" "), Ln = (t) => ct(t.tool ?? "tool"), Wn = (t) => {
627
+ const e = ct(t);
628
+ return Mn[e] ?? On(e.replace(/_/g, " "));
629
+ }, En = (t) => !t || typeof t != "string" ? null : Ke[t] ? Ke[t] : t.includes("stream") ? "running" : null, at = (t) => t === "error" || t === "output-error", re = (t) => at(t.state?.status) ? {
605
630
  type: "icon",
606
631
  icon: "danger"
607
632
  } : {
608
633
  type: "icon",
609
- icon: tt(Dn(t))
610
- }, te = (t, e, n) => {
611
- const r = [{
634
+ icon: st(Ln(t))
635
+ }, oe = (t, e, n) => {
636
+ const o = [{
612
637
  kind: "text",
613
- text: n ?? vn(t.tool ?? "tool"),
638
+ text: n ?? Wn(t.tool ?? "tool"),
614
639
  bold: !0
615
640
  }];
616
- e && r.push({
641
+ e && o.push({
617
642
  kind: "text",
618
643
  text: e,
619
644
  muted: !0
620
645
  });
621
- const o = Fn(t.state?.status);
622
- return o && r.push({
646
+ const s = En(t.state?.status);
647
+ return s && o.push({
623
648
  kind: "text",
624
- text: o,
649
+ text: s,
625
650
  muted: !0
626
- }), r;
627
- }, ne = (t) => {
651
+ }), o;
652
+ }, se = (t) => {
628
653
  const e = t.state?.input;
629
654
  return !e || typeof e != "object" || Array.isArray(e) ? null : e;
630
- }, be = (t) => {
655
+ }, ke = (t) => {
631
656
  const e = t.state?.output;
632
657
  return !e || typeof e != "object" || Array.isArray(e) ? null : e;
633
- }, b = (t) => typeof t == "string" && t.trim().length > 0 ? t : null, he = (t) => !t || typeof t != "object" || Array.isArray(t) ? null : t, $n = (t, e) => {
634
- const n = he(t.state);
635
- return n ? he(n[e]) : null;
636
- }, zn = (t) => t.replace(/\\/g, "/").replace(/^\/+/, ""), Mn = (t) => t.includes("--- ") && t.includes("+++ ") && t.includes("@@"), it = (t) => {
637
- const e = be(t);
638
- return [$n(t, "metadata"), he(e?.metadata)].filter(Boolean);
639
- }, On = (t) => {
640
- const e = he(t);
658
+ }, g = (t) => typeof t == "string" && t.trim().length > 0 ? t : null, ye = (t) => !t || typeof t != "object" || Array.isArray(t) ? null : t, Hn = (t, e) => {
659
+ const n = ye(t.state);
660
+ return n ? ye(n[e]) : null;
661
+ }, Nn = (t) => t.replace(/\\/g, "/").replace(/^\/+/, ""), jn = (t) => t.includes("--- ") && t.includes("+++ ") && t.includes("@@"), dt = (t) => {
662
+ const e = ke(t);
663
+ return [Hn(t, "metadata"), ye(e?.metadata)].filter(Boolean);
664
+ }, Un = (t) => {
665
+ const e = ye(t);
641
666
  if (!e) return null;
642
- const n = b(e.filePath) ?? b(e.relativePath) ?? b(e.path);
667
+ const n = g(e.filePath) ?? g(e.relativePath) ?? g(e.path);
643
668
  return n ? {
644
- filePath: zn(n),
669
+ filePath: Nn(n),
645
670
  additions: typeof e.additions == "number" ? e.additions : 0,
646
671
  deletions: typeof e.deletions == "number" ? e.deletions : 0,
647
- diff: b(e.diff) ?? void 0,
648
- before: b(e.before) ?? void 0,
649
- after: b(e.after) ?? void 0
672
+ diff: g(e.diff) ?? void 0,
673
+ before: g(e.before) ?? void 0,
674
+ after: g(e.after) ?? void 0
650
675
  } : null;
651
- }, lt = (t) => {
676
+ }, ut = (t) => {
652
677
  const e = [];
653
- for (const n of it(t)) {
654
- const s = Array.isArray(n.files) ? n.files : [];
655
- for (const r of s) {
656
- const o = On(r);
657
- o && e.push(o);
678
+ for (const n of dt(t)) {
679
+ const r = Array.isArray(n.files) ? n.files : [];
680
+ for (const o of r) {
681
+ const s = Un(o);
682
+ s && e.push(s);
658
683
  }
659
684
  }
660
685
  return e;
661
- }, Ln = (t) => {
662
- const e = ne(t), n = b(e?.diff);
686
+ }, Vn = (t) => {
687
+ const e = se(t), n = g(e?.diff);
663
688
  if (n) return n;
664
- for (const o of it(t)) {
665
- const i = b(o.diff);
666
- if (i) return i;
689
+ for (const s of dt(t)) {
690
+ const l = g(s.diff);
691
+ if (l) return l;
667
692
  }
668
- const s = lt(t).map((o) => o.diff).filter((o) => !!o);
669
- if (s.length > 0) return s.join(`
693
+ const r = ut(t).map((s) => s.diff).filter((s) => !!s);
694
+ if (r.length > 0) return r.join(`
670
695
  `);
671
- const r = b(e?.patchText);
672
- return r && Mn(r) ? r : null;
673
- }, En = (t) => {
696
+ const o = g(e?.patchText);
697
+ return o && jn(o) ? o : null;
698
+ }, qn = (t) => {
674
699
  const e = /* @__PURE__ */ new Set(), n = [];
675
- for (const s of t)
676
- e.has(s.filePath) || (e.add(s.filePath), n.push({
700
+ for (const r of t)
701
+ e.has(r.filePath) || (e.add(r.filePath), n.push({
677
702
  kind: "diff",
678
- fileName: ve(s.filePath),
679
- filePath: s.filePath,
680
- additions: s.additions,
681
- deletions: s.deletions
703
+ fileName: Ee(r.filePath),
704
+ filePath: r.filePath,
705
+ additions: r.additions,
706
+ deletions: r.deletions
682
707
  }));
683
708
  return n;
684
- }, Wn = (t) => Array.from(new Set(t.map((e) => e.filePath))), xe = (t) => {
685
- const e = be(t);
686
- return b(t.state?.output) ?? b(e?.returnDisplay) ?? b(e?.preview) ?? b(e?.stdout);
687
- }, Nn = (t) => {
709
+ }, Kn = (t) => Array.from(new Set(t.map((e) => e.filePath))), Te = (t) => {
710
+ const e = ke(t);
711
+ return g(t.state?.output) ?? g(e?.returnDisplay) ?? g(e?.preview) ?? g(e?.stdout);
712
+ }, Gn = (t) => {
688
713
  const e = t.match(/<skill_content(?:\s+name="([^"]+)")?>([\s\S]*?)<\/skill_content>/);
689
714
  return e ? {
690
- skillName: b(e[1]) ?? void 0,
691
- content: b(e[2]) ?? ""
715
+ skillName: g(e[1]) ?? void 0,
716
+ content: g(e[2]) ?? ""
692
717
  } : null;
693
- }, Hn = (t) => {
694
- const e = ne(t);
695
- return b(e?.name) ?? b(e?.skillName) ?? b(e?.skill) ?? b(e?.skill_name) ?? void 0;
696
- }, jn = (t) => ({
718
+ }, Jn = (t) => {
719
+ const e = se(t);
720
+ return g(e?.name) ?? g(e?.skillName) ?? g(e?.skill) ?? g(e?.skill_name) ?? void 0;
721
+ }, Xn = (t) => ({
697
722
  kind: "link",
698
- text: ve(t),
723
+ text: Ee(t),
699
724
  filePath: t
700
- }), re = (t, e) => !st(t.state?.status) || !t.state?.errorText ? e : [{
725
+ }), le = (t, e) => !at(t.state?.status) || !t.state?.errorText ? e : [{
701
726
  type: "comment",
702
727
  text: t.state.errorText
703
- }, ...e], Un = (t) => {
704
- const e = Ln(t), n = lt(t), s = te(t, void 0, "Apply patch"), r = Tn(e ?? void 0);
705
- r.length > 0 ? s.push(...r) : s.push(...En(n));
706
- const o = [], i = In(e ?? void 0);
707
- for (const c of i)
708
- o.push({
728
+ }, ...e], Yn = (t) => {
729
+ const e = Vn(t), n = ut(t), r = oe(t, void 0, "Apply patch"), o = Bn(e ?? void 0);
730
+ o.length > 0 ? r.push(...o) : r.push(...qn(n));
731
+ const s = [], l = $n(e ?? void 0);
732
+ for (const c of l)
733
+ s.push({
709
734
  type: "diff",
710
735
  language: "diff",
711
736
  original: c.original,
712
737
  modified: c.modified,
713
738
  sideBySide: !1
714
739
  });
715
- if (o.length === 0)
740
+ if (s.length === 0)
716
741
  for (const c of n)
717
- !c.before && !c.after || o.push({
742
+ !c.before && !c.after || s.push({
718
743
  type: "diff",
719
744
  language: "diff",
720
745
  original: c.before ?? "",
721
746
  modified: c.after ?? "",
722
747
  sideBySide: !1
723
748
  });
724
- if (o.length === 0) {
725
- const c = wn(e ?? void 0);
726
- c.length === 0 && c.push(...Wn(n)), c.length > 0 && o.push({
749
+ if (s.length === 0) {
750
+ const c = Dn(e ?? void 0);
751
+ c.length === 0 && c.push(...Kn(n)), c.length > 0 && s.push({
727
752
  type: "references",
728
753
  references: c
729
754
  });
730
755
  }
731
756
  return {
732
- indicator: ee(t),
733
- title: s,
734
- blocks: re(t, o)
735
- };
736
- }, qn = (t) => {
737
- const e = ne(t), n = be(t), s = b(e?.filePath) ?? b(e?.file) ?? b(n?.filePath) ?? b(n?.file) ?? b(n?.path) ?? void 0, r = te(t, void 0, "Read file");
738
- return s && r.push(jn(s)), {
739
- indicator: ee(t),
757
+ indicator: re(t),
740
758
  title: r,
741
- blocks: re(t, [])
759
+ blocks: le(t, s)
742
760
  };
743
- }, Vn = (t) => {
744
- const e = ne(t), n = be(t), s = b(e?.command) ?? void 0, r = te(t, s, "Run command"), o = [], i = xe(t);
745
- i && o.push({
761
+ }, Qn = (t) => {
762
+ const e = se(t), n = ke(t), r = g(e?.filePath) ?? g(e?.file) ?? g(n?.filePath) ?? g(n?.file) ?? g(n?.path) ?? void 0, o = oe(t, void 0, "Read file");
763
+ return r && o.push(Xn(r)), {
764
+ indicator: re(t),
765
+ title: o,
766
+ blocks: le(t, [])
767
+ };
768
+ }, Zn = (t) => {
769
+ const e = se(t), n = ke(t), r = g(e?.command) ?? void 0, o = oe(t, r, "Run command"), s = [], l = Te(t);
770
+ l && s.push({
746
771
  type: "code",
747
772
  language: "text",
748
- code: i
773
+ code: l
749
774
  });
750
- const c = b(n?.stderr);
751
- return c && c !== i && o.push({
775
+ const c = g(n?.stderr);
776
+ return c && c !== l && s.push({
752
777
  type: "code",
753
778
  language: "text",
754
779
  code: c
755
- }), typeof n?.exitCode == "number" && o.push({
780
+ }), typeof n?.exitCode == "number" && s.push({
756
781
  type: "text",
757
782
  text: `Exit code: ${n.exitCode}`
758
783
  }), {
759
- indicator: ee(t),
760
- title: r,
761
- blocks: re(t, o)
784
+ indicator: re(t),
785
+ title: o,
786
+ blocks: le(t, s)
762
787
  };
763
- }, Kn = (t) => {
764
- const e = ne(t), n = xe(t), s = b(e?.pattern) ?? void 0, r = te(t, s, "Search files"), o = n ? [{
788
+ }, er = (t) => {
789
+ const e = se(t), n = Te(t), r = g(e?.pattern) ?? void 0, o = oe(t, r, "Search files"), s = n ? [{
765
790
  type: "code",
766
791
  language: "text",
767
792
  code: n
768
793
  }] : [];
769
794
  return {
770
- indicator: ee(t),
771
- title: r,
772
- blocks: re(t, o)
795
+ indicator: re(t),
796
+ title: o,
797
+ blocks: le(t, s)
773
798
  };
774
- }, Gn = (t) => {
775
- const e = ne(t), n = xe(t), s = b(e?.pattern) ?? void 0, r = te(t, s, "Find files"), o = [];
799
+ }, tr = (t) => {
800
+ const e = se(t), n = Te(t), r = g(e?.pattern) ?? void 0, o = oe(t, r, "Find files"), s = [];
776
801
  if (n) {
777
- const i = n.split(/\r?\n/).map((c) => c.trim()).filter((c) => c.length > 0);
778
- i.length > 0 && o.push({
802
+ const l = n.split(/\r?\n/).map((c) => c.trim()).filter((c) => c.length > 0);
803
+ l.length > 0 && s.push({
779
804
  type: "references",
780
- references: i
805
+ references: l
781
806
  });
782
807
  }
783
808
  return {
784
- indicator: ee(t),
785
- title: r,
786
- blocks: re(t, o)
809
+ indicator: re(t),
810
+ title: o,
811
+ blocks: le(t, s)
787
812
  };
788
- }, Yn = (t) => {
789
- const e = xe(t), n = e ? Nn(e) : null, s = Hn(t) ?? n?.skillName, r = te(t, s, "Load skill"), o = n?.content ?? e, i = o ? [{
813
+ }, nr = (t) => {
814
+ const e = Te(t), n = e ? Gn(e) : null, r = Jn(t) ?? n?.skillName, o = oe(t, r, "Load skill"), s = n?.content ?? e, l = s ? [{
790
815
  type: "code",
791
816
  language: "markdown",
792
- code: o
817
+ code: s
793
818
  }] : [];
794
819
  return {
795
- indicator: ee(t),
796
- title: r,
797
- blocks: re(t, i)
820
+ indicator: re(t),
821
+ title: o,
822
+ blocks: le(t, l)
798
823
  };
799
- }, We = () => ({
800
- apply_patch: Un,
801
- read: qn,
802
- bash: Vn,
803
- grep: Kn,
804
- glob: Gn,
805
- skill: Yn
806
- }), Ne = {
824
+ }, Ge = () => ({
825
+ apply_patch: Yn,
826
+ read: Qn,
827
+ bash: Zn,
828
+ grep: er,
829
+ glob: tr,
830
+ skill: nr
831
+ }), Je = {
807
832
  pending: "queued",
808
833
  error: "failed",
809
834
  "output-error": "failed",
810
835
  "input-streaming": "running",
811
836
  "input-available": "queued"
812
- }, ct = (t) => t.replace(/^tool-/, ""), Jn = (t) => t.split(" ").filter((e) => e.length > 0).map((e) => e[0].toUpperCase() + e.slice(1)).join(" "), Xn = (t) => {
813
- const e = ct(t ?? "tool").replace(/_/g, " ");
814
- return Jn(e);
815
- }, at = (t) => t === "error" || t === "output-error", Qn = (t) => at(t.state?.status) ? {
837
+ }, ft = (t) => t.replace(/^tool-/, ""), rr = (t) => t.split(" ").filter((e) => e.length > 0).map((e) => e[0].toUpperCase() + e.slice(1)).join(" "), or = (t) => {
838
+ const e = ft(t ?? "tool").replace(/_/g, " ");
839
+ return rr(e);
840
+ }, pt = (t) => t === "error" || t === "output-error", sr = (t) => pt(t.state?.status) ? {
816
841
  type: "icon",
817
842
  icon: "danger"
818
843
  } : {
819
844
  type: "icon",
820
- icon: tt(t.tool ?? "tool")
821
- }, Zn = (t) => !t || typeof t != "string" ? null : Ne[t] ? Ne[t] : t.includes("stream") ? "running" : null, He = (t) => {
845
+ icon: st(t.tool ?? "tool")
846
+ }, lr = (t) => !t || typeof t != "string" ? null : Je[t] ? Je[t] : t.includes("stream") ? "running" : null, Xe = (t) => {
822
847
  if (typeof t == "string") return t;
823
848
  if (t == null) return null;
824
849
  try {
@@ -826,94 +851,94 @@ const Bn = {
826
851
  } catch {
827
852
  return null;
828
853
  }
829
- }, er = (t) => {
854
+ }, ir = (t) => {
830
855
  const e = [];
831
- at(t.state?.status) && t.state?.errorText && e.push({
856
+ pt(t.state?.status) && t.state?.errorText && e.push({
832
857
  type: "comment",
833
858
  text: t.state.errorText
834
859
  });
835
- const n = He(t.state?.input);
860
+ const n = Xe(t.state?.input);
836
861
  n && e.push({
837
862
  type: "code",
838
863
  language: "json",
839
864
  code: n
840
865
  });
841
- const s = He(t.state?.output);
842
- return s && e.push({
866
+ const r = Xe(t.state?.output);
867
+ return r && e.push({
843
868
  type: "code",
844
869
  language: "json",
845
- code: s
870
+ code: r
846
871
  }), e;
847
- }, tr = (t) => {
872
+ }, cr = (t) => {
848
873
  const e = [{
849
874
  kind: "text",
850
- text: Xn(t.tool),
875
+ text: or(t.tool),
851
876
  bold: !0
852
- }], n = Zn(t.state?.status);
877
+ }], n = lr(t.state?.status);
853
878
  return n && e.push({
854
879
  kind: "text",
855
880
  text: n,
856
881
  muted: !0
857
882
  }), {
858
- indicator: Qn(t),
883
+ indicator: sr(t),
859
884
  title: e,
860
- blocks: er(t)
885
+ blocks: ir(t)
861
886
  };
862
- }, nr = (t) => t ? {
863
- ...We(),
887
+ }, ar = (t) => t ? {
888
+ ...Ge(),
864
889
  ...t
865
- } : We(), rr = (t, e) => {
890
+ } : Ge(), dr = (t, e) => {
866
891
  const n = t.tool ?? "tool";
867
- return e[n] ?? e[ct(n)];
868
- }, or = (t, e, n) => {
869
- const s = rr(t, e);
870
- if (s) {
871
- const r = s(t, n);
872
- if (r) return r;
892
+ return e[n] ?? e[ft(n)];
893
+ }, ur = (t, e, n) => {
894
+ const r = dr(t, e);
895
+ if (r) {
896
+ const o = r(t, n);
897
+ if (o) return o;
873
898
  }
874
- return tr(t);
875
- }, sr = (t, e) => {
876
- const n = nr(e?.toolRenderers);
899
+ return cr(t);
900
+ }, fr = (t, e) => {
901
+ const n = ar(e?.toolRenderers);
877
902
  return {
878
- items: t.map((r) => or(r, n, e))
903
+ items: t.map((o) => ur(o, n, e))
879
904
  };
880
- }, E = xt, dt = (t, e, n, s = !1) => {
881
- s && t.stopPropagation(), e.href || t.preventDefault(), e.filePath && n?.(e.filePath);
905
+ }, U = wt, mt = (t, e, n, r = !1) => {
906
+ r && t.stopPropagation(), e.href || t.preventDefault(), e.filePath && n?.(e.filePath);
882
907
  };
883
- function ir(t) {
908
+ function pr(t) {
884
909
  const e = y(6), {
885
910
  seg: n
886
911
  } = t;
887
- let s;
888
- e[0] !== n.alt || e[1] !== n.src ? (s = /* @__PURE__ */ l(Z.Image, { src: n.src, alt: n.alt }), e[0] = n.alt, e[1] = n.src, e[2] = s) : s = e[2];
889
912
  let r;
890
- e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ l(Z.Fallback, {}), e[3] = r) : r = e[3];
913
+ e[0] !== n.alt || e[1] !== n.src ? (r = /* @__PURE__ */ i(ne.Image, { src: n.src, alt: n.alt }), e[0] = n.alt, e[1] = n.src, e[2] = r) : r = e[2];
891
914
  let o;
892
- return e[4] !== s ? (o = /* @__PURE__ */ x(Z.Root, { width: "1.5rem", height: "1.5rem", children: [
893
- s,
894
- r
895
- ] }), e[4] = s, e[5] = o) : o = e[5], o;
915
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ i(ne.Fallback, {}), e[3] = o) : o = e[3];
916
+ let s;
917
+ return e[4] !== r ? (s = /* @__PURE__ */ x(ne.Root, { width: "1.5rem", height: "1.5rem", children: [
918
+ r,
919
+ o
920
+ ] }), e[4] = r, e[5] = s) : s = e[5], s;
896
921
  }
897
- function lr(t) {
922
+ function mr(t) {
898
923
  const e = y(9), {
899
924
  seg: n,
900
- onOpenFile: s
901
- } = t, r = n.additions ?? 0, o = n.deletions ?? 0;
902
- let i;
903
- e[0] !== s || e[1] !== n.fileName || e[2] !== n.filePath ? (i = () => {
925
+ onOpenFile: r
926
+ } = t, o = n.additions ?? 0, s = n.deletions ?? 0;
927
+ let l;
928
+ e[0] !== r || e[1] !== n.fileName || e[2] !== n.filePath ? (l = () => {
904
929
  const d = n.filePath ?? n.fileName;
905
- s?.(d);
906
- }, e[0] = s, e[1] = n.fileName, e[2] = n.filePath, e[3] = i) : i = e[3];
930
+ r?.(d);
931
+ }, e[0] = r, e[1] = n.fileName, e[2] = n.filePath, e[3] = l) : l = e[3];
907
932
  let c;
908
- return e[4] !== n.fileName || e[5] !== r || e[6] !== o || e[7] !== i ? (c = /* @__PURE__ */ l(Ut, { fileName: n.fileName, additions: r, deletions: o, onClickFileLink: i }), e[4] = n.fileName, e[5] = r, e[6] = o, e[7] = i, e[8] = c) : c = e[8], c;
933
+ return e[4] !== n.fileName || e[5] !== o || e[6] !== s || e[7] !== l ? (c = /* @__PURE__ */ i(Kt, { fileName: n.fileName, additions: o, deletions: s, onClickFileLink: l }), e[4] = n.fileName, e[5] = o, e[6] = s, e[7] = l, e[8] = c) : c = e[8], c;
909
934
  }
910
- function cr(t) {
935
+ function hr(t) {
911
936
  const e = y(13), {
912
937
  seg: n,
913
- onOpenFile: s
914
- } = t, r = n.bold ? "medium" : void 0, o = !!(n.href || n.filePath), i = n.href ?? "#", c = (n.muted, "fg.muted"), d = o ? "pointer" : "default";
938
+ onOpenFile: r
939
+ } = t, o = n.bold ? "medium" : void 0, s = !!(n.href || n.filePath), l = n.href ?? "#", c = (n.muted, "fg.muted"), d = s ? "pointer" : "default";
915
940
  let a;
916
- e[0] !== s || e[1] !== n ? (a = (m) => dt(m, n, s, !0), e[0] = s, e[1] = n, e[2] = a) : a = e[2];
941
+ e[0] !== r || e[1] !== n ? (a = (m) => mt(m, n, r, !0), e[0] = r, e[1] = n, e[2] = a) : a = e[2];
917
942
  const u = n.muted ? "fg.muted" : "fg.blue-dark";
918
943
  let f;
919
944
  e[3] !== u ? (f = {
@@ -921,15 +946,15 @@ function cr(t) {
921
946
  color: u
922
947
  }, e[3] = u, e[4] = f) : f = e[4];
923
948
  let p;
924
- return e[5] !== r || e[6] !== n.text || e[7] !== i || e[8] !== c || e[9] !== d || e[10] !== a || e[11] !== f ? (p = /* @__PURE__ */ l(Ve, { href: i, fontWeight: r, color: c, textDecoration: "none", cursor: d, onClick: a, _hover: f, children: n.text }), e[5] = r, e[6] = n.text, e[7] = i, e[8] = c, e[9] = d, e[10] = a, e[11] = f, e[12] = p) : p = e[12], p;
949
+ return e[5] !== o || e[6] !== n.text || e[7] !== l || e[8] !== c || e[9] !== d || e[10] !== a || e[11] !== f ? (p = /* @__PURE__ */ i(Ze, { href: l, fontWeight: o, color: c, textDecoration: "none", cursor: d, onClick: a, _hover: f, children: n.text }), e[5] = o, e[6] = n.text, e[7] = l, e[8] = c, e[9] = d, e[10] = a, e[11] = f, e[12] = p) : p = e[12], p;
925
950
  }
926
- function ar(t) {
951
+ function gr(t) {
927
952
  const e = y(12), {
928
953
  seg: n,
929
- onOpenFile: s
930
- } = t, r = n.bold ? "medium" : void 0, o = n.href ?? "#", i = n.muted ? "fg.muted" : "accent.primary";
954
+ onOpenFile: r
955
+ } = t, o = n.bold ? "medium" : void 0, s = n.href ?? "#", l = n.muted ? "fg.muted" : "accent.primary";
931
956
  let c;
932
- e[0] !== s || e[1] !== n ? (c = (f) => dt(f, n, s), e[0] = s, e[1] = n, e[2] = c) : c = e[2];
957
+ e[0] !== r || e[1] !== n ? (c = (f) => mt(f, n, r), e[0] = r, e[1] = n, e[2] = c) : c = e[2];
933
958
  const d = n.muted ? "fg.muted" : "accent.primary";
934
959
  let a;
935
960
  e[3] !== d ? (a = {
@@ -937,216 +962,221 @@ function ar(t) {
937
962
  textDecoration: "underline"
938
963
  }, e[3] = d, e[4] = a) : a = e[4];
939
964
  let u;
940
- return e[5] !== r || e[6] !== n.text || e[7] !== o || e[8] !== i || e[9] !== c || e[10] !== a ? (u = /* @__PURE__ */ l(Ve, { href: o, fontWeight: r, color: i, textDecoration: "underline", onClick: c, _hover: a, children: n.text }), e[5] = r, e[6] = n.text, e[7] = o, e[8] = i, e[9] = c, e[10] = a, e[11] = u) : u = e[11], u;
965
+ return e[5] !== o || e[6] !== n.text || e[7] !== s || e[8] !== l || e[9] !== c || e[10] !== a ? (u = /* @__PURE__ */ i(Ze, { href: s, fontWeight: o, color: l, textDecoration: "underline", onClick: c, _hover: a, children: n.text }), e[5] = o, e[6] = n.text, e[7] = s, e[8] = l, e[9] = c, e[10] = a, e[11] = u) : u = e[11], u;
941
966
  }
942
- function dr(t) {
967
+ function br(t) {
943
968
  const e = y(6), {
944
969
  seg: n,
945
- isClickable: s
946
- } = t, r = n.bold ? "medium" : void 0, o = s && !n.muted ? "fg" : "fg.muted";
947
- let i;
948
- e[0] !== o ? (i = {
949
- color: o
950
- }, e[0] = o, e[1] = i) : i = e[1];
970
+ isClickable: r
971
+ } = t, o = n.bold ? "medium" : void 0, s = r && !n.muted ? "fg" : "fg.muted";
972
+ let l;
973
+ e[0] !== s ? (l = {
974
+ color: s
975
+ }, e[0] = s, e[1] = l) : l = e[1];
951
976
  let c;
952
- return e[2] !== n.text || e[3] !== r || e[4] !== i ? (c = /* @__PURE__ */ l(se, { fontWeight: r, color: "fg.muted", _groupHover: i, children: n.text }), e[2] = n.text, e[3] = r, e[4] = i, e[5] = c) : c = e[5], c;
977
+ return e[2] !== n.text || e[3] !== o || e[4] !== l ? (c = /* @__PURE__ */ i(ae, { fontWeight: o, color: "fg.muted", _groupHover: l, children: n.text }), e[2] = n.text, e[3] = o, e[4] = l, e[5] = c) : c = e[5], c;
953
978
  }
954
- function ur(t) {
979
+ function xr(t) {
955
980
  const e = y(11), {
956
981
  seg: n,
957
- isClickable: s,
958
- onOpenFile: r
982
+ isClickable: r,
983
+ onOpenFile: o
959
984
  } = t;
960
985
  switch (n.kind) {
961
986
  case "avatar": {
962
- let o;
963
- return e[0] !== n ? (o = /* @__PURE__ */ l(ir, { seg: n }), e[0] = n, e[1] = o) : o = e[1], o;
987
+ let s;
988
+ return e[0] !== n ? (s = /* @__PURE__ */ i(pr, { seg: n }), e[0] = n, e[1] = s) : s = e[1], s;
964
989
  }
965
990
  case "diff": {
966
- let o;
967
- return e[2] !== r || e[3] !== n ? (o = /* @__PURE__ */ l(lr, { seg: n, onOpenFile: r }), e[2] = r, e[3] = n, e[4] = o) : o = e[4], o;
991
+ let s;
992
+ return e[2] !== o || e[3] !== n ? (s = /* @__PURE__ */ i(mr, { seg: n, onOpenFile: o }), e[2] = o, e[3] = n, e[4] = s) : s = e[4], s;
968
993
  }
969
994
  case "link": {
970
- let o;
971
- return e[5] !== r || e[6] !== n ? (o = n.variant === "bubble" ? /* @__PURE__ */ l(cr, { seg: n, onOpenFile: r }) : /* @__PURE__ */ l(ar, { seg: n, onOpenFile: r }), e[5] = r, e[6] = n, e[7] = o) : o = e[7], o;
995
+ let s;
996
+ return e[5] !== o || e[6] !== n ? (s = n.variant === "bubble" ? /* @__PURE__ */ i(hr, { seg: n, onOpenFile: o }) : /* @__PURE__ */ i(gr, { seg: n, onOpenFile: o }), e[5] = o, e[6] = n, e[7] = s) : s = e[7], s;
972
997
  }
973
998
  case "text": {
974
- let o;
975
- return e[8] !== s || e[9] !== n ? (o = /* @__PURE__ */ l(dr, { seg: n, isClickable: s }), e[8] = s, e[9] = n, e[10] = o) : o = e[10], o;
999
+ let s;
1000
+ return e[8] !== r || e[9] !== n ? (s = /* @__PURE__ */ i(br, { seg: n, isClickable: r }), e[8] = r, e[9] = n, e[10] = s) : s = e[10], s;
976
1001
  }
977
1002
  default:
978
1003
  return null;
979
1004
  }
980
1005
  }
981
- function fr(t) {
1006
+ function yr(t) {
982
1007
  const e = y(10), {
983
1008
  ind: n
984
1009
  } = t;
985
1010
  if (!n || n.type === "none")
986
1011
  return null;
987
1012
  if (n.type === "icon") {
988
- let i;
989
- e[0] !== n.icon ? (i = hn(n.icon), e[0] = n.icon, e[1] = i) : i = e[1];
990
- const c = i;
1013
+ let l;
1014
+ e[0] !== n.icon ? (l = Tn(n.icon), e[0] = n.icon, e[1] = l) : l = e[1];
1015
+ const c = l;
991
1016
  let d;
992
- return e[2] !== c ? (d = /* @__PURE__ */ l(E.Indicator, { outline: "none", shadow: "none", border: "none", background: "bg", color: "fg", children: /* @__PURE__ */ l(se, { display: "inline-flex", alignItems: "center", children: /* @__PURE__ */ l(c, { size: 14, strokeWidth: 1 }) }) }), e[2] = c, e[3] = d) : d = e[3], d;
1017
+ return e[2] !== c ? (d = /* @__PURE__ */ i(U.Indicator, { outline: "none", shadow: "none", border: "none", background: "bg", color: "fg", children: /* @__PURE__ */ i(ae, { display: "inline-flex", alignItems: "center", children: /* @__PURE__ */ i(c, { size: 14, strokeWidth: 1 }) }) }), e[2] = c, e[3] = d) : d = e[3], d;
993
1018
  }
994
- let s;
995
- e[4] !== n.alt || e[5] !== n.src ? (s = /* @__PURE__ */ l(Z.Image, { src: n.src, alt: n.alt }), e[4] = n.alt, e[5] = n.src, e[6] = s) : s = e[6];
996
1019
  let r;
997
- e[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ l(Z.Fallback, {}), e[7] = r) : r = e[7];
1020
+ e[4] !== n.alt || e[5] !== n.src ? (r = /* @__PURE__ */ i(ne.Image, { src: n.src, alt: n.alt }), e[4] = n.alt, e[5] = n.src, e[6] = r) : r = e[6];
998
1021
  let o;
999
- return e[8] !== s ? (o = /* @__PURE__ */ l(E.Indicator, { children: /* @__PURE__ */ x(Z.Root, { boxSize: "full", children: [
1000
- s,
1001
- r
1002
- ] }) }), e[8] = s, e[9] = o) : o = e[9], o;
1022
+ e[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ i(ne.Fallback, {}), e[7] = o) : o = e[7];
1023
+ let s;
1024
+ return e[8] !== r ? (s = /* @__PURE__ */ i(U.Indicator, { children: /* @__PURE__ */ x(ne.Root, { boxSize: "full", children: [
1025
+ r,
1026
+ o
1027
+ ] }) }), e[8] = r, e[9] = s) : s = e[9], s;
1003
1028
  }
1004
- function pr(t) {
1029
+ function Sr(t) {
1005
1030
  const e = y(5), {
1006
1031
  code: n,
1007
- language: s
1008
- } = t, r = s ? `${s} code block` : "code block";
1009
- let o;
1010
- e[0] !== n ? (o = /* @__PURE__ */ l(T, { as: "code", children: n }), e[0] = n, e[1] = o) : o = e[1];
1011
- let i;
1012
- return e[2] !== r || e[3] !== o ? (i = /* @__PURE__ */ l(T, { as: "pre", background: "bg.muted", color: "fg", borderRadius: "md", padding: "sm", fontFamily: "mono", fontSize: "xs", lineHeight: "shorter", overflowX: "auto", whiteSpace: "pre", "aria-label": r, children: o }), e[2] = r, e[3] = o, e[4] = i) : i = e[4], i;
1032
+ language: r
1033
+ } = t, o = r ? `${r} code block` : "code block";
1034
+ let s;
1035
+ e[0] !== n ? (s = /* @__PURE__ */ i(k, { as: "code", children: n }), e[0] = n, e[1] = s) : s = e[1];
1036
+ let l;
1037
+ return e[2] !== o || e[3] !== s ? (l = /* @__PURE__ */ i(k, { as: "pre", background: "bg.muted", color: "fg", borderRadius: "md", padding: "sm", fontFamily: "mono", fontSize: "xs", lineHeight: "shorter", overflowX: "auto", whiteSpace: "pre", "aria-label": o, children: s }), e[2] = o, e[3] = s, e[4] = l) : l = e[4], l;
1013
1038
  }
1014
- function mr(t) {
1039
+ function kr(t) {
1015
1040
  const e = y(26), {
1016
1041
  b: n,
1017
- onOpenFile: s
1042
+ onOpenFile: r
1018
1043
  } = t;
1019
1044
  switch (n.type) {
1020
1045
  case "comment": {
1021
- let r;
1022
- e[0] !== n.text ? (r = /* @__PURE__ */ l(M.Body, { children: n.text }), e[0] = n.text, e[1] = r) : r = e[1];
1023
1046
  let o;
1024
- e[2] !== n.reactions ? (o = n.reactions?.clap ? /* @__PURE__ */ l(M.Footer, { children: /* @__PURE__ */ x(Ae, { children: [
1047
+ e[0] !== n.text ? (o = /* @__PURE__ */ i(N.Body, { children: n.text }), e[0] = n.text, e[1] = o) : o = e[1];
1048
+ let s;
1049
+ e[2] !== n.reactions ? (s = n.reactions?.clap ? /* @__PURE__ */ i(N.Footer, { children: /* @__PURE__ */ x($e, { children: [
1025
1050
  "👏 ",
1026
1051
  n.reactions.clap
1027
- ] }) }) : null, e[2] = n.reactions, e[3] = o) : o = e[3];
1028
- let i;
1029
- return e[4] !== r || e[5] !== o ? (i = /* @__PURE__ */ x(M.Root, { children: [
1030
- r,
1031
- o
1032
- ] }), e[4] = r, e[5] = o, e[6] = i) : i = e[6], i;
1052
+ ] }) }) : null, e[2] = n.reactions, e[3] = s) : s = e[3];
1053
+ let l;
1054
+ return e[4] !== o || e[5] !== s ? (l = /* @__PURE__ */ x(N.Root, { children: [
1055
+ o,
1056
+ s
1057
+ ] }), e[4] = o, e[5] = s, e[6] = l) : l = e[6], l;
1033
1058
  }
1034
1059
  case "code": {
1035
- let r;
1036
- return e[7] !== n.code || e[8] !== n.language ? (r = /* @__PURE__ */ l(M.Root, { border: "0", padding: "0", children: /* @__PURE__ */ l(M.Body, { padding: "0", children: /* @__PURE__ */ l(pr, { language: n.language, code: n.code }) }) }), e[7] = n.code, e[8] = n.language, e[9] = r) : r = e[9], r;
1060
+ let o;
1061
+ return e[7] !== n.code || e[8] !== n.language ? (o = /* @__PURE__ */ i(N.Root, { border: "0", padding: "0", children: /* @__PURE__ */ i(N.Body, { padding: "0", children: /* @__PURE__ */ i(Sr, { language: n.language, code: n.code }) }) }), e[7] = n.code, e[8] = n.language, e[9] = o) : o = e[9], o;
1037
1062
  }
1038
1063
  case "diff": {
1039
- const r = n.sideBySide ?? !1;
1040
- let o;
1041
- return e[10] !== n.language || e[11] !== n.modified || e[12] !== n.original || e[13] !== r ? (o = /* @__PURE__ */ l(M.Root, { border: "0", padding: "0", children: /* @__PURE__ */ l(M.Body, { padding: "0", children: /* @__PURE__ */ l(T, { height: "240px", minW: "320px", overflow: "hidden", children: /* @__PURE__ */ l(jt, { original: n.original, modified: n.modified, language: n.language, sideBySide: r, disableScroll: !0 }) }) }) }), e[10] = n.language, e[11] = n.modified, e[12] = n.original, e[13] = r, e[14] = o) : o = e[14], o;
1064
+ const o = n.sideBySide ?? !1;
1065
+ let s;
1066
+ return e[10] !== n.language || e[11] !== n.modified || e[12] !== n.original || e[13] !== o ? (s = /* @__PURE__ */ i(N.Root, { border: "0", padding: "0", children: /* @__PURE__ */ i(N.Body, { padding: "0", children: /* @__PURE__ */ i(k, { height: "240px", minW: "320px", overflow: "hidden", children: /* @__PURE__ */ i(qt, { original: n.original, modified: n.modified, language: n.language, sideBySide: o, disableScroll: !0 }) }) }) }), e[10] = n.language, e[11] = n.modified, e[12] = n.original, e[13] = o, e[14] = s) : s = e[14], s;
1042
1067
  }
1043
1068
  case "text": {
1044
- let r;
1045
- return e[15] !== n.text ? (r = /* @__PURE__ */ l(M.Root, { background: "transparent", children: /* @__PURE__ */ l(M.Body, { padding: "sm", children: /* @__PURE__ */ l(Q, { textStyle: "label/S/regular", children: n.text }) }) }), e[15] = n.text, e[16] = r) : r = e[16], r;
1069
+ let o;
1070
+ return e[15] !== n.text ? (o = /* @__PURE__ */ i(N.Root, { background: "transparent", children: /* @__PURE__ */ i(N.Body, { padding: "sm", children: /* @__PURE__ */ i(te, { textStyle: "label/S/regular", children: n.text }) }) }), e[15] = n.text, e[16] = o) : o = e[16], o;
1046
1071
  }
1047
1072
  case "references": {
1048
- let r;
1049
- e[17] !== n.references ? (r = n.references.map(hr), e[17] = n.references, e[18] = r) : r = e[18];
1050
1073
  let o;
1051
- return e[19] !== r ? (o = /* @__PURE__ */ l(Ke, { mt: "xs", gap: "xs", flexDir: "row", flexWrap: "wrap", children: r }), e[19] = r, e[20] = o) : o = e[20], o;
1074
+ e[17] !== n.references ? (o = n.references.map(Tr), e[17] = n.references, e[18] = o) : o = e[18];
1075
+ let s;
1076
+ return e[19] !== o ? (s = /* @__PURE__ */ i(et, { mt: "xs", gap: "xs", flexDir: "row", flexWrap: "wrap", children: o }), e[19] = o, e[20] = s) : s = e[20], s;
1052
1077
  }
1053
1078
  case "component": {
1054
- let r;
1055
- e[21] !== n || e[22] !== s ? (r = n.render({
1056
- onOpenFile: s
1057
- }), e[21] = n, e[22] = s, e[23] = r) : r = e[23];
1058
1079
  let o;
1059
- return e[24] !== r ? (o = /* @__PURE__ */ l(De, { children: r }), e[24] = r, e[25] = o) : o = e[25], o;
1080
+ e[21] !== n || e[22] !== r ? (o = n.render({
1081
+ onOpenFile: r
1082
+ }), e[21] = n, e[22] = r, e[23] = o) : o = e[23];
1083
+ let s;
1084
+ return e[24] !== o ? (s = /* @__PURE__ */ i(Le, { children: o }), e[24] = o, e[25] = s) : s = e[25], s;
1060
1085
  }
1061
1086
  }
1062
1087
  }
1063
- function hr(t) {
1064
- return /* @__PURE__ */ l(Ht, { fileName: t }, t);
1088
+ function Tr(t) {
1089
+ return /* @__PURE__ */ i(Yt, { fileName: t }, t);
1065
1090
  }
1066
- function gr(t) {
1091
+ function wr(t) {
1067
1092
  const e = y(22), {
1068
1093
  item: n,
1069
- itemKey: s,
1070
- isOpen: r,
1071
- canExpand: o,
1072
- hasBlocks: i,
1094
+ itemKey: r,
1095
+ isOpen: o,
1096
+ canExpand: s,
1097
+ hasBlocks: l,
1073
1098
  onToggle: c,
1074
1099
  onOpenFile: d
1075
1100
  } = t;
1076
1101
  let a;
1077
- e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ l(E.Separator, {}), e[0] = a) : a = e[0];
1102
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ i(U.Separator, {}), e[0] = a) : a = e[0];
1078
1103
  let u;
1079
- e[1] !== n.indicator ? (u = /* @__PURE__ */ x(E.Connector, { children: [
1104
+ e[1] !== n.indicator ? (u = /* @__PURE__ */ x(U.Connector, { children: [
1080
1105
  a,
1081
- /* @__PURE__ */ l(fr, { ind: n.indicator })
1106
+ /* @__PURE__ */ i(yr, { ind: n.indicator })
1082
1107
  ] }), e[1] = n.indicator, e[2] = u) : u = e[2];
1083
1108
  let f;
1084
- e[3] !== o || e[4] !== r || e[5] !== n.title || e[6] !== s || e[7] !== d || e[8] !== c ? (f = n.title.length > 0 && /* @__PURE__ */ l(E.Title, { className: "group", fontWeight: "normal", display: "flex", alignItems: "center", justifyContent: "space-between", cursor: o ? "pointer" : "default", onClick: o ? () => c(s) : void 0, children: /* @__PURE__ */ x(se, { display: "inline-flex", alignItems: "center", gap: "sm", flexWrap: "wrap", children: [
1085
- /* @__PURE__ */ l(se, { display: "inline-flex", alignItems: "center", gap: "xs", flexWrap: "wrap", children: n.title.map((g, S) => /* @__PURE__ */ l(ur, { seg: g, isClickable: o, onOpenFile: d }, S)) }),
1086
- o ? /* @__PURE__ */ l(se, { display: "inline-flex", alignItems: "center", transition: "transform 200ms ease, color 200ms ease", transform: r ? "rotate(0deg)" : "rotate(-180deg)", color: "transparent", _groupHover: {
1109
+ e[3] !== s || e[4] !== o || e[5] !== n.title || e[6] !== r || e[7] !== d || e[8] !== c ? (f = n.title.length > 0 && /* @__PURE__ */ i(U.Title, { className: "group", fontWeight: "normal", display: "flex", alignItems: "center", justifyContent: "space-between", cursor: s ? "pointer" : "default", onClick: s ? () => c(r) : void 0, children: /* @__PURE__ */ x(ae, { display: "inline-flex", alignItems: "center", gap: "sm", flexWrap: "wrap", children: [
1110
+ /* @__PURE__ */ i(ae, { display: "inline-flex", alignItems: "center", gap: "xs", flexWrap: "wrap", children: n.title.map((b, S) => /* @__PURE__ */ i(xr, { seg: b, isClickable: s, onOpenFile: d }, S)) }),
1111
+ s ? /* @__PURE__ */ i(ae, { display: "inline-flex", alignItems: "center", transition: "transform 200ms ease, color 200ms ease", transform: o ? "rotate(0deg)" : "rotate(-180deg)", color: "transparent", _groupHover: {
1087
1112
  color: "fg"
1088
- }, children: /* @__PURE__ */ l(Lt, { size: 12 }) }) : null
1089
- ] }) }), e[3] = o, e[4] = r, e[5] = n.title, e[6] = s, e[7] = d, e[8] = c, e[9] = f) : f = e[9];
1113
+ }, children: /* @__PURE__ */ i(jt, { size: 12 }) }) : null
1114
+ ] }) }), e[3] = s, e[4] = o, e[5] = n.title, e[6] = r, e[7] = d, e[8] = c, e[9] = f) : f = e[9];
1090
1115
  let p;
1091
- e[10] !== i || e[11] !== r || e[12] !== n.blocks || e[13] !== d ? (p = i ? /* @__PURE__ */ l(T, { display: "grid", gridTemplateRows: r ? "1fr" : "0fr", transition: "grid-template-rows 220ms ease", children: r ? /* @__PURE__ */ l(T, { overflow: "hidden", opacity: 1, transform: "translateY(0)", transition: "opacity 200ms ease, transform 200ms ease", children: n.blocks.map((g, S) => /* @__PURE__ */ l(T, { children: /* @__PURE__ */ l(mr, { b: g, onOpenFile: d }) }, S)) }) : null }) : null, e[10] = i, e[11] = r, e[12] = n.blocks, e[13] = d, e[14] = p) : p = e[14];
1116
+ e[10] !== l || e[11] !== o || e[12] !== n.blocks || e[13] !== d ? (p = l ? /* @__PURE__ */ i(k, { display: "grid", gridTemplateRows: o ? "1fr" : "0fr", transition: "grid-template-rows 220ms ease", children: o ? /* @__PURE__ */ i(k, { overflow: "hidden", opacity: 1, transform: "translateY(0)", transition: "opacity 200ms ease, transform 200ms ease", children: n.blocks.map((b, S) => /* @__PURE__ */ i(k, { children: /* @__PURE__ */ i(kr, { b, onOpenFile: d }) }, S)) }) : null }) : null, e[10] = l, e[11] = o, e[12] = n.blocks, e[13] = d, e[14] = p) : p = e[14];
1092
1117
  let m;
1093
- e[15] !== f || e[16] !== p ? (m = /* @__PURE__ */ x(E.Content, { pb: "xs", children: [
1118
+ e[15] !== f || e[16] !== p ? (m = /* @__PURE__ */ x(U.Content, { pb: "xs", children: [
1094
1119
  f,
1095
1120
  p
1096
1121
  ] }), e[15] = f, e[16] = p, e[17] = m) : m = e[17];
1097
1122
  let h;
1098
- return e[18] !== s || e[19] !== u || e[20] !== m ? (h = /* @__PURE__ */ x(E.Item, { gap: "xs", children: [
1123
+ return e[18] !== r || e[19] !== u || e[20] !== m ? (h = /* @__PURE__ */ x(U.Item, { gap: "xs", children: [
1099
1124
  u,
1100
1125
  m
1101
- ] }, s), e[18] = s, e[19] = u, e[20] = m, e[21] = h) : h = e[21], h;
1126
+ ] }, r), e[18] = r, e[19] = u, e[20] = m, e[21] = h) : h = e[21], h;
1102
1127
  }
1103
- function br(t) {
1128
+ function Cr(t) {
1104
1129
  const e = y(11), {
1105
1130
  data: n,
1106
- onOpenFile: s
1131
+ onOpenFile: r
1107
1132
  } = t;
1108
- let r;
1109
- e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = {}, e[0] = r) : r = e[0];
1110
- const [o, i] = oe(r), c = xr;
1133
+ let o;
1134
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = {}, e[0] = o) : o = e[0];
1135
+ const [s, l] = ce(o), c = Pr;
1111
1136
  let d;
1112
1137
  e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (d = (p) => {
1113
- i((m) => ({
1138
+ l((m) => ({
1114
1139
  ...m,
1115
1140
  [p]: !m[p]
1116
1141
  }));
1117
1142
  }, e[1] = d) : d = e[1];
1118
1143
  const a = d;
1119
1144
  let u;
1120
- if (e[2] !== n.items || e[3] !== o || e[4] !== s) {
1145
+ if (e[2] !== n.items || e[3] !== s || e[4] !== r) {
1121
1146
  let p;
1122
- e[6] !== o || e[7] !== s ? (p = (m, h) => {
1123
- const g = c(m, h), S = (m.blocks?.length ?? 0) > 0, k = (m.expandable ?? !0) && S, P = k ? o[g] ?? !1 : S;
1124
- return /* @__PURE__ */ l(gr, { item: m, itemKey: g, isOpen: P, canExpand: k, hasBlocks: S, onToggle: a, onOpenFile: s }, g);
1125
- }, e[6] = o, e[7] = s, e[8] = p) : p = e[8], u = n.items.map(p), e[2] = n.items, e[3] = o, e[4] = s, e[5] = u;
1147
+ e[6] !== s || e[7] !== r ? (p = (m, h) => {
1148
+ const b = c(m, h), S = (m.blocks?.length ?? 0) > 0, T = (m.expandable ?? !0) && S, P = T ? s[b] ?? !1 : S;
1149
+ return /* @__PURE__ */ i(wr, { item: m, itemKey: b, isOpen: P, canExpand: T, hasBlocks: S, onToggle: a, onOpenFile: r }, b);
1150
+ }, e[6] = s, e[7] = r, e[8] = p) : p = e[8], u = n.items.map(p), e[2] = n.items, e[3] = s, e[4] = r, e[5] = u;
1126
1151
  } else
1127
1152
  u = e[5];
1128
1153
  let f;
1129
- return e[9] !== u ? (f = /* @__PURE__ */ l(E.Root, { children: u }), e[9] = u, e[10] = f) : f = e[10], f;
1154
+ return e[9] !== u ? (f = /* @__PURE__ */ i(U.Root, { children: u }), e[9] = u, e[10] = f) : f = e[10], f;
1130
1155
  }
1131
- function xr(t, e) {
1156
+ function Pr(t, e) {
1132
1157
  return t.id ? `id:${t.id}` : `idx:${e}`;
1133
1158
  }
1134
- function yr(t) {
1159
+ function _r(t) {
1135
1160
  const e = y(6), {
1136
1161
  invocations: n,
1137
- labeledBlocks: s,
1138
- onOpenFile: r
1162
+ labeledBlocks: r,
1163
+ onOpenFile: o
1139
1164
  } = t;
1140
- let o;
1141
- e[0] !== n || e[1] !== s ? (o = sr(n, {
1142
- labeledBlocks: s
1143
- }), e[0] = n, e[1] = s, e[2] = o) : o = e[2];
1144
- const i = o;
1165
+ let s;
1166
+ e[0] !== n || e[1] !== r ? (s = fr(n, {
1167
+ labeledBlocks: r
1168
+ }), e[0] = n, e[1] = r, e[2] = s) : s = e[2];
1169
+ const l = s;
1145
1170
  let c;
1146
- return e[3] !== i || e[4] !== r ? (c = /* @__PURE__ */ l(br, { data: i, onOpenFile: r }), e[3] = i, e[4] = r, e[5] = c) : c = e[5], c;
1171
+ return e[3] !== l || e[4] !== o ? (c = /* @__PURE__ */ i(Cr, { data: l, onOpenFile: o }), e[3] = l, e[4] = o, e[5] = c) : c = e[5], c;
1147
1172
  }
1148
- const Sr = (t) => t.type === "tool", Be = (t) => t >= 1e3 ? `${(t / 1e3).toFixed(1)}k` : String(t), kr = (t) => {
1149
- switch (t) {
1173
+ const Rr = (t) => t.type === "tool", Fe = (t) => t >= 1e3 ? `${(t / 1e3).toFixed(1)}k` : String(t), Ir = (t) => {
1174
+ if (t.message && t.message.trim().length > 0)
1175
+ return t.message;
1176
+ const {
1177
+ errorType: e
1178
+ } = t;
1179
+ switch (e) {
1150
1180
  case "timeout":
1151
1181
  return "Session timed out.";
1152
1182
  case "crash":
@@ -1156,75 +1186,75 @@ const Sr = (t) => t.type === "tool", Be = (t) => t >= 1e3 ? `${(t / 1e3).toFixed
1156
1186
  default:
1157
1187
  return "An error occurred.";
1158
1188
  }
1159
- }, Tr = (t, e) => {
1189
+ }, Br = (t, e) => {
1160
1190
  const n = [];
1161
- let s = e;
1162
- for (; s < t.length; ) {
1163
- const r = t[s];
1164
- if (!Sr(r)) break;
1165
- n.push(r), s += 1;
1191
+ let r = e;
1192
+ for (; r < t.length; ) {
1193
+ const o = t[r];
1194
+ if (!Rr(o)) break;
1195
+ n.push(o), r += 1;
1166
1196
  }
1167
1197
  return {
1168
1198
  invocations: n,
1169
- nextIndex: s - 1
1199
+ nextIndex: r - 1
1170
1200
  };
1171
1201
  };
1172
- function wr(t) {
1202
+ function Dr(t) {
1173
1203
  const e = y(7), {
1174
1204
  message: n,
1175
- onOpenFile: s,
1176
- toolInvocationTimeline: r
1177
- } = t, o = r ?? yr;
1178
- let i;
1179
- e[0] !== n.parts ? (i = n.parts ?? [], e[0] = n.parts, e[1] = i) : i = e[1];
1180
- const c = i;
1205
+ onOpenFile: r,
1206
+ toolInvocationTimeline: o
1207
+ } = t, s = o ?? _r;
1208
+ let l;
1209
+ e[0] !== n.parts ? (l = n.parts ?? [], e[0] = n.parts, e[1] = l) : l = e[1];
1210
+ const c = l;
1181
1211
  let d;
1182
- if (e[2] !== o || e[3] !== n.id || e[4] !== s || e[5] !== c) {
1212
+ if (e[2] !== s || e[3] !== n.id || e[4] !== r || e[5] !== c) {
1183
1213
  const a = [];
1184
1214
  for (let u = 0; u < c.length; u = u + 1, u) {
1185
1215
  const f = c[u], p = `${n.id}-${u}`;
1186
1216
  e: switch (f.type) {
1187
1217
  case "text": {
1188
- a.push(/* @__PURE__ */ l("div", { children: /* @__PURE__ */ l(fn, { children: f.text }) }, p));
1218
+ a.push(/* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(yn, { children: f.text }) }, p));
1189
1219
  break e;
1190
1220
  }
1191
1221
  case "reasoning": {
1192
- a.push(/* @__PURE__ */ l(T, { padding: "0", css: {
1222
+ a.push(/* @__PURE__ */ i(k, { padding: "0", css: {
1193
1223
  "& .rich-text, & .rich-text *": {
1194
1224
  color: "fg.subtle !important",
1195
1225
  fontSize: ".75rem !important",
1196
1226
  fontWeight: "normal !important"
1197
1227
  }
1198
- }, children: /* @__PURE__ */ l(Ze, { defaultState: f.text }) }, p));
1228
+ }, children: /* @__PURE__ */ i(rt, { defaultState: f.text, fullWidth: !0 }) }, p));
1199
1229
  break e;
1200
1230
  }
1201
1231
  case "tool": {
1202
1232
  const {
1203
1233
  invocations: m,
1204
1234
  nextIndex: h
1205
- } = Tr(c, u);
1206
- u = h, a.push(/* @__PURE__ */ l(T, { width: "full", children: /* @__PURE__ */ l(o, { invocations: m, labeledBlocks: !0, onOpenFile: s }) }, p));
1235
+ } = Br(c, u);
1236
+ u = h, a.push(/* @__PURE__ */ i(k, { width: "full", children: /* @__PURE__ */ i(s, { invocations: m, labeledBlocks: !0, onOpenFile: r }) }, p));
1207
1237
  break e;
1208
1238
  }
1209
1239
  case "loading": {
1210
- a.push(/* @__PURE__ */ x(T, { display: "flex", alignItems: "center", gap: "2", py: "2", children: [
1211
- /* @__PURE__ */ l(yt, { size: "sm" }),
1212
- /* @__PURE__ */ l(Q, { fontSize: "sm", color: "fg.muted", children: "Thinking..." })
1240
+ a.push(/* @__PURE__ */ x(k, { display: "flex", alignItems: "center", gap: "2", py: "2", children: [
1241
+ /* @__PURE__ */ i(Ct, { size: "sm" }),
1242
+ /* @__PURE__ */ i(te, { fontSize: "sm", color: "fg.muted", children: "Thinking..." })
1213
1243
  ] }, p));
1214
1244
  break e;
1215
1245
  }
1216
1246
  case "error": {
1217
- a.push(/* @__PURE__ */ l(T, { py: "2", children: /* @__PURE__ */ l(Q, { fontSize: "sm", color: "fg.error", children: kr(f.errorType) }) }, p));
1247
+ a.push(/* @__PURE__ */ i(k, { py: "2", children: /* @__PURE__ */ i(te, { fontSize: "sm", color: "fg.error", children: Ir(f) }) }, p));
1218
1248
  break e;
1219
1249
  }
1220
1250
  case "token_usage": {
1221
- a.push(/* @__PURE__ */ l(T, { py: "1", children: /* @__PURE__ */ x(Q, { fontSize: "xs", color: "fg.subtle", children: [
1251
+ a.push(/* @__PURE__ */ i(k, { py: "1", children: /* @__PURE__ */ x(te, { fontSize: "xs", color: "fg.subtle", children: [
1222
1252
  "Tokens: ",
1223
- Be(f.inputTokens),
1253
+ Fe(f.inputTokens),
1224
1254
  " in / ",
1225
- Be(f.outputTokens),
1255
+ Fe(f.outputTokens),
1226
1256
  " out",
1227
- f.cacheReadTokens ? ` / ${Be(f.cacheReadTokens)} cache read` : ""
1257
+ f.cacheReadTokens ? ` / ${Fe(f.cacheReadTokens)} cache read` : ""
1228
1258
  ] }) }, p));
1229
1259
  break e;
1230
1260
  }
@@ -1232,20 +1262,20 @@ function wr(t) {
1232
1262
  a.push(null);
1233
1263
  }
1234
1264
  }
1235
- d = /* @__PURE__ */ l(De, { children: a }), e[2] = o, e[3] = n.id, e[4] = s, e[5] = c, e[6] = d;
1265
+ d = /* @__PURE__ */ i(Le, { children: a }), e[2] = s, e[3] = n.id, e[4] = r, e[5] = c, e[6] = d;
1236
1266
  } else
1237
1267
  d = e[6];
1238
1268
  return d;
1239
1269
  }
1240
- const Cr = (t) => t === "user" || t === "assistant" || t === "developer" ? t : "assistant", Pr = (t) => {
1270
+ const Ar = (t) => t === "user" || t === "assistant" || t === "developer" ? t : "assistant", vr = (t) => {
1241
1271
  const e = t.parts ?? [];
1242
- return e.length === 0 || e.some((s) => s.type === "text" && "text" in s) ? !1 : e.some((s) => s.type === "reasoning" || s.type === "tool");
1243
- }, _r = (t) => {
1272
+ return e.length === 0 || e.some((r) => r.type === "text" && "text" in r) ? !1 : e.some((r) => r.type === "reasoning" || r.type === "tool");
1273
+ }, Fr = (t) => {
1244
1274
  const e = [];
1245
1275
  for (const n of t) {
1246
- const s = e[e.length - 1];
1247
- if (s && s.role === n.role && Pr(n)) {
1248
- s.parts = [...s.parts ?? [], ...n.parts ?? []];
1276
+ const r = e[e.length - 1];
1277
+ if (r && r.role === n.role && vr(n)) {
1278
+ r.parts = [...r.parts ?? [], ...n.parts ?? []];
1249
1279
  continue;
1250
1280
  }
1251
1281
  e.push({
@@ -1254,63 +1284,87 @@ const Cr = (t) => t === "user" || t === "assistant" || t === "developer" ? t : "
1254
1284
  });
1255
1285
  }
1256
1286
  return e;
1257
- }, Rr = dn(), co = (t) => {
1258
- const e = y(43), {
1287
+ }, zr = (t) => {
1288
+ const e = [], n = [];
1289
+ for (const r of t)
1290
+ r.role === "user" ? e.push({
1291
+ userMessage: r,
1292
+ responses: []
1293
+ }) : e.length > 0 ? e[e.length - 1].responses.push(r) : n.push(r);
1294
+ return {
1295
+ groups: e,
1296
+ leadingResponses: n
1297
+ };
1298
+ }, ze = (t, e) => {
1299
+ const n = Ar(t.role);
1300
+ return /* @__PURE__ */ i(Ve.Root, { from: n, children: /* @__PURE__ */ i(Ve.Content, { from: n, children: /* @__PURE__ */ i(Dr, { message: t, streaming: e }) }) }, t.id);
1301
+ }, go = (t) => {
1302
+ const e = y(47), {
1259
1303
  messages: n,
1260
- streaming: s,
1261
- emptyStateTitle: r,
1262
- emptyStateDescription: o,
1263
- chatInputPlaceholder: i,
1264
- onSubmitMessage: c,
1265
- actions: d,
1266
- repoMenu: a,
1267
- attachedResources: u,
1268
- onClearAttachments: f,
1269
- attachmentList: p,
1270
- approvalPrompt: m
1271
- } = t, h = s === void 0 ? !1 : s;
1272
- let g, S, k, P, D, B, v, A, F, _;
1273
- if (e[0] !== o || e[1] !== r || e[2] !== n || e[3] !== h) {
1274
- const N = _r(n), H = N.length > 0, ye = N.reduce(Ir, 0);
1275
- k = pe, B = "relative", v = "column", A = "full", F = "full", _ = "hidden", S = Ie.Root, D = /* @__PURE__ */ l(rn, { userMessageCount: ye }), g = Ie.Viewport, P = H ? /* @__PURE__ */ l(Ke, { gap: "sm", children: N.map((L) => {
1276
- const j = Cr(L.role);
1277
- return /* @__PURE__ */ l(Oe.Root, { from: j, children: /* @__PURE__ */ l(Oe.Content, { from: j, children: /* @__PURE__ */ l(wr, { message: L, streaming: h }) }) }, L.id);
1278
- }) }) : /* @__PURE__ */ l(qt, { icon: /* @__PURE__ */ l(Et, { size: 48, strokeWidth: 1.5 }), title: r, description: o }), e[0] = o, e[1] = r, e[2] = n, e[3] = h, e[4] = g, e[5] = S, e[6] = k, e[7] = P, e[8] = D, e[9] = B, e[10] = v, e[11] = A, e[12] = F, e[13] = _;
1304
+ streaming: r,
1305
+ emptyStateTitle: o,
1306
+ emptyStateDescription: s,
1307
+ chatInputPlaceholder: l,
1308
+ chatInputDefaultValue: c,
1309
+ onSubmitMessage: d,
1310
+ onChatInputChange: a,
1311
+ actions: u,
1312
+ repoMenu: f,
1313
+ attachedResources: p,
1314
+ onClearAttachments: m,
1315
+ attachmentList: h,
1316
+ approvalPrompt: b
1317
+ } = t, S = r === void 0 ? !1 : r, T = c === void 0 ? "" : c;
1318
+ let P, M, v, O, F, L, R, C, z, W;
1319
+ if (e[0] !== s || e[1] !== o || e[2] !== n || e[3] !== S) {
1320
+ const j = Fr(n), we = j.length > 0, q = j.reduce($r, 0), {
1321
+ groups: ie,
1322
+ leadingResponses: K
1323
+ } = zr(j);
1324
+ v = be, L = "relative", R = "column", C = "full", z = "full", W = "hidden", M = ve.Root, F = /* @__PURE__ */ i(un, { userMessageCount: q }), P = ve.Viewport, O = we ? /* @__PURE__ */ x(et, { gap: "sm", children: [
1325
+ K.map((_) => ze(_, S)),
1326
+ ie.map((_) => /* @__PURE__ */ x(k, { children: [
1327
+ /* @__PURE__ */ i(k, { position: "sticky", top: "0", zIndex: 1, children: ze(_.userMessage, S) }),
1328
+ _.responses.map((H) => ze(H, S))
1329
+ ] }, _.userMessage.id))
1330
+ ] }) : /* @__PURE__ */ i(Gt, { icon: /* @__PURE__ */ i(Ut, { size: 48, strokeWidth: 1.5 }), title: o, description: s }), e[0] = s, e[1] = o, e[2] = n, e[3] = S, e[4] = P, e[5] = M, e[6] = v, e[7] = O, e[8] = F, e[9] = L, e[10] = R, e[11] = C, e[12] = z, e[13] = W;
1279
1331
  } else
1280
- g = e[4], S = e[5], k = e[6], P = e[7], D = e[8], B = e[9], v = e[10], A = e[11], F = e[12], _ = e[13];
1281
- let C;
1282
- e[14] !== g || e[15] !== P ? (C = /* @__PURE__ */ l(g, { children: P }), e[14] = g, e[15] = P, e[16] = C) : C = e[16];
1283
- let O;
1284
- e[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (O = /* @__PURE__ */ l(Ie.ScrollToBottom, { "aria-label": "Scroll to latest message" }), e[17] = O) : O = e[17];
1332
+ P = e[4], M = e[5], v = e[6], O = e[7], F = e[8], L = e[9], R = e[10], C = e[11], z = e[12], W = e[13];
1285
1333
  let $;
1286
- e[18] !== S || e[19] !== D || e[20] !== C ? ($ = /* @__PURE__ */ x(S, { children: [
1287
- D,
1288
- C,
1289
- O
1290
- ] }), e[18] = S, e[19] = D, e[20] = C, e[21] = $) : $ = e[21];
1291
- let R;
1292
- e[22] !== d || e[23] !== u || e[24] !== p || e[25] !== i || e[26] !== f || e[27] !== c || e[28] !== h ? (R = /* @__PURE__ */ l(T, { px: "sm", children: /* @__PURE__ */ l(sn, { placeholder: i, defaultState: Rr, streaming: h, onSubmit: c, actions: d, attachedResources: u, onClearAttachments: f, attachmentList: p }) }), e[22] = d, e[23] = u, e[24] = p, e[25] = i, e[26] = f, e[27] = c, e[28] = h, e[29] = R) : R = e[29];
1334
+ e[14] !== P || e[15] !== O ? ($ = /* @__PURE__ */ i(P, { children: O }), e[14] = P, e[15] = O, e[16] = $) : $ = e[16];
1335
+ let E;
1336
+ e[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (E = /* @__PURE__ */ i(ve.ScrollToBottom, { "aria-label": "Scroll to latest message" }), e[17] = E) : E = e[17];
1293
1337
  let I;
1294
- e[30] !== a ? (I = /* @__PURE__ */ l(pe, { p: "2xs", justifyContent: "flex-end", children: a }), e[30] = a, e[31] = I) : I = e[31];
1295
- let z;
1296
- return e[32] !== k || e[33] !== m || e[34] !== $ || e[35] !== R || e[36] !== I || e[37] !== B || e[38] !== v || e[39] !== A || e[40] !== F || e[41] !== _ ? (z = /* @__PURE__ */ x(k, { position: B, direction: v, w: A, h: F, overflow: _, children: [
1338
+ e[18] !== M || e[19] !== F || e[20] !== $ ? (I = /* @__PURE__ */ x(M, { children: [
1339
+ F,
1297
1340
  $,
1298
- m,
1299
- R,
1300
- I
1301
- ] }), e[32] = k, e[33] = m, e[34] = $, e[35] = R, e[36] = I, e[37] = B, e[38] = v, e[39] = A, e[40] = F, e[41] = _, e[42] = z) : z = e[42], z;
1341
+ E
1342
+ ] }), e[18] = M, e[19] = F, e[20] = $, e[21] = I) : I = e[21];
1343
+ let B;
1344
+ e[22] !== T ? (B = bn(T), e[22] = T, e[23] = B) : B = e[23];
1345
+ let D;
1346
+ e[24] !== u || e[25] !== p || e[26] !== h || e[27] !== l || e[28] !== a || e[29] !== m || e[30] !== d || e[31] !== S || e[32] !== B ? (D = /* @__PURE__ */ i(k, { px: "sm", children: /* @__PURE__ */ i(pn, { placeholder: l, defaultState: B, streaming: S, onSubmit: d, onChange: a, actions: u, attachedResources: p, onClearAttachments: m, attachmentList: h }) }), e[24] = u, e[25] = p, e[26] = h, e[27] = l, e[28] = a, e[29] = m, e[30] = d, e[31] = S, e[32] = B, e[33] = D) : D = e[33];
1347
+ let A;
1348
+ e[34] !== f ? (A = /* @__PURE__ */ i(be, { p: "2xs", justifyContent: "flex-end", children: f }), e[34] = f, e[35] = A) : A = e[35];
1349
+ let V;
1350
+ return e[36] !== v || e[37] !== b || e[38] !== I || e[39] !== D || e[40] !== A || e[41] !== L || e[42] !== R || e[43] !== C || e[44] !== z || e[45] !== W ? (V = /* @__PURE__ */ x(v, { position: L, direction: R, w: C, h: z, overflow: W, children: [
1351
+ I,
1352
+ b,
1353
+ D,
1354
+ A
1355
+ ] }), e[36] = v, e[37] = b, e[38] = I, e[39] = D, e[40] = A, e[41] = L, e[42] = R, e[43] = C, e[44] = z, e[45] = W, e[46] = V) : V = e[46], V;
1302
1356
  };
1303
- function Ir(t, e) {
1357
+ function $r(t, e) {
1304
1358
  return t + (e.role === "user" ? 1 : 0);
1305
1359
  }
1306
1360
  export {
1307
- lo as ApprovalPrompt,
1308
- rn as AutoScroll,
1309
- sn as ChatInput,
1310
- Oe as ChatMessage,
1311
- co as ChatPanel,
1312
- Ie as ChatPrimitives,
1313
- on as SendButton,
1314
- dn as createSerializedPromptState
1361
+ ho as ApprovalPrompt,
1362
+ un as AutoScroll,
1363
+ pn as ChatInput,
1364
+ Ve as ChatMessage,
1365
+ go as ChatPanel,
1366
+ ve as ChatPrimitives,
1367
+ fn as SendButton,
1368
+ bn as createSerializedPromptState
1315
1369
  };
1316
1370
  //# sourceMappingURL=chat-ui.js.map