@qredence/fleet 0.10.3 → 0.10.4

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 (91) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/web/client/assets/{artifacts-panel-CfWH5cQn.js → artifacts-panel-CDuvwZXW.js} +1 -1
  3. package/dist/web/client/assets/{chat-command-palette-CKGrP-Ke.js → chat-command-palette-DSpwG3Ph.js} +1 -1
  4. package/dist/web/client/assets/{ipython-tool-bieUhw9K.js → cpython-tool-CcGMkNQ4.js} +1 -1
  5. package/dist/web/client/assets/globals-CR3boQb2.css +2 -0
  6. package/dist/web/client/assets/{index-DJDQWCGd.js → index-BpqhS0Xv.js} +2 -2
  7. package/dist/web/client/assets/prime-agent-artifacts-CuR1D_ch.js +5 -0
  8. package/dist/web/client/assets/reasoning-line-B79r9oqP.js +1 -0
  9. package/dist/web/client/assets/{repl-panel-5xgkDXO5.js → repl-panel-Dj0nX5A6.js} +1 -1
  10. package/dist/web/client/assets/right-panel-registry-HNH3niQ8.js +2 -0
  11. package/dist/web/client/assets/routes-CJRPrnVB.js +14 -0
  12. package/dist/web/client/assets/session-activity-panel-Dvy044_T.js +1 -0
  13. package/dist/web/client/assets/{session-insights-panel-BXEmuJKf.js → session-insights-panel-Bltz_o6C.js} +1 -1
  14. package/dist/web/client/assets/{session-tool-renderer-CGMatufW.js → session-tool-renderer-BLFqj28b.js} +7 -7
  15. package/dist/web/client/assets/{subagent-chat-panel-xm-zBsFL.js → subagent-chat-panel-Cr57arv9.js} +1 -1
  16. package/dist/web/client/assets/subagent-transcript-CqAEPEJp.js +1 -0
  17. package/dist/web/client/assets/subagents-panel-DCjSDcM4.js +1 -0
  18. package/dist/web/client/assets/tool-action-icon-vTW_L1Fj.js +1 -0
  19. package/dist/web/client/assets/tool-output-normalizer-DDoLNo4P.js +4 -0
  20. package/dist/web/client/assets/tool-part-normalizer-DdgmYc9z.js +4 -0
  21. package/dist/web/client/assets/{tool-result-C_RIixge.js → tool-result-DxWDQJSF.js} +3 -3
  22. package/dist/web/client/assets/tool-timeline-BoWCZg0K.js +2 -0
  23. package/dist/web/client/bundle-budget.json +5 -5
  24. package/dist/web/server/{_tanstack-start-manifest_v-Cs4JeecK-7Q7PABV3.js → _tanstack-start-manifest_v-BhSwNUm2-HUY424SL.js} +9 -9
  25. package/dist/web/server/{agents-DOgCHixY-TU7YLWS2.js → agents-DOgCHixY-U362NTZW.js} +1 -1
  26. package/dist/web/server/{agents-page-BdiR9H8w-UXB7T3LH.js → agents-page-BdiR9H8w-WK3UCXSA.js} +5 -5
  27. package/dist/web/server/{artifacts-panel-DjaLT-MS-DAPJTA2V.js → artifacts-panel-C9OUKEU0-N74QLS6E.js} +18 -18
  28. package/dist/web/server/{chat-command-palette-CGCsCr9E-U5PCLXNE.js → chat-command-palette-CnKy1Q4g-GJJGAVQ4.js} +12 -12
  29. package/dist/web/server/{chunk-GNXIDE26.js → chunk-2R5CY7DW.js} +2 -2
  30. package/dist/web/server/{chunk-MEAWBN4N.js → chunk-37MAYG3X.js} +15 -15
  31. package/dist/web/server/{chunk-3LAD2C43.js → chunk-3KHS4HHI.js} +13 -13
  32. package/dist/web/server/{chunk-BD7YKYWL.js → chunk-4ISLMQ2M.js} +3 -3
  33. package/dist/web/server/{chunk-FSQWWR2M.js → chunk-4ZKBYAHH.js} +1 -1
  34. package/dist/web/server/{chunk-BLGKLQJG.js → chunk-63IBRYZL.js} +6 -6
  35. package/dist/web/server/{chunk-TXZDDJCT.js → chunk-6OZY4XH7.js} +3 -3
  36. package/dist/web/server/{chunk-QWJE6ES6.js → chunk-A6LRK2MC.js} +142 -32
  37. package/dist/web/server/{chunk-PBNUO4IN.js → chunk-BG4DVGLL.js} +2 -2
  38. package/dist/web/server/{chunk-KSGGSGOA.js → chunk-BVSDXFQ6.js} +1 -1
  39. package/dist/web/server/{chunk-HAFELESQ.js → chunk-ETTLRHDY.js} +3 -3
  40. package/dist/web/server/{chunk-BZ2EAUZZ.js → chunk-F6P2FTIT.js} +3 -3
  41. package/dist/web/server/{chunk-CE7U5QB2.js → chunk-FGOT5FGH.js} +2 -2
  42. package/dist/web/server/{chunk-UULUKSQD.js → chunk-FSIRN7F7.js} +104 -94
  43. package/dist/web/server/{chunk-R4BS3KYI.js → chunk-FVTCXLYO.js} +12 -12
  44. package/dist/web/server/{chunk-2Y2543CV.js → chunk-IJZDCYFG.js} +15 -10
  45. package/dist/web/server/{chunk-FT7HNDR5.js → chunk-JR5TXTGV.js} +5 -5
  46. package/dist/web/server/{chunk-PQVTLG3E.js → chunk-NEMK2RTM.js} +4 -4
  47. package/dist/web/server/{chunk-AXN2OBPF.js → chunk-O5CPI2JH.js} +1 -1
  48. package/dist/web/server/{chunk-Q4ECIATK.js → chunk-ORO7KXHF.js} +4 -4
  49. package/dist/web/server/{chunk-VDEUVEWL.js → chunk-U26ZMWVI.js} +300 -300
  50. package/dist/web/server/{chunk-APOS34PW.js → chunk-U73UDYRF.js} +2 -2
  51. package/dist/web/server/{chunk-VBCFQNR3.js → chunk-USP4O3V7.js} +2 -2
  52. package/dist/web/server/{chunk-FNV3WZXL.js → chunk-VFW2KPLD.js} +2 -2
  53. package/dist/web/server/{chunk-5MOXRFX6.js → chunk-Y3YE73VQ.js} +45 -5
  54. package/dist/web/server/{chunk-UZ2KHDSW.js → chunk-ZRISZYHZ.js} +14 -14
  55. package/dist/web/server/{connectors-Dv_uPdv0-2TCNQ3TU.js → connectors-Dv_uPdv0-WIJGW5CQ.js} +1 -1
  56. package/dist/web/server/{connectors-page-DW75T-uH-BR36R6FT.js → connectors-page-DW75T-uH-3KBZRVAT.js} +8 -8
  57. package/dist/web/server/{create-project-dialog-aCD1v__i-37Y2AYF7.js → create-project-dialog-dwXNUwY--APUSOU5G.js} +13 -13
  58. package/dist/web/server/{fork-picker-dialog-DFpKOdAw-JPLJSYYU.js → fork-picker-dialog-DFpKOdAw-WJPMXHSE.js} +6 -6
  59. package/dist/web/server/{markdown-Cc8V9dOF-JTNTJKQU.js → markdown-Cc8V9dOF-MMI3ZBVZ.js} +4 -4
  60. package/dist/web/server/{markdown-code-gaRnbgNM-V5LIRYCD.js → markdown-code-gaRnbgNM-ND6VVJ7D.js} +4 -4
  61. package/dist/web/server/{message-queue-nQ2_kU82-KKSLYR4S.js → message-queue-nQ2_kU82-3PN7CKFG.js} +4 -4
  62. package/dist/web/server/{model-selector-list-q8bMnmhy-SPFJGUBT.js → model-selector-list-q8bMnmhy-W6JM2N7G.js} +8 -8
  63. package/dist/web/server/{openui-renderer-DNl7TU3v-LAP3OM5H.js → openui-renderer-Das3EemD-AODSN4I2.js} +14 -14
  64. package/dist/web/server/{prompt-suggestions-B67Uy5Rk-5SMTSIFQ.js → prompt-suggestions-B67Uy5Rk-6MV56U6N.js} +4 -4
  65. package/dist/web/server/{repl-panel-1kSS1UGd-POXRYDDJ.js → repl-panel-DfC-BCfn-4OZEKSFX.js} +8 -8
  66. package/dist/web/server/{resources-panel-Dtm8nlrt-PMS7NWKW.js → resources-panel-BL41dm3H-UWWMTOFL.js} +10 -10
  67. package/dist/web/server/{router-CFtn3QOM-3WK4R4UB.js → router-DJDog9kJ-IHEFPUCH.js} +5 -5
  68. package/dist/web/server/{routes-CpT-KFt7-F6WEPWF6.js → routes-BWk0YodE-CEPOI27O.js} +29 -31
  69. package/dist/web/server/server.js +2 -2
  70. package/dist/web/server/{session-activity-panel-Dr9Q0Wmd-2F7ZYCAY.js → session-activity-panel-B56ALLHr-6PDGEA2M.js} +83 -18
  71. package/dist/web/server/{session-insights-panel-BiVObm_6-AP4FITT7.js → session-insights-panel-cS12HsWt-YX7QOWIA.js} +2 -2
  72. package/dist/web/server/{session-reasoning-panel-BFyfdmnZ-AQBC4WAL.js → session-reasoning-panel-CtQUqSv9-JIXRXBH7.js} +9 -9
  73. package/dist/web/server/{session-tool-renderer-DHu5tv0A-YFP7I2UC.js → session-tool-renderer-Co466pSk-QUTYNAOE.js} +12 -12
  74. package/dist/web/server/{session-tree-panel-BkMTm2QF-K56UQR2K.js → session-tree-panel-B23gApxX-44NFOCFB.js} +9 -9
  75. package/dist/web/server/{settings-dialog-1Zr_EiEd-GDE4IXK2.js → settings-dialog-CdRjXyfc-IYMPCNR5.js} +16 -16
  76. package/dist/web/server/{subagent-chat-panel-BCm1x_mR-HY6QEHEF.js → subagent-chat-panel-DwvOMUnh-EPVZRTRM.js} +15 -15
  77. package/dist/web/server/{subagents-panel-3gfZLsTx-7D53UO7K.js → subagents-panel-DlFBFoX6-SAWYBVZJ.js} +31 -30
  78. package/dist/web/server/{workspace-panel-BeSOuvp7-7N3CAG2K.js → workspace-panel-CxUsWmIE-3BMZFN5O.js} +10 -10
  79. package/package.json +1 -1
  80. package/dist/web/client/assets/globals-C6h6fq-s.css +0 -2
  81. package/dist/web/client/assets/prime-agent-artifacts-C-g1VPiW.js +0 -5
  82. package/dist/web/client/assets/reasoning-line-DGdPUMwT.js +0 -1
  83. package/dist/web/client/assets/right-panel-registry-BkBAryPm.js +0 -2
  84. package/dist/web/client/assets/routes-C6C0y-oH.js +0 -14
  85. package/dist/web/client/assets/session-activity-panel-BloVPsLJ.js +0 -1
  86. package/dist/web/client/assets/subagent-transcript-BzToBVWk.js +0 -1
  87. package/dist/web/client/assets/subagents-panel-B5ooG4sS.js +0 -1
  88. package/dist/web/client/assets/tool-output-normalizer-DDU09Zc6.js +0 -4
  89. package/dist/web/client/assets/tool-part-normalizer-CJ2sY87r.js +0 -4
  90. package/dist/web/client/assets/tool-timeline-BVY5VQ3a.js +0 -2
  91. package/dist/web/client/assets/wrench-BXX_Ah2s.js +0 -1
