@qredence/fleet 0.6.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/web/client/assets/DialogTitle-DiAm7YNe.js +1 -0
  3. package/dist/web/client/assets/agent-disclosure-CMrxF7L-.js +1 -0
  4. package/dist/web/client/assets/alert-dialog-CYE37KMM.js +1 -0
  5. package/dist/web/client/assets/analytics-stub-C2vgmGm_.js +1 -0
  6. package/dist/web/client/assets/artifacts-panel-ClDpGWOU.js +1 -0
  7. package/dist/web/client/assets/{bot-Bs7QWJ2q.js → bot-DbB9BKL0.js} +1 -1
  8. package/dist/web/client/assets/bundle-mjs-cJTHqqzI.js +1 -0
  9. package/dist/web/client/assets/button-Dl0ce3Y5.js +1 -0
  10. package/dist/web/client/assets/{card-DA3Vnqay.js → card-DCEnYd2G.js} +1 -1
  11. package/dist/web/client/assets/chat-BVMnC5Qh.js +52 -0
  12. package/dist/web/client/assets/chat-command-palette-YuyaJNbi.js +1 -0
  13. package/dist/web/client/assets/check-B3LlvM65.js +1 -0
  14. package/dist/web/client/assets/{chevron-down-BEVGmnSb.js → chevron-down-DUUprRP5.js} +1 -1
  15. package/dist/web/client/assets/chevron-right-NVqQIoiO.js +1 -0
  16. package/dist/web/client/assets/{chunk-YOKDWASO-BAf618wr.js → chunk-YOKDWASO-Bte3iwlH.js} +6 -6
  17. package/dist/web/client/assets/citations-DXqV2NLy.js +1 -0
  18. package/dist/web/client/assets/collapsible-CUxOjhDJ.js +1 -0
  19. package/dist/web/client/assets/command-Cw4X8Bpk.js +1 -0
  20. package/dist/web/client/assets/createBaseUIEventDetails-B58Jldei.js +1 -0
  21. package/dist/web/client/assets/createLucideIcon-_dfI7Arx.js +1 -0
  22. package/dist/web/client/assets/dialog-BzcIOvFC.js +1 -0
  23. package/dist/web/client/assets/dist-52wg4XPY.js +1 -0
  24. package/dist/web/client/assets/dist-DbHxXSgQ.js +41 -0
  25. package/dist/web/client/assets/ease-CMumuPlX.js +1 -0
  26. package/dist/web/client/assets/{eye-B0DFz5hL.js → eye-CDHqtVoE.js} +1 -1
  27. package/dist/web/client/assets/file-text-TmalmYrb.js +1 -0
  28. package/dist/web/client/assets/{folder-BC5p7qK7.js → folder-vuNT4shY.js} +1 -1
  29. package/dist/web/client/assets/{fork-picker-dialog-B7NNpVmW.js → fork-picker-dialog-BYRr-xTy.js} +1 -1
  30. package/dist/web/client/assets/gauge-BsDqNM1A.js +1 -0
  31. package/dist/web/client/assets/git-branch-CTq9aACS.js +1 -0
  32. package/dist/web/client/assets/globals-BtCXZXL_.css +2 -0
  33. package/dist/web/client/assets/{hard-drive-CHqgr7VQ.js → hard-drive-BT7UxHQu.js} +1 -1
  34. package/dist/web/client/assets/highlighted-body-KPVGNVTW-CgT7gqvs.js +1 -0
  35. package/dist/web/client/assets/horizontal-resize-VLjLByUV.js +1 -0
  36. package/dist/web/client/assets/index-B9aXxpOv.js +12 -0
  37. package/dist/web/client/assets/input-CxZp56Im.js +1 -0
  38. package/dist/web/client/assets/input-group-D7lAfKHR.js +1 -0
  39. package/dist/web/client/assets/ipython-tool-CkHaO3PW.js +3 -0
  40. package/dist/web/client/assets/is-ref-object-BcRWZ4l7.js +1 -0
  41. package/dist/web/client/assets/{loader-circle-DjfHXUPB.js → loader-circle-B5GIZGxd.js} +1 -1
  42. package/dist/web/client/assets/markdown-BHkByC9K.js +2 -0
  43. package/dist/web/client/assets/{markdown-code-xNyjdZ4g.js → markdown-code-CDTRq-HZ.js} +1 -1
  44. package/dist/web/client/assets/mermaid-HWGCJPDP-CY3N5ECk.js +1 -0
  45. package/dist/web/client/assets/message-queue-Dl8wbCOu.js +1 -0
  46. package/dist/web/client/assets/model-selector-list-CHD8lMAl.js +1 -0
  47. package/dist/web/client/assets/{notify-DxL0VD7Z.js → notify-DjVixft7.js} +1 -1
  48. package/dist/web/client/assets/{openui-renderer-TLNe5e_Q.js → openui-renderer-C4e9FOVR.js} +38 -38
  49. package/dist/web/client/assets/{package-CdcJFPf2.js → package-BKBPgwMP.js} +1 -1
  50. package/dist/web/client/assets/{pencil-DcUwsKLn.js → pencil-CdO6qfv3.js} +1 -1
  51. package/dist/web/client/assets/{plug-Dt6VN0zF.js → plug-BRROUIw-.js} +1 -1
  52. package/dist/web/client/assets/prompt-input-WaGSKZCU.js +1 -0
  53. package/dist/web/client/assets/prompt-suggestions-BNyTcyWg.js +1 -0
  54. package/dist/web/client/assets/provider-catalog-ClVvphe0.js +1 -0
  55. package/dist/web/client/assets/provider-label-CwZ-KDxk.js +1 -0
  56. package/dist/web/client/assets/react-CwJFpaho.js +1 -0
  57. package/dist/web/client/assets/react-dom-DX3XddaT.js +1 -0
  58. package/dist/web/client/assets/{refresh-cw-IThTJ3j-.js → refresh-cw-l9WPHRkq.js} +1 -1
  59. package/dist/web/client/assets/repl-panel-L9dmPqio.js +1 -0
  60. package/dist/web/client/assets/{resource-helpers-Q2T0YCMO.js → resource-helpers-BuWybA8l.js} +1 -1
  61. package/dist/web/client/assets/resources-panel-mT-aMCvV.js +1 -0
  62. package/dist/web/client/assets/right-panel-context-CS8tJMzE.js +1 -0
  63. package/dist/web/client/assets/right-panel-registry-BnYCffmM.js +2 -0
  64. package/dist/web/client/assets/{rotate-ccw-WNFNkKQD.js → rotate-ccw-CfGhzOv7.js} +1 -1
  65. package/dist/web/client/assets/routes-DUontXSG.js +16 -0
  66. package/dist/web/client/assets/safe-external-url-BbAom7Bm.js +1 -0
  67. package/dist/web/client/assets/search-BjcXAUrI.js +1 -0
  68. package/dist/web/client/assets/session-insights-panel-B0rl37lo.js +1 -0
  69. package/dist/web/client/assets/session-reasoning-panel-8D2P7iaJ.js +1 -0
  70. package/dist/web/client/assets/session-tool-renderer-Bd3dsE2D.js +1395 -0
  71. package/dist/web/client/assets/session-tree-panel-CM4_wwrM.js +1 -0
  72. package/dist/web/client/assets/settings-dialog-DMTD9m6z.js +2 -0
  73. package/dist/web/client/assets/{skeleton-CkR2VmWc.js → skeleton-C3mo31Qu.js} +1 -1
  74. package/dist/web/client/assets/skeleton-loaders-BMa_G4yX.js +1 -0
  75. package/dist/web/client/assets/sparkles-BY5MFyk6.js +1 -0
  76. package/dist/web/client/assets/square-DQaQu9bp.js +1 -0
  77. package/dist/web/client/assets/{square-terminal-BYTN_I86.js → square-terminal-BsopiuN7.js} +1 -1
  78. package/dist/web/client/assets/{subagent-chat-panel-oeLDPDAK.js → subagent-chat-panel-BESrXxAR.js} +1 -1
  79. package/dist/web/client/assets/subagent-transcript-CAqFJfMj.js +1 -0
  80. package/dist/web/client/assets/subagents-panel-8aKOwWLs.js +1 -0
  81. package/dist/web/client/assets/{sun-BWiZFty0.js → sun-D0llhiMU.js} +1 -1
  82. package/dist/web/client/assets/surfaces-CpfsGAIA.js +1 -0
  83. package/dist/web/client/assets/switch-D3FhZU-S.js +1 -0
  84. package/dist/web/client/assets/terminal-BQAKkBY6.js +1 -0
  85. package/dist/web/client/assets/toast-lnCWGgSE.js +1 -0
  86. package/dist/web/client/assets/tokens-Ch5WqXC_.js +1 -0
  87. package/dist/web/client/assets/tool-result-B_yb2JoE.js +4 -0
  88. package/dist/web/client/assets/tool-timeline-VnMRQoLS.js +1 -0
  89. package/dist/web/client/assets/{triangle-alert-CU-gd7ui.js → triangle-alert-GAYh_5d3.js} +1 -1
  90. package/dist/web/client/assets/ui-preferences-aG2U2jjW.js +1 -0
  91. package/dist/web/client/assets/use-presence-7I2qv4qI.js +1 -0
  92. package/dist/web/client/assets/use-reduced-motion-BOcG709U.js +9 -0
  93. package/dist/web/client/assets/useBaseUiId-D9ZGPZ6f.js +1 -0
  94. package/dist/web/client/assets/useControlled-CgAAWIy9.js +1 -0
  95. package/dist/web/client/assets/utils-Brtgag-m.js +1 -0
  96. package/dist/web/client/assets/virtualized-turn-list-mL3ONUUA.js +6 -0
  97. package/dist/web/client/assets/workspace-panel-CKF5JQl2.js +1 -0
  98. package/dist/web/client/assets/workspace-path-nav-DqPbETfJ.js +2 -0
  99. package/dist/web/client/assets/{wrench-BJNNe07k.js → wrench-Myc12BTA.js} +1 -1
  100. package/dist/web/client/assets/x-BGsDD848.js +1 -0
  101. package/dist/web/client/bundle-budget.json +6 -6
  102. package/dist/web/server/_tanstack-start-manifest_v-Cm8xE-Rb-TMLYN3GY.js +93 -0
  103. package/dist/web/server/{artifacts-panel-D3ySO--V-XSL53CXL.js → artifacts-panel-CwLVBqyi-CDORJY75.js} +37 -41
  104. package/dist/web/server/{chat-command-palette-kAbXhWVg-TJWXH2WW.js → chat-command-palette-DUha04ia-5OV7WVJZ.js} +20 -18
  105. package/dist/web/server/{chunk-SALXCFVO.js → chunk-33QA7BQJ.js} +19 -1
  106. package/dist/web/server/chunk-3Q3QKLHC.js +386 -0
  107. package/dist/web/server/chunk-4EBSM4JR.js +74 -0
  108. package/dist/web/server/{chunk-5UCAJBAH.js → chunk-5RTGRTPD.js} +82 -49
  109. package/dist/web/server/chunk-7E76R7MB.js +2138 -0
  110. package/dist/web/server/{chunk-EBG3XFGQ.js → chunk-7FK6YEMA.js} +49 -44
  111. package/dist/web/server/chunk-7HXCGBUP.js +56 -0
  112. package/dist/web/server/{chunk-P66QQWUM.js → chunk-7NZ3FJDA.js} +14 -1
  113. package/dist/web/server/{chunk-HF7DG7PC.js → chunk-7UTDOTOU.js} +80 -78
  114. package/dist/web/server/{chunk-NNKJTKOQ.js → chunk-ADYZWC5L.js} +311 -281
  115. package/dist/web/server/{chunk-NJ4QEZHK.js → chunk-B2LF64HM.js} +7 -5
  116. package/dist/web/server/{chunk-OZO5ARFA.js → chunk-BQROC4PL.js} +11 -2
  117. package/dist/web/server/{chunk-NIZBFVJF.js → chunk-CAPTFJOC.js} +9 -7
  118. package/dist/web/server/{chunk-DJMHPJBP.js → chunk-CHEC7TWB.js} +3 -1
  119. package/dist/web/server/chunk-DLA5TLKX.js +164 -0
  120. package/dist/web/server/{chunk-PLYZ7P2Y.js → chunk-DP26GVWH.js} +43 -5
  121. package/dist/web/server/{chunk-MNBGB2SP.js → chunk-E5HALE4M.js} +4 -4
  122. package/dist/web/server/chunk-ETCO5KZK.js +113 -0
  123. package/dist/web/server/{chunk-NGCQJ33Y.js → chunk-FMAYMBRS.js} +1492 -1640
  124. package/dist/web/server/{chunk-KP2PNDGL.js → chunk-FTLJ66KU.js} +30 -33
  125. package/dist/web/server/{chunk-BLSX7WHW.js → chunk-H5D5DX3K.js} +23 -21
  126. package/dist/web/server/chunk-HGVJEUV4.js +102 -0
  127. package/dist/web/server/{chunk-WNCAL4HN.js → chunk-HQ5TEXHT.js} +132 -152
  128. package/dist/web/server/{chunk-YOM42BKD.js → chunk-IPV4GLJL.js} +16 -16
  129. package/dist/web/server/chunk-K6PTNSCW.js +31 -0
  130. package/dist/web/server/{chunk-AR7O7JXD.js → chunk-KBWUBWVJ.js} +24 -1
  131. package/dist/web/server/{chunk-O3HDELZ2.js → chunk-KZ35W5M7.js} +667 -661
  132. package/dist/web/server/{chunk-QIULBRTU.js → chunk-MJXXVQNA.js} +79 -84
  133. package/dist/web/server/{chunk-EAJTWMK5.js → chunk-NZ6KQT2X.js} +2 -2
  134. package/dist/web/server/{chunk-YGYOBX7G.js → chunk-O2IC376F.js} +1811 -53
  135. package/dist/web/server/chunk-OMPXUTMX.js +33 -0
  136. package/dist/web/server/{chunk-S3PQ6HKH.js → chunk-OVJYUWSQ.js} +2 -2
  137. package/dist/web/server/{chunk-JTCCQZLN.js → chunk-RJNGEU6C.js} +2 -2
  138. package/dist/web/server/{chunk-UCUFC553.js → chunk-RXUMFFUV.js} +3 -3
  139. package/dist/web/server/{chunk-DLUZFOG3.js → chunk-S2IBIJIG.js} +18 -22
  140. package/dist/web/server/{chunk-DO2O27B2.js → chunk-SDV3P3IW.js} +2 -2
  141. package/dist/web/server/{chunk-2DDWXTVG.js → chunk-T2UTBHJ4.js} +55 -11
  142. package/dist/web/server/chunk-TLNZNR7C.js +46 -0
  143. package/dist/web/server/{chunk-UL2725KQ.js → chunk-TR2GA5OF.js} +57 -49
  144. package/dist/web/server/{chunk-QFRCJWQQ.js → chunk-TU2WNRAL.js} +93 -32
  145. package/dist/web/server/{chunk-FYDQK6UX.js → chunk-UDD5W4CR.js} +32 -10
  146. package/dist/web/server/{chunk-MNPHMZU7.js → chunk-UE32PAV2.js} +47 -57
  147. package/dist/web/server/{chunk-3TIMGWWI.js → chunk-UM3RHJNZ.js} +2 -2
  148. package/dist/web/server/{chunk-ZIFSJ3HQ.js → chunk-V5IFFLZQ.js} +185 -109
  149. package/dist/web/server/{chunk-ETTDO4UO.js → chunk-WTYNN6EV.js} +1 -26
  150. package/dist/web/server/{chunk-EJEPDVK6.js → chunk-WU6X3GPJ.js} +48 -5
  151. package/dist/web/server/{chunk-D27LRYVT.js → chunk-XEG4JTND.js} +10 -9
  152. package/dist/web/server/{chunk-XIB6XNUX.js → chunk-XJ6TGSUB.js} +425 -404
  153. package/dist/web/server/{chunk-NWDI3OWB.js → chunk-XSOUURPF.js} +30 -26
  154. package/dist/web/server/{chunk-RIP3PBWT.js → chunk-YCCF676T.js} +4 -4
  155. package/dist/web/server/{chunk-4WBFCB4O.js → chunk-YDDDSVNB.js} +178 -269
  156. package/dist/web/server/{chunk-GETSIVNU.js → chunk-YVGCPUAW.js} +7 -7
  157. package/dist/web/server/{chunk-4UBOIY2S.js → chunk-ZNFXBGLK.js} +1 -1
  158. package/dist/web/server/{fork-picker-dialog-Ds6Tgtu3-DIBWN7MV.js → fork-picker-dialog-DeMiLZtS-WTRTTP64.js} +10 -8
  159. package/dist/web/server/{markdown-DTnMbD87-FXGGAPJD.js → markdown-BzNejPoZ-6ITTDAV6.js} +2 -3
  160. package/dist/web/server/{markdown-code-BStjFfsy-SSLWUT4S.js → markdown-code-DAwXuW6m-HHVELO6I.js} +3 -4
  161. package/dist/web/server/{fleet-message-queue-D_w8lSeY-T3HB7HVQ.js → message-queue-Demph1x4-GGXJUUKO.js} +14 -10
  162. package/dist/web/server/{model-selector-list-DxeGZoD2-P6S6FSJH.js → model-selector-list-BeGQHwKV-UJYFO4KX.js} +21 -19
  163. package/dist/web/server/{openui-renderer-MKFv6LlH-MDRSVFEY.js → openui-renderer-B4z18Brm-HSMKJ47D.js} +17 -17
  164. package/dist/web/server/{prompt-suggestions-BOItmGnD-YQA7RHLG.js → prompt-suggestions-yPZqX__K-3VGJC4IF.js} +7 -6
  165. package/dist/web/server/{repl-panel-CuyF8wt5-CHDT2Q3N.js → repl-panel-CgUF1qUw-3DFD2V53.js} +10 -11
  166. package/dist/web/server/{resources-panel-CE5pD4vy-V5FXBTYC.js → resources-panel-ChUliWV--JITAGS6Q.js} +6 -7
  167. package/dist/web/server/{router-Dg72SESP-PCWKLFRG.js → router-DfG45nTQ-3VXEUYG5.js} +3336 -238
  168. package/dist/web/server/{routes-BGrVtPYF-SURPAJN6.js → routes-B9F9UfF1-UN2IVBMJ.js} +5156 -4242
  169. package/dist/web/server/server.js +2 -2
  170. package/dist/web/server/{session-insights-panel-CUhdgvRt-VB2HUCQP.js → session-insights-panel-xgrkX1Rp-FDNURBXZ.js} +9 -9
  171. package/dist/web/server/{fleet-reasoning-panel-DG_vuvv0-NCZWEEIT.js → session-reasoning-panel-m1RgcIph-NUXGXVKE.js} +21 -22
  172. package/dist/web/server/session-tool-renderer-CT65wuet-RQBMXHEZ.js +46 -0
  173. package/dist/web/server/session-tree-panel-rS0t1wbf-HNA6AJBY.js +229 -0
  174. package/dist/web/server/{settings-dialog-CK0FJlTg-HZRBAXDZ.js → settings-dialog-CqkrDSnm-LFEKSS7Y.js} +186 -1380
  175. package/dist/web/server/{subagent-chat-panel-gzamnTgK-PQ2TLLJF.js → subagent-chat-panel-Cf7QdDqH-DPPSVLSY.js} +31 -39
  176. package/dist/web/server/{subagents-panel-Berjd7HJ-EI5ZKC6V.js → subagents-panel-_JsUw-6t-MZWM5P45.js} +38 -45
  177. package/dist/web/server/{fleet-tool-timeline-D6yM4ZMz-ZSFVRRRI.js → tool-timeline-QL9k5dzA-RLU26HXT.js} +6 -6
  178. package/dist/web/server/{workspace-panel-CBBa_3UO-B4PPFPMA.js → workspace-panel-BHEB9nRM-Y6KGIVGP.js} +23 -30
  179. package/package.json +1 -1
  180. package/dist/web/client/assets/action-swap-roll-COzQ86wm.js +0 -1
  181. package/dist/web/client/assets/agent-activity-svETLf_5.js +0 -1
  182. package/dist/web/client/assets/agent-disclosure-DAMuuGcM.js +0 -1
  183. package/dist/web/client/assets/analytics-stub-B6zGMuSV.js +0 -1
  184. package/dist/web/client/assets/artifacts-panel-HVjqBMyx.js +0 -1
  185. package/dist/web/client/assets/artifacts-utils-N_kUFbz2.js +0 -1
  186. package/dist/web/client/assets/bundle-mjs-DKHVkVWu.js +0 -1
  187. package/dist/web/client/assets/button-C5wFDY5_.js +0 -1
  188. package/dist/web/client/assets/chat-BhYseKd6.js +0 -52
  189. package/dist/web/client/assets/chat-command-palette-LILDO_vG.js +0 -1
  190. package/dist/web/client/assets/check-JjHKAZas.js +0 -1
  191. package/dist/web/client/assets/chevron-right-DrJxToLs.js +0 -1
  192. package/dist/web/client/assets/chevron-up-CnSvySGH.js +0 -1
  193. package/dist/web/client/assets/circle-alert-CONlFReH.js +0 -1
  194. package/dist/web/client/assets/circle-x-CkKCB__4.js +0 -1
  195. package/dist/web/client/assets/citations-BPv8HIpf.js +0 -2
  196. package/dist/web/client/assets/cn-C8c0S2mI.js +0 -1
  197. package/dist/web/client/assets/collapsible-BoXtZZWN.js +0 -1
  198. package/dist/web/client/assets/command-PhicLCoO.js +0 -1
  199. package/dist/web/client/assets/createBaseUIEventDetails-DV0dQrBX.js +0 -1
  200. package/dist/web/client/assets/createLucideIcon-DwxZHm0M.js +0 -1
  201. package/dist/web/client/assets/dialog-pBGUjAQ7.js +0 -1
  202. package/dist/web/client/assets/dist-BPaFisIZ.js +0 -41
  203. package/dist/web/client/assets/earth-DGZXAN5r.js +0 -1
  204. package/dist/web/client/assets/ease-u56MhKYS.js +0 -1
  205. package/dist/web/client/assets/file-text-T-NcAlZs.js +0 -1
  206. package/dist/web/client/assets/fleet-message-queue-fbYYwMj0.js +0 -1
  207. package/dist/web/client/assets/fleet-pi-tool-renderer-BRgNnmaJ.js +0 -1395
  208. package/dist/web/client/assets/fleet-reasoning-panel-CjA2dwUJ.js +0 -1
  209. package/dist/web/client/assets/fleet-subagent-list-iKUtLJKZ.js +0 -1
  210. package/dist/web/client/assets/fleet-tool-timeline-C8heL7ae.js +0 -1
  211. package/dist/web/client/assets/gauge-DNpstbBn.js +0 -1
  212. package/dist/web/client/assets/globals-CuIiqOTg.css +0 -2
  213. package/dist/web/client/assets/highlighted-body-KPVGNVTW-sUCZ1fHv.js +0 -1
  214. package/dist/web/client/assets/horizontal-resize-Cp3iHMH7.js +0 -1
  215. package/dist/web/client/assets/image-BbPmlw-n.js +0 -1
  216. package/dist/web/client/assets/index-CSGplyr_.js +0 -12
  217. package/dist/web/client/assets/input-PcdubeKn.js +0 -1
  218. package/dist/web/client/assets/input-group-C2HJEZvl.js +0 -1
  219. package/dist/web/client/assets/ipython-tool-CyuMOxz1.js +0 -3
  220. package/dist/web/client/assets/layout-gyLzPvVv.js +0 -1
  221. package/dist/web/client/assets/markdown-lvexwooo.js +0 -2
  222. package/dist/web/client/assets/mermaid-HWGCJPDP-Bm7CuruA.js +0 -1
  223. package/dist/web/client/assets/message-square-hbDao-A1.js +0 -1
  224. package/dist/web/client/assets/model-selector-list-CoXX358G.js +0 -1
  225. package/dist/web/client/assets/plus-DXN1Bg_z.js +0 -1
  226. package/dist/web/client/assets/prompt-input-fwP8TsgQ.js +0 -1
  227. package/dist/web/client/assets/prompt-suggestions-BlGXmWS7.js +0 -1
  228. package/dist/web/client/assets/provider-catalog-DYMFdbKc.js +0 -1
  229. package/dist/web/client/assets/provider-label-B4q5mI65.js +0 -1
  230. package/dist/web/client/assets/react-dom-Bwxum3ti.js +0 -1
  231. package/dist/web/client/assets/repl-panel-C5om8MGU.js +0 -1
  232. package/dist/web/client/assets/resources-panel-D867-goy.js +0 -1
  233. package/dist/web/client/assets/right-panel-context-DHlNWJsF.js +0 -1
  234. package/dist/web/client/assets/right-panel-registry-BBlxLxnx.js +0 -2
  235. package/dist/web/client/assets/routes-XGsAIqBJ.js +0 -16
  236. package/dist/web/client/assets/safe-external-url-D3PJJIcM.js +0 -1
  237. package/dist/web/client/assets/search-eWVnAJsb.js +0 -1
  238. package/dist/web/client/assets/session-insights-panel-YnaXvTpi.js +0 -1
  239. package/dist/web/client/assets/settings-dialog-BSBasR3o.js +0 -2
  240. package/dist/web/client/assets/shield-check-CkA2viVW.js +0 -1
  241. package/dist/web/client/assets/skeleton-loaders-C9vHwAYV.js +0 -1
  242. package/dist/web/client/assets/sparkles-DuclzqlE.js +0 -1
  243. package/dist/web/client/assets/square-Bhn8gjr0.js +0 -1
  244. package/dist/web/client/assets/subagent-transcript-DaVHjNUH.js +0 -1
  245. package/dist/web/client/assets/subagent-utils-DDH5qm9Z.js +0 -1
  246. package/dist/web/client/assets/subagents-panel-D_aVgSCi.js +0 -1
  247. package/dist/web/client/assets/surfaces-BhAXz9So.js +0 -1
  248. package/dist/web/client/assets/switch-WhXeJNNY.js +0 -1
  249. package/dist/web/client/assets/terminal-DOS1s1gm.js +0 -1
  250. package/dist/web/client/assets/toast-D3c9XeGe.js +0 -1
  251. package/dist/web/client/assets/tool-result-Cki8WUNc.js +0 -4
  252. package/dist/web/client/assets/ui-preferences-CImQGZm_.js +0 -1
  253. package/dist/web/client/assets/use-reduced-motion-eORd7fqW.js +0 -9
  254. package/dist/web/client/assets/useBaseUiId-CHqXB2UQ.js +0 -1
  255. package/dist/web/client/assets/useControlled-CJJ9BOQB.js +0 -1
  256. package/dist/web/client/assets/utils-Eg7xtNmV.js +0 -1
  257. package/dist/web/client/assets/virtualized-turn-list-CdMa-ydT.js +0 -6
  258. package/dist/web/client/assets/workspace-panel-77bDbprs.js +0 -1
  259. package/dist/web/client/assets/workspace-path-nav-C0AQNZyy.js +0 -1
  260. package/dist/web/client/assets/x-CsRC_tCI.js +0 -1
  261. package/dist/web/server/_tanstack-start-manifest_v-0L7fqnH4-KMVGUFE4.js +0 -95
  262. package/dist/web/server/agent-activity-BuEE6iVw-CDZLK4D2.js +0 -514
  263. package/dist/web/server/chunk-2JHTYWD5.js +0 -1196
  264. package/dist/web/server/chunk-3JMESBAT.js +0 -35
  265. package/dist/web/server/chunk-42XU6WV7.js +0 -56
  266. package/dist/web/server/chunk-AQ66E5OW.js +0 -33
  267. package/dist/web/server/chunk-BYXBJQAS.js +0 -0
  268. package/dist/web/server/chunk-FAGDMGLK.js +0 -6589
  269. package/dist/web/server/chunk-FJV6EQDW.js +0 -36
  270. package/dist/web/server/chunk-GL6HWDJB.js +0 -19
  271. package/dist/web/server/chunk-L46H6IDX.js +0 -13
  272. package/dist/web/server/chunk-NIDBN7BQ.js +0 -86
  273. package/dist/web/server/chunk-ON33WDZX.js +0 -31
  274. package/dist/web/server/chunk-PVJCTQFK.js +0 -22
  275. package/dist/web/server/chunk-QPNUGF3V.js +0 -35
  276. package/dist/web/server/chunk-S5LFXXDY.js +0 -1265
  277. package/dist/web/server/chunk-VPKX7QRU.js +0 -42
  278. package/dist/web/server/chunk-ZCVWADNW.js +0 -37
  279. package/dist/web/server/fleet-pi-tool-renderer-qwc-qZFq-4U556N5Q.js +0 -51
  280. package/dist/web/server/fleet-subagent-list-BGb0PjhF-2X67FMUV.js +0 -18
