@xpert-ai/chatkit-ui 0.3.5 → 0.3.6
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/dist/app/assets/{_baseUniq-CAxobs9N.js → _baseUniq-PQJUyd2p.js} +1 -1
- package/dist/app/assets/{abap-wdK8JaHa.js → abap-DBNQvwwq.js} +1 -1
- package/dist/app/assets/{abnf-B4QVrCDX.js → abnf-DAYjyqbD.js} +1 -1
- package/dist/app/assets/{actionscript-BbKSvJrq.js → actionscript-CC6WSmTp.js} +1 -1
- package/dist/app/assets/{ada-BkwiItKH.js → ada-BKGodcKv.js} +1 -1
- package/dist/app/assets/{agda-BHGf_Fgl.js → agda-Btmo1dV2.js} +1 -1
- package/dist/app/assets/{al-CpdhQzD9.js → al-ZGIJe93k.js} +1 -1
- package/dist/app/assets/{antlr4-CLQ7xEno.js → antlr4-5WGUtMyl.js} +1 -1
- package/dist/app/assets/{apacheconf-6iBdrfFM.js → apacheconf-DUR_1QqW.js} +1 -1
- package/dist/app/assets/{apex-DBXBvaz5.js → apex-BintsQD-.js} +1 -1
- package/dist/app/assets/{apl-D8vc149P.js → apl-B7pUHOBS.js} +1 -1
- package/dist/app/assets/{applescript-BTZUYWS_.js → applescript-CanCSogn.js} +1 -1
- package/dist/app/assets/{aql-BxB6KDJQ.js → aql-iDHrUFca.js} +1 -1
- package/dist/app/assets/{arc-CNi1G9DJ.js → arc-VbTm84dM.js} +1 -1
- package/dist/app/assets/{architectureDiagram-Q4EWVU46-BL0mPAR9.js → architectureDiagram-Q4EWVU46-BwbXOlsJ.js} +1 -1
- package/dist/app/assets/{arduino-Cx04QCrp.js → arduino-CvuY6cDV.js} +1 -1
- package/dist/app/assets/{arff-MqnrnEC8.js → arff-C7UK1Sqo.js} +1 -1
- package/dist/app/assets/{asciidoc-sz7M5yXr.js → asciidoc-jaQgm_Ci.js} +1 -1
- package/dist/app/assets/{asm6502-BZ8xfWko.js → asm6502-Bec9iTSO.js} +1 -1
- package/dist/app/assets/{asmatmel-D-cI_as7.js → asmatmel-CWWLYM-f.js} +1 -1
- package/dist/app/assets/{aspnet-wNdsZF1M.js → aspnet-EICvaNos.js} +1 -1
- package/dist/app/assets/{autohotkey-CERdGivs.js → autohotkey-CgvCc8dt.js} +1 -1
- package/dist/app/assets/{autoit-CQsoUza0.js → autoit-BbrdfXjj.js} +1 -1
- package/dist/app/assets/{avisynth-DMTk2nsi.js → avisynth-C7cOgG-q.js} +1 -1
- package/dist/app/assets/{avro-idl-VdXZfwVL.js → avro-idl-BsT9yVqS.js} +1 -1
- package/dist/app/assets/{bash-BKoQnhB6.js → bash-BF1ylQ6_.js} +1 -1
- package/dist/app/assets/{basic-BvRsQ9vo.js → basic-DyO_cuAQ.js} +1 -1
- package/dist/app/assets/{batch-DkZb4POU.js → batch-DdxmhDRT.js} +1 -1
- package/dist/app/assets/{bbcode-BkkYngk6.js → bbcode-Csh0dpf7.js} +1 -1
- package/dist/app/assets/{bicep-DY62eX6n.js → bicep-CEnRCsw4.js} +1 -1
- package/dist/app/assets/{birb-Cf3Wn8DP.js → birb-H4aZEyfE.js} +1 -1
- package/dist/app/assets/{bison-CMVsgR8E.js → bison-B4NzJQL4.js} +1 -1
- package/dist/app/assets/{blockDiagram-DXYQGD6D-DdgOXTCq.js → blockDiagram-DXYQGD6D-BQrs2vZp.js} +1 -1
- package/dist/app/assets/{bnf-C53AC5ba.js → bnf-BpnLOKBL.js} +1 -1
- package/dist/app/assets/{brainfuck-DBcYtGip.js → brainfuck-BcXFtTZS.js} +1 -1
- package/dist/app/assets/{brightscript-uWYyj7Le.js → brightscript-C-G4maiE.js} +1 -1
- package/dist/app/assets/{bro-Bnqn5jLn.js → bro-JcLlkXX7.js} +1 -1
- package/dist/app/assets/{bsl-eeHcx6I3.js → bsl-C7EgrPBt.js} +1 -1
- package/dist/app/assets/{c-Y_E2ZZ8h.js → c-0vDIBgc3.js} +1 -1
- package/dist/app/assets/{c4Diagram-AHTNJAMY-BAZeiIaA.js → c4Diagram-AHTNJAMY-wtHHI5rn.js} +1 -1
- package/dist/app/assets/{cfscript-swSriW5q.js → cfscript-B5a7v4dm.js} +1 -1
- package/dist/app/assets/{chaiscript-BHR5pIfl.js → chaiscript-CC6j4sQE.js} +1 -1
- package/dist/app/assets/channel-B6zrZ2OM.js +1 -0
- package/dist/app/assets/{chunk-4BX2VUAB-Deyo77pg.js → chunk-4BX2VUAB-Dlz831RQ.js} +1 -1
- package/dist/app/assets/{chunk-4TB4RGXK-BSgPz1Fn.js → chunk-4TB4RGXK-D5P5dUqt.js} +1 -1
- package/dist/app/assets/{chunk-55IACEB6-DekOqO8-.js → chunk-55IACEB6-BqMvjwUA.js} +1 -1
- package/dist/app/assets/{chunk-EDXVE4YY-VI2aoR3H.js → chunk-EDXVE4YY-DnPhlqJA.js} +1 -1
- package/dist/app/assets/{chunk-FMBD7UC4-DVPMFZIh.js → chunk-FMBD7UC4-DNRIZD8O.js} +1 -1
- package/dist/app/assets/{chunk-OYMX7WX6-C_5OySCp.js → chunk-OYMX7WX6-JXHjhCxm.js} +1 -1
- package/dist/app/assets/{chunk-QZHKN3VN-CQ4PJ94U.js → chunk-QZHKN3VN-BkxXCZY4.js} +1 -1
- package/dist/app/assets/{chunk-YZCP3GAM-40VMFur6.js → chunk-YZCP3GAM-EpFGzvxp.js} +1 -1
- package/dist/app/assets/{cil-BlB-Qnhz.js → cil-iQdhNO4Q.js} +1 -1
- package/dist/app/assets/classDiagram-6PBFFD2Q-CrRCjWNC.js +1 -0
- package/dist/app/assets/classDiagram-v2-HSJHXN6E-CrRCjWNC.js +1 -0
- package/dist/app/assets/{clike-cGW_OpAz.js → clike-CQAeHYPM.js} +1 -1
- package/dist/app/assets/{clojure-BwM8_y2w.js → clojure-Cql6MpyZ.js} +1 -1
- package/dist/app/assets/clone-DF9MaeHz.js +1 -0
- package/dist/app/assets/{cmake-B_tPIs0N.js → cmake-BfKHjCsg.js} +1 -1
- package/dist/app/assets/{cobol-awMTn3SL.js → cobol-CKkM0fVl.js} +1 -1
- package/dist/app/assets/{coffeescript-BdPUATdq.js → coffeescript-CgyUEXhV.js} +1 -1
- package/dist/app/assets/{concurnas-DD4NroNG.js → concurnas-CeEqG40V.js} +1 -1
- package/dist/app/assets/{coq-WP9t6Mya.js → coq-CkWZFRlP.js} +1 -1
- package/dist/app/assets/{core-Dl1d1z_B.js → core-CcAPm-aU.js} +1 -1
- package/dist/app/assets/{cose-bilkent-S5V4N54A-CIsQWWLS.js → cose-bilkent-S5V4N54A-kULVHEg6.js} +1 -1
- package/dist/app/assets/{cpp-DRq2558J.js → cpp-Bwq_b1tA.js} +1 -1
- package/dist/app/assets/{crystal-CmMEvlYk.js → crystal-YNIUD3Bs.js} +1 -1
- package/dist/app/assets/{csharp-CmdWJQ_7.js → csharp-P6DguRUY.js} +1 -1
- package/dist/app/assets/{cshtml-D-PG0yKy.js → cshtml-B5QmdkLH.js} +1 -1
- package/dist/app/assets/{csp-CoYEQK4_.js → csp-DFeKy3lq.js} +1 -1
- package/dist/app/assets/{css-qzCJaYzE.js → css-CRC3M3rp.js} +1 -1
- package/dist/app/assets/{css-extras-CvcfPwL5.js → css-extras-BFuChsao.js} +1 -1
- package/dist/app/assets/{csv-BOSHHM-P.js → csv-C4LMPB8f.js} +1 -1
- package/dist/app/assets/{cypher-DF-LRYf2.js → cypher-HIcVk2j0.js} +1 -1
- package/dist/app/assets/{d-DT7HGItG.js → d-BnjQOzu7.js} +1 -1
- package/dist/app/assets/{dagre-KV5264BT-BXDHR3FY.js → dagre-KV5264BT-DYeQuZ_S.js} +1 -1
- package/dist/app/assets/{dart-C53tv9tc.js → dart-BY_HEqIc.js} +1 -1
- package/dist/app/assets/{dataweave-DfVl-B8U.js → dataweave-IZkekg5J.js} +1 -1
- package/dist/app/assets/{dax-CtLDIvLu.js → dax-BDxI87qH.js} +1 -1
- package/dist/app/assets/{dhall-B4vfpjKK.js → dhall-BI7me9By.js} +1 -1
- package/dist/app/assets/{diagram-5BDNPKRD-C2jQZSnh.js → diagram-5BDNPKRD-DqUtPt3D.js} +1 -1
- package/dist/app/assets/{diagram-G4DWMVQ6-DkBF8pst.js → diagram-G4DWMVQ6-DUz5iheG.js} +1 -1
- package/dist/app/assets/{diagram-MMDJMWI5-DkBy1EJI.js → diagram-MMDJMWI5-DqMZVdpe.js} +1 -1
- package/dist/app/assets/{diagram-TYMM5635-BG7IFHFj.js → diagram-TYMM5635-D4dMAYPV.js} +1 -1
- package/dist/app/assets/{diff-CAGXr455.js → diff-D1eveguk.js} +1 -1
- package/dist/app/assets/{django-Bt-Xandi.js → django-n2RdeMZg.js} +1 -1
- package/dist/app/assets/{dns-zone-file-CUQqHN_u.js → dns-zone-file-C7ZVuM_8.js} +1 -1
- package/dist/app/assets/{docker-Cmx-jfGB.js → docker-2dKv2uP8.js} +1 -1
- package/dist/app/assets/{dot-CtNw9lX4.js → dot-CnM9kCZh.js} +1 -1
- package/dist/app/assets/{ebnf-Dl_Q5Or1.js → ebnf-DNNgDJ77.js} +1 -1
- package/dist/app/assets/{editorconfig-DZYXnV_C.js → editorconfig-BOtWIdJu.js} +1 -1
- package/dist/app/assets/{eiffel-CgccC4xz.js → eiffel-DZJsL-6U.js} +1 -1
- package/dist/app/assets/{ejs-Cj1dQzfI.js → ejs-DlY_5WK7.js} +1 -1
- package/dist/app/assets/{elixir-B3SWPivz.js → elixir-DnflWYYw.js} +1 -1
- package/dist/app/assets/{elm-Bp_TQfaA.js → elm-DiBtRJyK.js} +1 -1
- package/dist/app/assets/{erDiagram-SMLLAGMA-Cby23XmU.js → erDiagram-SMLLAGMA-s249XOhW.js} +1 -1
- package/dist/app/assets/{erb-Cb-K6pZE.js → erb-Ctwnlnto.js} +1 -1
- package/dist/app/assets/{erlang-F72Fjwv2.js → erlang-BnrgWRyV.js} +1 -1
- package/dist/app/assets/{etlua-DFUJG9GZ.js → etlua-B-b2a1aT.js} +1 -1
- package/dist/app/assets/{excel-formula-B8hn4WlO.js → excel-formula-BfwuYhTY.js} +1 -1
- package/dist/app/assets/{factor-BlEqbeI0.js → factor-2cFlXUFG.js} +1 -1
- package/dist/app/assets/{false-DMURsqlU.js → false-DVJW4Xbm.js} +1 -1
- package/dist/app/assets/{firestore-security-rules-DswDVNNa.js → firestore-security-rules-BDB3ruEY.js} +1 -1
- package/dist/app/assets/{flow-C4reo-gu.js → flow-v_X8TsCx.js} +1 -1
- package/dist/app/assets/{flowDiagram-DWJPFMVM-BxNNsar9.js → flowDiagram-DWJPFMVM-Dz8lk_A8.js} +1 -1
- package/dist/app/assets/{fortran-BAmD5KHF.js → fortran-VlXf9wYr.js} +1 -1
- package/dist/app/assets/{fsharp-CPq2O12L.js → fsharp-BgmRbToz.js} +1 -1
- package/dist/app/assets/{ftl-Cgbeq2-z.js → ftl-CX7l6a-K.js} +1 -1
- package/dist/app/assets/{ganttDiagram-T4ZO3ILL-BLd3DH-5.js → ganttDiagram-T4ZO3ILL-C8JxZNAd.js} +1 -1
- package/dist/app/assets/{gap-Bge3tvcZ.js → gap-C3towync.js} +1 -1
- package/dist/app/assets/{gcode-CAVcsFdN.js → gcode-pPl8BHC6.js} +1 -1
- package/dist/app/assets/{gdscript-nkDP0xMM.js → gdscript-CQ5KQpTU.js} +1 -1
- package/dist/app/assets/{gedcom-BA8GnDnW.js → gedcom-UKqoiZ_B.js} +1 -1
- package/dist/app/assets/{gherkin-DvBWzm8E.js → gherkin-oHLPyBSJ.js} +1 -1
- package/dist/app/assets/{git-LJ9ums7L.js → git-QJvYrr1x.js} +1 -1
- package/dist/app/assets/{gitGraphDiagram-UUTBAWPF-JZEE6gBT.js → gitGraphDiagram-UUTBAWPF-D8hAIW7o.js} +1 -1
- package/dist/app/assets/{glsl-D4U4_9LH.js → glsl-D9mjvqGV.js} +1 -1
- package/dist/app/assets/{gml-CQtoiCZT.js → gml-DyeDbLje.js} +1 -1
- package/dist/app/assets/{gn-DxTb0Jqi.js → gn-CQxx-3wR.js} +1 -1
- package/dist/app/assets/{go-D7ELL60F.js → go-BlxfTxGG.js} +1 -1
- package/dist/app/assets/{go-module-Ck8j-Kcm.js → go-module-aUBiuILx.js} +1 -1
- package/dist/app/assets/{graph-pBSG-4mT.js → graph-D-X2uhF1.js} +1 -1
- package/dist/app/assets/{graphql-C-10AxQD.js → graphql-Clt8HaZ7.js} +1 -1
- package/dist/app/assets/{groovy-SpWCEWzX.js → groovy-CZSeQO36.js} +1 -1
- package/dist/app/assets/{haml-C2aM6_El.js → haml-DMf7PiKp.js} +1 -1
- package/dist/app/assets/{handlebars-ChMYyLZl.js → handlebars-BphhMxT6.js} +1 -1
- package/dist/app/assets/{haskell-DagwvSeE.js → haskell-Ccj1mGN_.js} +1 -1
- package/dist/app/assets/{haxe-BG5B6d9K.js → haxe-CtvRdMmt.js} +1 -1
- package/dist/app/assets/{hcl-B8Gd__02.js → hcl-HQGsM91R.js} +1 -1
- package/dist/app/assets/{hlsl-CSu8CgjO.js → hlsl-U_2FN4GV.js} +1 -1
- package/dist/app/assets/{hoon-BUjyY25K.js → hoon-DSS3mQR5.js} +1 -1
- package/dist/app/assets/{hpkp-C5yMlUDS.js → hpkp-BPnzFZ5n.js} +1 -1
- package/dist/app/assets/{hsts-DzNiiTKI.js → hsts-BRaWTgmx.js} +1 -1
- package/dist/app/assets/{http-DYWI6rav.js → http-DgZif8XP.js} +1 -1
- package/dist/app/assets/{ichigojam-DrBDAbYO.js → ichigojam-ypramSfH.js} +1 -1
- package/dist/app/assets/{icon-BezsFCDL.js → icon-DsD0Czia.js} +1 -1
- package/dist/app/assets/{icu-message-format-BCSOltos.js → icu-message-format-BVJiYPkB.js} +1 -1
- package/dist/app/assets/{idris-B8Tj6LSh.js → idris-BvurrLkY.js} +1 -1
- package/dist/app/assets/{iecst-CfA7HSP8.js → iecst-Clwdf_8K.js} +1 -1
- package/dist/app/assets/{ignore-E_v5CiMN.js → ignore-DkK-S7HP.js} +1 -1
- package/dist/app/assets/{index-CAv2vOlh.js → index-D-y0b7ri.js} +142 -142
- package/dist/app/assets/index-D4gddvdJ.css +1 -0
- package/dist/app/assets/{infoDiagram-42DDH7IO-eZsn31yB.js → infoDiagram-42DDH7IO-BocjJZwC.js} +1 -1
- package/dist/app/assets/{inform7-Dj75C-lM.js → inform7-yFSTqWIe.js} +1 -1
- package/dist/app/assets/{ini-DnYgp5_G.js → ini-BcO8nYi7.js} +1 -1
- package/dist/app/assets/{io-D59cMlU5.js → io-BBkn-xXo.js} +1 -1
- package/dist/app/assets/{ishikawaDiagram-UXIWVN3A-Cb8G56a8.js → ishikawaDiagram-UXIWVN3A-Dlw93ArC.js} +1 -1
- package/dist/app/assets/{j-CuOplqKY.js → j-M5UTfImQ.js} +1 -1
- package/dist/app/assets/{java-DiKpa4Y3.js → java-Xjo5k22g.js} +1 -1
- package/dist/app/assets/{javadoc-DshvkFVS.js → javadoc-D6lpCK4S.js} +1 -1
- package/dist/app/assets/{javadoclike-Dl0yZMbR.js → javadoclike-DGBCsKaU.js} +1 -1
- package/dist/app/assets/{javascript-C3lRkH0T.js → javascript-DkE8xAaV.js} +1 -1
- package/dist/app/assets/{javastacktrace-BAZDNyis.js → javastacktrace-Be5zC165.js} +1 -1
- package/dist/app/assets/{jexl-BvqPLTYh.js → jexl-C1l-HPYI.js} +1 -1
- package/dist/app/assets/{jolie-DXjsE0XX.js → jolie-CRI76P3X.js} +1 -1
- package/dist/app/assets/{journeyDiagram-VCZTEJTY-9aLWSRay.js → journeyDiagram-VCZTEJTY-BOongVs3.js} +1 -1
- package/dist/app/assets/{jq-CLFx4HBH.js → jq-CrFpn7ql.js} +1 -1
- package/dist/app/assets/{js-extras-D33J2WNl.js → js-extras-BvLZUIJ5.js} +1 -1
- package/dist/app/assets/{js-templates-DlMN6fgo.js → js-templates-fYKII4Os.js} +1 -1
- package/dist/app/assets/{jsdoc-CGVgLZ2j.js → jsdoc-DGONDzA5.js} +1 -1
- package/dist/app/assets/{json-BTnVvJgU.js → json-BxIxewuG.js} +1 -1
- package/dist/app/assets/{json5-BW8yCajk.js → json5-BP9OBqRe.js} +1 -1
- package/dist/app/assets/{jsonp-iQTQx19C.js → jsonp-Br67zaRL.js} +1 -1
- package/dist/app/assets/{jsstacktrace-DXxcFNfy.js → jsstacktrace-BB-1Bcpa.js} +1 -1
- package/dist/app/assets/{jsx-D1npDekI.js → jsx-BNfIlN8n.js} +1 -1
- package/dist/app/assets/{julia-E711iN6A.js → julia-DVIi4XSJ.js} +1 -1
- package/dist/app/assets/{kanban-definition-6JOO6SKY-COnahS5T.js → kanban-definition-6JOO6SKY-DD7E-Llo.js} +1 -1
- package/dist/app/assets/{keepalived-Da5-tKqr.js → keepalived-DmPJ3LF8.js} +1 -1
- package/dist/app/assets/{keyman-CR_is7Lf.js → keyman-Cp-gCfcq.js} +1 -1
- package/dist/app/assets/{kotlin-6F8UihuI.js → kotlin-DCptm4kq.js} +1 -1
- package/dist/app/assets/{kumir-BGVXhhZU.js → kumir-Cohjvjog.js} +1 -1
- package/dist/app/assets/{kusto-xzJ5QDBT.js → kusto-C2dOIgK1.js} +1 -1
- package/dist/app/assets/{latex-jsq1GqdL.js → latex-DaFCffTw.js} +1 -1
- package/dist/app/assets/{latte-CqObxNvY.js → latte-D2mtlTen.js} +1 -1
- package/dist/app/assets/{layout-Od8azvI5.js → layout-C7fpWjpB.js} +1 -1
- package/dist/app/assets/{less-vdQIwlhr.js → less-CycfawGH.js} +1 -1
- package/dist/app/assets/{lilypond-CYhZp9Do.js → lilypond-DrvS8AAl.js} +1 -1
- package/dist/app/assets/{linear-BVmuh868.js → linear-2np4qyjJ.js} +1 -1
- package/dist/app/assets/{liquid-CF_8y_W1.js → liquid-BQH0bAHC.js} +1 -1
- package/dist/app/assets/{lisp-DqmYhGox.js → lisp-BCWvn2A1.js} +1 -1
- package/dist/app/assets/{livescript-DEuoDOv7.js → livescript-DGRf3L1-.js} +1 -1
- package/dist/app/assets/{llvm-DlajzOZN.js → llvm-C_6xvGBO.js} +1 -1
- package/dist/app/assets/{log-CU2WH4Lm.js → log-uCcZN8k2.js} +1 -1
- package/dist/app/assets/{lolcode-CDbraZlO.js → lolcode-XEyTNgnB.js} +1 -1
- package/dist/app/assets/{lua-C7PRrDvP.js → lua-Dy0fpGeF.js} +1 -1
- package/dist/app/assets/{magma-CEu2U_uQ.js → magma-D6d2r_W9.js} +1 -1
- package/dist/app/assets/{makefile-BpvnX-Nx.js → makefile-DOydYPAQ.js} +1 -1
- package/dist/app/assets/{markdown-BTkzQyNu.js → markdown-CPxRHFza.js} +1 -1
- package/dist/app/assets/{markup-Dje0J_2C.js → markup-jgYp2Lb8.js} +1 -1
- package/dist/app/assets/{markup-templating-cYyMwZ4b.js → markup-templating-lT8EutTe.js} +1 -1
- package/dist/app/assets/{matlab-RV1EEhcL.js → matlab-y_OOgSc_.js} +1 -1
- package/dist/app/assets/{maxscript-Bo7lyT0p.js → maxscript-PMli6_xE.js} +1 -1
- package/dist/app/assets/{mel-kP-zTDHf.js → mel-CIopQCOU.js} +1 -1
- package/dist/app/assets/{mermaid-D1yX-Bwv.js → mermaid-CN6aoo9D.js} +1 -1
- package/dist/app/assets/{min-z4SxYbt2.js → min-DDl12nhy.js} +1 -1
- package/dist/app/assets/{mindmap-definition-QFDTVHPH-Dm1nn9t1.js → mindmap-definition-QFDTVHPH-Bosd0mf9.js} +1 -1
- package/dist/app/assets/{mizar-DD-lNTs3.js → mizar-A9B8KORd.js} +1 -1
- package/dist/app/assets/{mongodb-By_x69ne.js → mongodb-DV-yCsoK.js} +1 -1
- package/dist/app/assets/{monkey-CQneMnOq.js → monkey-HEFodtZa.js} +1 -1
- package/dist/app/assets/{moonscript-Cv1IiKWR.js → moonscript-Bj3xAxEV.js} +1 -1
- package/dist/app/assets/{n1ql-BZ-dWxn_.js → n1ql-DX2KWloB.js} +1 -1
- package/dist/app/assets/{n4js-aHhU-EQW.js → n4js-DQoNqDS9.js} +1 -1
- package/dist/app/assets/{nand2tetris-hdl-Ct9NqibY.js → nand2tetris-hdl-BFqj7ePK.js} +1 -1
- package/dist/app/assets/{naniscript-jrYYiXE3.js → naniscript-Cz--o1by.js} +1 -1
- package/dist/app/assets/{nasm-CR4fygO0.js → nasm-Dcb8t8q6.js} +1 -1
- package/dist/app/assets/{neon-Bn9xaC-T.js → neon-CK7vx6_x.js} +1 -1
- package/dist/app/assets/{nevod-DwwkUQZl.js → nevod-BePMNPK5.js} +1 -1
- package/dist/app/assets/{nginx-CxzxW55o.js → nginx-BmbGx2v1.js} +1 -1
- package/dist/app/assets/{nim-_ziHrYai.js → nim-B8GUCE2H.js} +1 -1
- package/dist/app/assets/{nix-CnfynVyh.js → nix-lGZ9zLZy.js} +1 -1
- package/dist/app/assets/{nsis-CTa60cBQ.js → nsis-kBAOh3Cs.js} +1 -1
- package/dist/app/assets/{objectivec-CxzV-EqQ.js → objectivec-Bngj8IHt.js} +1 -1
- package/dist/app/assets/{ocaml-CXQfo6wC.js → ocaml-Bba8eOIn.js} +1 -1
- package/dist/app/assets/{opencl-CdW2Jum5.js → opencl-DgfdBrQ_.js} +1 -1
- package/dist/app/assets/{openqasm-99txnqqb.js → openqasm-CQV2wxlC.js} +1 -1
- package/dist/app/assets/{oz-CIEq0aNc.js → oz-CcMDAMF8.js} +1 -1
- package/dist/app/assets/{parigp-D9vfJxo4.js → parigp-Cr7bHjhJ.js} +1 -1
- package/dist/app/assets/{parser-DndpAxSG.js → parser-DX-CvQ44.js} +1 -1
- package/dist/app/assets/{pascal-RZKxz-_c.js → pascal-CCpiRTqn.js} +1 -1
- package/dist/app/assets/{pascaligo-B7sniYrp.js → pascaligo-uYvOwN6J.js} +1 -1
- package/dist/app/assets/{pcaxis-B5p4fAPz.js → pcaxis-dCoAlH4q.js} +1 -1
- package/dist/app/assets/{peoplecode-fCeRfJQ5.js → peoplecode-BZU0iRIF.js} +1 -1
- package/dist/app/assets/{perl-CYh0437K.js → perl-Iesy2DKz.js} +1 -1
- package/dist/app/assets/{php-rTdvXKxw.js → php-a3Z68PaM.js} +1 -1
- package/dist/app/assets/{php-extras-DCzP567Q.js → php-extras-CSgWIoUx.js} +1 -1
- package/dist/app/assets/{phpdoc-BLbjAEWJ.js → phpdoc-ClEamK9m.js} +1 -1
- package/dist/app/assets/{pieDiagram-DEJITSTG-BuH3UT8S.js → pieDiagram-DEJITSTG-D3AaN8D3.js} +1 -1
- package/dist/app/assets/{plsql-B9JKIw1T.js → plsql-BUydR2je.js} +1 -1
- package/dist/app/assets/{powerquery-Beeqnhtp.js → powerquery-CbE5r1LK.js} +1 -1
- package/dist/app/assets/{powershell-DofDkeyl.js → powershell-DubIcaqQ.js} +1 -1
- package/dist/app/assets/{processing-C-Nru_27.js → processing-CGZk9MFa.js} +1 -1
- package/dist/app/assets/{prolog-Blc4S8Hs.js → prolog-DWiKE05T.js} +1 -1
- package/dist/app/assets/{promql-BsC9xRrD.js → promql-ZM0X0cVe.js} +1 -1
- package/dist/app/assets/{properties-BNFVcgDb.js → properties-C_MgCVL7.js} +1 -1
- package/dist/app/assets/{protobuf-BlpX_T1K.js → protobuf-DTptx08I.js} +1 -1
- package/dist/app/assets/{psl-D2Hoa7_4.js → psl-AUkZATpo.js} +1 -1
- package/dist/app/assets/{pug-DBlY2nRe.js → pug-CiJR0sLM.js} +1 -1
- package/dist/app/assets/{puppet-BfKwQiWD.js → puppet-DRojzo7w.js} +1 -1
- package/dist/app/assets/{pure-CgWRG2Cz.js → pure-DAC784GG.js} +1 -1
- package/dist/app/assets/{purebasic-C4IB7b6g.js → purebasic-VM4UEIrk.js} +1 -1
- package/dist/app/assets/{purescript-DpbOv2_5.js → purescript-w5sMhquf.js} +1 -1
- package/dist/app/assets/{q-Bhw7S_Ff.js → q-CBWya0ez.js} +1 -1
- package/dist/app/assets/{qml-BCy5slwb.js → qml-BO1SKCTG.js} +1 -1
- package/dist/app/assets/{qore-C00kyzGf.js → qore-BLEy3V2Q.js} +1 -1
- package/dist/app/assets/{qsharp-CN2CDpkI.js → qsharp-DpGm5nXm.js} +1 -1
- package/dist/app/assets/{quadrantDiagram-34T5L4WZ-DF36QwGT.js → quadrantDiagram-34T5L4WZ-zqVJRfM0.js} +1 -1
- package/dist/app/assets/{r-B_BK6AZu.js → r-DJwW4woE.js} +1 -1
- package/dist/app/assets/{racket-ByLawBwM.js → racket-tfAlhm9J.js} +1 -1
- package/dist/app/assets/{reason-BDBRcGMx.js → reason-CuQcs6Us.js} +1 -1
- package/dist/app/assets/{regex-ChgfKyvR.js → regex-BjBaDCpX.js} +1 -1
- package/dist/app/assets/{rego-D_XvU-HX.js → rego-DWENKceX.js} +1 -1
- package/dist/app/assets/{renpy-5nIbfjm_.js → renpy-BgVqATTk.js} +1 -1
- package/dist/app/assets/{requirementDiagram-MS252O5E-DoM__lrz.js → requirementDiagram-MS252O5E-B8E8SJly.js} +1 -1
- package/dist/app/assets/{rest-D0kyBqSB.js → rest-B9oIUmDJ.js} +1 -1
- package/dist/app/assets/{rip-CYiR9G3s.js → rip-kd5zQPVz.js} +1 -1
- package/dist/app/assets/{roboconf-NbRqT12s.js → roboconf-B1kUkQdY.js} +1 -1
- package/dist/app/assets/{robotframework-DVLdugea.js → robotframework-B8Cn6zw0.js} +1 -1
- package/dist/app/assets/{ruby-CXYqjyLr.js → ruby-CnbgIhf_.js} +1 -1
- package/dist/app/assets/{rust-DtiosDKR.js → rust-C8OTkz5t.js} +1 -1
- package/dist/app/assets/{sankeyDiagram-XADWPNL6-DAGXEQXz.js → sankeyDiagram-XADWPNL6-BWdy5fPK.js} +1 -1
- package/dist/app/assets/{sas-CBuO0A4r.js → sas-Dw7vQpkk.js} +1 -1
- package/dist/app/assets/{sass-DAOC_JY6.js → sass-b7SoCESY.js} +1 -1
- package/dist/app/assets/{scala-DrjxfsaL.js → scala-D-p3rZbv.js} +1 -1
- package/dist/app/assets/{scheme-Dqq_pAgd.js → scheme-BPbr0IV_.js} +1 -1
- package/dist/app/assets/{scss-Cs8enbPf.js → scss-Cyjt-V6Q.js} +1 -1
- package/dist/app/assets/{sequenceDiagram-FGHM5R23-D_580_d2.js → sequenceDiagram-FGHM5R23-D-ACA62M.js} +1 -1
- package/dist/app/assets/{shell-session-jQLXH-IX.js → shell-session-C7s1XZ_p.js} +1 -1
- package/dist/app/assets/{smali-BjlQ2Fb8.js → smali-C621-SJz.js} +1 -1
- package/dist/app/assets/{smalltalk-CvvaQ-vE.js → smalltalk-CuF0kpcz.js} +1 -1
- package/dist/app/assets/{smarty-CuW15FKs.js → smarty-CHbvlN7a.js} +1 -1
- package/dist/app/assets/{sml-C2rZNwaS.js → sml-BGi33Pu0.js} +1 -1
- package/dist/app/assets/{solidity-Bz0UCY5q.js → solidity-CZYdcu6z.js} +1 -1
- package/dist/app/assets/{solution-file-DY6Szhc0.js → solution-file-ChgVI9u6.js} +1 -1
- package/dist/app/assets/{soy-DupXqVr6.js → soy-CWvn9QzG.js} +1 -1
- package/dist/app/assets/{sparql-CKXEGfsk.js → sparql-7JjN18LQ.js} +1 -1
- package/dist/app/assets/{splunk-spl-ylrNAn0q.js → splunk-spl-DOh97vYU.js} +1 -1
- package/dist/app/assets/{sqf-lJvrZCtE.js → sqf-x5ivlIR7.js} +1 -1
- package/dist/app/assets/{sql-B7hLAkUR.js → sql-BshsXXbk.js} +1 -1
- package/dist/app/assets/{squirrel-BH1Y674s.js → squirrel-BtrGPSbs.js} +1 -1
- package/dist/app/assets/{stan-fR7Qg8Ut.js → stan-sDuPYbZs.js} +1 -1
- package/dist/app/assets/{stateDiagram-FHFEXIEX-B8jUR8FD.js → stateDiagram-FHFEXIEX-C06KYdye.js} +1 -1
- package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-sEMQqWl2.js +1 -0
- package/dist/app/assets/{stylus-s7kCNuJK.js → stylus-9qu1XZ91.js} +1 -1
- package/dist/app/assets/{swift-CCtYkHCf.js → swift-UgAKrg8O.js} +1 -1
- package/dist/app/assets/{systemd-BCElHahC.js → systemd-D1t2IK6h.js} +1 -1
- package/dist/app/assets/{t4-cs-H1_QKrKm.js → t4-cs-D5pPXmrn.js} +1 -1
- package/dist/app/assets/{t4-templating-6bPJc-Uq.js → t4-templating-DGpA7dEe.js} +1 -1
- package/dist/app/assets/{t4-vb-DJucVBb5.js → t4-vb-DeaFY-L7.js} +1 -1
- package/dist/app/assets/{tap-B_SCHNXn.js → tap-B2Jlbmzn.js} +1 -1
- package/dist/app/assets/{tcl-BNEpqSgM.js → tcl-D3Cxl9RS.js} +1 -1
- package/dist/app/assets/{textile-uWVZjI0f.js → textile-vleyTozU.js} +1 -1
- package/dist/app/assets/{timeline-definition-GMOUNBTQ-pCO1IuTh.js → timeline-definition-GMOUNBTQ-DSaRfuOY.js} +1 -1
- package/dist/app/assets/{toml-IfqaxX6C.js → toml-Qo-F6Xf4.js} +1 -1
- package/dist/app/assets/{tremor-CXc27b0y.js → tremor-J5ixbTSm.js} +1 -1
- package/dist/app/assets/{tt2-CSiBMY4w.js → tt2-DOa_Af-o.js} +1 -1
- package/dist/app/assets/{turtle-BG1NGns7.js → turtle-D8Su1Ry0.js} +1 -1
- package/dist/app/assets/{twig-BApA7lBN.js → twig-GBJoDW8g.js} +1 -1
- package/dist/app/assets/{typescript-CRhq3lVo.js → typescript-DimFy1wk.js} +1 -1
- package/dist/app/assets/{typoscript-CbCyspbX.js → typoscript-Corm9VPj.js} +1 -1
- package/dist/app/assets/{unrealscript-C0oIJrK_.js → unrealscript-dSS5kIDz.js} +1 -1
- package/dist/app/assets/{uorazor-CCeC8ukV.js → uorazor-BGl4DTbK.js} +1 -1
- package/dist/app/assets/{uri-BbJq2oKI.js → uri-B403JigU.js} +1 -1
- package/dist/app/assets/{v-DWbZTbl1.js → v-D1nzy8SK.js} +1 -1
- package/dist/app/assets/{vala-cNE5mkqv.js → vala-CbskSA-6.js} +1 -1
- package/dist/app/assets/{vbnet-C4ps1ulT.js → vbnet-BQwFvsFF.js} +1 -1
- package/dist/app/assets/{velocity-BqiV4VvP.js → velocity-dmmAE00U.js} +1 -1
- package/dist/app/assets/{vennDiagram-DHZGUBPP-DsozMeQe.js → vennDiagram-DHZGUBPP-BZ7Hb9Hn.js} +1 -1
- package/dist/app/assets/{verilog-uM22GI8M.js → verilog-BMPc4qiW.js} +1 -1
- package/dist/app/assets/{vhdl-CjipXQit.js → vhdl-BwLIiaQ3.js} +1 -1
- package/dist/app/assets/{vim-DAu-IiFJ.js → vim-NxGSno01.js} +1 -1
- package/dist/app/assets/{visual-basic-CdGIHeQV.js → visual-basic-DT3do2iL.js} +1 -1
- package/dist/app/assets/{wardley-RL74JXVD-oEncjGLp.js → wardley-RL74JXVD-BQuDsmFg.js} +1 -1
- package/dist/app/assets/{wardleyDiagram-NUSXRM2D-DNMPqgtw.js → wardleyDiagram-NUSXRM2D-DwMCEfDA.js} +1 -1
- package/dist/app/assets/{warpscript-ijeKRGom.js → warpscript-natO4zPn.js} +1 -1
- package/dist/app/assets/{wasm-CyK5pI_Y.js → wasm-BfugFzDn.js} +1 -1
- package/dist/app/assets/{web-idl-3RbxQwXD.js → web-idl-Bics_ax6.js} +1 -1
- package/dist/app/assets/{wiki-Vqqp-2xX.js → wiki-Blq646qq.js} +1 -1
- package/dist/app/assets/{wolfram-Bsi7joP0.js → wolfram-Ddn6uV9M.js} +1 -1
- package/dist/app/assets/{wren-WQYmqFb4.js → wren-CZ9gfbdr.js} +1 -1
- package/dist/app/assets/{xeora-D38FYsRy.js → xeora-zVJDHWYP.js} +1 -1
- package/dist/app/assets/{xml-doc-wUzx0i81.js → xml-doc-D9g-q5Fh.js} +1 -1
- package/dist/app/assets/{xojo-CGKogxG9.js → xojo-WpdjfLKR.js} +1 -1
- package/dist/app/assets/{xquery-Dv5QvWSQ.js → xquery-DFrusbUY.js} +1 -1
- package/dist/app/assets/{xychartDiagram-5P7HB3ND-BsbjEvIN.js → xychartDiagram-5P7HB3ND-BRMmacnH.js} +1 -1
- package/dist/app/assets/{yaml-BGAxdcfl.js → yaml-DB6og7ei.js} +1 -1
- package/dist/app/assets/{yang-DbR14Qhe.js → yang-CdFoUEPj.js} +1 -1
- package/dist/app/assets/{zig-BZnMCGLn.js → zig-C79X6U04.js} +1 -1
- package/dist/app/index.html +2 -2
- package/dist/index.cjs +707 -452
- package/dist/index.js +707 -452
- package/package.json +1 -1
- package/dist/app/assets/channel-C4IK_RZn.js +0 -1
- package/dist/app/assets/classDiagram-6PBFFD2Q-LicCc7Qv.js +0 -1
- package/dist/app/assets/classDiagram-v2-HSJHXN6E-LicCc7Qv.js +0 -1
- package/dist/app/assets/clone-BC1Apkgy.js +0 -1
- package/dist/app/assets/index-BojjVNpv.css +0 -1
- package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-ByxORwfu.js +0 -1
package/dist/index.js
CHANGED
|
@@ -1511,6 +1511,13 @@ var en_US_default = {
|
|
|
1511
1511
|
option: "Option",
|
|
1512
1512
|
other: "Other"
|
|
1513
1513
|
},
|
|
1514
|
+
knowledgeRetriever: {
|
|
1515
|
+
queryTitle: "Query",
|
|
1516
|
+
resultsTitle: "Retrieved results ({{count}})",
|
|
1517
|
+
rawDataTitle: "Raw data",
|
|
1518
|
+
noResults: "No knowledge results found",
|
|
1519
|
+
scoreLabel: "Score"
|
|
1520
|
+
},
|
|
1514
1521
|
agentRun: {
|
|
1515
1522
|
defaultTitle: "Sub-agent",
|
|
1516
1523
|
inputLabel: "Input",
|
|
@@ -1836,6 +1843,13 @@ var zh_CN_default = {
|
|
|
1836
1843
|
option: "\u9009\u9879",
|
|
1837
1844
|
other: "\u5176\u4ED6"
|
|
1838
1845
|
},
|
|
1846
|
+
knowledgeRetriever: {
|
|
1847
|
+
queryTitle: "\u67E5\u8BE2",
|
|
1848
|
+
resultsTitle: "\u68C0\u7D22\u7ED3\u679C\uFF08{{count}}\uFF09",
|
|
1849
|
+
rawDataTitle: "\u539F\u59CB\u6570\u636E",
|
|
1850
|
+
noResults: "\u672A\u627E\u5230\u77E5\u8BC6\u7ED3\u679C",
|
|
1851
|
+
scoreLabel: "\u5206\u6570"
|
|
1852
|
+
},
|
|
1839
1853
|
agentRun: {
|
|
1840
1854
|
defaultTitle: "\u5B50\u667A\u80FD\u4F53",
|
|
1841
1855
|
inputLabel: "\u8F93\u5165",
|
|
@@ -8584,8 +8598,305 @@ function AgentRunGroup({
|
|
|
8584
8598
|
] });
|
|
8585
8599
|
}
|
|
8586
8600
|
|
|
8587
|
-
// src/
|
|
8601
|
+
// src/i18n/localized-text.ts
|
|
8602
|
+
function resolveLocalizedText(value, language) {
|
|
8603
|
+
if (typeof value === "string") {
|
|
8604
|
+
const trimmed = value.trim();
|
|
8605
|
+
return trimmed || null;
|
|
8606
|
+
}
|
|
8607
|
+
if (!value || typeof value !== "object") return null;
|
|
8608
|
+
const localized = value;
|
|
8609
|
+
const normalizedLanguage = language.trim();
|
|
8610
|
+
const underscoredLanguage = normalizedLanguage.replace(/-/g, "_");
|
|
8611
|
+
const languagePrefix = normalizedLanguage.split("-")[0];
|
|
8612
|
+
const preferredKeys = normalizedLanguage.startsWith("zh") ? [
|
|
8613
|
+
normalizedLanguage,
|
|
8614
|
+
underscoredLanguage,
|
|
8615
|
+
"zh_Hans",
|
|
8616
|
+
"zh-Hans",
|
|
8617
|
+
"zh_CN",
|
|
8618
|
+
"zh-CN",
|
|
8619
|
+
"zh",
|
|
8620
|
+
"en_US",
|
|
8621
|
+
"en-US",
|
|
8622
|
+
"en"
|
|
8623
|
+
] : [
|
|
8624
|
+
normalizedLanguage,
|
|
8625
|
+
underscoredLanguage,
|
|
8626
|
+
"en_US",
|
|
8627
|
+
"en-US",
|
|
8628
|
+
"en",
|
|
8629
|
+
languagePrefix,
|
|
8630
|
+
"zh_Hans",
|
|
8631
|
+
"zh-Hans",
|
|
8632
|
+
"zh_CN",
|
|
8633
|
+
"zh-CN",
|
|
8634
|
+
"zh"
|
|
8635
|
+
];
|
|
8636
|
+
for (const key of preferredKeys) {
|
|
8637
|
+
const candidate = localized[key];
|
|
8638
|
+
if (typeof candidate === "string" && candidate.trim()) {
|
|
8639
|
+
return candidate.trim();
|
|
8640
|
+
}
|
|
8641
|
+
}
|
|
8642
|
+
for (const candidate of Object.values(localized)) {
|
|
8643
|
+
if (typeof candidate === "string" && candidate.trim()) {
|
|
8644
|
+
return candidate.trim();
|
|
8645
|
+
}
|
|
8646
|
+
}
|
|
8647
|
+
return null;
|
|
8648
|
+
}
|
|
8649
|
+
|
|
8650
|
+
// src/components/thread/messages/knowledge-retriever-component-renderer.tsx
|
|
8588
8651
|
import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
8652
|
+
var KNOWLEDGE_RETRIEVER_TITLE = "Knowledge Retriever";
|
|
8653
|
+
var KNOWLEDGE_METADATA_SKIP_KEYS = /* @__PURE__ */ new Set([
|
|
8654
|
+
"assets",
|
|
8655
|
+
"children",
|
|
8656
|
+
"loc",
|
|
8657
|
+
"relevanceScore",
|
|
8658
|
+
"score"
|
|
8659
|
+
]);
|
|
8660
|
+
var knowledgeRetrieverComponentRenderer = {
|
|
8661
|
+
id: "knowledge-retriever",
|
|
8662
|
+
presentation: "grouped-step",
|
|
8663
|
+
match: isKnowledgeRetrieverComponent,
|
|
8664
|
+
getTitle: () => KNOWLEDGE_RETRIEVER_TITLE,
|
|
8665
|
+
hasDetails: hasKnowledgeRetrieverDetails,
|
|
8666
|
+
renderDetails: KnowledgeRetrieverDetails
|
|
8667
|
+
};
|
|
8668
|
+
function normalizeToolToken(value) {
|
|
8669
|
+
if (typeof value !== "string") return null;
|
|
8670
|
+
const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
8671
|
+
return normalized || null;
|
|
8672
|
+
}
|
|
8673
|
+
function isRecord2(value) {
|
|
8674
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
8675
|
+
}
|
|
8676
|
+
function readString(value) {
|
|
8677
|
+
if (typeof value !== "string") return void 0;
|
|
8678
|
+
const trimmed = value.trim();
|
|
8679
|
+
return trimmed || void 0;
|
|
8680
|
+
}
|
|
8681
|
+
function stringifyValue(value) {
|
|
8682
|
+
if (value === null || value === void 0) return void 0;
|
|
8683
|
+
if (typeof value === "string") return readString(value);
|
|
8684
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
8685
|
+
return String(value);
|
|
8686
|
+
}
|
|
8687
|
+
try {
|
|
8688
|
+
const serialized = JSON.stringify(value);
|
|
8689
|
+
return serialized && serialized !== "{}" ? serialized : void 0;
|
|
8690
|
+
} catch {
|
|
8691
|
+
return String(value);
|
|
8692
|
+
}
|
|
8693
|
+
}
|
|
8694
|
+
function truncateMetadataValue(value) {
|
|
8695
|
+
return value.length > 90 ? `${value.slice(0, 87)}...` : value;
|
|
8696
|
+
}
|
|
8697
|
+
function formatScore(value) {
|
|
8698
|
+
if (typeof value === "number") {
|
|
8699
|
+
return Number.isFinite(value) ? value.toFixed(value < 1 ? 3 : 2) : void 0;
|
|
8700
|
+
}
|
|
8701
|
+
return readString(value);
|
|
8702
|
+
}
|
|
8703
|
+
function getLineRange(metadata) {
|
|
8704
|
+
const loc = metadata.loc;
|
|
8705
|
+
if (!isRecord2(loc)) return void 0;
|
|
8706
|
+
const lines = loc.lines;
|
|
8707
|
+
if (!isRecord2(lines)) return void 0;
|
|
8708
|
+
const from = stringifyValue(lines.from);
|
|
8709
|
+
const to = stringifyValue(lines.to);
|
|
8710
|
+
if (from && to) return `${from}-${to}`;
|
|
8711
|
+
return from ?? to;
|
|
8712
|
+
}
|
|
8713
|
+
function normalizeMetadataEntries(metadata) {
|
|
8714
|
+
return Object.entries(metadata).flatMap(([key, value]) => {
|
|
8715
|
+
if (KNOWLEDGE_METADATA_SKIP_KEYS.has(key)) return [];
|
|
8716
|
+
const formatted = stringifyValue(value);
|
|
8717
|
+
if (!formatted) return [];
|
|
8718
|
+
return [
|
|
8719
|
+
{
|
|
8720
|
+
key,
|
|
8721
|
+
value: truncateMetadataValue(formatted)
|
|
8722
|
+
}
|
|
8723
|
+
];
|
|
8724
|
+
});
|
|
8725
|
+
}
|
|
8726
|
+
function normalizeKnowledgeResult(value, fallbackTitle) {
|
|
8727
|
+
if (!isRecord2(value)) return null;
|
|
8728
|
+
const metadata = isRecord2(value.metadata) ? value.metadata : {};
|
|
8729
|
+
const document2 = isRecord2(value.document) ? value.document : {};
|
|
8730
|
+
const content = readString(value.pageContent);
|
|
8731
|
+
const title = readString(document2.name) ?? readString(metadata.originalFileName) ?? readString(metadata.source) ?? readString(value.id) ?? readString(metadata.chunkId) ?? fallbackTitle;
|
|
8732
|
+
if (!content && Object.keys(metadata).length === 0 && Object.keys(document2).length === 0) {
|
|
8733
|
+
return null;
|
|
8734
|
+
}
|
|
8735
|
+
return {
|
|
8736
|
+
id: readString(value.id) ?? readString(metadata.chunkId),
|
|
8737
|
+
title,
|
|
8738
|
+
url: readString(document2.fileUrl),
|
|
8739
|
+
content,
|
|
8740
|
+
lineRange: getLineRange(metadata),
|
|
8741
|
+
score: formatScore(
|
|
8742
|
+
metadata.relevanceScore ?? metadata.score ?? value.score
|
|
8743
|
+
),
|
|
8744
|
+
metadata: normalizeMetadataEntries(metadata)
|
|
8745
|
+
};
|
|
8746
|
+
}
|
|
8747
|
+
function getKnowledgeResults(data) {
|
|
8748
|
+
if (!Array.isArray(data.data)) return [];
|
|
8749
|
+
return data.data.flatMap((item, index) => {
|
|
8750
|
+
const result = normalizeKnowledgeResult(item, `Result ${index + 1}`);
|
|
8751
|
+
return result ? [result] : [];
|
|
8752
|
+
});
|
|
8753
|
+
}
|
|
8754
|
+
function getRawKnowledgeData(data) {
|
|
8755
|
+
return data.data ?? data.output ?? null;
|
|
8756
|
+
}
|
|
8757
|
+
function getRetrieverQuery(data, language) {
|
|
8758
|
+
const input = data.input;
|
|
8759
|
+
if (isRecord2(input)) {
|
|
8760
|
+
return readString(input.query) ?? readString(input.input) ?? readString(input.question);
|
|
8761
|
+
}
|
|
8762
|
+
return readString(resolveLocalizedText(data.message, language)) ?? readString(input);
|
|
8763
|
+
}
|
|
8764
|
+
function hasKnowledgeRetrieverDetails(_content, data) {
|
|
8765
|
+
return isKnowledgeRetrieverComponent(_content, data);
|
|
8766
|
+
}
|
|
8767
|
+
function isKnowledgeRetrieverComponent(_content, data) {
|
|
8768
|
+
return normalizeToolToken(data.type) === "knowledges";
|
|
8769
|
+
}
|
|
8770
|
+
function KnowledgeRawDataBlock({ value }) {
|
|
8771
|
+
const { t } = useChatkitTranslation();
|
|
8772
|
+
const detected = detectJsonValue(value);
|
|
8773
|
+
if (detected.kind === "text") {
|
|
8774
|
+
return /* @__PURE__ */ jsx32(PlainTextBlock, { value: detected.text });
|
|
8775
|
+
}
|
|
8776
|
+
return /* @__PURE__ */ jsxs20(Tabs, { defaultValue: "tree", className: "min-w-0", children: [
|
|
8777
|
+
/* @__PURE__ */ jsxs20("div", { className: "mb-2 flex min-w-0 items-center justify-between gap-2", children: [
|
|
8778
|
+
/* @__PURE__ */ jsxs20("span", { className: "min-w-0 truncate text-[11px] text-muted-foreground", children: [
|
|
8779
|
+
t("message.toolGroup.jsonTitle"),
|
|
8780
|
+
" \xB7",
|
|
8781
|
+
" ",
|
|
8782
|
+
getJsonValueSummary(detected.value)
|
|
8783
|
+
] }),
|
|
8784
|
+
/* @__PURE__ */ jsxs20(TabsList, { className: "rounded-md p-0.5", children: [
|
|
8785
|
+
/* @__PURE__ */ jsx32(TabsTrigger, { className: "px-2 py-0.5 text-[11px]", value: "tree", children: t("message.toolGroup.jsonTree") }),
|
|
8786
|
+
/* @__PURE__ */ jsx32(TabsTrigger, { className: "px-2 py-0.5 text-[11px]", value: "raw", children: t("message.toolGroup.jsonRaw") })
|
|
8787
|
+
] })
|
|
8788
|
+
] }),
|
|
8789
|
+
/* @__PURE__ */ jsx32(TabsContent, { value: "tree", className: "mt-0", children: /* @__PURE__ */ jsx32(JsonTreeView, { value: detected.value }) }),
|
|
8790
|
+
/* @__PURE__ */ jsx32(TabsContent, { value: "raw", className: "mt-0", children: /* @__PURE__ */ jsx32(RawJsonBlock, { raw: detected.raw }) })
|
|
8791
|
+
] });
|
|
8792
|
+
}
|
|
8793
|
+
function KnowledgeRetrieverDetails({
|
|
8794
|
+
data
|
|
8795
|
+
}) {
|
|
8796
|
+
const { i18n: i18n2, t } = useChatkitTranslation();
|
|
8797
|
+
const query = getRetrieverQuery(data, i18n2.language);
|
|
8798
|
+
const results = getKnowledgeResults(data);
|
|
8799
|
+
const rawData = getRawKnowledgeData(data);
|
|
8800
|
+
const hasArrayData = Array.isArray(data.data);
|
|
8801
|
+
const hasRawFallback = rawData !== null && rawData !== void 0 && (!hasArrayData || Array.isArray(data.data) && data.data.length > 0 && results.length === 0);
|
|
8802
|
+
const showEmptyState = results.length === 0 && !hasRawFallback && data.status !== "running";
|
|
8803
|
+
return /* @__PURE__ */ jsxs20("div", { className: "min-w-0 space-y-3 px-3 py-2", children: [
|
|
8804
|
+
query ? /* @__PURE__ */ jsxs20("div", { className: "min-w-0 space-y-1", children: [
|
|
8805
|
+
/* @__PURE__ */ jsx32("div", { className: "text-[11px] font-medium text-muted-foreground", children: t("message.knowledgeRetriever.queryTitle") }),
|
|
8806
|
+
/* @__PURE__ */ jsx32("div", { className: "min-w-0 whitespace-pre-wrap wrap-break-word rounded-md bg-muted/40 px-3 py-2 font-mono text-[12px] leading-5 text-foreground/80", children: query })
|
|
8807
|
+
] }) : null,
|
|
8808
|
+
results.length > 0 ? /* @__PURE__ */ jsxs20("div", { className: "min-w-0 space-y-2", children: [
|
|
8809
|
+
/* @__PURE__ */ jsx32("div", { className: "text-[11px] font-medium text-muted-foreground", children: t("message.knowledgeRetriever.resultsTitle", {
|
|
8810
|
+
count: results.length
|
|
8811
|
+
}) }),
|
|
8812
|
+
/* @__PURE__ */ jsx32("div", { className: "space-y-2", children: results.map((result, index) => /* @__PURE__ */ jsx32(
|
|
8813
|
+
KnowledgeResultCard,
|
|
8814
|
+
{
|
|
8815
|
+
result,
|
|
8816
|
+
index
|
|
8817
|
+
},
|
|
8818
|
+
result.id ?? `${result.title}-${index}`
|
|
8819
|
+
)) })
|
|
8820
|
+
] }) : null,
|
|
8821
|
+
hasRawFallback ? /* @__PURE__ */ jsxs20("div", { className: "min-w-0 space-y-1", children: [
|
|
8822
|
+
/* @__PURE__ */ jsx32("div", { className: "text-[11px] font-medium text-muted-foreground", children: t("message.knowledgeRetriever.rawDataTitle") }),
|
|
8823
|
+
/* @__PURE__ */ jsx32(KnowledgeRawDataBlock, { value: rawData })
|
|
8824
|
+
] }) : null,
|
|
8825
|
+
showEmptyState ? /* @__PURE__ */ jsx32("div", { className: "rounded-md border border-dashed border-border/70 px-3 py-4 text-center text-xs text-muted-foreground", children: t("message.knowledgeRetriever.noResults") }) : null
|
|
8826
|
+
] });
|
|
8827
|
+
}
|
|
8828
|
+
function KnowledgeResultCard({
|
|
8829
|
+
result,
|
|
8830
|
+
index
|
|
8831
|
+
}) {
|
|
8832
|
+
const { t } = useChatkitTranslation();
|
|
8833
|
+
const titleId = `knowledge-result-${index + 1}`;
|
|
8834
|
+
const metadata = [
|
|
8835
|
+
...result.score ? [
|
|
8836
|
+
{
|
|
8837
|
+
key: t("message.knowledgeRetriever.scoreLabel"),
|
|
8838
|
+
value: result.score
|
|
8839
|
+
}
|
|
8840
|
+
] : [],
|
|
8841
|
+
...result.metadata
|
|
8842
|
+
];
|
|
8843
|
+
const titleClassName = "min-w-0 line-clamp-2 text-sm font-medium leading-5 text-foreground";
|
|
8844
|
+
return /* @__PURE__ */ jsx32("article", { className: "min-w-0 rounded-md border border-border/60 bg-background/80 px-3 py-2", children: /* @__PURE__ */ jsxs20("div", { className: "flex min-w-0 items-start gap-2", children: [
|
|
8845
|
+
/* @__PURE__ */ jsx32("span", { className: "mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-muted text-[11px] font-medium text-muted-foreground", children: index + 1 }),
|
|
8846
|
+
/* @__PURE__ */ jsxs20("div", { className: "min-w-0 flex-1", children: [
|
|
8847
|
+
result.url ? /* @__PURE__ */ jsxs20(
|
|
8848
|
+
"a",
|
|
8849
|
+
{
|
|
8850
|
+
id: titleId,
|
|
8851
|
+
href: result.url,
|
|
8852
|
+
target: "_blank",
|
|
8853
|
+
rel: "noreferrer",
|
|
8854
|
+
className: cn(titleClassName, "hover:underline"),
|
|
8855
|
+
children: [
|
|
8856
|
+
result.title,
|
|
8857
|
+
result.lineRange ? /* @__PURE__ */ jsxs20("span", { className: "ml-1 text-muted-foreground", children: [
|
|
8858
|
+
"[",
|
|
8859
|
+
result.lineRange,
|
|
8860
|
+
"]"
|
|
8861
|
+
] }) : null
|
|
8862
|
+
]
|
|
8863
|
+
}
|
|
8864
|
+
) : /* @__PURE__ */ jsxs20("div", { id: titleId, className: titleClassName, children: [
|
|
8865
|
+
result.title,
|
|
8866
|
+
result.lineRange ? /* @__PURE__ */ jsxs20("span", { className: "ml-1 text-muted-foreground", children: [
|
|
8867
|
+
"[",
|
|
8868
|
+
result.lineRange,
|
|
8869
|
+
"]"
|
|
8870
|
+
] }) : null
|
|
8871
|
+
] }),
|
|
8872
|
+
result.content ? /* @__PURE__ */ jsx32("p", { className: "mt-1 line-clamp-3 whitespace-pre-wrap text-xs leading-5 text-muted-foreground", children: result.content }) : null,
|
|
8873
|
+
metadata.length > 0 ? /* @__PURE__ */ jsx32(
|
|
8874
|
+
"div",
|
|
8875
|
+
{
|
|
8876
|
+
className: "mt-2 flex flex-wrap gap-1.5",
|
|
8877
|
+
"aria-labelledby": titleId,
|
|
8878
|
+
children: metadata.slice(0, 10).map((item) => /* @__PURE__ */ jsxs20(
|
|
8879
|
+
"span",
|
|
8880
|
+
{
|
|
8881
|
+
className: "inline-flex min-w-0 max-w-full items-center gap-1 rounded-md bg-muted/50 px-1.5 py-0.5 text-[11px] leading-4 text-muted-foreground",
|
|
8882
|
+
children: [
|
|
8883
|
+
/* @__PURE__ */ jsxs20("span", { className: "shrink-0 font-medium text-foreground/70", children: [
|
|
8884
|
+
item.key,
|
|
8885
|
+
":"
|
|
8886
|
+
] }),
|
|
8887
|
+
/* @__PURE__ */ jsx32("span", { className: "min-w-0 truncate font-mono", children: item.value })
|
|
8888
|
+
]
|
|
8889
|
+
},
|
|
8890
|
+
`${item.key}:${item.value}`
|
|
8891
|
+
))
|
|
8892
|
+
}
|
|
8893
|
+
) : null
|
|
8894
|
+
] })
|
|
8895
|
+
] }) });
|
|
8896
|
+
}
|
|
8897
|
+
|
|
8898
|
+
// src/components/thread/messages/web-search-component-renderer.tsx
|
|
8899
|
+
import { jsx as jsx33, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
8589
8900
|
var webSearchComponentRenderer = {
|
|
8590
8901
|
id: "computer-web-search-sources",
|
|
8591
8902
|
presentation: "grouped-step",
|
|
@@ -8593,7 +8904,7 @@ var webSearchComponentRenderer = {
|
|
|
8593
8904
|
hasDetails: hasWebSearchSources,
|
|
8594
8905
|
renderDetails: WebSearchToolCallOutput
|
|
8595
8906
|
};
|
|
8596
|
-
function
|
|
8907
|
+
function normalizeToolToken2(value) {
|
|
8597
8908
|
if (typeof value !== "string") return null;
|
|
8598
8909
|
const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
8599
8910
|
return normalized || null;
|
|
@@ -8638,9 +8949,9 @@ function hasWebSearchSources(_content, data) {
|
|
|
8638
8949
|
}
|
|
8639
8950
|
function isComputerWebSearchComponent(_content, data) {
|
|
8640
8951
|
const isComputer = data.category === "Computer";
|
|
8641
|
-
const isWebSearch =
|
|
8952
|
+
const isWebSearch = normalizeToolToken2(data.type) === "web_search";
|
|
8642
8953
|
if (!isComputer || !isWebSearch) return false;
|
|
8643
|
-
return
|
|
8954
|
+
return normalizeToolToken2(data.tool) === "web_search" || getWebSearchSources(data).length > 0;
|
|
8644
8955
|
}
|
|
8645
8956
|
function getSourceHost(url) {
|
|
8646
8957
|
try {
|
|
@@ -8655,9 +8966,9 @@ function WebSearchToolCallOutput({
|
|
|
8655
8966
|
const { t } = useChatkitTranslation();
|
|
8656
8967
|
const sources = getWebSearchSources(data);
|
|
8657
8968
|
if (sources.length === 0 || data.error !== void 0) return null;
|
|
8658
|
-
return /* @__PURE__ */
|
|
8659
|
-
/* @__PURE__ */
|
|
8660
|
-
/* @__PURE__ */
|
|
8969
|
+
return /* @__PURE__ */ jsxs21("div", { className: "space-y-2", children: [
|
|
8970
|
+
/* @__PURE__ */ jsx33("div", { className: "text-[11px] font-medium text-muted-foreground", children: t("message.toolGroup.sourcesTitle") }),
|
|
8971
|
+
/* @__PURE__ */ jsx33("div", { className: "space-y-2", children: sources.map((source, index) => {
|
|
8661
8972
|
const sourceHost = getSourceHost(source.url);
|
|
8662
8973
|
const snippet = source.content ?? source.description;
|
|
8663
8974
|
const metaParts = [
|
|
@@ -8665,13 +8976,13 @@ function WebSearchToolCallOutput({
|
|
|
8665
8976
|
source.publishedDate,
|
|
8666
8977
|
source.author
|
|
8667
8978
|
].filter((item) => Boolean(item));
|
|
8668
|
-
return /* @__PURE__ */
|
|
8979
|
+
return /* @__PURE__ */ jsxs21(
|
|
8669
8980
|
"div",
|
|
8670
8981
|
{
|
|
8671
8982
|
className: "min-w-0 rounded-md border border-border/60 bg-background/80 px-3 py-2",
|
|
8672
8983
|
children: [
|
|
8673
|
-
metaParts.length > 0 ? /* @__PURE__ */
|
|
8674
|
-
/* @__PURE__ */
|
|
8984
|
+
metaParts.length > 0 ? /* @__PURE__ */ jsx33("div", { className: "mb-1 truncate text-[11px] text-muted-foreground", children: metaParts.join(" / ") }) : null,
|
|
8985
|
+
/* @__PURE__ */ jsx33(
|
|
8675
8986
|
"a",
|
|
8676
8987
|
{
|
|
8677
8988
|
href: source.url,
|
|
@@ -8681,7 +8992,7 @@ function WebSearchToolCallOutput({
|
|
|
8681
8992
|
children: source.title
|
|
8682
8993
|
}
|
|
8683
8994
|
),
|
|
8684
|
-
snippet ? /* @__PURE__ */
|
|
8995
|
+
snippet ? /* @__PURE__ */ jsx33("p", { className: "mt-1 line-clamp-3 text-xs leading-5 text-muted-foreground", children: snippet }) : null
|
|
8685
8996
|
]
|
|
8686
8997
|
},
|
|
8687
8998
|
`${source.url}-${index}`
|
|
@@ -8692,6 +9003,7 @@ function WebSearchToolCallOutput({
|
|
|
8692
9003
|
|
|
8693
9004
|
// src/components/thread/messages/component-message-renderers.tsx
|
|
8694
9005
|
var COMPONENT_MESSAGE_RENDERERS = [
|
|
9006
|
+
knowledgeRetrieverComponentRenderer,
|
|
8695
9007
|
webSearchComponentRenderer
|
|
8696
9008
|
];
|
|
8697
9009
|
function getComponentMessageRenderer(content, data) {
|
|
@@ -8729,58 +9041,7 @@ import {
|
|
|
8729
9041
|
Wrench as Wrench2,
|
|
8730
9042
|
XCircle as XCircle2
|
|
8731
9043
|
} from "lucide-react";
|
|
8732
|
-
|
|
8733
|
-
// src/i18n/localized-text.ts
|
|
8734
|
-
function resolveLocalizedText(value, language) {
|
|
8735
|
-
if (typeof value === "string") {
|
|
8736
|
-
const trimmed = value.trim();
|
|
8737
|
-
return trimmed || null;
|
|
8738
|
-
}
|
|
8739
|
-
if (!value || typeof value !== "object") return null;
|
|
8740
|
-
const localized = value;
|
|
8741
|
-
const normalizedLanguage = language.trim();
|
|
8742
|
-
const underscoredLanguage = normalizedLanguage.replace(/-/g, "_");
|
|
8743
|
-
const languagePrefix = normalizedLanguage.split("-")[0];
|
|
8744
|
-
const preferredKeys = normalizedLanguage.startsWith("zh") ? [
|
|
8745
|
-
normalizedLanguage,
|
|
8746
|
-
underscoredLanguage,
|
|
8747
|
-
"zh_Hans",
|
|
8748
|
-
"zh-Hans",
|
|
8749
|
-
"zh_CN",
|
|
8750
|
-
"zh-CN",
|
|
8751
|
-
"zh",
|
|
8752
|
-
"en_US",
|
|
8753
|
-
"en-US",
|
|
8754
|
-
"en"
|
|
8755
|
-
] : [
|
|
8756
|
-
normalizedLanguage,
|
|
8757
|
-
underscoredLanguage,
|
|
8758
|
-
"en_US",
|
|
8759
|
-
"en-US",
|
|
8760
|
-
"en",
|
|
8761
|
-
languagePrefix,
|
|
8762
|
-
"zh_Hans",
|
|
8763
|
-
"zh-Hans",
|
|
8764
|
-
"zh_CN",
|
|
8765
|
-
"zh-CN",
|
|
8766
|
-
"zh"
|
|
8767
|
-
];
|
|
8768
|
-
for (const key of preferredKeys) {
|
|
8769
|
-
const candidate = localized[key];
|
|
8770
|
-
if (typeof candidate === "string" && candidate.trim()) {
|
|
8771
|
-
return candidate.trim();
|
|
8772
|
-
}
|
|
8773
|
-
}
|
|
8774
|
-
for (const candidate of Object.values(localized)) {
|
|
8775
|
-
if (typeof candidate === "string" && candidate.trim()) {
|
|
8776
|
-
return candidate.trim();
|
|
8777
|
-
}
|
|
8778
|
-
}
|
|
8779
|
-
return null;
|
|
8780
|
-
}
|
|
8781
|
-
|
|
8782
|
-
// src/components/thread/messages/tool-component-group.tsx
|
|
8783
|
-
import { jsx as jsx33, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
9044
|
+
import { jsx as jsx34, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
8784
9045
|
var toolStatusConfig = {
|
|
8785
9046
|
success: {
|
|
8786
9047
|
iconClass: "border-green-500 text-green-700",
|
|
@@ -8952,13 +9213,13 @@ function isSkippableToolGroupSeparator(content) {
|
|
|
8952
9213
|
}
|
|
8953
9214
|
return false;
|
|
8954
9215
|
}
|
|
8955
|
-
function
|
|
9216
|
+
function normalizeToolToken3(value) {
|
|
8956
9217
|
if (typeof value !== "string") return null;
|
|
8957
9218
|
const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
8958
9219
|
return normalized || null;
|
|
8959
9220
|
}
|
|
8960
9221
|
function classifyToolToken(value) {
|
|
8961
|
-
const normalized =
|
|
9222
|
+
const normalized = normalizeToolToken3(
|
|
8962
9223
|
typeof value === "string" ? value : resolveLocalizedText(value, "en-US")
|
|
8963
9224
|
);
|
|
8964
9225
|
if (!normalized) return null;
|
|
@@ -8997,8 +9258,8 @@ function getToolActivityLabel(content, language, statusOverride) {
|
|
|
8997
9258
|
if (status === "running") {
|
|
8998
9259
|
return message ?? title ?? tool ?? type ?? "Tool";
|
|
8999
9260
|
}
|
|
9000
|
-
const titleToken =
|
|
9001
|
-
const genericTitle = titleToken !== null && [tool, type].map((candidate) =>
|
|
9261
|
+
const titleToken = normalizeToolToken3(title);
|
|
9262
|
+
const genericTitle = titleToken !== null && [tool, type].map((candidate) => normalizeToolToken3(candidate)).some((candidate) => candidate === titleToken);
|
|
9002
9263
|
if (message && (!title || genericTitle)) {
|
|
9003
9264
|
return message;
|
|
9004
9265
|
}
|
|
@@ -9082,7 +9343,7 @@ function createToolsetAvatarUrl(toolsetId, apiUrl) {
|
|
|
9082
9343
|
}
|
|
9083
9344
|
}
|
|
9084
9345
|
function shouldUseToolsetAvatar(toolset) {
|
|
9085
|
-
const normalized =
|
|
9346
|
+
const normalized = normalizeToolToken3(toolset);
|
|
9086
9347
|
return normalized === "mcp" || normalized === "openapi";
|
|
9087
9348
|
}
|
|
9088
9349
|
function useToolsetAvatar(toolsetId, enabled, apiUrl) {
|
|
@@ -9120,7 +9381,7 @@ function ToolAvatarIcon({
|
|
|
9120
9381
|
className
|
|
9121
9382
|
}) {
|
|
9122
9383
|
if (avatar.url) {
|
|
9123
|
-
return /* @__PURE__ */
|
|
9384
|
+
return /* @__PURE__ */ jsx34(
|
|
9124
9385
|
"img",
|
|
9125
9386
|
{
|
|
9126
9387
|
alt: "",
|
|
@@ -9133,7 +9394,7 @@ function ToolAvatarIcon({
|
|
|
9133
9394
|
}
|
|
9134
9395
|
const emoji = unicodeFromUnified2(avatar.emoji?.unified);
|
|
9135
9396
|
if (emoji) {
|
|
9136
|
-
return /* @__PURE__ */
|
|
9397
|
+
return /* @__PURE__ */ jsx34(
|
|
9137
9398
|
"span",
|
|
9138
9399
|
{
|
|
9139
9400
|
"aria-hidden": "true",
|
|
@@ -9148,7 +9409,7 @@ function ToolAvatarIcon({
|
|
|
9148
9409
|
}
|
|
9149
9410
|
);
|
|
9150
9411
|
}
|
|
9151
|
-
return /* @__PURE__ */
|
|
9412
|
+
return /* @__PURE__ */ jsx34(
|
|
9152
9413
|
CircleHelp,
|
|
9153
9414
|
{
|
|
9154
9415
|
className,
|
|
@@ -9158,7 +9419,7 @@ function ToolAvatarIcon({
|
|
|
9158
9419
|
);
|
|
9159
9420
|
}
|
|
9160
9421
|
function getKnownToolsetIcon(toolset) {
|
|
9161
|
-
const normalized =
|
|
9422
|
+
const normalized = normalizeToolToken3(toolset);
|
|
9162
9423
|
if (!normalized) return null;
|
|
9163
9424
|
switch (normalized) {
|
|
9164
9425
|
case "project":
|
|
@@ -9181,7 +9442,7 @@ function getKnownToolsetIcon(toolset) {
|
|
|
9181
9442
|
}
|
|
9182
9443
|
}
|
|
9183
9444
|
function getStepTypeIcon(type) {
|
|
9184
|
-
const normalized =
|
|
9445
|
+
const normalized = normalizeToolToken3(type);
|
|
9185
9446
|
if (!normalized) return null;
|
|
9186
9447
|
switch (normalized) {
|
|
9187
9448
|
case "file":
|
|
@@ -9216,7 +9477,7 @@ function ToolStepIcon({
|
|
|
9216
9477
|
setFailedIconUrl(null);
|
|
9217
9478
|
}, [iconUrl]);
|
|
9218
9479
|
if (avatar) {
|
|
9219
|
-
return /* @__PURE__ */
|
|
9480
|
+
return /* @__PURE__ */ jsx34(
|
|
9220
9481
|
ToolAvatarIcon,
|
|
9221
9482
|
{
|
|
9222
9483
|
avatar,
|
|
@@ -9226,7 +9487,7 @@ function ToolStepIcon({
|
|
|
9226
9487
|
);
|
|
9227
9488
|
}
|
|
9228
9489
|
if (iconUrl && failedIconUrl !== iconUrl) {
|
|
9229
|
-
return /* @__PURE__ */
|
|
9490
|
+
return /* @__PURE__ */ jsx34(
|
|
9230
9491
|
"img",
|
|
9231
9492
|
{
|
|
9232
9493
|
alt: "",
|
|
@@ -9240,7 +9501,7 @@ function ToolStepIcon({
|
|
|
9240
9501
|
}
|
|
9241
9502
|
const TypeIcon = getStepTypeIcon(data.type);
|
|
9242
9503
|
if (TypeIcon) {
|
|
9243
|
-
return /* @__PURE__ */
|
|
9504
|
+
return /* @__PURE__ */ jsx34(
|
|
9244
9505
|
TypeIcon,
|
|
9245
9506
|
{
|
|
9246
9507
|
className,
|
|
@@ -9251,7 +9512,7 @@ function ToolStepIcon({
|
|
|
9251
9512
|
}
|
|
9252
9513
|
const ToolsetIcon = getKnownToolsetIcon(data.toolset);
|
|
9253
9514
|
if (ToolsetIcon) {
|
|
9254
|
-
return /* @__PURE__ */
|
|
9515
|
+
return /* @__PURE__ */ jsx34(
|
|
9255
9516
|
ToolsetIcon,
|
|
9256
9517
|
{
|
|
9257
9518
|
className,
|
|
@@ -9261,7 +9522,7 @@ function ToolStepIcon({
|
|
|
9261
9522
|
);
|
|
9262
9523
|
}
|
|
9263
9524
|
if (usesToolsetAvatar) {
|
|
9264
|
-
return /* @__PURE__ */
|
|
9525
|
+
return /* @__PURE__ */ jsx34(
|
|
9265
9526
|
CircleHelp,
|
|
9266
9527
|
{
|
|
9267
9528
|
className,
|
|
@@ -9270,7 +9531,7 @@ function ToolStepIcon({
|
|
|
9270
9531
|
}
|
|
9271
9532
|
);
|
|
9272
9533
|
}
|
|
9273
|
-
return /* @__PURE__ */
|
|
9534
|
+
return /* @__PURE__ */ jsx34(
|
|
9274
9535
|
CircleHelp,
|
|
9275
9536
|
{
|
|
9276
9537
|
className,
|
|
@@ -9301,7 +9562,7 @@ function ToolCallCopyButton({ value }) {
|
|
|
9301
9562
|
}).catch(() => void 0);
|
|
9302
9563
|
}, [clearResetTimeout, value]);
|
|
9303
9564
|
const label = isCopied ? t("message.toolGroup.copied") : t("message.toolGroup.copy");
|
|
9304
|
-
return /* @__PURE__ */
|
|
9565
|
+
return /* @__PURE__ */ jsx34(
|
|
9305
9566
|
"button",
|
|
9306
9567
|
{
|
|
9307
9568
|
type: "button",
|
|
@@ -9309,7 +9570,7 @@ function ToolCallCopyButton({ value }) {
|
|
|
9309
9570
|
"aria-label": label,
|
|
9310
9571
|
title: label,
|
|
9311
9572
|
onClick: handleCopy,
|
|
9312
|
-
children: isCopied ? /* @__PURE__ */
|
|
9573
|
+
children: isCopied ? /* @__PURE__ */ jsx34(Check3, { className: "h-3.5 w-3.5", "aria-hidden": "true" }) : /* @__PURE__ */ jsx34(Copy, { className: "h-3.5 w-3.5", "aria-hidden": "true" })
|
|
9313
9574
|
}
|
|
9314
9575
|
);
|
|
9315
9576
|
}
|
|
@@ -9320,28 +9581,28 @@ function ToolCallValueBlock({
|
|
|
9320
9581
|
const { t } = useChatkitTranslation();
|
|
9321
9582
|
const detected = detectJsonValue(value);
|
|
9322
9583
|
if (detected.kind === "text") {
|
|
9323
|
-
return /* @__PURE__ */
|
|
9324
|
-
/* @__PURE__ */
|
|
9325
|
-
/* @__PURE__ */
|
|
9584
|
+
return /* @__PURE__ */ jsxs22("div", { className: "min-w-0 space-y-1", children: [
|
|
9585
|
+
/* @__PURE__ */ jsx34("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx34(ToolCallCopyButton, { value: detected.text }) }),
|
|
9586
|
+
/* @__PURE__ */ jsx34(PlainTextBlock, { value: detected.text, destructive })
|
|
9326
9587
|
] });
|
|
9327
9588
|
}
|
|
9328
|
-
return /* @__PURE__ */
|
|
9329
|
-
/* @__PURE__ */
|
|
9330
|
-
/* @__PURE__ */
|
|
9589
|
+
return /* @__PURE__ */ jsxs22(Tabs, { defaultValue: "tree", className: "min-w-0", children: [
|
|
9590
|
+
/* @__PURE__ */ jsxs22("div", { className: "mb-2 flex min-w-0 items-center justify-between gap-2", children: [
|
|
9591
|
+
/* @__PURE__ */ jsxs22("span", { className: "min-w-0 truncate text-[11px] text-muted-foreground", children: [
|
|
9331
9592
|
t("message.toolGroup.jsonTitle"),
|
|
9332
9593
|
" \xB7 ",
|
|
9333
9594
|
getJsonValueSummary(detected.value)
|
|
9334
9595
|
] }),
|
|
9335
|
-
/* @__PURE__ */
|
|
9336
|
-
/* @__PURE__ */
|
|
9337
|
-
/* @__PURE__ */
|
|
9338
|
-
/* @__PURE__ */
|
|
9339
|
-
/* @__PURE__ */
|
|
9596
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex shrink-0 items-center gap-1", children: [
|
|
9597
|
+
/* @__PURE__ */ jsx34(ToolCallCopyButton, { value: detected.raw }),
|
|
9598
|
+
/* @__PURE__ */ jsxs22(TabsList, { className: "rounded-md p-0.5", children: [
|
|
9599
|
+
/* @__PURE__ */ jsx34(TabsTrigger, { className: "px-2 py-0.5 text-[11px]", value: "tree", children: t("message.toolGroup.jsonTree") }),
|
|
9600
|
+
/* @__PURE__ */ jsx34(TabsTrigger, { className: "px-2 py-0.5 text-[11px]", value: "raw", children: t("message.toolGroup.jsonRaw") })
|
|
9340
9601
|
] })
|
|
9341
9602
|
] })
|
|
9342
9603
|
] }),
|
|
9343
|
-
/* @__PURE__ */
|
|
9344
|
-
/* @__PURE__ */
|
|
9604
|
+
/* @__PURE__ */ jsx34(TabsContent, { value: "tree", className: "mt-0", children: /* @__PURE__ */ jsx34(JsonTreeView, { value: detected.value }) }),
|
|
9605
|
+
/* @__PURE__ */ jsx34(TabsContent, { value: "raw", className: "mt-0", children: /* @__PURE__ */ jsx34(RawJsonBlock, { raw: detected.raw }) })
|
|
9345
9606
|
] });
|
|
9346
9607
|
}
|
|
9347
9608
|
function DefaultToolCallOutput({ data }) {
|
|
@@ -9349,15 +9610,15 @@ function DefaultToolCallOutput({ data }) {
|
|
|
9349
9610
|
const output = data.output ?? null;
|
|
9350
9611
|
const error = data.error ?? null;
|
|
9351
9612
|
if (error) {
|
|
9352
|
-
return /* @__PURE__ */
|
|
9353
|
-
/* @__PURE__ */
|
|
9354
|
-
/* @__PURE__ */
|
|
9613
|
+
return /* @__PURE__ */ jsxs22("div", { className: "space-y-1", children: [
|
|
9614
|
+
/* @__PURE__ */ jsx34("div", { className: "text-[11px] font-medium text-destructive", children: t("message.toolGroup.errorTitle") }),
|
|
9615
|
+
/* @__PURE__ */ jsx34(ToolCallValueBlock, { value: error, destructive: true })
|
|
9355
9616
|
] });
|
|
9356
9617
|
}
|
|
9357
9618
|
if (output === null) return null;
|
|
9358
|
-
return /* @__PURE__ */
|
|
9359
|
-
/* @__PURE__ */
|
|
9360
|
-
/* @__PURE__ */
|
|
9619
|
+
return /* @__PURE__ */ jsxs22("div", { className: "space-y-1", children: [
|
|
9620
|
+
/* @__PURE__ */ jsx34("div", { className: "text-[11px] font-medium text-muted-foreground", children: t("message.toolGroup.outputTitle") }),
|
|
9621
|
+
/* @__PURE__ */ jsx34(ToolCallValueBlock, { value: output })
|
|
9361
9622
|
] });
|
|
9362
9623
|
}
|
|
9363
9624
|
function ToolCallDetails({ content }) {
|
|
@@ -9367,19 +9628,19 @@ function ToolCallDetails({ content }) {
|
|
|
9367
9628
|
const hasCustomDetails = data.error === void 0 && hasComponentMessageRendererDetails(renderer, content, data);
|
|
9368
9629
|
const CustomDetailsRenderer = hasCustomDetails ? renderer?.renderDetails : void 0;
|
|
9369
9630
|
if (CustomDetailsRenderer) {
|
|
9370
|
-
return /* @__PURE__ */
|
|
9631
|
+
return /* @__PURE__ */ jsx34("div", { className: "ml-6 mt-1 max-h-60 overflow-auto rounded-md bg-muted/30 text-xs text-muted-foreground", children: /* @__PURE__ */ jsx34(CustomDetailsRenderer, { content, data }) });
|
|
9371
9632
|
}
|
|
9372
9633
|
const OutputRenderer = getToolCallOutputRenderer(data);
|
|
9373
9634
|
const hasInput = data.input !== void 0 && data.input !== null;
|
|
9374
9635
|
const hasOutput = data.error !== void 0 || data.output !== void 0;
|
|
9375
9636
|
if (!hasInput && !hasOutput) return null;
|
|
9376
|
-
return /* @__PURE__ */
|
|
9377
|
-
hasInput && /* @__PURE__ */
|
|
9378
|
-
/* @__PURE__ */
|
|
9379
|
-
/* @__PURE__ */
|
|
9637
|
+
return /* @__PURE__ */ jsxs22("div", { className: "ml-6 mt-1 max-h-60 overflow-auto rounded-md bg-muted/30 px-3 py-2 text-xs text-muted-foreground", children: [
|
|
9638
|
+
hasInput && /* @__PURE__ */ jsxs22("div", { className: "space-y-1", children: [
|
|
9639
|
+
/* @__PURE__ */ jsx34("div", { className: "text-[11px] font-medium text-muted-foreground", children: t("message.toolGroup.inputTitle") }),
|
|
9640
|
+
/* @__PURE__ */ jsx34(ToolCallValueBlock, { value: data.input })
|
|
9380
9641
|
] }),
|
|
9381
|
-
hasInput && hasOutput ? /* @__PURE__ */
|
|
9382
|
-
hasOutput ? /* @__PURE__ */
|
|
9642
|
+
hasInput && hasOutput ? /* @__PURE__ */ jsx34("div", { className: "h-2" }) : null,
|
|
9643
|
+
hasOutput ? /* @__PURE__ */ jsx34(OutputRenderer, { content, data }) : null
|
|
9383
9644
|
] });
|
|
9384
9645
|
}
|
|
9385
9646
|
function areToolCallRowPropsEqual(previous, next) {
|
|
@@ -9395,9 +9656,9 @@ function ToolCallRowContent({
|
|
|
9395
9656
|
const data = getToolStepData(content);
|
|
9396
9657
|
const status = getEffectiveToolStepStatus(data, isThreadRunning);
|
|
9397
9658
|
const hasError = status === "fail" || Boolean(data.error);
|
|
9398
|
-
const label = getToolActivityLabel(content, i18n2.language, status);
|
|
9399
9659
|
const detailsId = React29.useId();
|
|
9400
9660
|
const renderer = getComponentMessageRenderer(content, data);
|
|
9661
|
+
const label = renderer?.getTitle?.(content, data, i18n2.language) ?? getToolActivityLabel(content, i18n2.language, status);
|
|
9401
9662
|
const hasCustomDetails = data.error === void 0 && hasComponentMessageRendererDetails(renderer, content, data);
|
|
9402
9663
|
const hasDetails = data.input !== void 0 || data.error !== void 0 || data.output !== void 0 || hasCustomDetails;
|
|
9403
9664
|
const fallbackEndedAt = useFrozenTimestamp(
|
|
@@ -9413,8 +9674,8 @@ function ToolCallRowContent({
|
|
|
9413
9674
|
setIsExpanded(true);
|
|
9414
9675
|
}
|
|
9415
9676
|
}, [data.output, status]);
|
|
9416
|
-
return /* @__PURE__ */
|
|
9417
|
-
/* @__PURE__ */
|
|
9677
|
+
return /* @__PURE__ */ jsxs22("li", { className: "ck-tool-call-row-enter min-w-0", children: [
|
|
9678
|
+
/* @__PURE__ */ jsxs22(
|
|
9418
9679
|
"button",
|
|
9419
9680
|
{
|
|
9420
9681
|
type: "button",
|
|
@@ -9431,7 +9692,7 @@ function ToolCallRowContent({
|
|
|
9431
9692
|
if (hasDetails) setIsExpanded((prev) => !prev);
|
|
9432
9693
|
},
|
|
9433
9694
|
children: [
|
|
9434
|
-
status ? /* @__PURE__ */
|
|
9695
|
+
status ? /* @__PURE__ */ jsx34(
|
|
9435
9696
|
ToolStepIcon,
|
|
9436
9697
|
{
|
|
9437
9698
|
data,
|
|
@@ -9442,8 +9703,8 @@ function ToolCallRowContent({
|
|
|
9442
9703
|
hasError ? "text-destructive" : "text-muted-foreground"
|
|
9443
9704
|
)
|
|
9444
9705
|
}
|
|
9445
|
-
) : /* @__PURE__ */
|
|
9446
|
-
/* @__PURE__ */
|
|
9706
|
+
) : /* @__PURE__ */ jsx34("span", { className: "h-3.5 w-3.5 shrink-0", "aria-hidden": "true" }),
|
|
9707
|
+
/* @__PURE__ */ jsx34(
|
|
9447
9708
|
"span",
|
|
9448
9709
|
{
|
|
9449
9710
|
className: cn(
|
|
@@ -9454,8 +9715,8 @@ function ToolCallRowContent({
|
|
|
9454
9715
|
children: label
|
|
9455
9716
|
}
|
|
9456
9717
|
),
|
|
9457
|
-
durationLabel ? /* @__PURE__ */
|
|
9458
|
-
hasDetails ? /* @__PURE__ */
|
|
9718
|
+
durationLabel ? /* @__PURE__ */ jsx34("span", { className: "shrink-0 text-[11px] tabular-nums text-muted-foreground/80", children: durationLabel }) : null,
|
|
9719
|
+
hasDetails ? /* @__PURE__ */ jsx34(
|
|
9459
9720
|
ChevronRight7,
|
|
9460
9721
|
{
|
|
9461
9722
|
"aria-hidden": "true",
|
|
@@ -9468,7 +9729,7 @@ function ToolCallRowContent({
|
|
|
9468
9729
|
]
|
|
9469
9730
|
}
|
|
9470
9731
|
),
|
|
9471
|
-
hasDetails && isExpanded ? /* @__PURE__ */
|
|
9732
|
+
hasDetails && isExpanded ? /* @__PURE__ */ jsx34("div", { id: detailsId, children: /* @__PURE__ */ jsx34(ToolCallDetails, { content }) }) : null
|
|
9472
9733
|
] });
|
|
9473
9734
|
}
|
|
9474
9735
|
var ToolCallRow = React29.memo(ToolCallRowContent, areToolCallRowPropsEqual);
|
|
@@ -9499,9 +9760,9 @@ function ToolComponentGroup({
|
|
|
9499
9760
|
const StatusIcon = config.icon;
|
|
9500
9761
|
React29.useEffect(() => {
|
|
9501
9762
|
setIsExpanded(!hasFollowingItem);
|
|
9502
|
-
}, [hasFollowingItem
|
|
9503
|
-
return /* @__PURE__ */
|
|
9504
|
-
/* @__PURE__ */
|
|
9763
|
+
}, [hasFollowingItem]);
|
|
9764
|
+
return /* @__PURE__ */ jsxs22("div", { className: "px-1 py-1", children: [
|
|
9765
|
+
/* @__PURE__ */ jsxs22(
|
|
9505
9766
|
"button",
|
|
9506
9767
|
{
|
|
9507
9768
|
type: "button",
|
|
@@ -9510,8 +9771,8 @@ function ToolComponentGroup({
|
|
|
9510
9771
|
"aria-controls": contentId,
|
|
9511
9772
|
onClick: () => setIsExpanded((prev) => !prev),
|
|
9512
9773
|
children: [
|
|
9513
|
-
/* @__PURE__ */
|
|
9514
|
-
/* @__PURE__ */
|
|
9774
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex min-w-0 items-center gap-2 text-sm font-medium text-muted-foreground", children: [
|
|
9775
|
+
/* @__PURE__ */ jsx34(
|
|
9515
9776
|
StatusIcon,
|
|
9516
9777
|
{
|
|
9517
9778
|
className: cn(
|
|
@@ -9520,9 +9781,9 @@ function ToolComponentGroup({
|
|
|
9520
9781
|
)
|
|
9521
9782
|
}
|
|
9522
9783
|
),
|
|
9523
|
-
/* @__PURE__ */
|
|
9784
|
+
/* @__PURE__ */ jsx34("span", { className: "truncate", children: summary })
|
|
9524
9785
|
] }),
|
|
9525
|
-
/* @__PURE__ */
|
|
9786
|
+
/* @__PURE__ */ jsx34(
|
|
9526
9787
|
ChevronRight7,
|
|
9527
9788
|
{
|
|
9528
9789
|
"aria-hidden": "true",
|
|
@@ -9535,7 +9796,7 @@ function ToolComponentGroup({
|
|
|
9535
9796
|
]
|
|
9536
9797
|
}
|
|
9537
9798
|
),
|
|
9538
|
-
isExpanded && /* @__PURE__ */
|
|
9799
|
+
isExpanded && /* @__PURE__ */ jsx34("ul", { id: contentId, className: "mt-2 space-y-1.5 overflow-y-auto pr-1", children: items.map((item, index) => /* @__PURE__ */ jsx34(
|
|
9539
9800
|
ToolCallRow,
|
|
9540
9801
|
{
|
|
9541
9802
|
content: item,
|
|
@@ -9555,11 +9816,11 @@ import {
|
|
|
9555
9816
|
REQUEST_USER_INPUT_TOOL_NAME as REQUEST_USER_INPUT_TOOL_NAME2
|
|
9556
9817
|
} from "@xpert-ai/chatkit-types";
|
|
9557
9818
|
import { CheckCircle2 as CheckCircle24 } from "lucide-react";
|
|
9558
|
-
import { jsx as
|
|
9559
|
-
function
|
|
9819
|
+
import { jsx as jsx35, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
9820
|
+
function isRecord3(value) {
|
|
9560
9821
|
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
9561
9822
|
}
|
|
9562
|
-
function
|
|
9823
|
+
function readString2(record, keys) {
|
|
9563
9824
|
for (const key of keys) {
|
|
9564
9825
|
const value = record[key];
|
|
9565
9826
|
if (typeof value === "string" && value.trim()) {
|
|
@@ -9569,12 +9830,12 @@ function readString(record, keys) {
|
|
|
9569
9830
|
return null;
|
|
9570
9831
|
}
|
|
9571
9832
|
function getToolCallId(value) {
|
|
9572
|
-
if (!
|
|
9573
|
-
return
|
|
9833
|
+
if (!isRecord3(value)) return null;
|
|
9834
|
+
return readString2(value, ["id"]);
|
|
9574
9835
|
}
|
|
9575
9836
|
function getToolCallName(value) {
|
|
9576
|
-
if (!
|
|
9577
|
-
return
|
|
9837
|
+
if (!isRecord3(value)) return null;
|
|
9838
|
+
return readString2(value, ["name"]);
|
|
9578
9839
|
}
|
|
9579
9840
|
function pushClientToolCallsFromRecord(record, calls) {
|
|
9580
9841
|
const clientToolCalls = record.clientToolCalls;
|
|
@@ -9598,16 +9859,16 @@ function findRequestUserInputClientToolCallById(messages, id) {
|
|
|
9598
9859
|
) ?? null;
|
|
9599
9860
|
}
|
|
9600
9861
|
function normalizeAnswer(value) {
|
|
9601
|
-
if (!
|
|
9602
|
-
const id =
|
|
9603
|
-
const question =
|
|
9604
|
-
const answerValue =
|
|
9605
|
-
const type =
|
|
9862
|
+
if (!isRecord3(value)) return null;
|
|
9863
|
+
const id = readString2(value, ["id"]);
|
|
9864
|
+
const question = readString2(value, ["question"]);
|
|
9865
|
+
const answerValue = readString2(value, ["value"]);
|
|
9866
|
+
const type = readString2(value, ["type"]);
|
|
9606
9867
|
if (!id || !question || !answerValue || type !== "option" && type !== "other") {
|
|
9607
9868
|
return null;
|
|
9608
9869
|
}
|
|
9609
|
-
const label =
|
|
9610
|
-
const description =
|
|
9870
|
+
const label = readString2(value, ["label"]);
|
|
9871
|
+
const description = readString2(value, ["description"]);
|
|
9611
9872
|
return {
|
|
9612
9873
|
id,
|
|
9613
9874
|
question,
|
|
@@ -9626,7 +9887,7 @@ function parseResultOutput(output) {
|
|
|
9626
9887
|
return null;
|
|
9627
9888
|
}
|
|
9628
9889
|
}
|
|
9629
|
-
if (!
|
|
9890
|
+
if (!isRecord3(result) || !Array.isArray(result.answers)) {
|
|
9630
9891
|
return null;
|
|
9631
9892
|
}
|
|
9632
9893
|
const hasExplicitType = result.type === REQUEST_USER_INPUT_RESULT_TYPE2;
|
|
@@ -9640,7 +9901,7 @@ function parseResultOutput(output) {
|
|
|
9640
9901
|
};
|
|
9641
9902
|
}
|
|
9642
9903
|
function getRequestUserInputResultCardData(content, messages) {
|
|
9643
|
-
const data =
|
|
9904
|
+
const data = isRecord3(content.data) ? content.data : null;
|
|
9644
9905
|
if (data?.status !== "success") {
|
|
9645
9906
|
return null;
|
|
9646
9907
|
}
|
|
@@ -9667,7 +9928,7 @@ function RequestUserInputResultCard({
|
|
|
9667
9928
|
className
|
|
9668
9929
|
}) {
|
|
9669
9930
|
const { t } = useChatkitTranslation();
|
|
9670
|
-
return /* @__PURE__ */
|
|
9931
|
+
return /* @__PURE__ */ jsxs23(
|
|
9671
9932
|
"section",
|
|
9672
9933
|
{
|
|
9673
9934
|
"aria-label": t("message.requestUserInputResult.title"),
|
|
@@ -9676,23 +9937,23 @@ function RequestUserInputResultCard({
|
|
|
9676
9937
|
className
|
|
9677
9938
|
),
|
|
9678
9939
|
children: [
|
|
9679
|
-
/* @__PURE__ */
|
|
9680
|
-
/* @__PURE__ */
|
|
9681
|
-
/* @__PURE__ */
|
|
9940
|
+
/* @__PURE__ */ jsxs23("div", { className: "mb-2 flex items-center gap-2 text-sm font-semibold text-foreground", children: [
|
|
9941
|
+
/* @__PURE__ */ jsx35(CheckCircle24, { className: "h-4 w-4 text-primary" }),
|
|
9942
|
+
/* @__PURE__ */ jsx35("span", { children: t("message.requestUserInputResult.title") })
|
|
9682
9943
|
] }),
|
|
9683
|
-
/* @__PURE__ */
|
|
9944
|
+
/* @__PURE__ */ jsx35("div", { className: "space-y-2", children: result.answers.map((answer, index) => /* @__PURE__ */ jsxs23(
|
|
9684
9945
|
"div",
|
|
9685
9946
|
{
|
|
9686
9947
|
className: "rounded-md bg-background/70 px-2.5 py-2",
|
|
9687
9948
|
children: [
|
|
9688
|
-
/* @__PURE__ */
|
|
9689
|
-
/* @__PURE__ */
|
|
9690
|
-
/* @__PURE__ */
|
|
9691
|
-
/* @__PURE__ */
|
|
9949
|
+
/* @__PURE__ */ jsx35("div", { className: "text-xs font-medium leading-5 text-muted-foreground", children: answer.question }),
|
|
9950
|
+
/* @__PURE__ */ jsxs23("div", { className: "mt-0.5 flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
9951
|
+
/* @__PURE__ */ jsx35("span", { className: "min-w-0 wrap-break-word text-sm font-semibold text-foreground", children: answer.label ?? answer.value }),
|
|
9952
|
+
/* @__PURE__ */ jsx35("span", { className: "rounded-full bg-muted px-1.5 py-0.5 text-[11px] font-medium text-muted-foreground", children: t(
|
|
9692
9953
|
answer.type === "other" ? "message.requestUserInputResult.other" : "message.requestUserInputResult.option"
|
|
9693
9954
|
) })
|
|
9694
9955
|
] }),
|
|
9695
|
-
answer.description ? /* @__PURE__ */
|
|
9956
|
+
answer.description ? /* @__PURE__ */ jsx35("div", { className: "mt-1 text-xs leading-5 text-muted-foreground", children: answer.description }) : null
|
|
9696
9957
|
]
|
|
9697
9958
|
},
|
|
9698
9959
|
`${answer.id}-${index}`
|
|
@@ -9704,18 +9965,18 @@ function RequestUserInputResultCard({
|
|
|
9704
9965
|
|
|
9705
9966
|
// src/components/thread/messages/widget.tsx
|
|
9706
9967
|
import { SurfaceRenderer } from "@xpert-ai/a2ui-react";
|
|
9707
|
-
import { jsx as
|
|
9968
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
9708
9969
|
function WidgetMessage({ messageId, data }) {
|
|
9709
9970
|
const widgets = Array.isArray(data.widgets) ? data.widgets : [];
|
|
9710
9971
|
if (widgets.length === 0) return null;
|
|
9711
9972
|
const baseSurfaceId = `widget-${messageId}`;
|
|
9712
|
-
return /* @__PURE__ */
|
|
9973
|
+
return /* @__PURE__ */ jsx36("div", { className: "space-y-3", children: widgets.map((widget, index) => {
|
|
9713
9974
|
const config = widget?.config;
|
|
9714
9975
|
if (!config || typeof config !== "object") {
|
|
9715
9976
|
return null;
|
|
9716
9977
|
}
|
|
9717
9978
|
const surfaceId = widgets.length > 1 ? `${baseSurfaceId}-${index}` : baseSurfaceId;
|
|
9718
|
-
return /* @__PURE__ */
|
|
9979
|
+
return /* @__PURE__ */ jsx36(
|
|
9719
9980
|
SurfaceRenderer,
|
|
9720
9981
|
{
|
|
9721
9982
|
surfaceId,
|
|
@@ -9727,7 +9988,7 @@ function WidgetMessage({ messageId, data }) {
|
|
|
9727
9988
|
}
|
|
9728
9989
|
|
|
9729
9990
|
// src/components/thread/messages/ai.tsx
|
|
9730
|
-
import { jsx as
|
|
9991
|
+
import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
9731
9992
|
var assistantMessageStackClassName = "space-y-3 in-data-[density=compact]:space-y-2 in-data-[density=spacious]:space-y-4";
|
|
9732
9993
|
function isTextContent3(content) {
|
|
9733
9994
|
return content.type === "text";
|
|
@@ -9761,11 +10022,11 @@ function formatDisplayValue3(value) {
|
|
|
9761
10022
|
function ReasoningBlock({ reasoning }) {
|
|
9762
10023
|
const blocks = reasoning.filter((item) => item.text?.trim());
|
|
9763
10024
|
if (blocks.length === 0) return null;
|
|
9764
|
-
return /* @__PURE__ */
|
|
10025
|
+
return /* @__PURE__ */ jsx37("div", { className: "space-y-2", children: blocks.map((item, index) => /* @__PURE__ */ jsx37(
|
|
9765
10026
|
"div",
|
|
9766
10027
|
{
|
|
9767
10028
|
className: "rounded-lg border bg-muted/40 p-3 text-xs text-muted-foreground",
|
|
9768
|
-
children: /* @__PURE__ */
|
|
10029
|
+
children: /* @__PURE__ */ jsx37("p", { className: "whitespace-pre-wrap wrap-break-word leading-relaxed", children: item.text })
|
|
9769
10030
|
},
|
|
9770
10031
|
item.id ?? `reasoning-${index}`
|
|
9771
10032
|
)) });
|
|
@@ -9773,20 +10034,20 @@ function ReasoningBlock({ reasoning }) {
|
|
|
9773
10034
|
function ImageBlock({ content }) {
|
|
9774
10035
|
const imageUrl = typeof content.image_url === "string" ? content.image_url : typeof content.image_url?.url === "string" ? content.image_url.url : null;
|
|
9775
10036
|
if (!imageUrl) {
|
|
9776
|
-
return /* @__PURE__ */
|
|
9777
|
-
/* @__PURE__ */
|
|
9778
|
-
/* @__PURE__ */
|
|
10037
|
+
return /* @__PURE__ */ jsxs24(Card, { children: [
|
|
10038
|
+
/* @__PURE__ */ jsx37(CardHeader, { className: "space-y-1", children: /* @__PURE__ */ jsx37(CardTitle, { className: "text-sm", children: "Image" }) }),
|
|
10039
|
+
/* @__PURE__ */ jsx37(CardContent, { className: "text-xs text-muted-foreground", children: safeJson3(content) })
|
|
9779
10040
|
] });
|
|
9780
10041
|
}
|
|
9781
|
-
return /* @__PURE__ */
|
|
10042
|
+
return /* @__PURE__ */ jsx37("figure", { className: "overflow-hidden rounded-lg border bg-background", children: /* @__PURE__ */ jsx37("img", { src: imageUrl, alt: "Assistant output", className: "h-auto w-full object-cover" }) });
|
|
9782
10043
|
}
|
|
9783
10044
|
function MemoryBlock({ content }) {
|
|
9784
|
-
return /* @__PURE__ */
|
|
9785
|
-
/* @__PURE__ */
|
|
9786
|
-
/* @__PURE__ */
|
|
9787
|
-
/* @__PURE__ */
|
|
10045
|
+
return /* @__PURE__ */ jsxs24(Card, { children: [
|
|
10046
|
+
/* @__PURE__ */ jsxs24(CardHeader, { className: "flex flex-row items-center justify-between gap-2", children: [
|
|
10047
|
+
/* @__PURE__ */ jsx37(CardTitle, { className: "text-sm", children: "Memory" }),
|
|
10048
|
+
/* @__PURE__ */ jsx37(Badge, { variant: "secondary", children: "Memory" })
|
|
9788
10049
|
] }),
|
|
9789
|
-
/* @__PURE__ */
|
|
10050
|
+
/* @__PURE__ */ jsx37(CardContent, { className: "text-xs text-muted-foreground", children: /* @__PURE__ */ jsx37("pre", { className: "whitespace-pre-wrap wrap-break-word", children: safeJson3(content.data ?? []) }) })
|
|
9790
10051
|
] });
|
|
9791
10052
|
}
|
|
9792
10053
|
function parseStepDate2(value) {
|
|
@@ -9886,24 +10147,24 @@ function ComponentBlock({ content }) {
|
|
|
9886
10147
|
}, [isExpanded, output, status]);
|
|
9887
10148
|
const config = status ? toolStatusConfig[status] : null;
|
|
9888
10149
|
const StatusIcon = config?.icon;
|
|
9889
|
-
return /* @__PURE__ */
|
|
9890
|
-
/* @__PURE__ */
|
|
9891
|
-
/* @__PURE__ */
|
|
9892
|
-
status && StatusIcon && /* @__PURE__ */
|
|
9893
|
-
/* @__PURE__ */
|
|
10150
|
+
return /* @__PURE__ */ jsxs24(Card, { children: [
|
|
10151
|
+
/* @__PURE__ */ jsxs24(CardHeader, { className: "flex flex-row items-center justify-between gap-2 px-2 py-1 cursor-pointer", onClick: () => setIsExpanded(!isExpanded), children: [
|
|
10152
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex items-center space-x-1 flex-1 min-w-0", children: [
|
|
10153
|
+
status && StatusIcon && /* @__PURE__ */ jsx37(StatusIcon, { className: cn("h-4 w-4", config?.iconClass, status === "running" && "animate-spin") }),
|
|
10154
|
+
/* @__PURE__ */ jsx37(CardTitle, { className: "text-sm truncate", children: title })
|
|
9894
10155
|
] }),
|
|
9895
|
-
/* @__PURE__ */
|
|
9896
|
-
durationLabel && /* @__PURE__ */
|
|
9897
|
-
/* @__PURE__ */
|
|
9898
|
-
/* @__PURE__ */
|
|
10156
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex flex-wrap items-center gap-2 shrink-0", children: [
|
|
10157
|
+
durationLabel && /* @__PURE__ */ jsxs24("div", { className: "inline-flex items-center gap-1 text-[11px] text-muted-foreground tabular-nums", children: [
|
|
10158
|
+
/* @__PURE__ */ jsx37(Clock32, { className: "h-3 w-3" }),
|
|
10159
|
+
/* @__PURE__ */ jsx37("span", { children: durationLabel })
|
|
9899
10160
|
] }),
|
|
9900
|
-
/* @__PURE__ */
|
|
9901
|
-
/* @__PURE__ */
|
|
10161
|
+
/* @__PURE__ */ jsx37(Badge, { variant: "secondary", className: "rounded-lg px-1.5", children: category }),
|
|
10162
|
+
/* @__PURE__ */ jsx37(
|
|
9902
10163
|
"button",
|
|
9903
10164
|
{
|
|
9904
10165
|
className: "text-muted-foreground hover:text-foreground transition-colors",
|
|
9905
10166
|
"aria-label": isExpanded ? "Collapse" : "Expand",
|
|
9906
|
-
children: /* @__PURE__ */
|
|
10167
|
+
children: /* @__PURE__ */ jsx37(
|
|
9907
10168
|
ChevronDown4,
|
|
9908
10169
|
{
|
|
9909
10170
|
className: cn("h-4 w-4 transition-transform", isExpanded && "rotate-180")
|
|
@@ -9913,35 +10174,35 @@ function ComponentBlock({ content }) {
|
|
|
9913
10174
|
)
|
|
9914
10175
|
] })
|
|
9915
10176
|
] }),
|
|
9916
|
-
isExpanded && /* @__PURE__ */
|
|
9917
|
-
data.input && /* @__PURE__ */
|
|
9918
|
-
error ? /* @__PURE__ */
|
|
10177
|
+
isExpanded && /* @__PURE__ */ jsxs24(CardContent, { ref: contentRef, className: "text-xs text-muted-foreground max-h-60 overflow-auto", children: [
|
|
10178
|
+
data.input && /* @__PURE__ */ jsx37("pre", { className: "whitespace-pre-wrap wrap-break-word", children: formatDisplayValue3(data.input) }),
|
|
10179
|
+
error ? /* @__PURE__ */ jsx37("pre", { className: "whitespace-pre-wrap wrap-break-word text-destructive", children: formatDisplayValue3(error) }) : hasOutput && /* @__PURE__ */ jsx37("pre", { className: "whitespace-pre-wrap wrap-break-word", children: formatDisplayValue3(fallback) })
|
|
9919
10180
|
] })
|
|
9920
10181
|
] });
|
|
9921
10182
|
}
|
|
9922
10183
|
function UnknownBlock({ content }) {
|
|
9923
|
-
return /* @__PURE__ */
|
|
9924
|
-
/* @__PURE__ */
|
|
9925
|
-
/* @__PURE__ */
|
|
9926
|
-
/* @__PURE__ */
|
|
10184
|
+
return /* @__PURE__ */ jsxs24(Card, { children: [
|
|
10185
|
+
/* @__PURE__ */ jsxs24(CardHeader, { className: "flex flex-row items-center justify-between gap-2", children: [
|
|
10186
|
+
/* @__PURE__ */ jsx37(CardTitle, { className: "text-sm", children: "Assistant Content" }),
|
|
10187
|
+
/* @__PURE__ */ jsx37(Badge, { variant: "outline", children: content.type ?? "unknown" })
|
|
9927
10188
|
] }),
|
|
9928
|
-
/* @__PURE__ */
|
|
10189
|
+
/* @__PURE__ */ jsx37(CardContent, { className: "text-xs text-muted-foreground", children: /* @__PURE__ */ jsx37("pre", { className: "whitespace-pre-wrap break-words", children: safeJson3(content) }) })
|
|
9929
10190
|
] });
|
|
9930
10191
|
}
|
|
9931
10192
|
function renderContentItem(content, index, message, lookupMessages, options) {
|
|
9932
10193
|
const messageId = message.id;
|
|
9933
10194
|
const textClassName = options?.isAgentOutput ? "text-sm [&_.markdown-content_p]:!leading-6" : void 0;
|
|
9934
10195
|
if (typeof content === "string") {
|
|
9935
|
-
return /* @__PURE__ */
|
|
10196
|
+
return /* @__PURE__ */ jsx37("div", { className: textClassName, children: /* @__PURE__ */ jsx37(MarkdownText, { children: content }) }, `text-${index}`);
|
|
9936
10197
|
}
|
|
9937
10198
|
if (isTextContent3(content)) {
|
|
9938
|
-
return /* @__PURE__ */
|
|
10199
|
+
return /* @__PURE__ */ jsx37("div", { className: textClassName, children: /* @__PURE__ */ jsx37(MarkdownText, { children: content.text }) }, content.id ?? `text-${index}`);
|
|
9939
10200
|
}
|
|
9940
10201
|
if (isReasoningContent3(content)) {
|
|
9941
|
-
return /* @__PURE__ */
|
|
10202
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(ReasoningBlock, { reasoning: [content] }) }, content.id ?? `reasoning-${index}`);
|
|
9942
10203
|
}
|
|
9943
10204
|
if (isImageContent(content)) {
|
|
9944
|
-
return /* @__PURE__ */
|
|
10205
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(ImageBlock, { content }) }, content.id ?? `image-${index}`);
|
|
9945
10206
|
}
|
|
9946
10207
|
if (isComponentContent3(content)) {
|
|
9947
10208
|
const requestUserInputResult = getRequestUserInputResultCardData(
|
|
@@ -9949,13 +10210,13 @@ function renderContentItem(content, index, message, lookupMessages, options) {
|
|
|
9949
10210
|
lookupMessages
|
|
9950
10211
|
);
|
|
9951
10212
|
if (requestUserInputResult) {
|
|
9952
|
-
return /* @__PURE__ */
|
|
10213
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(RequestUserInputResultCard, { result: requestUserInputResult }) }, content.id ?? `request-user-input-result-${index}`);
|
|
9953
10214
|
}
|
|
9954
10215
|
if (isWidgetComponent2(content)) {
|
|
9955
|
-
return /* @__PURE__ */
|
|
10216
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(WidgetMessage, { messageId, data: content.data }) }, content.id ?? `widget-${index}`);
|
|
9956
10217
|
}
|
|
9957
10218
|
if (getComponentMessagePresentation(content, getToolStepData(content)) === "grouped-step") {
|
|
9958
|
-
return /* @__PURE__ */
|
|
10219
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(
|
|
9959
10220
|
ToolComponentGroup,
|
|
9960
10221
|
{
|
|
9961
10222
|
items: [content],
|
|
@@ -9966,15 +10227,15 @@ function renderContentItem(content, index, message, lookupMessages, options) {
|
|
|
9966
10227
|
}
|
|
9967
10228
|
) }, content.id ?? `component-group-${index}`);
|
|
9968
10229
|
}
|
|
9969
|
-
return /* @__PURE__ */
|
|
10230
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(ComponentBlock, { content }) }, content.id ?? `component-${index}`);
|
|
9970
10231
|
}
|
|
9971
10232
|
if (isMemoryContent(content)) {
|
|
9972
|
-
return /* @__PURE__ */
|
|
10233
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(MemoryBlock, { content }) }, content.id ?? `memory-${index}`);
|
|
9973
10234
|
}
|
|
9974
10235
|
if (isAgentEventContent(content)) {
|
|
9975
|
-
return /* @__PURE__ */
|
|
10236
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(AgentEventRow, { content }) }, content.id ?? `agent-event-${index}`);
|
|
9976
10237
|
}
|
|
9977
|
-
return /* @__PURE__ */
|
|
10238
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(UnknownBlock, { content }) }, content.id ?? `unknown-${index}`);
|
|
9978
10239
|
}
|
|
9979
10240
|
function renderContentUnit(unit, message, lookupMessages, hasFollowingItem, options) {
|
|
9980
10241
|
if (unit.type === "item") {
|
|
@@ -9985,22 +10246,16 @@ function renderContentUnit(unit, message, lookupMessages, hasFollowingItem, opti
|
|
|
9985
10246
|
isAgentOutput: options?.isAgentOutput
|
|
9986
10247
|
});
|
|
9987
10248
|
}
|
|
9988
|
-
return /* @__PURE__ */
|
|
9989
|
-
|
|
10249
|
+
return /* @__PURE__ */ jsx37("div", { children: /* @__PURE__ */ jsx37(
|
|
10250
|
+
ToolComponentGroup,
|
|
9990
10251
|
{
|
|
9991
|
-
|
|
9992
|
-
|
|
9993
|
-
|
|
9994
|
-
|
|
9995
|
-
|
|
9996
|
-
|
|
9997
|
-
|
|
9998
|
-
apiUrl: options?.apiUrl
|
|
9999
|
-
}
|
|
10000
|
-
)
|
|
10001
|
-
},
|
|
10002
|
-
`tool-group-${unit.startIndex}-${unit.items[0]?.id ?? "tool"}-${unit.items.length}`
|
|
10003
|
-
);
|
|
10252
|
+
items: unit.items,
|
|
10253
|
+
hasFollowingItem,
|
|
10254
|
+
isThreadRunning: options?.isThreadRunning,
|
|
10255
|
+
organizationId: options?.organizationId,
|
|
10256
|
+
apiUrl: options?.apiUrl
|
|
10257
|
+
}
|
|
10258
|
+
) }, `tool-group-${unit.startIndex}-${unit.items[0]?.id ?? "tool"}`);
|
|
10004
10259
|
}
|
|
10005
10260
|
function renderEntryBatch(entries, message, lookupMessages, hasFollowingItem, options) {
|
|
10006
10261
|
if (entries.length === 0) return null;
|
|
@@ -10028,7 +10283,7 @@ function renderAssistantRenderUnits(units, message, lookupMessages, options, dep
|
|
|
10028
10283
|
const batch = entryBatch;
|
|
10029
10284
|
entryBatch = [];
|
|
10030
10285
|
rendered.push(
|
|
10031
|
-
/* @__PURE__ */
|
|
10286
|
+
/* @__PURE__ */ jsx37(React31.Fragment, { children: renderEntryBatch(batch, message, lookupMessages, hasFollowingItem, {
|
|
10032
10287
|
...options,
|
|
10033
10288
|
isAgentOutput: depth > 0
|
|
10034
10289
|
}) }, `entries-${batch[0]?.order ?? rendered.length}`)
|
|
@@ -10045,7 +10300,7 @@ function renderAssistantRenderUnits(units, message, lookupMessages, options, dep
|
|
|
10045
10300
|
}
|
|
10046
10301
|
flushEntries(true);
|
|
10047
10302
|
rendered.push(
|
|
10048
|
-
/* @__PURE__ */
|
|
10303
|
+
/* @__PURE__ */ jsx37(
|
|
10049
10304
|
AgentRunGroup,
|
|
10050
10305
|
{
|
|
10051
10306
|
node: unit.node,
|
|
@@ -10070,7 +10325,7 @@ function renderContent(message, lookupMessages, options) {
|
|
|
10070
10325
|
message
|
|
10071
10326
|
);
|
|
10072
10327
|
if (renderTree.hasAgentRuns) {
|
|
10073
|
-
return /* @__PURE__ */
|
|
10328
|
+
return /* @__PURE__ */ jsx37("div", { className: assistantMessageStackClassName, children: renderAssistantRenderUnits(
|
|
10074
10329
|
renderTree.units,
|
|
10075
10330
|
message,
|
|
10076
10331
|
lookupMessages,
|
|
@@ -10080,13 +10335,13 @@ function renderContent(message, lookupMessages, options) {
|
|
|
10080
10335
|
const content = message.content;
|
|
10081
10336
|
if (typeof content === "string") {
|
|
10082
10337
|
if (!content.trim()) return null;
|
|
10083
|
-
return /* @__PURE__ */
|
|
10338
|
+
return /* @__PURE__ */ jsx37(MarkdownText, { children: content });
|
|
10084
10339
|
}
|
|
10085
10340
|
if (!Array.isArray(content) || content.length === 0) return null;
|
|
10086
10341
|
const renderUnits = buildToolComponentRenderUnits(content, {
|
|
10087
10342
|
shouldGroupComponent: (item) => getRequestUserInputResultCardData(item, lookupMessages) === null
|
|
10088
10343
|
});
|
|
10089
|
-
return /* @__PURE__ */
|
|
10344
|
+
return /* @__PURE__ */ jsx37("div", { className: "space-y-3", children: renderUnits.map(
|
|
10090
10345
|
(unit, index) => renderContentUnit(
|
|
10091
10346
|
unit,
|
|
10092
10347
|
message,
|
|
@@ -10106,7 +10361,7 @@ function AssistantStreamingIndicator({
|
|
|
10106
10361
|
thinking: t("message.thinking"),
|
|
10107
10362
|
answering: t("message.answering")
|
|
10108
10363
|
};
|
|
10109
|
-
return /* @__PURE__ */
|
|
10364
|
+
return /* @__PURE__ */ jsxs24(
|
|
10110
10365
|
"div",
|
|
10111
10366
|
{
|
|
10112
10367
|
className: cn(
|
|
@@ -10114,18 +10369,18 @@ function AssistantStreamingIndicator({
|
|
|
10114
10369
|
className
|
|
10115
10370
|
),
|
|
10116
10371
|
children: [
|
|
10117
|
-
status === "loading" && /* @__PURE__ */
|
|
10118
|
-
status === "thinking" && /* @__PURE__ */
|
|
10119
|
-
/* @__PURE__ */
|
|
10120
|
-
/* @__PURE__ */
|
|
10121
|
-
/* @__PURE__ */
|
|
10372
|
+
status === "loading" && /* @__PURE__ */ jsx37(Loader25, { className: "h-3.5 w-3.5 animate-spin" }),
|
|
10373
|
+
status === "thinking" && /* @__PURE__ */ jsxs24("div", { className: "flex items-end gap-1", "aria-hidden": "true", children: [
|
|
10374
|
+
/* @__PURE__ */ jsx37("span", { className: "h-1.5 w-1.5 rounded-full bg-current animate-bounce [animation-delay:-0.3s]" }),
|
|
10375
|
+
/* @__PURE__ */ jsx37("span", { className: "h-1.5 w-1.5 rounded-full bg-current animate-bounce [animation-delay:-0.15s]" }),
|
|
10376
|
+
/* @__PURE__ */ jsx37("span", { className: "h-1.5 w-1.5 rounded-full bg-current animate-bounce" })
|
|
10122
10377
|
] }),
|
|
10123
|
-
status === "answering" && /* @__PURE__ */
|
|
10124
|
-
/* @__PURE__ */
|
|
10125
|
-
/* @__PURE__ */
|
|
10126
|
-
/* @__PURE__ */
|
|
10378
|
+
status === "answering" && /* @__PURE__ */ jsxs24("div", { className: "flex items-end gap-1", "aria-hidden": "true", children: [
|
|
10379
|
+
/* @__PURE__ */ jsx37("span", { className: "h-2 w-0.5 rounded-full bg-current animate-pulse [animation-delay:-0.25s]" }),
|
|
10380
|
+
/* @__PURE__ */ jsx37("span", { className: "h-3 w-0.5 rounded-full bg-current animate-pulse [animation-delay:-0.1s]" }),
|
|
10381
|
+
/* @__PURE__ */ jsx37("span", { className: "h-2.5 w-0.5 rounded-full bg-current animate-pulse" })
|
|
10127
10382
|
] }),
|
|
10128
|
-
/* @__PURE__ */
|
|
10383
|
+
/* @__PURE__ */ jsx37("span", { children: labelMap[status] })
|
|
10129
10384
|
]
|
|
10130
10385
|
}
|
|
10131
10386
|
);
|
|
@@ -10154,42 +10409,42 @@ function AssistantMessage({
|
|
|
10154
10409
|
organizationId,
|
|
10155
10410
|
apiUrl
|
|
10156
10411
|
});
|
|
10157
|
-
const reasoningNode = hasReasoning ? /* @__PURE__ */
|
|
10412
|
+
const reasoningNode = hasReasoning ? /* @__PURE__ */ jsx37(ReasoningBlock, { reasoning: rootReasoning ?? [] }) : null;
|
|
10158
10413
|
if (!hasContent && !hasReasoning && !resolvedStreamingStatus) return null;
|
|
10159
10414
|
const streamingClass = isStreaming ? "streaming-active" : "";
|
|
10160
10415
|
if (!hasContent && !hasReasoning && resolvedStreamingStatus) {
|
|
10161
|
-
return /* @__PURE__ */
|
|
10416
|
+
return /* @__PURE__ */ jsx37("div", { className: cn("space-y-3", streamingClass, className), children: /* @__PURE__ */ jsx37(AssistantStreamingIndicator, { status: resolvedStreamingStatus }) });
|
|
10162
10417
|
}
|
|
10163
10418
|
if (hasContent && hasReasoning) {
|
|
10164
|
-
return /* @__PURE__ */
|
|
10165
|
-
/* @__PURE__ */
|
|
10419
|
+
return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-3", streamingClass, className), children: [
|
|
10420
|
+
/* @__PURE__ */ jsxs24(
|
|
10166
10421
|
Tabs,
|
|
10167
10422
|
{
|
|
10168
10423
|
defaultValue: message.status === "reasoning" ? "reasoning" : "answer",
|
|
10169
10424
|
className: "w-full",
|
|
10170
10425
|
children: [
|
|
10171
|
-
/* @__PURE__ */
|
|
10172
|
-
/* @__PURE__ */
|
|
10173
|
-
/* @__PURE__ */
|
|
10426
|
+
/* @__PURE__ */ jsxs24(TabsList, { className: "", children: [
|
|
10427
|
+
/* @__PURE__ */ jsx37(TabsTrigger, { value: "answer", children: t("message.answer") }),
|
|
10428
|
+
/* @__PURE__ */ jsx37(TabsTrigger, { value: "reasoning", children: t("message.reasoning") })
|
|
10174
10429
|
] }),
|
|
10175
|
-
/* @__PURE__ */
|
|
10176
|
-
/* @__PURE__ */
|
|
10430
|
+
/* @__PURE__ */ jsx37(TabsContent, { value: "answer", className: "space-y-3", children: answerNode }),
|
|
10431
|
+
/* @__PURE__ */ jsx37(TabsContent, { value: "reasoning", className: "space-y-3", children: reasoningNode })
|
|
10177
10432
|
]
|
|
10178
10433
|
}
|
|
10179
10434
|
),
|
|
10180
|
-
resolvedStreamingStatus ? /* @__PURE__ */
|
|
10435
|
+
resolvedStreamingStatus ? /* @__PURE__ */ jsx37(AssistantStreamingIndicator, { status: resolvedStreamingStatus }) : null
|
|
10181
10436
|
] });
|
|
10182
10437
|
}
|
|
10183
|
-
return /* @__PURE__ */
|
|
10438
|
+
return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-3", streamingClass, className), children: [
|
|
10184
10439
|
hasReasoning ? reasoningNode : answerNode,
|
|
10185
|
-
resolvedStreamingStatus ? /* @__PURE__ */
|
|
10440
|
+
resolvedStreamingStatus ? /* @__PURE__ */ jsx37(AssistantStreamingIndicator, { status: resolvedStreamingStatus }) : null
|
|
10186
10441
|
] });
|
|
10187
10442
|
}
|
|
10188
10443
|
|
|
10189
10444
|
// src/components/thread/MessageActions.tsx
|
|
10190
10445
|
import * as React32 from "react";
|
|
10191
10446
|
import { Check as Check4, Copy as Copy2, RefreshCw } from "lucide-react";
|
|
10192
|
-
import { jsx as
|
|
10447
|
+
import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
10193
10448
|
function MessageActions({
|
|
10194
10449
|
content,
|
|
10195
10450
|
isAssistant = false,
|
|
@@ -10211,7 +10466,7 @@ function MessageActions({
|
|
|
10211
10466
|
if (isStreaming) {
|
|
10212
10467
|
return null;
|
|
10213
10468
|
}
|
|
10214
|
-
return /* @__PURE__ */
|
|
10469
|
+
return /* @__PURE__ */ jsxs25(
|
|
10215
10470
|
"div",
|
|
10216
10471
|
{
|
|
10217
10472
|
className: cn(
|
|
@@ -10219,7 +10474,7 @@ function MessageActions({
|
|
|
10219
10474
|
className
|
|
10220
10475
|
),
|
|
10221
10476
|
children: [
|
|
10222
|
-
/* @__PURE__ */
|
|
10477
|
+
/* @__PURE__ */ jsx38(
|
|
10223
10478
|
"button",
|
|
10224
10479
|
{
|
|
10225
10480
|
type: "button",
|
|
@@ -10229,17 +10484,17 @@ function MessageActions({
|
|
|
10229
10484
|
copied && "text-green-500"
|
|
10230
10485
|
),
|
|
10231
10486
|
title: copied ? t("messageActions.copied") : t("messageActions.copy"),
|
|
10232
|
-
children: copied ? /* @__PURE__ */
|
|
10487
|
+
children: copied ? /* @__PURE__ */ jsx38(Check4, { size: 14 }) : /* @__PURE__ */ jsx38(Copy2, { size: 14 })
|
|
10233
10488
|
}
|
|
10234
10489
|
),
|
|
10235
|
-
isAssistant && onRetry && /* @__PURE__ */
|
|
10490
|
+
isAssistant && onRetry && /* @__PURE__ */ jsx38(
|
|
10236
10491
|
"button",
|
|
10237
10492
|
{
|
|
10238
10493
|
type: "button",
|
|
10239
10494
|
onClick: onRetry,
|
|
10240
10495
|
className: "p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",
|
|
10241
10496
|
title: t("messageActions.regenerate"),
|
|
10242
|
-
children: /* @__PURE__ */
|
|
10497
|
+
children: /* @__PURE__ */ jsx38(RefreshCw, { size: 14 })
|
|
10243
10498
|
}
|
|
10244
10499
|
)
|
|
10245
10500
|
]
|
|
@@ -10260,18 +10515,18 @@ import {
|
|
|
10260
10515
|
Sparkles as Sparkles3,
|
|
10261
10516
|
Zap
|
|
10262
10517
|
} from "lucide-react";
|
|
10263
|
-
import { jsx as
|
|
10518
|
+
import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
10264
10519
|
function getIconComponent2(icon) {
|
|
10265
10520
|
const iconMap = {
|
|
10266
|
-
"circle-question": /* @__PURE__ */
|
|
10267
|
-
"lightbulb": /* @__PURE__ */
|
|
10268
|
-
"sparkle": /* @__PURE__ */
|
|
10269
|
-
"write": /* @__PURE__ */
|
|
10270
|
-
"search": /* @__PURE__ */
|
|
10271
|
-
"globe": /* @__PURE__ */
|
|
10272
|
-
"book-open": /* @__PURE__ */
|
|
10273
|
-
"compass": /* @__PURE__ */
|
|
10274
|
-
"bolt": /* @__PURE__ */
|
|
10521
|
+
"circle-question": /* @__PURE__ */ jsx39(HelpCircle, { size: 20 }),
|
|
10522
|
+
"lightbulb": /* @__PURE__ */ jsx39(Lightbulb2, { size: 20 }),
|
|
10523
|
+
"sparkle": /* @__PURE__ */ jsx39(Sparkles3, { size: 20 }),
|
|
10524
|
+
"write": /* @__PURE__ */ jsx39(Pencil3, { size: 20 }),
|
|
10525
|
+
"search": /* @__PURE__ */ jsx39(Search3, { size: 20 }),
|
|
10526
|
+
"globe": /* @__PURE__ */ jsx39(Globe2, { size: 20 }),
|
|
10527
|
+
"book-open": /* @__PURE__ */ jsx39(BookOpen2, { size: 20 }),
|
|
10528
|
+
"compass": /* @__PURE__ */ jsx39(Compass, { size: 20 }),
|
|
10529
|
+
"bolt": /* @__PURE__ */ jsx39(Zap, { size: 20 })
|
|
10275
10530
|
};
|
|
10276
10531
|
return icon ? iconMap[icon] || iconMap["sparkle"] : iconMap["sparkle"];
|
|
10277
10532
|
}
|
|
@@ -10279,9 +10534,9 @@ function StartScreen({ startScreen, onPromptClick, className }) {
|
|
|
10279
10534
|
const { t } = useChatkitTranslation();
|
|
10280
10535
|
const greeting = startScreen?.greeting ?? t("startScreen.greeting");
|
|
10281
10536
|
const prompts = startScreen?.prompts ?? [];
|
|
10282
|
-
return /* @__PURE__ */
|
|
10283
|
-
/* @__PURE__ */
|
|
10284
|
-
prompts.length > 0 && /* @__PURE__ */
|
|
10537
|
+
return /* @__PURE__ */ jsxs26("div", { className: cn("flex flex-col items-center justify-center py-12 px-4", className), children: [
|
|
10538
|
+
/* @__PURE__ */ jsx39("div", { className: "mb-8 text-center", children: /* @__PURE__ */ jsx39("h2", { className: "text-2xl font-semibold text-foreground mb-2", children: greeting }) }),
|
|
10539
|
+
prompts.length > 0 && /* @__PURE__ */ jsx39("div", { className: "w-full max-w-2xl", children: /* @__PURE__ */ jsx39("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3", children: prompts.map((item, index) => /* @__PURE__ */ jsxs26(
|
|
10285
10540
|
"button",
|
|
10286
10541
|
{
|
|
10287
10542
|
type: "button",
|
|
@@ -10292,8 +10547,8 @@ function StartScreen({ startScreen, onPromptClick, className }) {
|
|
|
10292
10547
|
"focus:outline-none focus:ring-2 focus:ring-primary/20"
|
|
10293
10548
|
),
|
|
10294
10549
|
children: [
|
|
10295
|
-
/* @__PURE__ */
|
|
10296
|
-
/* @__PURE__ */
|
|
10550
|
+
/* @__PURE__ */ jsx39("span", { className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary", children: getIconComponent2(item.icon) }),
|
|
10551
|
+
/* @__PURE__ */ jsx39("span", { className: "text-sm font-medium text-foreground", children: item.label })
|
|
10297
10552
|
]
|
|
10298
10553
|
},
|
|
10299
10554
|
`prompt-${index}`
|
|
@@ -10492,7 +10747,7 @@ function useThreads(limit = DEFAULT_LIMIT) {
|
|
|
10492
10747
|
import * as React35 from "react";
|
|
10493
10748
|
|
|
10494
10749
|
// src/components/ui/progress-circle.tsx
|
|
10495
|
-
import { jsx as
|
|
10750
|
+
import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
10496
10751
|
function clamp2(input, a, b) {
|
|
10497
10752
|
return Math.max(Math.min(input, Math.max(a, b)), Math.min(a, b));
|
|
10498
10753
|
}
|
|
@@ -10515,7 +10770,7 @@ var ProgressCircle = ({ value, className, ...restSvgProps }) => {
|
|
|
10515
10770
|
return (
|
|
10516
10771
|
// biome-ignore lint/a11y/useFocusableInteractive: false positive (progress + progressbar are not focusable interactives)
|
|
10517
10772
|
// biome-ignore lint/nursery/useAriaPropsSupportedByRole: biome rule at odds with mdn docs (presumed nursary bug with rule)
|
|
10518
|
-
/* @__PURE__ */
|
|
10773
|
+
/* @__PURE__ */ jsxs27(
|
|
10519
10774
|
"svg",
|
|
10520
10775
|
{
|
|
10521
10776
|
role: "progressbar",
|
|
@@ -10526,8 +10781,8 @@ var ProgressCircle = ({ value, className, ...restSvgProps }) => {
|
|
|
10526
10781
|
"aria-valuemax": 100,
|
|
10527
10782
|
...restSvgProps,
|
|
10528
10783
|
children: [
|
|
10529
|
-
/* @__PURE__ */
|
|
10530
|
-
/* @__PURE__ */
|
|
10784
|
+
/* @__PURE__ */ jsx40("circle", { ...commonParams, className: "stroke-current/25" }),
|
|
10785
|
+
/* @__PURE__ */ jsx40(
|
|
10531
10786
|
"circle",
|
|
10532
10787
|
{
|
|
10533
10788
|
...commonParams,
|
|
@@ -10546,7 +10801,7 @@ var ProgressCircle = ({ value, className, ...restSvgProps }) => {
|
|
|
10546
10801
|
};
|
|
10547
10802
|
|
|
10548
10803
|
// src/components/thread/context-usage-indicator.tsx
|
|
10549
|
-
import { jsx as
|
|
10804
|
+
import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
10550
10805
|
var kNumberFormatter = new Intl.NumberFormat("en-US", {
|
|
10551
10806
|
minimumFractionDigits: 0,
|
|
10552
10807
|
maximumFractionDigits: 1
|
|
@@ -10688,8 +10943,8 @@ function ContextUsageIndicator({
|
|
|
10688
10943
|
});
|
|
10689
10944
|
const usageLabelWithSuffix = usageLabel.endsWith(":") ? usageLabel : `${usageLabel}:`;
|
|
10690
10945
|
const progressClassName = percent >= 90 ? "text-destructive" : percent >= 75 ? "text-amber-500" : "text-primary dark:text-zinc-300";
|
|
10691
|
-
return /* @__PURE__ */
|
|
10692
|
-
/* @__PURE__ */
|
|
10946
|
+
return /* @__PURE__ */ jsxs28(Tooltip, { children: [
|
|
10947
|
+
/* @__PURE__ */ jsx41(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx41(
|
|
10693
10948
|
"button",
|
|
10694
10949
|
{
|
|
10695
10950
|
type: "button",
|
|
@@ -10698,13 +10953,13 @@ function ContextUsageIndicator({
|
|
|
10698
10953
|
className
|
|
10699
10954
|
),
|
|
10700
10955
|
"aria-label": `${usageLabelWithSuffix} ${usageFullLabel}. ${usageTokensLabel}`,
|
|
10701
|
-
children: /* @__PURE__ */
|
|
10956
|
+
children: /* @__PURE__ */ jsx41(ProgressCircle, { value: percent, className: cn("size-3.5", progressClassName) })
|
|
10702
10957
|
}
|
|
10703
10958
|
) }),
|
|
10704
|
-
/* @__PURE__ */
|
|
10705
|
-
/* @__PURE__ */
|
|
10706
|
-
/* @__PURE__ */
|
|
10707
|
-
/* @__PURE__ */
|
|
10959
|
+
/* @__PURE__ */ jsxs28(TooltipContent, { side: "top", sideOffset: 6, className: "space-y-0.5 px-3 py-2 text-center", children: [
|
|
10960
|
+
/* @__PURE__ */ jsx41("div", { className: "text-primary-foreground/70", children: usageLabelWithSuffix }),
|
|
10961
|
+
/* @__PURE__ */ jsx41("div", { className: "font-medium text-primary-foreground/80", children: usageFullLabel }),
|
|
10962
|
+
/* @__PURE__ */ jsx41("div", { className: "text-sm font-semibold", children: usageTokensLabel })
|
|
10708
10963
|
] })
|
|
10709
10964
|
] });
|
|
10710
10965
|
}
|
|
@@ -10737,10 +10992,10 @@ import { PawPrint, Settings } from "lucide-react";
|
|
|
10737
10992
|
|
|
10738
10993
|
// src/components/ui/input.tsx
|
|
10739
10994
|
import * as React37 from "react";
|
|
10740
|
-
import { jsx as
|
|
10995
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
10741
10996
|
var Input = React37.forwardRef(
|
|
10742
10997
|
({ className, type, ...props }, ref) => {
|
|
10743
|
-
return /* @__PURE__ */
|
|
10998
|
+
return /* @__PURE__ */ jsx42(
|
|
10744
10999
|
"input",
|
|
10745
11000
|
{
|
|
10746
11001
|
ref,
|
|
@@ -10760,17 +11015,17 @@ Input.displayName = "Input";
|
|
|
10760
11015
|
import "react";
|
|
10761
11016
|
import { Select as SelectPrimitive } from "radix-ui";
|
|
10762
11017
|
import { ChevronDownIcon as ChevronDownIcon2, CheckIcon as CheckIcon4, ChevronUpIcon } from "lucide-react";
|
|
10763
|
-
import { jsx as
|
|
11018
|
+
import { jsx as jsx43, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
10764
11019
|
function Select({
|
|
10765
11020
|
...props
|
|
10766
11021
|
}) {
|
|
10767
|
-
return /* @__PURE__ */
|
|
11022
|
+
return /* @__PURE__ */ jsx43(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
10768
11023
|
}
|
|
10769
11024
|
function SelectGroup({
|
|
10770
11025
|
className,
|
|
10771
11026
|
...props
|
|
10772
11027
|
}) {
|
|
10773
|
-
return /* @__PURE__ */
|
|
11028
|
+
return /* @__PURE__ */ jsx43(
|
|
10774
11029
|
SelectPrimitive.Group,
|
|
10775
11030
|
{
|
|
10776
11031
|
"data-slot": "select-group",
|
|
@@ -10782,7 +11037,7 @@ function SelectGroup({
|
|
|
10782
11037
|
function SelectValue({
|
|
10783
11038
|
...props
|
|
10784
11039
|
}) {
|
|
10785
|
-
return /* @__PURE__ */
|
|
11040
|
+
return /* @__PURE__ */ jsx43(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
10786
11041
|
}
|
|
10787
11042
|
function SelectTrigger({
|
|
10788
11043
|
className,
|
|
@@ -10790,7 +11045,7 @@ function SelectTrigger({
|
|
|
10790
11045
|
children,
|
|
10791
11046
|
...props
|
|
10792
11047
|
}) {
|
|
10793
|
-
return /* @__PURE__ */
|
|
11048
|
+
return /* @__PURE__ */ jsxs29(
|
|
10794
11049
|
SelectPrimitive.Trigger,
|
|
10795
11050
|
{
|
|
10796
11051
|
"data-slot": "select-trigger",
|
|
@@ -10802,7 +11057,7 @@ function SelectTrigger({
|
|
|
10802
11057
|
...props,
|
|
10803
11058
|
children: [
|
|
10804
11059
|
children,
|
|
10805
|
-
/* @__PURE__ */
|
|
11060
|
+
/* @__PURE__ */ jsx43(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx43(ChevronDownIcon2, { className: "pointer-events-none size-4 text-muted-foreground" }) })
|
|
10806
11061
|
]
|
|
10807
11062
|
}
|
|
10808
11063
|
);
|
|
@@ -10814,7 +11069,7 @@ function SelectContent({
|
|
|
10814
11069
|
align = "center",
|
|
10815
11070
|
...props
|
|
10816
11071
|
}) {
|
|
10817
|
-
return /* @__PURE__ */
|
|
11072
|
+
return /* @__PURE__ */ jsx43(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs29(
|
|
10818
11073
|
SelectPrimitive.Content,
|
|
10819
11074
|
{
|
|
10820
11075
|
"data-slot": "select-content",
|
|
@@ -10824,8 +11079,8 @@ function SelectContent({
|
|
|
10824
11079
|
align,
|
|
10825
11080
|
...props,
|
|
10826
11081
|
children: [
|
|
10827
|
-
/* @__PURE__ */
|
|
10828
|
-
/* @__PURE__ */
|
|
11082
|
+
/* @__PURE__ */ jsx43(SelectScrollUpButton, {}),
|
|
11083
|
+
/* @__PURE__ */ jsx43(
|
|
10829
11084
|
SelectPrimitive.Viewport,
|
|
10830
11085
|
{
|
|
10831
11086
|
"data-position": position,
|
|
@@ -10836,7 +11091,7 @@ function SelectContent({
|
|
|
10836
11091
|
children
|
|
10837
11092
|
}
|
|
10838
11093
|
),
|
|
10839
|
-
/* @__PURE__ */
|
|
11094
|
+
/* @__PURE__ */ jsx43(SelectScrollDownButton, {})
|
|
10840
11095
|
]
|
|
10841
11096
|
}
|
|
10842
11097
|
) });
|
|
@@ -10846,7 +11101,7 @@ function SelectItem({
|
|
|
10846
11101
|
children,
|
|
10847
11102
|
...props
|
|
10848
11103
|
}) {
|
|
10849
|
-
return /* @__PURE__ */
|
|
11104
|
+
return /* @__PURE__ */ jsxs29(
|
|
10850
11105
|
SelectPrimitive.Item,
|
|
10851
11106
|
{
|
|
10852
11107
|
"data-slot": "select-item",
|
|
@@ -10856,8 +11111,8 @@ function SelectItem({
|
|
|
10856
11111
|
),
|
|
10857
11112
|
...props,
|
|
10858
11113
|
children: [
|
|
10859
|
-
/* @__PURE__ */
|
|
10860
|
-
/* @__PURE__ */
|
|
11114
|
+
/* @__PURE__ */ jsx43("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx43(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx43(CheckIcon4, { className: "pointer-events-none" }) }) }),
|
|
11115
|
+
/* @__PURE__ */ jsx43(SelectPrimitive.ItemText, { children })
|
|
10861
11116
|
]
|
|
10862
11117
|
}
|
|
10863
11118
|
);
|
|
@@ -10866,7 +11121,7 @@ function SelectScrollUpButton({
|
|
|
10866
11121
|
className,
|
|
10867
11122
|
...props
|
|
10868
11123
|
}) {
|
|
10869
|
-
return /* @__PURE__ */
|
|
11124
|
+
return /* @__PURE__ */ jsx43(
|
|
10870
11125
|
SelectPrimitive.ScrollUpButton,
|
|
10871
11126
|
{
|
|
10872
11127
|
"data-slot": "select-scroll-up-button",
|
|
@@ -10875,7 +11130,7 @@ function SelectScrollUpButton({
|
|
|
10875
11130
|
className
|
|
10876
11131
|
),
|
|
10877
11132
|
...props,
|
|
10878
|
-
children: /* @__PURE__ */
|
|
11133
|
+
children: /* @__PURE__ */ jsx43(
|
|
10879
11134
|
ChevronUpIcon,
|
|
10880
11135
|
{}
|
|
10881
11136
|
)
|
|
@@ -10886,7 +11141,7 @@ function SelectScrollDownButton({
|
|
|
10886
11141
|
className,
|
|
10887
11142
|
...props
|
|
10888
11143
|
}) {
|
|
10889
|
-
return /* @__PURE__ */
|
|
11144
|
+
return /* @__PURE__ */ jsx43(
|
|
10890
11145
|
SelectPrimitive.ScrollDownButton,
|
|
10891
11146
|
{
|
|
10892
11147
|
"data-slot": "select-scroll-down-button",
|
|
@@ -10895,7 +11150,7 @@ function SelectScrollDownButton({
|
|
|
10895
11150
|
className
|
|
10896
11151
|
),
|
|
10897
11152
|
...props,
|
|
10898
|
-
children: /* @__PURE__ */
|
|
11153
|
+
children: /* @__PURE__ */ jsx43(
|
|
10899
11154
|
ChevronDownIcon2,
|
|
10900
11155
|
{}
|
|
10901
11156
|
)
|
|
@@ -10906,7 +11161,7 @@ function SelectScrollDownButton({
|
|
|
10906
11161
|
// src/components/ui/slider.tsx
|
|
10907
11162
|
import * as React39 from "react";
|
|
10908
11163
|
import { Slider as SliderPrimitive } from "radix-ui";
|
|
10909
|
-
import { jsx as
|
|
11164
|
+
import { jsx as jsx44, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
10910
11165
|
function Slider({
|
|
10911
11166
|
className,
|
|
10912
11167
|
defaultValue,
|
|
@@ -10919,7 +11174,7 @@ function Slider({
|
|
|
10919
11174
|
() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
|
|
10920
11175
|
[value, defaultValue, min, max]
|
|
10921
11176
|
);
|
|
10922
|
-
return /* @__PURE__ */
|
|
11177
|
+
return /* @__PURE__ */ jsxs30(
|
|
10923
11178
|
SliderPrimitive.Root,
|
|
10924
11179
|
{
|
|
10925
11180
|
"data-slot": "slider",
|
|
@@ -10933,12 +11188,12 @@ function Slider({
|
|
|
10933
11188
|
),
|
|
10934
11189
|
...props,
|
|
10935
11190
|
children: [
|
|
10936
|
-
/* @__PURE__ */
|
|
11191
|
+
/* @__PURE__ */ jsx44(
|
|
10937
11192
|
SliderPrimitive.Track,
|
|
10938
11193
|
{
|
|
10939
11194
|
"data-slot": "slider-track",
|
|
10940
11195
|
className: "relative grow overflow-hidden rounded-full bg-muted data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1",
|
|
10941
|
-
children: /* @__PURE__ */
|
|
11196
|
+
children: /* @__PURE__ */ jsx44(
|
|
10942
11197
|
SliderPrimitive.Range,
|
|
10943
11198
|
{
|
|
10944
11199
|
"data-slot": "slider-range",
|
|
@@ -10947,7 +11202,7 @@ function Slider({
|
|
|
10947
11202
|
)
|
|
10948
11203
|
}
|
|
10949
11204
|
),
|
|
10950
|
-
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */
|
|
11205
|
+
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx44(
|
|
10951
11206
|
SliderPrimitive.Thumb,
|
|
10952
11207
|
{
|
|
10953
11208
|
"data-slot": "slider-thumb",
|
|
@@ -10969,7 +11224,7 @@ import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
|
|
|
10969
11224
|
import "react";
|
|
10970
11225
|
import { cva as cva2 } from "class-variance-authority";
|
|
10971
11226
|
import { Toggle as TogglePrimitive } from "radix-ui";
|
|
10972
|
-
import { jsx as
|
|
11227
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
10973
11228
|
var toggleVariants = cva2(
|
|
10974
11229
|
"group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
10975
11230
|
{
|
|
@@ -10992,7 +11247,7 @@ var toggleVariants = cva2(
|
|
|
10992
11247
|
);
|
|
10993
11248
|
|
|
10994
11249
|
// src/components/ui/toggle-group.tsx
|
|
10995
|
-
import { jsx as
|
|
11250
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
10996
11251
|
var ToggleGroupContext = React41.createContext({
|
|
10997
11252
|
size: "default",
|
|
10998
11253
|
variant: "default",
|
|
@@ -11008,7 +11263,7 @@ function ToggleGroup({
|
|
|
11008
11263
|
children,
|
|
11009
11264
|
...props
|
|
11010
11265
|
}) {
|
|
11011
|
-
return /* @__PURE__ */
|
|
11266
|
+
return /* @__PURE__ */ jsx46(
|
|
11012
11267
|
ToggleGroupPrimitive.Root,
|
|
11013
11268
|
{
|
|
11014
11269
|
"data-slot": "toggle-group",
|
|
@@ -11022,7 +11277,7 @@ function ToggleGroup({
|
|
|
11022
11277
|
className
|
|
11023
11278
|
),
|
|
11024
11279
|
...props,
|
|
11025
|
-
children: /* @__PURE__ */
|
|
11280
|
+
children: /* @__PURE__ */ jsx46(
|
|
11026
11281
|
ToggleGroupContext.Provider,
|
|
11027
11282
|
{
|
|
11028
11283
|
value: { variant, size: size2, spacing, orientation },
|
|
@@ -11040,7 +11295,7 @@ function ToggleGroupItem({
|
|
|
11040
11295
|
...props
|
|
11041
11296
|
}) {
|
|
11042
11297
|
const context = React41.useContext(ToggleGroupContext);
|
|
11043
|
-
return /* @__PURE__ */
|
|
11298
|
+
return /* @__PURE__ */ jsx46(
|
|
11044
11299
|
ToggleGroupPrimitive.Item,
|
|
11045
11300
|
{
|
|
11046
11301
|
"data-slot": "toggle-group-item",
|
|
@@ -11280,7 +11535,7 @@ import {
|
|
|
11280
11535
|
} from "@xpert-ai/chatkit-types";
|
|
11281
11536
|
|
|
11282
11537
|
// src/components/pet/PetPreview.tsx
|
|
11283
|
-
import { jsx as
|
|
11538
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
11284
11539
|
function escapeCssUrl(value) {
|
|
11285
11540
|
return value.replace(/["\\]/g, "\\$&");
|
|
11286
11541
|
}
|
|
@@ -11288,7 +11543,7 @@ function PetPreview({ src, label, className }) {
|
|
|
11288
11543
|
const scale = 0.13;
|
|
11289
11544
|
const width = petSpriteAtlas.cellWidth;
|
|
11290
11545
|
const height = petSpriteAtlas.cellHeight;
|
|
11291
|
-
return /* @__PURE__ */
|
|
11546
|
+
return /* @__PURE__ */ jsx47(
|
|
11292
11547
|
"span",
|
|
11293
11548
|
{
|
|
11294
11549
|
className: cn(
|
|
@@ -11297,7 +11552,7 @@ function PetPreview({ src, label, className }) {
|
|
|
11297
11552
|
),
|
|
11298
11553
|
"aria-hidden": "true",
|
|
11299
11554
|
title: label,
|
|
11300
|
-
children: /* @__PURE__ */
|
|
11555
|
+
children: /* @__PURE__ */ jsx47(
|
|
11301
11556
|
"span",
|
|
11302
11557
|
{
|
|
11303
11558
|
className: "absolute left-1/2 top-1/2 block",
|
|
@@ -11319,7 +11574,7 @@ function PetPreview({ src, label, className }) {
|
|
|
11319
11574
|
}
|
|
11320
11575
|
|
|
11321
11576
|
// src/components/settings/SettingsSheet.tsx
|
|
11322
|
-
import { jsx as
|
|
11577
|
+
import { jsx as jsx48, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
11323
11578
|
var CHARACTER_TYPES2 = [
|
|
11324
11579
|
"builtin",
|
|
11325
11580
|
"atlas"
|
|
@@ -11359,23 +11614,23 @@ function SettingsSheet({
|
|
|
11359
11614
|
defaultValue: selectedBuiltinPet.label
|
|
11360
11615
|
}
|
|
11361
11616
|
);
|
|
11362
|
-
return /* @__PURE__ */
|
|
11363
|
-
/* @__PURE__ */
|
|
11364
|
-
/* @__PURE__ */
|
|
11365
|
-
/* @__PURE__ */
|
|
11617
|
+
return /* @__PURE__ */ jsx48(Sheet, { open, onOpenChange, children: /* @__PURE__ */ jsxs31(SheetContent, { side: "right", className: "w-[min(92vw,26rem)] overflow-y-auto", children: [
|
|
11618
|
+
/* @__PURE__ */ jsx48(SheetHeader, { children: /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
|
|
11619
|
+
/* @__PURE__ */ jsx48("span", { className: "flex h-8 w-8 items-center justify-center rounded-md bg-primary/10 text-primary", children: /* @__PURE__ */ jsx48(Settings, { size: 16 }) }),
|
|
11620
|
+
/* @__PURE__ */ jsx48(SheetTitle, { children: t("settings.title") })
|
|
11366
11621
|
] }) }),
|
|
11367
|
-
/* @__PURE__ */
|
|
11368
|
-
/* @__PURE__ */
|
|
11369
|
-
/* @__PURE__ */
|
|
11370
|
-
/* @__PURE__ */
|
|
11371
|
-
/* @__PURE__ */
|
|
11622
|
+
/* @__PURE__ */ jsxs31("form", { className: "mt-6 space-y-5", onSubmit: handleSubmit, children: [
|
|
11623
|
+
/* @__PURE__ */ jsxs31("section", { className: "space-y-5", children: [
|
|
11624
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
|
|
11625
|
+
/* @__PURE__ */ jsx48("span", { className: "flex h-7 w-7 items-center justify-center rounded-md bg-muted text-muted-foreground", children: /* @__PURE__ */ jsx48(PawPrint, { size: 15 }) }),
|
|
11626
|
+
/* @__PURE__ */ jsx48("h3", { className: "text-sm font-semibold", children: t("pet.settings.title") })
|
|
11372
11627
|
] }),
|
|
11373
|
-
/* @__PURE__ */
|
|
11374
|
-
/* @__PURE__ */
|
|
11375
|
-
/* @__PURE__ */
|
|
11376
|
-
petRequired && /* @__PURE__ */
|
|
11628
|
+
/* @__PURE__ */ jsxs31("label", { className: "flex items-center justify-between gap-4 rounded-md border border-border px-3 py-2", children: [
|
|
11629
|
+
/* @__PURE__ */ jsxs31("span", { className: "min-w-0", children: [
|
|
11630
|
+
/* @__PURE__ */ jsx48("span", { className: "block text-sm font-medium", children: t("pet.settings.enabled") }),
|
|
11631
|
+
petRequired && /* @__PURE__ */ jsx48("span", { className: "mt-0.5 block text-xs text-muted-foreground", children: t("pet.settings.requiredHint") })
|
|
11377
11632
|
] }),
|
|
11378
|
-
/* @__PURE__ */
|
|
11633
|
+
/* @__PURE__ */ jsx48(
|
|
11379
11634
|
"button",
|
|
11380
11635
|
{
|
|
11381
11636
|
type: "button",
|
|
@@ -11388,7 +11643,7 @@ function SettingsSheet({
|
|
|
11388
11643
|
draft.enabled ? "bg-primary" : "bg-muted-foreground/20",
|
|
11389
11644
|
petRequired ? "cursor-not-allowed opacity-70" : ""
|
|
11390
11645
|
].join(" "),
|
|
11391
|
-
children: /* @__PURE__ */
|
|
11646
|
+
children: /* @__PURE__ */ jsx48(
|
|
11392
11647
|
"span",
|
|
11393
11648
|
{
|
|
11394
11649
|
className: [
|
|
@@ -11401,9 +11656,9 @@ function SettingsSheet({
|
|
|
11401
11656
|
)
|
|
11402
11657
|
] })
|
|
11403
11658
|
] }),
|
|
11404
|
-
/* @__PURE__ */
|
|
11405
|
-
/* @__PURE__ */
|
|
11406
|
-
/* @__PURE__ */
|
|
11659
|
+
/* @__PURE__ */ jsxs31("div", { className: "space-y-2", children: [
|
|
11660
|
+
/* @__PURE__ */ jsx48("span", { id: "chatkit-pet-type-label", className: "text-sm font-medium", children: t("pet.settings.characterType") }),
|
|
11661
|
+
/* @__PURE__ */ jsx48(
|
|
11407
11662
|
ToggleGroup,
|
|
11408
11663
|
{
|
|
11409
11664
|
id: "chatkit-pet-type",
|
|
@@ -11418,7 +11673,7 @@ function SettingsSheet({
|
|
|
11418
11673
|
variant: "outline",
|
|
11419
11674
|
spacing: 2,
|
|
11420
11675
|
className: "!w-full",
|
|
11421
|
-
children: CHARACTER_TYPES2.map((type) => /* @__PURE__ */
|
|
11676
|
+
children: CHARACTER_TYPES2.map((type) => /* @__PURE__ */ jsx48(
|
|
11422
11677
|
ToggleGroupItem,
|
|
11423
11678
|
{
|
|
11424
11679
|
value: type,
|
|
@@ -11430,8 +11685,8 @@ function SettingsSheet({
|
|
|
11430
11685
|
}
|
|
11431
11686
|
)
|
|
11432
11687
|
] }),
|
|
11433
|
-
draft.characterType === "builtin" && /* @__PURE__ */
|
|
11434
|
-
/* @__PURE__ */
|
|
11688
|
+
draft.characterType === "builtin" && /* @__PURE__ */ jsxs31("div", { className: "space-y-2", children: [
|
|
11689
|
+
/* @__PURE__ */ jsx48(
|
|
11435
11690
|
"label",
|
|
11436
11691
|
{
|
|
11437
11692
|
htmlFor: "chatkit-pet-builtin",
|
|
@@ -11439,7 +11694,7 @@ function SettingsSheet({
|
|
|
11439
11694
|
children: t("pet.settings.builtin")
|
|
11440
11695
|
}
|
|
11441
11696
|
),
|
|
11442
|
-
/* @__PURE__ */
|
|
11697
|
+
/* @__PURE__ */ jsxs31(
|
|
11443
11698
|
Select,
|
|
11444
11699
|
{
|
|
11445
11700
|
value: selectedBuiltinPet.id,
|
|
@@ -11450,26 +11705,26 @@ function SettingsSheet({
|
|
|
11450
11705
|
}
|
|
11451
11706
|
},
|
|
11452
11707
|
children: [
|
|
11453
|
-
/* @__PURE__ */
|
|
11708
|
+
/* @__PURE__ */ jsx48(
|
|
11454
11709
|
SelectTrigger,
|
|
11455
11710
|
{
|
|
11456
11711
|
id: "chatkit-pet-builtin",
|
|
11457
11712
|
className: "min-h-12 w-full px-3 py-2",
|
|
11458
|
-
children: /* @__PURE__ */
|
|
11713
|
+
children: /* @__PURE__ */ jsx48(SelectValue, { placeholder: selectedBuiltinPetLabel })
|
|
11459
11714
|
}
|
|
11460
11715
|
),
|
|
11461
|
-
/* @__PURE__ */
|
|
11716
|
+
/* @__PURE__ */ jsx48(SelectContent, { className: "w-[var(--radix-select-trigger-width)]", children: /* @__PURE__ */ jsx48(SelectGroup, { children: INCLUDED_PET_OPTIONS.map((pet) => {
|
|
11462
11717
|
const label = t(`pet.settings.builtins.${pet.id}`, {
|
|
11463
11718
|
defaultValue: pet.label
|
|
11464
11719
|
});
|
|
11465
|
-
return /* @__PURE__ */
|
|
11720
|
+
return /* @__PURE__ */ jsx48(
|
|
11466
11721
|
SelectItem,
|
|
11467
11722
|
{
|
|
11468
11723
|
value: pet.id,
|
|
11469
11724
|
className: "min-h-10 py-1.5 pl-2 pr-8",
|
|
11470
|
-
children: /* @__PURE__ */
|
|
11471
|
-
/* @__PURE__ */
|
|
11472
|
-
/* @__PURE__ */
|
|
11725
|
+
children: /* @__PURE__ */ jsxs31("span", { className: "flex min-w-0 items-center gap-2", children: [
|
|
11726
|
+
/* @__PURE__ */ jsx48(PetPreview, { src: pet.previewSrc, label }),
|
|
11727
|
+
/* @__PURE__ */ jsx48("span", { className: "min-w-0 truncate", children: label })
|
|
11473
11728
|
] })
|
|
11474
11729
|
},
|
|
11475
11730
|
pet.id
|
|
@@ -11479,8 +11734,8 @@ function SettingsSheet({
|
|
|
11479
11734
|
}
|
|
11480
11735
|
)
|
|
11481
11736
|
] }),
|
|
11482
|
-
draft.characterType === "atlas" && /* @__PURE__ */
|
|
11483
|
-
/* @__PURE__ */
|
|
11737
|
+
draft.characterType === "atlas" && /* @__PURE__ */ jsxs31("div", { className: "space-y-2", children: [
|
|
11738
|
+
/* @__PURE__ */ jsx48(
|
|
11484
11739
|
"label",
|
|
11485
11740
|
{
|
|
11486
11741
|
className: "text-sm font-medium",
|
|
@@ -11488,7 +11743,7 @@ function SettingsSheet({
|
|
|
11488
11743
|
children: t("pet.settings.atlasUrl")
|
|
11489
11744
|
}
|
|
11490
11745
|
),
|
|
11491
|
-
/* @__PURE__ */
|
|
11746
|
+
/* @__PURE__ */ jsx48(
|
|
11492
11747
|
Input,
|
|
11493
11748
|
{
|
|
11494
11749
|
id: "chatkit-pet-atlas",
|
|
@@ -11498,15 +11753,15 @@ function SettingsSheet({
|
|
|
11498
11753
|
}
|
|
11499
11754
|
)
|
|
11500
11755
|
] }),
|
|
11501
|
-
/* @__PURE__ */
|
|
11502
|
-
/* @__PURE__ */
|
|
11503
|
-
/* @__PURE__ */
|
|
11504
|
-
/* @__PURE__ */
|
|
11756
|
+
/* @__PURE__ */ jsxs31("div", { className: "space-y-2", children: [
|
|
11757
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-between gap-4", children: [
|
|
11758
|
+
/* @__PURE__ */ jsx48("label", { className: "text-sm font-medium", htmlFor: "chatkit-pet-scale", children: t("pet.settings.scale") }),
|
|
11759
|
+
/* @__PURE__ */ jsxs31("span", { className: "text-xs tabular-nums text-muted-foreground", children: [
|
|
11505
11760
|
draft.scale.toFixed(2),
|
|
11506
11761
|
"x"
|
|
11507
11762
|
] })
|
|
11508
11763
|
] }),
|
|
11509
|
-
/* @__PURE__ */
|
|
11764
|
+
/* @__PURE__ */ jsx48(
|
|
11510
11765
|
Slider,
|
|
11511
11766
|
{
|
|
11512
11767
|
id: "chatkit-pet-scale",
|
|
@@ -11520,8 +11775,8 @@ function SettingsSheet({
|
|
|
11520
11775
|
}
|
|
11521
11776
|
)
|
|
11522
11777
|
] }),
|
|
11523
|
-
/* @__PURE__ */
|
|
11524
|
-
/* @__PURE__ */
|
|
11778
|
+
/* @__PURE__ */ jsxs31("label", { className: "flex items-center gap-2 text-sm", children: [
|
|
11779
|
+
/* @__PURE__ */ jsx48(
|
|
11525
11780
|
"input",
|
|
11526
11781
|
{
|
|
11527
11782
|
type: "checkbox",
|
|
@@ -11532,8 +11787,8 @@ function SettingsSheet({
|
|
|
11532
11787
|
),
|
|
11533
11788
|
t("pet.settings.draggable")
|
|
11534
11789
|
] }),
|
|
11535
|
-
/* @__PURE__ */
|
|
11536
|
-
/* @__PURE__ */
|
|
11790
|
+
/* @__PURE__ */ jsxs31("label", { className: "flex items-center gap-2 text-sm", children: [
|
|
11791
|
+
/* @__PURE__ */ jsx48(
|
|
11537
11792
|
"input",
|
|
11538
11793
|
{
|
|
11539
11794
|
type: "checkbox",
|
|
@@ -11544,8 +11799,8 @@ function SettingsSheet({
|
|
|
11544
11799
|
),
|
|
11545
11800
|
t("pet.settings.persistPosition")
|
|
11546
11801
|
] }),
|
|
11547
|
-
/* @__PURE__ */
|
|
11548
|
-
/* @__PURE__ */
|
|
11802
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex justify-end gap-2 pt-2", children: [
|
|
11803
|
+
/* @__PURE__ */ jsx48(
|
|
11549
11804
|
Button,
|
|
11550
11805
|
{
|
|
11551
11806
|
type: "button",
|
|
@@ -11554,7 +11809,7 @@ function SettingsSheet({
|
|
|
11554
11809
|
children: t("pet.settings.cancel")
|
|
11555
11810
|
}
|
|
11556
11811
|
),
|
|
11557
|
-
/* @__PURE__ */
|
|
11812
|
+
/* @__PURE__ */ jsx48(Button, { type: "submit", children: t("pet.settings.save") })
|
|
11558
11813
|
] })
|
|
11559
11814
|
] })
|
|
11560
11815
|
] }) });
|
|
@@ -12060,7 +12315,7 @@ function findDomPointForComposerOffset(root, offset) {
|
|
|
12060
12315
|
}
|
|
12061
12316
|
|
|
12062
12317
|
// src/components/chat.tsx
|
|
12063
|
-
import { Fragment as Fragment7, jsx as
|
|
12318
|
+
import { Fragment as Fragment7, jsx as jsx49, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
12064
12319
|
var defaultApiUrl2 = import.meta.env.VITE_XPERTAI_API_URL;
|
|
12065
12320
|
var COMPOSER_INPUT_MAX_HEIGHT = 128;
|
|
12066
12321
|
var LONG_TEXT_REFERENCE_THRESHOLD = 5e3;
|
|
@@ -12193,7 +12448,7 @@ function ReferenceChip({
|
|
|
12193
12448
|
const metaLine = getReferenceMetaLine(reference);
|
|
12194
12449
|
const isComposer = variant === "composer";
|
|
12195
12450
|
const Icon = reference.type === "quote" ? Quote : reference.type === "image" ? ImageIcon : FileText3;
|
|
12196
|
-
return /* @__PURE__ */
|
|
12451
|
+
return /* @__PURE__ */ jsxs32(
|
|
12197
12452
|
"div",
|
|
12198
12453
|
{
|
|
12199
12454
|
className: cn(
|
|
@@ -12202,7 +12457,7 @@ function ReferenceChip({
|
|
|
12202
12457
|
),
|
|
12203
12458
|
title: getReferenceTitle(reference),
|
|
12204
12459
|
children: [
|
|
12205
|
-
/* @__PURE__ */
|
|
12460
|
+
/* @__PURE__ */ jsx49(
|
|
12206
12461
|
Icon,
|
|
12207
12462
|
{
|
|
12208
12463
|
size: isComposer ? 14 : 12,
|
|
@@ -12212,8 +12467,8 @@ function ReferenceChip({
|
|
|
12212
12467
|
)
|
|
12213
12468
|
}
|
|
12214
12469
|
),
|
|
12215
|
-
/* @__PURE__ */
|
|
12216
|
-
/* @__PURE__ */
|
|
12470
|
+
/* @__PURE__ */ jsxs32("div", { className: "min-w-0 flex-1", children: [
|
|
12471
|
+
/* @__PURE__ */ jsx49(
|
|
12217
12472
|
"div",
|
|
12218
12473
|
{
|
|
12219
12474
|
className: cn(
|
|
@@ -12223,7 +12478,7 @@ function ReferenceChip({
|
|
|
12223
12478
|
children: getReferenceLabel(reference)
|
|
12224
12479
|
}
|
|
12225
12480
|
),
|
|
12226
|
-
metaLine && /* @__PURE__ */
|
|
12481
|
+
metaLine && /* @__PURE__ */ jsx49(
|
|
12227
12482
|
"div",
|
|
12228
12483
|
{
|
|
12229
12484
|
className: cn(
|
|
@@ -12234,7 +12489,7 @@ function ReferenceChip({
|
|
|
12234
12489
|
}
|
|
12235
12490
|
)
|
|
12236
12491
|
] }),
|
|
12237
|
-
onRemove && removeLabel && /* @__PURE__ */
|
|
12492
|
+
onRemove && removeLabel && /* @__PURE__ */ jsx49(
|
|
12238
12493
|
"button",
|
|
12239
12494
|
{
|
|
12240
12495
|
type: "button",
|
|
@@ -12245,7 +12500,7 @@ function ReferenceChip({
|
|
|
12245
12500
|
),
|
|
12246
12501
|
title: removeLabel,
|
|
12247
12502
|
"aria-label": removeLabel,
|
|
12248
|
-
children: /* @__PURE__ */
|
|
12503
|
+
children: /* @__PURE__ */ jsx49(X5, { size: 12 })
|
|
12249
12504
|
}
|
|
12250
12505
|
)
|
|
12251
12506
|
]
|
|
@@ -13851,7 +14106,7 @@ function Chat({
|
|
|
13851
14106
|
fallbackTitle: t("history.threadFallback")
|
|
13852
14107
|
});
|
|
13853
14108
|
const assistantTitle = assistantName || resolvedTitle;
|
|
13854
|
-
return /* @__PURE__ */
|
|
14109
|
+
return /* @__PURE__ */ jsxs32(
|
|
13855
14110
|
"div",
|
|
13856
14111
|
{
|
|
13857
14112
|
ref: viewportRef,
|
|
@@ -13861,10 +14116,10 @@ function Chat({
|
|
|
13861
14116
|
className
|
|
13862
14117
|
),
|
|
13863
14118
|
children: [
|
|
13864
|
-
/* @__PURE__ */
|
|
13865
|
-
/* @__PURE__ */
|
|
13866
|
-
/* @__PURE__ */
|
|
13867
|
-
/* @__PURE__ */
|
|
14119
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-between border-b p-2 sticky top-0 z-10 bg-background", children: [
|
|
14120
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-3 overflow-hidden", children: [
|
|
14121
|
+
/* @__PURE__ */ jsxs32("div", { className: "relative shrink-0", children: [
|
|
14122
|
+
/* @__PURE__ */ jsx49(
|
|
13868
14123
|
ChatkitAvatar,
|
|
13869
14124
|
{
|
|
13870
14125
|
avatar: assistantAvatar,
|
|
@@ -13872,10 +14127,10 @@ function Chat({
|
|
|
13872
14127
|
label: assistantTitle
|
|
13873
14128
|
}
|
|
13874
14129
|
),
|
|
13875
|
-
/* @__PURE__ */
|
|
14130
|
+
/* @__PURE__ */ jsx49("span", { className: "absolute bottom-0 right-0 h-2.5 w-2.5 rounded-full border-2 border-background bg-green-500" })
|
|
13876
14131
|
] }),
|
|
13877
|
-
/* @__PURE__ */
|
|
13878
|
-
/* @__PURE__ */
|
|
14132
|
+
/* @__PURE__ */ jsxs32("div", { className: "truncate", children: [
|
|
14133
|
+
/* @__PURE__ */ jsx49(
|
|
13879
14134
|
"h2",
|
|
13880
14135
|
{
|
|
13881
14136
|
className: "text-lg font-semibold truncate",
|
|
@@ -13883,12 +14138,12 @@ function Chat({
|
|
|
13883
14138
|
children: assistantTitle
|
|
13884
14139
|
}
|
|
13885
14140
|
),
|
|
13886
|
-
/* @__PURE__ */
|
|
14141
|
+
/* @__PURE__ */ jsx49("p", { className: "text-xs text-muted-foreground", children: t("chat.statusOnline") })
|
|
13887
14142
|
] })
|
|
13888
14143
|
] }),
|
|
13889
|
-
/* @__PURE__ */
|
|
13890
|
-
/* @__PURE__ */
|
|
13891
|
-
/* @__PURE__ */
|
|
14144
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-1", children: [
|
|
14145
|
+
/* @__PURE__ */ jsxs32(Tooltip, { children: [
|
|
14146
|
+
/* @__PURE__ */ jsx49(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx49("span", { className: "inline-flex h-8 w-8", children: /* @__PURE__ */ jsx49(
|
|
13892
14147
|
"button",
|
|
13893
14148
|
{
|
|
13894
14149
|
type: "button",
|
|
@@ -13899,14 +14154,14 @@ function Chat({
|
|
|
13899
14154
|
"transition-colors duration-150"
|
|
13900
14155
|
),
|
|
13901
14156
|
"aria-label": t("settings.open"),
|
|
13902
|
-
children: /* @__PURE__ */
|
|
14157
|
+
children: /* @__PURE__ */ jsx49(Settings2, { size: 16 })
|
|
13903
14158
|
}
|
|
13904
14159
|
) }) }),
|
|
13905
|
-
/* @__PURE__ */
|
|
14160
|
+
/* @__PURE__ */ jsx49(TooltipContent, { side: "bottom", children: t("settings.open") })
|
|
13906
14161
|
] }),
|
|
13907
|
-
history?.enabled !== false && /* @__PURE__ */
|
|
13908
|
-
/* @__PURE__ */
|
|
13909
|
-
/* @__PURE__ */
|
|
14162
|
+
history?.enabled !== false && /* @__PURE__ */ jsxs32(Fragment7, { children: [
|
|
14163
|
+
/* @__PURE__ */ jsxs32(Tooltip, { children: [
|
|
14164
|
+
/* @__PURE__ */ jsx49(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx49("span", { className: "inline-flex h-8 w-8", children: /* @__PURE__ */ jsx49(
|
|
13910
14165
|
"button",
|
|
13911
14166
|
{
|
|
13912
14167
|
type: "button",
|
|
@@ -13919,12 +14174,12 @@ function Chat({
|
|
|
13919
14174
|
"disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed"
|
|
13920
14175
|
),
|
|
13921
14176
|
"aria-label": t("history.newThread"),
|
|
13922
|
-
children: /* @__PURE__ */
|
|
14177
|
+
children: /* @__PURE__ */ jsx49(Pencil4, { size: 16 })
|
|
13923
14178
|
}
|
|
13924
14179
|
) }) }),
|
|
13925
|
-
/* @__PURE__ */
|
|
14180
|
+
/* @__PURE__ */ jsx49(TooltipContent, { side: "bottom", children: t("history.newThread") })
|
|
13926
14181
|
] }),
|
|
13927
|
-
/* @__PURE__ */
|
|
14182
|
+
/* @__PURE__ */ jsx49(
|
|
13928
14183
|
HistorySidebar,
|
|
13929
14184
|
{
|
|
13930
14185
|
threads,
|
|
@@ -13939,18 +14194,18 @@ function Chat({
|
|
|
13939
14194
|
] })
|
|
13940
14195
|
] })
|
|
13941
14196
|
] }),
|
|
13942
|
-
/* @__PURE__ */
|
|
13943
|
-
errorMessage && /* @__PURE__ */
|
|
13944
|
-
historyError && /* @__PURE__ */
|
|
13945
|
-
showMissingConfig && /* @__PURE__ */
|
|
13946
|
-
isHistoryLoading && /* @__PURE__ */
|
|
13947
|
-
messages.length === 0 ? /* @__PURE__ */
|
|
14197
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex-1 p-4", children: [
|
|
14198
|
+
errorMessage && /* @__PURE__ */ jsx49("div", { className: "mb-4 rounded-lg border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive", children: errorMessage }),
|
|
14199
|
+
historyError && /* @__PURE__ */ jsx49("div", { className: "mb-4 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900", children: historyError }),
|
|
14200
|
+
showMissingConfig && /* @__PURE__ */ jsx49("div", { className: "mb-4 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900", children: missingConfigDetailMessage }),
|
|
14201
|
+
isHistoryLoading && /* @__PURE__ */ jsx49("div", { className: "mb-4 rounded-lg border border-muted px-3 py-2 text-sm text-muted-foreground", children: t("chat.loadingThread") }),
|
|
14202
|
+
messages.length === 0 ? /* @__PURE__ */ jsx49(
|
|
13948
14203
|
StartScreen,
|
|
13949
14204
|
{
|
|
13950
14205
|
startScreen,
|
|
13951
14206
|
onPromptClick: handlePromptClick
|
|
13952
14207
|
}
|
|
13953
|
-
) : /* @__PURE__ */
|
|
14208
|
+
) : /* @__PURE__ */ jsxs32("div", { className: "space-y-4", children: [
|
|
13954
14209
|
messages.map((message, index) => {
|
|
13955
14210
|
const messageType = String(message.type);
|
|
13956
14211
|
const isAssistantMessage = messageType === "assistant" || messageType === "ai";
|
|
@@ -13983,7 +14238,7 @@ function Chat({
|
|
|
13983
14238
|
if (!isAssistantMessage && !hasPlainRenderableContent && !hasHumanAttachments && humanRuntimeCapabilityOptions.length === 0 && humanReferences.length === 0) {
|
|
13984
14239
|
return null;
|
|
13985
14240
|
}
|
|
13986
|
-
return /* @__PURE__ */
|
|
14241
|
+
return /* @__PURE__ */ jsx49(
|
|
13987
14242
|
"div",
|
|
13988
14243
|
{
|
|
13989
14244
|
className: cn(
|
|
@@ -13991,8 +14246,8 @@ function Chat({
|
|
|
13991
14246
|
message.type === "human" ? "justify-end" : "justify-start -ml-1"
|
|
13992
14247
|
// AI messages: slightly closer to left
|
|
13993
14248
|
),
|
|
13994
|
-
children: /* @__PURE__ */
|
|
13995
|
-
/* @__PURE__ */
|
|
14249
|
+
children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col px-3 overflow-hidden", children: [
|
|
14250
|
+
/* @__PURE__ */ jsx49(
|
|
13996
14251
|
"div",
|
|
13997
14252
|
{
|
|
13998
14253
|
...canQuoteMessage ? {
|
|
@@ -14004,7 +14259,7 @@ function Chat({
|
|
|
14004
14259
|
message.type === "human" ? "bg-primary text-primary-foreground px-4 py-2.5" : message.type === "system" ? "bg-muted text-muted-foreground text-xs px-4 py-2.5" : "py-1 text-chat-foreground"
|
|
14005
14260
|
// AI messages: use chat-specific foreground color
|
|
14006
14261
|
),
|
|
14007
|
-
children: isAssistantMessage ? /* @__PURE__ */
|
|
14262
|
+
children: isAssistantMessage ? /* @__PURE__ */ jsx49(
|
|
14008
14263
|
AssistantMessage,
|
|
14009
14264
|
{
|
|
14010
14265
|
message: {
|
|
@@ -14023,25 +14278,25 @@ function Chat({
|
|
|
14023
14278
|
organizationId: stream.organizationId,
|
|
14024
14279
|
apiUrl: stream.apiUrl
|
|
14025
14280
|
}
|
|
14026
|
-
) : /* @__PURE__ */
|
|
14027
|
-
message.type === "human" && humanRuntimeCapabilityOptions.length > 0 && /* @__PURE__ */
|
|
14281
|
+
) : /* @__PURE__ */ jsxs32(Fragment7, { children: [
|
|
14282
|
+
message.type === "human" && humanRuntimeCapabilityOptions.length > 0 && /* @__PURE__ */ jsx49("div", { className: "mb-2 flex flex-wrap gap-1.5", children: humanRuntimeCapabilityOptions.map((option) => /* @__PURE__ */ jsxs32(
|
|
14028
14283
|
"span",
|
|
14029
14284
|
{
|
|
14030
14285
|
className: "inline-flex max-w-full items-center gap-1 rounded-md bg-primary-foreground/20 px-2 py-1 text-xs font-medium text-primary-foreground",
|
|
14031
14286
|
children: [
|
|
14032
|
-
/* @__PURE__ */
|
|
14287
|
+
/* @__PURE__ */ jsx49(
|
|
14033
14288
|
RuntimeCapabilityIcon,
|
|
14034
14289
|
{
|
|
14035
14290
|
option,
|
|
14036
14291
|
variant: "chip"
|
|
14037
14292
|
}
|
|
14038
14293
|
),
|
|
14039
|
-
/* @__PURE__ */
|
|
14294
|
+
/* @__PURE__ */ jsx49("span", { className: "max-w-[9rem] truncate", children: option.label })
|
|
14040
14295
|
]
|
|
14041
14296
|
},
|
|
14042
14297
|
`${option.type}:${option.id}`
|
|
14043
14298
|
)) }),
|
|
14044
|
-
message.type === "human" && humanReferences.length > 0 && /* @__PURE__ */
|
|
14299
|
+
message.type === "human" && humanReferences.length > 0 && /* @__PURE__ */ jsx49("div", { className: "mb-2 flex flex-wrap gap-1.5", children: humanReferences.map((reference) => /* @__PURE__ */ jsx49(
|
|
14045
14300
|
ReferenceChip,
|
|
14046
14301
|
{
|
|
14047
14302
|
reference,
|
|
@@ -14049,29 +14304,29 @@ function Chat({
|
|
|
14049
14304
|
},
|
|
14050
14305
|
getReferenceKey(reference)
|
|
14051
14306
|
)) }),
|
|
14052
|
-
message.type === "human" && humanAttachments.length > 0 && /* @__PURE__ */
|
|
14307
|
+
message.type === "human" && humanAttachments.length > 0 && /* @__PURE__ */ jsx49("div", { className: "flex flex-wrap gap-1.5 mb-2", children: humanAttachments.map((file, fileIndex) => /* @__PURE__ */ jsxs32(
|
|
14053
14308
|
"div",
|
|
14054
14309
|
{
|
|
14055
14310
|
className: "flex items-center gap-1.5 rounded-md bg-primary-foreground/20 px-2 py-1 text-xs",
|
|
14056
14311
|
children: [
|
|
14057
|
-
/* @__PURE__ */
|
|
14058
|
-
/* @__PURE__ */
|
|
14312
|
+
/* @__PURE__ */ jsx49(FileText3, { size: 12 }),
|
|
14313
|
+
/* @__PURE__ */ jsx49("span", { className: "max-w-[100px] truncate", children: file.originalName })
|
|
14059
14314
|
]
|
|
14060
14315
|
},
|
|
14061
14316
|
fileIndex
|
|
14062
14317
|
)) }),
|
|
14063
|
-
Array.isArray(message.content) ? message.content.map((part, partIndex) => /* @__PURE__ */
|
|
14318
|
+
Array.isArray(message.content) ? message.content.map((part, partIndex) => /* @__PURE__ */ jsx49(
|
|
14064
14319
|
"p",
|
|
14065
14320
|
{
|
|
14066
14321
|
className: "wrap-break-word text-sm leading-relaxed",
|
|
14067
14322
|
children: formatMessageContent(part)
|
|
14068
14323
|
},
|
|
14069
14324
|
`${part.type}-${partIndex}`
|
|
14070
|
-
)) : /* @__PURE__ */
|
|
14325
|
+
)) : /* @__PURE__ */ jsx49("span", { className: "wrap-break-word text-sm leading-relaxed", children: formatMessageContent(message.content) })
|
|
14071
14326
|
] })
|
|
14072
14327
|
}
|
|
14073
14328
|
),
|
|
14074
|
-
/* @__PURE__ */
|
|
14329
|
+
/* @__PURE__ */ jsx49(
|
|
14075
14330
|
MessageActions,
|
|
14076
14331
|
{
|
|
14077
14332
|
content: messageContent,
|
|
@@ -14107,7 +14362,7 @@ function Chat({
|
|
|
14107
14362
|
stream.isLoading,
|
|
14108
14363
|
{ now: streamingNow }
|
|
14109
14364
|
);
|
|
14110
|
-
return /* @__PURE__ */
|
|
14365
|
+
return /* @__PURE__ */ jsx49("div", { className: "flex justify-start gap-3 -ml-2", children: /* @__PURE__ */ jsx49("div", { className: "max-w-full rounded-2xl py-2.5", children: /* @__PURE__ */ jsx49(
|
|
14111
14366
|
AssistantStreamingIndicator,
|
|
14112
14367
|
{
|
|
14113
14368
|
status: fallbackStreamingStatus ?? "loading"
|
|
@@ -14116,7 +14371,7 @@ function Chat({
|
|
|
14116
14371
|
})()
|
|
14117
14372
|
] })
|
|
14118
14373
|
] }),
|
|
14119
|
-
!isAtBottom && messages.length > 0 && /* @__PURE__ */
|
|
14374
|
+
!isAtBottom && messages.length > 0 && /* @__PURE__ */ jsx49("div", { className: "sticky bottom-20 z-20 flex justify-center px-4 pointer-events-none", children: /* @__PURE__ */ jsx49(
|
|
14120
14375
|
Button,
|
|
14121
14376
|
{
|
|
14122
14377
|
type: "button",
|
|
@@ -14129,10 +14384,10 @@ function Chat({
|
|
|
14129
14384
|
onClick: () => scrollToBottom(true, true),
|
|
14130
14385
|
"aria-label": t("chat.scrollToBottom"),
|
|
14131
14386
|
title: t("chat.scrollToBottom"),
|
|
14132
|
-
children: /* @__PURE__ */
|
|
14387
|
+
children: /* @__PURE__ */ jsx49(ArrowDown2, { size: 16 })
|
|
14133
14388
|
}
|
|
14134
14389
|
) }),
|
|
14135
|
-
quoteSelection && /* @__PURE__ */
|
|
14390
|
+
quoteSelection && /* @__PURE__ */ jsx49(
|
|
14136
14391
|
"div",
|
|
14137
14392
|
{
|
|
14138
14393
|
className: "pointer-events-none fixed z-50",
|
|
@@ -14141,7 +14396,7 @@ function Chat({
|
|
|
14141
14396
|
left: `${quoteSelection.left}px`,
|
|
14142
14397
|
transform: "translateX(-50%)"
|
|
14143
14398
|
},
|
|
14144
|
-
children: /* @__PURE__ */
|
|
14399
|
+
children: /* @__PURE__ */ jsxs32(
|
|
14145
14400
|
Button,
|
|
14146
14401
|
{
|
|
14147
14402
|
type: "button",
|
|
@@ -14153,16 +14408,16 @@ function Chat({
|
|
|
14153
14408
|
"aria-label": t("composer.quoteSelection"),
|
|
14154
14409
|
title: t("composer.quoteSelection"),
|
|
14155
14410
|
children: [
|
|
14156
|
-
/* @__PURE__ */
|
|
14411
|
+
/* @__PURE__ */ jsx49(Quote, { size: 14 }),
|
|
14157
14412
|
t("composer.quoteSelection")
|
|
14158
14413
|
]
|
|
14159
14414
|
}
|
|
14160
14415
|
)
|
|
14161
14416
|
}
|
|
14162
14417
|
),
|
|
14163
|
-
/* @__PURE__ */
|
|
14164
|
-
threadErrorMessage && /* @__PURE__ */
|
|
14165
|
-
/* @__PURE__ */
|
|
14418
|
+
/* @__PURE__ */ jsxs32("div", { className: "p-2 sticky bottom-0 z-10 bg-background", children: [
|
|
14419
|
+
threadErrorMessage && /* @__PURE__ */ jsx49("div", { className: "mb-3 rounded-lg border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive overflow-auto", children: threadErrorMessage }),
|
|
14420
|
+
/* @__PURE__ */ jsx49(
|
|
14166
14421
|
"input",
|
|
14167
14422
|
{
|
|
14168
14423
|
ref: fileInputRef,
|
|
@@ -14173,7 +14428,7 @@ function Chat({
|
|
|
14173
14428
|
className: "hidden"
|
|
14174
14429
|
}
|
|
14175
14430
|
),
|
|
14176
|
-
attachments.length > 0 && /* @__PURE__ */
|
|
14431
|
+
attachments.length > 0 && /* @__PURE__ */ jsx49("div", { className: "mb-3 flex flex-wrap gap-2", children: attachments.map((item) => /* @__PURE__ */ jsxs32(
|
|
14177
14432
|
"div",
|
|
14178
14433
|
{
|
|
14179
14434
|
className: cn(
|
|
@@ -14181,16 +14436,16 @@ function Chat({
|
|
|
14181
14436
|
item.status === "error" ? "bg-destructive/10 border border-destructive/30" : "bg-muted"
|
|
14182
14437
|
),
|
|
14183
14438
|
children: [
|
|
14184
|
-
item.status === "uploading" && /* @__PURE__ */
|
|
14439
|
+
item.status === "uploading" && /* @__PURE__ */ jsx49(
|
|
14185
14440
|
Loader26,
|
|
14186
14441
|
{
|
|
14187
14442
|
size: 14,
|
|
14188
14443
|
className: "animate-spin text-muted-foreground"
|
|
14189
14444
|
}
|
|
14190
14445
|
),
|
|
14191
|
-
item.status === "success" && /* @__PURE__ */
|
|
14192
|
-
item.status === "error" && /* @__PURE__ */
|
|
14193
|
-
/* @__PURE__ */
|
|
14446
|
+
item.status === "success" && /* @__PURE__ */ jsx49(FileText3, { size: 14, className: "text-muted-foreground" }),
|
|
14447
|
+
item.status === "error" && /* @__PURE__ */ jsx49(FileText3, { size: 14, className: "text-destructive" }),
|
|
14448
|
+
/* @__PURE__ */ jsx49(
|
|
14194
14449
|
"span",
|
|
14195
14450
|
{
|
|
14196
14451
|
className: cn(
|
|
@@ -14200,17 +14455,17 @@ function Chat({
|
|
|
14200
14455
|
children: item.file.name
|
|
14201
14456
|
}
|
|
14202
14457
|
),
|
|
14203
|
-
item.status === "error" && /* @__PURE__ */
|
|
14458
|
+
item.status === "error" && /* @__PURE__ */ jsx49(
|
|
14204
14459
|
"button",
|
|
14205
14460
|
{
|
|
14206
14461
|
type: "button",
|
|
14207
14462
|
onClick: () => handleRetryUpload(item.localId),
|
|
14208
14463
|
className: "ml-1 rounded-full p-0.5 text-destructive hover:bg-destructive/20",
|
|
14209
14464
|
title: t("chat.retryUpload"),
|
|
14210
|
-
children: /* @__PURE__ */
|
|
14465
|
+
children: /* @__PURE__ */ jsx49(RefreshCw2, { size: 12 })
|
|
14211
14466
|
}
|
|
14212
14467
|
),
|
|
14213
|
-
/* @__PURE__ */
|
|
14468
|
+
/* @__PURE__ */ jsx49(
|
|
14214
14469
|
"button",
|
|
14215
14470
|
{
|
|
14216
14471
|
type: "button",
|
|
@@ -14219,14 +14474,14 @@ function Chat({
|
|
|
14219
14474
|
"ml-1 rounded-full p-0.5",
|
|
14220
14475
|
item.status === "error" ? "text-destructive hover:bg-destructive/20" : "hover:bg-muted-foreground/20"
|
|
14221
14476
|
),
|
|
14222
|
-
children: /* @__PURE__ */
|
|
14477
|
+
children: /* @__PURE__ */ jsx49(X5, { size: 12 })
|
|
14223
14478
|
}
|
|
14224
14479
|
)
|
|
14225
14480
|
]
|
|
14226
14481
|
},
|
|
14227
14482
|
item.localId
|
|
14228
14483
|
)) }),
|
|
14229
|
-
references.length > 0 && /* @__PURE__ */
|
|
14484
|
+
references.length > 0 && /* @__PURE__ */ jsx49("div", { className: "mb-3 flex flex-wrap gap-2", children: references.map((reference) => /* @__PURE__ */ jsx49(
|
|
14230
14485
|
ReferenceChip,
|
|
14231
14486
|
{
|
|
14232
14487
|
reference,
|
|
@@ -14240,16 +14495,16 @@ function Chat({
|
|
|
14240
14495
|
},
|
|
14241
14496
|
getReferenceKey(reference)
|
|
14242
14497
|
)) }),
|
|
14243
|
-
detachedRunRuntimeCapabilityOptions.length > 0 && /* @__PURE__ */
|
|
14244
|
-
/* @__PURE__ */
|
|
14245
|
-
detachedRunRuntimeCapabilityOptions.map((option) => /* @__PURE__ */
|
|
14498
|
+
detachedRunRuntimeCapabilityOptions.length > 0 && /* @__PURE__ */ jsxs32("div", { className: "mb-2 flex flex-wrap items-center gap-2", children: [
|
|
14499
|
+
/* @__PURE__ */ jsx49("span", { className: "text-xs text-muted-foreground", children: t("composer.capabilities.runOnly") }),
|
|
14500
|
+
detachedRunRuntimeCapabilityOptions.map((option) => /* @__PURE__ */ jsxs32(
|
|
14246
14501
|
"span",
|
|
14247
14502
|
{
|
|
14248
14503
|
className: "inline-flex max-w-full items-center gap-1 rounded-full bg-primary/10 px-2 py-0.5 text-xs font-medium text-primary",
|
|
14249
14504
|
children: [
|
|
14250
|
-
/* @__PURE__ */
|
|
14251
|
-
/* @__PURE__ */
|
|
14252
|
-
/* @__PURE__ */
|
|
14505
|
+
/* @__PURE__ */ jsx49(RuntimeCapabilityIcon, { option, variant: "chip" }),
|
|
14506
|
+
/* @__PURE__ */ jsx49("span", { className: "max-w-40 truncate", children: option.label }),
|
|
14507
|
+
/* @__PURE__ */ jsx49(
|
|
14253
14508
|
"button",
|
|
14254
14509
|
{
|
|
14255
14510
|
type: "button",
|
|
@@ -14257,7 +14512,7 @@ function Chat({
|
|
|
14257
14512
|
className: "rounded-full p-0.5 hover:bg-primary/15",
|
|
14258
14513
|
title: t("composer.capabilities.removeRunCapability"),
|
|
14259
14514
|
"aria-label": t("composer.capabilities.removeRunCapability"),
|
|
14260
|
-
children: /* @__PURE__ */
|
|
14515
|
+
children: /* @__PURE__ */ jsx49(X5, { size: 11 })
|
|
14261
14516
|
}
|
|
14262
14517
|
)
|
|
14263
14518
|
]
|
|
@@ -14265,7 +14520,7 @@ function Chat({
|
|
|
14265
14520
|
`${option.type}:${option.id}`
|
|
14266
14521
|
))
|
|
14267
14522
|
] }),
|
|
14268
|
-
/* @__PURE__ */
|
|
14523
|
+
/* @__PURE__ */ jsx49(
|
|
14269
14524
|
PendingRuntimeServices,
|
|
14270
14525
|
{
|
|
14271
14526
|
state: stream.runtimeActivities.sandboxServices,
|
|
@@ -14274,7 +14529,7 @@ function Chat({
|
|
|
14274
14529
|
className: hasPendingTodos || hasPendingFollowUps ? "mb-2" : void 0
|
|
14275
14530
|
}
|
|
14276
14531
|
),
|
|
14277
|
-
/* @__PURE__ */
|
|
14532
|
+
/* @__PURE__ */ jsx49(
|
|
14278
14533
|
PendingTodos,
|
|
14279
14534
|
{
|
|
14280
14535
|
snapshot: stream.todos,
|
|
@@ -14282,7 +14537,7 @@ function Chat({
|
|
|
14282
14537
|
className: hasPendingFollowUps ? "mb-2" : void 0
|
|
14283
14538
|
}
|
|
14284
14539
|
),
|
|
14285
|
-
/* @__PURE__ */
|
|
14540
|
+
/* @__PURE__ */ jsx49(
|
|
14286
14541
|
PendingFollowUps,
|
|
14287
14542
|
{
|
|
14288
14543
|
items: pendingFollowUps,
|
|
@@ -14297,7 +14552,7 @@ function Chat({
|
|
|
14297
14552
|
attachToComposer: true
|
|
14298
14553
|
}
|
|
14299
14554
|
),
|
|
14300
|
-
/* @__PURE__ */
|
|
14555
|
+
/* @__PURE__ */ jsx49(
|
|
14301
14556
|
RequestUserInputPanel,
|
|
14302
14557
|
{
|
|
14303
14558
|
request: stream.pendingRequestUserInput,
|
|
@@ -14306,7 +14561,7 @@ function Chat({
|
|
|
14306
14561
|
attachToComposer: true
|
|
14307
14562
|
}
|
|
14308
14563
|
),
|
|
14309
|
-
/* @__PURE__ */
|
|
14564
|
+
/* @__PURE__ */ jsx49(
|
|
14310
14565
|
HITLApprovalPanel,
|
|
14311
14566
|
{
|
|
14312
14567
|
request: stream.pendingHITLRequest,
|
|
@@ -14315,7 +14570,7 @@ function Chat({
|
|
|
14315
14570
|
attachToComposer: true
|
|
14316
14571
|
}
|
|
14317
14572
|
),
|
|
14318
|
-
runtimeCapabilityPalette && /* @__PURE__ */
|
|
14573
|
+
runtimeCapabilityPalette && /* @__PURE__ */ jsx49(
|
|
14319
14574
|
SlashPalette,
|
|
14320
14575
|
{
|
|
14321
14576
|
palette: runtimeCapabilityPalette,
|
|
@@ -14329,7 +14584,7 @@ function Chat({
|
|
|
14329
14584
|
onSelect: selectSlashPaletteOption
|
|
14330
14585
|
}
|
|
14331
14586
|
),
|
|
14332
|
-
/* @__PURE__ */
|
|
14587
|
+
/* @__PURE__ */ jsx49("form", { className: "flex items-end", onSubmit: handleSubmit, children: /* @__PURE__ */ jsxs32(
|
|
14333
14588
|
"div",
|
|
14334
14589
|
{
|
|
14335
14590
|
"data-slot": "composer-input-shell",
|
|
@@ -14343,7 +14598,7 @@ function Chat({
|
|
|
14343
14598
|
composerInputRoundedClass
|
|
14344
14599
|
),
|
|
14345
14600
|
children: [
|
|
14346
|
-
/* @__PURE__ */
|
|
14601
|
+
/* @__PURE__ */ jsx49(
|
|
14347
14602
|
"div",
|
|
14348
14603
|
{
|
|
14349
14604
|
ref: composerInputRef,
|
|
@@ -14365,7 +14620,7 @@ function Chat({
|
|
|
14365
14620
|
(missingConfig || isHistoryLoading || hasPendingInteractiveRequest) && "cursor-not-allowed opacity-50"
|
|
14366
14621
|
),
|
|
14367
14622
|
children: renderedComposerParts.map(
|
|
14368
|
-
(part, index) => part.type === "text" ? /* @__PURE__ */
|
|
14623
|
+
(part, index) => part.type === "text" ? /* @__PURE__ */ jsx49(React44.Fragment, { children: part.text }, `text-${index}`) : /* @__PURE__ */ jsxs32(
|
|
14369
14624
|
"span",
|
|
14370
14625
|
{
|
|
14371
14626
|
"data-composer-capability-key": part.key,
|
|
@@ -14374,14 +14629,14 @@ function Chat({
|
|
|
14374
14629
|
contentEditable: false,
|
|
14375
14630
|
className: "mx-0.5 inline-flex max-w-[14rem] select-none items-center gap-1 text-sm font-semibold text-primary align-baseline",
|
|
14376
14631
|
children: [
|
|
14377
|
-
/* @__PURE__ */
|
|
14632
|
+
/* @__PURE__ */ jsx49(
|
|
14378
14633
|
RuntimeCapabilityIcon,
|
|
14379
14634
|
{
|
|
14380
14635
|
option: part.capability,
|
|
14381
14636
|
variant: "chip"
|
|
14382
14637
|
}
|
|
14383
14638
|
),
|
|
14384
|
-
/* @__PURE__ */
|
|
14639
|
+
/* @__PURE__ */ jsx49("span", { className: "truncate", children: part.capability.label })
|
|
14385
14640
|
]
|
|
14386
14641
|
},
|
|
14387
14642
|
part.key
|
|
@@ -14390,14 +14645,14 @@ function Chat({
|
|
|
14390
14645
|
},
|
|
14391
14646
|
composerDomVersion
|
|
14392
14647
|
),
|
|
14393
|
-
/* @__PURE__ */
|
|
14648
|
+
/* @__PURE__ */ jsxs32(
|
|
14394
14649
|
"div",
|
|
14395
14650
|
{
|
|
14396
14651
|
"data-slot": "composer-action-bar",
|
|
14397
14652
|
className: "pointer-events-none absolute inset-x-1.5 bottom-1 flex min-h-10 items-center justify-between gap-2",
|
|
14398
14653
|
children: [
|
|
14399
|
-
/* @__PURE__ */
|
|
14400
|
-
/* @__PURE__ */
|
|
14654
|
+
/* @__PURE__ */ jsxs32("div", { className: "pointer-events-none flex min-w-0 flex-1 items-center gap-1.5", children: [
|
|
14655
|
+
/* @__PURE__ */ jsx49("div", { className: "pointer-events-auto flex shrink-0 items-center gap-1.5", children: /* @__PURE__ */ jsx49(
|
|
14401
14656
|
ComposerMenu,
|
|
14402
14657
|
{
|
|
14403
14658
|
composer,
|
|
@@ -14412,20 +14667,20 @@ function Chat({
|
|
|
14412
14667
|
disabled: missingConfig || isHistoryLoading || hasPendingInteractiveRequest
|
|
14413
14668
|
}
|
|
14414
14669
|
) }),
|
|
14415
|
-
selectedTool && /* @__PURE__ */
|
|
14416
|
-
/* @__PURE__ */
|
|
14417
|
-
/* @__PURE__ */
|
|
14670
|
+
selectedTool && /* @__PURE__ */ jsxs32("span", { className: "pointer-events-auto inline-flex h-8 min-w-0 max-w-[14rem] shrink items-center gap-1.5 rounded-full bg-primary/10 px-2 text-xs font-medium text-primary transition-all duration-200", children: [
|
|
14671
|
+
/* @__PURE__ */ jsx49("span", { className: "truncate", children: selectedTool.shortLabel ?? selectedTool.label }),
|
|
14672
|
+
/* @__PURE__ */ jsx49(
|
|
14418
14673
|
"button",
|
|
14419
14674
|
{
|
|
14420
14675
|
type: "button",
|
|
14421
14676
|
onClick: () => setSelectedTool(null),
|
|
14422
14677
|
className: "shrink-0 rounded-full p-0.5 text-primary/70 hover:bg-primary/10 hover:text-primary",
|
|
14423
|
-
children: /* @__PURE__ */
|
|
14678
|
+
children: /* @__PURE__ */ jsx49(X5, { size: 12 })
|
|
14424
14679
|
}
|
|
14425
14680
|
)
|
|
14426
14681
|
] })
|
|
14427
14682
|
] }),
|
|
14428
|
-
/* @__PURE__ */
|
|
14683
|
+
/* @__PURE__ */ jsx49("div", { className: "pointer-events-auto shrink-0", children: /* @__PURE__ */ jsx49(
|
|
14429
14684
|
SendButton,
|
|
14430
14685
|
{
|
|
14431
14686
|
disabled: isSendDisabled,
|
|
@@ -14452,7 +14707,7 @@ function Chat({
|
|
|
14452
14707
|
]
|
|
14453
14708
|
}
|
|
14454
14709
|
) }),
|
|
14455
|
-
disclaimer?.text && /* @__PURE__ */
|
|
14710
|
+
disclaimer?.text && /* @__PURE__ */ jsx49(
|
|
14456
14711
|
"p",
|
|
14457
14712
|
{
|
|
14458
14713
|
className: cn(
|
|
@@ -14462,12 +14717,12 @@ function Chat({
|
|
|
14462
14717
|
children: disclaimer.text
|
|
14463
14718
|
}
|
|
14464
14719
|
),
|
|
14465
|
-
/* @__PURE__ */
|
|
14466
|
-
/* @__PURE__ */
|
|
14467
|
-
/* @__PURE__ */
|
|
14720
|
+
/* @__PURE__ */ jsxs32("div", { className: "mt-2 flex items-center justify-center gap-2 text-xs text-muted-foreground", children: [
|
|
14721
|
+
/* @__PURE__ */ jsx49("span", { children: t("chat.poweredBy") }),
|
|
14722
|
+
/* @__PURE__ */ jsx49(ContextUsageIndicator, { className: "absolute right-4" })
|
|
14468
14723
|
] })
|
|
14469
14724
|
] }),
|
|
14470
|
-
/* @__PURE__ */
|
|
14725
|
+
/* @__PURE__ */ jsx49(
|
|
14471
14726
|
SettingsSheet,
|
|
14472
14727
|
{
|
|
14473
14728
|
open: petSettingsOpen,
|
|
@@ -14477,7 +14732,7 @@ function Chat({
|
|
|
14477
14732
|
onSave: savePetLocalSettings
|
|
14478
14733
|
}
|
|
14479
14734
|
),
|
|
14480
|
-
/* @__PURE__ */
|
|
14735
|
+
/* @__PURE__ */ jsx49(PetBridge, { pet: effectivePet, state: petAutoState })
|
|
14481
14736
|
]
|
|
14482
14737
|
}
|
|
14483
14738
|
);
|
|
@@ -14485,9 +14740,9 @@ function Chat({
|
|
|
14485
14740
|
|
|
14486
14741
|
// src/components/ui/separator.tsx
|
|
14487
14742
|
import * as React45 from "react";
|
|
14488
|
-
import { jsx as
|
|
14743
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
14489
14744
|
var Separator = React45.forwardRef(
|
|
14490
|
-
({ className, orientation = "horizontal", ...props }, ref) => /* @__PURE__ */
|
|
14745
|
+
({ className, orientation = "horizontal", ...props }, ref) => /* @__PURE__ */ jsx50(
|
|
14491
14746
|
"div",
|
|
14492
14747
|
{
|
|
14493
14748
|
ref,
|