@@ -47,53 +47,51 @@ import {
47
47
  routes_exports,
48
48
  startHorizontalResize,
49
49
  storeStoredWidth,
50
- toolActionIconForName,
51
50
  transcriptStatus,
52
51
  useHoverCapable
53
- } from "./chunk-UULUKSQD.js";
52
+ } from "./chunk-FSIRN7F7.js";
54
53
  import "./chunk-QOZCYKMA.js";
55
- import "./chunk-5MOXRFX6.js";
54
+ import "./chunk-Y3YE73VQ.js";
56
55
  import "./chunk-4OLRCVML.js";
57
56
  import "./chunk-C5XHGLET.js";
58
- import "./chunk-CE7U5QB2.js";
57
+ import "./chunk-FGOT5FGH.js";
59
58
  import "./chunk-6GYLXDX3.js";
60
59
  import "./chunk-NZCEQWK2.js";
61
60
  import "./chunk-7DQQMT5V.js";
62
- import "./chunk-BD7YKYWL.js";
63
- import "./chunk-TXZDDJCT.js";
64
- import "./chunk-APOS34PW.js";
61
+ import "./chunk-4ISLMQ2M.js";
62
+ import "./chunk-6OZY4XH7.js";
63
+ import "./chunk-U73UDYRF.js";
65
64
  import "./chunk-OO7NBFQQ.js";
