@tangle-network/sandbox-cli 0.21.27 → 0.21.29

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 (70) hide show
  1. package/dist/graph-viewer/{Analytics-DocMpB6T.js → Analytics-DFWW8Phh.js} +260 -275
  2. package/dist/graph-viewer/Checks-qgqV4xgV.js +155 -0
  3. package/dist/graph-viewer/{Conversations-CISiWrR9.js → Conversations-CGB45kpj.js} +112 -80
  4. package/dist/graph-viewer/{Files-Dh8p_Fpw.js → Files-DtZhf0ii.js} +121 -106
  5. package/dist/graph-viewer/LiveRun-C21wUKAY.js +210 -0
  6. package/dist/graph-viewer/Overview-BjeLsA2I.js +506 -0
  7. package/dist/graph-viewer/{RunPage-nJwCsArn.js → RunPage-CkkcBEUe.js} +22 -22
  8. package/dist/graph-viewer/{Timeline-bPjhV3il.js → Timeline-C2Xolk0t.js} +84 -84
  9. package/dist/graph-viewer/{Today-pebCsPJ1.js → Today-BVVDtSVN.js} +65 -58
  10. package/dist/graph-viewer/Topology-DO5XX8e4.js +545 -0
  11. package/dist/graph-viewer/{Traces-C5x2UvJh.js → Traces-BhMxjNgw.js} +79 -52
  12. package/dist/graph-viewer/{WallPages-DSmRm2v3.js → WallPages-4d9QUZDq.js} +3 -3
  13. package/dist/graph-viewer/index.js +103 -102
  14. package/dist/graph-viewer/{lazy-pages-CpmkG5o2.js → lazy-pages-DM0cZM10.js} +4 -4
  15. package/dist/graph-viewer/{record-part-Cx9GDQeo.js → record-part-CZal_IMH.js} +382 -352
  16. package/dist/graph-viewer/report-viewer.js +7 -7
  17. package/dist/graph-viewer/styles.css +596 -284
  18. package/dist/graph-viewer/{ui-CEhDqce8.js → ui-D8QZRsC3.js} +143 -111
  19. package/dist/graph-viewer/viewer/{AgentGraphCanvas-D7jjAE6i-DecKyUGA.js → AgentGraphCanvas-CMdOlSlh-4EervjeC.js} +54 -48
  20. package/dist/graph-viewer/viewer/{Analytics-CtKucZjs.js → Analytics-DD__nbLm.js} +203 -218
  21. package/dist/graph-viewer/viewer/{AnswerStrip-DsI9aF-i.js → AnswerStrip-CGUyXuYH.js} +2 -2
  22. package/dist/graph-viewer/viewer/Checks-Ds5M7eAW.js +156 -0
  23. package/dist/graph-viewer/viewer/{Conversations-DQBCyko6.js → Conversations-C1n0EBBd.js} +124 -92
  24. package/dist/graph-viewer/viewer/{Files-B-g25gSO.js → Files-Cjr7NMU_.js} +63 -48
  25. package/dist/graph-viewer/viewer/{LiveRun-BMQnTpTZ.js → LiveRun-uPTkPSjo.js} +1223 -1164
  26. package/dist/graph-viewer/viewer/{Outputs-DXnN1wEQ.js → Outputs-CumGyjQo.js} +6 -6
  27. package/dist/graph-viewer/viewer/Overview-4Umk14_2.js +507 -0
  28. package/dist/graph-viewer/viewer/{RunPage-ChipoSdO.js → RunPage-DZlBW7Va.js} +28 -28
  29. package/dist/graph-viewer/viewer/{Scores-CjriXjf_.js → Scores-ZS16yk0n.js} +3 -3
  30. package/dist/graph-viewer/viewer/{Timeline-DzEzobA0.js → Timeline-BnK6-yBR.js} +24 -24
  31. package/dist/graph-viewer/viewer/{Today-DLHe_wTA.js → Today-a_-oNigi.js} +69 -62
  32. package/dist/graph-viewer/viewer/Topology-CQPCLQT6.js +546 -0
  33. package/dist/graph-viewer/viewer/{Traces-BWBulSPE.js → Traces-C0IGk0L4.js} +75 -48
  34. package/dist/graph-viewer/viewer/{WallPages-Crj-qPoK.js → WallPages-CzWpyIfp.js} +8 -8
  35. package/dist/graph-viewer/viewer/{WorkflowGraph-DYsP_Kcg-C0O7M5iH.js → WorkflowGraph-DZ3xejKE-jRXKeSrg.js} +6 -6
  36. package/dist/graph-viewer/viewer/{agent-timeline-C-UIhXgu.js → agent-timeline-Cs9Qbpvo.js} +437 -425
  37. package/dist/graph-viewer/viewer/{bot-Bivadvxn.js → bot-D6Nrej7Z.js} +1 -1
  38. package/dist/graph-viewer/viewer/{chevron-right-WW7tFY6B.js → chevron-right-D_5IKLxu.js} +1 -1
  39. package/dist/graph-viewer/viewer/{createLucideIcon-Z6KTw8ff.js → createLucideIcon-yH0cxLMy.js} +1 -1
  40. package/dist/graph-viewer/viewer/{data-azhapQrS.js → data-CkWfWr7i.js} +1 -1
  41. package/dist/graph-viewer/viewer/{dist-CyOc-K4O.js → dist-C1-7EfoW.js} +3 -3
  42. package/dist/graph-viewer/viewer/{file-text-B34N7Soo.js → file-text-m7a3piQF.js} +1 -1
  43. package/dist/graph-viewer/viewer/{final-output-Db2D9cMT.js → final-output-kwY11u9X.js} +1 -1
  44. package/dist/graph-viewer/viewer/{highlights-Bgg6O5ub.js → highlights-Btsi5OXl.js} +2 -2
  45. package/dist/graph-viewer/viewer/{jsx-runtime-BSzbUOFc.js → jsx-runtime-DQWyJOhv.js} +1 -1
  46. package/dist/graph-viewer/viewer/{lazy-pages-fgtpXQ00.js → lazy-pages-BowaGsg-.js} +6 -6
  47. package/dist/graph-viewer/viewer/{markdown-BpJEJUTW.js → markdown-CX_sVrXB.js} +17 -17
  48. package/dist/graph-viewer/viewer/{model-brand-bTcMjQtB-C9bHPsPk.js → model-brand-bTcMjQtB-fagiBQam.js} +3 -3
  49. package/dist/graph-viewer/viewer/{page-header-C6YCPkzJ.js → page-header-Brq611fd.js} +3 -3
  50. package/dist/graph-viewer/viewer/{popover-DrLB9iar.js → popover-CvOAjlnk.js} +4 -4
  51. package/dist/graph-viewer/viewer/{react-CisnW4fB.js → react-CY3IbSNO.js} +24 -24
  52. package/dist/graph-viewer/viewer/{react-dom-C5NDYQCD.js → react-dom-t1L4_-il.js} +1 -1
  53. package/dist/graph-viewer/viewer/{record-part-d0gKKrMI.js → record-part-D3_Anfpe.js} +455 -425
  54. package/dist/graph-viewer/viewer/{segmented-control-ChhLMa6h.js → segmented-control-BaJmvTNd.js} +39 -39
  55. package/dist/graph-viewer/viewer/{shiki-BwlTRTY6.js → shiki-Qnby7Sh6.js} +2 -2
  56. package/dist/graph-viewer/viewer/{stream-tokenizer-CaVb21TO.js → stream-tokenizer-CWtnjmRd.js} +1 -1
  57. package/dist/graph-viewer/viewer/{terminal-BxRacTx0.js → terminal-83J_I4Ne.js} +1 -1
  58. package/dist/graph-viewer/viewer/{themes-BxrCCwH5.js → themes-1i1fzpRk.js} +1 -1
  59. package/dist/graph-viewer/viewer/{ui-DZiGjPwl.js → ui-C9b1rIUH.js} +222 -190
  60. package/dist/graph-viewer/viewer/{workspace-DalRxssx.js → workspace-CekmOBs3.js} +76 -76
  61. package/dist/graph-viewer/viewer/{x-B_F8B4lq.js → x-DOc2URqZ.js} +1 -1
  62. package/dist/graph-viewer/workspace-viewer.js +103 -102
  63. package/package.json +6 -6
  64. package/dist/graph-viewer/Checks-CbnY4tuh.js +0 -113
  65. package/dist/graph-viewer/LiveRun-C-yKwkKs.js +0 -190
  66. package/dist/graph-viewer/Overview-BaXPdCFC.js +0 -477
  67. package/dist/graph-viewer/Topology-CyhuK6XW.js +0 -550
  68. package/dist/graph-viewer/viewer/Checks-DZTgeYlV.js +0 -114
  69. package/dist/graph-viewer/viewer/Overview-u7-8-rGx.js +0 -478
  70. package/dist/graph-viewer/viewer/Topology-Dsmuu27J.js +0 -551
@@ -1,14 +1,14 @@
1
1
  import { i as e } from "./rolldown-runtime-DArdT4gl.js";
2
- import { i as t, n, t as r } from "./jsx-runtime-BSzbUOFc.js";
3
- import { $ as i, A as a, C as o, E as s, M as c, O as l, S as u, a as d, b as f, c as p, h as m, j as h, l as g, p as _, t as v, u as y, v as b, w as ee, x, y as S } from "./markdown-BpJEJUTW.js";
4
- import { t as C } from "./createLucideIcon-Z6KTw8ff.js";
5
- import { t as te } from "./bot-Bivadvxn.js";
6
- import { n as w, r as T } from "./x-B_F8B4lq.js";
7
- import { t as ne } from "./chevron-right-WW7tFY6B.js";
8
- import { n as re, t as E } from "./file-text-B34N7Soo.js";
9
- import { n as D, r as O, t as ie } from "./terminal-BxRacTx0.js";
2
+ import { i as t, n, t as r } from "./jsx-runtime-DQWyJOhv.js";
3
+ import { $ as i, A as a, C as o, E as s, M as c, O as l, S as u, a as d, b as f, c as p, h as m, j as h, l as g, p as _, t as v, u as y, v as b, w as ee, x, y as S } from "./markdown-CX_sVrXB.js";
4
+ import { t as C } from "./createLucideIcon-yH0cxLMy.js";
5
+ import { t as w } from "./bot-D6Nrej7Z.js";
6
+ import { n as T, r as E } from "./x-DOc2URqZ.js";
7
+ import { t as D } from "./chevron-right-D_5IKLxu.js";
8
+ import { n as te, t as O } from "./file-text-m7a3piQF.js";
9
+ import { n as ne, r as re, t as ie } from "./terminal-83J_I4Ne.js";
10
10
  //#region node_modules/.pnpm/lucide-react@1.61.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/arrow-right.mjs
