@qredence/fleet 0.7.4 → 0.8.0

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 (165) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +5 -4
  3. package/bin/fleet-prime.mjs +33 -6
  4. package/bin/prime-runtime.mjs +79 -0
  5. package/dist/runtime-manifest.json +32 -0
  6. package/dist/web/client/assets/DialogTitle-RY2UDuCY.js +1 -0
  7. package/dist/web/client/assets/FloatingPortal-XC0MCNnD.js +1 -0
  8. package/dist/web/client/assets/action-swap-BWRUNKQA.js +1 -0
  9. package/dist/web/client/assets/{alert-dialog-DtXvVhsF.js → alert-dialog-DGNvg0B1.js} +1 -1
  10. package/dist/web/client/assets/arrow-up-right-CG9RNk4p.js +1 -0
  11. package/dist/web/client/assets/{artifacts-panel-Bseg97yQ.js → artifacts-panel-BGXpKRJ7.js} +1 -1
  12. package/dist/web/client/assets/{badge-C--lf3bb.js → badge-DM06QVqB.js} +6 -6
  13. package/dist/web/client/assets/button-CWYjn8Zk.js +1 -0
  14. package/dist/web/client/assets/{card-Hngi3HGC.js → card-Dj1SnGUU.js} +1 -1
  15. package/dist/web/client/assets/{chat-command-palette-D_rm1r9d.js → chat-command-palette-PenyaZBw.js} +1 -1
  16. package/dist/web/client/assets/code-block-pKKmFZ5w.js +3 -0
  17. package/dist/web/client/assets/collapsible-Bk6zCsRX.js +1 -0
  18. package/dist/web/client/assets/{command-CmtCIDdH.js → command-imgUMV3r.js} +1 -1
  19. package/dist/web/client/assets/{create-project-dialog-m-9aoobN.js → create-project-dialog-C00d5yCq.js} +1 -1
  20. package/dist/web/client/assets/createBaseUIEventDetails-DIxvaz-Y.js +1 -0
  21. package/dist/web/client/assets/{dialog-Ddouieuu.js → dialog-zCNOQI63.js} +1 -1
  22. package/dist/web/client/assets/eye-iNSvs0UA.js +1 -0
  23. package/dist/web/client/assets/file-code-corner-BkDULqko.js +1 -0
  24. package/dist/web/client/assets/{fork-picker-dialog-DfGlB17w.js → fork-picker-dialog-Cgi48NnT.js} +1 -1
  25. package/dist/web/client/assets/globals-BuMuB_ea.css +2 -0
  26. package/dist/web/client/assets/{index-Bz5W4EOn.js → index-BqBdQGWs.js} +3 -3
  27. package/dist/web/client/assets/input-7g8_nw-Z.js +1 -0
  28. package/dist/web/client/assets/{input-group-EPMGh55u.js → input-group-Nq03Qums.js} +1 -1
  29. package/dist/web/client/assets/{ipython-tool-CMhnRVrC.js → ipython-tool-bieUhw9K.js} +1 -1
  30. package/dist/web/client/assets/markdown-CvBfbPCn.js +2 -0
  31. package/dist/web/client/assets/markdown-code-rFOkzN5N.js +4 -0
  32. package/dist/web/client/assets/{message-queue-Bg2MiJHM.js → message-queue-sSljtjYz.js} +1 -1
  33. package/dist/web/client/assets/{model-selector-list-BiU_7ivt.js → model-selector-list-Cp687pdm.js} +1 -1
  34. package/dist/web/client/assets/{notify-DhtmUPfE.js → notify-Cqdu6EV8.js} +1 -1
  35. package/dist/web/client/assets/{openui-renderer-MIB3JKYa.js → openui-renderer-BdYTcn-_.js} +50 -50
  36. package/dist/web/client/assets/{prompt-input-Dy-DSPqF.js → prompt-input-CoV1gTUQ.js} +1 -1
  37. package/dist/web/client/assets/{prompt-suggestions-CrpAiKeB.js → prompt-suggestions-CAY5JI-C.js} +1 -1
  38. package/dist/web/client/assets/provider-label-QrVOwKBO.js +1 -0
  39. package/dist/web/client/assets/reasoning-line-DGdPUMwT.js +1 -0
  40. package/dist/web/client/assets/rehype-katex-DITkIpVl.js +259 -0
  41. package/dist/web/client/assets/{repl-panel-DN5kZAcB.js → repl-panel-5xgkDXO5.js} +1 -1
  42. package/dist/web/client/assets/{resources-panel-DD6iWOF3.js → resources-panel-aJCKt9eF.js} +1 -1
  43. package/dist/web/client/assets/right-panel-registry-BaLZiKny.js +2 -0
  44. package/dist/web/client/assets/routes-BkFkhfO3.js +16 -0
  45. package/dist/web/client/assets/select-BhV4ikeN.js +1 -0
  46. package/dist/web/client/assets/session-activity-panel-Bc4-HSfb.js +1 -0
  47. package/dist/web/client/assets/session-reasoning-panel-CjJJK_bq.js +1 -0
  48. package/dist/web/client/assets/session-tool-renderer-C7mYeUOs.js +166 -0
  49. package/dist/web/client/assets/{session-tree-panel-BBwP_EK2.js → session-tree-panel-By9m9tGB.js} +1 -1
  50. package/dist/web/client/assets/settings-dialog-Dpt4Ha_m.js +2 -0
  51. package/dist/web/client/assets/shield-check-7HDd-2Fn.js +1 -0
  52. package/dist/web/client/assets/{skeleton-DNAr5ULI.js → skeleton-B_Lq2XFl.js} +1 -1
  53. package/dist/web/client/assets/{skeleton-loaders-B28mF4tJ.js → skeleton-loaders-DWc1eDL3.js} +1 -1
  54. package/dist/web/client/assets/sparkles-BwVa9zQJ.js +1 -0
  55. package/dist/web/client/assets/{spinner-CSBXk3Lo.js → spinner-B5TaKP7k.js} +1 -1
  56. package/dist/web/client/assets/{subagent-chat-panel-DhvBO4dQ.js → subagent-chat-panel-DsPmLZSf.js} +1 -1
  57. package/dist/web/client/assets/subagent-transcript-CNQ9wGk2.js +1 -0
  58. package/dist/web/client/assets/{subagents-panel-DRo8Xs6j.js → subagents-panel-gQ9BLfV3.js} +1 -1
  59. package/dist/web/client/assets/surfaces-BUjUJTyD.js +1 -0
  60. package/dist/web/client/assets/switch-C7Myu-Dt.js +1 -0
  61. package/dist/web/client/assets/toast-DlbKi6K-.js +1 -0
  62. package/dist/web/client/assets/tool-output-normalizer-CADgEiI4.js +4 -0
  63. package/dist/web/client/assets/tool-part-normalizer-CYK62WZM.js +4 -0
  64. package/dist/web/client/assets/tool-result-bjAGZ2qm.js +5 -0
  65. package/dist/web/client/assets/tool-timeline-eNqH1zj7.js +2 -0
  66. package/dist/web/client/assets/trace-IsV5RRvM.js +1 -0
  67. package/dist/web/client/assets/ui-preferences-B-PNDkyY.js +1 -0
  68. package/dist/web/client/assets/use-hover-capable-CLq8BADD.js +1 -0
  69. package/dist/web/client/assets/useBaseUiId-lKfDDIcw.js +1 -0
  70. package/dist/web/client/assets/useButton-CvcmqA2s.js +1 -0
  71. package/dist/web/client/assets/useRender-Bbk_fl72.js +1 -0
  72. package/dist/web/client/assets/{utils-CFDGLzf6.js → utils-oBThwhjm.js} +1 -1
  73. package/dist/web/client/assets/{workspace-panel-DdZutYnd.js → workspace-panel-Da5I4p_t.js} +1 -1
  74. package/dist/web/client/assets/workspace-path-nav-D-77sJ_A.js +2 -0
  75. package/dist/web/client/assets/wrench-BXX_Ah2s.js +1 -0
  76. package/dist/web/client/bundle-budget.json +6 -6
  77. package/dist/web/server/{_tanstack-start-manifest_v-YlngJGUa-YTWBGR7L.js → _tanstack-start-manifest_v-BiNPG4xt-BZTMSM2I.js} +33 -28
  78. package/dist/web/server/{artifacts-panel-COSC8o7j-GKW2HH2G.js → artifacts-panel-CqGBNU4q-UHNMC7PK.js} +23 -27
  79. package/dist/web/server/{chat-command-palette-CuOWdzkk-PKZQ5EZP.js → chat-command-palette-B94-zIEz-ES2ZB4ZF.js} +8 -10
  80. package/dist/web/server/{chunk-GLSR4ZI2.js → chunk-2FHYWKDN.js} +669 -833
  81. package/dist/web/server/{chunk-EBC7QORX.js → chunk-5GUEYYYO.js} +3680 -2098
  82. package/dist/web/server/{chunk-GLH2GWMG.js → chunk-7L5PCCYR.js} +411 -306
  83. package/dist/web/server/{chunk-KHHXJZK7.js → chunk-ABMGW6QH.js} +2784 -1662
  84. package/dist/web/server/{chunk-36CAMOVG.js → chunk-BAHZXA4D.js} +6 -6
  85. package/dist/web/server/{chunk-IN2ATSEG.js → chunk-CZLGB3NE.js} +2 -2
  86. package/dist/web/server/{chunk-WCKKN5BR.js → chunk-E6T36NM5.js} +347 -583
  87. package/dist/web/server/{chunk-ORCOCCER.js → chunk-EAKPTSWR.js} +4 -4
  88. package/dist/web/server/chunk-EL2JCDAM.js +270 -0
  89. package/dist/web/server/{chunk-6GTTTYSE.js → chunk-FB2QLQTN.js} +67 -73
  90. package/dist/web/server/{chunk-LLO4MNGE.js → chunk-K67IDUAI.js} +24 -26
  91. package/dist/web/server/{chunk-YU6RHHK6.js → chunk-LQM6QR7S.js} +10 -12
  92. package/dist/web/server/chunk-LTTBT3J7.js +129 -0
  93. package/dist/web/server/{chunk-TMQ3MT3D.js → chunk-OAYEN3JV.js} +2 -0
  94. package/dist/web/server/{chunk-ZUZPJNLY.js → chunk-OSPDNT7S.js} +829 -642
  95. package/dist/web/server/{chunk-XA7EOCHM.js → chunk-SGAQVAYL.js} +2 -2
  96. package/dist/web/server/chunk-SI5IQSG4.js +206 -0
  97. package/dist/web/server/{chunk-AKSDWYJY.js → chunk-SYS5FDNA.js} +5 -5
  98. package/dist/web/server/{chunk-QSM3BRMA.js → chunk-WSK55TKE.js} +169 -156
  99. package/dist/web/server/{chunk-BUKOEXE7.js → chunk-YQO36OP6.js} +2 -2
  100. package/dist/web/server/{create-project-dialog-0-arQpsX-ZELQKHS5.js → create-project-dialog-CFPX6Ihl-EO4XTINS.js} +12 -14
  101. package/dist/web/server/{dist-7G2NZPF4.js → dist-GQUZLXN5.js} +2 -2
  102. package/dist/web/server/{dist-E5637ZAY.js → dist-MN5NWCX6.js} +1 -1
  103. package/dist/web/server/{fork-picker-dialog-fj9p33Mq-I5SA3GLJ.js → fork-picker-dialog-B2RBFzoZ-R6GXPSPL.js} +6 -8
  104. package/dist/web/server/{markdown-CShfYRVO-RBTK7TRB.js → markdown-BvCfOB26-VDH4YOQD.js} +9 -6
  105. package/dist/web/server/{markdown-code-BDV_2b2T-6JYA5FWZ.js → markdown-code-SYc-BQvp-MR4FXT5C.js} +48 -9
  106. package/dist/web/server/{message-queue-BBC843IU-GY4ZIMM4.js → message-queue-D32rLiJo-HEBRGH5B.js} +6 -8
  107. package/dist/web/server/{model-selector-list-DE6aLNXt-LJZMCYOI.js → model-selector-list-DKzt_xEN-5ZPU6XDY.js} +8 -10
  108. package/dist/web/server/{openui-renderer-C3aqSKuS-PWLWJFYO.js → openui-renderer-CeVtOdYl-PY37PCJI.js} +12 -14
  109. package/dist/web/server/{prompt-suggestions-CpTK_fHV-UKJDTLVM.js → prompt-suggestions-CpTK_fHV-Q4ILLZKC.js} +1 -1
  110. package/dist/web/server/{rehype-katex-IDPYWU6M.js → rehype-katex-CYHGKI6Q.js} +490 -843
  111. package/dist/web/server/{repl-panel-1kSS1UGd-U64BPA7X.js → repl-panel-1kSS1UGd-DDM5ADGZ.js} +3 -3
  112. package/dist/web/server/{resources-panel-DWb0eGKa-K4EM3H7Y.js → resources-panel-S4NHlpz7-NF7WYYSR.js} +7 -9
  113. package/dist/web/server/{router-DZYr-9uT-AEXHEFXF.js → router-DVKxZik_-254GZAJW.js} +5 -6
  114. package/dist/web/server/{routes-vYxWRhis-AAZ73SNP.js → routes-BTxAklRp-UM7ZTLLP.js} +50 -30
  115. package/dist/web/server/server.js +2 -2
  116. package/dist/web/server/session-activity-panel-Bz2GrdMk-PCOXG46X.js +173 -0
  117. package/dist/web/server/session-reasoning-panel-CpiTdyQz-O3B5CDKS.js +62 -0
  118. package/dist/web/server/{session-tool-renderer-Dtt74Mts-7YYNSWRV.js → session-tool-renderer-BZiOxtt1-T3ZGAQKX.js} +10 -13
  119. package/dist/web/server/{session-tree-panel-HNl6R9VZ-4JUF34M7.js → session-tree-panel-CzkE0RFB-P4KWA7S2.js} +7 -9
  120. package/dist/web/server/{settings-dialog-DGZBA5Z_-6HYFMPNZ.js → settings-dialog-BUgVNpr1-THSYIOZL.js} +18 -21
  121. package/dist/web/server/{subagent-chat-panel-DuB4hqUk-LDCAJOCL.js → subagent-chat-panel-mw3kEFfK-CDYX7LST.js} +13 -16
  122. package/dist/web/server/{subagents-panel-wAvx3-Rs-L6UTDFUX.js → subagents-panel-2ZJfYrXG-NDJKHJHD.js} +15 -18
  123. package/dist/web/server/{workspace-panel-CPzJZwgv-YS7PTI5C.js → workspace-panel-xznrPDLt-QCJRZOF3.js} +7 -9
  124. package/package.json +2 -2
  125. package/dist/web/client/assets/DialogTitle-D-zqaHvF.js +0 -1
  126. package/dist/web/client/assets/FloatingPortal-73ZRZeD9.js +0 -1
  127. package/dist/web/client/assets/action-swap-BcFwS6is.js +0 -1
  128. package/dist/web/client/assets/button-BJZe4vNJ.js +0 -1
  129. package/dist/web/client/assets/chevron-up-CqeJYyZO.js +0 -1
  130. package/dist/web/client/assets/collapsible-DauSnbYp.js +0 -1
  131. package/dist/web/client/assets/createBaseUIEventDetails-DklXWq23.js +0 -1
  132. package/dist/web/client/assets/eye-Cs0lNChA.js +0 -1
  133. package/dist/web/client/assets/globals-C961mr-b.css +0 -2
  134. package/dist/web/client/assets/input-Def1xOZz.js +0 -1
  135. package/dist/web/client/assets/markdown-Big27m-v.js +0 -2
  136. package/dist/web/client/assets/markdown-code-7L4RiS50.js +0 -3
  137. package/dist/web/client/assets/provider-label-B_vy60P0.js +0 -1
  138. package/dist/web/client/assets/rehype-katex-A4PtQgTX.js +0 -259
  139. package/dist/web/client/assets/right-panel-registry-hKJN__3l.js +0 -2
  140. package/dist/web/client/assets/routes-C3h32Lj_.js +0 -16
  141. package/dist/web/client/assets/select-Buvv1tIo.js +0 -1
  142. package/dist/web/client/assets/session-reasoning-panel-DmEbXOrR.js +0 -1
  143. package/dist/web/client/assets/session-tool-renderer-Daol5fJw.js +0 -169
  144. package/dist/web/client/assets/settings-dialog-DYbx3xuq.js +0 -2
  145. package/dist/web/client/assets/sparkles-D_ANe-HY.js +0 -1
  146. package/dist/web/client/assets/subagent-transcript-Bx-rHni-.js +0 -1
  147. package/dist/web/client/assets/surfaces-B8xTOFeK.js +0 -1
  148. package/dist/web/client/assets/switch-CDfAwEvs.js +0 -1
  149. package/dist/web/client/assets/terminal-Ceucj7us.js +0 -1
  150. package/dist/web/client/assets/toast-9zXN-yVk.js +0 -1
  151. package/dist/web/client/assets/tool-part-normalizer-NbPs9kd1.js +0 -4
  152. package/dist/web/client/assets/tool-result-BccnO34D.js +0 -4
  153. package/dist/web/client/assets/tool-timeline-DlBZyd4j.js +0 -1
  154. package/dist/web/client/assets/ui-preferences-1YaENqef.js +0 -1
  155. package/dist/web/client/assets/use-hover-capable-MwFjBLZQ.js +0 -1
  156. package/dist/web/client/assets/workspace-path-nav-BRwuLsFl.js +0 -2
  157. package/dist/web/client/assets/wrench-BYnD147U.js +0 -1
  158. package/dist/web/server/chunk-CHSKEU3V.js +0 -166
  159. package/dist/web/server/chunk-OO7NBFQQ.js +0 -15
  160. package/dist/web/server/chunk-OXEAXEWD.js +0 -13
  161. package/dist/web/server/chunk-SIJVVYQT.js +0 -234
  162. package/dist/web/server/chunk-UQV2NU63.js +0 -163
  163. package/dist/web/server/chunk-VUBITQ5X.js +0 -653
  164. package/dist/web/server/session-reasoning-panel-XXU2yIOW-XXCKHISS.js +0 -192
  165. package/dist/web/server/tool-timeline-BKWsrZHK-3LGCOTPH.js +0 -12