66
- import "./chunk-FSQWWR2M.js";
67
- import "./chunk-VDEUVEWL.js";
65
+ import "./chunk-4ZKBYAHH.js";
66
+ import "./chunk-U26ZMWVI.js";
68
67
  import "./chunk-6JOAWERA.js";
69
68
  import "./chunk-CPB76YQU.js";
70
69
  import "./chunk-NXAVRSI5.js";
71
70
  import "./chunk-CZ7CSFO4.js";
72
71
  export {
73
- ReasoningLine as A,
74
- useHoverCapable as B,
72
+ Trace as A,
73
+ Message as B,
75
74
  RIGHT_PANEL_DEFINITIONS as C,
76
75
  buildAssistantElements as D,
77
76
  UserMessage as E,
78
- TraceDescription as F,
79
- groupMessages as G,
80
- MessageBubble as H,
81
- TraceIcon as I,
82
- transcriptStatus as J,
83
- orderedRlmChildren as K,
84
- TraceLine as L,
85
- TraceCollapsible as M,
86
- TraceCollapsibleContent as N,
77
+ TraceIcon as F,
78
+ orderedRlmChildren as G,
79
+ MessageBubbleContent as H,
80
+ TraceLine as I,
81
+ SessionGenerativeTextRenderer as J,
82
+ rlmStatusIcon as K,
83
+ TraceTitle as L,
84
+ TraceCollapsibleContent as M,
85
+ TraceCollapsibleTrigger as N,
87
86
  normalizeToolPart$1 as O,
88
- TraceCollapsibleTrigger as P,
89
- TraceTitle as R,
87
+ TraceDescription as P,
88
+ MessageScroller as R,
90
89
  pathEntryLabel as S,
91
90
  VirtualizedTurnList as T,
92
- MessageBubbleContent as U,
93
- Message as V,
94
- MessageContent as W,
95
- PromptInput as X,
96
- SessionGenerativeTextRenderer as Y,
91
+ MessageContent as U,
92
+ MessageBubble as V,
93
+ groupMessages as W,
94
+ PromptInput as Y,
97
95
  AlertDialogContent as _,
98
96
  readStoredWidth as a,
99
97
  AlertDialogTitle as b,
@@ -104,14 +102,14 @@ export {
104
102
  AlertDialogCancel as g,
105
103
  AlertDialogAction as h,
106
104
  startHorizontalResize as i,
107
- Trace as j,
108
- toolActionIconForName as k,
105
+ TraceCollapsible as j,
106
+ ReasoningLine as k,
109
107
  getResourceGroups as l,
110
108
  AlertDialog$1 as m,
111
109
  WORKSPACE_SPLIT_GAP_RESET as n,
112
110
  storeStoredWidth as o,
113
111
  PROVIDER_METADATA as p,
114
- rlmStatusIcon as q,
112
+ transcriptStatus as q,
115
113
  WORKSPACE_SPLIT_HIDDEN_BLOCK as r,
116
114
  findWorkspaceNode as s,
117
115
  routes_exports as t,
@@ -120,5 +118,5 @@ export {
120
118
  normalizeAssistantToolParts as w,
121
119
  directoryErrorMessage as x,
122
120
  AlertDialogFooter as y,
123
- MessageScroller as z
121
+ useHoverCapable as z
124
122
  };
@@ -2571,7 +2571,7 @@ function getResponse() {
2571
2571
  }
2572
2572
  var HEADERS = { TSS_SHELL: "X-TSS_SHELL" };
2573
2573
  async function getStartManifest(matchedRoutes) {
2574
- const { tsrStartManifest } = await import("./_tanstack-start-manifest_v-Cs4JeecK-7Q7PABV3.js");
2574
+ const { tsrStartManifest } = await import("./_tanstack-start-manifest_v-BhSwNUm2-HUY424SL.js");
2575
2575
  const startManifest = tsrStartManifest();
2576
2576
  let routes = startManifest.routes;
2577
2577
  routes[rootRouteId];
@@ -6133,7 +6133,7 @@ var getBaseManifest = getProdBaseManifest;
6133
6133
  var createEarlyHintsForRequest = createEarlyHintsCollector;
6134
6134
  async function loadEntries() {
6135
6135
  const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
6136
- import("./router-CFtn3QOM-3WK4R4UB.js").then((n) => n.t),
6136
+ import("./router-DJDog9kJ-IHEFPUCH.js").then((n) => n.t),
6137
6137
  import("./start-2iP5edI6-7IIO7TA6.js"),
6138
6138
  import("./empty-plugin-adapters-CVykojMw-NXXTUYZA.js")
6139
6139
  ]);
@@ -1,46 +1,112 @@
1
1
  import {
2
2
  ToolTimeline
3
- } from "./chunk-2Y2543CV.js";
3
+ } from "./chunk-IJZDCYFG.js";
4
4
  import {
5
5
  ReasoningLine,
6
+ Trace,
7
+ TraceCollapsible,
8
+ TraceCollapsibleContent,
9
+ TraceCollapsibleTrigger,
10
+ TraceDescription,
11
+ TraceIcon,
12
+ TraceLine,
13
+ TraceTitle,
6
14
  groupMessages
7
- } from "./chunk-UULUKSQD.js";
15
+ } from "./chunk-FSIRN7F7.js";
8
16
  import "./chunk-QOZCYKMA.js";