@@ -1,20 +1,24 @@
1
- import {
2
- Image
3
- } from "./chunk-FJV6EQDW.js";
4
1
  import {
5
2
  notify
6
- } from "./chunk-JTCCQZLN.js";
3
+ } from "./chunk-RJNGEU6C.js";
7
4
  import {
8
- LazyMarkdown,
9
5
  useHoverCapable
10
- } from "./chunk-NWDI3OWB.js";
6
+ } from "./chunk-XSOUURPF.js";
7
+ import {
8
+ LazyMarkdown
9
+ } from "./chunk-7NZ3FJDA.js";
11
10
  import {
11
+ CircleX,
12
12
  Copy
13
- } from "./chunk-EJEPDVK6.js";
13
+ } from "./chunk-WU6X3GPJ.js";
14
+ import {
15
+ CircleCheck,
16
+ LoaderCircle
17
+ } from "./chunk-TNL4YV63.js";
14
18
  import {
15
19
  AnimatePresence,
16
20
  useReducedMotion
17
- } from "./chunk-NIZBFVJF.js";
21
+ } from "./chunk-CAPTFJOC.js";
18
22
  import {
19
23
  ChevronRight
20
24
  } from "./chunk-3C4CFCIS.js";
@@ -22,7 +26,7 @@ import {
22
26
  EASE_OUT,
23
27
  SPRING_LAYOUT,
24
28
  m
25
- } from "./chunk-EBG3XFGQ.js";
29
+ } from "./chunk-7FK6YEMA.js";
26
30
  import {
27
31
  segmentOpenUIContent
28
32
  } from "./chunk-NFRJDPB3.js";
