@qredence/fleet 0.7.4 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/README.md +5 -4
- package/bin/fleet-prime.mjs +33 -6
- package/bin/prime-runtime.mjs +79 -0
- package/dist/runtime-manifest.json +32 -0
- package/dist/web/client/assets/DialogTitle-BlVq-tcv.js +1 -0
- package/dist/web/client/assets/FloatingPortal-D8-EPDs2.js +1 -0
- package/dist/web/client/assets/activity-BPIKUzOU.js +1 -0
- package/dist/web/client/assets/agents-CGjUBYX7.js +2 -0
- package/dist/web/client/assets/agents-page-CTuFJL9H.js +1 -0
- package/dist/web/client/assets/alert-CzWGeumf.js +1 -0
- package/dist/web/client/assets/alert-dialog-D-e1Pr4q.js +1 -0
- package/dist/web/client/assets/arrow-up-right-CG9RNk4p.js +1 -0
- package/dist/web/client/assets/artifacts-panel-6JEdy6jU.js +1 -0
- package/dist/web/client/assets/badge-CzQFgmVK.js +1 -0
- package/dist/web/client/assets/button-CWYjn8Zk.js +1 -0
- package/dist/web/client/assets/{card-Hngi3HGC.js → card-Dj1SnGUU.js} +1 -1
- package/dist/web/client/assets/chat-command-palette-Bxr5EkO6.js +1 -0
- package/dist/web/client/assets/chat-hpzV6IA6.js +57 -0
- package/dist/web/client/assets/chat-queries-CfZiupub.js +3 -0
- package/dist/web/client/assets/clock-3-BwWCSCm_.js +1 -0
- package/dist/web/client/assets/code-block-pKKmFZ5w.js +3 -0
- package/dist/web/client/assets/collapsible-Bk6zCsRX.js +1 -0
- package/dist/web/client/assets/{command-CmtCIDdH.js → command-xo-NK4xO.js} +1 -1
- package/dist/web/client/assets/connectors-CFxLqG2x.js +2 -0
- package/dist/web/client/assets/connectors-page-DQJdoAnl.js +1 -0
- package/dist/web/client/assets/create-project-dialog-Db-WhUmP.js +1 -0
- package/dist/web/client/assets/createBaseUIEventDetails-DIxvaz-Y.js +1 -0
- package/dist/web/client/assets/dialog-CK8dym6z.js +1 -0
- package/dist/web/client/assets/eye-iNSvs0UA.js +1 -0
- package/dist/web/client/assets/file-code-corner-BkDULqko.js +1 -0
- package/dist/web/client/assets/{fork-picker-dialog-DfGlB17w.js → fork-picker-dialog-DSaFeUii.js} +1 -1
- package/dist/web/client/assets/globals-DJhWyayo.css +2 -0
- package/dist/web/client/assets/index-C9FHZDGw.js +13 -0
- package/dist/web/client/assets/input-CBoTMPC_.js +1 -0
- package/dist/web/client/assets/{input-group-EPMGh55u.js → input-group-BFubAtz9.js} +1 -1
- package/dist/web/client/assets/{ipython-tool-CMhnRVrC.js → ipython-tool-bieUhw9K.js} +1 -1
- package/dist/web/client/assets/markdown-CvBfbPCn.js +2 -0
- package/dist/web/client/assets/markdown-code-rFOkzN5N.js +4 -0
- package/dist/web/client/assets/mcp-connections-section-DEo6Kemv.js +2 -0
- package/dist/web/client/assets/message-queue-Btjt9wK2.js +1 -0
- package/dist/web/client/assets/{model-selector-list-BiU_7ivt.js → model-selector-list-CbDAT0Rw.js} +1 -1
- package/dist/web/client/assets/mutation-Da9zdeWr.js +1 -0
- package/dist/web/client/assets/notify-BIL0-CGy.js +1 -0
- package/dist/web/client/assets/open-panel-action-message-SdA1VU42.js +1 -0
- package/dist/web/client/assets/openui-renderer-DG-iML7M.js +291 -0
- package/dist/web/client/assets/pencil-Cbgq3ybX.js +1 -0
- package/dist/web/client/assets/plus-DUP2JPVG.js +1 -0
- package/dist/web/client/assets/product-page-header-Ck6I13CE.js +1 -0
- package/dist/web/client/assets/{prompt-input-Dy-DSPqF.js → prompt-input-CoV1gTUQ.js} +1 -1
- package/dist/web/client/assets/{prompt-suggestions-CrpAiKeB.js → prompt-suggestions-CAY5JI-C.js} +1 -1
- package/dist/web/client/assets/provider-catalog-CLEDlH_v.js +1 -0
- package/dist/web/client/assets/provider-label-BItazQ6H.js +1 -0
- package/dist/web/client/assets/reasoning-line-DGdPUMwT.js +1 -0
- package/dist/web/client/assets/rehype-katex-DITkIpVl.js +259 -0
- package/dist/web/client/assets/{repl-panel-DN5kZAcB.js → repl-panel-5xgkDXO5.js} +1 -1
- package/dist/web/client/assets/{resources-panel-DD6iWOF3.js → resources-panel-aJCKt9eF.js} +1 -1
- package/dist/web/client/assets/right-panel-context-CjX-HkDO.js +1 -0
- package/dist/web/client/assets/right-panel-registry-BAJ6TuEY.js +2 -0
- package/dist/web/client/assets/rotate-ccw-DLkfsmG9.js +1 -0
- package/dist/web/client/assets/routes-ja_liP8Z.js +14 -0
- package/dist/web/client/assets/select-DYh951qi.js +1 -0
- package/dist/web/client/assets/session-activity-panel-DwaXiSrS.js +1 -0
- package/dist/web/client/assets/{session-insights-panel-D0v_DKcb.js → session-insights-panel-BXEmuJKf.js} +1 -1
- package/dist/web/client/assets/session-reasoning-panel-CjJJK_bq.js +1 -0
- package/dist/web/client/assets/session-tool-renderer-DEABxZG3.js +166 -0
- package/dist/web/client/assets/{session-tree-panel-BBwP_EK2.js → session-tree-panel-5QgMvXoX.js} +1 -1
- package/dist/web/client/assets/settings-dialog-DiikSLhF.js +1 -0
- package/dist/web/client/assets/shield-check-7HDd-2Fn.js +1 -0
- package/dist/web/client/assets/{skeleton-DNAr5ULI.js → skeleton-B_Lq2XFl.js} +1 -1
- package/dist/web/client/assets/{skeleton-loaders-B28mF4tJ.js → skeleton-loaders-DWc1eDL3.js} +1 -1
- package/dist/web/client/assets/sparkles-CASAe1AI.js +1 -0
- package/dist/web/client/assets/{spinner-CSBXk3Lo.js → spinner-B5TaKP7k.js} +1 -1
- package/dist/web/client/assets/{subagent-chat-panel-DhvBO4dQ.js → subagent-chat-panel-R2RoX1Yt.js} +1 -1
- package/dist/web/client/assets/subagent-transcript-DVZhMo7a.js +1 -0
- package/dist/web/client/assets/{subagents-panel-DRo8Xs6j.js → subagents-panel-CMMRUP8F.js} +1 -1
- package/dist/web/client/assets/surfaces-BUjUJTyD.js +1 -0
- package/dist/web/client/assets/switch-BrxDfsX6.js +1 -0
- package/dist/web/client/assets/toast-BNWkgZ0u.js +1 -0
- package/dist/web/client/assets/tool-output-normalizer-DDU09Zc6.js +4 -0
- package/dist/web/client/assets/tool-part-normalizer-CF6bmJ0s.js +4 -0
- package/dist/web/client/assets/tool-result-7qREIVv_.js +5 -0
- package/dist/web/client/assets/tool-timeline-CGhwMeNl.js +2 -0
- package/dist/web/client/assets/trace-IsV5RRvM.js +1 -0
- package/dist/web/client/assets/trash-sm2UyOxe.js +1 -0
- package/dist/web/client/assets/types-gIgIxnnG.js +1 -0
- package/dist/web/client/assets/ui-preferences-B-PNDkyY.js +1 -0
- package/dist/web/client/assets/use-hover-capable-CLq8BADD.js +1 -0
- package/dist/web/client/assets/useBaseUiId-lKfDDIcw.js +1 -0
- package/dist/web/client/assets/useButton-CvcmqA2s.js +1 -0
- package/dist/web/client/assets/useNavigate-CVhM7pag.js +1 -0
- package/dist/web/client/assets/useRender-CzJUrRlB.js +1 -0
- package/dist/web/client/assets/useScrollLock-BcsteNzT.js +1 -0
- package/dist/web/client/assets/{utils-CFDGLzf6.js → utils-oBThwhjm.js} +1 -1
- package/dist/web/client/assets/with-selector-B_VDO56x.js +1 -0
- package/dist/web/client/assets/{workspace-panel-DdZutYnd.js → workspace-panel-Da5I4p_t.js} +1 -1
- package/dist/web/client/assets/workspace-path-nav-D-77sJ_A.js +2 -0
- package/dist/web/client/assets/wrench-BXX_Ah2s.js +1 -0
- package/dist/web/client/bundle-budget.json +6 -6
- package/dist/web/server/_tanstack-start-manifest_v-B6ne-00G-OFX7UD4K.js +119 -0
- package/dist/web/server/agents-BwzqhPjK-ANFHE5AG.js +22 -0
- package/dist/web/server/agents-page-DEqPV-eG-BR5MR74O.js +215 -0
- package/dist/web/server/{artifacts-panel-COSC8o7j-GKW2HH2G.js → artifacts-panel-DLO8OfXb-B2ZWCDFP.js} +35 -29
- package/dist/web/server/{chat-command-palette-CuOWdzkk-PKZQ5EZP.js → chat-command-palette-CaDQAMAu-KDH7BTDS.js} +22 -15
- package/dist/web/server/chunk-2ETDIMNM.js +40 -0
- package/dist/web/server/{chunk-2VKVSL6Y.js → chunk-35RIM6VP.js} +128 -127
- package/dist/web/server/chunk-5IE54MRG.js +207 -0
- package/dist/web/server/{chunk-VUBITQ5X.js → chunk-5MOXRFX6.js} +180 -7
- package/dist/web/server/{chunk-6GTTTYSE.js → chunk-6AFVCERK.js} +72 -79
- package/dist/web/server/chunk-6GYLXDX3.js +588 -0
- package/dist/web/server/chunk-7DQQMT5V.js +8993 -0
- package/dist/web/server/chunk-APOS34PW.js +8965 -0
- package/dist/web/server/{chunk-BUKOEXE7.js → chunk-AXN2OBPF.js} +2 -4
- package/dist/web/server/{chunk-WCKKN5BR.js → chunk-B5FKCW75.js} +357 -910
- package/dist/web/server/chunk-BD7YKYWL.js +1007 -0
- package/dist/web/server/{chunk-36CAMOVG.js → chunk-BZ2EAUZZ.js} +10 -12
- package/dist/web/server/chunk-CE7U5QB2.js +42 -0
- package/dist/web/server/chunk-FNV3WZXL.js +125 -0
- package/dist/web/server/{chunk-GLSR4ZI2.js → chunk-FSQWWR2M.js} +698 -832
- package/dist/web/server/chunk-FT7HNDR5.js +143 -0
- package/dist/web/server/chunk-GNXIDE26.js +44 -0
- package/dist/web/server/{chunk-ORCOCCER.js → chunk-HAFELESQ.js} +5 -7
- package/dist/web/server/{chunk-LLO4MNGE.js → chunk-HUHUPGHT.js} +53 -45
- package/dist/web/server/{chunk-QSM3BRMA.js → chunk-KBMRRJQN.js} +256 -157
- package/dist/web/server/chunk-KDCSEISZ.js +6890 -0
- package/dist/web/server/chunk-KSGGSGOA.js +50 -0
- package/dist/web/server/chunk-PQVTLG3E.js +270 -0
- package/dist/web/server/{chunk-YU6RHHK6.js → chunk-Q4ECIATK.js} +65 -53
- package/dist/web/server/{chunk-IN2ATSEG.js → chunk-R4BS3KYI.js} +2 -4
- package/dist/web/server/chunk-RX2ZJARF.js +73 -0
- package/dist/web/server/{chunk-AKSDWYJY.js → chunk-SYS5FDNA.js} +5 -5
- package/dist/web/server/chunk-TOJA3X5N.js +421 -0
- package/dist/web/server/chunk-TQ2RECTH.js +193 -0
- package/dist/web/server/{chunk-KHHXJZK7.js → chunk-TTNONWZZ.js} +16001 -14668
- package/dist/web/server/chunk-TXZDDJCT.js +5115 -0
- package/dist/web/server/{chunk-XA7EOCHM.js → chunk-UDUG3MYZ.js} +2 -2
- package/dist/web/server/{chunk-EBC7QORX.js → chunk-V2GCVTDP.js} +5056 -12556
- package/dist/web/server/{chunk-TMQ3MT3D.js → chunk-VDEUVEWL.js} +2255 -1
- package/dist/web/server/chunk-VM3U6PUU.js +769 -0
- package/dist/web/server/connectors-C0xm91Ss-DJVBGD73.js +22 -0
- package/dist/web/server/connectors-page-B6tJNZ6c-R5K4NSAT.js +66 -0
- package/dist/web/server/{create-project-dialog-0-arQpsX-ZELQKHS5.js → create-project-dialog-PFPHHWIV-GH7JR5IK.js} +27 -18
- package/dist/web/server/{dist-7G2NZPF4.js → dist-GQUZLXN5.js} +2 -2
- package/dist/web/server/{dist-E5637ZAY.js → dist-MN5NWCX6.js} +1 -1
- package/dist/web/server/{fork-picker-dialog-fj9p33Mq-I5SA3GLJ.js → fork-picker-dialog-DFpKOdAw-JPLJSYYU.js} +7 -12
- package/dist/web/server/{markdown-CShfYRVO-RBTK7TRB.js → markdown-Cc8V9dOF-JTNTJKQU.js} +7 -5
- package/dist/web/server/{markdown-code-BDV_2b2T-6JYA5FWZ.js → markdown-code-gaRnbgNM-V5LIRYCD.js} +46 -8
- package/dist/web/server/{message-queue-BBC843IU-GY4ZIMM4.js → message-queue-nQ2_kU82-KKSLYR4S.js} +7 -16
- package/dist/web/server/{model-selector-list-DE6aLNXt-LJZMCYOI.js → model-selector-list-By_G7_Hr-GXT27BZO.js} +12 -16
- package/dist/web/server/{openui-renderer-C3aqSKuS-PWLWJFYO.js → openui-renderer-B9D8-Av--LFZP4U5V.js} +20 -15
- package/dist/web/server/{prompt-suggestions-CpTK_fHV-UKJDTLVM.js → prompt-suggestions-B67Uy5Rk-5SMTSIFQ.js} +5 -4
- package/dist/web/server/{rehype-katex-IDPYWU6M.js → rehype-katex-CYHGKI6Q.js} +490 -843
- package/dist/web/server/{repl-panel-1kSS1UGd-U64BPA7X.js → repl-panel-1kSS1UGd-POXRYDDJ.js} +2 -3
- package/dist/web/server/{resources-panel-DWb0eGKa-K4EM3H7Y.js → resources-panel-CTzOOKPz-5G6RS2D6.js} +18 -12
- package/dist/web/server/router-CnBux_Ld-YTVBMJFL.js +23 -0
- package/dist/web/server/routes-BUGzvQoO-WW43X7W2.js +124 -0
- package/dist/web/server/server.js +3 -3
- package/dist/web/server/session-activity-panel-f0d3fCm7-I6L5IKFQ.js +181 -0
- package/dist/web/server/{session-insights-panel-CfMX2NRu-6HWZTTAC.js → session-insights-panel-BiVObm_6-AP4FITT7.js} +2 -12
- package/dist/web/server/session-reasoning-panel-QIt_xjP0-FKJWMNHO.js +70 -0
- package/dist/web/server/session-tool-renderer-Cg_ZPHxS-BNQKNJNZ.js +34 -0
- package/dist/web/server/{session-tree-panel-HNl6R9VZ-4JUF34M7.js → session-tree-panel-B--el8O5-NZOZJM5L.js} +18 -13
- package/dist/web/server/{settings-dialog-DGZBA5Z_-6HYFMPNZ.js → settings-dialog-D_eJN2ia-W47Y474K.js} +104 -795
- package/dist/web/server/{subagent-chat-panel-DuB4hqUk-LDCAJOCL.js → subagent-chat-panel-C9nWP21E-D5C2TTYD.js} +22 -17
- package/dist/web/server/{subagents-panel-wAvx3-Rs-L6UTDFUX.js → subagents-panel-fAKvBNRG-O7QHXNE2.js} +26 -22
- package/dist/web/server/{workspace-panel-CPzJZwgv-YS7PTI5C.js → workspace-panel-CZMNMU63-SYOSM3B7.js} +23 -17
- package/package.json +2 -2
- package/dist/web/client/assets/DialogTitle-D-zqaHvF.js +0 -1
- package/dist/web/client/assets/FloatingPortal-73ZRZeD9.js +0 -1
- package/dist/web/client/assets/action-swap-BcFwS6is.js +0 -1
- package/dist/web/client/assets/alert-dialog-DtXvVhsF.js +0 -1
- package/dist/web/client/assets/artifacts-panel-Bseg97yQ.js +0 -1
- package/dist/web/client/assets/badge-C--lf3bb.js +0 -57
- package/dist/web/client/assets/button-BJZe4vNJ.js +0 -1
- package/dist/web/client/assets/chat-command-palette-D_rm1r9d.js +0 -1
- package/dist/web/client/assets/chevron-up-CqeJYyZO.js +0 -1
- package/dist/web/client/assets/collapsible-DauSnbYp.js +0 -1
- package/dist/web/client/assets/create-project-dialog-m-9aoobN.js +0 -1
- package/dist/web/client/assets/createBaseUIEventDetails-DklXWq23.js +0 -1
- package/dist/web/client/assets/dialog-Ddouieuu.js +0 -1
- package/dist/web/client/assets/eye-Cs0lNChA.js +0 -1
- package/dist/web/client/assets/globals-C961mr-b.css +0 -2
- package/dist/web/client/assets/index-Bz5W4EOn.js +0 -13
- package/dist/web/client/assets/input-Def1xOZz.js +0 -1
- package/dist/web/client/assets/markdown-Big27m-v.js +0 -2
- package/dist/web/client/assets/markdown-code-7L4RiS50.js +0 -3
- package/dist/web/client/assets/message-queue-Bg2MiJHM.js +0 -1
- package/dist/web/client/assets/mutation-DOi2Qgfa.js +0 -1
- package/dist/web/client/assets/notify-DhtmUPfE.js +0 -1
- package/dist/web/client/assets/openui-renderer-MIB3JKYa.js +0 -291
- package/dist/web/client/assets/provider-label-B_vy60P0.js +0 -1
- package/dist/web/client/assets/rehype-katex-A4PtQgTX.js +0 -259
- package/dist/web/client/assets/right-panel-context-DHKWoetk.js +0 -1
- package/dist/web/client/assets/right-panel-registry-hKJN__3l.js +0 -2
- package/dist/web/client/assets/routes-C3h32Lj_.js +0 -16
- package/dist/web/client/assets/select-Buvv1tIo.js +0 -1
- package/dist/web/client/assets/session-reasoning-panel-DmEbXOrR.js +0 -1
- package/dist/web/client/assets/session-tool-renderer-Daol5fJw.js +0 -169
- package/dist/web/client/assets/settings-dialog-DYbx3xuq.js +0 -2
- package/dist/web/client/assets/sparkles-D_ANe-HY.js +0 -1
- package/dist/web/client/assets/subagent-transcript-Bx-rHni-.js +0 -1
- package/dist/web/client/assets/surfaces-B8xTOFeK.js +0 -1
- package/dist/web/client/assets/switch-CDfAwEvs.js +0 -1
- package/dist/web/client/assets/terminal-Ceucj7us.js +0 -1
- package/dist/web/client/assets/toast-9zXN-yVk.js +0 -1
- package/dist/web/client/assets/tool-part-normalizer-NbPs9kd1.js +0 -4
- package/dist/web/client/assets/tool-result-BccnO34D.js +0 -4
- package/dist/web/client/assets/tool-timeline-DlBZyd4j.js +0 -1
- package/dist/web/client/assets/types-D5hZ8IyV.js +0 -1
- package/dist/web/client/assets/ui-preferences-1YaENqef.js +0 -1
- package/dist/web/client/assets/use-hover-capable-MwFjBLZQ.js +0 -1
- package/dist/web/client/assets/workspace-path-nav-BRwuLsFl.js +0 -2
- package/dist/web/client/assets/wrench-BYnD147U.js +0 -1
- package/dist/web/server/_tanstack-start-manifest_v-YlngJGUa-YTWBGR7L.js +0 -93
- package/dist/web/server/chunk-2PAW6K4Q.js +0 -56
- package/dist/web/server/chunk-CHSKEU3V.js +0 -166
- package/dist/web/server/chunk-FB3UHLLN.js +0 -49
- package/dist/web/server/chunk-GLH2GWMG.js +0 -2182
- package/dist/web/server/chunk-OXEAXEWD.js +0 -13
- package/dist/web/server/chunk-SIJVVYQT.js +0 -234
- package/dist/web/server/chunk-UQV2NU63.js +0 -163
- package/dist/web/server/chunk-ZUZPJNLY.js +0 -25217
- package/dist/web/server/router-DZYr-9uT-AEXHEFXF.js +0 -31
- package/dist/web/server/routes-vYxWRhis-AAZ73SNP.js +0 -120
- package/dist/web/server/session-reasoning-panel-XXU2yIOW-XXCKHISS.js +0 -192
- package/dist/web/server/session-tool-renderer-Dtt74Mts-7YYNSWRV.js +0 -29
- package/dist/web/server/tool-timeline-BKWsrZHK-3LGCOTPH.js +0 -12
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
EASE_OUT,
|
|
3
|
+
EASE_OUT_CSS,
|
|
4
4
|
SPRING_PRESS,
|
|
5
5
|
SPRING_SWAP
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RX2ZJARF.js";
|
|
7
7
|
import {
|
|
8
|
+
AnimatePresence,
|
|
8
9
|
m,
|
|
9
10
|
useReducedMotion
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7DQQMT5V.js";
|
|
12
|
+
import {
|
|
13
|
+
CodeBlock,
|
|
14
|
+
CodeBlockActions,
|
|
15
|
+
CodeBlockContent,
|
|
16
|
+
CodeBlockCopyButton,
|
|
17
|
+
CodeBlockHeader,
|
|
18
|
+
CodeBlockTitle
|
|
19
|
+
} from "./chunk-FNV3WZXL.js";
|
|
11
20
|
import {
|
|
12
21
|
Ban,
|
|
13
22
|
Braces,
|
|
@@ -19,13 +28,11 @@ import {
|
|
|
19
28
|
FileCodeCorner,
|
|
20
29
|
LoaderCircle,
|
|
21
30
|
SquareTerminal,
|
|
22
|
-
Wrench
|
|
23
|
-
} from "./chunk-GLH2GWMG.js";
|
|
24
|
-
import {
|
|
31
|
+
Wrench,
|
|
25
32
|
cn
|
|
26
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-VDEUVEWL.js";
|
|
27
34
|
|
|
28
|
-
// web/app/dist/server/assets/tool-result-
|
|
35
|
+
// web/app/dist/server/assets/tool-result-B10zDHzv.js
|
|
29
36
|
import { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
30
37
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
31
38
|
var LIGHT_THEME = "github-light-high-contrast";
|
|
@@ -113,127 +120,42 @@ function useAgentCodeTokens(code, language) {
|
|
|
113
120
|
if (result?.language === language && code.startsWith(result.code)) return result.lines;
|
|
114
121
|
return null;
|
|
115
122
|
}
|
|
116
|
-
function AgentCodeLine({ code, tokens, className }) {
|
|
117
|
-
return /* @__PURE__ */
|
|
123
|
+
function AgentCodeLine({ code, tokens, suffix, className }) {
|
|
124
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
118
125
|
className,
|
|
119
|
-
children: tokens ? tokens.map((token) => /* @__PURE__ */ jsx("span", {
|
|
126
|
+
children: [tokens ? tokens.map((token) => /* @__PURE__ */ jsx("span", {
|
|
120
127
|
style: {
|
|
121
128
|
"--agent-code-light": token.light ?? "currentColor",
|
|
122
129
|
"--agent-code-dark": token.dark ?? token.light ?? "currentColor"
|
|
123
130
|
},
|
|
124
131
|
className: "text-[var(--agent-code-light)] dark:text-[var(--agent-code-dark)]",
|
|
125
132
|
children: token.content
|
|
126
|
-
}, `${token.offset}-${token.content}`)) : code
|
|
133
|
+
}, `${token.offset}-${token.content}`)) : code, suffix]
|
|
127
134
|
});
|
|
128
135
|
}
|
|
129
|
-
|
|
130
|
-
function CodeBlock({ code, language = "typescript", languageLabel, filename, status = "complete", showStatus = true, showLineNumbers = true, highlightLines = EMPTY_HIGHLIGHT_LINES, maxHeight = 280, wrap = false, copyable = true, onCopy, className }) {
|
|
136
|
+
function AgentDisclosure({ open, openHeight = "auto", className, style, transition, ...props }) {
|
|
131
137
|
const reduce = useReducedMotion() ?? false;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
tsx: "TSX",
|
|
154
|
-
typescript: "TypeScript"
|
|
155
|
-
}[language];
|
|
156
|
-
useEffect(() => () => {
|
|
157
|
-
if (copyTimer.current) window.clearTimeout(copyTimer.current);
|
|
158
|
-
}, []);
|
|
159
|
-
useLayoutEffect(() => {
|
|
160
|
-
const viewport = viewportRef.current;
|
|
161
|
-
if (!viewport || !streaming) return;
|
|
162
|
-
const frame = requestAnimationFrame(() => {
|
|
163
|
-
if (viewport.scrollHeight <= viewport.clientHeight) return;
|
|
164
|
-
if (typeof viewport.scrollTo === "function") viewport.scrollTo({
|
|
165
|
-
top: viewport.scrollHeight,
|
|
166
|
-
behavior: reduce ? "auto" : "smooth"
|
|
167
|
-
});
|
|
168
|
-
else viewport.scrollTop = viewport.scrollHeight;
|
|
169
|
-
});
|
|
170
|
-
return () => cancelAnimationFrame(frame);
|
|
171
|
-
});
|
|
172
|
-
const handleCopy = useCallback(async () => {
|
|
173
|
-
if (onCopy) await onCopy();
|
|
174
|
-
else await navigator.clipboard?.writeText(code);
|
|
175
|
-
setCopied(true);
|
|
176
|
-
if (copyTimer.current) window.clearTimeout(copyTimer.current);
|
|
177
|
-
copyTimer.current = window.setTimeout(() => setCopied(false), 1600);
|
|
178
|
-
}, [code, onCopy]);
|
|
179
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
180
|
-
"data-state": status,
|
|
181
|
-
"aria-busy": streaming,
|
|
182
|
-
className: cn("w-full overflow-hidden rounded-2xl bg-muted/80 text-sm", className),
|
|
183
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
184
|
-
className: "flex h-10 items-center gap-2.5 px-3",
|
|
185
|
-
children: [
|
|
186
|
-
/* @__PURE__ */ jsx(FileCodeCorner, {
|
|
187
|
-
"aria-hidden": "true",
|
|
188
|
-
className: "size-3.5 shrink-0 text-muted-foreground/70"
|
|
189
|
-
}),
|
|
190
|
-
filename ? /* @__PURE__ */ jsx("span", {
|
|
191
|
-
className: "min-w-0 truncate font-mono text-xs text-foreground/80",
|
|
192
|
-
children: filename
|
|
193
|
-
}) : null,
|
|
194
|
-
/* @__PURE__ */ jsx("span", {
|
|
195
|
-
className: "text-micro font-medium uppercase tracking-wide text-muted-foreground/55",
|
|
196
|
-
children: resolvedLanguageLabel
|
|
197
|
-
}),
|
|
198
|
-
showStatus ? /* @__PURE__ */ jsxs("span", {
|
|
199
|
-
className: cn("ml-auto inline-flex shrink-0 items-center gap-1 text-micro font-medium", streaming ? "text-info" : "text-success"),
|
|
200
|
-
children: [streaming ? /* @__PURE__ */ jsx(LoaderCircle, { className: cn("size-3", !reduce && "animate-spin") }) : /* @__PURE__ */ jsx(Check, { className: "size-3" }), streaming ? "Writing" : "Ready"]
|
|
201
|
-
}) : null,
|
|
202
|
-
copyable || onCopy ? /* @__PURE__ */ jsx(m.button, {
|
|
203
|
-
type: "button",
|
|
204
|
-
"aria-label": copied ? "Copied" : "Copy code",
|
|
205
|
-
title: copied ? "Copied" : "Copy code",
|
|
206
|
-
onClick: handleCopy,
|
|
207
|
-
whileTap: reduce ? void 0 : { scale: 0.96 },
|
|
208
|
-
transition: SPRING_PRESS,
|
|
209
|
-
className: cn("grid size-7 shrink-0 place-items-center rounded-full text-muted-foreground outline-none transition-colors hover:bg-background/70 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring", !showStatus && "ml-auto"),
|
|
210
|
-
children: copied ? /* @__PURE__ */ jsx(Check, { className: "size-3.5" }) : /* @__PURE__ */ jsx(Copy, { className: "size-3.5" })
|
|
211
|
-
}) : null
|
|
212
|
-
]
|
|
213
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
214
|
-
ref: viewportRef,
|
|
215
|
-
role: streaming ? "log" : void 0,
|
|
216
|
-
"aria-live": streaming ? "off" : void 0,
|
|
217
|
-
className: "overflow-auto border-t border-foreground/[0.06] py-2 [scrollbar-color:color-mix(in_oklab,var(--muted-foreground)_35%,transparent)_transparent] [scrollbar-width:thin]",
|
|
218
|
-
style: { maxHeight },
|
|
219
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
220
|
-
className: "m-0 min-w-max font-mono text-xs leading-5 text-foreground/85",
|
|
221
|
-
children: /* @__PURE__ */ jsx("code", { children: lines.map((line, index) => {
|
|
222
|
-
const lineNumber = index + 1;
|
|
223
|
-
return /* @__PURE__ */ jsxs("span", {
|
|
224
|
-
className: cn("grid min-h-5", showLineNumbers ? "grid-cols-[2.75rem_minmax(0,1fr)]" : "grid-cols-1", highlighted.has(lineNumber) && "bg-primary/[0.07]"),
|
|
225
|
-
children: [showLineNumbers ? /* @__PURE__ */ jsx("span", {
|
|
226
|
-
className: "select-none pr-3 text-right tabular-nums text-muted-foreground/35",
|
|
227
|
-
children: lineNumber
|
|
228
|
-
}) : null, /* @__PURE__ */ jsx(AgentCodeLine, {
|
|
229
|
-
code: line.content,
|
|
230
|
-
tokens: tokens?.[index],
|
|
231
|
-
className: cn("pr-4", showLineNumbers ? "pl-1" : "pl-4", wrap ? "whitespace-pre-wrap break-words" : "whitespace-pre")
|
|
232
|
-
})]
|
|
233
|
-
}, line.offset);
|
|
234
|
-
}) })
|
|
235
|
-
})
|
|
236
|
-
})]
|
|
138
|
+
return /* @__PURE__ */ jsx(m.div, {
|
|
139
|
+
...props,
|
|
140
|
+
"aria-hidden": !open,
|
|
141
|
+
inert: !open,
|
|
142
|
+
initial: false,
|
|
143
|
+
animate: reduce ? { opacity: open ? 1 : 0 } : {
|
|
144
|
+
opacity: open ? 1 : 0,
|
|
145
|
+
clipPath: open ? "inset(0 0 0% 0)" : "inset(0 0 100% 0)",
|
|
146
|
+
y: open ? 0 : -4
|
|
147
|
+
},
|
|
148
|
+
transition: transition ?? {
|
|
149
|
+
duration: reduce ? 0 : open ? 0.22 : 0.14,
|
|
150
|
+
ease: EASE_OUT
|
|
151
|
+
},
|
|
152
|
+
className: cn("overflow-hidden", className),
|
|
153
|
+
style: {
|
|
154
|
+
...style,
|
|
155
|
+
height: open ? openHeight : 0,
|
|
156
|
+
pointerEvents: open ? void 0 : "none",
|
|
157
|
+
transformOrigin: "top"
|
|
158
|
+
}
|
|
237
159
|
});
|
|
238
160
|
}
|
|
239
161
|
function ChangeCount({ value, type }) {
|
|
@@ -413,6 +335,177 @@ function FileDiff({ file, lines, status = "streaming", open, defaultOpen = true,
|
|
|
413
335
|
})]
|
|
414
336
|
});
|
|
415
337
|
}
|
|
338
|
+
var EMPTY_HIGHLIGHT_LINES = [];
|
|
339
|
+
function CodeBlock2({ code, language = "typescript", languageLabel, filename, status = "complete", showStatus = true, showLineNumbers = true, highlightLines = EMPTY_HIGHLIGHT_LINES, maxHeight = 280, wrap = false, copyable = true, onCopy }) {
|
|
340
|
+
const reduce = useReducedMotion() ?? false;
|
|
341
|
+
const viewportRef = useRef(null);
|
|
342
|
+
const copyTimer = useRef(void 0);
|
|
343
|
+
const [copied, setCopied] = useState(false);
|
|
344
|
+
const streaming = status === "streaming";
|
|
345
|
+
const tokens = useAgentCodeTokens(code, language);
|
|
346
|
+
const highlighted = useMemo(() => new Set(highlightLines), [highlightLines]);
|
|
347
|
+
let offset = 0;
|
|
348
|
+
const lines = code.split("\n").map((content) => {
|
|
349
|
+
const line = {
|
|
350
|
+
content,
|
|
351
|
+
offset
|
|
352
|
+
};
|
|
353
|
+
offset += content.length + 1;
|
|
354
|
+
return line;
|
|
355
|
+
});
|
|
356
|
+
const resolvedLanguageLabel = languageLabel ?? {
|
|
357
|
+
bash: "Bash",
|
|
358
|
+
diff: "Diff",
|
|
359
|
+
json: "JSON",
|
|
360
|
+
python: "Python",
|
|
361
|
+
text: "Text",
|
|
362
|
+
tsx: "TSX",
|
|
363
|
+
typescript: "TypeScript"
|
|
364
|
+
}[language];
|
|
365
|
+
useEffect(() => () => {
|
|
366
|
+
if (copyTimer.current) window.clearTimeout(copyTimer.current);
|
|
367
|
+
}, []);
|
|
368
|
+
useLayoutEffect(() => {
|
|
369
|
+
const viewport = viewportRef.current;
|
|
370
|
+
if (!viewport || !streaming) return;
|
|
371
|
+
const frame = requestAnimationFrame(() => {
|
|
372
|
+
if (viewport.scrollHeight <= viewport.clientHeight) return;
|
|
373
|
+
if (typeof viewport.scrollTo === "function") viewport.scrollTo({
|
|
374
|
+
top: viewport.scrollHeight,
|
|
375
|
+
behavior: reduce ? "auto" : "smooth"
|
|
376
|
+
});
|
|
377
|
+
else viewport.scrollTop = viewport.scrollHeight;
|
|
378
|
+
});
|
|
379
|
+
return () => cancelAnimationFrame(frame);
|
|
380
|
+
});
|
|
381
|
+
const handleCopy = useCallback(async () => {
|
|
382
|
+
if (onCopy) await onCopy();
|
|
383
|
+
else await navigator.clipboard?.writeText(code);
|
|
384
|
+
setCopied(true);
|
|
385
|
+
if (copyTimer.current) window.clearTimeout(copyTimer.current);
|
|
386
|
+
copyTimer.current = window.setTimeout(() => setCopied(false), 1600);
|
|
387
|
+
}, [code, onCopy]);
|
|
388
|
+
return /* @__PURE__ */ jsxs(CodeBlock, {
|
|
389
|
+
"data-state": status,
|
|
390
|
+
"aria-busy": streaming,
|
|
391
|
+
size: "sm",
|
|
392
|
+
className: "bg-muted/80",
|
|
393
|
+
children: [/* @__PURE__ */ jsxs(CodeBlockHeader, {
|
|
394
|
+
className: "h-10 gap-2.5 px-3 pt-0",
|
|
395
|
+
children: [
|
|
396
|
+
/* @__PURE__ */ jsx(FileCodeCorner, {
|
|
397
|
+
"aria-hidden": "true",
|
|
398
|
+
className: "size-3.5 shrink-0 text-muted-foreground/70"
|
|
399
|
+
}),
|
|
400
|
+
filename ? /* @__PURE__ */ jsx(CodeBlockTitle, {
|
|
401
|
+
className: "font-mono text-xs text-foreground/80",
|
|
402
|
+
children: filename
|
|
403
|
+
}) : null,
|
|
404
|
+
/* @__PURE__ */ jsx("span", {
|
|
405
|
+
className: "text-micro font-medium uppercase tracking-wide text-muted-foreground/55",
|
|
406
|
+
children: resolvedLanguageLabel
|
|
407
|
+
}),
|
|
408
|
+
showStatus ? /* @__PURE__ */ jsxs("span", {
|
|
409
|
+
className: cn(!copyable && !onCopy && "ml-auto", "inline-flex shrink-0 items-center gap-1 text-micro font-medium", streaming ? "text-info" : "text-success"),
|
|
410
|
+
children: [streaming ? /* @__PURE__ */ jsx(LoaderCircle, { className: cn("size-3", !reduce && "animate-spin") }) : /* @__PURE__ */ jsx(Check, { className: "size-3" }), streaming ? "Writing" : "Ready"]
|
|
411
|
+
}) : null,
|
|
412
|
+
copyable || onCopy ? /* @__PURE__ */ jsx(CodeBlockActions, {
|
|
413
|
+
className: cn("-my-0 -me-0", showStatus ? "ms-0" : "ms-auto"),
|
|
414
|
+
children: /* @__PURE__ */ jsx(m.button, {
|
|
415
|
+
type: "button",
|
|
416
|
+
"aria-label": copied ? "Copied" : "Copy code",
|
|
417
|
+
title: copied ? "Copied" : "Copy code",
|
|
418
|
+
onClick: handleCopy,
|
|
419
|
+
whileTap: reduce ? void 0 : { scale: 0.96 },
|
|
420
|
+
transition: SPRING_PRESS,
|
|
421
|
+
className: "grid size-7 shrink-0 place-items-center rounded-full text-muted-foreground outline-none transition-colors hover:bg-background/70 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",
|
|
422
|
+
children: copied ? /* @__PURE__ */ jsx(Check, { className: "size-3.5" }) : /* @__PURE__ */ jsx(Copy, { className: "size-3.5" })
|
|
423
|
+
})
|
|
424
|
+
}) : null
|
|
425
|
+
]
|
|
426
|
+
}), /* @__PURE__ */ jsx(CodeBlockContent, {
|
|
427
|
+
ref: viewportRef,
|
|
428
|
+
role: streaming ? "log" : void 0,
|
|
429
|
+
"aria-live": streaming ? "off" : void 0,
|
|
430
|
+
className: "max-w-full overflow-auto border-t border-foreground/[0.06] px-0 py-2 font-mono text-xs leading-5 text-foreground/85 [scrollbar-color:color-mix(in_oklab,var(--muted-foreground)_35%,transparent)_transparent] [scrollbar-width:thin]",
|
|
431
|
+
style: { maxHeight },
|
|
432
|
+
wrap,
|
|
433
|
+
children: lines.map((line, index) => {
|
|
434
|
+
const lineNumber = index + 1;
|
|
435
|
+
return /* @__PURE__ */ jsx("span", {
|
|
436
|
+
"data-line-number": showLineNumbers ? lineNumber : void 0,
|
|
437
|
+
className: cn("grid min-h-5", showLineNumbers ? "grid-cols-[2.75rem_minmax(0,1fr)] before:content-[attr(data-line-number)] before:select-none before:pr-3 before:text-right before:tabular-nums before:text-muted-foreground/35" : "grid-cols-1", highlighted.has(lineNumber) && "bg-primary/[0.07]"),
|
|
438
|
+
children: /* @__PURE__ */ jsx(AgentCodeLine, {
|
|
439
|
+
code: line.content,
|
|
440
|
+
tokens: tokens?.[index],
|
|
441
|
+
suffix: index < lines.length - 1 ? "\n" : void 0,
|
|
442
|
+
className: cn("pr-4", showLineNumbers ? "pl-1" : "pl-4", wrap ? "whitespace-pre-wrap break-words" : "whitespace-pre")
|
|
443
|
+
})
|
|
444
|
+
}, line.offset);
|
|
445
|
+
})
|
|
446
|
+
})]
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
var ROLL_VARIANTS = {
|
|
450
|
+
initial: {
|
|
451
|
+
opacity: 0,
|
|
452
|
+
y: "90%",
|
|
453
|
+
filter: "blur(3px)"
|
|
454
|
+
},
|
|
455
|
+
animate: {
|
|
456
|
+
opacity: 1,
|
|
457
|
+
y: "0%",
|
|
458
|
+
filter: "blur(0px)",
|
|
459
|
+
transition: SPRING_SWAP
|
|
460
|
+
},
|
|
461
|
+
exit: {
|
|
462
|
+
opacity: 0,
|
|
463
|
+
y: "-90%",
|
|
464
|
+
filter: "blur(3px)",
|
|
465
|
+
transition: {
|
|
466
|
+
duration: 0.14,
|
|
467
|
+
ease: EASE_OUT
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
function ActionSwapRollText({ value, children, className }) {
|
|
472
|
+
const reduce = useReducedMotion();
|
|
473
|
+
const measureRef = useRef(null);
|
|
474
|
+
const [width, setWidth] = useState();
|
|
475
|
+
useLayoutEffect(() => {
|
|
476
|
+
const nextWidth = measureRef.current?.offsetWidth;
|
|
477
|
+
if (!nextWidth) return;
|
|
478
|
+
setWidth((currentWidth) => currentWidth === nextWidth ? currentWidth : nextWidth);
|
|
479
|
+
});
|
|
480
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
481
|
+
className: cn("relative inline-block overflow-hidden whitespace-nowrap align-bottom", className),
|
|
482
|
+
style: {
|
|
483
|
+
width,
|
|
484
|
+
transition: reduce ? void 0 : `width 220ms ${EASE_OUT_CSS}`
|
|
485
|
+
},
|
|
486
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
487
|
+
ref: measureRef,
|
|
488
|
+
"aria-hidden": true,
|
|
489
|
+
className: "invisible inline-block whitespace-nowrap",
|
|
490
|
+
children
|
|
491
|
+
}), /* @__PURE__ */ jsx(AnimatePresence, {
|
|
492
|
+
initial: false,
|
|
493
|
+
children: /* @__PURE__ */ jsx(m.span, {
|
|
494
|
+
variants: ROLL_VARIANTS,
|
|
495
|
+
initial: reduce ? false : "initial",
|
|
496
|
+
animate: reduce ? {
|
|
497
|
+
opacity: 1,
|
|
498
|
+
filter: "blur(0px)",
|
|
499
|
+
scale: 1,
|
|
500
|
+
y: 0
|
|
501
|
+
} : "animate",
|
|
502
|
+
exit: reduce ? void 0 : "exit",
|
|
503
|
+
className: "absolute left-0 top-0 inline-block",
|
|
504
|
+
children
|
|
505
|
+
}, `roll-${value}`)
|
|
506
|
+
})]
|
|
507
|
+
});
|
|
508
|
+
}
|
|
416
509
|
function getStatusLabel(status) {
|
|
417
510
|
if (status === "running") return "Running";
|
|
418
511
|
if (status === "success") return "Completed";
|
|
@@ -449,15 +542,25 @@ function ToolResultAction({ label, onClick, children }) {
|
|
|
449
542
|
children
|
|
450
543
|
});
|
|
451
544
|
}
|
|
452
|
-
function ToolResultOutput({ children, language: _language = "bash", label, className }) {
|
|
453
|
-
return /* @__PURE__ */ jsxs(
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
className:
|
|
460
|
-
children: /* @__PURE__ */ jsx(
|
|
545
|
+
function ToolResultOutput({ children, language: _language = "bash", label, error = false, className }) {
|
|
546
|
+
return /* @__PURE__ */ jsxs(CodeBlock, {
|
|
547
|
+
"data-error": error || void 0,
|
|
548
|
+
variant: error ? "destructive" : "default",
|
|
549
|
+
size: "sm",
|
|
550
|
+
className,
|
|
551
|
+
children: [/* @__PURE__ */ jsxs(CodeBlockHeader, {
|
|
552
|
+
className: "py-1",
|
|
553
|
+
children: [label ? /* @__PURE__ */ jsx(CodeBlockTitle, {
|
|
554
|
+
className: cn("text-micro uppercase tracking-[0.12em]", error ? "text-destructive" : "text-muted-foreground/60"),
|
|
555
|
+
children: error ? "Reported error" : label
|
|
556
|
+
}) : null, /* @__PURE__ */ jsx(CodeBlockActions, { children: /* @__PURE__ */ jsx(CodeBlockCopyButton, {
|
|
557
|
+
value: children,
|
|
558
|
+
"aria-label": "Copy result"
|
|
559
|
+
}) })]
|
|
560
|
+
}), /* @__PURE__ */ jsx(CodeBlockContent, {
|
|
561
|
+
wrap: true,
|
|
562
|
+
className: cn("max-h-60 text-xs leading-5", error ? "text-destructive" : "text-foreground/80"),
|
|
563
|
+
children
|
|
461
564
|
})]
|
|
462
565
|
});
|
|
463
566
|
}
|
|
@@ -519,7 +622,7 @@ function ToolResult({ tool, title, children, status = "running", kind = "custom"
|
|
|
519
622
|
"aria-expanded": currentOpen,
|
|
520
623
|
"aria-controls": contentId,
|
|
521
624
|
onClick: () => setOpen(!currentOpen),
|
|
522
|
-
className: "group flex min-h-9 w-full items-center gap-2
|
|
625
|
+
className: "group flex min-h-9 w-full items-center gap-2 py-1 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
523
626
|
children: [
|
|
524
627
|
/* @__PURE__ */ jsx("span", {
|
|
525
628
|
"aria-hidden": "true",
|
|
@@ -568,41 +671,37 @@ function ToolResult({ tool, title, children, status = "running", kind = "custom"
|
|
|
568
671
|
open: currentOpen,
|
|
569
672
|
children: /* @__PURE__ */ jsx("div", {
|
|
570
673
|
className: "pl-6 pt-1.5",
|
|
571
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
674
|
+
children: /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
675
|
+
ref: viewportRef,
|
|
676
|
+
role: "log",
|
|
677
|
+
"aria-live": "polite",
|
|
678
|
+
className: "scrollbar-hide overflow-y-auto overscroll-contain",
|
|
679
|
+
style: { maxHeight },
|
|
680
|
+
children
|
|
681
|
+
}), canCopy ? /* @__PURE__ */ jsxs("div", {
|
|
682
|
+
className: "flex items-center gap-0.5 px-2 pb-1.5",
|
|
683
|
+
children: [/* @__PURE__ */ jsx(ToolResultAction, {
|
|
684
|
+
label: copied ? "Copied" : "Copy result",
|
|
685
|
+
onClick: handleCopy,
|
|
686
|
+
children: copied ? /* @__PURE__ */ jsx(Check, { className: "size-3.5" }) : /* @__PURE__ */ jsx(Copy, { className: "size-3.5" })
|
|
687
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
688
|
+
className: "ml-auto text-caption text-muted-foreground/55",
|
|
689
|
+
children: /* @__PURE__ */ jsx(ActionSwapRollText, {
|
|
690
|
+
value: status,
|
|
691
|
+
children: statusLabel
|
|
582
692
|
})
|
|
583
|
-
})
|
|
584
|
-
|
|
585
|
-
children: [/* @__PURE__ */ jsx(ToolResultAction, {
|
|
586
|
-
label: copied ? "Copied" : "Copy result",
|
|
587
|
-
onClick: handleCopy,
|
|
588
|
-
children: copied ? /* @__PURE__ */ jsx(Check, { className: "size-3.5" }) : /* @__PURE__ */ jsx(Copy, { className: "size-3.5" })
|
|
589
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
590
|
-
className: "ml-auto text-caption text-muted-foreground/55",
|
|
591
|
-
children: /* @__PURE__ */ jsx(ActionSwapRollText, {
|
|
592
|
-
value: status,
|
|
593
|
-
children: statusLabel
|
|
594
|
-
})
|
|
595
|
-
})]
|
|
596
|
-
}) : null]
|
|
597
|
-
})
|
|
693
|
+
})]
|
|
694
|
+
}) : null] })
|
|
598
695
|
})
|
|
599
696
|
})]
|
|
600
697
|
});
|
|
601
698
|
}
|
|
602
699
|
|
|
603
700
|
export {
|
|
604
|
-
|
|
701
|
+
AgentDisclosure,
|
|
605
702
|
FileDiff,
|
|
703
|
+
CodeBlock2 as CodeBlock,
|
|
704
|
+
ActionSwapRollText,
|
|
606
705
|
ToolResultOutput,
|
|
607
706
|
ToolResult
|
|
608
707
|
};
|