11
- var k = {
11
+ var ae = {
12
12
  name: "arrow-right",
13
13
  size: 24,
14
14
  node: [["path", {
@@ -19,8 +19,8 @@ var k = {
19
19
  key: "xquz4c"
20
20
  }]]
21
21
  };
22
- k.node;
23
- var ae = C(k), A = {
22
+ ae.node;
23
+ var oe = C(ae), se = {
24
24
  name: "brain",
25
25
  size: 24,
26
26
  node: [
@@ -58,8 +58,8 @@ var ae = C(k), A = {
58
58
  }]
59
59
  ]
60
60
  };
61
- A.node;
62
- var oe = C(A), j = {
61
+ se.node;
62
+ var ce = C(se), le = {
63
63
  name: "circle-dot",
64
64
  size: 24,
65
65
  node: [["circle", {
@@ -74,8 +74,8 @@ var oe = C(A), j = {
74
74
  key: "1mglay"
75
75
  }]]
76
76
  };
77
- j.node;
78
- var se = C(j), M = {
77
+ le.node;
78
+ var ue = C(le), k = {
79
79
  name: "clipboard-list",
80
80
  size: 24,
81
81
  node: [
@@ -110,8 +110,8 @@ var se = C(j), M = {
110
110
  }]
111
111
  ]
112
112
  };
113
- M.node;
114
- var ce = C(M), le = {
113
+ k.node;
114
+ var de = C(k), A = {
115
115
  name: "file-pen",
116
116
  size: 24,
117
117
  node: [
@@ -130,8 +130,8 @@ var ce = C(M), le = {
130
130
  ],
131
131
  aliases: ["file-edit"]
132
132
  };
133
- le.node;
134
- var ue = C(le), de = {
133
+ A.node;
134
+ var fe = C(A), pe = {
135
135
  name: "file-search",
136
136
  size: 24,
137
137
  node: [
@@ -155,8 +155,8 @@ var ue = C(le), de = {
155
155
  }]
156
156
  ]
157
157
  };
158
- de.node;
159
- var fe = C(de), pe = {
158
+ pe.node;
159
+ var me = C(pe), he = {
160
160
  name: "git-compare-arrows",
161
161
  size: 24,
162
162
  node: [
@@ -190,8 +190,8 @@ var fe = C(de), pe = {
190
190
  }]
191
191
  ]
192
192
  };
193
- pe.node;
194
- var me = C(pe), he = {
193
+ he.node;
194
+ var ge = C(he), _e = {
195
195
  name: "message-square-quote",
196
196
  size: 24,
197
197
  node: [
@@ -209,8 +209,8 @@ var me = C(pe), he = {
209
209
  }]
210
210
  ]
211
211
  };
212
- he.node;
213
- var ge = C(he), _e = {
212
+ _e.node;
213
+ var ve = C(_e), ye = {
214
214
  name: "pencil-line",
215
215
  size: 24,
216
216
  node: [
@@ -228,8 +228,8 @@ var ge = C(he), _e = {
228
228
  }]
229
229
  ]
230
230
  };
231
- _e.node;
232
- var ve = C(_e), ye = {
231
+ ye.node;
232
+ var be = C(ye), xe = {
233
233
  name: "settings",
234
234
  size: 24,
235
235
  node: [["path", {
@@ -242,32 +242,32 @@ var ve = C(_e), ye = {
242
242
  key: "1v7zrd"
243
243
  }]]
244
244
  };
245
- ye.node;
246
- var be = C(ye), N = /* @__PURE__ */ e(t(), 1), P = r(), xe = "tangle-transcript-text text-[length:var(--transcript-font-size)] leading-[var(--transcript-line-height)]";
245
+ xe.node;
246
+ var Se = C(xe), j = /* @__PURE__ */ e(t(), 1), M = r(), N = "tangle-transcript-text text-[length:var(--transcript-font-size)] leading-[var(--transcript-line-height)]";
247
247
  //#endregion
248
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/chat/message-author.js
249
- function Se(e, t) {
248
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/chat/message-author.js
249
+ function Ce(e, t) {
250
250
  return e === void 0 || e.id === t;
251
251
  }
252
- function Ce({ author: e, className: t, ...r }) {
253
- return /* @__PURE__ */ (0, P.jsxs)("div", {
252
+ function P({ author: e, className: t, ...r }) {
253
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
254
254
  "data-message-author": "",
255
255
  className: n("flex min-w-0 max-w-full items-center gap-2", t),
256
256
  ...r,
257
257
  children: [
258
- /* @__PURE__ */ (0, P.jsx)(_, {
258
+ /* @__PURE__ */ (0, M.jsx)(_, {
259
259
  size: "xs",
260
260
  src: e.avatarUrl,
261
261
  name: e.name,
262
262
  tone: b(e.id),
263
263
  className: "rounded-full"
264
264
  }),
265
- /* @__PURE__ */ (0, P.jsx)("span", {
265
+ /* @__PURE__ */ (0, M.jsx)("span", {
266
266
  className: "min-w-0 truncate font-medium text-foreground text-sm",
267
267
  title: e.name,
268
268
  children: e.name
269
269
  }),
270
- e.role ? /* @__PURE__ */ (0, P.jsx)(m, {
270
+ e.role ? /* @__PURE__ */ (0, M.jsx)(m, {
271
271
  size: "sm",
272
272
  emphasis: "outline",
273
273
  className: "max-w-[50%]",
@@ -277,17 +277,17 @@ function Ce({ author: e, className: t, ...r }) {
277
277
  });
278
278
  }
279
279
  //#endregion
280
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/chat/synthetic-text.js
280
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/chat/synthetic-text.js
281
281
  function we({ text: e }) {
282
- return e.trim() ? /* @__PURE__ */ (0, P.jsxs)("div", {
282
+ return e.trim() ? /* @__PURE__ */ (0, M.jsxs)("div", {
283
283
  role: "note",
284
284
  "aria-label": "Application note",
285
285
  "data-synthetic-text": "",
286
286
  className: "min-w-0 rounded-md border border-dashed border-border bg-muted/30 px-3 py-2 text-sm text-muted-foreground",
287
- children: [/* @__PURE__ */ (0, P.jsx)("div", {
287
+ children: [/* @__PURE__ */ (0, M.jsx)("div", {
288
288
  className: "mb-1 font-medium",
289
289
  children: "Application note"
290
- }), /* @__PURE__ */ (0, P.jsx)("div", {
290
+ }), /* @__PURE__ */ (0, M.jsx)("div", {
291
291
  className: "break-words whitespace-pre-wrap",
292
292
  children: e
293
293
  })]
@@ -311,57 +311,57 @@ function Te(e) {
311
311
  }), i(), t;
312
312
  }
313
313
  //#endregion
314
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/chat/user-message.js
315
- function Ee(e) {
314
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/chat/user-message.js
315
+ function F(e) {
316
316
  return e.toLocaleTimeString(void 0, {
317
317
  hour: "numeric",
318
318
  minute: "2-digit"
319
319
  });
320
320
  }
321
- function F({ children: e, align: t = "end" }) {
322
- return /* @__PURE__ */ (0, P.jsx)("div", {
323
- className: `flex flex-wrap items-center ${t === "end" ? "justify-end" : "justify-start"} gap-1.5 text-xs text-muted-foreground`,
321
+ function I({ children: e, align: t = "end" }) {
322
+ return /* @__PURE__ */ (0, M.jsx)("div", {
323
+ className: `flex flex-wrap items-center ${t === "end" ? "justify-end" : "justify-start"} gap-1.5 text-sm text-muted-foreground`,
324
324
  children: e
325
325
  });
326
326
  }
327
- function De({ text: e, timestamp: t, actions: n }) {
328
- return /* @__PURE__ */ (0, P.jsx)("div", {
327
+ function Ee({ text: e, timestamp: t, actions: n }) {
328
+ return /* @__PURE__ */ (0, M.jsx)("div", {
329
329
  className: "flex justify-end",
330
- children: /* @__PURE__ */ (0, P.jsxs)("div", {
330
+ children: /* @__PURE__ */ (0, M.jsxs)("div", {
331
331
  className: "group flex min-w-0 max-w-[78%] flex-col items-end gap-2",
332
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
332
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
333
333
  className: "relative w-full min-w-0 rounded-2xl bg-foreground px-4 py-3 text-background",
334
- children: [t ? /* @__PURE__ */ (0, P.jsx)("span", {
334
+ children: [t ? /* @__PURE__ */ (0, M.jsx)("span", {
335
335
  "data-user-message-time": "",
336
336
  className: "pointer-events-none absolute right-full top-1/2 mr-3 -translate-y-1/2 whitespace-nowrap text-[length:var(--font-size-xs)] text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100",
337
- children: Ee(t)
338
- }) : null, /* @__PURE__ */ (0, P.jsx)("div", {
339
- className: `break-words whitespace-pre-wrap ${xe}`,
337
+ children: F(t)
338
+ }) : null, /* @__PURE__ */ (0, M.jsx)("div", {
339
+ className: `break-words whitespace-pre-wrap ${N}`,
340
340
  children: e
341
341
  })]
342
- }), n ? /* @__PURE__ */ (0, P.jsx)(F, { children: n }) : null]
342
+ }), n ? /* @__PURE__ */ (0, M.jsx)(I, { children: n }) : null]
343
343
  })
344
344
  });
345
345
  }
346
- function Oe({ text: e, timestamp: t, actions: n, author: r }) {
347
- return /* @__PURE__ */ (0, P.jsx)("div", {
346
+ function De({ text: e, timestamp: t, actions: n, author: r }) {
347
+ return /* @__PURE__ */ (0, M.jsx)("div", {
348
348
  className: "flex justify-start",
349
- children: /* @__PURE__ */ (0, P.jsxs)("div", {
349
+ children: /* @__PURE__ */ (0, M.jsxs)("div", {
350
350
  className: "group flex min-w-0 max-w-[78%] flex-col items-start gap-1.5",
351
351
  children: [
352
- r ? /* @__PURE__ */ (0, P.jsx)(Ce, { author: r }) : null,
353
- /* @__PURE__ */ (0, P.jsxs)("div", {
352
+ r ? /* @__PURE__ */ (0, M.jsx)(P, { author: r }) : null,
353
+ /* @__PURE__ */ (0, M.jsxs)("div", {
354
354
  className: "relative min-w-0 max-w-full rounded-2xl border border-border bg-card px-4 py-3 text-foreground",
355
- children: [t ? /* @__PURE__ */ (0, P.jsx)("span", {
355
+ children: [t ? /* @__PURE__ */ (0, M.jsx)("span", {
356
356
  "data-user-message-time": "",
357
357
  className: "pointer-events-none absolute left-full top-1/2 ml-3 -translate-y-1/2 whitespace-nowrap text-[length:var(--font-size-xs)] text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100",
358
- children: Ee(t)
359
- }) : null, /* @__PURE__ */ (0, P.jsx)("div", {
360
- className: `break-words whitespace-pre-wrap ${xe}`,
358
+ children: F(t)
359
+ }) : null, /* @__PURE__ */ (0, M.jsx)("div", {
360
+ className: `break-words whitespace-pre-wrap ${N}`,
361
361
  children: e
362
362
  })]
363
363
  }),
364
- n ? /* @__PURE__ */ (0, P.jsx)(F, {
364
+ n ? /* @__PURE__ */ (0, M.jsx)(I, {
365
365
  align: "start",
366
366
  children: n
367
367
  }) : null
@@ -369,13 +369,13 @@ function Oe({ text: e, timestamp: t, actions: n, author: r }) {
369
369
  })
370
370
  });
371
371
  }
372
- var I = (0, N.memo)(({ message: e, parts: t, content: n, timestamp: r, actions: i, author: a, viewerId: o }) => {
373
- let s = Se(a, o) ? void 0 : a, c = (e, t, n = !0, i) => s ? /* @__PURE__ */ (0, P.jsx)(Oe, {
372
+ var L = (0, j.memo)(({ message: e, parts: t, content: n, timestamp: r, actions: i, author: a, viewerId: o }) => {
373
+ let s = Ce(a, o) ? void 0 : a, c = (e, t, n = !0, i) => s ? /* @__PURE__ */ (0, M.jsx)(De, {
374
374
  text: e,
375
375
  timestamp: r,
376
376
  actions: t,
377
377
  author: n ? s : void 0
378
- }, i) : /* @__PURE__ */ (0, P.jsx)(De, {
378
+ }, i) : /* @__PURE__ */ (0, M.jsx)(Ee, {
379
379
  text: e,
380
380
  timestamp: r,
381
381
  actions: t
@@ -385,36 +385,36 @@ var I = (0, N.memo)(({ message: e, parts: t, content: n, timestamp: r, actions:
385
385
  if (l.length === 0) return null;
386
386
  if (l.length === 1 && !l[0].synthetic) return c(l[0].text, i);
387
387
  let u = l.find((e) => !e.synthetic);
388
- return /* @__PURE__ */ (0, P.jsxs)("div", {
388
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
389
389
  className: "space-y-2",
390
- children: [l.map((e) => e.synthetic ? /* @__PURE__ */ (0, P.jsx)(we, { text: e.text }, e.index) : c(e.text, void 0, e === u, e.index)), i ? /* @__PURE__ */ (0, P.jsx)(F, {
390
+ children: [l.map((e) => e.synthetic ? /* @__PURE__ */ (0, M.jsx)(we, { text: e.text }, e.index) : c(e.text, void 0, e === u, e.index)), i ? /* @__PURE__ */ (0, M.jsx)(I, {
391
391
  align: s ? "start" : "end",
392
392
  children: i
393
393
  }) : null]
394
394
  });
395
395
  });
396
- I.displayName = "UserMessage";
396
+ L.displayName = "UserMessage";
397
397
  //#endregion
398
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/utils/tool-display.js
399
- var ke = "tool:";
400
- function L(e) {
398
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/utils/tool-display.js
399
+ var Oe = "tool:";
400
+ function R(e) {
401
401
  let t = e?.toLowerCase() ?? "";
402
- return t.startsWith(ke) ? t.slice(5) : t;
402
+ return t.startsWith(Oe) ? t.slice(5) : t;
403
403
  }
404
- function R(e, t) {
404
+ function z(e, t) {
405
405
  if (typeof e == "object" && e && t in e) {
406
406
  let n = e[t];
407
407
  if (typeof n == "string") return n;
408
408
  }
409
409
  }
410
+ function ke(e) {
411
+ return typeof e == "string" ? e : z(e, "command") ?? z(e, "cmd");
412
+ }
410
413
  function Ae(e) {
411
- return typeof e == "string" ? e : R(e, "command") ?? R(e, "cmd");
414
+ return z(e, "file_path") ?? z(e, "path") ?? z(e, "filePath") ?? z(e, "file");
412
415
  }
413
416
  function je(e) {
414
- return R(e, "file_path") ?? R(e, "path") ?? R(e, "filePath") ?? R(e, "file");
415
- }
416
- function Me(e) {
417
- switch (L(e)) {
417
+ switch (R(e)) {
418
418
  case "bash":
419
419
  case "shell":
420
420
  case "command":
@@ -445,15 +445,15 @@ function Me(e) {
445
445
  default: return "other";
446
446
  }
447
447
  }
448
- function z(e) {
449
- let t = L(e.tool), n = e.state.status === "pending" ? void 0 : e.state.input, r = je(n), i = Ae(n);
448
+ function B(e) {
449
+ let t = R(e.tool), n = e.state.status === "pending" ? void 0 : e.state.input, r = Ae(n), i = ke(n);
450
450
  switch (t) {
451
451
  case "bash":
452
452
  case "shell":
453
453
  case "command":
454
454
  case "execute": return {
455
455
  title: "Shell",
456
- description: i ? B(i) : void 0,
456
+ description: i ? V(i) : void 0,
457
457
  displayVariant: "command",
458
458
  commandSnippet: i
459
459
  };
@@ -486,75 +486,75 @@ function z(e) {
486
486
  case "search":
487
487
  case "rg": return {
488
488
  title: "Search",
489
- description: R(n, "pattern"),
489
+ description: z(n, "pattern"),
490
490
  displayVariant: "grep"
491
491
  };
492
492
  case "glob":
493
493
  case "find":
494
494
  case "ls": return {
495
495
  title: "Find",
496
- description: R(n, "pattern"),
496
+ description: z(n, "pattern"),
497
497
  displayVariant: "glob"
498
498
  };
499
499
  case "web_search":
500
500
  case "web_fetch":
501
501
  case "fetch": {
502
- let e = R(n, "query") ?? R(n, "url");
502
+ let e = z(n, "query") ?? z(n, "url");
503
503
  return {
504
504
  title: t === "web_search" ? "Web search" : "Fetch",
505
- description: e ? B(e) : void 0,
505
+ description: e ? V(e) : void 0,
506
506
  displayVariant: "web-search"
507
507
  };
508
508
  }
509
509
  case "task":
510
510
  case "agent":
511
511
  case "spawn": {
512
- let e = R(n, "description") ?? R(n, "prompt");
512
+ let e = z(n, "description") ?? z(n, "prompt");
513
513
  return {
514
514
  title: "Task",
515
- description: e ? B(e) : void 0
515
+ description: e ? V(e) : void 0
516
516
  };
517
517
  }
518
518
  default: return {
519
519
  title: e.tool || "Tool",
520
- description: i ?? r ?? R(n, "pattern") ?? R(n, "query")
520
+ description: i ?? r ?? z(n, "pattern") ?? z(n, "query")
521
521
  };
522
522
  }
523
523
  }
524
- function B(e) {
524
+ function V(e) {
525
525
  let t = e.split("\n")[0];
526
526
  return t.length > 60 ? t.slice(0, 57) + "..." : t;
527
527
  }
528
- function Ne(e, t) {
528
+ function Me(e, t) {
529
529
  if (e.state.status === "error") return e.state.error || t;
530
530
  }
531
531
  //#endregion
532
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/tool-previews/command-preview.js
533
- var Pe = [
532
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/tool-previews/command-preview.js
533
+ var Ne = [
534
534
  "command",
535
535
  "cmd",
536
536
  "script",
537
537
  "commandLine"
538
538
  ];
539
- function Fe(e) {
539
+ function Pe(e) {
540
540
  if (typeof e == "string") return e;
541
541
  if (e && typeof e == "object") {
542
542
  let t = e;
543
- for (let e of Pe) {
543
+ for (let e of Ne) {
544
544
  let n = t[e];
545
545
  if (typeof n == "string" && n.length > 0) return n;
546
546
  }
547
547
  }
548
548
  return "";
549
549
  }
550
- function Ie(e) {
550
+ function Fe(e) {
551
551
  if (typeof e == "number" && Number.isFinite(e)) return e;
552
552
  if (typeof e == "string" && e.trim() !== "") {
553
553
  let t = Number(e);
554
554
  return Number.isFinite(t) ? t : void 0;
555
555
  }
556
556
  }
557
- function Le(e) {
557
+ function Ie(e) {
558
558
  return e == null ? {
559
559
  stdout: "",
560
560
  stderr: "",
@@ -563,18 +563,18 @@ function Le(e) {
563
563
  stdout: e,
564
564
  stderr: "",
565
565
  exitCode: void 0
566
- } : typeof e == "object" ? V(e) : {
566
+ } : typeof e == "object" ? Le(e) : {
567
567
  stdout: String(e),
568
568
  stderr: "",
569
569
  exitCode: void 0
570
570
  };
571
571
  }
572
- function V(e) {
572
+ function Le(e) {
573
573
  let t = (e) => e == null ? "" : String(e), n = e.timedOut ?? e.timed_out, r = e.signal;
574
574
  return {
575
575
  stdout: t(e.stdout ?? e.output),
576
576
  stderr: t(e.stderr),
577
- exitCode: Ie(e.exitCode ?? e.exit_code ?? e.code),
577
+ exitCode: Fe(e.exitCode ?? e.exit_code ?? e.code),
578
578
  ...n === !0 ? { timedOut: !0 } : {},
579
579
  ...typeof r == "string" && r.length > 0 ? { signal: r } : {}
580
580
  };
@@ -598,35 +598,35 @@ function ze(e) {
598
598
  let e = JSON.parse(t);
599
599
  if (!e || typeof e != "object" || Array.isArray(e)) return;
600
600
  let n = e;
601
- return !("stdout" in n) && !("stderr" in n) || !Object.keys(n).every((e) => Re.has(e)) ? void 0 : V(n);
601
+ return !("stdout" in n) && !("stderr" in n) || !Object.keys(n).every((e) => Re.has(e)) ? void 0 : Le(n);
602
602
  } catch {
603
603
  return;
604
604
  }
605
605
  }
606
606
  function Be({ output: e, status: t }) {
607
- if (t === "running" || t === "pending") return /* @__PURE__ */ (0, P.jsxs)("span", {
607
+ if (t === "running" || t === "pending") return /* @__PURE__ */ (0, M.jsxs)("span", {
608
608
  className: "inline-flex shrink-0 items-center gap-1 text-[11px] text-muted-foreground",
609
- children: [/* @__PURE__ */ (0, P.jsx)(T, {
609
+ children: [/* @__PURE__ */ (0, M.jsx)(E, {
610
610
  className: "h-3 w-3 animate-spin",
611
611
  "aria-hidden": "true"
612
612
  }), "running"]
613
613
  });
614
614
  let { exitCode: r, timedOut: i, signal: a } = e, o, s;
615
- return i ? (o = "timed out", s = "danger") : a ? (o = a, s = "danger") : r !== void 0 && r !== 0 ? (o = `exit ${r}`, s = "danger") : t === "error" ? (o = r === 0 ? "exit 0 · tool reported error" : "tool reported error", s = "warning") : (o = r === 0 ? "exit 0" : null, s = "success"), o === null ? null : /* @__PURE__ */ (0, P.jsx)("span", {
615
+ return i ? (o = "timed out", s = "danger") : a ? (o = a, s = "danger") : r !== void 0 && r !== 0 ? (o = `exit ${r}`, s = "danger") : t === "error" ? (o = r === 0 ? "exit 0 · tool reported error" : "tool reported error", s = "warning") : (o = r === 0 ? "exit 0" : null, s = "success"), o === null ? null : /* @__PURE__ */ (0, M.jsx)("span", {
616
616
  className: n("inline-flex shrink-0 items-center rounded-full border px-1.5 py-px font-sans text-[11px] font-medium tabular-nums", s === "danger" && "border-transparent bg-[var(--surface-danger-bg)] text-[var(--surface-danger-text)]", s === "success" && "border-transparent bg-[var(--surface-success-bg)] text-[var(--surface-success-text)]", s === "warning" && "border-[var(--surface-warning-border)] bg-[var(--surface-warning-bg)] text-[var(--surface-warning-text)]"),
617
617
  children: o
618
618
  });
619
619
  }
620
620
  function Ve({ command: e }) {
621
621
  let t = e.split(/(\s+)/);
622
- return /* @__PURE__ */ (0, P.jsx)(P.Fragment, { children: t.map((e, t) => e.length > 0 && !/\s/.test(e) ? /* @__PURE__ */ (0, P.jsx)("span", {
622
+ return /* @__PURE__ */ (0, M.jsx)(M.Fragment, { children: t.map((e, t) => e.length > 0 && !/\s/.test(e) ? /* @__PURE__ */ (0, M.jsx)("span", {
623
623
  className: "inline-block max-w-full [overflow-wrap:anywhere]",
624
624
  children: e
625
625
  }, t) : e) });
626
626
  }
627
627
  function H({ label: e, text: t, className: r }) {
628
- let a = (0, N.useRef)(null), [o, s] = (0, N.useState)(!1), [c, l] = (0, N.useState)(!1);
629
- (0, N.useLayoutEffect)(() => {
628
+ let a = (0, j.useRef)(null), [o, s] = (0, j.useState)(!1), [c, l] = (0, j.useState)(!1);
629
+ (0, j.useLayoutEffect)(() => {
630
630
  let e = a.current;
631
631
  if (!e || c) return;
632
632
  let t = () => s(e.scrollHeight > e.clientHeight + 1);
@@ -635,16 +635,16 @@ function H({ label: e, text: t, className: r }) {
635
635
  return n.observe(e), () => n.disconnect();
636
636
  }, [c]);
637
637
  let u = t.replace(/\n$/, "").split("\n").length;
638
- return /* @__PURE__ */ (0, P.jsxs)("div", {
638
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
639
639
  className: r,
640
- children: [/* @__PURE__ */ (0, P.jsx)("pre", {
640
+ children: [/* @__PURE__ */ (0, M.jsx)("pre", {
641
641
  ref: a,
642
642
  tabIndex: 0,
643
643
  role: "region",
644
644
  "aria-label": e,
645
645
  className: n("overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] px-3 py-2 leading-relaxed", c ? "" : "max-h-80", i),
646
646
  children: t
647
- }), o && !c ? /* @__PURE__ */ (0, P.jsxs)("button", {
647
+ }), o && !c ? /* @__PURE__ */ (0, M.jsxs)("button", {
648
648
  type: "button",
649
649
  onClick: () => l(!0),
650
650
  className: n("w-full border-t border-white/10 px-3 py-1.5 text-left font-sans text-[11px] font-medium text-muted-foreground transition-colors hover:text-foreground", i),
@@ -658,62 +658,62 @@ function H({ label: e, text: t, className: r }) {
658
658
  }) : null]
659
659
  });
660
660
  }
661
- var He = (0, N.memo)(({ part: e, defaultExpanded: t = !1, className: r }) => {
662
- let [a, o] = (0, N.useState)(t), s = (0, N.useId)(), c = Fe(e.state.input), { status: l } = e.state, u = Le(e.state.output), d = (e) => e.replace(/\s+/g, " ").trim(), f = e.state.error !== void 0 && u.stdout.length > 0 && d(e.state.error) === d(u.stdout) ? void 0 : e.state.error, p = u.stdout.length > 0 || u.stderr.length > 0 || f !== void 0 && f.length > 0, m = /* @__PURE__ */ (0, P.jsxs)(P.Fragment, { children: [
663
- /* @__PURE__ */ (0, P.jsx)("span", {
661
+ var He = (0, j.memo)(({ part: e, defaultExpanded: t = !1, className: r }) => {
662
+ let [a, o] = (0, j.useState)(t), s = (0, j.useId)(), c = Pe(e.state.input), { status: l } = e.state, u = Ie(e.state.output), d = (e) => e.replace(/\s+/g, " ").trim(), f = e.state.error !== void 0 && u.stdout.length > 0 && d(e.state.error) === d(u.stdout) ? void 0 : e.state.error, p = u.stdout.length > 0 || u.stderr.length > 0 || f !== void 0 && f.length > 0, m = /* @__PURE__ */ (0, M.jsxs)(M.Fragment, { children: [
663
+ /* @__PURE__ */ (0, M.jsx)("span", {
664
664
  "aria-hidden": "true",
665
665
  className: "shrink-0 select-none text-muted-foreground",
666
666
  children: "$"
667
667
  }),
668
- /* @__PURE__ */ (0, P.jsx)("code", {
668
+ /* @__PURE__ */ (0, M.jsx)("code", {
669
669
  title: a ? void 0 : c,
670
670
  className: n("min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere]", a ? "" : "line-clamp-2"),
671
- children: a ? /* @__PURE__ */ (0, P.jsx)(Ve, { command: c }) : c
671
+ children: a ? /* @__PURE__ */ (0, M.jsx)(Ve, { command: c }) : c
672
672
  }),
673
- /* @__PURE__ */ (0, P.jsx)("span", {
673
+ /* @__PURE__ */ (0, M.jsx)("span", {
674
674
  className: "flex shrink-0 max-sm:order-last max-sm:basis-full max-sm:pl-4",
675
- children: /* @__PURE__ */ (0, P.jsx)(Be, {
675
+ children: /* @__PURE__ */ (0, M.jsx)(Be, {
676
676
  output: u,
677
677
  status: l
678
678
  })
679
679
  })
680
680
  ] });
681
- return /* @__PURE__ */ (0, P.jsxs)("div", {
681
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
682
682
  "data-theme": a ? "dark" : void 0,
683
683
  "data-testid": "command-preview",
684
684
  "data-expanded": a,
685
685
  className: n("overflow-hidden rounded-[var(--radius-md)] border font-mono text-xs text-foreground", a ? "border-[var(--md3-surface-container-lowest)] bg-[var(--md3-surface-container-lowest)]" : "border-transparent bg-transparent", r),
686
- children: [p ? /* @__PURE__ */ (0, P.jsxs)("button", {
686
+ children: [p ? /* @__PURE__ */ (0, M.jsxs)("button", {
687
687
  type: "button",
688
688
  onClick: () => o((e) => !e),
689
689
  "aria-expanded": a,
690
690
  "aria-controls": s,
691
691
  className: n("flex w-full flex-wrap items-start gap-x-2 gap-y-1 px-3 py-2 text-left transition-colors sm:flex-nowrap", a ? "hover:bg-white/5" : "hover:bg-muted", i),
692
- children: [m, a ? /* @__PURE__ */ (0, P.jsx)(h, {
692
+ children: [m, a ? /* @__PURE__ */ (0, M.jsx)(h, {
693
693
  className: "mt-px h-3.5 w-3.5 shrink-0 text-muted-foreground",
694
694
  "aria-hidden": "true"
695
- }) : /* @__PURE__ */ (0, P.jsx)(ne, {
695
+ }) : /* @__PURE__ */ (0, M.jsx)(D, {
696
696
  className: "mt-px h-3.5 w-3.5 shrink-0 text-muted-foreground",
697
697
  "aria-hidden": "true"
698
698
  })]
699
- }) : /* @__PURE__ */ (0, P.jsx)("div", {
699
+ }) : /* @__PURE__ */ (0, M.jsx)("div", {
700
700
  className: "flex w-full flex-wrap items-start gap-x-2 gap-y-1 px-3 py-2 sm:flex-nowrap",
701
701
  children: m
702
- }), a && p ? /* @__PURE__ */ (0, P.jsxs)("div", {
702
+ }), a && p ? /* @__PURE__ */ (0, M.jsxs)("div", {
703
703
  id: s,
704
704
  className: "border-t border-white/10",
705
705
  children: [
706
- u.stdout ? /* @__PURE__ */ (0, P.jsx)(H, {
706
+ u.stdout ? /* @__PURE__ */ (0, M.jsx)(H, {
707
707
  label: "stdout",
708
708
  text: u.stdout,
709
709
  className: ""
710
710
  }) : null,
711
- u.stderr ? /* @__PURE__ */ (0, P.jsx)(H, {
711
+ u.stderr ? /* @__PURE__ */ (0, M.jsx)(H, {
712
712
  label: "stderr",
713
713
  text: u.stderr,
714
714
  className: "border-t border-white/10 text-[var(--surface-danger-text)]"
715
715
  }) : null,
716
- f ? /* @__PURE__ */ (0, P.jsx)(H, {
716
+ f ? /* @__PURE__ */ (0, M.jsx)(H, {
717
717
  label: "error",
718
718
  text: f,
719
719
  className: "border-t border-white/10 text-[var(--surface-danger-text)]"
@@ -724,61 +724,61 @@ var He = (0, N.memo)(({ part: e, defaultExpanded: t = !1, className: r }) => {
724
724
  });
725
725
  He.displayName = "CommandPreview";
726
726
  //#endregion
727
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/tool-previews/preview-primitives.js
727
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/tool-previews/preview-primitives.js
728
728
  function U({ icon: e, title: t, description: r, meta: i, children: a, className: o }) {
729
- return /* @__PURE__ */ (0, P.jsxs)("div", {
729
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
730
730
  className: n("overflow-hidden rounded-[var(--radius-lg)] border border-border bg-card shadow-[var(--shadow-card)]", o),
731
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
731
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
732
732
  className: "flex items-center gap-2.5 border-b border-border bg-card px-[var(--tool-card-px)] py-[var(--tool-card-py)]",
733
733
  children: [
734
- /* @__PURE__ */ (0, P.jsx)("div", {
734
+ /* @__PURE__ */ (0, M.jsx)("div", {
735
735
  className: "flex h-[var(--tool-icon-size)] w-[var(--tool-icon-size)] shrink-0 items-center justify-center rounded-[var(--radius-sm)] border border-[var(--border-accent)] bg-muted text-primary",
736
736
  children: e
737
737
  }),
738
- /* @__PURE__ */ (0, P.jsx)("div", {
738
+ /* @__PURE__ */ (0, M.jsx)("div", {
739
739
  className: "min-w-0 flex-1",
740
- children: /* @__PURE__ */ (0, P.jsxs)("div", {
740
+ children: /* @__PURE__ */ (0, M.jsxs)("div", {
741
741
  className: "flex items-center gap-2",
742
- children: [/* @__PURE__ */ (0, P.jsx)("span", {
742
+ children: [/* @__PURE__ */ (0, M.jsx)("span", {
743
743
  className: "text-xs font-semibold text-foreground",
744
744
  children: t
745
- }), r ? /* @__PURE__ */ (0, P.jsx)("span", {
745
+ }), r ? /* @__PURE__ */ (0, M.jsx)("span", {
746
746
  className: "truncate text-xs font-mono text-muted-foreground",
747
747
  children: r
748
748
  }) : null]
749
749
  })
750
750
  }),
751
- i ? /* @__PURE__ */ (0, P.jsx)("div", {
751
+ i ? /* @__PURE__ */ (0, M.jsx)("div", {
752
752
  className: "shrink-0 text-xs text-muted-foreground",
753
753
  children: i
754
754
  }) : null
755
755
  ]
756
- }), a ? /* @__PURE__ */ (0, P.jsx)("div", {
756
+ }), a ? /* @__PURE__ */ (0, M.jsx)("div", {
757
757
  className: "space-y-2 px-[var(--tool-card-px)] py-[var(--tool-card-py)]",
758
758
  children: a
759
759
  }) : null]
760
760
  });
761
761
  }
762
762
  function W({ label: e, className: t }) {
763
- return /* @__PURE__ */ (0, P.jsx)("div", {
763
+ return /* @__PURE__ */ (0, M.jsx)("div", {
764
764
  className: n("rounded-[var(--radius-md)] border border-dashed border-border bg-muted px-3 py-2.5 text-xs text-muted-foreground", t),
765
765
  children: e
766
766
  });
767
767
  }
768
768
  function G({ error: e }) {
769
- return /* @__PURE__ */ (0, P.jsx)("div", {
769
+ return /* @__PURE__ */ (0, M.jsx)("div", {
770
770
  className: "rounded-[var(--radius-md)] border border-[var(--surface-danger-border)] bg-[var(--surface-danger-bg)] px-3 py-3 text-sm text-[var(--surface-danger-text)]",
771
771
  children: e
772
772
  });
773
773
  }
774
774
  function K({ label: e = "Running…" }) {
775
- return /* @__PURE__ */ (0, P.jsxs)("div", {
775
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
776
776
  className: "flex items-center gap-2 rounded-[var(--radius-md)] border border-border bg-muted px-3 py-2 text-xs text-muted-foreground",
777
- children: [/* @__PURE__ */ (0, P.jsx)(T, { className: "h-4 w-4 animate-spin text-primary" }), /* @__PURE__ */ (0, P.jsx)("span", { children: e })]
777
+ children: [/* @__PURE__ */ (0, M.jsx)(E, { className: "h-4 w-4 animate-spin text-primary" }), /* @__PURE__ */ (0, M.jsx)("span", { children: e })]
778
778
  });
779
779
  }
780
780
  //#endregion
781
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/tool-previews/write-file-preview.js
781
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/tool-previews/write-file-preview.js
782
782
  function Ue(e) {
783
783
  if (!e || typeof e != "object") return null;
784
784
  let t = e;
@@ -787,15 +787,15 @@ function Ue(e) {
787
787
  content: String(t.content ?? t.contents ?? t.data ?? "")
788
788
  };
789
789
  }
790
- var We = (0, N.memo)(({ part: e }) => {
790
+ var We = (0, j.memo)(({ part: e }) => {
791
791
  let t = Ue(e.state.input);
792
792
  if (!t) return null;
793
793
  let n = t.content.split("\n").length, r = d(t.path);
794
- return /* @__PURE__ */ (0, P.jsxs)(U, {
795
- icon: /* @__PURE__ */ (0, P.jsx)(ue, { className: "h-4 w-4" }),
794
+ return /* @__PURE__ */ (0, M.jsxs)(U, {
795
+ icon: /* @__PURE__ */ (0, M.jsx)(fe, { className: "h-4 w-4" }),
796
796
  title: "Write file",
797
797
  description: t.path,
798
- meta: /* @__PURE__ */ (0, P.jsxs)("span", {
798
+ meta: /* @__PURE__ */ (0, M.jsxs)("span", {
799
799
  className: "text-xs text-muted-foreground",
800
800
  children: [
801
801
  "+",
@@ -805,20 +805,20 @@ var We = (0, N.memo)(({ part: e }) => {
805
805
  ]
806
806
  }),
807
807
  children: [
808
- e.state.status === "running" ? /* @__PURE__ */ (0, P.jsx)(K, { label: "Writing file…" }) : null,
809
- e.state.error ? /* @__PURE__ */ (0, P.jsx)(G, { error: e.state.error }) : null,
810
- /* @__PURE__ */ (0, P.jsx)(S, {
808
+ e.state.status === "running" ? /* @__PURE__ */ (0, M.jsx)(K, { label: "Writing file…" }) : null,
809
+ e.state.error ? /* @__PURE__ */ (0, M.jsx)(G, { error: e.state.error }) : null,
810
+ /* @__PURE__ */ (0, M.jsx)(S, {
811
811
  code: t.content,
812
812
  language: r,
813
813
  className: "rounded-[var(--radius-md)]",
814
- children: /* @__PURE__ */ (0, P.jsx)(f, { text: t.content })
814
+ children: /* @__PURE__ */ (0, M.jsx)(f, { text: t.content })
815
815
  })
816
816
  ]
817
817
  });
818
818
  });
819
819
  We.displayName = "WriteFilePreview";
820
820
  //#endregion
821
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/tool-previews/grep-results-preview.js
821
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/tool-previews/grep-results-preview.js
822
822
  function q(e) {
823
823
  return typeof e == "string" && e.trim() ? e : void 0;
824
824
  }
@@ -859,8 +859,8 @@ function Ke(e) {
859
859
  }
860
860
  return typeof e == "string" ? e.split("\n").map((e) => e.trim()).filter(Boolean).map(J).filter((e) => e !== null) : [];
861
861
  }
862
- var qe = (0, N.memo)(({ part: e }) => {
863
- let t = Ge(e.state.input), n = (0, N.useMemo)(() => Ke(e.state.output), [e.state.output]), r = (0, N.useMemo)(() => {
862
+ var qe = (0, j.memo)(({ part: e }) => {
863
+ let t = Ge(e.state.input), n = (0, j.useMemo)(() => Ke(e.state.output), [e.state.output]), r = (0, j.useMemo)(() => {
864
864
  let e = /* @__PURE__ */ new Map();
865
865
  for (let t of n) {
866
866
  let n = e.get(t.path) ?? [];
@@ -868,27 +868,27 @@ var qe = (0, N.memo)(({ part: e }) => {
868
868
  }
869
869
  return [...e.entries()];
870
870
  }, [n]);
871
- return /* @__PURE__ */ (0, P.jsxs)(U, {
872
- icon: /* @__PURE__ */ (0, P.jsx)(D, { className: "h-4 w-4" }),
871
+ return /* @__PURE__ */ (0, M.jsxs)(U, {
872
+ icon: /* @__PURE__ */ (0, M.jsx)(ne, { className: "h-4 w-4" }),
873
873
  title: t ? `Search results for "${t}"` : "Search results",
874
874
  description: n.length > 0 ? `${n.length} match${n.length === 1 ? "" : "es"}` : void 0,
875
875
  children: [
876
- e.state.status === "running" ? /* @__PURE__ */ (0, P.jsx)(K, { label: "Searching files…" }) : null,
877
- e.state.error ? /* @__PURE__ */ (0, P.jsx)(G, { error: e.state.error }) : null,
878
- e.state.status === "completed" && n.length === 0 ? /* @__PURE__ */ (0, P.jsx)(W, { label: "No matching files or lines were returned." }) : null,
879
- r.map(([e, t]) => /* @__PURE__ */ (0, P.jsxs)("div", {
876
+ e.state.status === "running" ? /* @__PURE__ */ (0, M.jsx)(K, { label: "Searching files…" }) : null,
877
+ e.state.error ? /* @__PURE__ */ (0, M.jsx)(G, { error: e.state.error }) : null,
878
+ e.state.status === "completed" && n.length === 0 ? /* @__PURE__ */ (0, M.jsx)(W, { label: "No matching files or lines were returned." }) : null,
879
+ r.map(([e, t]) => /* @__PURE__ */ (0, M.jsxs)("div", {
880
880
  className: "rounded-[var(--radius-md)] border border-border bg-muted/55",
881
- children: [/* @__PURE__ */ (0, P.jsx)("div", {
881
+ children: [/* @__PURE__ */ (0, M.jsx)("div", {
882
882
  className: "border-b border-border px-3 py-2 text-xs font-medium text-foreground",
883
883
  children: e
884
- }), /* @__PURE__ */ (0, P.jsx)("div", {
884
+ }), /* @__PURE__ */ (0, M.jsx)("div", {
885
885
  className: "divide-y divide-border",
886
- children: t.map((t, n) => /* @__PURE__ */ (0, P.jsxs)("div", {
886
+ children: t.map((t, n) => /* @__PURE__ */ (0, M.jsxs)("div", {
887
887
  className: "grid grid-cols-[auto_minmax(0,1fr)] gap-3 px-3 py-2",
888
- children: [/* @__PURE__ */ (0, P.jsx)("div", {
888
+ children: [/* @__PURE__ */ (0, M.jsx)("div", {
889
889
  className: "pt-0.5 text-xs font-mono text-muted-foreground",
890
890
  children: t.line ?? "·"
891
- }), /* @__PURE__ */ (0, P.jsx)("pre", {
891
+ }), /* @__PURE__ */ (0, M.jsx)("pre", {
892
892
  className: "overflow-x-auto whitespace-pre-wrap break-words text-xs font-mono text-foreground",
893
893
  children: t.text
894
894
  })]
@@ -900,7 +900,7 @@ var qe = (0, N.memo)(({ part: e }) => {
900
900
  });
901
901
  qe.displayName = "GrepResultsPreview";
902
902
  //#endregion
903
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/tool-previews/glob-results-preview.js
903
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/tool-previews/glob-results-preview.js
904
904
  function Je(e) {
905
905
  return typeof e == "string" && e.trim() ? e : void 0;
906
906
  }
@@ -917,23 +917,23 @@ function Xe(e) {
917
917
  }
918
918
  return typeof e == "string" ? e.split("\n").map((e) => e.trim()).filter(Boolean) : [];
919
919
  }
920
- var Ze = (0, N.memo)(({ part: e }) => {
921
- let t = Ye(e.state.input), n = (0, N.useMemo)(() => Xe(e.state.output), [e.state.output]);
922
- return /* @__PURE__ */ (0, P.jsxs)(U, {
923
- icon: /* @__PURE__ */ (0, P.jsx)(l, { className: "h-4 w-4" }),
920
+ var Ze = (0, j.memo)(({ part: e }) => {
921
+ let t = Ye(e.state.input), n = (0, j.useMemo)(() => Xe(e.state.output), [e.state.output]);
922
+ return /* @__PURE__ */ (0, M.jsxs)(U, {
923
+ icon: /* @__PURE__ */ (0, M.jsx)(l, { className: "h-4 w-4" }),
924
924
  title: t ? `Files for ${t}` : "File results",
925
925
  description: n.length > 0 ? `${n.length} path${n.length === 1 ? "" : "s"}` : void 0,
926
926
  children: [
927
- e.state.status === "running" ? /* @__PURE__ */ (0, P.jsx)(K, { label: "Collecting files…" }) : null,
928
- e.state.error ? /* @__PURE__ */ (0, P.jsx)(G, { error: e.state.error }) : null,
929
- e.state.status === "completed" && n.length === 0 ? /* @__PURE__ */ (0, P.jsx)(W, { label: "No matching files were returned." }) : null,
930
- n.length > 0 ? /* @__PURE__ */ (0, P.jsx)("div", {
927
+ e.state.status === "running" ? /* @__PURE__ */ (0, M.jsx)(K, { label: "Collecting files…" }) : null,
928
+ e.state.error ? /* @__PURE__ */ (0, M.jsx)(G, { error: e.state.error }) : null,
929
+ e.state.status === "completed" && n.length === 0 ? /* @__PURE__ */ (0, M.jsx)(W, { label: "No matching files were returned." }) : null,
930
+ n.length > 0 ? /* @__PURE__ */ (0, M.jsx)("div", {
931
931
  className: "grid gap-2 sm:grid-cols-2",
932
932
  children: n.map((e) => {
933
- let t = e.endsWith("/") ? l : E;
934
- return /* @__PURE__ */ (0, P.jsxs)("div", {
933
+ let t = e.endsWith("/") ? l : O;
934
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
935
935
  className: "flex items-center gap-2 rounded-[var(--radius-md)] border border-border bg-muted/55 px-3 py-2",
936
- children: [/* @__PURE__ */ (0, P.jsx)(t, { className: "h-4 w-4 shrink-0 text-primary" }), /* @__PURE__ */ (0, P.jsx)("span", {
936
+ children: [/* @__PURE__ */ (0, M.jsx)(t, { className: "h-4 w-4 shrink-0 text-primary" }), /* @__PURE__ */ (0, M.jsx)("span", {
937
937
  className: "min-w-0 truncate text-xs font-mono text-foreground",
938
938
  children: e
939
939
  })]
@@ -945,7 +945,7 @@ var Ze = (0, N.memo)(({ part: e }) => {
945
945
  });
946
946
  Ze.displayName = "GlobResultsPreview";
947
947
  //#endregion
948
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/tool-previews/web-search-preview.js
948
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/tool-previews/web-search-preview.js
949
949
  function Y(e) {
950
950
  return typeof e == "string" && e.trim() ? e : void 0;
951
951
  }
@@ -972,33 +972,33 @@ function et(e) {
972
972
  }
973
973
  return Array.isArray(e) ? e.map($e).filter((e) => e !== null) : [];
974
974
  }
975
- var tt = (0, N.memo)(({ part: e }) => {
976
- let t = Qe(e.state.input, e.state.output), n = (0, N.useMemo)(() => et(e.state.output), [e.state.output]);
977
- return /* @__PURE__ */ (0, P.jsxs)(U, {
978
- icon: /* @__PURE__ */ (0, P.jsx)(O, { className: "h-4 w-4" }),
975
+ var tt = (0, j.memo)(({ part: e }) => {
976
+ let t = Qe(e.state.input, e.state.output), n = (0, j.useMemo)(() => et(e.state.output), [e.state.output]);
977
+ return /* @__PURE__ */ (0, M.jsxs)(U, {
978
+ icon: /* @__PURE__ */ (0, M.jsx)(re, { className: "h-4 w-4" }),
979
979
  title: t ? `Web results for ${t}` : "Web results",
980
980
  description: n.length > 0 ? `${n.length} result${n.length === 1 ? "" : "s"}` : void 0,
981
981
  children: [
982
- e.state.status === "running" ? /* @__PURE__ */ (0, P.jsx)(K, { label: "Searching the web…" }) : null,
983
- e.state.error ? /* @__PURE__ */ (0, P.jsx)(G, { error: e.state.error }) : null,
984
- e.state.status === "completed" && n.length === 0 ? /* @__PURE__ */ (0, P.jsx)(W, { label: "No web results were returned." }) : null,
985
- /* @__PURE__ */ (0, P.jsx)("div", {
982
+ e.state.status === "running" ? /* @__PURE__ */ (0, M.jsx)(K, { label: "Searching the web…" }) : null,
983
+ e.state.error ? /* @__PURE__ */ (0, M.jsx)(G, { error: e.state.error }) : null,
984
+ e.state.status === "completed" && n.length === 0 ? /* @__PURE__ */ (0, M.jsx)(W, { label: "No web results were returned." }) : null,
985
+ /* @__PURE__ */ (0, M.jsx)("div", {
986
986
  className: "space-y-2",
987
- children: n.map((e) => /* @__PURE__ */ (0, P.jsxs)("a", {
987
+ children: n.map((e) => /* @__PURE__ */ (0, M.jsxs)("a", {
988
988
  href: e.url,
989
989
  target: "_blank",
990
990
  rel: "noreferrer",
991
991
  className: `block rounded-[var(--radius-md)] border border-border bg-muted/55 px-3 py-3 transition-colors hover:border-[var(--border-strong)] hover:bg-accent/50 ${i}`,
992
992
  children: [
993
- /* @__PURE__ */ (0, P.jsx)("div", {
993
+ /* @__PURE__ */ (0, M.jsx)("div", {
994
994
  className: "text-sm font-medium text-foreground",
995
995
  children: e.title
996
996
  }),
997
- /* @__PURE__ */ (0, P.jsx)("div", {
997
+ /* @__PURE__ */ (0, M.jsx)("div", {
998
998
  className: "mt-1 truncate text-xs text-primary",
999
999
  children: e.url
1000
1000
  }),
1001
- e.snippet ? /* @__PURE__ */ (0, P.jsx)("p", {
1001
+ e.snippet ? /* @__PURE__ */ (0, M.jsx)("p", {
1002
1002
  className: "mt-2 text-sm leading-relaxed text-muted-foreground",
1003
1003
  children: e.snippet
1004
1004
  }) : null
@@ -1010,7 +1010,7 @@ var tt = (0, N.memo)(({ part: e }) => {
1010
1010
  });
1011
1011
  tt.displayName = "WebSearchPreview";
1012
1012
  //#endregion
1013
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/tool-previews/question-preview.js
1013
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/tool-previews/question-preview.js
1014
1014
  function nt(e) {
1015
1015
  if (!e) return [];
1016
1016
  if (typeof e == "string") return [e];
@@ -1033,28 +1033,28 @@ function rt(e) {
1033
1033
  }
1034
1034
  return [];
1035
1035
  }
1036
- var it = (0, N.memo)(({ part: e }) => {
1037
- let t = (0, N.useMemo)(() => nt(e.state.input), [e.state.input]), n = (0, N.useMemo)(() => rt(e.state.output), [e.state.output]);
1038
- return /* @__PURE__ */ (0, P.jsxs)(U, {
1039
- icon: /* @__PURE__ */ (0, P.jsx)(ge, { className: "h-4 w-4" }),
1036
+ var it = (0, j.memo)(({ part: e }) => {
1037
+ let t = (0, j.useMemo)(() => nt(e.state.input), [e.state.input]), n = (0, j.useMemo)(() => rt(e.state.output), [e.state.output]);
1038
+ return /* @__PURE__ */ (0, M.jsxs)(U, {
1039
+ icon: /* @__PURE__ */ (0, M.jsx)(ve, { className: "h-4 w-4" }),
1040
1040
  title: "Agent question",
1041
1041
  description: t.length > 1 ? `${t.length} questions require attention` : void 0,
1042
1042
  children: [
1043
- e.state.status === "running" ? /* @__PURE__ */ (0, P.jsx)(K, { label: "Waiting for an answer…" }) : null,
1044
- e.state.error ? /* @__PURE__ */ (0, P.jsx)(G, { error: e.state.error }) : null,
1045
- t.length === 0 ? /* @__PURE__ */ (0, P.jsx)(W, { label: "No question text was provided." }) : null,
1046
- t.map((t, r) => /* @__PURE__ */ (0, P.jsxs)("div", {
1043
+ e.state.status === "running" ? /* @__PURE__ */ (0, M.jsx)(K, { label: "Waiting for an answer…" }) : null,
1044
+ e.state.error ? /* @__PURE__ */ (0, M.jsx)(G, { error: e.state.error }) : null,
1045
+ t.length === 0 ? /* @__PURE__ */ (0, M.jsx)(W, { label: "No question text was provided." }) : null,
1046
+ t.map((t, r) => /* @__PURE__ */ (0, M.jsxs)("div", {
1047
1047
  className: "rounded-[var(--radius-md)] border border-border bg-muted px-3 py-3",
1048
1048
  children: [
1049
- /* @__PURE__ */ (0, P.jsxs)("div", {
1049
+ /* @__PURE__ */ (0, M.jsxs)("div", {
1050
1050
  className: "text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",
1051
1051
  children: ["Question ", r + 1]
1052
1052
  }),
1053
- /* @__PURE__ */ (0, P.jsx)("div", {
1053
+ /* @__PURE__ */ (0, M.jsx)("div", {
1054
1054
  className: "mt-2 text-sm leading-relaxed text-foreground",
1055
1055
  children: t
1056
1056
  }),
1057
- /* @__PURE__ */ (0, P.jsx)("div", {
1057
+ /* @__PURE__ */ (0, M.jsx)("div", {
1058
1058
  className: "mt-3 rounded-[var(--radius-sm)] border border-border bg-card px-3 py-2 text-sm text-foreground",
1059
1059
  children: n[r] ?? (e.state.status === "completed" ? "No answer recorded." : "Awaiting answer")
1060
1060
  })
@@ -1065,7 +1065,7 @@ var it = (0, N.memo)(({ part: e }) => {
1065
1065
  });
1066
1066
  it.displayName = "QuestionPreview";
1067
1067
  //#endregion
1068
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/tool-previews/diff-preview.js
1068
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/tool-previews/diff-preview.js
1069
1069
  function X(e, ...t) {
1070
1070
  for (let n of t) {
1071
1071
  let t = e[n];
@@ -1090,37 +1090,37 @@ function at(e) {
1090
1090
  }
1091
1091
  return {};
1092
1092
  }
1093
- var ot = (0, N.memo)(({ part: e }) => {
1093
+ var ot = (0, j.memo)(({ part: e }) => {
1094
1094
  let t = at(e);
1095
- return /* @__PURE__ */ (0, P.jsxs)(U, {
1096
- icon: /* @__PURE__ */ (0, P.jsx)(me, { className: "h-4 w-4" }),
1095
+ return /* @__PURE__ */ (0, M.jsxs)(U, {
1096
+ icon: /* @__PURE__ */ (0, M.jsx)(ge, { className: "h-4 w-4" }),
1097
1097
  title: t.path ? `Changes for ${t.path}` : "File changes",
1098
1098
  children: [
1099
- e.state.status === "running" ? /* @__PURE__ */ (0, P.jsx)(K, { label: "Computing changes…" }) : null,
1100
- e.state.error ? /* @__PURE__ */ (0, P.jsx)(G, { error: e.state.error }) : null,
1101
- !t.diff && !t.before && !t.after ? /* @__PURE__ */ (0, P.jsx)(W, { label: "No structured diff payload was provided." }) : null,
1102
- t.diff ? /* @__PURE__ */ (0, P.jsx)(S, {
1099
+ e.state.status === "running" ? /* @__PURE__ */ (0, M.jsx)(K, { label: "Computing changes…" }) : null,
1100
+ e.state.error ? /* @__PURE__ */ (0, M.jsx)(G, { error: e.state.error }) : null,
1101
+ !t.diff && !t.before && !t.after ? /* @__PURE__ */ (0, M.jsx)(W, { label: "No structured diff payload was provided." }) : null,
1102
+ t.diff ? /* @__PURE__ */ (0, M.jsx)(S, {
1103
1103
  code: t.diff,
1104
1104
  language: "diff",
1105
1105
  className: "rounded-[var(--radius-md)]"
1106
1106
  }) : null,
1107
- !t.diff && t.before ? /* @__PURE__ */ (0, P.jsxs)("div", {
1107
+ !t.diff && t.before ? /* @__PURE__ */ (0, M.jsxs)("div", {
1108
1108
  className: "space-y-2",
1109
- children: [/* @__PURE__ */ (0, P.jsx)("div", {
1109
+ children: [/* @__PURE__ */ (0, M.jsx)("div", {
1110
1110
  className: "text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",
1111
1111
  children: "Before"
1112
- }), /* @__PURE__ */ (0, P.jsx)(S, {
1112
+ }), /* @__PURE__ */ (0, M.jsx)(S, {
1113
1113
  code: t.before,
1114
1114
  language: "text",
1115
1115
  className: "rounded-[var(--radius-md)]"
1116
1116
  })]
1117
1117
  }) : null,
1118
- !t.diff && t.after ? /* @__PURE__ */ (0, P.jsxs)("div", {
1118
+ !t.diff && t.after ? /* @__PURE__ */ (0, M.jsxs)("div", {
1119
1119
  className: "space-y-2",
1120
- children: [/* @__PURE__ */ (0, P.jsx)("div", {
1120
+ children: [/* @__PURE__ */ (0, M.jsx)("div", {
1121
1121
  className: "text-xs font-semibold uppercase tracking-[0.08em] text-muted-foreground",
1122
1122
  children: "After"
1123
- }), /* @__PURE__ */ (0, P.jsx)(S, {
1123
+ }), /* @__PURE__ */ (0, M.jsx)(S, {
1124
1124
  code: t.after,
1125
1125
  language: "text",
1126
1126
  className: "rounded-[var(--radius-md)]"
@@ -1131,10 +1131,10 @@ var ot = (0, N.memo)(({ part: e }) => {
1131
1131
  });
1132
1132
  ot.displayName = "DiffPreview";
1133
1133
  //#endregion
1134
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/run/expandable-content.js
1134
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/run/expandable-content.js
1135
1135
  function Z({ children: e, collapsedMaxPx: t = 180, fadeClassName: r = "from-muted", className: i, toggleClassName: a }) {
1136
- let [o, s] = (0, N.useState)(!1), [c, l] = (0, N.useState)(!1), u = (0, N.useRef)(null);
1137
- (0, N.useEffect)(() => {
1136
+ let [o, s] = (0, j.useState)(!1), [c, l] = (0, j.useState)(!1), u = (0, j.useRef)(null);
1137
+ (0, j.useEffect)(() => {
1138
1138
  let e = u.current;
1139
1139
  if (!e) return;
1140
1140
  let n = () => l(e.scrollHeight > t + 4);
@@ -1143,14 +1143,14 @@ function Z({ children: e, collapsedMaxPx: t = 180, fadeClassName: r = "from-mute
1143
1143
  return r.observe(e), () => r.disconnect();
1144
1144
  }, [t]);
1145
1145
  let d = c && !o;
1146
- return /* @__PURE__ */ (0, P.jsxs)("div", {
1146
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
1147
1147
  className: i,
1148
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
1148
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
1149
1149
  ref: u,
1150
1150
  className: "relative overflow-hidden",
1151
1151
  style: d ? { maxHeight: t } : void 0,
1152
- children: [e, d ? /* @__PURE__ */ (0, P.jsx)("div", { className: n("pointer-events-none absolute inset-x-0 bottom-0 h-10 bg-gradient-to-t to-transparent", r) }) : null]
1153
- }), c ? /* @__PURE__ */ (0, P.jsx)("button", {
1152
+ children: [e, d ? /* @__PURE__ */ (0, M.jsx)("div", { className: n("pointer-events-none absolute inset-x-0 bottom-0 h-10 bg-gradient-to-t to-transparent", r) }) : null]
1153
+ }), c ? /* @__PURE__ */ (0, M.jsx)("button", {
1154
1154
  type: "button",
1155
1155
  onClick: () => s((e) => !e),
1156
1156
  className: n("mt-1 text-[11px] font-medium text-muted-foreground transition-colors hover:text-foreground", a),
@@ -1159,7 +1159,7 @@ function Z({ children: e, collapsedMaxPx: t = 180, fadeClassName: r = "from-mute
1159
1159
  });
1160
1160
  }
1161
1161
  //#endregion
1162
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/run/expanded-tool-detail.js
1162
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/run/expanded-tool-detail.js
1163
1163
  var st = "mx-3 mb-2", ct = {
1164
1164
  ts: "typescript",
1165
1165
  tsx: "tsx",
@@ -1198,190 +1198,182 @@ function ut(e) {
1198
1198
  return String(e);
1199
1199
  }
1200
1200
  }
1201
- var dt = (0, N.memo)(({ part: e }) => {
1202
- let t = z(e), { status: r, input: i, output: o, error: s } = e.state;
1203
- if (t.displayVariant === "command") return /* @__PURE__ */ (0, P.jsx)(He, {
1201
+ var dt = (0, j.memo)(({ part: e }) => {
1202
+ let t = B(e), { status: r, input: i, output: o, error: s } = e.state;
1203
+ if (t.displayVariant === "command") return /* @__PURE__ */ (0, M.jsx)(He, {
1204
1204
  part: e,
1205
1205
  defaultExpanded: !0
1206
1206
  });
1207
- if (t.displayVariant === "write-file") return /* @__PURE__ */ (0, P.jsx)(We, { part: e });
1208
- if (t.displayVariant === "grep") return /* @__PURE__ */ (0, P.jsx)(qe, { part: e });
1209
- if (t.displayVariant === "glob") return /* @__PURE__ */ (0, P.jsx)(Ze, { part: e });
1210
- if (t.displayVariant === "web-search") return /* @__PURE__ */ (0, P.jsx)(tt, { part: e });
1211
- if (t.displayVariant === "question") return /* @__PURE__ */ (0, P.jsx)(it, { part: e });
1212
- if (t.displayVariant === "diff") return /* @__PURE__ */ (0, P.jsx)(ot, { part: e });
1213
- if (t.displayVariant === "read-file") return /* @__PURE__ */ (0, P.jsxs)("div", {
1207
+ if (t.displayVariant === "write-file") return /* @__PURE__ */ (0, M.jsx)(We, { part: e });
1208
+ if (t.displayVariant === "grep") return /* @__PURE__ */ (0, M.jsx)(qe, { part: e });
1209
+ if (t.displayVariant === "glob") return /* @__PURE__ */ (0, M.jsx)(Ze, { part: e });
1210
+ if (t.displayVariant === "web-search") return /* @__PURE__ */ (0, M.jsx)(tt, { part: e });
1211
+ if (t.displayVariant === "question") return /* @__PURE__ */ (0, M.jsx)(it, { part: e });
1212
+ if (t.displayVariant === "diff") return /* @__PURE__ */ (0, M.jsx)(ot, { part: e });
1213
+ if (t.displayVariant === "read-file") return /* @__PURE__ */ (0, M.jsxs)("div", {
1214
1214
  className: "overflow-hidden rounded-[var(--radius-lg)] border border-border bg-card shadow-[var(--shadow-card)]",
1215
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
1215
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
1216
1216
  className: "flex items-center gap-2.5 border-b border-border bg-card px-3 py-2",
1217
- children: [/* @__PURE__ */ (0, P.jsx)("div", {
1217
+ children: [/* @__PURE__ */ (0, M.jsx)("div", {
1218
1218
  className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--radius-sm)] border border-[var(--border-accent)] bg-muted text-primary",
1219
- children: /* @__PURE__ */ (0, P.jsx)(E, { className: "h-3.5 w-3.5" })
1220
- }), /* @__PURE__ */ (0, P.jsxs)("div", {
1219
+ children: /* @__PURE__ */ (0, M.jsx)(O, { className: "h-3.5 w-3.5" })
1220
+ }), /* @__PURE__ */ (0, M.jsxs)("div", {
1221
1221
  className: "min-w-0 flex items-center gap-2",
1222
- children: [/* @__PURE__ */ (0, P.jsx)("span", {
1222
+ children: [/* @__PURE__ */ (0, M.jsx)("span", {
1223
1223
  className: "text-xs font-semibold text-foreground",
1224
1224
  children: "Read file"
1225
- }), t.targetPath ? /* @__PURE__ */ (0, P.jsx)("span", {
1225
+ }), t.targetPath ? /* @__PURE__ */ (0, M.jsx)("span", {
1226
1226
  className: "truncate text-xs font-mono text-muted-foreground",
1227
1227
  children: t.targetPath
1228
1228
  }) : null]
1229
1229
  })]
1230
- }), /* @__PURE__ */ (0, P.jsxs)("div", {
1230
+ }), /* @__PURE__ */ (0, M.jsxs)("div", {
1231
1231
  className: "space-y-2 px-3 py-2.5",
1232
- children: [typeof o == "string" ? /* @__PURE__ */ (0, P.jsx)(S, {
1232
+ children: [typeof o == "string" ? /* @__PURE__ */ (0, M.jsx)(S, {
1233
1233
  code: o,
1234
1234
  language: lt(t.targetPath) ?? "text",
1235
1235
  className: "rounded-[var(--radius-md)]"
1236
- }) : /* @__PURE__ */ (0, P.jsx)("div", {
1236
+ }) : /* @__PURE__ */ (0, M.jsx)("div", {
1237
1237
  className: "rounded-[var(--radius-md)] border border-dashed border-border bg-muted px-3 py-4 text-sm text-muted-foreground",
1238
1238
  children: "No readable file content was returned."
1239
- }), s ? /* @__PURE__ */ (0, P.jsx)("div", {
1239
+ }), s ? /* @__PURE__ */ (0, M.jsx)("div", {
1240
1240
  className: "rounded-[var(--radius-md)] border border-[var(--surface-danger-border)] bg-[var(--surface-danger-bg)] px-3 py-3 text-sm text-[var(--surface-danger-text)]",
1241
1241
  children: s
1242
1242
  }) : null]
1243
1243
  })]
1244
1244
  });
1245
1245
  let l = ut(i), u = ut(o);
1246
- return /* @__PURE__ */ (0, P.jsxs)("div", {
1246
+ return /* @__PURE__ */ (0, M.jsxs)("div", {
1247
1247
  className: "space-y-3",
1248
1248
  children: [
1249
- l && /* @__PURE__ */ (0, P.jsxs)("div", {
1249
+ l && /* @__PURE__ */ (0, M.jsxs)("div", {
1250
1250
  className: "overflow-hidden rounded-[var(--radius-lg)] border border-border bg-card",
1251
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
1251
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
1252
1252
  className: "flex items-center gap-2 border-b border-border bg-background px-3 py-2",
1253
- children: [/* @__PURE__ */ (0, P.jsx)(ae, { className: "h-3 w-3 text-primary" }), /* @__PURE__ */ (0, P.jsx)("span", {
1253
+ children: [/* @__PURE__ */ (0, M.jsx)(oe, { className: "h-3 w-3 text-primary" }), /* @__PURE__ */ (0, M.jsx)("span", {
1254
1254
  className: "text-xs font-medium uppercase tracking-[0.08em] text-muted-foreground",
1255
1255
  children: "Input"
1256
1256
  })]
1257
- }), /* @__PURE__ */ (0, P.jsx)(S, {
1257
+ }), /* @__PURE__ */ (0, M.jsx)(S, {
1258
1258
  code: l,
1259
1259
  language: "json",
1260
1260
  className: "rounded-none border-0"
1261
1261
  })]
1262
1262
  }),
1263
- r === "completed" && u && /* @__PURE__ */ (0, P.jsxs)("div", {
1263
+ r === "completed" && u && /* @__PURE__ */ (0, M.jsxs)("div", {
1264
1264
  className: "overflow-hidden rounded-[var(--radius-lg)] border border-border bg-card",
1265
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
1265
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
1266
1266
  className: "flex items-center gap-2 border-b border-border bg-background px-3 py-2",
1267
- children: [/* @__PURE__ */ (0, P.jsx)(c, { className: "h-3 w-3 text-primary" }), /* @__PURE__ */ (0, P.jsx)("span", {
1267
+ children: [/* @__PURE__ */ (0, M.jsx)(c, { className: "h-3 w-3 text-primary" }), /* @__PURE__ */ (0, M.jsx)("span", {
1268
1268
  className: "text-xs font-medium uppercase tracking-[0.08em] text-muted-foreground",
1269
1269
  children: "Output"
1270
1270
  })]
1271
- }), /* @__PURE__ */ (0, P.jsx)(Z, {
1271
+ }), /* @__PURE__ */ (0, M.jsx)(Z, {
1272
1272
  fadeClassName: "from-card",
1273
1273
  toggleClassName: st,
1274
- children: /* @__PURE__ */ (0, P.jsx)(S, {
1274
+ children: /* @__PURE__ */ (0, M.jsx)(S, {
1275
1275
  code: u.length > 2e3 ? u.slice(0, 2e3) + "\n...(truncated)" : u,
1276
1276
  language: "json",
1277
1277
  className: "rounded-none border-0"
1278
1278
  })
1279
1279
  })]
1280
1280
  }),
1281
- s && /* @__PURE__ */ (0, P.jsxs)("div", {
1281
+ s && /* @__PURE__ */ (0, M.jsxs)("div", {
1282
1282
  className: "overflow-hidden rounded-[var(--radius-lg)] border border-[var(--surface-danger-border)]",
1283
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
1283
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
1284
1284
  className: "flex items-center gap-2 border-b border-[var(--surface-danger-border)] bg-[var(--surface-danger-bg)] px-3 py-2",
1285
- children: [/* @__PURE__ */ (0, P.jsx)(a, { className: "h-3 w-3 text-[var(--surface-danger-text)]" }), /* @__PURE__ */ (0, P.jsx)("span", {
1285
+ children: [/* @__PURE__ */ (0, M.jsx)(a, { className: "h-3 w-3 text-[var(--surface-danger-text)]" }), /* @__PURE__ */ (0, M.jsx)("span", {
1286
1286
  className: "text-xs font-medium uppercase tracking-[0.08em] text-[var(--surface-danger-text)]",
1287
1287
  children: "Error"
1288
1288
  })]
1289
- }), /* @__PURE__ */ (0, P.jsx)(Z, {
1289
+ }), /* @__PURE__ */ (0, M.jsx)(Z, {
1290
1290
  fadeClassName: "from-[var(--surface-danger-bg)]",
1291
1291
  toggleClassName: st,
1292
- children: /* @__PURE__ */ (0, P.jsx)("pre", {
1292
+ children: /* @__PURE__ */ (0, M.jsx)("pre", {
1293
1293
  className: "bg-[var(--surface-danger-bg)] p-3 text-xs font-mono whitespace-pre-wrap break-all text-[var(--surface-danger-text)]",
1294
1294
  children: s
1295
1295
  })
1296
1296
  })]
1297
1297
  }),
1298
- (r === "pending" || r === "running") && /* @__PURE__ */ (0, P.jsxs)("div", {
1298
+ (r === "pending" || r === "running") && /* @__PURE__ */ (0, M.jsxs)("div", {
1299
1299
  className: "flex items-center gap-2 rounded-[var(--radius-md)] border border-border bg-muted px-3 py-3 text-xs text-muted-foreground",
1300
- children: [/* @__PURE__ */ (0, P.jsx)(T, { className: n("h-3 w-3 animate-spin text-primary") }), "Running…"]
1300
+ children: [/* @__PURE__ */ (0, M.jsx)(E, { className: n("h-3 w-3 animate-spin text-primary") }), "Running…"]
1301
1301
  })
1302
1302
  ]
1303
1303
  });
1304
1304
  });
1305
1305
  dt.displayName = "ExpandedToolDetail";
1306
1306
  //#endregion
1307
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/run/run-row-shell.js
1308
- function ft({ status: e }) {
1309
- return e === "error" ? /* @__PURE__ */ (0, P.jsx)("span", {
1310
- "data-run-row-status": "error",
1311
- className: "h-1.5 w-1.5 shrink-0 rounded-full bg-[var(--surface-danger-text)]"
1312
- }) : null;
1313
- }
1314
- var pt = {
1307
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/run/run-row-shell.js
1308
+ var ft = {
1315
1309
  single: "rounded-[var(--radius-lg)]",
1316
1310
  first: "rounded-t-[var(--radius-lg)] rounded-b-[var(--radius-sm)]",
1317
1311
  middle: "rounded-[var(--radius-sm)]",
1318
1312
  last: "rounded-t-[var(--radius-sm)] rounded-b-[var(--radius-lg)]"
1319
- }, mt = "px-2 py-1", ht = "pl-[2.375rem]";
1313
+ }, pt = "px-2 py-1", mt = "pl-[2.375rem]";
1320
1314
  function Q({ icon: e, title: t, description: r, descriptionMono: i = !1, status: a = "idle", durationMs: s, groupPosition: c = "single", collapsedError: l, actions: d, open: f, onOpenChange: m, defaultOpen: h = !1, className: g, contentClassName: _, children: v }) {
1321
- let [y, b] = (0, N.useState)(h), x = f !== void 0, S = x ? f : y, C = (e) => {
1315
+ let [y, b] = (0, j.useState)(h), x = f !== void 0, S = x ? f : y, C = (e) => {
1322
1316
  x || b(e), m?.(e);
1323
- }, te = a === "running", w = v != null;
1324
- return /* @__PURE__ */ (0, P.jsx)(u, {
1317
+ }, w = a === "running", T = v != null;
1318
+ return /* @__PURE__ */ (0, M.jsx)(u, {
1325
1319
  open: S,
1326
1320
  onOpenChange: C,
1327
- children: /* @__PURE__ */ (0, P.jsxs)("div", {
1321
+ children: /* @__PURE__ */ (0, M.jsxs)("div", {
1328
1322
  className: "flex items-start gap-2",
1329
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
1323
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
1330
1324
  "data-run-row": "",
1331
1325
  "data-state": S ? "open" : "closed",
1332
- className: n("group min-w-0 flex-1 overflow-hidden border transition-colors", S ? "border-border bg-[var(--md3-surface-container)]" : "border-transparent bg-transparent", w && !S && "hover:bg-[var(--md3-surface-container)]", pt[c], g),
1326
+ className: n("group min-w-0 flex-1 overflow-hidden border transition-colors", S ? "border-border bg-[var(--md3-surface-container)]" : "border-transparent bg-transparent", T && !S && "hover:bg-[var(--md3-surface-container)]", ft[c], g),
1333
1327
  children: [
1334
- /* @__PURE__ */ (0, P.jsx)(ee, {
1328
+ /* @__PURE__ */ (0, M.jsx)(ee, {
1335
1329
  asChild: !0,
1336
- disabled: !w,
1337
- children: /* @__PURE__ */ (0, P.jsxs)("button", {
1330
+ disabled: !T,
1331
+ children: /* @__PURE__ */ (0, M.jsxs)("button", {
1338
1332
  type: "button",
1339
- className: n("flex w-full items-center gap-2 text-left", mt, w ? "cursor-pointer" : "cursor-default"),
1333
+ className: n("flex w-full items-center gap-2 text-left", pt, T ? "cursor-pointer" : "cursor-default"),
1340
1334
  children: [
1341
- /* @__PURE__ */ (0, P.jsxs)("span", {
1335
+ /* @__PURE__ */ (0, M.jsxs)("span", {
1342
1336
  "aria-hidden": !0,
1343
- className: "flex h-[1.375rem] w-[1.375rem] shrink-0 items-center justify-center text-muted-foreground",
1344
- children: [/* @__PURE__ */ (0, P.jsx)("span", {
1337
+ "data-run-row-status": a === "error" ? "error" : void 0,
1338
+ className: n("flex h-[1.375rem] w-[1.375rem] shrink-0 items-center justify-center", a === "error" ? "text-[var(--surface-danger-text)]" : "text-muted-foreground"),
1339
+ children: [/* @__PURE__ */ (0, M.jsx)("span", {
1345
1340
  "data-run-row-glyph": "",
1346
- className: n("flex items-center justify-center", w && "group-hover:hidden", S && "hidden"),
1341
+ className: n("flex items-center justify-center", T && "group-hover:hidden", S && "hidden"),
1347
1342
  children: e
1348
- }), w ? /* @__PURE__ */ (0, P.jsx)(ne, {
1343
+ }), T ? /* @__PURE__ */ (0, M.jsx)(D, {
1349
1344
  "data-run-row-chevron": "",
1350
1345
  className: n("hidden h-3.5 w-3.5 transition-transform group-hover:block", S && "block rotate-90")
1351
1346
  }) : null]
1352
1347
  }),
1353
- /* @__PURE__ */ (0, P.jsx)("span", {
1348
+ /* @__PURE__ */ (0, M.jsx)("span", {
1354
1349
  className: n("shrink-0 whitespace-nowrap text-sm font-normal text-muted-foreground transition-colors group-hover:text-foreground", S && "text-foreground"),
1355
1350
  children: t
1356
1351
  }),
1357
- r ? /* @__PURE__ */ (0, P.jsx)("span", {
1358
- className: n("hidden min-w-0 flex-1 truncate text-sm text-muted-foreground transition-colors group-hover:text-foreground sm:inline", i && "font-mono"),
1352
+ r ? /* @__PURE__ */ (0, M.jsx)("span", {
1353
+ className: n("min-w-0 flex-1 truncate text-sm text-muted-foreground transition-colors group-hover:text-foreground", i && "font-mono"),
1359
1354
  children: r
1360
1355
  }) : null,
1361
- /* @__PURE__ */ (0, P.jsxs)("span", {
1362
- className: "ml-auto flex shrink-0 items-center gap-1.5",
1363
- children: [!te && s != null ? /* @__PURE__ */ (0, P.jsx)("span", {
1364
- "data-run-row-duration": "",
1365
- className: "font-mono text-[10px] tabular-nums text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100",
1366
- children: p(s)
1367
- }) : null, /* @__PURE__ */ (0, P.jsx)(ft, { status: a })]
1368
- })
1356
+ !w && s != null ? /* @__PURE__ */ (0, M.jsx)("span", {
1357
+ "data-run-row-duration": "",
1358
+ className: "ml-auto shrink-0 font-mono text-sm tabular-nums text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100",
1359
+ children: p(s)
1360
+ }) : null
1369
1361
  ]
1370
1362
  })
1371
1363
  }),
1372
- l && !S ? /* @__PURE__ */ (0, P.jsx)("div", {
1373
- className: n("pb-1.5 pr-2 text-xs leading-snug text-[var(--surface-danger-text)]", ht),
1364
+ l && !S ? /* @__PURE__ */ (0, M.jsx)("div", {
1365
+ className: n("pb-1.5 pr-2 text-sm leading-snug text-[var(--surface-danger-text)]", mt),
1374
1366
  children: l
1375
1367
  }) : null,
1376
- w ? /* @__PURE__ */ (0, P.jsx)(o, {
1368
+ T ? /* @__PURE__ */ (0, M.jsx)(o, {
1377
1369
  className: "overflow-hidden data-[state=open]:animate-slideDown data-[state=closed]:animate-slideUp",
1378
- children: /* @__PURE__ */ (0, P.jsx)("div", {
1370
+ children: /* @__PURE__ */ (0, M.jsx)("div", {
1379
1371
  className: n("border-t border-border", _),
1380
1372
  children: v
1381
1373
  })
1382
1374
  }) : null
1383
1375
  ]
1384
- }), d ? /* @__PURE__ */ (0, P.jsx)("div", {
1376
+ }), d ? /* @__PURE__ */ (0, M.jsx)("div", {
1385
1377
  className: "flex shrink-0 flex-wrap items-center justify-end gap-1.5 pt-1",
1386
1378
  onClick: (e) => e.stopPropagation(),
1387
1379
  children: d
@@ -1390,26 +1382,26 @@ function Q({ icon: e, title: t, description: r, descriptionMono: i = !1, status:
1390
1382
  });
1391
1383
  }
1392
1384
  //#endregion
1393
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/run/inline-tool-item.js
1394
- var gt = {
1385
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/run/inline-tool-item.js
1386
+ var ht = {
1395
1387
  command: ie,
1396
- write: ue,
1397
- read: fe,
1398
- search: D,
1399
- edit: ve,
1400
- task: te,
1401
- web: O,
1402
- todo: ce,
1403
- other: be
1388
+ write: fe,
1389
+ read: me,
1390
+ search: ne,
1391
+ edit: be,
1392
+ task: w,
1393
+ web: re,
1394
+ todo: de,
1395
+ other: Se
1404
1396
  };
1405
- function _t(e) {
1397
+ function gt(e) {
1406
1398
  return e === "pending" || e === "running" ? "running" : e === "error" ? "error" : "success";
1407
1399
  }
1408
- var $ = (0, N.memo)(({ part: e, renderToolDetail: t, groupPosition: r = "single", className: i, contentClassName: a, actions: o, title: s, description: c }) => {
1409
- let l = z(e), u = s ?? l.title, d = c ?? l.description, f = Ne(e), p = e.state.time?.start, m = e.state.time?.end, h = p != null && m != null ? m - p : void 0, g = gt[Me(e.tool)] ?? be, _ = _t(e.state.status);
1410
- return /* @__PURE__ */ (0, P.jsx)(Q, {
1411
- icon: /* @__PURE__ */ (0, P.jsx)(g, { className: "h-3.5 w-3.5" }),
1412
- title: _ === "running" ? /* @__PURE__ */ (0, P.jsx)(x, { children: u }) : u,
1400
+ var _t = (0, j.memo)(({ part: e, renderToolDetail: t, groupPosition: r = "single", className: i, contentClassName: a, actions: o, title: s, description: c }) => {
1401
+ let l = B(e), u = s ?? l.title, d = c ?? l.description, f = Me(e), p = e.state.time?.start, m = e.state.time?.end, h = p != null && m != null ? m - p : void 0, g = ht[je(e.tool)] ?? Se, _ = gt(e.state.status);
1402
+ return /* @__PURE__ */ (0, M.jsx)(Q, {
1403
+ icon: /* @__PURE__ */ (0, M.jsx)(g, { className: "h-3.5 w-3.5" }),
1404
+ title: _ === "running" ? /* @__PURE__ */ (0, M.jsx)(x, { children: u }) : u,
1413
1405
  description: d,
1414
1406
  descriptionMono: !0,
1415
1407
  status: _,
@@ -1419,15 +1411,15 @@ var $ = (0, N.memo)(({ part: e, renderToolDetail: t, groupPosition: r = "single"
1419
1411
  actions: o,
1420
1412
  className: i,
1421
1413
  contentClassName: n("p-2", a),
1422
- children: t?.(e) ?? /* @__PURE__ */ (0, P.jsx)(dt, { part: e })
1414
+ children: t?.(e) ?? /* @__PURE__ */ (0, M.jsx)(dt, { part: e })
1423
1415
  });
1424
1416
  });
1425
- $.displayName = "InlineToolItem";
1417
+ _t.displayName = "InlineToolItem";
1426
1418
  //#endregion
1427
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/run/inline-thinking-item.js
1428
- var vt = (0, N.memo)(({ part: e, defaultOpen: t = !1, autoCollapse: n = !0, openWhileActive: r = !0, className: i, contentClassName: a }) => {
1429
- let [o, s] = (0, N.useState)(t), c = (0, N.useRef)(!1), l = e.time?.start, u = e.time?.end, d = l != null && u != null ? u - l : void 0, f = l != null && u == null, p = e.text ? y(g(e.text), 120) : void 0;
1430
- return (0, N.useEffect)(() => {
1419
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/run/inline-thinking-item.js
1420
+ var vt = (0, j.memo)(({ part: e, defaultOpen: t = !1, autoCollapse: n = !0, openWhileActive: r = !0, className: i, contentClassName: a }) => {
1421
+ let [o, s] = (0, j.useState)(t), c = (0, j.useRef)(!1), l = e.time?.start, u = e.time?.end, d = l != null && u != null ? u - l : void 0, f = l != null && u == null, p = e.text ? y(g(e.text), 120) : void 0;
1422
+ return (0, j.useEffect)(() => {
1431
1423
  if (f) {
1432
1424
  c.current = !1, r && s(!0);
1433
1425
  return;
@@ -1443,64 +1435,64 @@ var vt = (0, N.memo)(({ part: e, defaultOpen: t = !1, autoCollapse: n = !0, open
1443
1435
  d,
1444
1436
  f,
1445
1437
  r
1446
- ]), /* @__PURE__ */ (0, P.jsx)(Q, {
1447
- icon: /* @__PURE__ */ (0, P.jsx)(oe, { className: "h-3.5 w-3.5" }),
1448
- title: f ? /* @__PURE__ */ (0, P.jsx)(x, { children: "Thinking…" }) : "Reasoning",
1438
+ ]), /* @__PURE__ */ (0, M.jsx)(Q, {
1439
+ icon: /* @__PURE__ */ (0, M.jsx)(ce, { className: "h-3.5 w-3.5" }),
1440
+ title: f ? /* @__PURE__ */ (0, M.jsx)(x, { children: "Thinking…" }) : "Reasoning",
1449
1441
  description: p,
1450
1442
  status: f ? "running" : "idle",
1451
1443
  durationMs: d,
1452
1444
  open: o,
1453
1445
  onOpenChange: s,
1454
1446
  className: i,
1455
- children: e.text ? /* @__PURE__ */ (0, P.jsx)(Z, {
1447
+ children: e.text ? /* @__PURE__ */ (0, M.jsx)(Z, {
1456
1448
  fadeClassName: "from-[var(--md3-surface-container)]",
1457
1449
  className: a ? `px-3 py-3 ${a}` : "px-3 py-3",
1458
- children: /* @__PURE__ */ (0, P.jsx)("div", {
1450
+ children: /* @__PURE__ */ (0, M.jsx)("div", {
1459
1451
  className: "text-sm leading-relaxed text-foreground",
1460
- children: /* @__PURE__ */ (0, P.jsx)(v, { children: e.text })
1452
+ children: /* @__PURE__ */ (0, M.jsx)(v, { children: e.text })
1461
1453
  })
1462
- }) : /* @__PURE__ */ (0, P.jsx)("div", {
1463
- className: "px-3 py-2.5 text-xs text-muted-foreground",
1454
+ }) : /* @__PURE__ */ (0, M.jsx)("div", {
1455
+ className: "px-3 py-2.5 text-sm text-muted-foreground",
1464
1456
  children: "No reasoning text provided."
1465
1457
  })
1466
1458
  });
1467
1459
  });
1468
1460
  vt.displayName = "InlineThinkingItem";
1469
1461
  //#endregion
1470
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/chat/thinking-indicator.js
1462
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/chat/thinking-indicator.js
1471
1463
  function yt({ className: e }) {
1472
- let [t, r] = (0, N.useState)(0);
1473
- return (0, N.useEffect)(() => {
1464
+ let [t, r] = (0, j.useState)(0);
1465
+ return (0, j.useEffect)(() => {
1474
1466
  let e = window.setInterval(() => r((e) => e + 1), 1e3);
1475
1467
  return () => window.clearInterval(e);
1476
- }, []), /* @__PURE__ */ (0, P.jsxs)("div", {
1468
+ }, []), /* @__PURE__ */ (0, M.jsxs)("div", {
1477
1469
  role: "status",
1478
1470
  "aria-label": "Agent is thinking",
1479
1471
  className: n("flex items-center gap-2 px-3 py-1.5", e),
1480
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
1472
+ children: [/* @__PURE__ */ (0, M.jsxs)("div", {
1481
1473
  className: "flex gap-[3px]",
1482
1474
  children: [
1483
- /* @__PURE__ */ (0, P.jsx)("span", {
1475
+ /* @__PURE__ */ (0, M.jsx)("span", {
1484
1476
  className: "h-[var(--indicator-dot-size)] w-[var(--indicator-dot-size)] animate-bounce rounded-full bg-[var(--brand-glow)]",
1485
1477
  style: { animationDelay: "0ms" }
1486
1478
  }),
1487
- /* @__PURE__ */ (0, P.jsx)("span", {
1479
+ /* @__PURE__ */ (0, M.jsx)("span", {
1488
1480
  className: "h-[var(--indicator-dot-size)] w-[var(--indicator-dot-size)] animate-bounce rounded-full bg-[var(--brand-glow)]",
1489
1481
  style: { animationDelay: "150ms" }
1490
1482
  }),
1491
- /* @__PURE__ */ (0, P.jsx)("span", {
1483
+ /* @__PURE__ */ (0, M.jsx)("span", {
1492
1484
  className: "h-[var(--indicator-dot-size)] w-[var(--indicator-dot-size)] animate-bounce rounded-full bg-[var(--brand-glow)]",
1493
1485
  style: { animationDelay: "300ms" }
1494
1486
  })
1495
1487
  ]
1496
- }), t > 3 && /* @__PURE__ */ (0, P.jsxs)("span", {
1488
+ }), t > 3 && /* @__PURE__ */ (0, M.jsxs)("span", {
1497
1489
  className: "text-[length:var(--font-size-xs)] tabular-nums text-muted-foreground",
1498
1490
  children: [t, "s"]
1499
1491
  })]
1500
1492
  });
1501
1493
  }
1502
1494
  //#endregion
1503
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/run/tool-call-step.js
1495
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/run/tool-call-step.js
1504
1496
  var bt = {
1505
1497
  ts: "typescript",
1506
1498
  tsx: "typescript",
@@ -1554,13 +1546,13 @@ function Ct({ type: e, label: t, status: n, detail: r, output: i, language: a, d
1554
1546
  }
1555
1547
  }
1556
1548
  }, d = xt(r, a);
1557
- return /* @__PURE__ */ (0, P.jsx)($, {
1549
+ return /* @__PURE__ */ (0, M.jsx)(_t, {
1558
1550
  part: u,
1559
1551
  title: t,
1560
1552
  description: r,
1561
1553
  className: s,
1562
1554
  actions: c,
1563
- renderToolDetail: l ? void 0 : i ? () => /* @__PURE__ */ (0, P.jsx)(S, {
1555
+ renderToolDetail: l ? void 0 : i ? () => /* @__PURE__ */ (0, M.jsx)(S, {
1564
1556
  code: i,
1565
1557
  language: d,
1566
1558
  className: "max-h-72 overflow-auto text-xs"
@@ -1568,7 +1560,7 @@ function Ct({ type: e, label: t, status: n, detail: r, output: i, language: a, d
1568
1560
  });
1569
1561
  }
1570
1562
  function wt({ title: e, children: t, className: r }) {
1571
- return /* @__PURE__ */ (0, P.jsx)("div", {
1563
+ return /* @__PURE__ */ (0, M.jsx)("div", {
1572
1564
  role: "group",
1573
1565
  "aria-label": e,
1574
1566
  className: n("flex flex-col gap-1", r),
@@ -1576,13 +1568,13 @@ function wt({ title: e, children: t, className: r }) {
1576
1568
  });
1577
1569
  }
1578
1570
  //#endregion
1579
- //#region node_modules/.pnpm/@tangle-network+ui@11.45.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0322641ea7259db144aea455fa18d1ea/node_modules/@tangle-network/ui/dist/chat/agent-timeline.js
1571
+ //#region node_modules/.pnpm/@tangle-network+ui@11.47.0_@nanostores+react@1.1.0_nanostores@1.5.5_react@19.3.0__@shik_0d590f730856c7e14e0139f079bd126c/node_modules/@tangle-network/ui/dist/chat/agent-timeline.js
1580
1572
  var Tt = {
1581
1573
  default: {
1582
1574
  card: "border-border bg-card",
1583
1575
  text: "text-foreground",
1584
1576
  supportingText: "text-muted-foreground",
1585
- icon: se
1577
+ icon: ue
1586
1578
  },
1587
1579
  info: {
1588
1580
  card: "border-[var(--surface-info-border)] bg-[var(--surface-info-bg)]",
@@ -1594,65 +1586,65 @@ var Tt = {
1594
1586
  card: "border-[var(--surface-success-border)] bg-[var(--surface-success-bg)]",
1595
1587
  text: "text-[var(--surface-success-text)]",
1596
1588
  supportingText: "text-[var(--surface-success-text)]",
1597
- icon: re
1589
+ icon: te
1598
1590
  },
1599
1591
  warning: {
1600
1592
  card: "border-[var(--surface-warning-border)] bg-[var(--surface-warning-bg)]",
1601
1593
  text: "text-[var(--surface-warning-text)]",
1602
1594
  supportingText: "text-[var(--surface-warning-text)]",
1603
- icon: w
1595
+ icon: T
1604
1596
  },
1605
1597
  error: {
1606
1598
  card: "border-[var(--surface-danger-border)] bg-[var(--surface-danger-bg)]",
1607
1599
  text: "text-[var(--surface-danger-text)]",
1608
1600
  supportingText: "text-[var(--surface-danger-text)]",
1609
- icon: w
1601
+ icon: T
1610
1602
  }
1611
1603
  };
1612
- function Et(e) {
1604
+ function $(e) {
1613
1605
  return e.kind === "message" ? e.role === "user" ? "user" : "prose" : e.kind === "status" || e.kind === "artifact" ? "card" : "tool";
1614
1606
  }
1615
- function Dt(e, t) {
1607
+ function Et(e, t) {
1616
1608
  return e === void 0 ? "" : e === "user" || t === "user" ? "mt-4" : e === "card" || t === "card" ? "mt-2" : e === "tool" || t === "tool" ? "mt-1" : "mt-3";
1617
1609
  }
1618
- var Ot = "-mx-3", kt = "[&>:last-child:not(ul,ol)]:after:ml-0.5 [&>:last-child:not(ul,ol)]:after:inline-block [&>:last-child:not(ul,ol)]:after:h-[1em] [&>:last-child:not(ul,ol)]:after:w-0.5 [&>:last-child:not(ul,ol)]:after:animate-pulse [&>:last-child:not(ul,ol)]:after:rounded-full [&>:last-child:not(ul,ol)]:after:bg-muted-foreground [&>:last-child:not(ul,ol)]:after:align-text-bottom [&>:last-child:not(ul,ol)]:after:content-[''] [&>:is(ul,ol):last-child>li:last-child]:after:ml-0.5 [&>:is(ul,ol):last-child>li:last-child]:after:inline-block [&>:is(ul,ol):last-child>li:last-child]:after:h-[1em] [&>:is(ul,ol):last-child>li:last-child]:after:w-0.5 [&>:is(ul,ol):last-child>li:last-child]:after:animate-pulse [&>:is(ul,ol):last-child>li:last-child]:after:rounded-full [&>:is(ul,ol):last-child>li:last-child]:after:bg-muted-foreground [&>:is(ul,ol):last-child>li:last-child]:after:align-text-bottom [&>:is(ul,ol):last-child>li:last-child]:after:content-['']";
1619
- function At({ item: e, author: t }) {
1620
- return /* @__PURE__ */ (0, P.jsxs)("div", { children: [
1621
- t && /* @__PURE__ */ (0, P.jsx)(Ce, {
1610
+ var Dt = "-mx-3", Ot = "[&>:last-child:not(ul,ol)]:after:ml-0.5 [&>:last-child:not(ul,ol)]:after:inline-block [&>:last-child:not(ul,ol)]:after:h-[1em] [&>:last-child:not(ul,ol)]:after:w-0.5 [&>:last-child:not(ul,ol)]:after:animate-pulse [&>:last-child:not(ul,ol)]:after:rounded-full [&>:last-child:not(ul,ol)]:after:bg-muted-foreground [&>:last-child:not(ul,ol)]:after:align-text-bottom [&>:last-child:not(ul,ol)]:after:content-[''] [&>:is(ul,ol):last-child>li:last-child]:after:ml-0.5 [&>:is(ul,ol):last-child>li:last-child]:after:inline-block [&>:is(ul,ol):last-child>li:last-child]:after:h-[1em] [&>:is(ul,ol):last-child>li:last-child]:after:w-0.5 [&>:is(ul,ol):last-child>li:last-child]:after:animate-pulse [&>:is(ul,ol):last-child>li:last-child]:after:rounded-full [&>:is(ul,ol):last-child>li:last-child]:after:bg-muted-foreground [&>:is(ul,ol):last-child>li:last-child]:after:align-text-bottom [&>:is(ul,ol):last-child>li:last-child]:after:content-['']";
1611
+ function kt({ item: e, author: t }) {
1612
+ return /* @__PURE__ */ (0, M.jsxs)("div", { children: [
1613
+ t && /* @__PURE__ */ (0, M.jsx)(P, {
1622
1614
  author: t,
1623
1615
  className: "mb-1.5"
1624
1616
  }),
1625
- e.content && /* @__PURE__ */ (0, P.jsx)(v, {
1626
- className: n("tangle-prose", "tangle-transcript-text text-[length:var(--transcript-font-size)] leading-[var(--transcript-line-height)]", e.isStreaming && kt),
1617
+ e.content && /* @__PURE__ */ (0, M.jsx)(v, {
1618
+ className: n("tangle-prose", "tangle-transcript-text text-[length:var(--transcript-font-size)] leading-[var(--transcript-line-height)]", e.isStreaming && Ot),
1627
1619
  children: e.content
1628
1620
  }),
1629
- e.isStreaming && !e.content && /* @__PURE__ */ (0, P.jsx)("span", {
1621
+ e.isStreaming && !e.content && /* @__PURE__ */ (0, M.jsx)("span", {
1630
1622
  "aria-hidden": !0,
1631
1623
  "data-streaming-caret": "",
1632
1624
  className: "ml-0.5 inline-block h-[1em] w-0.5 animate-pulse rounded-full bg-muted-foreground align-text-bottom"
1633
1625
  }),
1634
- e.toolCalls && /* @__PURE__ */ (0, P.jsx)("div", {
1626
+ e.toolCalls && /* @__PURE__ */ (0, M.jsx)("div", {
1635
1627
  className: "mt-1",
1636
1628
  children: e.toolCalls
1637
1629
  }),
1638
- e.after && /* @__PURE__ */ (0, P.jsx)("div", {
1630
+ e.after && /* @__PURE__ */ (0, M.jsx)("div", {
1639
1631
  className: "mt-3 border-t border-border pt-3",
1640
1632
  children: e.after
1641
1633
  })
1642
1634
  ] });
1643
1635
  }
1644
- function jt({ item: e }) {
1636
+ function At({ item: e }) {
1645
1637
  let t = Tt[e.tone ?? "default"], r = t.icon;
1646
- return /* @__PURE__ */ (0, P.jsx)("div", {
1638
+ return /* @__PURE__ */ (0, M.jsx)("div", {
1647
1639
  className: n("rounded-[var(--radius-lg)] border px-4 py-3", t.card),
1648
- children: /* @__PURE__ */ (0, P.jsxs)("div", {
1640
+ children: /* @__PURE__ */ (0, M.jsxs)("div", {
1649
1641
  className: "flex items-start gap-3",
1650
- children: [/* @__PURE__ */ (0, P.jsx)(r, { className: n("mt-0.5 h-4 w-4 shrink-0", t.text) }), /* @__PURE__ */ (0, P.jsxs)("div", {
1642
+ children: [/* @__PURE__ */ (0, M.jsx)(r, { className: n("mt-0.5 h-4 w-4 shrink-0", t.text) }), /* @__PURE__ */ (0, M.jsxs)("div", {
1651
1643
  className: "min-w-0",
1652
- children: [/* @__PURE__ */ (0, P.jsx)("div", {
1644
+ children: [/* @__PURE__ */ (0, M.jsx)("div", {
1653
1645
  className: n("text-sm font-medium", t.text),
1654
1646
  children: e.label
1655
- }), e.detail && /* @__PURE__ */ (0, P.jsx)("div", {
1647
+ }), e.detail && /* @__PURE__ */ (0, M.jsx)("div", {
1656
1648
  className: n("mt-0.5 text-sm", t.supportingText),
1657
1649
  children: e.detail
1658
1650
  })]
@@ -1660,41 +1652,41 @@ function jt({ item: e }) {
1660
1652
  })
1661
1653
  });
1662
1654
  }
1663
- function Mt({ item: e }) {
1664
- let t = Tt[e.tone ?? "default"], r = /* @__PURE__ */ (0, P.jsx)("div", {
1655
+ function jt({ item: e }) {
1656
+ let t = Tt[e.tone ?? "default"], r = /* @__PURE__ */ (0, M.jsx)("div", {
1665
1657
  className: n("rounded-[var(--radius-lg)] border px-4 py-3", t.card),
1666
- children: /* @__PURE__ */ (0, P.jsxs)("div", {
1658
+ children: /* @__PURE__ */ (0, M.jsxs)("div", {
1667
1659
  className: "flex items-start gap-3",
1668
1660
  children: [
1669
- /* @__PURE__ */ (0, P.jsx)("div", {
1661
+ /* @__PURE__ */ (0, M.jsx)("div", {
1670
1662
  className: "mt-0.5 flex h-[var(--avatar-size)] w-[var(--avatar-size)] shrink-0 items-center justify-center rounded-[var(--radius-md)] bg-muted/50 text-foreground",
1671
- children: e.icon ?? /* @__PURE__ */ (0, P.jsx)(E, { className: "h-4 w-4" })
1663
+ children: e.icon ?? /* @__PURE__ */ (0, M.jsx)(O, { className: "h-4 w-4" })
1672
1664
  }),
1673
- /* @__PURE__ */ (0, P.jsxs)("div", {
1665
+ /* @__PURE__ */ (0, M.jsxs)("div", {
1674
1666
  className: "min-w-0 flex-1",
1675
1667
  children: [
1676
- /* @__PURE__ */ (0, P.jsx)("div", {
1668
+ /* @__PURE__ */ (0, M.jsx)("div", {
1677
1669
  className: n("text-sm font-medium", t.text),
1678
1670
  children: e.title
1679
1671
  }),
1680
- e.description && /* @__PURE__ */ (0, P.jsx)("div", {
1672
+ e.description && /* @__PURE__ */ (0, M.jsx)("div", {
1681
1673
  className: n("mt-1 text-sm", t.supportingText),
1682
1674
  children: e.description
1683
1675
  }),
1684
- e.meta && /* @__PURE__ */ (0, P.jsx)("div", {
1676
+ e.meta && /* @__PURE__ */ (0, M.jsx)("div", {
1685
1677
  className: n("mt-2 flex flex-wrap items-center gap-2 text-xs", t.supportingText),
1686
1678
  children: e.meta
1687
1679
  })
1688
1680
  ]
1689
1681
  }),
1690
- e.action && /* @__PURE__ */ (0, P.jsx)("div", {
1682
+ e.action && /* @__PURE__ */ (0, M.jsx)("div", {
1691
1683
  className: "shrink-0",
1692
1684
  children: e.action
1693
1685
  })
1694
1686
  ]
1695
1687
  })
1696
1688
  });
1697
- return e.onClick ? /* @__PURE__ */ (0, P.jsx)("div", {
1689
+ return e.onClick ? /* @__PURE__ */ (0, M.jsx)("div", {
1698
1690
  role: "button",
1699
1691
  tabIndex: 0,
1700
1692
  onClick: e.onClick,
@@ -1705,16 +1697,70 @@ function Mt({ item: e }) {
1705
1697
  children: r
1706
1698
  }) : r;
1707
1699
  }
1708
- function Nt({ items: e, isThinking: t, emptyState: r, className: i, renderToolActions: a, collapseAfter: o, viewerId: s }) {
1709
- let [c, l] = (0, N.useState)(!1);
1710
- if (e.length === 0 && !t) return r ? /* @__PURE__ */ (0, P.jsx)("div", {
1700
+ function Mt({ className: e, children: t }) {
1701
+ return /* @__PURE__ */ (0, M.jsx)("div", {
1702
+ className: n("mx-auto flex w-full max-w-5xl flex-col px-4 py-4", e),
1703
+ children: t
1704
+ });
1705
+ }
1706
+ function Nt({ item: e, previous: t, headed: r, renderToolActions: i, viewerId: a }) {
1707
+ let o = $(e);
1708
+ return /* @__PURE__ */ (0, M.jsx)("div", {
1709
+ "data-timeline-step": o,
1710
+ className: n(Et(t, o), o === "tool" && Dt),
1711
+ children: /* @__PURE__ */ (0, M.jsx)(Pt, {
1712
+ item: e,
1713
+ headed: r,
1714
+ renderToolActions: i,
1715
+ viewerId: a
1716
+ })
1717
+ });
1718
+ }
1719
+ function Pt({ item: e, headed: t, renderToolActions: n, viewerId: r }) {
1720
+ return e.kind === "message" ? e.role === "user" ? /* @__PURE__ */ (0, M.jsx)(L, {
1721
+ content: e.content,
1722
+ timestamp: e.timestamp,
1723
+ author: e.author,
1724
+ viewerId: r
1725
+ }) : /* @__PURE__ */ (0, M.jsx)(kt, {
1726
+ item: e,
1727
+ author: t ? e.author : void 0
1728
+ }) : e.kind === "tool" ? /* @__PURE__ */ (0, M.jsx)(Ct, {
1729
+ type: e.call.type,
1730
+ label: e.call.label,
1731
+ status: e.call.status,
1732
+ detail: e.call.detail,
1733
+ output: e.call.output,
1734
+ duration: e.call.duration,
1735
+ part: e.part,
1736
+ actions: e.part ? n?.(e.part) : void 0
1737
+ }) : e.kind === "tool_group" ? /* @__PURE__ */ (0, M.jsx)(wt, {
1738
+ title: e.title,
1739
+ children: e.calls.map((t, r) => {
1740
+ let i = e.parts?.[r];
1741
+ return /* @__PURE__ */ (0, M.jsx)(Ct, {
1742
+ type: t.type,
1743
+ label: t.label,
1744
+ status: t.status,
1745
+ detail: t.detail,
1746
+ output: t.output,
1747
+ duration: t.duration,
1748
+ part: i,
1749
+ actions: i ? n?.(i) : void 0
1750
+ }, t.id);
1751
+ })
1752
+ }) : e.kind === "status" ? /* @__PURE__ */ (0, M.jsx)(At, { item: e }) : e.kind === "artifact" ? /* @__PURE__ */ (0, M.jsx)(jt, { item: e }) : e.content;
1753
+ }
1754
+ function Ft({ items: e, isThinking: t, emptyState: r, className: i, renderToolActions: a, collapseAfter: o, viewerId: s }) {
1755
+ let [c, l] = (0, j.useState)(!1);
1756
+ if (e.length === 0 && !t) return r ? /* @__PURE__ */ (0, M.jsx)("div", {
1711
1757
  className: n("flex h-full items-center justify-center p-4", i),
1712
1758
  children: r
1713
1759
  }) : null;
1714
1760
  let u = t ? [...e, {
1715
1761
  id: "__thinking__",
1716
1762
  kind: "custom",
1717
- content: /* @__PURE__ */ (0, P.jsx)(yt, {})
1763
+ content: /* @__PURE__ */ (0, M.jsx)(yt, {})
1718
1764
  }] : e, d = (e) => e.kind === "message" && e.role === "user", f = u.filter((e) => !d(e)), p = o ?? Infinity, m = f.length > p, h = m && !c, g = u, _ = 0;
1719
1765
  if (h) {
1720
1766
  let e = [], t = 0;
@@ -1732,55 +1778,21 @@ function Nt({ items: e, isThinking: t, emptyState: r, className: i, renderToolAc
1732
1778
  }
1733
1779
  e.author && e.author.id !== y && v.add(e.id), y = e.author?.id;
1734
1780
  }
1735
- let b = (e) => e.kind === "message" ? e.role === "user" ? /* @__PURE__ */ (0, P.jsx)(I, {
1736
- content: e.content,
1737
- timestamp: e.timestamp,
1738
- author: e.author,
1739
- viewerId: s
1740
- }) : /* @__PURE__ */ (0, P.jsx)(At, {
1741
- item: e,
1742
- author: v.has(e.id) ? e.author : void 0
1743
- }) : e.kind === "tool" ? /* @__PURE__ */ (0, P.jsx)(Ct, {
1744
- type: e.call.type,
1745
- label: e.call.label,
1746
- status: e.call.status,
1747
- detail: e.call.detail,
1748
- output: e.call.output,
1749
- duration: e.call.duration,
1750
- part: e.part,
1751
- actions: e.part ? a?.(e.part) : void 0
1752
- }) : e.kind === "tool_group" ? /* @__PURE__ */ (0, P.jsx)(wt, {
1753
- title: e.title,
1754
- children: e.calls.map((t, n) => {
1755
- let r = e.parts?.[n];
1756
- return /* @__PURE__ */ (0, P.jsx)(Ct, {
1757
- type: t.type,
1758
- label: t.label,
1759
- status: t.status,
1760
- detail: t.detail,
1761
- output: t.output,
1762
- duration: t.duration,
1763
- part: r,
1764
- actions: r ? a?.(r) : void 0
1765
- }, t.id);
1766
- })
1767
- }) : e.kind === "status" ? /* @__PURE__ */ (0, P.jsx)(jt, { item: e }) : e.kind === "artifact" ? /* @__PURE__ */ (0, P.jsx)(Mt, { item: e }) : e.content;
1768
- return /* @__PURE__ */ (0, P.jsxs)("div", {
1769
- className: n("mx-auto flex w-full max-w-5xl flex-col px-4 py-4", i),
1770
- children: [g.map((e, t) => {
1771
- let r = Et(e), i = t > 0 ? Et(g[t - 1]) : void 0;
1772
- return /* @__PURE__ */ (0, P.jsx)("div", {
1773
- "data-timeline-step": r,
1774
- className: n(Dt(i, r), r === "tool" && Ot),
1775
- children: b(e)
1776
- }, e.id);
1777
- }), m ? /* @__PURE__ */ (0, P.jsx)("button", {
1781
+ return /* @__PURE__ */ (0, M.jsxs)(Mt, {
1782
+ className: i,
1783
+ children: [g.map((e, t) => /* @__PURE__ */ (0, M.jsx)(Nt, {
1784
+ item: e,
1785
+ previous: t > 0 ? $(g[t - 1]) : void 0,
1786
+ headed: v.has(e.id),
1787
+ renderToolActions: a,
1788
+ viewerId: s
1789
+ }, e.id)), m ? /* @__PURE__ */ (0, M.jsx)("button", {
1778
1790
  type: "button",
1779
1791
  onClick: () => l((e) => !e),
1780
- className: "mt-2 self-start text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",
1792
+ className: "mt-2 self-start text-sm font-medium text-muted-foreground transition-colors hover:text-foreground",
1781
1793
  children: h ? `Show ${_} more step${_ === 1 ? "" : "s"}` : "Show less"
1782
1794
  }) : null]
1783
1795
  });
1784
1796
  }
1785
1797
  //#endregion
1786
- export { I as a, z as i, vt as n, Q as r, Nt as t };
1798
+ export { vt as a, $ as i, Mt as n, Q as o, Nt as r, B as s, Ft as t };