@@ -33,16 +37,17 @@ import {
33
37
  X
34
38
  } from "./chunk-JBLHIEVG.js";
35
39
  import {
40
+ CircleAlert,
36
41
  FileText
37
- } from "./chunk-AR7O7JXD.js";
42
+ } from "./chunk-KBWUBWVJ.js";
38
43
  import {
39
44
  createLucideIcon
40
45
  } from "./chunk-4ZIEVI5O.js";
41
46
  import {
42
47
  cn
43
- } from "./chunk-DJMHPJBP.js";
48
+ } from "./chunk-CHEC7TWB.js";
44
49
 
45
- // web/app/dist/server/assets/virtualized-turn-list-DNo8CDwR.js
50
+ // web/app/dist/server/assets/virtualized-turn-list-Bxk-Y62M.js
46
51
  import { Fragment, Suspense, cloneElement, createContext, lazy, memo, useCallback, useContext, useEffect, useEffectEvent, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
47
52
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
48
53
  import { createPortal } from "react-dom";
@@ -86,29 +91,34 @@ var FileCode = createLucideIcon("file-code", [
86
91
  key: "yinavb"
87
92
  }]
88
93
  ]);
89
- function groupMessages(messages) {
90
- const turns = [];
91
- let current;
92
- for (const message of messages) {
93
- if (message.role === "user") {
94
- if (current) turns.push(current);
95
- current = {
96
- user: message,
97
- assistants: []
98
- };
99
- continue;
100
- }
101
- if (message.role !== "assistant") continue;
102
- if (!current || message.source === "local") {
103
- if (current) turns.push(current);
104
- current = { assistants: [message] };
105
- continue;
106
- }
107
- current.assistants.push(message);
108
- }
109
- if (current) turns.push(current);
110
- return turns;
111
- }
94
+ var Image = createLucideIcon("image", [
95
+ ["rect", {
96
+ width: "18",
97
+ height: "18",
98
+ x: "3",
99
+ y: "3",
100
+ rx: "2",
101
+ ry: "2",
102
+ key: "1m3agn"
103
+ }],
104
+ ["circle", {
105
+ cx: "9",
106
+ cy: "9",
107
+ r: "2",
108
+ key: "af1f0g"
109
+ }],
110
+ ["path", {
111
+ d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
112
+ key: "1xmnt7"
113
+ }]
114
+ ]);
115
+ var RotateCw = createLucideIcon("rotate-cw", [["path", {
116
+ d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",
117
+ key: "1p45f6"
118
+ }], ["path", {
119
+ d: "M21 3v5h-5",
120
+ key: "1q7to0"
121
+ }]]);
112
122
  var MessageSideContext = createContext(void 0);