9
- import "./chunk-5MOXRFX6.js";
17
+ import "./chunk-Y3YE73VQ.js";
10
18
  import "./chunk-4OLRCVML.js";
11
19
  import "./chunk-C5XHGLET.js";
12
- import "./chunk-CE7U5QB2.js";
20
+ import "./chunk-FGOT5FGH.js";
13
21
  import "./chunk-6GYLXDX3.js";
14
22
  import "./chunk-NZCEQWK2.js";
15
23
  import "./chunk-7DQQMT5V.js";
16
- import "./chunk-BD7YKYWL.js";
17
- import "./chunk-TXZDDJCT.js";
18
- import "./chunk-APOS34PW.js";
24
+ import "./chunk-4ISLMQ2M.js";
25
+ import "./chunk-6OZY4XH7.js";
26
+ import "./chunk-U73UDYRF.js";
19
27
  import "./chunk-OO7NBFQQ.js";
20
28
  import {
21
29
  Button$1
22
- } from "./chunk-FSQWWR2M.js";
30
+ } from "./chunk-4ZKBYAHH.js";
23
31
  import {
24
32
  ArrowUpRight,
25
33
  CircleCheck,
26
34
  CircleDashed,
27
- CircleX
28
- } from "./chunk-VDEUVEWL.js";
35
+ CircleX,
36
+ LoaderCircle
37
+ } from "./chunk-U26ZMWVI.js";
29
38
  import "./chunk-6JOAWERA.js";
30
39
  import "./chunk-CPB76YQU.js";
31
40
  import "./chunk-NXAVRSI5.js";
32
41
  import "./chunk-CZ7CSFO4.js";
33
42
 
34
- // web/app/dist/server/assets/session-activity-panel-Dr9Q0Wmd.js
43
+ // web/app/dist/server/assets/session-activity-panel-B56ALLHr.js
44
+ import { useState } from "react";
35
45
  import { jsx, jsxs } from "react/jsx-runtime";
36
46
  function messageText(message) {
37
47
  return message.parts.filter((part) => part.type === "text").map((part) => part.type === "text" ? part.text : "").join(" ").trim();
38
48
  }
49
+ function isReasoningPart(part) {
50
+ return part.type === "reasoning";
51
+ }
39
52
  function childStatusIcon(status) {
40
53
  if (status === "done") return CircleCheck;
41
54
  if (status === "error" || status === "failed" || status === "cancelled") return CircleX;
42
55
  return CircleDashed;
43
56
  }
