@xpert-ai/chatkit-ui 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/assets/{_baseUniq-DhcCNE2L.js → _baseUniq-DUmeJXMF.js} +1 -1
- package/dist/app/assets/{abap-_IjCfpBS.js → abap-CAHc26jT.js} +1 -1
- package/dist/app/assets/{abnf-CekkQUy9.js → abnf-CVkfvAG7.js} +1 -1
- package/dist/app/assets/{actionscript-C9XSSYhb.js → actionscript-BEzJB7WT.js} +1 -1
- package/dist/app/assets/{ada-4vLfjsZX.js → ada-DFt4d8s0.js} +1 -1
- package/dist/app/assets/{agda-CER1MQer.js → agda-Dgk-d8Ej.js} +1 -1
- package/dist/app/assets/{al-DVApc0ak.js → al-CgIwrIi7.js} +1 -1
- package/dist/app/assets/{antlr4-CTOuYhug.js → antlr4-v8CVE7fu.js} +1 -1
- package/dist/app/assets/{apacheconf-Cx3fh3do.js → apacheconf-DJRGF6BS.js} +1 -1
- package/dist/app/assets/{apex-CQChIoUK.js → apex-uUgU4D2N.js} +1 -1
- package/dist/app/assets/{apl-rqEDU7gi.js → apl-QLgjdSly.js} +1 -1
- package/dist/app/assets/{applescript-SibyzsWq.js → applescript-BFVeekYt.js} +1 -1
- package/dist/app/assets/{aql-D5s-oH6r.js → aql-mHS01Klr.js} +1 -1
- package/dist/app/assets/{arc-CqOJzRv3.js → arc-CuZh5y_d.js} +1 -1
- package/dist/app/assets/{architectureDiagram-Q4EWVU46-Sc4cdTS9.js → architectureDiagram-Q4EWVU46-Cp-oqFuq.js} +1 -1
- package/dist/app/assets/{arduino-CAvcLJph.js → arduino-D3yikoHI.js} +1 -1
- package/dist/app/assets/{arff-DXHd3IWb.js → arff-Bzp22yLm.js} +1 -1
- package/dist/app/assets/{asciidoc-D1qamWMF.js → asciidoc-DyMmgwzJ.js} +1 -1
- package/dist/app/assets/{asm6502-CLD-Uamm.js → asm6502-B80D95Jm.js} +1 -1
- package/dist/app/assets/{asmatmel-CTTTETEh.js → asmatmel-D7eDDNLW.js} +1 -1
- package/dist/app/assets/{aspnet-gANAeiiI.js → aspnet-DP6URAXF.js} +1 -1
- package/dist/app/assets/{autohotkey-DZzEICDN.js → autohotkey-CkErJpFg.js} +1 -1
- package/dist/app/assets/{autoit-DU2qU7yP.js → autoit-BdpOTPpv.js} +1 -1
- package/dist/app/assets/{avisynth-CW7VMs_l.js → avisynth-Dmhp2heE.js} +1 -1
- package/dist/app/assets/{avro-idl-m7lwvLZF.js → avro-idl-DUhKaWgN.js} +1 -1
- package/dist/app/assets/{bash-DhNYFOgQ.js → bash-BivYb6BT.js} +1 -1
- package/dist/app/assets/{basic-CBgclVFD.js → basic-D-8b5r6a.js} +1 -1
- package/dist/app/assets/{batch-_m1D2SzT.js → batch-BgMIK1_X.js} +1 -1
- package/dist/app/assets/{bbcode-BuWXKUuN.js → bbcode-DVoSXbR6.js} +1 -1
- package/dist/app/assets/{bicep-CNNhU7qf.js → bicep-DAyvfnBb.js} +1 -1
- package/dist/app/assets/{birb-Df15PWNN.js → birb-MciDoImB.js} +1 -1
- package/dist/app/assets/{bison-pTGuYt5R.js → bison-MfDz2wSW.js} +1 -1
- package/dist/app/assets/{blockDiagram-DXYQGD6D-COmjjfPf.js → blockDiagram-DXYQGD6D-D6fzklHs.js} +1 -1
- package/dist/app/assets/{bnf-5rjVHg1A.js → bnf-NfFrR8D5.js} +1 -1
- package/dist/app/assets/{brainfuck-2M-a_fzt.js → brainfuck-ClI8X4SF.js} +1 -1
- package/dist/app/assets/{brightscript-BUcx3Uan.js → brightscript-zS1iu4vq.js} +1 -1
- package/dist/app/assets/{bro-BtT_dXGd.js → bro-DljtPq2D.js} +1 -1
- package/dist/app/assets/{bsl-C1h-9jbB.js → bsl-hhgsw8vw.js} +1 -1
- package/dist/app/assets/{c-Cn84DM0m.js → c-DrpFfWnr.js} +1 -1
- package/dist/app/assets/{c4Diagram-AHTNJAMY-BE1kXuuS.js → c4Diagram-AHTNJAMY-DFqBpiK8.js} +1 -1
- package/dist/app/assets/{cfscript-2H4o-JIw.js → cfscript-DDb6Lyf6.js} +1 -1
- package/dist/app/assets/{chaiscript-C1Bjxsfh.js → chaiscript-DF48gGB2.js} +1 -1
- package/dist/app/assets/channel-DFkA7Odq.js +1 -0
- package/dist/app/assets/{chunk-4BX2VUAB-DZ_C_iKC.js → chunk-4BX2VUAB-B12wPqT-.js} +1 -1
- package/dist/app/assets/{chunk-4TB4RGXK-DApXi72F.js → chunk-4TB4RGXK-DvBRV7Wa.js} +1 -1
- package/dist/app/assets/{chunk-55IACEB6-Dk5pcDDA.js → chunk-55IACEB6-DYYpJnIt.js} +1 -1
- package/dist/app/assets/{chunk-EDXVE4YY-C3768OfQ.js → chunk-EDXVE4YY-C_cgU5oo.js} +1 -1
- package/dist/app/assets/{chunk-FMBD7UC4-BvglBVER.js → chunk-FMBD7UC4-B3gAIARW.js} +1 -1
- package/dist/app/assets/{chunk-OYMX7WX6-DMLEPpZh.js → chunk-OYMX7WX6-DfeuAq49.js} +1 -1
- package/dist/app/assets/{chunk-QZHKN3VN-_kOwjXni.js → chunk-QZHKN3VN-B_q1wkHk.js} +1 -1
- package/dist/app/assets/{chunk-YZCP3GAM-BofXuboV.js → chunk-YZCP3GAM-BI51-5Xl.js} +1 -1
- package/dist/app/assets/{cil-DHyrqdX_.js → cil-5e3EFNQ-.js} +1 -1
- package/dist/app/assets/classDiagram-6PBFFD2Q-BhcMxOX3.js +1 -0
- package/dist/app/assets/classDiagram-v2-HSJHXN6E-BhcMxOX3.js +1 -0
- package/dist/app/assets/{clike-Bf02ej9F.js → clike-CGm019RU.js} +1 -1
- package/dist/app/assets/{clojure-LoSvb9pa.js → clojure-EUxmeflx.js} +1 -1
- package/dist/app/assets/clone-D0zp_cmi.js +1 -0
- package/dist/app/assets/{cmake-BkWc04wT.js → cmake-Cx_TgZnP.js} +1 -1
- package/dist/app/assets/{cobol-_nZTdMgt.js → cobol-BthqexLq.js} +1 -1
- package/dist/app/assets/{coffeescript-DT5ySztk.js → coffeescript-Gvi0WUl9.js} +1 -1
- package/dist/app/assets/{concurnas-DSAYXuEZ.js → concurnas-DIsKiUcY.js} +1 -1
- package/dist/app/assets/{coq-CrgIrANd.js → coq-Cbm4LAk7.js} +1 -1
- package/dist/app/assets/{core-C27f_Wct.js → core-DbOl2YVH.js} +1 -1
- package/dist/app/assets/{cose-bilkent-S5V4N54A-BqnGiR9q.js → cose-bilkent-S5V4N54A-tDz06OBa.js} +1 -1
- package/dist/app/assets/{cpp-DNsF-Kz_.js → cpp-DvM1W1M3.js} +1 -1
- package/dist/app/assets/{crystal-yRp-Ck4J.js → crystal-Cgeclk0-.js} +1 -1
- package/dist/app/assets/{csharp-Dh8DUZOE.js → csharp-DLajxlCH.js} +1 -1
- package/dist/app/assets/{cshtml-CuaqD5vI.js → cshtml-D4WJuQ28.js} +1 -1
- package/dist/app/assets/{csp-TuU29N7c.js → csp-DlOt0mll.js} +1 -1
- package/dist/app/assets/{css-DfThiGDT.js → css-BzsDxt7h.js} +1 -1
- package/dist/app/assets/{css-extras-DN46Xx9D.js → css-extras-yKv4-OYr.js} +1 -1
- package/dist/app/assets/{csv-BEpZMNNd.js → csv-Bv1CB32G.js} +1 -1
- package/dist/app/assets/{cypher-CXuYSM3m.js → cypher-p1eqx6Jt.js} +1 -1
- package/dist/app/assets/{d-DBLRM2HM.js → d-Beqwk42F.js} +1 -1
- package/dist/app/assets/{dagre-KV5264BT-YbfphbKk.js → dagre-KV5264BT-Bva9KEQ3.js} +1 -1
- package/dist/app/assets/{dart-ClooZxtE.js → dart-DGUIre7b.js} +1 -1
- package/dist/app/assets/{dataweave-iLNtOM4o.js → dataweave-BKEvzZhX.js} +1 -1
- package/dist/app/assets/{dax-OQ4SKQyZ.js → dax-7DSfOdOt.js} +1 -1
- package/dist/app/assets/{dhall-BcEs9_Il.js → dhall-D96qT6GR.js} +1 -1
- package/dist/app/assets/{diagram-5BDNPKRD-CrSfz4ol.js → diagram-5BDNPKRD-BLdVEgIg.js} +1 -1
- package/dist/app/assets/{diagram-G4DWMVQ6-COOuGquM.js → diagram-G4DWMVQ6-B1mGc4DZ.js} +1 -1
- package/dist/app/assets/{diagram-MMDJMWI5-CLudV92t.js → diagram-MMDJMWI5-BCbX9vwv.js} +1 -1
- package/dist/app/assets/{diagram-TYMM5635-7hK6dmHH.js → diagram-TYMM5635-BbiM5rwX.js} +1 -1
- package/dist/app/assets/{diff-C3sAjilP.js → diff-BJy0ijGD.js} +1 -1
- package/dist/app/assets/{django-DWDamL3u.js → django-CA3Li7Xc.js} +1 -1
- package/dist/app/assets/{dns-zone-file-Bs-k24AT.js → dns-zone-file-CQ5FJ0e2.js} +1 -1
- package/dist/app/assets/{docker-CbsxZOR_.js → docker-C_jKEoBB.js} +1 -1
- package/dist/app/assets/{dot-cmPUgJiw.js → dot-UuhFwEC4.js} +1 -1
- package/dist/app/assets/{ebnf-B20H8M5E.js → ebnf-v-JYoSll.js} +1 -1
- package/dist/app/assets/{editorconfig-CD8ZN3N0.js → editorconfig-Be3ygJWd.js} +1 -1
- package/dist/app/assets/{eiffel-A2f55FY2.js → eiffel-wc_Ly8vK.js} +1 -1
- package/dist/app/assets/{ejs-DFRIdoGh.js → ejs-DkUkLWO_.js} +1 -1
- package/dist/app/assets/{elixir-_kwd_REn.js → elixir-D4YWMnOb.js} +1 -1
- package/dist/app/assets/{elm-DQY_1HmV.js → elm-DvpgkmZw.js} +1 -1
- package/dist/app/assets/{erDiagram-SMLLAGMA-S51NLIRq.js → erDiagram-SMLLAGMA-DeYRxjbM.js} +1 -1
- package/dist/app/assets/{erb-Dhn1_rOy.js → erb-BrK-PMgA.js} +1 -1
- package/dist/app/assets/{erlang-X69_IFoF.js → erlang-BYb5M5Pb.js} +1 -1
- package/dist/app/assets/{etlua-KG8BhZyB.js → etlua-Bhe3IDc-.js} +1 -1
- package/dist/app/assets/{excel-formula-CNlbsFIR.js → excel-formula-jODZlBfX.js} +1 -1
- package/dist/app/assets/{factor-B3wH4xq3.js → factor-BKsD6d0K.js} +1 -1
- package/dist/app/assets/{false-CgytrAC7.js → false-CcGNJYns.js} +1 -1
- package/dist/app/assets/{firestore-security-rules-Coo0DWR5.js → firestore-security-rules-5vyxJaeJ.js} +1 -1
- package/dist/app/assets/{flow-Cy8AbL-B.js → flow-NU1izkCa.js} +1 -1
- package/dist/app/assets/{flowDiagram-DWJPFMVM-3gGb45g_.js → flowDiagram-DWJPFMVM-Bj0SYU-k.js} +1 -1
- package/dist/app/assets/{fortran-h5riSewD.js → fortran-DCGTQjju.js} +1 -1
- package/dist/app/assets/{fsharp-CkvWu7RS.js → fsharp-DNhO6FM-.js} +1 -1
- package/dist/app/assets/{ftl-A8LPSp4k.js → ftl-P_p2wyPG.js} +1 -1
- package/dist/app/assets/{ganttDiagram-T4ZO3ILL-LEeFMCzh.js → ganttDiagram-T4ZO3ILL-Dv-WNsgb.js} +1 -1
- package/dist/app/assets/{gap-Db8FJjp9.js → gap-DgF9ZGYZ.js} +1 -1
- package/dist/app/assets/{gcode-CmfDqUKZ.js → gcode-CMhuYhvh.js} +1 -1
- package/dist/app/assets/{gdscript-DJWWbktQ.js → gdscript-BaNvmSXL.js} +1 -1
- package/dist/app/assets/{gedcom-DZLZnv4o.js → gedcom-BLjWW8zc.js} +1 -1
- package/dist/app/assets/{gherkin-dhrCyYj5.js → gherkin-BxsMbJgE.js} +1 -1
- package/dist/app/assets/{git-Dee4nqm_.js → git-C3JKKGbu.js} +1 -1
- package/dist/app/assets/{gitGraphDiagram-UUTBAWPF-Cx0_OfVi.js → gitGraphDiagram-UUTBAWPF-antOmae7.js} +1 -1
- package/dist/app/assets/{glsl-CGkGtKvP.js → glsl-Dy963NrS.js} +1 -1
- package/dist/app/assets/{gml-Cyovha5T.js → gml-RHKUDQYR.js} +1 -1
- package/dist/app/assets/{gn-CZZWsczF.js → gn-B5wX0kjQ.js} +1 -1
- package/dist/app/assets/{go-TELCDRfl.js → go-BO0hAT1N.js} +1 -1
- package/dist/app/assets/{go-module-DwdrJQUt.js → go-module-C2Fr-9ms.js} +1 -1
- package/dist/app/assets/{graph-Def3Ff6O.js → graph-DLqezY1N.js} +1 -1
- package/dist/app/assets/{graphql-BQkD7E1b.js → graphql-D58aRI9g.js} +1 -1
- package/dist/app/assets/{groovy-DSpGF2Ks.js → groovy-IGpaqhY4.js} +1 -1
- package/dist/app/assets/{haml-VPtmscyv.js → haml-C2z2yhSa.js} +1 -1
- package/dist/app/assets/{handlebars-B6tGrDNr.js → handlebars-BobMlUhh.js} +1 -1
- package/dist/app/assets/{haskell-sD0oStLn.js → haskell-nIuVVanU.js} +1 -1
- package/dist/app/assets/{haxe-CHQlINJc.js → haxe-D5efufya.js} +1 -1
- package/dist/app/assets/{hcl-B8fn6CLE.js → hcl-D9KAZKAO.js} +1 -1
- package/dist/app/assets/{hlsl-BRt3KlBi.js → hlsl-BFWBj6lA.js} +1 -1
- package/dist/app/assets/{hoon-Y1tyBFu_.js → hoon-B5vc2PPa.js} +1 -1
- package/dist/app/assets/{hpkp-B6tkTng1.js → hpkp-X9Vy-aP4.js} +1 -1
- package/dist/app/assets/{hsts-BT0gpx-A.js → hsts-BTHtjxYA.js} +1 -1
- package/dist/app/assets/{http-Vi5xN3SQ.js → http-D93SJiT9.js} +1 -1
- package/dist/app/assets/{ichigojam-DwzjQwUK.js → ichigojam-DFGOLrmf.js} +1 -1
- package/dist/app/assets/{icon-CpNOZuom.js → icon-BsJxVaoC.js} +1 -1
- package/dist/app/assets/{icu-message-format-E7DXI-1d.js → icu-message-format-C0hqHQFf.js} +1 -1
- package/dist/app/assets/{idris-Z32VP4RM.js → idris-D_XFEa4Y.js} +1 -1
- package/dist/app/assets/{iecst-CN5WMb2J.js → iecst-BBDx_Apd.js} +1 -1
- package/dist/app/assets/{ignore-BPsyPKDL.js → ignore-5mrYyBCy.js} +1 -1
- package/dist/app/assets/{index-t-7uVNvT.js → index-OJL54NcI.js} +151 -151
- package/dist/app/assets/index-s5_akYUB.css +1 -0
- package/dist/app/assets/{infoDiagram-42DDH7IO-CloBfZbd.js → infoDiagram-42DDH7IO-DHNCTrQo.js} +1 -1
- package/dist/app/assets/{inform7-DGLBlAGK.js → inform7-D_BK4Whb.js} +1 -1
- package/dist/app/assets/{ini-BV3KOH-Q.js → ini-DHL1U3zm.js} +1 -1
- package/dist/app/assets/{io-CRo9k3OJ.js → io-Bw7TS_7w.js} +1 -1
- package/dist/app/assets/{ishikawaDiagram-UXIWVN3A-CYPPbF3l.js → ishikawaDiagram-UXIWVN3A-CjewUobx.js} +1 -1
- package/dist/app/assets/{j-CHGRxEkV.js → j-DfX-jMbV.js} +1 -1
- package/dist/app/assets/{java-DcCc37S9.js → java-BldkMImw.js} +1 -1
- package/dist/app/assets/{javadoc-BajT0oRQ.js → javadoc-6dOM24mQ.js} +1 -1
- package/dist/app/assets/{javadoclike-BMMsIcdV.js → javadoclike-BHmZlS5e.js} +1 -1
- package/dist/app/assets/{javascript-DyXwMbB3.js → javascript-FvrzCcvc.js} +1 -1
- package/dist/app/assets/{javastacktrace-DTvR039l.js → javastacktrace-Byn0DB0K.js} +1 -1
- package/dist/app/assets/{jexl-Ot_nPhCk.js → jexl-CB5kP-Am.js} +1 -1
- package/dist/app/assets/{jolie-BUy51jNj.js → jolie-C7Q5mImX.js} +1 -1
- package/dist/app/assets/{journeyDiagram-VCZTEJTY-Brna5vzp.js → journeyDiagram-VCZTEJTY-DD8qNzmh.js} +1 -1
- package/dist/app/assets/{jq-5mmxZEvV.js → jq-C9deMLmZ.js} +1 -1
- package/dist/app/assets/{js-extras-zVUUAKO_.js → js-extras-Brhyk9ef.js} +1 -1
- package/dist/app/assets/{js-templates-iJxD_2Sa.js → js-templates-DhpXMSuF.js} +1 -1
- package/dist/app/assets/{jsdoc-DJ_m_yCh.js → jsdoc-BEesq6va.js} +1 -1
- package/dist/app/assets/{json-CZjhVgPK.js → json-CRGHFhSS.js} +1 -1
- package/dist/app/assets/{json5-BNvFsIbI.js → json5-CbPQgQz7.js} +1 -1
- package/dist/app/assets/{jsonp-gRo4PPGN.js → jsonp-BBjDy5AO.js} +1 -1
- package/dist/app/assets/{jsstacktrace-CT2oLlCK.js → jsstacktrace-CcOPcdH3.js} +1 -1
- package/dist/app/assets/{jsx-d0efg1vk.js → jsx-DRgBFrjX.js} +1 -1
- package/dist/app/assets/{julia-Dqs_RiDo.js → julia-DAe7WbG-.js} +1 -1
- package/dist/app/assets/{kanban-definition-6JOO6SKY-tE-1j_ia.js → kanban-definition-6JOO6SKY-DgTSO2X8.js} +1 -1
- package/dist/app/assets/{keepalived-Ber37oOF.js → keepalived-COsmSeDV.js} +1 -1
- package/dist/app/assets/{keyman-C5bFTeeI.js → keyman-Biz_0q7B.js} +1 -1
- package/dist/app/assets/{kotlin-DBq0G8Hn.js → kotlin-C3V8Z8W0.js} +1 -1
- package/dist/app/assets/{kumir-_r-igbu1.js → kumir-clIi7e8-.js} +1 -1
- package/dist/app/assets/{kusto-Dnrek9TI.js → kusto-BhEtzjY8.js} +1 -1
- package/dist/app/assets/{latex-B78lTwvc.js → latex-kWox6R5Q.js} +1 -1
- package/dist/app/assets/{latte-CaSKAGnv.js → latte-C8Xd4YKa.js} +1 -1
- package/dist/app/assets/{layout-BZiHvIMv.js → layout-CD5_V8sq.js} +1 -1
- package/dist/app/assets/{less-C0gq5vaY.js → less-8ceLguvR.js} +1 -1
- package/dist/app/assets/{lilypond-GMV-kxfc.js → lilypond-CfYHEM-K.js} +1 -1
- package/dist/app/assets/{linear-sCxwL64x.js → linear-B5jHFagM.js} +1 -1
- package/dist/app/assets/{liquid-Bjcywher.js → liquid-BJ6eYcfk.js} +1 -1
- package/dist/app/assets/{lisp-Di4LOhy9.js → lisp--smLUoul.js} +1 -1
- package/dist/app/assets/{livescript-CgOnolfS.js → livescript-BBflhyer.js} +1 -1
- package/dist/app/assets/{llvm-BGjbbrCi.js → llvm-Stc38VbV.js} +1 -1
- package/dist/app/assets/{log-D7n8H9fm.js → log-Dl9NGCxx.js} +1 -1
- package/dist/app/assets/{lolcode-Cu9-2TFS.js → lolcode-7yqzBped.js} +1 -1
- package/dist/app/assets/{lua-lccF9r61.js → lua-BEWp6yVC.js} +1 -1
- package/dist/app/assets/{magma-DcqQ1hwM.js → magma-a1ZYdqHu.js} +1 -1
- package/dist/app/assets/{makefile-kISpU6yQ.js → makefile-QpxduTfi.js} +1 -1
- package/dist/app/assets/{markdown-ClsPn-UJ.js → markdown-Dr9rg3gd.js} +1 -1
- package/dist/app/assets/{markup-GKEZzmxD.js → markup-DWdbcYGh.js} +1 -1
- package/dist/app/assets/{markup-templating-CWO2xZeJ.js → markup-templating-BduvWqLe.js} +1 -1
- package/dist/app/assets/{matlab-gPoR8X9J.js → matlab-C9LyN81W.js} +1 -1
- package/dist/app/assets/{maxscript-BHY3xiu7.js → maxscript-BMf24IEz.js} +1 -1
- package/dist/app/assets/{mel-rpDPR1uL.js → mel-C_j2S2hb.js} +1 -1
- package/dist/app/assets/{mermaid-BuzahRsL.js → mermaid-G8stp4Fu.js} +1 -1
- package/dist/app/assets/{min-qX6PyCsg.js → min-BGvlJ2dI.js} +1 -1
- package/dist/app/assets/{mindmap-definition-QFDTVHPH-ssFAYwGj.js → mindmap-definition-QFDTVHPH-Dxkf-h1G.js} +1 -1
- package/dist/app/assets/{mizar-uCD34iKQ.js → mizar-J5U-ieUu.js} +1 -1
- package/dist/app/assets/{mongodb-BHQiMgqu.js → mongodb-DsLKEq_k.js} +1 -1
- package/dist/app/assets/{monkey-DgUxfqRD.js → monkey-lZP0TIai.js} +1 -1
- package/dist/app/assets/{moonscript-jEu2rBFy.js → moonscript-OiCHzZ6_.js} +1 -1
- package/dist/app/assets/{n1ql-Dt-1d48e.js → n1ql-C6sbE8_e.js} +1 -1
- package/dist/app/assets/{n4js-DhUX1sWN.js → n4js-BpPLTwi3.js} +1 -1
- package/dist/app/assets/{nand2tetris-hdl-B1sxYngv.js → nand2tetris-hdl-BONzgEmL.js} +1 -1
- package/dist/app/assets/{naniscript-CLirJ9GC.js → naniscript-DmYZ1vD6.js} +1 -1
- package/dist/app/assets/{nasm-DFO6i9-v.js → nasm-BfiJTfj8.js} +1 -1
- package/dist/app/assets/{neon-CJVuQ87S.js → neon-CM742PO-.js} +1 -1
- package/dist/app/assets/{nevod-BKKiVTjs.js → nevod-Dlk8fgIJ.js} +1 -1
- package/dist/app/assets/{nginx-B_LEBTut.js → nginx-BZ-0DFHd.js} +1 -1
- package/dist/app/assets/{nim-DgvJ6hOl.js → nim-CU13w-pb.js} +1 -1
- package/dist/app/assets/{nix-CJ0KPl9Q.js → nix-DKrd4S8j.js} +1 -1
- package/dist/app/assets/{nsis-C6JwEFTE.js → nsis-B6Grq7ob.js} +1 -1
- package/dist/app/assets/{objectivec-B9B-kBxR.js → objectivec-Dbl3oSVf.js} +1 -1
- package/dist/app/assets/{ocaml-SkFdro3L.js → ocaml-Dp6vkH1l.js} +1 -1
- package/dist/app/assets/{opencl-DSfJf34E.js → opencl-BGEl-B5f.js} +1 -1
- package/dist/app/assets/{openqasm-CDzDtizQ.js → openqasm-CBrpfqoP.js} +1 -1
- package/dist/app/assets/{oz-BWs_ndEf.js → oz-Bcy_Q3m9.js} +1 -1
- package/dist/app/assets/{parigp-_-pO98W4.js → parigp-C8xRJQCD.js} +1 -1
- package/dist/app/assets/{parser-BwdpGZPJ.js → parser-Cey9DM6y.js} +1 -1
- package/dist/app/assets/{pascal-AEdKVQZ6.js → pascal-l6HUvzh7.js} +1 -1
- package/dist/app/assets/{pascaligo-B3FRz8ot.js → pascaligo-B0R2oVyK.js} +1 -1
- package/dist/app/assets/{pcaxis-5fq3uU8R.js → pcaxis-B7gTfCp3.js} +1 -1
- package/dist/app/assets/{peoplecode-DZ4fk8ON.js → peoplecode-BrynhEhk.js} +1 -1
- package/dist/app/assets/{perl-B3MXzetZ.js → perl-DGnem1ta.js} +1 -1
- package/dist/app/assets/{php-extras-DLRpD8nq.js → php-extras-UxJ7EW_B.js} +1 -1
- package/dist/app/assets/{php-vEB1iVno.js → php-ymrnn-Sa.js} +1 -1
- package/dist/app/assets/{phpdoc-BCqSfVX6.js → phpdoc-D9_wAKK9.js} +1 -1
- package/dist/app/assets/{pieDiagram-DEJITSTG-DxXi7DQ2.js → pieDiagram-DEJITSTG-DQU88qux.js} +1 -1
- package/dist/app/assets/{plsql-DPtxfxuA.js → plsql-DAA7FuKL.js} +1 -1
- package/dist/app/assets/{powerquery-BOfyovx0.js → powerquery-iAxKW4DJ.js} +1 -1
- package/dist/app/assets/{powershell-DxVo8OSN.js → powershell-CWnnAMh5.js} +1 -1
- package/dist/app/assets/{processing-ijqSDZY0.js → processing-Fx5vM2Rk.js} +1 -1
- package/dist/app/assets/{prolog-DlYEmyH_.js → prolog-MDMz_07H.js} +1 -1
- package/dist/app/assets/{promql-BjVFHQmv.js → promql-pDapTiOR.js} +1 -1
- package/dist/app/assets/{properties-bwk71nw-.js → properties-Cq5vAXr4.js} +1 -1
- package/dist/app/assets/{protobuf-Cih2akTP.js → protobuf-BSKn03IB.js} +1 -1
- package/dist/app/assets/{psl-Cw1dOcRa.js → psl-DJWnJ0aZ.js} +1 -1
- package/dist/app/assets/{pug-DwJYMQlV.js → pug-6thMZc-l.js} +1 -1
- package/dist/app/assets/{puppet-Caud_s-m.js → puppet-DcBfOA0r.js} +1 -1
- package/dist/app/assets/{pure-B5oj-gCx.js → pure-BMCCjO23.js} +1 -1
- package/dist/app/assets/{purebasic-BgeP5DDD.js → purebasic-DUfq0bVz.js} +1 -1
- package/dist/app/assets/{purescript-CsHryjK3.js → purescript-Bmj-jbV7.js} +1 -1
- package/dist/app/assets/{q-BP8bBuGv.js → q-o6FC2Oci.js} +1 -1
- package/dist/app/assets/{qml-BgY-HmDG.js → qml-CaBbPt0f.js} +1 -1
- package/dist/app/assets/{qore-uOYNMdCg.js → qore-C0fJNj2s.js} +1 -1
- package/dist/app/assets/{qsharp-Cmp5vMRr.js → qsharp-nrwk7Iu2.js} +1 -1
- package/dist/app/assets/{quadrantDiagram-34T5L4WZ-f7twVcyL.js → quadrantDiagram-34T5L4WZ-DQQGChO4.js} +1 -1
- package/dist/app/assets/{r-BPMuS20T.js → r-s3d67ipT.js} +1 -1
- package/dist/app/assets/{racket-qc2-NKzR.js → racket-CvnxUTxS.js} +1 -1
- package/dist/app/assets/{reason-Rphq4wU8.js → reason-abnvbDHw.js} +1 -1
- package/dist/app/assets/{regex-lUJxQlEc.js → regex-Dyp7nyFE.js} +1 -1
- package/dist/app/assets/{rego-CgRMQR4R.js → rego-D9o_M1Kt.js} +1 -1
- package/dist/app/assets/{renpy-O53RZ3yB.js → renpy-P-s55mrw.js} +1 -1
- package/dist/app/assets/{requirementDiagram-MS252O5E-C-2UwVat.js → requirementDiagram-MS252O5E-CQyaMifY.js} +1 -1
- package/dist/app/assets/{rest-lCVyRpHi.js → rest-CJGNsPIO.js} +1 -1
- package/dist/app/assets/{rip-Cb9MAixU.js → rip--_Kjyshk.js} +1 -1
- package/dist/app/assets/{roboconf-p--JilwP.js → roboconf-CzO4IdEr.js} +1 -1
- package/dist/app/assets/{robotframework-CJWG7axQ.js → robotframework-CqMBjau5.js} +1 -1
- package/dist/app/assets/{ruby-DgHGg4xu.js → ruby-CcbP52GS.js} +1 -1
- package/dist/app/assets/{rust-mfoZutVO.js → rust-BDcJmAdg.js} +1 -1
- package/dist/app/assets/{sankeyDiagram-XADWPNL6-DtWni1zR.js → sankeyDiagram-XADWPNL6-BR5ykQyP.js} +1 -1
- package/dist/app/assets/{sas-hkuUJbuO.js → sas-6ZRrxGY4.js} +1 -1
- package/dist/app/assets/{sass-DdYTeGYi.js → sass-LQWASCzx.js} +1 -1
- package/dist/app/assets/{scala-BmqlMvBk.js → scala-dLVC34jC.js} +1 -1
- package/dist/app/assets/{scheme-DGuanVCO.js → scheme-ljjM-kw4.js} +1 -1
- package/dist/app/assets/{scss-CQnillil.js → scss-BjZr9V6H.js} +1 -1
- package/dist/app/assets/{sequenceDiagram-FGHM5R23-V1Ofbw_p.js → sequenceDiagram-FGHM5R23-C_CfyMdO.js} +1 -1
- package/dist/app/assets/{shell-session-DCSmJkzu.js → shell-session-DN7Q5cOF.js} +1 -1
- package/dist/app/assets/{smali-ffxofes2.js → smali-BSUZr7sT.js} +1 -1
- package/dist/app/assets/{smalltalk-B3WSwake.js → smalltalk-DNUcII1j.js} +1 -1
- package/dist/app/assets/{smarty-TkH0F2ZR.js → smarty-w3V8wJ8q.js} +1 -1
- package/dist/app/assets/{sml-Dn0OaBIX.js → sml-DSoVmt8E.js} +1 -1
- package/dist/app/assets/{solidity-X5AVGR0y.js → solidity-r-lFr53c.js} +1 -1
- package/dist/app/assets/{solution-file-CPrmt5Hs.js → solution-file-BE-32cJO.js} +1 -1
- package/dist/app/assets/{soy-BWtqIhQj.js → soy-BH05VIly.js} +1 -1
- package/dist/app/assets/{sparql-B3dCbOij.js → sparql-BmZSbo8m.js} +1 -1
- package/dist/app/assets/{splunk-spl-DFme2x2-.js → splunk-spl-BBtbm42X.js} +1 -1
- package/dist/app/assets/{sqf-B6O1kNSS.js → sqf-2G5YaT6f.js} +1 -1
- package/dist/app/assets/{sql-CJQw5AKW.js → sql-BhZO3kQ8.js} +1 -1
- package/dist/app/assets/{squirrel-CzQsXTWv.js → squirrel-6NG1h2a_.js} +1 -1
- package/dist/app/assets/{stan-lf0anrTR.js → stan-DlLgeY1f.js} +1 -1
- package/dist/app/assets/{stateDiagram-FHFEXIEX-DCCf5FXE.js → stateDiagram-FHFEXIEX-BK6LRJ_J.js} +1 -1
- package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-kcyyVi9f.js +1 -0
- package/dist/app/assets/{stylus-COiHJR5i.js → stylus-9MANoABX.js} +1 -1
- package/dist/app/assets/{swift-DkkKYkZS.js → swift-rgVRgAqK.js} +1 -1
- package/dist/app/assets/{systemd-yMlv02T9.js → systemd-DH306ton.js} +1 -1
- package/dist/app/assets/{t4-cs-rnhIAIrb.js → t4-cs-CqAUhraT.js} +1 -1
- package/dist/app/assets/{t4-templating-DMWX9YhQ.js → t4-templating-CdnkPXAS.js} +1 -1
- package/dist/app/assets/{t4-vb-ftpXLDQa.js → t4-vb-BGXI99pE.js} +1 -1
- package/dist/app/assets/{tap-BPZr3MHO.js → tap-BAZJNbLK.js} +1 -1
- package/dist/app/assets/{tcl-Da5z37GP.js → tcl-BOEKRtOp.js} +1 -1
- package/dist/app/assets/{textile-D_cVONZR.js → textile-D7X0Sgyn.js} +1 -1
- package/dist/app/assets/{timeline-definition-GMOUNBTQ-BUqjHP-0.js → timeline-definition-GMOUNBTQ-B_LU5nDM.js} +1 -1
- package/dist/app/assets/{toml-DKAIAUDo.js → toml-CfzGw53h.js} +1 -1
- package/dist/app/assets/{tremor-UPWxEF30.js → tremor-DYByk7ar.js} +1 -1
- package/dist/app/assets/{tt2-F3kwqgAK.js → tt2-CNCaPxhQ.js} +1 -1
- package/dist/app/assets/{turtle-BGEC3Tea.js → turtle-Bzs_at2N.js} +1 -1
- package/dist/app/assets/{twig-BF1UtTiF.js → twig-o2S4KNvE.js} +1 -1
- package/dist/app/assets/{typescript-0Q55yGyu.js → typescript-OnTd0yu3.js} +1 -1
- package/dist/app/assets/{typoscript-BZzT6IZ0.js → typoscript-CSmcWd5z.js} +1 -1
- package/dist/app/assets/{unrealscript-CRZUJaDf.js → unrealscript-cdAqsg1H.js} +1 -1
- package/dist/app/assets/{uorazor-DQbuUO_0.js → uorazor-It80EI2m.js} +1 -1
- package/dist/app/assets/{uri-DaYUWj2f.js → uri-DsMi8rd7.js} +1 -1
- package/dist/app/assets/{v-B_keUXs0.js → v-B_-3T97Y.js} +1 -1
- package/dist/app/assets/{vala-C280zAuu.js → vala-Bege32x4.js} +1 -1
- package/dist/app/assets/{vbnet-BP5k7ovm.js → vbnet-DxWsZHmf.js} +1 -1
- package/dist/app/assets/{velocity-Cpzxjvpc.js → velocity-D8j2-t5T.js} +1 -1
- package/dist/app/assets/{vennDiagram-DHZGUBPP-DMBYuFGJ.js → vennDiagram-DHZGUBPP-DfQHyCke.js} +1 -1
- package/dist/app/assets/{verilog-CsCWJCKK.js → verilog-BOdg-tSC.js} +1 -1
- package/dist/app/assets/{vhdl-CnOBMJDT.js → vhdl-Ce-nebP4.js} +1 -1
- package/dist/app/assets/{vim-BHrvXFGg.js → vim-Xv1PHa_E.js} +1 -1
- package/dist/app/assets/{visual-basic-DVMUkaLe.js → visual-basic-Dxm3bTj4.js} +1 -1
- package/dist/app/assets/{wardley-RL74JXVD-D39mFmVb.js → wardley-RL74JXVD-B6u0ieiH.js} +1 -1
- package/dist/app/assets/{wardleyDiagram-NUSXRM2D-tYKT99K6.js → wardleyDiagram-NUSXRM2D-DFue6QoQ.js} +1 -1
- package/dist/app/assets/{warpscript-D6-BbIHr.js → warpscript-CXGTE5kB.js} +1 -1
- package/dist/app/assets/{wasm-Bi73rb7-.js → wasm-DkO34hDs.js} +1 -1
- package/dist/app/assets/{web-idl-D5ZtoJL_.js → web-idl-BPq5ywx_.js} +1 -1
- package/dist/app/assets/{wiki-CorqGblj.js → wiki-DPqgO5Yt.js} +1 -1
- package/dist/app/assets/{wolfram-CfD99H8b.js → wolfram-BUOqMX2F.js} +1 -1
- package/dist/app/assets/{wren-Bxtd03-U.js → wren-KDTDLR_P.js} +1 -1
- package/dist/app/assets/{xeora-CK88z6DA.js → xeora-tlwdZtLE.js} +1 -1
- package/dist/app/assets/{xml-doc-CG1bthfs.js → xml-doc-mP74j5_p.js} +1 -1
- package/dist/app/assets/{xojo-ClNCxa3l.js → xojo-C9Z4cCIr.js} +1 -1
- package/dist/app/assets/{xquery-KJgwBO7a.js → xquery-CNxehrYO.js} +1 -1
- package/dist/app/assets/{xychartDiagram-5P7HB3ND-Cpkqm7JZ.js → xychartDiagram-5P7HB3ND-B_zEnzIh.js} +1 -1
- package/dist/app/assets/{yaml-BN5ddz6N.js → yaml-CYOcRzsc.js} +1 -1
- package/dist/app/assets/{yang-wM3Tqav1.js → yang-CdXyvG4d.js} +1 -1
- package/dist/app/assets/{zig-At4jiVd0.js → zig-DisfpEah.js} +1 -1
- package/dist/app/index.html +2 -2
- package/dist/index.cjs +681 -650
- package/dist/index.js +681 -650
- package/package.json +4 -4
- package/dist/app/assets/channel-BVeXXlex.js +0 -1
- package/dist/app/assets/classDiagram-6PBFFD2Q-Bx9mt6fp.js +0 -1
- package/dist/app/assets/classDiagram-v2-HSJHXN6E-Bx9mt6fp.js +0 -1
- package/dist/app/assets/clone-C3qA4Qv-.js +0 -1
- package/dist/app/assets/index-ByruneYs.css +0 -1
- package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-CWJp5A97.js +0 -1
package/dist/index.cjs
CHANGED
|
@@ -17095,6 +17095,13 @@ function Chat({
|
|
|
17095
17095
|
fallbackTitle: t("history.threadFallback")
|
|
17096
17096
|
});
|
|
17097
17097
|
const assistantTitle = assistantName || resolvedTitle;
|
|
17098
|
+
const layoutMaxWidth = options?.layout?.maxWidth;
|
|
17099
|
+
const chatColumnStyle = React49.useMemo(() => {
|
|
17100
|
+
if (layoutMaxWidth === void 0 || layoutMaxWidth === null || layoutMaxWidth === "") {
|
|
17101
|
+
return void 0;
|
|
17102
|
+
}
|
|
17103
|
+
return { maxWidth: layoutMaxWidth };
|
|
17104
|
+
}, [layoutMaxWidth]);
|
|
17098
17105
|
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17099
17106
|
UploadDroppedFiles,
|
|
17100
17107
|
{
|
|
@@ -17110,309 +17117,325 @@ function Chat({
|
|
|
17110
17117
|
className
|
|
17111
17118
|
),
|
|
17112
17119
|
children: [
|
|
17113
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17114
|
-
|
|
17115
|
-
|
|
17116
|
-
|
|
17117
|
-
|
|
17118
|
-
|
|
17119
|
-
|
|
17120
|
-
|
|
17121
|
-
|
|
17122
|
-
|
|
17123
|
-
|
|
17124
|
-
|
|
17125
|
-
|
|
17126
|
-
|
|
17127
|
-
|
|
17128
|
-
|
|
17129
|
-
{
|
|
17130
|
-
className: "text-lg font-semibold truncate",
|
|
17131
|
-
title: assistantTitle,
|
|
17132
|
-
children: assistantTitle
|
|
17133
|
-
}
|
|
17134
|
-
),
|
|
17135
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "text-xs text-muted-foreground", children: t("chat.statusOnline") })
|
|
17136
|
-
] })
|
|
17137
|
-
] }),
|
|
17138
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
17139
|
-
canMinimizeToPet && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17140
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "inline-flex h-8 w-8", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17141
|
-
"button",
|
|
17142
|
-
{
|
|
17143
|
-
type: "button",
|
|
17144
|
-
onClick: handleMinimizeToPet,
|
|
17145
|
-
className: cn(
|
|
17146
|
-
"flex h-8 w-8 cursor-pointer items-center justify-center rounded-md",
|
|
17147
|
-
"text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
17148
|
-
"transition-colors duration-150"
|
|
17120
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17121
|
+
"div",
|
|
17122
|
+
{
|
|
17123
|
+
"data-slot": "chatkit-chat-header",
|
|
17124
|
+
className: "mx-auto flex w-full items-center justify-between border-b p-2 sticky top-0 z-10 bg-background",
|
|
17125
|
+
style: chatColumnStyle,
|
|
17126
|
+
children: [
|
|
17127
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center gap-3 overflow-hidden", children: [
|
|
17128
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "relative shrink-0", children: [
|
|
17129
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17130
|
+
ChatkitAvatar,
|
|
17131
|
+
{
|
|
17132
|
+
avatar: assistantAvatar,
|
|
17133
|
+
className: "h-9 w-9 border border-border/60",
|
|
17134
|
+
label: assistantTitle
|
|
17135
|
+
}
|
|
17149
17136
|
),
|
|
17150
|
-
"
|
|
17151
|
-
|
|
17152
|
-
|
|
17153
|
-
|
|
17154
|
-
|
|
17155
|
-
|
|
17156
|
-
|
|
17157
|
-
|
|
17158
|
-
|
|
17159
|
-
|
|
17160
|
-
type: "button",
|
|
17161
|
-
onClick: () => setPetSettingsOpen(true),
|
|
17162
|
-
className: cn(
|
|
17163
|
-
"flex h-8 w-8 cursor-pointer items-center justify-center rounded-md",
|
|
17164
|
-
"text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
17165
|
-
"transition-colors duration-150"
|
|
17137
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "absolute bottom-0 right-0 h-2.5 w-2.5 rounded-full border-2 border-background bg-green-500" })
|
|
17138
|
+
] }),
|
|
17139
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "truncate", children: [
|
|
17140
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17141
|
+
"h2",
|
|
17142
|
+
{
|
|
17143
|
+
className: "text-lg font-semibold truncate",
|
|
17144
|
+
title: assistantTitle,
|
|
17145
|
+
children: assistantTitle
|
|
17146
|
+
}
|
|
17166
17147
|
),
|
|
17167
|
-
"
|
|
17168
|
-
|
|
17169
|
-
}
|
|
17170
|
-
) }) }),
|
|
17171
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { side: "bottom", children: t("settings.open") })
|
|
17172
|
-
] }),
|
|
17173
|
-
history?.enabled !== false && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
|
|
17174
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17175
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "inline-flex h-8 w-8", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17176
|
-
"button",
|
|
17177
|
-
{
|
|
17178
|
-
type: "button",
|
|
17179
|
-
onClick: handleNewThread,
|
|
17180
|
-
disabled: missingConfig || isHistoryLoading,
|
|
17181
|
-
className: cn(
|
|
17182
|
-
"flex h-8 w-8 cursor-pointer items-center justify-center rounded-md",
|
|
17183
|
-
"text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
17184
|
-
"transition-colors duration-150",
|
|
17185
|
-
"disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed"
|
|
17186
|
-
),
|
|
17187
|
-
"aria-label": t("history.newThread"),
|
|
17188
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Pencil, { size: 16 })
|
|
17189
|
-
}
|
|
17190
|
-
) }) }),
|
|
17191
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { side: "bottom", children: t("history.newThread") })
|
|
17148
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "text-xs text-muted-foreground", children: t("chat.statusOnline") })
|
|
17149
|
+
] })
|
|
17192
17150
|
] }),
|
|
17193
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.
|
|
17194
|
-
|
|
17195
|
-
|
|
17196
|
-
|
|
17197
|
-
|
|
17198
|
-
|
|
17199
|
-
|
|
17200
|
-
|
|
17201
|
-
|
|
17202
|
-
|
|
17203
|
-
|
|
17204
|
-
|
|
17205
|
-
|
|
17206
|
-
|
|
17207
|
-
|
|
17208
|
-
|
|
17209
|
-
|
|
17210
|
-
|
|
17211
|
-
|
|
17212
|
-
|
|
17213
|
-
|
|
17214
|
-
|
|
17215
|
-
|
|
17216
|
-
|
|
17217
|
-
|
|
17218
|
-
|
|
17219
|
-
|
|
17220
|
-
|
|
17221
|
-
|
|
17222
|
-
|
|
17223
|
-
|
|
17224
|
-
|
|
17225
|
-
|
|
17226
|
-
|
|
17151
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
17152
|
+
canMinimizeToPet && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17153
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "inline-flex h-8 w-8", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17154
|
+
"button",
|
|
17155
|
+
{
|
|
17156
|
+
type: "button",
|
|
17157
|
+
onClick: handleMinimizeToPet,
|
|
17158
|
+
className: cn(
|
|
17159
|
+
"flex h-8 w-8 cursor-pointer items-center justify-center rounded-md",
|
|
17160
|
+
"text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
17161
|
+
"transition-colors duration-150"
|
|
17162
|
+
),
|
|
17163
|
+
"aria-label": t("chat.minimizeToPet"),
|
|
17164
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Minus, { size: 16 })
|
|
17165
|
+
}
|
|
17166
|
+
) }) }),
|
|
17167
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { side: "bottom", children: t("chat.minimizeToPet") })
|
|
17168
|
+
] }),
|
|
17169
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17170
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "inline-flex h-8 w-8", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17171
|
+
"button",
|
|
17172
|
+
{
|
|
17173
|
+
type: "button",
|
|
17174
|
+
onClick: () => setPetSettingsOpen(true),
|
|
17175
|
+
className: cn(
|
|
17176
|
+
"flex h-8 w-8 cursor-pointer items-center justify-center rounded-md",
|
|
17177
|
+
"text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
17178
|
+
"transition-colors duration-150"
|
|
17179
|
+
),
|
|
17180
|
+
"aria-label": t("settings.open"),
|
|
17181
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Settings, { size: 16 })
|
|
17182
|
+
}
|
|
17183
|
+
) }) }),
|
|
17184
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { side: "bottom", children: t("settings.open") })
|
|
17185
|
+
] }),
|
|
17186
|
+
history?.enabled !== false && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
|
|
17187
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17188
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "inline-flex h-8 w-8", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17189
|
+
"button",
|
|
17190
|
+
{
|
|
17191
|
+
type: "button",
|
|
17192
|
+
onClick: handleNewThread,
|
|
17193
|
+
disabled: missingConfig || isHistoryLoading,
|
|
17194
|
+
className: cn(
|
|
17195
|
+
"flex h-8 w-8 cursor-pointer items-center justify-center rounded-md",
|
|
17196
|
+
"text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
17197
|
+
"transition-colors duration-150",
|
|
17198
|
+
"disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed"
|
|
17199
|
+
),
|
|
17200
|
+
"aria-label": t("history.newThread"),
|
|
17201
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Pencil, { size: 16 })
|
|
17202
|
+
}
|
|
17203
|
+
) }) }),
|
|
17204
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { side: "bottom", children: t("history.newThread") })
|
|
17205
|
+
] }),
|
|
17206
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17207
|
+
HistorySidebar,
|
|
17208
|
+
{
|
|
17209
|
+
threads,
|
|
17210
|
+
currentThreadId: stream.threadId ?? void 0,
|
|
17211
|
+
onNewThread: handleNewThread,
|
|
17212
|
+
onSelectThread: handleSelectThread,
|
|
17213
|
+
onDeleteThread: handleDeleteThread,
|
|
17214
|
+
showDelete: history?.showDelete !== false,
|
|
17215
|
+
disabled: missingConfig || isThreadsLoading || isHistoryLoading
|
|
17216
|
+
}
|
|
17217
|
+
)
|
|
17218
|
+
] })
|
|
17219
|
+
] })
|
|
17220
|
+
]
|
|
17221
|
+
}
|
|
17222
|
+
),
|
|
17223
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17224
|
+
"div",
|
|
17225
|
+
{
|
|
17226
|
+
"data-slot": "chatkit-chat-content",
|
|
17227
|
+
className: "mx-auto w-full flex-1 p-4",
|
|
17228
|
+
style: chatColumnStyle,
|
|
17229
|
+
children: [
|
|
17230
|
+
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "mb-4 rounded-lg border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive", children: errorMessage }),
|
|
17231
|
+
historyError && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "mb-4 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900", children: historyError }),
|
|
17232
|
+
showMissingConfig && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "mb-4 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900", children: missingConfigDetailMessage }),
|
|
17233
|
+
isHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "mb-4 rounded-lg border border-muted px-3 py-2 text-sm text-muted-foreground", children: t("chat.loadingThread") }),
|
|
17234
|
+
messages.length === 0 && !canLoadMoreMessages ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17235
|
+
StartScreen,
|
|
17227
17236
|
{
|
|
17228
|
-
|
|
17229
|
-
|
|
17230
|
-
|
|
17231
|
-
|
|
17232
|
-
|
|
17233
|
-
className: "h-7 px-2 text-xs font-medium text-muted-foreground hover:text-foreground",
|
|
17234
|
-
children: isLoadingMoreMessages ? t("chat.loadingMoreMessages") : t("chat.loadMoreMessages")
|
|
17237
|
+
startScreen,
|
|
17238
|
+
onPromptClick: handlePromptClick,
|
|
17239
|
+
onPromptEdit: handlePromptEdit,
|
|
17240
|
+
promptSendDisabled: isSubmissionBlocked,
|
|
17241
|
+
promptEditDisabled: isPromptEditDisabled
|
|
17235
17242
|
}
|
|
17236
|
-
),
|
|
17237
|
-
|
|
17238
|
-
|
|
17239
|
-
|
|
17240
|
-
|
|
17241
|
-
|
|
17242
|
-
|
|
17243
|
-
|
|
17244
|
-
|
|
17245
|
-
|
|
17246
|
-
|
|
17247
|
-
|
|
17248
|
-
|
|
17249
|
-
|
|
17250
|
-
) : null;
|
|
17251
|
-
if (isAssistantMessage && !hasRenderableAssistantMessage(message) && !streamingStatus) {
|
|
17252
|
-
return null;
|
|
17253
|
-
}
|
|
17254
|
-
const messageContent = typeof message.content === "string" ? message.content : Array.isArray(message.content) ? message.content.map((part) => formatMessageContent(part)).join("") : formatMessageContent(message.content);
|
|
17255
|
-
const hasPlainRenderableContent = messageContent.trim().length > 0;
|
|
17256
|
-
const humanMessage = message;
|
|
17257
|
-
const humanReferences = humanMessage.references ?? [];
|
|
17258
|
-
const humanAttachments = [
|
|
17259
|
-
...humanMessage.fileAssets ?? [],
|
|
17260
|
-
...humanMessage.attachments ?? []
|
|
17261
|
-
];
|
|
17262
|
-
const humanRuntimeCapabilityOptions = message.type === "human" ? humanMessage.runtimeCapabilityOptions ?? getSelectedRuntimeCapabilityOptions(
|
|
17263
|
-
getRecommendedRuntimeCapabilitiesSelection(
|
|
17264
|
-
humanMessage.runtimeCapabilities
|
|
17265
|
-
),
|
|
17266
|
-
runtimeCapabilityOptions
|
|
17267
|
-
) : [];
|
|
17268
|
-
const hasHumanAttachments = message.type === "human" && humanAttachments.length > 0;
|
|
17269
|
-
const canQuoteMessage = message.type === "human" || isAssistantMessage;
|
|
17270
|
-
const quoteSource = message.type === "human" ? t("chat.youLabel") : assistantTitle;
|
|
17271
|
-
if (!isAssistantMessage && !hasPlainRenderableContent && !hasHumanAttachments && humanRuntimeCapabilityOptions.length === 0 && humanReferences.length === 0) {
|
|
17272
|
-
return null;
|
|
17273
|
-
}
|
|
17274
|
-
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17275
|
-
"div",
|
|
17276
|
-
{
|
|
17277
|
-
className: cn(
|
|
17278
|
-
"group flex gap-3",
|
|
17279
|
-
message.type === "human" ? "justify-end" : "justify-start -ml-1"
|
|
17280
|
-
// AI messages: slightly closer to left
|
|
17243
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "space-y-4", children: [
|
|
17244
|
+
canLoadMoreMessages && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center gap-3 py-1", children: [
|
|
17245
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "h-px min-w-8 flex-1 bg-border" }),
|
|
17246
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17247
|
+
Button,
|
|
17248
|
+
{
|
|
17249
|
+
type: "button",
|
|
17250
|
+
variant: "ghost",
|
|
17251
|
+
size: "sm",
|
|
17252
|
+
onClick: handleLoadMoreMessages,
|
|
17253
|
+
disabled: isLoadingMoreMessages,
|
|
17254
|
+
className: "h-7 px-2 text-xs font-medium text-muted-foreground hover:text-foreground",
|
|
17255
|
+
children: isLoadingMoreMessages ? t("chat.loadingMoreMessages") : t("chat.loadMoreMessages")
|
|
17256
|
+
}
|
|
17281
17257
|
),
|
|
17282
|
-
|
|
17258
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "h-px min-w-8 flex-1 bg-border" })
|
|
17259
|
+
] }),
|
|
17260
|
+
messages.map((message, index) => {
|
|
17261
|
+
const messageType = String(message.type);
|
|
17262
|
+
const isAssistantMessage = messageType === "assistant" || messageType === "ai";
|
|
17263
|
+
const isStreamingMessage = stream.isLoading && index === messages.length - 1;
|
|
17264
|
+
const streamingStatus = isAssistantMessage ? getAssistantStreamingStatus(
|
|
17265
|
+
{
|
|
17266
|
+
...message,
|
|
17267
|
+
lastStreamOutputAt: lastStreamOutputAtRef.current
|
|
17268
|
+
},
|
|
17269
|
+
isStreamingMessage,
|
|
17270
|
+
{ now: streamingNow }
|
|
17271
|
+
) : null;
|
|
17272
|
+
if (isAssistantMessage && !hasRenderableAssistantMessage(message) && !streamingStatus) {
|
|
17273
|
+
return null;
|
|
17274
|
+
}
|
|
17275
|
+
const messageContent = typeof message.content === "string" ? message.content : Array.isArray(message.content) ? message.content.map((part) => formatMessageContent(part)).join("") : formatMessageContent(message.content);
|
|
17276
|
+
const hasPlainRenderableContent = messageContent.trim().length > 0;
|
|
17277
|
+
const humanMessage = message;
|
|
17278
|
+
const humanReferences = humanMessage.references ?? [];
|
|
17279
|
+
const humanAttachments = [
|
|
17280
|
+
...humanMessage.fileAssets ?? [],
|
|
17281
|
+
...humanMessage.attachments ?? []
|
|
17282
|
+
];
|
|
17283
|
+
const humanRuntimeCapabilityOptions = message.type === "human" ? humanMessage.runtimeCapabilityOptions ?? getSelectedRuntimeCapabilityOptions(
|
|
17284
|
+
getRecommendedRuntimeCapabilitiesSelection(
|
|
17285
|
+
humanMessage.runtimeCapabilities
|
|
17286
|
+
),
|
|
17287
|
+
runtimeCapabilityOptions
|
|
17288
|
+
) : [];
|
|
17289
|
+
const hasHumanAttachments = message.type === "human" && humanAttachments.length > 0;
|
|
17290
|
+
const canQuoteMessage = message.type === "human" || isAssistantMessage;
|
|
17291
|
+
const quoteSource = message.type === "human" ? t("chat.youLabel") : assistantTitle;
|
|
17292
|
+
if (!isAssistantMessage && !hasPlainRenderableContent && !hasHumanAttachments && humanRuntimeCapabilityOptions.length === 0 && humanReferences.length === 0) {
|
|
17293
|
+
return null;
|
|
17294
|
+
}
|
|
17295
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17283
17296
|
"div",
|
|
17284
17297
|
{
|
|
17285
17298
|
className: cn(
|
|
17286
|
-
"
|
|
17287
|
-
|
|
17299
|
+
"group flex gap-3",
|
|
17300
|
+
message.type === "human" ? "justify-end" : "justify-start -ml-1"
|
|
17301
|
+
// AI messages: slightly closer to left
|
|
17288
17302
|
),
|
|
17289
|
-
children:
|
|
17290
|
-
|
|
17291
|
-
|
|
17292
|
-
|
|
17293
|
-
|
|
17294
|
-
|
|
17295
|
-
|
|
17296
|
-
|
|
17297
|
-
|
|
17298
|
-
"
|
|
17299
|
-
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"
|
|
17300
|
-
// AI messages: use chat-specific foreground color
|
|
17301
|
-
),
|
|
17302
|
-
children: isAssistantMessage ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17303
|
-
AssistantMessage,
|
|
17303
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17304
|
+
"div",
|
|
17305
|
+
{
|
|
17306
|
+
className: cn(
|
|
17307
|
+
"flex flex-col px-3 overflow-hidden",
|
|
17308
|
+
isAssistantMessage && "min-w-0 flex-1"
|
|
17309
|
+
),
|
|
17310
|
+
children: [
|
|
17311
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17312
|
+
"div",
|
|
17304
17313
|
{
|
|
17305
|
-
|
|
17306
|
-
|
|
17307
|
-
|
|
17308
|
-
},
|
|
17309
|
-
|
|
17310
|
-
|
|
17311
|
-
|
|
17312
|
-
|
|
17313
|
-
})
|
|
17314
|
+
...canQuoteMessage ? {
|
|
17315
|
+
"data-quote-message-id": message.id,
|
|
17316
|
+
"data-quote-source": quoteSource
|
|
17317
|
+
} : {},
|
|
17318
|
+
className: cn(
|
|
17319
|
+
"max-w-full rounded-2xl",
|
|
17320
|
+
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"
|
|
17321
|
+
// AI messages: use chat-specific foreground color
|
|
17314
17322
|
),
|
|
17323
|
+
children: isAssistantMessage ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17324
|
+
AssistantMessage,
|
|
17325
|
+
{
|
|
17326
|
+
message: {
|
|
17327
|
+
...message,
|
|
17328
|
+
type: "assistant"
|
|
17329
|
+
},
|
|
17330
|
+
messages: messages.slice(0, index + 1).map(
|
|
17331
|
+
(item) => ({
|
|
17332
|
+
...item,
|
|
17333
|
+
type: String(item.type) === "ai" ? "assistant" : item.type
|
|
17334
|
+
})
|
|
17335
|
+
),
|
|
17336
|
+
isStreaming: isStreamingMessage,
|
|
17337
|
+
streamingStatus,
|
|
17338
|
+
isThreadRunning: currentThreadIsRunning,
|
|
17339
|
+
organizationId: stream.organizationId,
|
|
17340
|
+
apiUrl: stream.apiUrl
|
|
17341
|
+
}
|
|
17342
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
|
|
17343
|
+
message.type === "human" && humanRuntimeCapabilityOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "mb-2 flex flex-wrap gap-1.5", children: humanRuntimeCapabilityOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17344
|
+
"span",
|
|
17345
|
+
{
|
|
17346
|
+
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",
|
|
17347
|
+
children: [
|
|
17348
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17349
|
+
RuntimeCapabilityIcon,
|
|
17350
|
+
{
|
|
17351
|
+
option,
|
|
17352
|
+
variant: "chip"
|
|
17353
|
+
}
|
|
17354
|
+
),
|
|
17355
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "max-w-[9rem] truncate", children: option.label })
|
|
17356
|
+
]
|
|
17357
|
+
},
|
|
17358
|
+
`${option.type}:${option.id}`
|
|
17359
|
+
)) }),
|
|
17360
|
+
message.type === "human" && humanReferences.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "mb-2 flex flex-wrap gap-1.5", children: humanReferences.map((reference) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17361
|
+
ReferenceChip,
|
|
17362
|
+
{
|
|
17363
|
+
reference,
|
|
17364
|
+
variant: "message"
|
|
17365
|
+
},
|
|
17366
|
+
getReferenceKey(reference)
|
|
17367
|
+
)) }),
|
|
17368
|
+
message.type === "human" && humanAttachments.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex flex-wrap gap-1.5 mb-2", children: humanAttachments.map((file, fileIndex) => /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17369
|
+
"div",
|
|
17370
|
+
{
|
|
17371
|
+
className: "flex items-center gap-1.5 rounded-md bg-primary-foreground/20 px-2 py-1 text-xs",
|
|
17372
|
+
children: [
|
|
17373
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.FileText, { size: 12 }),
|
|
17374
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "max-w-[100px] truncate", children: file.originalName ?? file.id })
|
|
17375
|
+
]
|
|
17376
|
+
},
|
|
17377
|
+
fileIndex
|
|
17378
|
+
)) }),
|
|
17379
|
+
Array.isArray(message.content) ? message.content.map((part, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17380
|
+
"p",
|
|
17381
|
+
{
|
|
17382
|
+
className: "wrap-break-word text-sm leading-relaxed",
|
|
17383
|
+
children: formatMessageContent(part)
|
|
17384
|
+
},
|
|
17385
|
+
`${part.type}-${partIndex}`
|
|
17386
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "wrap-break-word text-sm leading-relaxed", children: formatMessageContent(message.content) })
|
|
17387
|
+
] })
|
|
17388
|
+
}
|
|
17389
|
+
),
|
|
17390
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17391
|
+
MessageActions,
|
|
17392
|
+
{
|
|
17393
|
+
content: messageContent,
|
|
17394
|
+
isAssistant: isAssistantMessage,
|
|
17315
17395
|
isStreaming: isStreamingMessage,
|
|
17316
|
-
|
|
17317
|
-
isThreadRunning: currentThreadIsRunning,
|
|
17318
|
-
organizationId: stream.organizationId,
|
|
17319
|
-
apiUrl: stream.apiUrl
|
|
17396
|
+
onRetry: isAssistantMessage && !stream.isLoading && index === messages.length - 1 ? () => handleRetry(index) : void 0
|
|
17320
17397
|
}
|
|
17321
|
-
)
|
|
17322
|
-
|
|
17323
|
-
|
|
17324
|
-
|
|
17325
|
-
|
|
17326
|
-
|
|
17327
|
-
|
|
17328
|
-
|
|
17329
|
-
|
|
17330
|
-
|
|
17331
|
-
|
|
17332
|
-
|
|
17333
|
-
|
|
17334
|
-
|
|
17335
|
-
|
|
17336
|
-
|
|
17337
|
-
|
|
17338
|
-
|
|
17339
|
-
|
|
17340
|
-
|
|
17341
|
-
|
|
17342
|
-
|
|
17343
|
-
|
|
17344
|
-
|
|
17345
|
-
|
|
17346
|
-
|
|
17347
|
-
|
|
17348
|
-
|
|
17349
|
-
|
|
17350
|
-
|
|
17351
|
-
|
|
17352
|
-
|
|
17353
|
-
|
|
17354
|
-
|
|
17355
|
-
},
|
|
17356
|
-
fileIndex
|
|
17357
|
-
)) }),
|
|
17358
|
-
Array.isArray(message.content) ? message.content.map((part, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17359
|
-
"p",
|
|
17360
|
-
{
|
|
17361
|
-
className: "wrap-break-word text-sm leading-relaxed",
|
|
17362
|
-
children: formatMessageContent(part)
|
|
17363
|
-
},
|
|
17364
|
-
`${part.type}-${partIndex}`
|
|
17365
|
-
)) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "wrap-break-word text-sm leading-relaxed", children: formatMessageContent(message.content) })
|
|
17366
|
-
] })
|
|
17367
|
-
}
|
|
17368
|
-
),
|
|
17369
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17370
|
-
MessageActions,
|
|
17371
|
-
{
|
|
17372
|
-
content: messageContent,
|
|
17373
|
-
isAssistant: isAssistantMessage,
|
|
17374
|
-
isStreaming: isStreamingMessage,
|
|
17375
|
-
onRetry: isAssistantMessage && !stream.isLoading && index === messages.length - 1 ? () => handleRetry(index) : void 0
|
|
17376
|
-
}
|
|
17377
|
-
)
|
|
17378
|
-
]
|
|
17398
|
+
)
|
|
17399
|
+
]
|
|
17400
|
+
}
|
|
17401
|
+
)
|
|
17402
|
+
},
|
|
17403
|
+
message.id ?? `${message.type}-${index}`
|
|
17404
|
+
);
|
|
17405
|
+
}),
|
|
17406
|
+
showLoadingDots && (() => {
|
|
17407
|
+
const lastMessage = messages[messages.length - 1];
|
|
17408
|
+
const lastMessageType = lastMessage ? String(lastMessage.type) : "";
|
|
17409
|
+
const isLastMessageFromAI = lastMessageType === "ai" || lastMessageType === "assistant";
|
|
17410
|
+
const lastAssistantStatus = isLastMessageFromAI ? getAssistantStreamingStatus(
|
|
17411
|
+
{
|
|
17412
|
+
...lastMessage,
|
|
17413
|
+
lastStreamOutputAt: lastStreamOutputAtRef.current
|
|
17414
|
+
},
|
|
17415
|
+
stream.isLoading,
|
|
17416
|
+
{ now: streamingNow }
|
|
17417
|
+
) : null;
|
|
17418
|
+
if (lastAssistantStatus) return null;
|
|
17419
|
+
const fallbackStreamingStatus = getAssistantStreamingStatus(
|
|
17420
|
+
{
|
|
17421
|
+
status: void 0,
|
|
17422
|
+
reasoning: void 0,
|
|
17423
|
+
lastStreamOutputAt: lastStreamOutputAtRef.current
|
|
17424
|
+
},
|
|
17425
|
+
stream.isLoading,
|
|
17426
|
+
{ now: streamingNow }
|
|
17427
|
+
);
|
|
17428
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex justify-start gap-3 -ml-2", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "max-w-full rounded-2xl py-2.5", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17429
|
+
AssistantStreamingIndicator,
|
|
17430
|
+
{
|
|
17431
|
+
status: fallbackStreamingStatus ?? "loading"
|
|
17379
17432
|
}
|
|
17380
|
-
)
|
|
17381
|
-
}
|
|
17382
|
-
|
|
17383
|
-
|
|
17384
|
-
|
|
17385
|
-
|
|
17386
|
-
const lastMessage = messages[messages.length - 1];
|
|
17387
|
-
const lastMessageType = lastMessage ? String(lastMessage.type) : "";
|
|
17388
|
-
const isLastMessageFromAI = lastMessageType === "ai" || lastMessageType === "assistant";
|
|
17389
|
-
const lastAssistantStatus = isLastMessageFromAI ? getAssistantStreamingStatus(
|
|
17390
|
-
{
|
|
17391
|
-
...lastMessage,
|
|
17392
|
-
lastStreamOutputAt: lastStreamOutputAtRef.current
|
|
17393
|
-
},
|
|
17394
|
-
stream.isLoading,
|
|
17395
|
-
{ now: streamingNow }
|
|
17396
|
-
) : null;
|
|
17397
|
-
if (lastAssistantStatus) return null;
|
|
17398
|
-
const fallbackStreamingStatus = getAssistantStreamingStatus(
|
|
17399
|
-
{
|
|
17400
|
-
status: void 0,
|
|
17401
|
-
reasoning: void 0,
|
|
17402
|
-
lastStreamOutputAt: lastStreamOutputAtRef.current
|
|
17403
|
-
},
|
|
17404
|
-
stream.isLoading,
|
|
17405
|
-
{ now: streamingNow }
|
|
17406
|
-
);
|
|
17407
|
-
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex justify-start gap-3 -ml-2", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "max-w-full rounded-2xl py-2.5", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17408
|
-
AssistantStreamingIndicator,
|
|
17409
|
-
{
|
|
17410
|
-
status: fallbackStreamingStatus ?? "loading"
|
|
17411
|
-
}
|
|
17412
|
-
) }) });
|
|
17413
|
-
})()
|
|
17414
|
-
] })
|
|
17415
|
-
] }),
|
|
17433
|
+
) }) });
|
|
17434
|
+
})()
|
|
17435
|
+
] })
|
|
17436
|
+
]
|
|
17437
|
+
}
|
|
17438
|
+
),
|
|
17416
17439
|
!isAtBottom && messages.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "sticky bottom-20 z-20 flex justify-center px-4 pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17417
17440
|
Button,
|
|
17418
17441
|
{
|
|
@@ -17457,386 +17480,394 @@ function Chat({
|
|
|
17457
17480
|
)
|
|
17458
17481
|
}
|
|
17459
17482
|
),
|
|
17460
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17461
|
-
|
|
17462
|
-
|
|
17463
|
-
|
|
17464
|
-
|
|
17465
|
-
|
|
17466
|
-
|
|
17467
|
-
|
|
17468
|
-
|
|
17469
|
-
|
|
17470
|
-
|
|
17471
|
-
|
|
17472
|
-
|
|
17473
|
-
|
|
17474
|
-
|
|
17475
|
-
|
|
17476
|
-
|
|
17477
|
-
|
|
17478
|
-
|
|
17479
|
-
|
|
17480
|
-
|
|
17481
|
-
onRemove: () => setReferences(
|
|
17482
|
-
(previous) => previous.filter(
|
|
17483
|
-
(item) => getReferenceKey(item) !== getReferenceKey(reference)
|
|
17484
|
-
)
|
|
17485
|
-
),
|
|
17486
|
-
removeLabel: t("composer.removeReference")
|
|
17487
|
-
},
|
|
17488
|
-
getReferenceKey(reference)
|
|
17489
|
-
)) }),
|
|
17490
|
-
detachedRunRuntimeCapabilityOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "mb-2 flex flex-wrap items-center gap-2", children: [
|
|
17491
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-xs text-muted-foreground", children: t("composer.capabilities.runOnly") }),
|
|
17492
|
-
detachedRunRuntimeCapabilityOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17493
|
-
"span",
|
|
17494
|
-
{
|
|
17495
|
-
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",
|
|
17496
|
-
children: [
|
|
17497
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(RuntimeCapabilityIcon, { option, variant: "chip" }),
|
|
17498
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "max-w-40 truncate", children: option.label }),
|
|
17499
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17500
|
-
"button",
|
|
17501
|
-
{
|
|
17502
|
-
type: "button",
|
|
17503
|
-
onClick: () => removeRunRuntimeCapability(option),
|
|
17504
|
-
className: "rounded-full p-0.5 hover:bg-primary/15",
|
|
17505
|
-
title: t("composer.capabilities.removeRunCapability"),
|
|
17506
|
-
"aria-label": t("composer.capabilities.removeRunCapability"),
|
|
17507
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.X, { size: 11 })
|
|
17508
|
-
}
|
|
17509
|
-
)
|
|
17510
|
-
]
|
|
17511
|
-
},
|
|
17512
|
-
`${option.type}:${option.id}`
|
|
17513
|
-
))
|
|
17514
|
-
] }),
|
|
17515
|
-
showGoalStatus && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17516
|
-
"div",
|
|
17517
|
-
{
|
|
17518
|
-
className: cn(
|
|
17519
|
-
"mb-2 flex min-h-10 gap-2 rounded-md border border-border bg-background px-2.5 py-2 text-xs text-foreground shadow-sm",
|
|
17520
|
-
isGoalObjectiveExpanded ? "items-start" : "items-center"
|
|
17483
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17484
|
+
"div",
|
|
17485
|
+
{
|
|
17486
|
+
"data-slot": "chatkit-chat-composer",
|
|
17487
|
+
className: "mx-auto w-full p-2 sticky bottom-0 z-10 bg-background",
|
|
17488
|
+
style: chatColumnStyle,
|
|
17489
|
+
children: [
|
|
17490
|
+
threadErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("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 }),
|
|
17491
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17492
|
+
ChatAttachments,
|
|
17493
|
+
{
|
|
17494
|
+
ref: attachmentsRef,
|
|
17495
|
+
accept: acceptMimes,
|
|
17496
|
+
maxCount: composer?.attachments?.maxCount ?? 10,
|
|
17497
|
+
maxSize: composer?.attachments?.maxSize ?? 100 * 1024 * 1024,
|
|
17498
|
+
retryUploadLabel: t("chat.retryUpload"),
|
|
17499
|
+
uploadFile: uploadContextFile,
|
|
17500
|
+
deleteFile: deleteContextFile,
|
|
17501
|
+
getFileStatus: getContextFileStatus,
|
|
17502
|
+
onStateChange: setAttachmentState
|
|
17503
|
+
}
|
|
17521
17504
|
),
|
|
17522
|
-
children:
|
|
17523
|
-
|
|
17524
|
-
|
|
17525
|
-
|
|
17526
|
-
|
|
17527
|
-
|
|
17528
|
-
|
|
17505
|
+
references.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "mb-3 flex flex-wrap gap-2", children: references.map((reference) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17506
|
+
ReferenceChip,
|
|
17507
|
+
{
|
|
17508
|
+
reference,
|
|
17509
|
+
variant: "composer",
|
|
17510
|
+
onRemove: () => setReferences(
|
|
17511
|
+
(previous) => previous.filter(
|
|
17512
|
+
(item) => getReferenceKey(item) !== getReferenceKey(reference)
|
|
17529
17513
|
)
|
|
17530
|
-
}
|
|
17531
|
-
),
|
|
17532
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
17533
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
17534
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-medium", children: t("chat.goal.label") }),
|
|
17535
|
-
threadGoal && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "shrink-0 rounded-md bg-muted px-1.5 py-0.5 text-[11px] text-muted-foreground", children: t(`chat.goal.status.${threadGoal.status}`) }),
|
|
17536
|
-
isGoalLoading && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Loader2, { className: "size-3 animate-spin text-muted-foreground" })
|
|
17537
|
-
] }),
|
|
17538
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17539
|
-
"div",
|
|
17540
|
-
{
|
|
17541
|
-
className: cn(
|
|
17542
|
-
"mt-0.5 text-muted-foreground",
|
|
17543
|
-
threadGoal?.objective && !goalError && isGoalObjectiveExpanded ? "whitespace-pre-wrap break-words" : "truncate"
|
|
17544
|
-
),
|
|
17545
|
-
children: goalError || threadGoal?.objective
|
|
17546
|
-
}
|
|
17547
17514
|
),
|
|
17548
|
-
|
|
17549
|
-
|
|
17550
|
-
|
|
17551
|
-
|
|
17552
|
-
|
|
17553
|
-
|
|
17554
|
-
|
|
17555
|
-
|
|
17515
|
+
removeLabel: t("composer.removeReference")
|
|
17516
|
+
},
|
|
17517
|
+
getReferenceKey(reference)
|
|
17518
|
+
)) }),
|
|
17519
|
+
detachedRunRuntimeCapabilityOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "mb-2 flex flex-wrap items-center gap-2", children: [
|
|
17520
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-xs text-muted-foreground", children: t("composer.capabilities.runOnly") }),
|
|
17521
|
+
detachedRunRuntimeCapabilityOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17522
|
+
"span",
|
|
17523
|
+
{
|
|
17524
|
+
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",
|
|
17525
|
+
children: [
|
|
17526
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(RuntimeCapabilityIcon, { option, variant: "chip" }),
|
|
17527
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "max-w-40 truncate", children: option.label }),
|
|
17528
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17529
|
+
"button",
|
|
17530
|
+
{
|
|
17531
|
+
type: "button",
|
|
17532
|
+
onClick: () => removeRunRuntimeCapability(option),
|
|
17533
|
+
className: "rounded-full p-0.5 hover:bg-primary/15",
|
|
17534
|
+
title: t("composer.capabilities.removeRunCapability"),
|
|
17535
|
+
"aria-label": t("composer.capabilities.removeRunCapability"),
|
|
17536
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.X, { size: 11 })
|
|
17537
|
+
}
|
|
17538
|
+
)
|
|
17539
|
+
]
|
|
17540
|
+
},
|
|
17541
|
+
`${option.type}:${option.id}`
|
|
17542
|
+
))
|
|
17543
|
+
] }),
|
|
17544
|
+
showGoalStatus && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17545
|
+
"div",
|
|
17546
|
+
{
|
|
17547
|
+
className: cn(
|
|
17548
|
+
"mb-2 flex min-h-10 gap-2 rounded-md border border-border bg-background px-2.5 py-2 text-xs text-foreground shadow-sm",
|
|
17549
|
+
isGoalObjectiveExpanded ? "items-start" : "items-center"
|
|
17550
|
+
),
|
|
17551
|
+
children: [
|
|
17552
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17553
|
+
import_lucide_react29.Target,
|
|
17556
17554
|
{
|
|
17557
|
-
|
|
17558
|
-
|
|
17559
|
-
|
|
17560
|
-
|
|
17561
|
-
onClick: () => {
|
|
17562
|
-
const prefix = "/goal edit ";
|
|
17563
|
-
setComposerText(`${prefix}${threadGoal.objective}`);
|
|
17564
|
-
},
|
|
17565
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Pencil, { className: "size-3" })
|
|
17555
|
+
className: cn(
|
|
17556
|
+
"size-4 shrink-0 text-muted-foreground",
|
|
17557
|
+
isGoalObjectiveExpanded && "mt-1"
|
|
17558
|
+
)
|
|
17566
17559
|
}
|
|
17567
|
-
)
|
|
17568
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.
|
|
17569
|
-
|
|
17570
|
-
|
|
17571
|
-
|
|
17572
|
-
|
|
17573
|
-
|
|
17574
|
-
|
|
17575
|
-
|
|
17576
|
-
|
|
17577
|
-
|
|
17578
|
-
|
|
17579
|
-
|
|
17580
|
-
|
|
17581
|
-
|
|
17582
|
-
|
|
17583
|
-
|
|
17584
|
-
|
|
17560
|
+
),
|
|
17561
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
17562
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
17563
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "font-medium", children: t("chat.goal.label") }),
|
|
17564
|
+
threadGoal && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "shrink-0 rounded-md bg-muted px-1.5 py-0.5 text-[11px] text-muted-foreground", children: t(`chat.goal.status.${threadGoal.status}`) }),
|
|
17565
|
+
isGoalLoading && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Loader2, { className: "size-3 animate-spin text-muted-foreground" })
|
|
17566
|
+
] }),
|
|
17567
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17568
|
+
"div",
|
|
17569
|
+
{
|
|
17570
|
+
className: cn(
|
|
17571
|
+
"mt-0.5 text-muted-foreground",
|
|
17572
|
+
threadGoal?.objective && !goalError && isGoalObjectiveExpanded ? "whitespace-pre-wrap break-words" : "truncate"
|
|
17573
|
+
),
|
|
17574
|
+
children: goalError || threadGoal?.objective
|
|
17575
|
+
}
|
|
17576
|
+
),
|
|
17577
|
+
threadGoal && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-muted-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { children: t("chat.goal.elapsed", {
|
|
17578
|
+
elapsed: formatGoalElapsed(displayedGoalElapsedSeconds)
|
|
17579
|
+
}) }) })
|
|
17580
|
+
] }),
|
|
17581
|
+
threadGoal && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex shrink-0 items-center gap-1", children: [
|
|
17582
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17583
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17584
|
+
Button,
|
|
17585
|
+
{
|
|
17586
|
+
type: "button",
|
|
17587
|
+
variant: "ghost",
|
|
17588
|
+
size: "icon-xs",
|
|
17589
|
+
disabled: isGoalLoading,
|
|
17590
|
+
onClick: () => {
|
|
17591
|
+
const prefix = "/goal edit ";
|
|
17592
|
+
setComposerText(`${prefix}${threadGoal.objective}`);
|
|
17593
|
+
},
|
|
17594
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Pencil, { className: "size-3" })
|
|
17585
17595
|
}
|
|
17586
|
-
}),
|
|
17587
|
-
|
|
17588
|
-
}
|
|
17589
|
-
|
|
17590
|
-
|
|
17591
|
-
|
|
17592
|
-
|
|
17593
|
-
|
|
17594
|
-
|
|
17595
|
-
|
|
17596
|
-
|
|
17597
|
-
|
|
17598
|
-
|
|
17599
|
-
|
|
17600
|
-
|
|
17601
|
-
|
|
17602
|
-
|
|
17603
|
-
|
|
17604
|
-
|
|
17605
|
-
|
|
17606
|
-
|
|
17596
|
+
) }),
|
|
17597
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { children: t("chat.goal.edit") })
|
|
17598
|
+
] }),
|
|
17599
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17600
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17601
|
+
Button,
|
|
17602
|
+
{
|
|
17603
|
+
type: "button",
|
|
17604
|
+
variant: "ghost",
|
|
17605
|
+
size: "icon-xs",
|
|
17606
|
+
disabled: isGoalLoading,
|
|
17607
|
+
onClick: () => void handleGoalCommand({
|
|
17608
|
+
args: threadGoal.status === "paused" ? "resume" : "pause",
|
|
17609
|
+
commandSource: {
|
|
17610
|
+
type: "slash_command",
|
|
17611
|
+
name: "goal",
|
|
17612
|
+
source: "runtime",
|
|
17613
|
+
executionType: "insert_invocation"
|
|
17614
|
+
}
|
|
17615
|
+
}),
|
|
17616
|
+
children: threadGoal.status === "paused" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Play, { className: "size-3" }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Pause, { className: "size-3" })
|
|
17607
17617
|
}
|
|
17608
|
-
}),
|
|
17609
|
-
|
|
17610
|
-
}
|
|
17611
|
-
|
|
17612
|
-
|
|
17613
|
-
|
|
17614
|
-
threadGoal.objective && !goalError && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17615
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17616
|
-
Button,
|
|
17617
|
-
{
|
|
17618
|
-
type: "button",
|
|
17619
|
-
variant: "ghost",
|
|
17620
|
-
size: "icon-xs",
|
|
17621
|
-
"aria-expanded": isGoalObjectiveExpanded,
|
|
17622
|
-
"aria-label": isGoalObjectiveExpanded ? t("chat.goal.collapseObjective") : t("chat.goal.expandObjective"),
|
|
17623
|
-
onClick: () => setIsGoalObjectiveExpanded((expanded) => !expanded),
|
|
17624
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17625
|
-
import_lucide_react29.ChevronDown,
|
|
17618
|
+
) }),
|
|
17619
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { children: threadGoal.status === "paused" ? t("chat.goal.resume") : t("chat.goal.pause") })
|
|
17620
|
+
] }),
|
|
17621
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17622
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17623
|
+
Button,
|
|
17626
17624
|
{
|
|
17627
|
-
|
|
17628
|
-
|
|
17629
|
-
|
|
17630
|
-
|
|
17625
|
+
type: "button",
|
|
17626
|
+
variant: "ghost",
|
|
17627
|
+
size: "icon-xs",
|
|
17628
|
+
disabled: isGoalLoading,
|
|
17629
|
+
onClick: () => void handleGoalCommand({
|
|
17630
|
+
args: "clear",
|
|
17631
|
+
commandSource: {
|
|
17632
|
+
type: "slash_command",
|
|
17633
|
+
name: "goal",
|
|
17634
|
+
source: "runtime",
|
|
17635
|
+
executionType: "insert_invocation"
|
|
17636
|
+
}
|
|
17637
|
+
}),
|
|
17638
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.Trash2, { className: "size-3" })
|
|
17631
17639
|
}
|
|
17632
|
-
)
|
|
17633
|
-
|
|
17634
|
-
|
|
17635
|
-
|
|
17636
|
-
|
|
17637
|
-
|
|
17638
|
-
|
|
17639
|
-
|
|
17640
|
-
|
|
17641
|
-
|
|
17642
|
-
|
|
17643
|
-
|
|
17644
|
-
|
|
17645
|
-
|
|
17646
|
-
|
|
17647
|
-
className: hasPendingTodos || hasPendingFollowUps ? "mb-2" : void 0
|
|
17648
|
-
}
|
|
17649
|
-
),
|
|
17650
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17651
|
-
PendingTodos,
|
|
17652
|
-
{
|
|
17653
|
-
snapshot: stream.todos,
|
|
17654
|
-
attachToComposer: !hasPendingFollowUps,
|
|
17655
|
-
className: hasPendingFollowUps ? "mb-2" : void 0
|
|
17656
|
-
}
|
|
17657
|
-
),
|
|
17658
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17659
|
-
PendingFollowUps,
|
|
17660
|
-
{
|
|
17661
|
-
items: pendingFollowUps,
|
|
17662
|
-
isLoading: stream.isLoading,
|
|
17663
|
-
onPromoteToSteer: (id) => stream.promotePendingFollowUpToSteer(id),
|
|
17664
|
-
canSendNow: stream.canSendPendingFollowUpNow,
|
|
17665
|
-
onSendNow: (id) => stream.sendPendingFollowUpNow(id),
|
|
17666
|
-
onEdit: handleEditPendingFollowUp,
|
|
17667
|
-
onRemove: stream.removePendingFollowUp,
|
|
17668
|
-
attachToComposer: true
|
|
17669
|
-
}
|
|
17670
|
-
),
|
|
17671
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17672
|
-
RequestUserInputPanel,
|
|
17673
|
-
{
|
|
17674
|
-
request: stream.pendingRequestUserInput,
|
|
17675
|
-
onSubmit: stream.submitRequestUserInput,
|
|
17676
|
-
onDismiss: stream.stop,
|
|
17677
|
-
attachToComposer: true
|
|
17678
|
-
}
|
|
17679
|
-
),
|
|
17680
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17681
|
-
HITLApprovalPanel,
|
|
17682
|
-
{
|
|
17683
|
-
request: stream.pendingHITLRequest,
|
|
17684
|
-
onSubmit: stream.submitHITLDecision,
|
|
17685
|
-
onDismiss: stream.stop,
|
|
17686
|
-
attachToComposer: true
|
|
17687
|
-
}
|
|
17688
|
-
),
|
|
17689
|
-
runtimeCapabilityPalette && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17690
|
-
SlashPalette,
|
|
17691
|
-
{
|
|
17692
|
-
palette: runtimeCapabilityPalette,
|
|
17693
|
-
options: slashPaletteOptions,
|
|
17694
|
-
paletteRef: slashPaletteRef,
|
|
17695
|
-
optionRefs: slashPaletteOptionRefs,
|
|
17696
|
-
panelRoundedClass: getPanelRoundedClass(theme.radius),
|
|
17697
|
-
itemRoundedClass: getMenuItemRoundedClass(theme.radius),
|
|
17698
|
-
emptyLabel: slashPaletteEmptyLabel,
|
|
17699
|
-
capabilityEmptyLabels: slashPaletteCapabilityEmptyLabels,
|
|
17700
|
-
onSelect: selectSlashPaletteOption
|
|
17701
|
-
}
|
|
17702
|
-
),
|
|
17703
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("form", { className: "flex items-end", onSubmit: handleSubmit, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17704
|
-
"div",
|
|
17705
|
-
{
|
|
17706
|
-
"data-slot": "composer-input-shell",
|
|
17707
|
-
"data-layout": isComposerStacked ? "stacked" : "inline",
|
|
17708
|
-
className: cn(
|
|
17709
|
-
"relative flex flex-1 overflow-hidden",
|
|
17710
|
-
"bg-background border border-border shadow-sm",
|
|
17711
|
-
isComposerStacked ? "min-h-[5.5rem] px-1.5 pt-1.5 pb-12" : "min-h-12 px-1.5 py-1",
|
|
17712
|
-
"focus-within:border-muted-foreground/30 focus-within:shadow-md",
|
|
17713
|
-
"transition-[min-height,padding,border-radius,box-shadow,border-color] duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)]",
|
|
17714
|
-
composerInputRoundedClass
|
|
17715
|
-
),
|
|
17716
|
-
children: [
|
|
17717
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17718
|
-
"div",
|
|
17719
|
-
{
|
|
17720
|
-
ref: composerInputRef,
|
|
17721
|
-
role: "textbox",
|
|
17722
|
-
"aria-multiline": "true",
|
|
17723
|
-
"aria-disabled": missingConfig || isHistoryLoading || hasPendingInteractiveRequest,
|
|
17724
|
-
contentEditable: !(missingConfig || isHistoryLoading || hasPendingInteractiveRequest),
|
|
17725
|
-
suppressContentEditableWarning: true,
|
|
17726
|
-
onInput: handleComposerInput,
|
|
17727
|
-
onCompositionEnd: handleComposerCompositionEnd,
|
|
17728
|
-
onSelect: handleComposerSelect,
|
|
17729
|
-
onPaste: handleComposerPaste,
|
|
17730
|
-
onKeyDown: handleComposerKeyDown,
|
|
17731
|
-
"data-placeholder": inputPlaceholder,
|
|
17732
|
-
className: cn(
|
|
17733
|
-
"min-h-8 max-h-32 w-full overflow-hidden whitespace-pre-wrap break-words bg-transparent text-sm leading-5 text-foreground outline-none transition-[padding,min-height] duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)]",
|
|
17734
|
-
isComposerStacked ? "px-2 py-1.5" : "py-1 pr-11 pl-11 mt-1",
|
|
17735
|
-
"empty:before:pointer-events-none empty:before:text-muted-foreground empty:before:content-[attr(data-placeholder)]",
|
|
17736
|
-
(missingConfig || isHistoryLoading || hasPendingInteractiveRequest) && "cursor-not-allowed opacity-50"
|
|
17737
|
-
),
|
|
17738
|
-
children: renderedComposerParts.map(
|
|
17739
|
-
(part, index) => part.type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(React49.Fragment, { children: part.text }, `text-${index}`) : /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17740
|
-
"span",
|
|
17741
|
-
{
|
|
17742
|
-
"data-composer-capability-key": part.key,
|
|
17743
|
-
"data-capability-type": part.capability.type,
|
|
17744
|
-
"data-capability-id": part.capability.id,
|
|
17745
|
-
contentEditable: false,
|
|
17746
|
-
className: "mx-0.5 inline-flex max-w-[14rem] select-none items-center gap-1 text-sm font-semibold text-primary align-baseline",
|
|
17747
|
-
children: [
|
|
17748
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17749
|
-
RuntimeCapabilityIcon,
|
|
17640
|
+
) }),
|
|
17641
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { children: t("chat.goal.clear") })
|
|
17642
|
+
] }),
|
|
17643
|
+
threadGoal.objective && !goalError && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
17644
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17645
|
+
Button,
|
|
17646
|
+
{
|
|
17647
|
+
type: "button",
|
|
17648
|
+
variant: "ghost",
|
|
17649
|
+
size: "icon-xs",
|
|
17650
|
+
"aria-expanded": isGoalObjectiveExpanded,
|
|
17651
|
+
"aria-label": isGoalObjectiveExpanded ? t("chat.goal.collapseObjective") : t("chat.goal.expandObjective"),
|
|
17652
|
+
onClick: () => setIsGoalObjectiveExpanded((expanded) => !expanded),
|
|
17653
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17654
|
+
import_lucide_react29.ChevronDown,
|
|
17750
17655
|
{
|
|
17751
|
-
|
|
17752
|
-
|
|
17656
|
+
className: cn(
|
|
17657
|
+
"size-3 transition-transform",
|
|
17658
|
+
isGoalObjectiveExpanded && "rotate-180"
|
|
17659
|
+
)
|
|
17753
17660
|
}
|
|
17754
|
-
)
|
|
17755
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "truncate", children: part.capability.label })
|
|
17756
|
-
]
|
|
17757
|
-
},
|
|
17758
|
-
part.key
|
|
17759
|
-
)
|
|
17760
|
-
)
|
|
17761
|
-
},
|
|
17762
|
-
composerDomVersion
|
|
17763
|
-
),
|
|
17764
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17765
|
-
"div",
|
|
17766
|
-
{
|
|
17767
|
-
"data-slot": "composer-action-bar",
|
|
17768
|
-
className: "pointer-events-none absolute inset-x-1.5 bottom-1 flex min-h-10 items-center justify-between gap-2",
|
|
17769
|
-
children: [
|
|
17770
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "pointer-events-none flex min-w-0 flex-1 items-center gap-1.5", children: [
|
|
17771
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "pointer-events-auto flex shrink-0 items-center gap-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17772
|
-
ComposerMenu,
|
|
17773
|
-
{
|
|
17774
|
-
composer,
|
|
17775
|
-
onAttachmentClick: handleAttachmentClick,
|
|
17776
|
-
onToolSelect: handleToolSelect,
|
|
17777
|
-
selectedTool,
|
|
17778
|
-
planModeEnabled,
|
|
17779
|
-
onPlanModeChange: setPlanModeEnabled,
|
|
17780
|
-
goalCommandAvailable,
|
|
17781
|
-
goalPanelOpen: isGoalModeOpen,
|
|
17782
|
-
onGoalPanelOpenChange: handleGoalPanelOpenChange,
|
|
17783
|
-
runtimeCapabilities: runtimeCapabilitiesReady ? runtimeCapabilities : null,
|
|
17784
|
-
selectedRuntimeCapabilities: effectiveSessionRuntimeCapabilities,
|
|
17785
|
-
onRuntimeCapabilityToggle: handleSessionRuntimeCapabilityToggle,
|
|
17786
|
-
disabled: missingConfig || isHistoryLoading || hasPendingInteractiveRequest
|
|
17661
|
+
)
|
|
17787
17662
|
}
|
|
17788
17663
|
) }),
|
|
17789
|
-
|
|
17790
|
-
|
|
17791
|
-
|
|
17792
|
-
|
|
17664
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent, { children: isGoalObjectiveExpanded ? t("chat.goal.collapseObjective") : t("chat.goal.expandObjective") })
|
|
17665
|
+
] })
|
|
17666
|
+
] })
|
|
17667
|
+
]
|
|
17668
|
+
}
|
|
17669
|
+
),
|
|
17670
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17671
|
+
PendingRuntimeServices,
|
|
17672
|
+
{
|
|
17673
|
+
state: stream.runtimeActivities.sandboxServices,
|
|
17674
|
+
onStopService: (serviceId) => stream.stopRuntimeActivityItem("sandbox-services", serviceId),
|
|
17675
|
+
attachToComposer: !hasPendingTodos && !hasPendingFollowUps,
|
|
17676
|
+
className: hasPendingTodos || hasPendingFollowUps ? "mb-2" : void 0
|
|
17677
|
+
}
|
|
17678
|
+
),
|
|
17679
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17680
|
+
PendingTodos,
|
|
17681
|
+
{
|
|
17682
|
+
snapshot: stream.todos,
|
|
17683
|
+
attachToComposer: !hasPendingFollowUps,
|
|
17684
|
+
className: hasPendingFollowUps ? "mb-2" : void 0
|
|
17685
|
+
}
|
|
17686
|
+
),
|
|
17687
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17688
|
+
PendingFollowUps,
|
|
17689
|
+
{
|
|
17690
|
+
items: pendingFollowUps,
|
|
17691
|
+
isLoading: stream.isLoading,
|
|
17692
|
+
onPromoteToSteer: (id) => stream.promotePendingFollowUpToSteer(id),
|
|
17693
|
+
canSendNow: stream.canSendPendingFollowUpNow,
|
|
17694
|
+
onSendNow: (id) => stream.sendPendingFollowUpNow(id),
|
|
17695
|
+
onEdit: handleEditPendingFollowUp,
|
|
17696
|
+
onRemove: stream.removePendingFollowUp,
|
|
17697
|
+
attachToComposer: true
|
|
17698
|
+
}
|
|
17699
|
+
),
|
|
17700
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17701
|
+
RequestUserInputPanel,
|
|
17702
|
+
{
|
|
17703
|
+
request: stream.pendingRequestUserInput,
|
|
17704
|
+
onSubmit: stream.submitRequestUserInput,
|
|
17705
|
+
onDismiss: stream.stop,
|
|
17706
|
+
attachToComposer: true
|
|
17707
|
+
}
|
|
17708
|
+
),
|
|
17709
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17710
|
+
HITLApprovalPanel,
|
|
17711
|
+
{
|
|
17712
|
+
request: stream.pendingHITLRequest,
|
|
17713
|
+
onSubmit: stream.submitHITLDecision,
|
|
17714
|
+
onDismiss: stream.stop,
|
|
17715
|
+
attachToComposer: true
|
|
17716
|
+
}
|
|
17717
|
+
),
|
|
17718
|
+
runtimeCapabilityPalette && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17719
|
+
SlashPalette,
|
|
17720
|
+
{
|
|
17721
|
+
palette: runtimeCapabilityPalette,
|
|
17722
|
+
options: slashPaletteOptions,
|
|
17723
|
+
paletteRef: slashPaletteRef,
|
|
17724
|
+
optionRefs: slashPaletteOptionRefs,
|
|
17725
|
+
panelRoundedClass: getPanelRoundedClass(theme.radius),
|
|
17726
|
+
itemRoundedClass: getMenuItemRoundedClass(theme.radius),
|
|
17727
|
+
emptyLabel: slashPaletteEmptyLabel,
|
|
17728
|
+
capabilityEmptyLabels: slashPaletteCapabilityEmptyLabels,
|
|
17729
|
+
onSelect: selectSlashPaletteOption
|
|
17730
|
+
}
|
|
17731
|
+
),
|
|
17732
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("form", { className: "flex items-end", onSubmit: handleSubmit, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17733
|
+
"div",
|
|
17734
|
+
{
|
|
17735
|
+
"data-slot": "composer-input-shell",
|
|
17736
|
+
"data-layout": isComposerStacked ? "stacked" : "inline",
|
|
17737
|
+
className: cn(
|
|
17738
|
+
"relative flex flex-1 overflow-hidden",
|
|
17739
|
+
"bg-background border border-border shadow-sm",
|
|
17740
|
+
isComposerStacked ? "min-h-[5.5rem] px-1.5 pt-1.5 pb-12" : "min-h-12 px-1.5 py-1",
|
|
17741
|
+
"focus-within:border-muted-foreground/30 focus-within:shadow-md",
|
|
17742
|
+
"transition-[min-height,padding,border-radius,box-shadow,border-color] duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)]",
|
|
17743
|
+
composerInputRoundedClass
|
|
17744
|
+
),
|
|
17745
|
+
children: [
|
|
17746
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17747
|
+
"div",
|
|
17748
|
+
{
|
|
17749
|
+
ref: composerInputRef,
|
|
17750
|
+
role: "textbox",
|
|
17751
|
+
"aria-multiline": "true",
|
|
17752
|
+
"aria-disabled": missingConfig || isHistoryLoading || hasPendingInteractiveRequest,
|
|
17753
|
+
contentEditable: !(missingConfig || isHistoryLoading || hasPendingInteractiveRequest),
|
|
17754
|
+
suppressContentEditableWarning: true,
|
|
17755
|
+
onInput: handleComposerInput,
|
|
17756
|
+
onCompositionEnd: handleComposerCompositionEnd,
|
|
17757
|
+
onSelect: handleComposerSelect,
|
|
17758
|
+
onPaste: handleComposerPaste,
|
|
17759
|
+
onKeyDown: handleComposerKeyDown,
|
|
17760
|
+
"data-placeholder": inputPlaceholder,
|
|
17761
|
+
className: cn(
|
|
17762
|
+
"min-h-8 max-h-32 w-full overflow-hidden whitespace-pre-wrap break-words bg-transparent text-sm leading-5 text-foreground outline-none transition-[padding,min-height] duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)]",
|
|
17763
|
+
isComposerStacked ? "px-2 py-1.5" : "py-1 pr-11 pl-11 mt-1",
|
|
17764
|
+
"empty:before:pointer-events-none empty:before:text-muted-foreground empty:before:content-[attr(data-placeholder)]",
|
|
17765
|
+
(missingConfig || isHistoryLoading || hasPendingInteractiveRequest) && "cursor-not-allowed opacity-50"
|
|
17766
|
+
),
|
|
17767
|
+
children: renderedComposerParts.map(
|
|
17768
|
+
(part, index) => part.type === "text" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(React49.Fragment, { children: part.text }, `text-${index}`) : /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17769
|
+
"span",
|
|
17793
17770
|
{
|
|
17794
|
-
|
|
17795
|
-
|
|
17796
|
-
|
|
17797
|
-
|
|
17798
|
-
|
|
17771
|
+
"data-composer-capability-key": part.key,
|
|
17772
|
+
"data-capability-type": part.capability.type,
|
|
17773
|
+
"data-capability-id": part.capability.id,
|
|
17774
|
+
contentEditable: false,
|
|
17775
|
+
className: "mx-0.5 inline-flex max-w-[14rem] select-none items-center gap-1 text-sm font-semibold text-primary align-baseline",
|
|
17776
|
+
children: [
|
|
17777
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17778
|
+
RuntimeCapabilityIcon,
|
|
17779
|
+
{
|
|
17780
|
+
option: part.capability,
|
|
17781
|
+
variant: "chip"
|
|
17782
|
+
}
|
|
17783
|
+
),
|
|
17784
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "truncate", children: part.capability.label })
|
|
17785
|
+
]
|
|
17786
|
+
},
|
|
17787
|
+
part.key
|
|
17799
17788
|
)
|
|
17800
|
-
|
|
17801
|
-
|
|
17802
|
-
|
|
17803
|
-
|
|
17804
|
-
|
|
17805
|
-
|
|
17806
|
-
|
|
17807
|
-
|
|
17808
|
-
|
|
17809
|
-
|
|
17810
|
-
|
|
17811
|
-
|
|
17789
|
+
)
|
|
17790
|
+
},
|
|
17791
|
+
composerDomVersion
|
|
17792
|
+
),
|
|
17793
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
17794
|
+
"div",
|
|
17795
|
+
{
|
|
17796
|
+
"data-slot": "composer-action-bar",
|
|
17797
|
+
className: "pointer-events-none absolute inset-x-1.5 bottom-1 flex min-h-10 items-center justify-between gap-2",
|
|
17798
|
+
children: [
|
|
17799
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "pointer-events-none flex min-w-0 flex-1 items-center gap-1.5", children: [
|
|
17800
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "pointer-events-auto flex shrink-0 items-center gap-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17801
|
+
ComposerMenu,
|
|
17802
|
+
{
|
|
17803
|
+
composer,
|
|
17804
|
+
onAttachmentClick: handleAttachmentClick,
|
|
17805
|
+
onToolSelect: handleToolSelect,
|
|
17806
|
+
selectedTool,
|
|
17807
|
+
planModeEnabled,
|
|
17808
|
+
onPlanModeChange: setPlanModeEnabled,
|
|
17809
|
+
goalCommandAvailable,
|
|
17810
|
+
goalPanelOpen: isGoalModeOpen,
|
|
17811
|
+
onGoalPanelOpenChange: handleGoalPanelOpenChange,
|
|
17812
|
+
runtimeCapabilities: runtimeCapabilitiesReady ? runtimeCapabilities : null,
|
|
17813
|
+
selectedRuntimeCapabilities: effectiveSessionRuntimeCapabilities,
|
|
17814
|
+
onRuntimeCapabilityToggle: handleSessionRuntimeCapabilityToggle,
|
|
17815
|
+
disabled: missingConfig || isHistoryLoading || hasPendingInteractiveRequest
|
|
17816
|
+
}
|
|
17817
|
+
) }),
|
|
17818
|
+
selectedTool && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("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: [
|
|
17819
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "truncate", children: selectedTool.shortLabel ?? selectedTool.label }),
|
|
17820
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17821
|
+
"button",
|
|
17822
|
+
{
|
|
17823
|
+
type: "button",
|
|
17824
|
+
onClick: () => setSelectedTool(null),
|
|
17825
|
+
className: "shrink-0 rounded-full p-0.5 text-primary/70 hover:bg-primary/10 hover:text-primary",
|
|
17826
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react29.X, { size: 12 })
|
|
17827
|
+
}
|
|
17828
|
+
)
|
|
17829
|
+
] })
|
|
17830
|
+
] }),
|
|
17831
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "pointer-events-auto shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17832
|
+
SendButton,
|
|
17812
17833
|
{
|
|
17813
|
-
|
|
17814
|
-
|
|
17834
|
+
disabled: isSendDisabled,
|
|
17835
|
+
isLoading: stream.isLoading,
|
|
17836
|
+
showStop: stream.isLoading && (!trimmedDraft || hasPendingInteractiveRequest),
|
|
17837
|
+
onStop: () => stream.stop(),
|
|
17838
|
+
stopLabel: t("chat.stop"),
|
|
17839
|
+
sendLabel: t("chat.send"),
|
|
17840
|
+
shortcuts: stream.isLoading && trimmedDraft ? [
|
|
17841
|
+
{
|
|
17842
|
+
label: t("chat.followUps.queue"),
|
|
17843
|
+
keys: "Enter"
|
|
17844
|
+
}
|
|
17845
|
+
] : void 0
|
|
17815
17846
|
}
|
|
17816
|
-
|
|
17817
|
-
|
|
17818
|
-
|
|
17819
|
-
|
|
17820
|
-
|
|
17821
|
-
|
|
17822
|
-
|
|
17823
|
-
|
|
17824
|
-
|
|
17825
|
-
|
|
17826
|
-
|
|
17827
|
-
|
|
17828
|
-
|
|
17829
|
-
|
|
17830
|
-
|
|
17847
|
+
) })
|
|
17848
|
+
]
|
|
17849
|
+
}
|
|
17850
|
+
)
|
|
17851
|
+
]
|
|
17852
|
+
}
|
|
17853
|
+
) }),
|
|
17854
|
+
disclaimer?.text && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17855
|
+
"p",
|
|
17856
|
+
{
|
|
17857
|
+
className: cn(
|
|
17858
|
+
"mt-2 text-center text-xs",
|
|
17859
|
+
disclaimer.highContrast ? "text-foreground" : "text-muted-foreground"
|
|
17860
|
+
),
|
|
17861
|
+
children: disclaimer.text
|
|
17862
|
+
}
|
|
17831
17863
|
),
|
|
17832
|
-
children:
|
|
17833
|
-
|
|
17834
|
-
|
|
17835
|
-
|
|
17836
|
-
|
|
17837
|
-
|
|
17838
|
-
|
|
17839
|
-
] }),
|
|
17864
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "mt-2 flex items-center justify-center gap-2 text-xs text-muted-foreground", children: [
|
|
17865
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { children: t("chat.poweredBy") }),
|
|
17866
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ContextUsageIndicator, { className: "absolute right-4" })
|
|
17867
|
+
] })
|
|
17868
|
+
]
|
|
17869
|
+
}
|
|
17870
|
+
),
|
|
17840
17871
|
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
17841
17872
|
SettingsSheet,
|
|
17842
17873
|
{
|