@qredence/fleet 0.6.1 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/web/client/assets/agent-disclosure-CMrxF7L-.js +1 -0
- package/dist/web/client/assets/analytics-stub-C2vgmGm_.js +1 -0
- package/dist/web/client/assets/artifacts-panel-DmQghvw8.js +1 -0
- package/dist/web/client/assets/{bot-Bs7QWJ2q.js → bot-DbB9BKL0.js} +1 -1
- package/dist/web/client/assets/bundle-mjs-cJTHqqzI.js +1 -0
- package/dist/web/client/assets/button-Dl0ce3Y5.js +1 -0
- package/dist/web/client/assets/{card-DA3Vnqay.js → card-DCEnYd2G.js} +1 -1
- package/dist/web/client/assets/chat-C24kD2SP.js +52 -0
- package/dist/web/client/assets/chat-command-palette-BIwjhE6s.js +1 -0
- package/dist/web/client/assets/check-B3LlvM65.js +1 -0
- package/dist/web/client/assets/{chevron-down-BEVGmnSb.js → chevron-down-DUUprRP5.js} +1 -1
- package/dist/web/client/assets/chevron-right-NVqQIoiO.js +1 -0
- package/dist/web/client/assets/{chunk-YOKDWASO-BAf618wr.js → chunk-YOKDWASO-Bte3iwlH.js} +6 -6
- package/dist/web/client/assets/citations-BUvM92nt.js +1 -0
- package/dist/web/client/assets/collapsible-CUxOjhDJ.js +1 -0
- package/dist/web/client/assets/command-Dv96gATQ.js +1 -0
- package/dist/web/client/assets/createBaseUIEventDetails-B58Jldei.js +1 -0
- package/dist/web/client/assets/createLucideIcon-_dfI7Arx.js +1 -0
- package/dist/web/client/assets/dialog-BCb4rQh0.js +1 -0
- package/dist/web/client/assets/dist-52wg4XPY.js +1 -0
- package/dist/web/client/assets/dist-DbHxXSgQ.js +41 -0
- package/dist/web/client/assets/ease-CMumuPlX.js +1 -0
- package/dist/web/client/assets/{eye-B0DFz5hL.js → eye-CDHqtVoE.js} +1 -1
- package/dist/web/client/assets/file-text-TmalmYrb.js +1 -0
- package/dist/web/client/assets/{folder-BC5p7qK7.js → folder-vuNT4shY.js} +1 -1
- package/dist/web/client/assets/{fork-picker-dialog-B7NNpVmW.js → fork-picker-dialog-CpwEwsxA.js} +1 -1
- package/dist/web/client/assets/gauge-BsDqNM1A.js +1 -0
- package/dist/web/client/assets/globals-DCtBkCSD.css +2 -0
- package/dist/web/client/assets/{hard-drive-CHqgr7VQ.js → hard-drive-BT7UxHQu.js} +1 -1
- package/dist/web/client/assets/highlighted-body-KPVGNVTW-CgT7gqvs.js +1 -0
- package/dist/web/client/assets/horizontal-resize-VLjLByUV.js +1 -0
- package/dist/web/client/assets/index-BGnQeUYE.js +12 -0
- package/dist/web/client/assets/input-CxZp56Im.js +1 -0
- package/dist/web/client/assets/input-group-D7lAfKHR.js +1 -0
- package/dist/web/client/assets/ipython-tool-CkHaO3PW.js +3 -0
- package/dist/web/client/assets/is-ref-object-BcRWZ4l7.js +1 -0
- package/dist/web/client/assets/{loader-circle-DjfHXUPB.js → loader-circle-B5GIZGxd.js} +1 -1
- package/dist/web/client/assets/markdown-BHkByC9K.js +2 -0
- package/dist/web/client/assets/{markdown-code-xNyjdZ4g.js → markdown-code-CDTRq-HZ.js} +1 -1
- package/dist/web/client/assets/mermaid-HWGCJPDP-CY3N5ECk.js +1 -0
- package/dist/web/client/assets/message-queue-Dl8wbCOu.js +1 -0
- package/dist/web/client/assets/model-selector-list-CRZCXeBf.js +1 -0
- package/dist/web/client/assets/{notify-DxL0VD7Z.js → notify-DjVixft7.js} +1 -1
- package/dist/web/client/assets/{openui-renderer-TLNe5e_Q.js → openui-renderer-Bkkx5kmA.js} +37 -37
- package/dist/web/client/assets/{package-CdcJFPf2.js → package-BKBPgwMP.js} +1 -1
- package/dist/web/client/assets/{pencil-DcUwsKLn.js → pencil-CdO6qfv3.js} +1 -1
- package/dist/web/client/assets/{plug-Dt6VN0zF.js → plug-BRROUIw-.js} +1 -1
- package/dist/web/client/assets/prompt-input-WaGSKZCU.js +1 -0
- package/dist/web/client/assets/prompt-suggestions-BNyTcyWg.js +1 -0
- package/dist/web/client/assets/provider-catalog-C0XBIasJ.js +1 -0
- package/dist/web/client/assets/provider-label-Cka0ep0S.js +1 -0
- package/dist/web/client/assets/react-CwJFpaho.js +1 -0
- package/dist/web/client/assets/react-dom-DX3XddaT.js +1 -0
- package/dist/web/client/assets/{refresh-cw-IThTJ3j-.js → refresh-cw-l9WPHRkq.js} +1 -1
- package/dist/web/client/assets/repl-panel-L9dmPqio.js +1 -0
- package/dist/web/client/assets/{resource-helpers-Q2T0YCMO.js → resource-helpers-BuWybA8l.js} +1 -1
- package/dist/web/client/assets/resources-panel-mT-aMCvV.js +1 -0
- package/dist/web/client/assets/right-panel-context-CS8tJMzE.js +1 -0
- package/dist/web/client/assets/right-panel-registry-BCW7fQTG.js +2 -0
- package/dist/web/client/assets/{rotate-ccw-WNFNkKQD.js → rotate-ccw-CfGhzOv7.js} +1 -1
- package/dist/web/client/assets/routes-BWe5Iz-2.js +16 -0
- package/dist/web/client/assets/safe-external-url-BbAom7Bm.js +1 -0
- package/dist/web/client/assets/search-BjcXAUrI.js +1 -0
- package/dist/web/client/assets/session-insights-panel-B0rl37lo.js +1 -0
- package/dist/web/client/assets/session-reasoning-panel-8D2P7iaJ.js +1 -0
- package/dist/web/client/assets/session-tool-renderer-3E3cv8D0.js +1395 -0
- package/dist/web/client/assets/settings-dialog-B8lHq2tT.js +2 -0
- package/dist/web/client/assets/{skeleton-CkR2VmWc.js → skeleton-C3mo31Qu.js} +1 -1
- package/dist/web/client/assets/skeleton-loaders-BMa_G4yX.js +1 -0
- package/dist/web/client/assets/{shield-check-CkA2viVW.js → sparkles-D8XIY8pN.js} +1 -1
- package/dist/web/client/assets/square-DQaQu9bp.js +1 -0
- package/dist/web/client/assets/{square-terminal-BYTN_I86.js → square-terminal-BsopiuN7.js} +1 -1
- package/dist/web/client/assets/{subagent-chat-panel-oeLDPDAK.js → subagent-chat-panel-C5ukYiUx.js} +1 -1
- package/dist/web/client/assets/subagent-transcript-lqNcSVbH.js +1 -0
- package/dist/web/client/assets/subagents-panel-SJKhaVTr.js +1 -0
- package/dist/web/client/assets/{sun-BWiZFty0.js → sun-D0llhiMU.js} +1 -1
- package/dist/web/client/assets/surfaces-CpfsGAIA.js +1 -0
- package/dist/web/client/assets/switch-D3FhZU-S.js +1 -0
- package/dist/web/client/assets/terminal-BQAKkBY6.js +1 -0
- package/dist/web/client/assets/toast-lnCWGgSE.js +1 -0
- package/dist/web/client/assets/tokens-Ch5WqXC_.js +1 -0
- package/dist/web/client/assets/tool-result-B_yb2JoE.js +4 -0
- package/dist/web/client/assets/tool-timeline-VnMRQoLS.js +1 -0
- package/dist/web/client/assets/{triangle-alert-CU-gd7ui.js → triangle-alert-GAYh_5d3.js} +1 -1
- package/dist/web/client/assets/ui-preferences-aG2U2jjW.js +1 -0
- package/dist/web/client/assets/use-presence-7I2qv4qI.js +1 -0
- package/dist/web/client/assets/use-reduced-motion-BOcG709U.js +9 -0
- package/dist/web/client/assets/useBaseUiId-D9ZGPZ6f.js +1 -0
- package/dist/web/client/assets/useControlled-CgAAWIy9.js +1 -0
- package/dist/web/client/assets/utils-Brtgag-m.js +1 -0
- package/dist/web/client/assets/virtualized-turn-list-BgUgX6tM.js +6 -0
- package/dist/web/client/assets/workspace-panel-CKF5JQl2.js +1 -0
- package/dist/web/client/assets/workspace-path-nav-DqPbETfJ.js +2 -0
- package/dist/web/client/assets/{wrench-BJNNe07k.js → wrench-Myc12BTA.js} +1 -1
- package/dist/web/client/assets/x-BGsDD848.js +1 -0
- package/dist/web/client/bundle-budget.json +6 -6
- package/dist/web/server/_tanstack-start-manifest_v-BDPifIFN-DTSNCHBX.js +91 -0
- package/dist/web/server/{artifacts-panel-D3ySO--V-XSL53CXL.js → artifacts-panel-BN3DgqfV-N73J6N5Y.js} +39 -44
- package/dist/web/server/{chat-command-palette-kAbXhWVg-TJWXH2WW.js → chat-command-palette-G8awyZRw-2QE7FXGT.js} +18 -18
- package/dist/web/server/{chunk-SALXCFVO.js → chunk-33QA7BQJ.js} +19 -1
- package/dist/web/server/{chunk-5UCAJBAH.js → chunk-43S5N7SH.js} +80 -47
- package/dist/web/server/chunk-4EBSM4JR.js +74 -0
- package/dist/web/server/{chunk-ZIFSJ3HQ.js → chunk-4OTHKQMG.js} +185 -109
- package/dist/web/server/{chunk-NNKJTKOQ.js → chunk-6SOMNRAX.js} +309 -279
- package/dist/web/server/chunk-7E76R7MB.js +2138 -0
- package/dist/web/server/{chunk-EBG3XFGQ.js → chunk-7FK6YEMA.js} +49 -44
- package/dist/web/server/chunk-7HXCGBUP.js +56 -0
- package/dist/web/server/{chunk-P66QQWUM.js → chunk-7NZ3FJDA.js} +14 -1
- package/dist/web/server/{chunk-HF7DG7PC.js → chunk-7UTDOTOU.js} +80 -78
- package/dist/web/server/{chunk-OZO5ARFA.js → chunk-BQROC4PL.js} +11 -2
- package/dist/web/server/{chunk-JTCCQZLN.js → chunk-BUXJSBE3.js} +2 -2
- package/dist/web/server/{chunk-NIZBFVJF.js → chunk-CAPTFJOC.js} +9 -7
- package/dist/web/server/{chunk-YGYOBX7G.js → chunk-CCYLHNZJ.js} +1767 -52
- package/dist/web/server/{chunk-DJMHPJBP.js → chunk-CHEC7TWB.js} +3 -1
- package/dist/web/server/{chunk-NJ4QEZHK.js → chunk-CW6KZUKT.js} +7 -5
- package/dist/web/server/chunk-DLA5TLKX.js +164 -0
- package/dist/web/server/{chunk-MNBGB2SP.js → chunk-E5HALE4M.js} +4 -4
- package/dist/web/server/{chunk-D27LRYVT.js → chunk-EDAWH2MT.js} +10 -9
- package/dist/web/server/{chunk-NGCQJ33Y.js → chunk-ENGEUJIH.js} +1494 -1644
- package/dist/web/server/{chunk-RIP3PBWT.js → chunk-ESM7OCRL.js} +4 -4
- package/dist/web/server/{chunk-O3HDELZ2.js → chunk-FT74GAAH.js} +676 -670
- package/dist/web/server/{chunk-WNCAL4HN.js → chunk-HQ5TEXHT.js} +132 -152
- package/dist/web/server/{chunk-YOM42BKD.js → chunk-IPV4GLJL.js} +16 -16
- package/dist/web/server/{chunk-UL2725KQ.js → chunk-IXGLKAPN.js} +54 -46
- package/dist/web/server/{chunk-3TIMGWWI.js → chunk-JPDRUSUD.js} +2 -2
- package/dist/web/server/{chunk-4WBFCB4O.js → chunk-JVOW2NWC.js} +179 -177
- package/dist/web/server/chunk-K6PTNSCW.js +31 -0
- package/dist/web/server/{chunk-AR7O7JXD.js → chunk-KBWUBWVJ.js} +24 -1
- package/dist/web/server/{chunk-QIULBRTU.js → chunk-MJXXVQNA.js} +79 -84
- package/dist/web/server/{chunk-NWDI3OWB.js → chunk-NCK2FJAD.js} +30 -26
- package/dist/web/server/{chunk-QFRCJWQQ.js → chunk-NMBH57JT.js} +94 -33
- package/dist/web/server/{chunk-EAJTWMK5.js → chunk-NZ6KQT2X.js} +2 -2
- package/dist/web/server/{chunk-2DDWXTVG.js → chunk-O2UYZT3Z.js} +11 -11
- package/dist/web/server/{chunk-DLUZFOG3.js → chunk-OMEDERPG.js} +21 -25
- package/dist/web/server/{chunk-BLSX7WHW.js → chunk-OSMP55KI.js} +23 -2
- package/dist/web/server/{chunk-S3PQ6HKH.js → chunk-OVJYUWSQ.js} +2 -2
- package/dist/web/server/{chunk-UCUFC553.js → chunk-RXUMFFUV.js} +3 -3
- package/dist/web/server/{chunk-DO2O27B2.js → chunk-SDV3P3IW.js} +2 -2
- package/dist/web/server/chunk-TLNZNR7C.js +46 -0
- package/dist/web/server/{chunk-FYDQK6UX.js → chunk-UDD5W4CR.js} +32 -10
- package/dist/web/server/{chunk-MNPHMZU7.js → chunk-UE32PAV2.js} +47 -57
- package/dist/web/server/{chunk-KP2PNDGL.js → chunk-WB2LJC3R.js} +29 -32
- package/dist/web/server/{chunk-ETTDO4UO.js → chunk-WTYNN6EV.js} +1 -26
- package/dist/web/server/{chunk-EJEPDVK6.js → chunk-WU6X3GPJ.js} +48 -5
- package/dist/web/server/{chunk-XIB6XNUX.js → chunk-XJ6TGSUB.js} +425 -404
- package/dist/web/server/{chunk-PLYZ7P2Y.js → chunk-YMPJMHXZ.js} +41 -4
- package/dist/web/server/{chunk-GETSIVNU.js → chunk-YVGCPUAW.js} +7 -7
- package/dist/web/server/{chunk-4UBOIY2S.js → chunk-ZNFXBGLK.js} +1 -1
- package/dist/web/server/chunk-ZOVXMNJM.js +477 -0
- package/dist/web/server/{fork-picker-dialog-Ds6Tgtu3-DIBWN7MV.js → fork-picker-dialog-YKlapaxN-DR5L74ST.js} +9 -8
- package/dist/web/server/{markdown-DTnMbD87-FXGGAPJD.js → markdown-BzNejPoZ-6ITTDAV6.js} +2 -3
- package/dist/web/server/{markdown-code-BStjFfsy-SSLWUT4S.js → markdown-code-DAwXuW6m-HHVELO6I.js} +3 -4
- package/dist/web/server/{fleet-message-queue-D_w8lSeY-T3HB7HVQ.js → message-queue-Demph1x4-RBJUC3AT.js} +14 -10
- package/dist/web/server/{model-selector-list-DxeGZoD2-P6S6FSJH.js → model-selector-list-BmzLiCx9-TK6JGGKU.js} +20 -19
- package/dist/web/server/{openui-renderer-MKFv6LlH-MDRSVFEY.js → openui-renderer-moJGf0LA-QCU3PI6H.js} +17 -18
- package/dist/web/server/{prompt-suggestions-BOItmGnD-YQA7RHLG.js → prompt-suggestions-yPZqX__K-3VGJC4IF.js} +7 -6
- package/dist/web/server/{repl-panel-CuyF8wt5-CHDT2Q3N.js → repl-panel-CgUF1qUw-3DFD2V53.js} +10 -11
- package/dist/web/server/{resources-panel-CE5pD4vy-V5FXBTYC.js → resources-panel-ChUliWV--JITAGS6Q.js} +6 -7
- package/dist/web/server/{router-Dg72SESP-PCWKLFRG.js → router-CPdFlpbe-LAD4MNZB.js} +3111 -235
- package/dist/web/server/{routes-BGrVtPYF-SURPAJN6.js → routes-hkom6S6L-DUPPQHPY.js} +5045 -4285
- package/dist/web/server/server.js +2 -2
- package/dist/web/server/{session-insights-panel-CUhdgvRt-VB2HUCQP.js → session-insights-panel-xgrkX1Rp-FDNURBXZ.js} +9 -9
- package/dist/web/server/{fleet-reasoning-panel-DG_vuvv0-NCZWEEIT.js → session-reasoning-panel-m1RgcIph-NUXGXVKE.js} +21 -22
- package/dist/web/server/session-tool-renderer-CglQ2ky7-2JVYNZG2.js +45 -0
- package/dist/web/server/{settings-dialog-CK0FJlTg-HZRBAXDZ.js → settings-dialog-BCEfmgtP-T3WQEZHB.js} +175 -1373
- package/dist/web/server/{subagent-chat-panel-gzamnTgK-PQ2TLLJF.js → subagent-chat-panel-BTwI1kdB-LKBWA4GD.js} +32 -41
- package/dist/web/server/{subagents-panel-Berjd7HJ-EI5ZKC6V.js → subagents-panel-8Z9_csoV-HYMEEBHB.js} +37 -45
- package/dist/web/server/{fleet-tool-timeline-D6yM4ZMz-ZSFVRRRI.js → tool-timeline-QL9k5dzA-RLU26HXT.js} +6 -6
- package/dist/web/server/{workspace-panel-CBBa_3UO-B4PPFPMA.js → workspace-panel-BHEB9nRM-TS62SYBA.js} +24 -31
- package/package.json +1 -1
- package/dist/web/client/assets/action-swap-roll-COzQ86wm.js +0 -1
- package/dist/web/client/assets/agent-activity-svETLf_5.js +0 -1
- package/dist/web/client/assets/agent-disclosure-DAMuuGcM.js +0 -1
- package/dist/web/client/assets/analytics-stub-B6zGMuSV.js +0 -1
- package/dist/web/client/assets/artifacts-panel-HVjqBMyx.js +0 -1
- package/dist/web/client/assets/artifacts-utils-N_kUFbz2.js +0 -1
- package/dist/web/client/assets/bundle-mjs-DKHVkVWu.js +0 -1
- package/dist/web/client/assets/button-C5wFDY5_.js +0 -1
- package/dist/web/client/assets/chat-BhYseKd6.js +0 -52
- package/dist/web/client/assets/chat-command-palette-LILDO_vG.js +0 -1
- package/dist/web/client/assets/check-JjHKAZas.js +0 -1
- package/dist/web/client/assets/chevron-right-DrJxToLs.js +0 -1
- package/dist/web/client/assets/chevron-up-CnSvySGH.js +0 -1
- package/dist/web/client/assets/circle-alert-CONlFReH.js +0 -1
- package/dist/web/client/assets/circle-x-CkKCB__4.js +0 -1
- package/dist/web/client/assets/citations-BPv8HIpf.js +0 -2
- package/dist/web/client/assets/cn-C8c0S2mI.js +0 -1
- package/dist/web/client/assets/collapsible-BoXtZZWN.js +0 -1
- package/dist/web/client/assets/command-PhicLCoO.js +0 -1
- package/dist/web/client/assets/createBaseUIEventDetails-DV0dQrBX.js +0 -1
- package/dist/web/client/assets/createLucideIcon-DwxZHm0M.js +0 -1
- package/dist/web/client/assets/dialog-pBGUjAQ7.js +0 -1
- package/dist/web/client/assets/dist-BPaFisIZ.js +0 -41
- package/dist/web/client/assets/earth-DGZXAN5r.js +0 -1
- package/dist/web/client/assets/ease-u56MhKYS.js +0 -1
- package/dist/web/client/assets/file-text-T-NcAlZs.js +0 -1
- package/dist/web/client/assets/fleet-message-queue-fbYYwMj0.js +0 -1
- package/dist/web/client/assets/fleet-pi-tool-renderer-BRgNnmaJ.js +0 -1395
- package/dist/web/client/assets/fleet-reasoning-panel-CjA2dwUJ.js +0 -1
- package/dist/web/client/assets/fleet-subagent-list-iKUtLJKZ.js +0 -1
- package/dist/web/client/assets/fleet-tool-timeline-C8heL7ae.js +0 -1
- package/dist/web/client/assets/gauge-DNpstbBn.js +0 -1
- package/dist/web/client/assets/globals-CuIiqOTg.css +0 -2
- package/dist/web/client/assets/highlighted-body-KPVGNVTW-sUCZ1fHv.js +0 -1
- package/dist/web/client/assets/horizontal-resize-Cp3iHMH7.js +0 -1
- package/dist/web/client/assets/image-BbPmlw-n.js +0 -1
- package/dist/web/client/assets/index-CSGplyr_.js +0 -12
- package/dist/web/client/assets/input-PcdubeKn.js +0 -1
- package/dist/web/client/assets/input-group-C2HJEZvl.js +0 -1
- package/dist/web/client/assets/ipython-tool-CyuMOxz1.js +0 -3
- package/dist/web/client/assets/layout-gyLzPvVv.js +0 -1
- package/dist/web/client/assets/markdown-lvexwooo.js +0 -2
- package/dist/web/client/assets/mermaid-HWGCJPDP-Bm7CuruA.js +0 -1
- package/dist/web/client/assets/message-square-hbDao-A1.js +0 -1
- package/dist/web/client/assets/model-selector-list-CoXX358G.js +0 -1
- package/dist/web/client/assets/plus-DXN1Bg_z.js +0 -1
- package/dist/web/client/assets/prompt-input-fwP8TsgQ.js +0 -1
- package/dist/web/client/assets/prompt-suggestions-BlGXmWS7.js +0 -1
- package/dist/web/client/assets/provider-catalog-DYMFdbKc.js +0 -1
- package/dist/web/client/assets/provider-label-B4q5mI65.js +0 -1
- package/dist/web/client/assets/react-dom-Bwxum3ti.js +0 -1
- package/dist/web/client/assets/repl-panel-C5om8MGU.js +0 -1
- package/dist/web/client/assets/resources-panel-D867-goy.js +0 -1
- package/dist/web/client/assets/right-panel-context-DHlNWJsF.js +0 -1
- package/dist/web/client/assets/right-panel-registry-BBlxLxnx.js +0 -2
- package/dist/web/client/assets/routes-XGsAIqBJ.js +0 -16
- package/dist/web/client/assets/safe-external-url-D3PJJIcM.js +0 -1
- package/dist/web/client/assets/search-eWVnAJsb.js +0 -1
- package/dist/web/client/assets/session-insights-panel-YnaXvTpi.js +0 -1
- package/dist/web/client/assets/settings-dialog-BSBasR3o.js +0 -2
- package/dist/web/client/assets/skeleton-loaders-C9vHwAYV.js +0 -1
- package/dist/web/client/assets/sparkles-DuclzqlE.js +0 -1
- package/dist/web/client/assets/square-Bhn8gjr0.js +0 -1
- package/dist/web/client/assets/subagent-transcript-DaVHjNUH.js +0 -1
- package/dist/web/client/assets/subagent-utils-DDH5qm9Z.js +0 -1
- package/dist/web/client/assets/subagents-panel-D_aVgSCi.js +0 -1
- package/dist/web/client/assets/surfaces-BhAXz9So.js +0 -1
- package/dist/web/client/assets/switch-WhXeJNNY.js +0 -1
- package/dist/web/client/assets/terminal-DOS1s1gm.js +0 -1
- package/dist/web/client/assets/toast-D3c9XeGe.js +0 -1
- package/dist/web/client/assets/tool-result-Cki8WUNc.js +0 -4
- package/dist/web/client/assets/ui-preferences-CImQGZm_.js +0 -1
- package/dist/web/client/assets/use-reduced-motion-eORd7fqW.js +0 -9
- package/dist/web/client/assets/useBaseUiId-CHqXB2UQ.js +0 -1
- package/dist/web/client/assets/useControlled-CJJ9BOQB.js +0 -1
- package/dist/web/client/assets/utils-Eg7xtNmV.js +0 -1
- package/dist/web/client/assets/virtualized-turn-list-CdMa-ydT.js +0 -6
- package/dist/web/client/assets/workspace-panel-77bDbprs.js +0 -1
- package/dist/web/client/assets/workspace-path-nav-C0AQNZyy.js +0 -1
- package/dist/web/client/assets/x-CsRC_tCI.js +0 -1
- package/dist/web/server/_tanstack-start-manifest_v-0L7fqnH4-KMVGUFE4.js +0 -95
- package/dist/web/server/agent-activity-BuEE6iVw-CDZLK4D2.js +0 -514
- package/dist/web/server/chunk-2JHTYWD5.js +0 -1196
- package/dist/web/server/chunk-3JMESBAT.js +0 -35
- package/dist/web/server/chunk-42XU6WV7.js +0 -56
- package/dist/web/server/chunk-AQ66E5OW.js +0 -33
- package/dist/web/server/chunk-BYXBJQAS.js +0 -0
- package/dist/web/server/chunk-FAGDMGLK.js +0 -6589
- package/dist/web/server/chunk-FJV6EQDW.js +0 -36
- package/dist/web/server/chunk-GL6HWDJB.js +0 -19
- package/dist/web/server/chunk-L46H6IDX.js +0 -13
- package/dist/web/server/chunk-NIDBN7BQ.js +0 -86
- package/dist/web/server/chunk-ON33WDZX.js +0 -31
- package/dist/web/server/chunk-PVJCTQFK.js +0 -22
- package/dist/web/server/chunk-QPNUGF3V.js +0 -35
- package/dist/web/server/chunk-S5LFXXDY.js +0 -1265
- package/dist/web/server/chunk-VPKX7QRU.js +0 -42
- package/dist/web/server/chunk-ZCVWADNW.js +0 -37
- package/dist/web/server/fleet-pi-tool-renderer-qwc-qZFq-4U556N5Q.js +0 -51
- 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-
|
|
3
|
+
} from "./chunk-BUXJSBE3.js";
|
|
7
4
|
import {
|
|
8
|
-
LazyMarkdown,
|
|
9
5
|
useHoverCapable
|
|
10
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NCK2FJAD.js";
|
|
7
|
+
import {
|
|
8
|
+
LazyMarkdown
|
|
9
|
+
} from "./chunk-7NZ3FJDA.js";
|
|
11
10
|
import {
|
|
11
|
+
CircleX,
|
|
12
12
|
Copy
|
|
13
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
48
|
+
} from "./chunk-CHEC7TWB.js";
|
|
44
49
|
|
|
45
|
-
// web/app/dist/server/assets/virtualized-turn-list-
|
|
50
|
+
// web/app/dist/server/assets/virtualized-turn-list-Coc3IbGL.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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
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-[
|
|
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:
|
|
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-
|
|
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-
|
|
828
|
+
className: "font-medium text-foreground",
|
|
780
829
|
children: title
|
|
781
830
|
}), /* @__PURE__ */ jsx("div", {
|
|
782
|
-
className: "mt-0.5 text-
|
|
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-
|
|
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-
|
|
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-
|
|
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$
|
|
938
|
+
function isRecord$1(value) {
|
|
890
939
|
return typeof value === "object" && value !== null;
|
|
891
940
|
}
|
|
892
941
|
function isTextPart(part) {
|
|
893
|
-
return isRecord$
|
|
942
|
+
return isRecord$1(part) && part.type === "text" && typeof part.text === "string";
|
|
894
943
|
}
|
|
895
944
|
function isErrorPart(part) {
|
|
896
|
-
return isRecord$
|
|
945
|
+
return isRecord$1(part) && part.type === "error" && typeof part.message === "string";
|
|
897
946
|
}
|
|
898
947
|
function isPayloadPart(part) {
|
|
899
|
-
return isRecord$
|
|
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$
|
|
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-
|
|
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(--
|
|
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(--
|
|
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(--
|
|
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(--
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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-moJGf0LA-QCU3PI6H.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
|
|
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 >=
|
|
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",
|
|
1591
|
-
window.addEventListener("resize",
|
|
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(
|
|
1661
|
+
viewportObserver = new ResizeObserver(scheduleViewportUpdate);
|
|
1596
1662
|
viewportObserver.observe(element);
|
|
1597
1663
|
}
|
|
1598
1664
|
return () => {
|
|
1599
|
-
element.removeEventListener("scroll",
|
|
1600
|
-
window.removeEventListener("resize",
|
|
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
|
-
}, [
|
|
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
|
-
|
|
1779
|
+
orderedRlmChildren,
|
|
1780
|
+
rlmStatusIcon,
|
|
1781
|
+
groupMessages,
|
|
1782
|
+
SessionGenerativeTextRenderer,
|
|
1707
1783
|
VirtualizedTurnList
|
|
1708
1784
|
};
|
|
1709
1785
|
/**
|