57
+ function reasoningPreview(text) {
58
+ const compact = text.replace(/\s+/g, " ").trim();
59
+ if (compact.length <= 140) return compact;
60
+ return `${compact.slice(0, 137).trimEnd()}\u2026`;
61
+ }
62
+ function TurnReasoningSummary({ parts, streaming }) {
63
+ const [userOpen, setUserOpen] = useState();
64
+ if (parts.length === 0) return null;
65
+ if (parts.length === 1) {
66
+ const part = parts[0];
67
+ return /* @__PURE__ */ jsx(ReasoningLine, {
68
+ text: part.text,
69
+ streaming: streaming && part.state === "streaming",
70
+ durationMs: part.durationMs
71
+ });
72
+ }
73
+ const active = streaming && parts.some((part) => part.state === "streaming");
74
+ const durationMs = parts.reduce((total, part) => total + (typeof part.durationMs === "number" ? part.durationMs : 0), 0);
75
+ const previews = parts.flatMap((part, index) => {
76
+ const preview = reasoningPreview(part.text);
77
+ return preview ? [{
78
+ episode: index + 1,
79
+ preview
80
+ }] : [];
81
+ });
82
+ return /* @__PURE__ */ jsx(Trace, {
83
+ "data-testid": "reasoning-summary",
84
+ children: /* @__PURE__ */ jsxs(TraceCollapsible, {
85
+ open: userOpen ?? active,
86
+ onOpenChange: setUserOpen,
87
+ children: [/* @__PURE__ */ jsx(TraceCollapsibleTrigger, { children: /* @__PURE__ */ jsxs(TraceLine, {
88
+ status: active ? "running" : void 0,
89
+ children: [
90
+ /* @__PURE__ */ jsx(TraceIcon, { children: active ? /* @__PURE__ */ jsx(LoaderCircle, { className: "animate-spin motion-reduce:animate-none" }) : /* @__PURE__ */ jsx(CircleCheck, {}) }),
91
+ /* @__PURE__ */ jsx(TraceTitle, { children: active ? "Thinking" : "Thought" }),
92
+ /* @__PURE__ */ jsxs(TraceDescription, { children: [parts.length, durationMs > 0 ? ` \xB7 ${Math.max(0, Math.round(durationMs / 1e3))}s` : ""] })
93
+ ]
94
+ }) }), /* @__PURE__ */ jsxs(TraceCollapsibleContent, { children: [/* @__PURE__ */ jsxs("p", {
95
+ className: "mb-2 text-xs text-muted-foreground",
96
+ children: [parts.length, " reasoning steps in this turn. Full interleaved detail is on the Main agent transcript."]
97
+ }), previews.length > 0 ? /* @__PURE__ */ jsx("ol", {
98
+ className: "flex max-h-40 flex-col gap-1.5 overflow-y-auto overscroll-contain",
99
+ children: previews.map(({ episode, preview }) => /* @__PURE__ */ jsxs("li", {
100
+ className: "text-xs text-foreground/80",
101
+ children: [/* @__PURE__ */ jsxs("span", {
102
+ className: "font-medium text-muted-foreground",
103
+ children: [episode, ". "]
104
+ }), preview]
105
+ }, `reasoning-preview-${episode}`))
106
+ }) : null] })]
107
+ })
108
+ });
109
+ }
44
110
  function SessionActivityPanel({ artifactRuns, childAgents, messages, onOpenArtifact, onSelectChild, streaming }) {
45
111
  const artifacts = artifactRuns.flatMap((run) => run.artifacts);
46
112
  const turns = groupMessages(messages);
@@ -49,7 +115,7 @@ function SessionActivityPanel({ artifactRuns, childAgents, messages, onOpenArtif
49
115
  const text = messageText(message);
50
116
  if (!text) return null;
51
117
  return /* @__PURE__ */ jsxs("div", {
52
- className: "rounded-lg border border-border/60 bg-background/60 px-3 py-2",
118
+ className: "rounded-md border border-border/60 bg-background/60 px-3 py-2",
53
119
  children: [/* @__PURE__ */ jsx("div", {
54
120
  className: "mb-1 text-micro font-medium uppercase tracking-wide text-muted-foreground",
55
121
  children: message.role === "user" ? "You" : "Assistant"
@@ -85,11 +151,10 @@ function SessionActivityPanel({ artifactRuns, childAgents, messages, onOpenArtif
85
151
  className: "space-y-2 border-b border-border/50 pb-4 last:border-b-0",
86
152
  children: [
87
153
  turn.user ? renderMessage(turn.user) : null,
88
- turn.assistants.flatMap((message) => message.parts.flatMap((part) => part.type === "reasoning" ? [/* @__PURE__ */ jsx(ReasoningLine, {
89
- text: part.text,
90
- streaming: streaming && index === turns.length - 1 && part.state === "streaming",
91
- durationMs: part.durationMs
92
- }, `${message.id}-reasoning-${part.contentIndex}`)] : [])),
154
+ /* @__PURE__ */ jsx(TurnReasoningSummary, {
155
+ parts: turn.assistants.flatMap((message) => message.parts.filter(isReasoningPart)),
156
+ streaming: streaming && index === turns.length - 1
157
+ }),
93
158
  /* @__PURE__ */ jsx(ToolTimeline, {
94
159
  messages: turn.assistants,
95
160
  artifacts: turnArtifacts,
@@ -137,7 +202,7 @@ function SessionActivityPanel({ artifactRuns, childAgents, messages, onOpenArtif
137
202
  const StatusIcon = childStatusIcon(child.status);
138
203
  return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(Button$1, {
139
204
  "aria-label": `Open ${child.sessionName || child.label} agent tab`,
140
- className: "h-auto min-h-7 w-full min-w-0 justify-start gap-2 rounded-lg border border-border/60 bg-background/60 px-3 py-2 text-left text-foreground hover:bg-foreground/5 focus-visible:ring-2 focus-visible:ring-ring",
205
+ className: "h-auto min-h-7 w-full min-w-0 justify-start gap-2 rounded-full border border-border/60 bg-background/60 px-3 py-2 text-left text-foreground hover:bg-foreground/5 focus-visible:ring-2 focus-visible:ring-ring",
141
206
  onClick: () => onSelectChild(child.id),
142
207
  size: "compact",
143
208
  type: "button",
@@ -1,6 +1,6 @@
1
1
  import "./chunk-CZ7CSFO4.js";
2
2
 
3
- // web/app/dist/server/assets/session-insights-panel-BiVObm_6.js
3
+ // web/app/dist/server/assets/session-insights-panel-cS12HsWt.js
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  var RLM_CHILD_STATUSES = [
6
6
  "queued",
@@ -190,7 +190,7 @@ function SessionInsightsPanel({ activityLabel, artifactRuns, chatMode, transcrip
190
190
  value: insights.bashCommands
191
191
  }),
192
192
  /* @__PURE__ */ jsx(Detail, {
193
- label: "IPython cells",
193
+ label: "CPython cells",
194
194
  value: insights.ipythonCells
195
195
  }),
196
196
  /* @__PURE__ */ jsx(Detail, {
@@ -7,30 +7,30 @@ import {
7
7
  TraceIcon,
8
8
  TraceLine,
9
9
  TraceTitle
10
- } from "./chunk-UULUKSQD.js";
10
+ } from "./chunk-FSIRN7F7.js";
11
11
  import "./chunk-QOZCYKMA.js";
12
- import "./chunk-5MOXRFX6.js";
12
+ import "./chunk-Y3YE73VQ.js";
13
13
  import "./chunk-4OLRCVML.js";
14
14
  import "./chunk-C5XHGLET.js";
15
- import "./chunk-CE7U5QB2.js";
15
+ import "./chunk-FGOT5FGH.js";
16
16
  import "./chunk-6GYLXDX3.js";
17
17
  import "./chunk-NZCEQWK2.js";
18
18
  import "./chunk-7DQQMT5V.js";
19
- import "./chunk-BD7YKYWL.js";
20
- import "./chunk-TXZDDJCT.js";
21
- import "./chunk-APOS34PW.js";
19
+ import "./chunk-4ISLMQ2M.js";
20
+ import "./chunk-6OZY4XH7.js";
21
+ import "./chunk-U73UDYRF.js";
22
22
  import "./chunk-OO7NBFQQ.js";
23
- import "./chunk-FSQWWR2M.js";
23
+ import "./chunk-4ZKBYAHH.js";
24
24
  import {
25
25
  CircleCheck,
26
26
  LoaderCircle
27
- } from "./chunk-VDEUVEWL.js";
27
+ } from "./chunk-U26ZMWVI.js";
28
28
  import "./chunk-6JOAWERA.js";
29
29
  import "./chunk-CPB76YQU.js";
30
30
  import "./chunk-NXAVRSI5.js";
31
31
  import "./chunk-CZ7CSFO4.js";
32
32
 
33
- // web/app/dist/server/assets/session-reasoning-panel-BFyfdmnZ.js
33
+ // web/app/dist/server/assets/session-reasoning-panel-CtQUqSv9.js
34
34
  import { useState } from "react";
35
35
  import { jsx, jsxs } from "react/jsx-runtime";
36
36
  function SessionReasoningPanel({ presentation, className, streamingOverride }) {
@@ -1,27 +1,27 @@
1
1
  import {
2
2
  SessionToolRenderer,
3
3
  session_tool_renderer_exports
4
- } from "./chunk-UZ2KHDSW.js";
5
- import "./chunk-R4BS3KYI.js";
6
- import "./chunk-PBNUO4IN.js";
7
- import "./chunk-UULUKSQD.js";
4
+ } from "./chunk-ZRISZYHZ.js";
5
+ import "./chunk-FVTCXLYO.js";
6
+ import "./chunk-BG4DVGLL.js";
7
+ import "./chunk-FSIRN7F7.js";
8
8
  import "./chunk-QOZCYKMA.js";
9
- import "./chunk-5MOXRFX6.js";
9
+ import "./chunk-Y3YE73VQ.js";
10
10
  import "./chunk-4OLRCVML.js";
11
11
  import "./chunk-C5XHGLET.js";
12
- import "./chunk-CE7U5QB2.js";
12
+ import "./chunk-FGOT5FGH.js";
13
13
  import "./chunk-6GYLXDX3.js";
14
14
  import "./chunk-NZCEQWK2.js";
15
15
  import "./chunk-7DQQMT5V.js";
16
- import "./chunk-BD7YKYWL.js";
17
- import "./chunk-TXZDDJCT.js";
18
- import "./chunk-APOS34PW.js";
16
+ import "./chunk-4ISLMQ2M.js";
17
+ import "./chunk-6OZY4XH7.js";
18
+ import "./chunk-U73UDYRF.js";
19
19
  import "./chunk-2UGQEBXG.js";
20
20
  import "./chunk-MPHREEUA.js";
21
- import "./chunk-FNV3WZXL.js";
21
+ import "./chunk-VFW2KPLD.js";
22
22
  import "./chunk-OO7NBFQQ.js";
23
- import "./chunk-FSQWWR2M.js";
24
- import "./chunk-VDEUVEWL.js";
23
+ import "./chunk-4ZKBYAHH.js";
24
+ import "./chunk-U26ZMWVI.js";
25
25
  import "./chunk-6JOAWERA.js";
26
26
  import "./chunk-CPB76YQU.js";
27
27
  import "./chunk-NXAVRSI5.js";
@@ -5,32 +5,32 @@ import {
5
5
  AlertDialogDescription,
6
6
  AlertDialogFooter,
7
7
  AlertDialogTitle
8
- } from "./chunk-UULUKSQD.js";
8
+ } from "./chunk-FSIRN7F7.js";
9
9
  import "./chunk-QOZCYKMA.js";
10
- import "./chunk-5MOXRFX6.js";
10
+ import "./chunk-Y3YE73VQ.js";
11
11
  import "./chunk-4OLRCVML.js";
12
12
  import "./chunk-C5XHGLET.js";
13
- import "./chunk-CE7U5QB2.js";
13
+ import "./chunk-FGOT5FGH.js";
14
14
  import "./chunk-6GYLXDX3.js";
15
15
  import "./chunk-NZCEQWK2.js";
16
16
  import "./chunk-7DQQMT5V.js";
17
- import "./chunk-BD7YKYWL.js";
18
- import "./chunk-TXZDDJCT.js";
19
- import "./chunk-APOS34PW.js";
17
+ import "./chunk-4ISLMQ2M.js";
18
+ import "./chunk-6OZY4XH7.js";
19
+ import "./chunk-U73UDYRF.js";
20
20
  import "./chunk-OO7NBFQQ.js";
21
21
  import {
22
22
  Button$1
23
- } from "./chunk-FSQWWR2M.js";
23
+ } from "./chunk-4ZKBYAHH.js";
24
24
  import {
25
25
  GitBranch,
26
26
  cn
27
- } from "./chunk-VDEUVEWL.js";
27
+ } from "./chunk-U26ZMWVI.js";
28
28
  import "./chunk-6JOAWERA.js";
29
29
  import "./chunk-CPB76YQU.js";
30
30
  import "./chunk-NXAVRSI5.js";
31
31
  import "./chunk-CZ7CSFO4.js";
32
32
 
33
- // web/app/dist/server/assets/session-tree-panel-BkMTm2QF.js
33
+ // web/app/dist/server/assets/session-tree-panel-B23gApxX.js
34
34
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
35
35
  import { jsx, jsxs } from "react/jsx-runtime";
36
36
  function flattenVisibleNodes(nodes, depth = 0) {
@@ -4,27 +4,27 @@ import {
4
4
  RowSurface,
5
5
  SettingsCommitActions,
6
6
  SettingsPane
7
- } from "./chunk-BLGKLQJG.js";
7
+ } from "./chunk-63IBRYZL.js";
8
8
  import {
9
9
  Spinner
10
- } from "./chunk-AXN2OBPF.js";
10
+ } from "./chunk-O5CPI2JH.js";
11
11
  import {
12
12
  InputGroup,
13
13
  InputGroupAddon,
14
14
  InputGroupButton,
15
15
  InputGroupInput
16
- } from "./chunk-HAFELESQ.js";
16
+ } from "./chunk-ETTLRHDY.js";
17
17
  import {
18
18
  Field,
19
19
  FieldDescription,
20
20
  FieldGroup,
21
21
  FieldLabel,
22
22
  Switch$1
23
- } from "./chunk-Q4ECIATK.js";
23
+ } from "./chunk-ORO7KXHF.js";
24
24
  import {
25
25
  Alert,
26
26
  AlertDescription
27
- } from "./chunk-GNXIDE26.js";
27
+ } from "./chunk-2R5CY7DW.js";
28
28
  import {
29
29
  isModelPatternEnabled,
30
30
  modelMatchesPattern,
@@ -36,7 +36,7 @@ import {
36
36
  DialogDescription,
37
37
  DialogHeader,
38
38
  DialogTitle
39
- } from "./chunk-FT7HNDR5.js";
39
+ } from "./chunk-JR5TXTGV.js";
40
40
  import {
41
41
  AlertDialog$1,
42
42
  AlertDialogAction,
@@ -50,12 +50,12 @@ import {
50
50
  formatProviderLabel,
51
51
  useChatPanelDataContext,
52
52
  useSettingsActionsContext
53
- } from "./chunk-UULUKSQD.js";
53
+ } from "./chunk-FSIRN7F7.js";
54
54
  import "./chunk-QOZCYKMA.js";
55
- import "./chunk-5MOXRFX6.js";
55
+ import "./chunk-Y3YE73VQ.js";
56
56
  import "./chunk-4OLRCVML.js";
57
57
  import "./chunk-C5XHGLET.js";
58
- import "./chunk-CE7U5QB2.js";
58
+ import "./chunk-FGOT5FGH.js";
59
59
  import {
60
60
  applyUiPreferencesToDocument,
61
61
  isCustomProviderId,
@@ -66,7 +66,7 @@ import {
66
66
  } from "./chunk-6GYLXDX3.js";
67
67
  import "./chunk-NZCEQWK2.js";
68
68
  import "./chunk-7DQQMT5V.js";
69
- import "./chunk-BD7YKYWL.js";
69
+ import "./chunk-4ISLMQ2M.js";
70
70
  import {
71
71
  HIT_AREA_EXPAND_CLASS,
72
72
  HIT_AREA_EXPAND_DENSE_CLASS,
@@ -76,7 +76,7 @@ import {
76
76
  styleDisableScrollbar,
77
77
  useBaseUiId,
78
78
  useCSPContext
79
- } from "./chunk-TXZDDJCT.js";
79
+ } from "./chunk-6OZY4XH7.js";
80
80
  import {
81
81
  addEventListener,
82
82
  clamp,
@@ -85,7 +85,7 @@ import {
85
85
  parts_exports,
86
86
  useDirection,
87
87
  useTimeout
88
- } from "./chunk-APOS34PW.js";
88
+ } from "./chunk-U73UDYRF.js";
89
89
  import "./chunk-OO7NBFQQ.js";
90
90
  import {
91
91
  Button$1,
@@ -93,7 +93,7 @@ import {
93
93
  useIsoLayoutEffect,
94
94
  useRenderElement,
95
95
  useStableCallback
96
- } from "./chunk-FSQWWR2M.js";
96
+ } from "./chunk-4ZKBYAHH.js";
97
97
  import {
98
98
  ArrowLeft,
99
99
  Box,
@@ -125,7 +125,7 @@ import {
125
125
  Trash,
126
126
  Users,
127
127
  cn
128
- } from "./chunk-VDEUVEWL.js";
128
+ } from "./chunk-U26ZMWVI.js";
129
129
  import "./chunk-6JOAWERA.js";
130
130
  import "./chunk-CPB76YQU.js";
131
131
  import "./chunk-NXAVRSI5.js";
@@ -133,7 +133,7 @@ import {
133
133
  __export
134
134
  } from "./chunk-CZ7CSFO4.js";
135
135
 
136
- // web/app/dist/server/assets/settings-dialog-1Zr_EiEd.js
136
+ // web/app/dist/server/assets/settings-dialog-CdRjXyfc.js
137
137
  import { createContext as createContext4, forwardRef as forwardRef7, useCallback, useContext as useContext4, useEffect as useEffect2, useId, useMemo as useMemo3, useRef as useRef4, useState as useState2 } from "react";
138
138
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
139
139
 
@@ -1100,7 +1100,7 @@ var ScrollAreaCorner = /* @__PURE__ */ React9.forwardRef(function ScrollAreaCorn
1100
1100
  });
1101
1101
  if (process.env.NODE_ENV !== "production") ScrollAreaCorner.displayName = "ScrollAreaCorner";
1102
1102
 
1103
- // web/app/dist/server/assets/settings-dialog-1Zr_EiEd.js
1103
+ // web/app/dist/server/assets/settings-dialog-CdRjXyfc.js
1104
1104
  function isFieldInvalid(value, attemptedSave, required = true) {
1105
1105
  return attemptedSave && required && value.trim().length === 0;
1106
1106
  }
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  SubagentTranscriptView
3
- } from "./chunk-MEAWBN4N.js";
4
- import "./chunk-2Y2543CV.js";
5
- import "./chunk-UZ2KHDSW.js";
6
- import "./chunk-R4BS3KYI.js";
7
- import "./chunk-PBNUO4IN.js";
3
+ } from "./chunk-37MAYG3X.js";
4
+ import "./chunk-IJZDCYFG.js";
5
+ import "./chunk-ZRISZYHZ.js";
6
+ import "./chunk-FVTCXLYO.js";
7
+ import "./chunk-BG4DVGLL.js";
8
8
  import {
9
9
  PromptInput
10
- } from "./chunk-UULUKSQD.js";
10
+ } from "./chunk-FSIRN7F7.js";
11
11
  import "./chunk-QOZCYKMA.js";
12
- import "./chunk-5MOXRFX6.js";
12
+ import "./chunk-Y3YE73VQ.js";
13
13
  import "./chunk-4OLRCVML.js";
14
14
  import "./chunk-C5XHGLET.js";
15
- import "./chunk-CE7U5QB2.js";
15
+ import "./chunk-FGOT5FGH.js";
16
16
  import "./chunk-6GYLXDX3.js";
17
17
  import "./chunk-NZCEQWK2.js";
18
18
  import "./chunk-7DQQMT5V.js";
19
- import "./chunk-BD7YKYWL.js";
20
- import "./chunk-TXZDDJCT.js";
21
- import "./chunk-APOS34PW.js";
19
+ import "./chunk-4ISLMQ2M.js";
20
+ import "./chunk-6OZY4XH7.js";
21
+ import "./chunk-U73UDYRF.js";
22
22
  import "./chunk-2UGQEBXG.js";
23
23
  import "./chunk-MPHREEUA.js";
24
- import "./chunk-FNV3WZXL.js";
24
+ import "./chunk-VFW2KPLD.js";
25
25
  import "./chunk-OO7NBFQQ.js";
26
- import "./chunk-FSQWWR2M.js";
27
- import "./chunk-VDEUVEWL.js";
26
+ import "./chunk-4ZKBYAHH.js";
27
+ import "./chunk-U26ZMWVI.js";
28
28
  import "./chunk-6JOAWERA.js";
29
29
  import "./chunk-CPB76YQU.js";
30
30
  import "./chunk-NXAVRSI5.js";
@@ -32,7 +32,7 @@ import "./chunk-DP65WGRD.js";
32
32
  import "./chunk-IGN54DHU.js";
33
33
  import "./chunk-CZ7CSFO4.js";
34
34
 
35
- // web/app/dist/server/assets/subagent-chat-panel-BCm1x_mR.js
35
+ // web/app/dist/server/assets/subagent-chat-panel-DwvOMUnh.js
36
36
  import { jsx, jsxs } from "react/jsx-runtime";
37
37
  function SubagentComposer({ disabled, sending, onSend, onStop, placeholder = "Message this subagent\u2026 (Enter to steer)" }) {
38
38
  return /* @__PURE__ */ jsx("div", {