113
123
  var MessageBubbleContext = createContext({
114
124
  animateIn: true,
@@ -168,7 +178,7 @@ function MessageBubble({ variant = "soft", align, animateIn = false, className,
168
178
  });
169
179
  }
170
180
  function bubbleContentClass(variant, interactive) {
171
- return cn("relative z-0 min-w-9 max-w-[82%] rounded-2xl px-3.5 py-2.5 text-sm leading-6 text-foreground", "[&_a]:font-medium [&_a]:underline [&_a]:underline-offset-4 [&_code]:rounded [&_code]:bg-background/60 [&_code]:px-1 [&_code]:py-0.5 [&_code]:font-mono [&_code]:text-[0.9em] [&_ol]:my-2 [&_ol]:list-decimal [&_ol]:pl-5 [&_p+p]:mt-2 [&_pre]:my-2 [&_pre]:overflow-x-auto [&_pre]:rounded-xl [&_pre]:bg-background/60 [&_pre]:p-3 [&_ul]:my-2 [&_ul]:list-disc [&_ul]:pl-5", variant === "solid" && "text-background", variant === "ghost" && "w-full max-w-none rounded-none px-0 py-0", variant === "danger" && "text-destructive", interactive && "cursor-pointer text-left outline-none transition-[background-color,color,transform] duration-150 hover:brightness-[0.98] focus-visible:ring-2 focus-visible:ring-ring active:scale-[0.99]");
181
+ return cn("relative z-0 min-w-9 max-w-[82%] rounded-2xl px-3.5 py-2.5 text-sm leading-6 text-foreground", "[&_a]:font-medium [&_a]:underline [&_a]:underline-offset-4 [&_code]:rounded [&_code]:bg-background/60 [&_code]:px-1 [&_code]:py-0.5 [&_code]:font-mono [&_code]:text-[90%] [&_ol]:my-2 [&_ol]:list-decimal [&_ol]:pl-5 [&_p+p]:mt-2 [&_pre]:my-2 [&_pre]:overflow-x-auto [&_pre]:rounded-xl [&_pre]:bg-background/60 [&_pre]:p-3 [&_ul]:my-2 [&_ul]:list-disc [&_ul]:pl-5", variant === "solid" && "text-background", variant === "ghost" && "w-full max-w-none rounded-none px-0 py-0", variant === "danger" && "text-destructive", interactive && "cursor-pointer text-left outline-none transition-[background-color,color,transform] duration-150 hover:brightness-[0.98] focus-visible:ring-2 focus-visible:ring-ring active:scale-[0.99]");
172
182
  }
173
183
  function bubbleSurfaceClass(variant, align) {
174
184
  return cn("pointer-events-none absolute inset-0 -z-10 rounded-[inherit]", align === "end" ? "origin-bottom-right" : "origin-bottom-left", variant === "solid" && "bg-foreground", variant === "soft" && "bg-muted", variant === "tint" && "bg-primary/10", variant === "outline" && "border border-border/70 bg-background", variant === "danger" && "bg-destructive/10");
@@ -182,7 +192,7 @@ function MessageBubbleContent({ render, className, children, ref, ...props }) {
182
192
  const classes = cn(bubbleContentClass(variant, interactive), className);
183
193
  const composedChildren = /* @__PURE__ */ jsxs(Fragment$1, { children: [variant !== "ghost" ? /* @__PURE__ */ jsx(m.span, {
184
194
  "aria-hidden": "true",
185
- layout: reduce ? false : "size",
195
+ layout: false,
186
196
  layoutDependency: layoutVersion,
187
197
  initial: animateIn && !reduce ? {
188
198
  opacity: 0,
@@ -770,16 +780,55 @@ function MessageContent({ className, ...props }) {
770
780
  ...props
771
781
  });
772
782
  }
783
+ function isRecord$2(value) {
784
+ return typeof value === "object" && value !== null;
785
+ }
786
+ function parseStructuredJson(value) {
787
+ if (typeof value !== "string") return value;
788
+ const trimmed = value.trim();
789
+ if (!trimmed) return value;
790
+ try {
791
+ const parsed = JSON.parse(trimmed);
792
+ return isRecord$2(parsed) || Array.isArray(parsed) ? parsed : value;
793
+ } catch {
794
+ return value;
795
+ }
796
+ }
797
+ function normalizeToolPart(part) {
798
+ if (!isRecord$2(part)) return part;
799
+ if (typeof part.type !== "string" || !part.type.startsWith("tool-")) return part;
800
+ const normalizedInput = parseStructuredJson(part.input);
801
+ const normalizedOutput = parseStructuredJson(part.output);
802
+ const normalizedResult = parseStructuredJson(part.result);
803
+ const inputChanged = normalizedInput !== part.input;
804
+ const outputChanged = normalizedOutput !== part.output;
805
+ const resultChanged = normalizedResult !== part.result;
806
+ if (!inputChanged && !outputChanged && !resultChanged) return part;
807
+ const normalizedPart = { ...part };
808
+ if (inputChanged) normalizedPart.input = normalizedInput;
809
+ if (outputChanged) normalizedPart.output = normalizedOutput;
810
+ if (resultChanged) normalizedPart.result = normalizedResult;
811
+ return normalizedPart;
812
+ }
813
+ function normalizeAssistantToolParts(parts) {
814
+ let changed = false;
815
+ const normalizedParts = parts.map((part) => {
816
+ const normalizedPart = normalizeToolPart(part);
817
+ if (normalizedPart !== part) changed = true;
818
+ return normalizedPart;
819
+ });
820
+ return changed ? normalizedParts : parts;
821
+ }
773
822
  var ErrorMessage = memo(function ErrorMessage2({ title = "Something went wrong", message, className }) {
774
823
  return /* @__PURE__ */ jsx("div", {
775
824
  className: cn("flex justify-start", className),
776
825
  children: /* @__PURE__ */ jsxs("div", {
777
- className: "rounded-[8px] border border-red-500/30 bg-red-500/10 px-4 py-2.5 text-sm text-an-foreground",
826
+ className: "rounded-[8px] border border-red-500/30 bg-red-500/10 px-4 py-2.5 text-sm text-foreground",
778
827
  children: [/* @__PURE__ */ jsx("div", {
779
- className: "font-medium text-an-foreground",
828
+ className: "font-medium text-foreground",
780
829
  children: title
781
830
  }), /* @__PURE__ */ jsx("div", {
782
- className: "mt-0.5 text-an-foreground-muted",
831
+ className: "mt-0.5 text-muted-foreground",
783
832
  children: message
784
833
  })]
785
834
  })
@@ -831,16 +880,16 @@ function CopyButton({ text, onCopied }) {
831
880
  event.stopPropagation();
832
881
  },
833
882
  onMouseDown: (event) => event.stopPropagation(),
834
- className: cn("flex size-6 items-center justify-center rounded-md transition-[background-color,opacity,transform] duration-150 ease-out active:scale-[0.97]", "bg-transparent opacity-50 hover:bg-an-foreground/10 hover:opacity-100"),
883
+ className: cn("flex size-6 items-center justify-center rounded-md transition-[background-color,opacity,transform] duration-150 ease-out active:scale-[0.97]", "bg-transparent opacity-50 hover:bg-foreground/10 hover:opacity-100"),
835
884
  children: /* @__PURE__ */ jsxs("div", {
836
885
  className: "relative size-3.5",
837
- children: [/* @__PURE__ */ jsx(Copy, { className: cn("absolute inset-0 h-3.5 w-3.5 text-an-foreground-muted transition-[opacity,transform] duration-150 ease-out", copied ? "scale-50 opacity-0" : "scale-100 opacity-100") }), /* @__PURE__ */ jsx(Check, { className: cn("absolute inset-0 h-3.5 w-3.5 text-an-foreground-muted transition-[opacity,transform] duration-150 ease-out", copied ? "scale-100 opacity-100" : "scale-50 opacity-0") })]
886
+ children: [/* @__PURE__ */ jsx(Copy, { className: cn("absolute inset-0 h-3.5 w-3.5 text-muted-foreground transition-[opacity,transform] duration-150 ease-out", copied ? "scale-50 opacity-0" : "scale-100 opacity-100") }), /* @__PURE__ */ jsx(Check, { className: cn("absolute inset-0 h-3.5 w-3.5 text-muted-foreground transition-[opacity,transform] duration-150 ease-out", copied ? "scale-100 opacity-100" : "scale-50 opacity-0") })]
838
887
  })
839
888
  });
840
889
  }
841
890
  function MessageToolbar({ text, timestamp, heightClass, hoverClass, isVisible, alignClass, onCopied }) {
842
891
  return /* @__PURE__ */ jsxs("div", {
843
- className: cn("pointer-events-none flex items-center gap-1 pt-1 text-xs text-an-foreground-muted/70 opacity-0 transition-opacity duration-100", heightClass, alignClass, hoverClass, isVisible && "pointer-events-auto opacity-100"),
892
+ className: cn("pointer-events-none flex items-center gap-1 pt-1 text-xs text-muted-foreground/70 opacity-0 transition-opacity duration-100", heightClass, alignClass, hoverClass, isVisible && "pointer-events-auto opacity-100"),
844
893
  onMouseDown: (event) => event.stopPropagation(),
845
894
  onPointerDown: (event) => event.stopPropagation(),
846
895
  children: [timestamp && /* @__PURE__ */ jsx("span", { children: timestamp }), text && /* @__PURE__ */ jsx(CopyButton, {
@@ -886,20 +935,20 @@ function PayloadPart({ part }) {
886
935
  ]
887
936
  });
888
937
  }
889
- function isRecord$2(value) {
938
+ function isRecord$1(value) {
890
939
  return typeof value === "object" && value !== null;
891
940
  }
892
941
  function isTextPart(part) {
893
- return isRecord$2(part) && part.type === "text" && typeof part.text === "string";
942
+ return isRecord$1(part) && part.type === "text" && typeof part.text === "string";
894
943
  }
895
944
  function isErrorPart(part) {
896
- return isRecord$2(part) && part.type === "error" && typeof part.message === "string";
945
+ return isRecord$1(part) && part.type === "error" && typeof part.message === "string";
897
946
  }
898
947
  function isPayloadPart(part) {
899
- return isRecord$2(part) && part.type === "payload" && typeof part.kind === "string" && typeof part.title === "string";
948
+ return isRecord$1(part) && part.type === "payload" && typeof part.kind === "string" && typeof part.title === "string";
900
949
  }
901
950
  function isV5ToolPart(part) {
902
- if (!isRecord$2(part)) return false;
951
+ if (!isRecord$1(part)) return false;
903
952
  const partType = part.type;
904
953
  return partType === "dynamic-tool" || typeof partType === "string" && partType.startsWith("tool-");
905
954
  }
@@ -908,45 +957,6 @@ function getTextFromParts(parts, joiner) {
908
957
  for (const part of parts) if (isTextPart(part)) texts.push(part.text);
909
958
  return texts.join(joiner);
910
959
  }
911
- function isRecord$1(value) {
912
- return typeof value === "object" && value !== null;
913
- }
914
- function parseStructuredJson(value) {
915
- if (typeof value !== "string") return value;
916
- const trimmed = value.trim();
917
- if (!trimmed) return value;
918
- try {
919
- const parsed = JSON.parse(trimmed);
920
- return isRecord$1(parsed) || Array.isArray(parsed) ? parsed : value;
921
- } catch {
922
- return value;
923
- }
924
- }
925
- function normalizeToolPart(part) {
926
- if (!isRecord$1(part)) return part;
927
- if (typeof part.type !== "string" || !part.type.startsWith("tool-")) return part;
928
- const normalizedInput = parseStructuredJson(part.input);
929
- const normalizedOutput = parseStructuredJson(part.output);
930
- const normalizedResult = parseStructuredJson(part.result);
931
- const inputChanged = normalizedInput !== part.input;
932
- const outputChanged = normalizedOutput !== part.output;
933
- const resultChanged = normalizedResult !== part.result;
934
- if (!inputChanged && !outputChanged && !resultChanged) return part;
935
- const normalizedPart = { ...part };
936
- if (inputChanged) normalizedPart.input = normalizedInput;
937
- if (outputChanged) normalizedPart.output = normalizedOutput;
938
- if (resultChanged) normalizedPart.result = normalizedResult;
939
- return normalizedPart;
940
- }
941
- function normalizeAssistantToolParts(parts) {
942
- let changed = false;
943
- const normalizedParts = parts.map((part) => {
944
- const normalizedPart = normalizeToolPart(part);
945
- if (normalizedPart !== part) changed = true;
946
- return normalizedPart;
947
- });
948
- return changed ? normalizedParts : parts;
949
- }
950
960
  memo(function UserTurn(props) {
951
961
  const { message, UserMessageComponent, userMessageClassName, onCopied, display } = props;
952
962
  const { enableImagePreview, showCopyToolbar, isMounted, isCopyVisible } = display;
@@ -1090,7 +1100,7 @@ function buildAssistantElements(parts, opts) {
1090
1100
  }
1091
1101
  const text = textChunks.join("\n\n");
1092
1102
  if (text) elems.push(/* @__PURE__ */ jsx("div", {
1093
- className: "group/assistant-text text-[0.875rem]",
1103
+ className: "group/assistant-text text-body",
1094
1104
  children: /* @__PURE__ */ jsx(TextRendererComponent, {
1095
1105
  content: text,
1096
1106
  isStreaming,
@@ -1314,12 +1324,12 @@ function FileAttachment({ id, filename, size, isImage, url, onRemove, className,
1314
1324
  setIsLightboxOpen(true);
1315
1325
  };
1316
1326
  return /* @__PURE__ */ jsxs("div", {
1317
- className: cn("relative rounded-[calc(var(--an-input-border-radius)-var(--an-context-padding))] bg-muted/50", isImageOnly ? "flex size-10 items-center justify-center" : "flex max-w-[200px] min-w-[120px] items-center gap-2 py-1 pr-2 pl-1", className),
1327
+ className: cn("relative rounded-[calc(var(--chat-input-radius)-var(--chat-context-padding))] bg-muted/50", isImageOnly ? "flex size-10 items-center justify-center" : "flex max-w-[200px] min-w-[120px] items-center gap-2 py-1 pr-2 pl-1", className),
1318
1328
  onMouseEnter: () => setIsHovered(true),
1319
1329
  onMouseLeave: () => setIsHovered(false),
1320
1330
  children: [
1321
1331
  isImageOnly ? /* @__PURE__ */ jsx("div", {
1322
- className: cn("size-8 shrink-0 overflow-hidden rounded-[calc(var(--an-input-border-radius)-var(--an-context-padding)-2px)]", canPreview && "cursor-pointer"),
1332
+ className: cn("size-8 shrink-0 overflow-hidden rounded-[calc(var(--chat-input-radius)-var(--chat-context-padding)-2px)]", canPreview && "cursor-pointer"),
1323
1333
  onClick: canPreview ? openLightbox : void 0,
1324
1334
  role: canPreview ? "button" : void 0,
1325
1335
  tabIndex: canPreview ? 0 : void 0,
@@ -1336,7 +1346,7 @@ function FileAttachment({ id, filename, size, isImage, url, onRemove, className,
1336
1346
  className: "h-full w-full object-cover"
1337
1347
  })
1338
1348
  }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [isImage && url ? /* @__PURE__ */ jsx("div", {
1339
- className: cn("w-8 shrink-0 self-stretch overflow-hidden rounded-[calc(var(--an-input-border-radius)-var(--an-context-padding)-2px)]", canPreview && "cursor-pointer"),
1349
+ className: cn("w-8 shrink-0 self-stretch overflow-hidden rounded-[calc(var(--chat-input-radius)-var(--chat-context-padding)-2px)]", canPreview && "cursor-pointer"),
1340
1350
  onClick: canPreview ? openLightbox : void 0,
1341
1351
  role: canPreview ? "button" : void 0,
1342
1352
  tabIndex: canPreview ? 0 : void 0,
@@ -1353,7 +1363,7 @@ function FileAttachment({ id, filename, size, isImage, url, onRemove, className,
1353
1363
  className: "aspect-square h-full w-full object-cover"
1354
1364
  })
1355
1365
  }) : /* @__PURE__ */ jsx("div", {
1356
- className: "flex w-8 shrink-0 items-center justify-center self-stretch rounded-[calc(var(--an-input-border-radius)-var(--an-context-padding)-2px)] bg-muted",
1366
+ className: "flex w-8 shrink-0 items-center justify-center self-stretch rounded-[calc(var(--chat-input-radius)-var(--chat-context-padding)-2px)] bg-muted",
1357
1367
  children: renderFileIcon(iconName)
1358
1368
  }), /* @__PURE__ */ jsxs("div", {
1359
1369
  className: "flex min-w-0 flex-col",
@@ -1362,7 +1372,7 @@ function FileAttachment({ id, filename, size, isImage, url, onRemove, className,
1362
1372
  title: filename,
1363
1373
  children: filename
1364
1374
  }), size !== void 0 && /* @__PURE__ */ jsx("span", {
1365
- className: "text-[0.625rem] text-muted-foreground",
1375
+ className: "text-micro text-muted-foreground",
1366
1376
  children: formatFileSize(size)
1367
1377
  })]
1368
1378
  })] }),
@@ -1444,7 +1454,7 @@ var UserMessage = memo(function UserMessage2({ message, className, enableImagePr
1444
1454
  className: cn("flex flex-col items-end gap-1", className),
1445
1455
  children: [
1446
1456
  images.length > 0 && images.map((url, i) => /* @__PURE__ */ jsx("div", {
1447
- className: cn("max-w-[200px] rounded-an-message bg-an-foreground/4 p-1.5", enableImagePreview && "cursor-pointer"),
1457
+ className: cn("max-w-[200px] rounded-chat-message bg-foreground/4 p-1.5", enableImagePreview && "cursor-pointer"),
1448
1458
  onClick: enableImagePreview ? () => setLightboxIndex(i) : void 0,
1449
1459
  role: enableImagePreview ? "button" : void 0,
1450
1460
  tabIndex: enableImagePreview ? 0 : void 0,
@@ -1457,7 +1467,9 @@ var UserMessage = memo(function UserMessage2({ message, className, enableImagePr
1457
1467
  children: /* @__PURE__ */ jsx("img", {
1458
1468
  src: url,
1459
1469
  alt: "attachment",
1460
- className: "block max-h-[120px] max-w-[184px] rounded-an-message-inner object-cover"
1470
+ width: 184,
1471
+ height: 120,
1472
+ className: "block max-h-[120px] max-w-[184px] rounded-chat-message-inner object-cover"
1461
1473
  })
1462
1474
  }, url)),
1463
1475
  enableImagePreview && lightboxImages.length > 0 && /* @__PURE__ */ jsx(ImageLightbox, {
@@ -1477,9 +1489,9 @@ var UserMessage = memo(function UserMessage2({ message, className, enableImagePr
1477
1489
  text && /* @__PURE__ */ jsx("div", {
1478
1490
  className: "ms-[70px] max-w-[calc(95%-40px)]",
1479
1491
  children: /* @__PURE__ */ jsx("div", {
1480
- className: "rounded-an-message bg-an-user-message-bg px-3.5 py-1.5 text-sm text-an-user-message-text transition-colors",
1492
+ className: "rounded-chat-message bg-muted px-3.5 py-1.5 text-sm text-foreground transition-colors",
1481
1493
  children: /* @__PURE__ */ jsx("p", {
1482
- className: "leading-5 wrap-break-word whitespace-pre-wrap",
1494
+ className: "leading-5 wrap-break-word whitespace-pre-wrap text-pretty",
1483
1495
  children: text
1484
1496
  })
1485
1497
  })
@@ -1487,17 +1499,63 @@ var UserMessage = memo(function UserMessage2({ message, className, enableImagePr
1487
1499
  ]
1488
1500
  });
1489
1501
  });
1490
- var LazyGenerativeTextRenderer = lazy(() => import("./openui-renderer-MKFv6LlH-MDRSVFEY.js").then((n) => n.n).then(({ GenerativeTextRenderer }) => ({ default: GenerativeTextRenderer })));
1502
+ function orderedRlmChildren(children, tree) {
1503
+ const byId = new Map(children.map((child) => [child.id, child]));
1504
+ const visited = /* @__PURE__ */ new Set();
1505
+ const ordered = [];
1506
+ const visit = (id) => {
1507
+ if (visited.has(id)) return;
1508
+ visited.add(id);
1509
+ const child = byId.get(id);
1510
+ if (child) ordered.push(child);
1511
+ for (const nextId of tree?.nodes[id]?.childrenIds ?? []) visit(nextId);
1512
+ };
1513
+ for (const id of tree?.rootChildrenIds ?? []) visit(id);
1514
+ for (const child of children) visit(child.id);
1515
+ return ordered;
1516
+ }
1517
+ function rlmStatusIcon(status) {
1518
+ if (status === "done") return /* @__PURE__ */ jsx(CircleCheck, { className: "size-3.5 text-emerald-600 dark:text-emerald-400" });
1519
+ if (status === "error" || status === "failed") return /* @__PURE__ */ jsx(CircleAlert, { className: "size-3.5 text-destructive" });
1520
+ if (status === "cancelled") return /* @__PURE__ */ jsx(CircleX, { className: "size-3.5 text-muted-foreground" });
1521
+ if (status === "recovering") return /* @__PURE__ */ jsx(RotateCw, { className: "size-3.5 animate-spin text-amber-500 dark:text-amber-400" });
1522
+ return /* @__PURE__ */ jsx(LoaderCircle, { className: "size-3.5 animate-spin text-primary" });
1523
+ }
1524
+ function groupMessages(messages) {
1525
+ const turns = [];
1526
+ let current;
1527
+ for (const message of messages) {
1528
+ if (message.role === "user") {
1529
+ if (current) turns.push(current);
1530
+ current = {
1531
+ user: message,
1532
+ assistants: []
1533
+ };
1534
+ continue;
1535
+ }
1536
+ if (message.role !== "assistant") continue;
1537
+ if (!current || message.source === "local") {
1538
+ if (current) turns.push(current);
1539
+ current = { assistants: [message] };
1540
+ continue;
1541
+ }
1542
+ current.assistants.push(message);
1543
+ }
1544
+ if (current) turns.push(current);
1545
+ return turns;
1546
+ }
1547
+ var LazyGenerativeTextRenderer = lazy(() => import("./openui-renderer-B4z18Brm-HSMKJ47D.js").then((n) => n.n).then(({ GenerativeTextRenderer }) => ({ default: GenerativeTextRenderer })));
1491
1548
  function PlainTextFallback({ className, content }) {
1492
1549
  return /* @__PURE__ */ jsx("div", {
1493
1550
  className: className ? `${className} whitespace-pre-wrap` : "whitespace-pre-wrap",
1494
1551
  children: content
1495
1552
  });
1496
1553
  }
1497
- function FleetGenerativeTextRenderer(props) {
1554
+ function SessionGenerativeTextRenderer(props) {
1498
1555
  if (!useMemo(() => segmentOpenUIContent(props.content).some((segment) => segment.type === "openui"), [props.content])) return /* @__PURE__ */ jsx(LazyMarkdown, {
1499
1556
  className: props.className,
1500
- content: props.content
1557
+ content: props.content,
1558
+ isStreaming: props.isStreaming
1501
1559
  });
1502
1560
  return /* @__PURE__ */ jsx(Suspense, {
1503
1561
  fallback: /* @__PURE__ */ jsx(PlainTextFallback, {
@@ -1525,7 +1583,7 @@ function buildOffsets(itemKeys, measuredHeights, estimateSize, itemGap) {
1525
1583
  }
1526
1584
  function VirtualizedTurnList({ estimateSize, getItemKey, itemGap = 0, items, overscan = 1.5, renderItem, viewportRef }) {
1527
1585
  const itemKeys = useMemo(() => items.map((item, index) => getItemKey(item, index)), [getItemKey, items]);
1528
- const shouldVirtualize = items.length >= 40;
1586
+ const shouldVirtualize = items.length >= 16;
1529
1587
  const [measuredHeights, setMeasuredHeights] = useState(() => /* @__PURE__ */ new Map());
1530
1588
  const [viewport, setViewport] = useState({
1531
1589
  height: 0,
@@ -1540,6 +1598,7 @@ function VirtualizedTurnList({ estimateSize, getItemKey, itemGap = 0, items, ove
1540
1598
  const rowNodesRef = useRef(/* @__PURE__ */ new Map());
1541
1599
  const rowKeysRef = useRef(/* @__PURE__ */ new WeakMap());
1542
1600
  const rowObserverRef = useRef(null);
1601
+ const viewportRafRef = useRef(null);
1543
1602
  const updateViewport = useCallback(() => {
1544
1603
  const element = viewportRef.current;
1545
1604
  if (!element) return;
@@ -1549,6 +1608,13 @@ function VirtualizedTurnList({ estimateSize, getItemKey, itemGap = 0, items, ove
1549
1608
  };
1550
1609
  setViewport((current) => current.height === next.height && current.scrollTop === next.scrollTop ? current : next);
1551
1610
  }, [viewportRef]);
1611
+ const scheduleViewportUpdate = useCallback(() => {
1612
+ if (viewportRafRef.current != null) return;
1613
+ viewportRafRef.current = window.requestAnimationFrame(() => {
1614
+ viewportRafRef.current = null;
1615
+ updateViewport();
1616
+ });
1617
+ }, [updateViewport]);
1552
1618
  const setRowRef = useCallback((key, node) => {
1553
1619
  const previous = rowNodesRef.current.get(key);
1554
1620
  if (previous && previous !== node) {
@@ -1587,20 +1653,28 @@ function VirtualizedTurnList({ estimateSize, getItemKey, itemGap = 0, items, ove
1587
1653
  useEffect(() => {
1588
1654
  const element = viewportRef.current;
1589
1655
  if (!element) return;
1590
- element.addEventListener("scroll", updateViewport, { passive: true });
1591
- window.addEventListener("resize", updateViewport);
1656
+ element.addEventListener("scroll", scheduleViewportUpdate, { passive: true });
1657
+ window.addEventListener("resize", scheduleViewportUpdate);
1592
1658
  updateViewport();
1593
1659
  let viewportObserver;
1594
1660
  if (typeof ResizeObserver !== "undefined") {
1595
- viewportObserver = new ResizeObserver(updateViewport);
1661
+ viewportObserver = new ResizeObserver(scheduleViewportUpdate);
1596
1662
  viewportObserver.observe(element);
1597
1663
  }
1598
1664
  return () => {
1599
- element.removeEventListener("scroll", updateViewport);
1600
- window.removeEventListener("resize", updateViewport);
1665
+ element.removeEventListener("scroll", scheduleViewportUpdate);
1666
+ window.removeEventListener("resize", scheduleViewportUpdate);
1601
1667
  viewportObserver?.disconnect();
1668
+ if (viewportRafRef.current != null) {
1669
+ window.cancelAnimationFrame(viewportRafRef.current);
1670
+ viewportRafRef.current = null;
1671
+ }
1602
1672
  };
1603
- }, [updateViewport, viewportRef]);
1673
+ }, [
1674
+ scheduleViewportUpdate,
1675
+ updateViewport,
1676
+ viewportRef
1677
+ ]);
1604
1678
  const updateMeasuredHeights = useCallback((entries) => {
1605
1679
  const current = measuredHeightsRef.current;
1606
1680
  let next = current;
@@ -1693,7 +1767,6 @@ function VirtualizedTurnList({ estimateSize, getItemKey, itemGap = 0, items, ove
1693
1767
 
1694
1768
  export {
1695
1769
  ChevronLeft,
1696
- groupMessages,
1697
1770
  MessageBubble,
1698
1771
  MessageBubbleContent,
1699
1772
  MessageScroller,
@@ -1703,7 +1776,10 @@ export {
1703
1776
  buildAssistantElements,
1704
1777
  FileAttachment,
1705
1778
  UserMessage,
1706
- FleetGenerativeTextRenderer,
1779
+ orderedRlmChildren,
1780
+ rlmStatusIcon,
1781
+ groupMessages,
1782
+ SessionGenerativeTextRenderer,
1707
1783
  VirtualizedTurnList
1708
1784
  };
1709
1785
  /**
@@ -1,26 +1,4 @@
1
- import {
2
- readStoredValue
3
- } from "./chunk-SZJUXVWG.js";
4
-
5
- // web/app/dist/server/assets/model-patterns-RCfrtqAy.js
6
- var UI_PREFERENCES_KEY = "fleet-prime:v1:ui-preferences";
7
- var DEFAULT_UI_PREFERENCES = {
8
- density: "comfortable",
9
- motion: "system",
10
- transcript: "follow",
11
- confirmSessionDelete: true
12
- };
13
- function readUiPreferences() {
14
- try {
15
- const parsed = JSON.parse(readStoredValue("fleet-prime:v1:ui-preferences") ?? "null");
16
- return {
17
- ...DEFAULT_UI_PREFERENCES,
18
- ...parsed
19
- };
20
- } catch {
21
- return DEFAULT_UI_PREFERENCES;
22
- }
23
- }
1
+ // web/app/dist/server/assets/model-patterns-BOn3oCBF.js
24
2
  var THINKING_LEVELS = /* @__PURE__ */ new Set([
25
3
  "off",
26
4
  "minimal",
@@ -76,9 +54,6 @@ function modelPattern(provider, modelId) {
76
54
  }
77
55
 
78
56
  export {
79
- UI_PREFERENCES_KEY,
80
- DEFAULT_UI_PREFERENCES,
81
- readUiPreferences,
82
57
  isModelPatternEnabled,
83
58
  modelMatchesPattern,
84
59
  modelPattern
@@ -1,23 +1,39 @@
1
1
  import {
2
2
  AnimatePresence,
3
3
  useReducedMotion
4
- } from "./chunk-NIZBFVJF.js";
4
+ } from "./chunk-CAPTFJOC.js";
5
5
  import {
6
6
  EASE_OUT,
7
7
  EASE_OUT_CSS,
8
8
  SPRING_SWAP,
9
9
  m
10
- } from "./chunk-EBG3XFGQ.js";
10
+ } from "./chunk-7FK6YEMA.js";
11
11
  import {
12
12
  createLucideIcon
13
13
  } from "./chunk-4ZIEVI5O.js";
14
14
  import {
15
15
  cn
16
- } from "./chunk-DJMHPJBP.js";
16
+ } from "./chunk-CHEC7TWB.js";
17
17
 
18
- // web/app/dist/server/assets/action-swap-roll-CTbfnIak.js
18
+ // web/app/dist/server/assets/agent-disclosure-DGqbHptF.js
19
19
  import { useLayoutEffect, useRef, useState } from "react";
20
20
  import { jsx, jsxs } from "react/jsx-runtime";
21
+ var CircleX = createLucideIcon("circle-x", [
22
+ ["circle", {
23
+ cx: "12",
24
+ cy: "12",
25
+ r: "10",
26
+ key: "1mglay"
27
+ }],
28
+ ["path", {
29
+ d: "m15 9-6 6",
30
+ key: "1uzhvr"
31
+ }],
32
+ ["path", {
33
+ d: "m9 9 6 6",
34
+ key: "z0biqf"
35
+ }]
36
+ ]);
21
37
  var Copy = createLucideIcon("copy", [["rect", {
22
38
  width: "14",
23
39
  height: "14",
@@ -192,11 +208,38 @@ function ActionSwapRollText(props) {
192
208
  animation: "roll"
193
209
  });
194
210
  }
211
+ function AgentDisclosure({ open, openHeight = "auto", className, style, transition, ...props }) {
212
+ const reduce = useReducedMotion() ?? false;
213
+ return /* @__PURE__ */ jsx(m.div, {
214
+ ...props,
215
+ "aria-hidden": !open,
216
+ inert: !open,
217
+ initial: false,
218
+ animate: reduce ? { opacity: open ? 1 : 0 } : {
219
+ opacity: open ? 1 : 0,
220
+ clipPath: open ? "inset(0 0 0% 0)" : "inset(0 0 100% 0)",
221
+ y: open ? 0 : -4
222
+ },
223
+ transition: transition ?? {
224
+ duration: reduce ? 0 : open ? 0.22 : 0.14,
225
+ ease: EASE_OUT
226
+ },
227
+ className: cn("overflow-hidden", className),
228
+ style: {
229
+ ...style,
230
+ height: open ? openHeight : 0,
231
+ pointerEvents: open ? void 0 : "none",
232
+ transformOrigin: "top"
233
+ }
234
+ });
235
+ }
195
236
 
196
237
  export {
238
+ CircleX,
197
239
  Copy,
198
240
  FileCodeCorner,
199
- ActionSwapRollText
241
+ ActionSwapRollText,
242
+ AgentDisclosure
200
243
  };
201
244
  /**
202
245
  * @license lucide-react v1.38.0 - ISC