@@ -1,192 +0,0 @@
1
- import {
2
- Collapsible$1,
3
- CollapsibleContent,
4
- CollapsibleTrigger
5
- } from "./chunk-VUBITQ5X.js";
6
- import {
7
- ShimmerLabel,
8
- SwapLabel,
9
- collapsePanel
10
- } from "./chunk-SIJVVYQT.js";
11
- import "./chunk-GLSR4ZI2.js";
12
- import {
13
- ChevronDown
14
- } from "./chunk-GLH2GWMG.js";
15
- import {
16
- cn
17
- } from "./chunk-TMQ3MT3D.js";
18
- import "./chunk-CZ7CSFO4.js";
19
-
20
- // web/app/dist/server/assets/session-reasoning-panel-XXU2yIOW.js
21
- import { useMemo, useState } from "react";
22
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
23
- var CELL_SHAPES = {
24
- dots: "rounded-full",
25
- squares: "rounded-[1px]",
26
- rounded: "rounded-[3px]"
27
- };
28
- function GenerationLoader({ label, tick, variant = "dots", className, ...props }) {
29
- const pixelOffset = Math.floor(tick / 3);
30
- return /* @__PURE__ */ jsxs("div", {
31
- "data-slot": "generation-loader",
32
- className: cn("flex flex-col items-center gap-4", className),
33
- ...props,
34
- children: [/* @__PURE__ */ jsx("div", {
35
- "aria-hidden": true,
36
- className: "grid grid-cols-3 gap-1",
37
- children: Array.from({ length: 9 }, (_, index) => {
38
- const active = (index * 2 + pixelOffset) % 9 < 3;
39
- return /* @__PURE__ */ jsx("span", { className: cn("bg-foreground size-2 transition-opacity duration-300 motion-reduce:transition-none", CELL_SHAPES[variant], active ? "opacity-90" : "opacity-15") }, index);
40
- })
41
- }), /* @__PURE__ */ jsx(ShimmerLabel, {
42
- className: "relative inline-block text-sm text-muted-foreground",
43
- children: label
44
- })]
45
- });
46
- }
47
- function ThinkingIndicator({ label, elapsed, className, ...props }) {
48
- return /* @__PURE__ */ jsxs("div", {
49
- "data-slot": "thinking-indicator",
50
- className: cn("flex items-center gap-2.5 text-sm text-muted-foreground", className),
51
- ...props,
52
- children: [
53
- /* @__PURE__ */ jsx("span", {
54
- "aria-hidden": true,
55
- className: "size-1.5 shrink-0 animate-pulse rounded-full bg-primary motion-reduce:animate-none"
56
- }),
57
- /* @__PURE__ */ jsx(ShimmerLabel, {
58
- className: "fade-in slide-in-from-bottom-1 animate-in relative inline-block leading-none duration-300",
59
- children: label
60
- }, label),
61
- elapsed !== void 0 && /* @__PURE__ */ jsx("span", {
62
- className: cn("font-mono text-caption tracking-tight", "tabular-nums text-muted-foreground/70"),
63
- children: elapsed
64
- })
65
- ]
66
- });
67
- }
68
- function ReasoningPanel({ steps, visibleSteps, streaming, streamingLabel = "Thinking", open, onOpenChange, restingLabel, elapsed, className }) {
69
- const count = Number.isNaN(visibleSteps) ? 0 : Math.floor(Math.min(steps.length, Math.max(0, visibleSteps)));
70
- const shown = steps.slice(0, count);
71
- return /* @__PURE__ */ jsxs(Collapsible$1, {
72
- "data-slot": "reasoning-panel",
73
- open,
74
- onOpenChange,
75
- className: cn("w-full max-w-sm", className),
76
- children: [/* @__PURE__ */ jsxs(CollapsibleTrigger, {
77
- className: "group/trigger flex items-center gap-1.5 py-1 text-sm text-muted-foreground outline-none transition-[color,scale] hover:text-foreground/90 focus-visible:ring-2 focus-visible:ring-ring enabled:active:scale-[0.96]",
78
- children: [/* @__PURE__ */ jsxs(SwapLabel, {
79
- active: streaming ? 0 : 1,
80
- className: "text-start",
81
- children: [/* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(ShimmerLabel, {
82
- active: streaming,
83
- className: "relative inline-block leading-none",
84
- children: streamingLabel
85
- }), elapsed !== void 0 && /* @__PURE__ */ jsx("span", {
86
- className: cn("font-mono text-caption tracking-tight", "tabular-nums text-muted-foreground/70"),
87
- children: elapsed
88
- })] }), /* @__PURE__ */ jsx(Fragment$1, { children: restingLabel })]
89
- }), /* @__PURE__ */ jsx(ChevronDown, { className: "size-3.5 shrink-0 opacity-60 transition-transform duration-200 ease-[cubic-bezier(0.32,0.72,0,1)] group-data-open/trigger:rotate-180 group-data-panel-open/trigger:rotate-180 motion-reduce:transition-none" })]
90
- }), /* @__PURE__ */ jsx(CollapsibleContent, {
91
- className: cn(collapsePanel, "outline-none"),
92
- children: /* @__PURE__ */ jsx("ol", {
93
- className: "flex flex-col gap-4 pt-3 pb-1",
94
- children: shown.map((step, i) => {
95
- const active = streaming && i === shown.length - 1;
96
- return /* @__PURE__ */ jsxs("li", {
97
- className: "fade-in slide-in-from-bottom-1 animate-in fill-mode-both flex gap-3 duration-300",
98
- children: [/* @__PURE__ */ jsx("span", {
99
- "aria-hidden": true,
100
- className: cn("mt-[7px] size-[5px] shrink-0 rounded-full transition-colors duration-300", active ? "animate-pulse bg-primary" : "bg-foreground/20")
101
- }), /* @__PURE__ */ jsxs("span", {
102
- className: "flex min-w-0 flex-1 flex-col",
103
- children: [/* @__PURE__ */ jsx("p", {
104
- className: "text-foreground/90 text-body font-medium",
105
- children: step.title
106
- }), /* @__PURE__ */ jsx("p", {
107
- className: "text-foreground/50 mt-0.5 text-body leading-relaxed break-words",
108
- children: step.body
109
- })]
110
- })]
111
- }, step.id ?? `${step.title}-${i}`);
112
- })
113
- })
114
- })]
115
- });
116
- }
117
- function SessionReasoningPanel({ presentation, className, streamingOverride }) {
118
- const [userOpen, setUserOpen] = useState(void 0);
119
- const streaming = streamingOverride ?? presentation.streaming;
120
- const open = userOpen ?? streaming;
121
- const steps = useMemo(() => presentation.steps.map((step) => ({
122
- id: step.id,
123
- title: step.title,
124
- body: step.body
125
- })), [presentation.steps]);
126
- if (!streaming && steps.length === 0) return null;
127
- const visibleSteps = Math.min(Math.max(0, presentation.visibleSteps), steps.length);
128
- const activeStep = steps.at(visibleSteps - 1);
129
- const activeLabel = activeStep?.title ?? phaseLabel(presentation.phase);
130
- const elapsed = formatElapsed(presentation.elapsedMs);
131
- return /* @__PURE__ */ jsxs("section", {
132
- "data-slot": "reasoning-presentation",
133
- "aria-label": "Safe reasoning progress",
134
- className: cn("w-full max-w-xl rounded-xl border border-border/60 bg-muted/30 px-3 py-2.5 shadow-sm shadow-black/[0.02] dark:shadow-black/15", className),
135
- children: [streaming ? /* @__PURE__ */ jsx("div", {
136
- className: "mb-1.5 flex flex-col gap-1.5 border-b border-border/45 pb-2.5",
137
- children: activeStep?.body ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(ThinkingIndicator, {
138
- label: activeLabel,
139
- elapsed
140
- }), /* @__PURE__ */ jsx("p", {
141
- className: "pl-4 text-pretty text-caption font-normal text-muted-foreground",
142
- children: activeStep.body
143
- })] }) : /* @__PURE__ */ jsx(GenerationLoader, {
144
- label: activeLabel,
145
- tick: Math.floor((presentation.elapsedMs ?? 0) / 250),
146
- variant: "dots",
147
- className: "items-start gap-2 p-1 text-left"
148
- })
149
- }) : null, /* @__PURE__ */ jsx(ReasoningPanel, {
150
- steps,
151
- visibleSteps,
152
- streaming,
153
- streamingLabel: "Preparing response",
154
- open,
155
- onOpenChange: setUserOpen,
156
- restingLabel: presentation.restingLabel,
157
- elapsed,
158
- className: "max-w-none"
159
- })]
160
- });
161
- }
162
- function phaseLabel(phase) {
163
- switch (phase) {
164
- case "waiting":
165
- return "Preparing run";
166
- case "context":
167
- return "Reviewing workspace context";
168
- case "planning":
169
- return "Organising the response";
170
- case "executing":
171
- return "Completing requested work";
172
- case "responding":
173
- return "Writing the response";
174
- case "recovering":
175
- return "Recovering the run";
176
- case "error":
177
- return "Run needs attention";
178
- case "complete":
179
- return "Completed";
180
- default:
181
- return "Working";
182
- }
183
- }
184
- function formatElapsed(elapsedMs) {
185
- if (elapsedMs === void 0) return void 0;
186
- const seconds = Math.max(0, Math.round(elapsedMs / 1e3));
187
- if (seconds < 60) return `${String(seconds)}s`;
188
- return `${String(Math.floor(seconds / 60))}m ${String(seconds % 60)}s`;
189
- }
190
- export {
191
- SessionReasoningPanel
192
- };
@@ -1,12 +0,0 @@
1
- import {
2
- ToolTimeline,
3
- tool_timeline_exports
4
- } from "./chunk-UQV2NU63.js";
5
- import "./chunk-GLH2GWMG.js";
6
- import "./chunk-OO7NBFQQ.js";
7
- import "./chunk-TMQ3MT3D.js";
8
- import "./chunk-CZ7CSFO4.js";
9
- export {
10
- tool_timeline_exports as n,
11
- ToolTimeline as t
12
- };