@xpert-ai/chatkit-ui 0.5.7 → 0.5.9
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-CLWaYEgB.js → _baseUniq-BLpvr8Li.js} +1 -1
- package/dist/app/assets/{abap-BmIw086p.js → abap-DuWq8-Fa.js} +1 -1
- package/dist/app/assets/{abnf-Chq250EI.js → abnf-BHjR3bmX.js} +1 -1
- package/dist/app/assets/{actionscript-COrRMERh.js → actionscript-DJxrYQDx.js} +1 -1
- package/dist/app/assets/{ada-Bk-Xom8E.js → ada-CbL6tAKZ.js} +1 -1
- package/dist/app/assets/{agda-CqOba_mv.js → agda-Ck6x7eDV.js} +1 -1
- package/dist/app/assets/{al-Cs36z4Zx.js → al-DdXfEkta.js} +1 -1
- package/dist/app/assets/{antlr4-BDwRWkYa.js → antlr4-upUqmaYh.js} +1 -1
- package/dist/app/assets/{apacheconf-DyeF8GiM.js → apacheconf-CupXJx2-.js} +1 -1
- package/dist/app/assets/{apex-Ba7OzTgr.js → apex-0YDHPbgn.js} +1 -1
- package/dist/app/assets/{apl-B_R4FVMi.js → apl-RmSfPwym.js} +1 -1
- package/dist/app/assets/{applescript-Dya3fhGB.js → applescript-COai1tTm.js} +1 -1
- package/dist/app/assets/{aql-Dp0iXsVF.js → aql-CbZi1-r0.js} +1 -1
- package/dist/app/assets/{arc-cvg0TXhv.js → arc-DIn4pjjH.js} +1 -1
- package/dist/app/assets/{architectureDiagram-Q4EWVU46-SzYujqWe.js → architectureDiagram-Q4EWVU46-Dmhp32t-.js} +1 -1
- package/dist/app/assets/{arduino-CqlJ3hCz.js → arduino-CQPi4w3l.js} +1 -1
- package/dist/app/assets/{arff-CX7MFQRO.js → arff-CeuE6lSG.js} +1 -1
- package/dist/app/assets/{asciidoc-ZI4Q-s1q.js → asciidoc-DCNYoRln.js} +1 -1
- package/dist/app/assets/{asm6502-B3FObQ_T.js → asm6502-Pd3JHkRr.js} +1 -1
- package/dist/app/assets/{asmatmel-kCkPLHbr.js → asmatmel-Cc5XZnaJ.js} +1 -1
- package/dist/app/assets/{aspnet-DH6G5Ew1.js → aspnet-C533BcWB.js} +1 -1
- package/dist/app/assets/{autohotkey-oVz8ND3F.js → autohotkey-DKsSzBeu.js} +1 -1
- package/dist/app/assets/{autoit-Dl11lBUq.js → autoit-BBqFqs2I.js} +1 -1
- package/dist/app/assets/{avisynth-DarE5Dg7.js → avisynth-BQhu1vn5.js} +1 -1
- package/dist/app/assets/{avro-idl-D56MDNhv.js → avro-idl-CLl66iQZ.js} +1 -1
- package/dist/app/assets/{bash-B1XwQNyf.js → bash-D-02JHh4.js} +1 -1
- package/dist/app/assets/{basic-DYR2Jwfm.js → basic-D0Z8Jj8l.js} +1 -1
- package/dist/app/assets/{batch-DxAP-2NI.js → batch-B6HFRBhp.js} +1 -1
- package/dist/app/assets/{bbcode-pH3o53ih.js → bbcode-CE7knYbs.js} +1 -1
- package/dist/app/assets/{bicep-C1CpxPZE.js → bicep--WgDi_5T.js} +1 -1
- package/dist/app/assets/{birb-CX87HOYx.js → birb-CRszBx8p.js} +1 -1
- package/dist/app/assets/{bison-DhyP8gg_.js → bison-2yOIavxu.js} +1 -1
- package/dist/app/assets/{blockDiagram-DXYQGD6D-USlgBl6-.js → blockDiagram-DXYQGD6D-CdfVTYe6.js} +1 -1
- package/dist/app/assets/{bnf-DBDHgoDx.js → bnf-Dg8yqReW.js} +1 -1
- package/dist/app/assets/{brainfuck-BGbbW6jD.js → brainfuck-CMcDLgle.js} +1 -1
- package/dist/app/assets/{brightscript-DhiNdhdf.js → brightscript-Cqzcw5aY.js} +1 -1
- package/dist/app/assets/{bro-CI2nlc1k.js → bro-CCYADGfA.js} +1 -1
- package/dist/app/assets/{bsl-Cqfc86Uw.js → bsl-BazS2rLi.js} +1 -1
- package/dist/app/assets/{c-Bcq4TtJR.js → c-CzdIRBJL.js} +1 -1
- package/dist/app/assets/{c4Diagram-AHTNJAMY-BLdJV9Sm.js → c4Diagram-AHTNJAMY-CzWbdT2z.js} +1 -1
- package/dist/app/assets/{cfscript-zugsry85.js → cfscript-BfocvIBZ.js} +1 -1
- package/dist/app/assets/{chaiscript-Dy8MtPY1.js → chaiscript-DEeofdbI.js} +1 -1
- package/dist/app/assets/channel-C-xwEqfR.js +1 -0
- package/dist/app/assets/{chunk-4BX2VUAB-BxD-_SIo.js → chunk-4BX2VUAB-DXvcZJRe.js} +1 -1
- package/dist/app/assets/{chunk-4TB4RGXK-xGQqBHD0.js → chunk-4TB4RGXK-Cvk3MhhJ.js} +1 -1
- package/dist/app/assets/{chunk-55IACEB6-CWaDgSsu.js → chunk-55IACEB6-Om7ibAwr.js} +1 -1
- package/dist/app/assets/{chunk-EDXVE4YY-BSLQHGaz.js → chunk-EDXVE4YY-DbAgli9I.js} +1 -1
- package/dist/app/assets/{chunk-FMBD7UC4-C7DoPpkj.js → chunk-FMBD7UC4-DObpaYUO.js} +1 -1
- package/dist/app/assets/{chunk-OYMX7WX6-CNUKCbYN.js → chunk-OYMX7WX6-rGMgjhKm.js} +1 -1
- package/dist/app/assets/{chunk-QZHKN3VN-CLEOhth0.js → chunk-QZHKN3VN-BtHCPSxj.js} +1 -1
- package/dist/app/assets/{chunk-YZCP3GAM-CrgW5GzR.js → chunk-YZCP3GAM-CDkTBaPo.js} +1 -1
- package/dist/app/assets/{cil-CSQR5L6I.js → cil-BNlTLivw.js} +1 -1
- package/dist/app/assets/classDiagram-6PBFFD2Q-DZxfIDiK.js +1 -0
- package/dist/app/assets/classDiagram-v2-HSJHXN6E-DZxfIDiK.js +1 -0
- package/dist/app/assets/{clike-DreJ-26H.js → clike-BBIPxwPb.js} +1 -1
- package/dist/app/assets/{clojure-C4rI0CNM.js → clojure-SjJCVW3l.js} +1 -1
- package/dist/app/assets/clone-nOTgxCHT.js +1 -0
- package/dist/app/assets/{cmake-D_E8QKZD.js → cmake-DKXTFLeQ.js} +1 -1
- package/dist/app/assets/{cobol-Dd0WgkgL.js → cobol-DDV2T8Ov.js} +1 -1
- package/dist/app/assets/{coffeescript-CKG9eRoI.js → coffeescript-DLlO3-WB.js} +1 -1
- package/dist/app/assets/{concurnas-Cw11QyjG.js → concurnas-Zk22sd4q.js} +1 -1
- package/dist/app/assets/{coq-C3R9mTvc.js → coq-CB49fGLj.js} +1 -1
- package/dist/app/assets/{core-DZ2wHOxY.js → core-GilJv2TY.js} +1 -1
- package/dist/app/assets/{cose-bilkent-S5V4N54A-DmUGr3LM.js → cose-bilkent-S5V4N54A-dCcXah1N.js} +1 -1
- package/dist/app/assets/{cpp-DokiuQJt.js → cpp-_nLYhTeO.js} +1 -1
- package/dist/app/assets/{crystal-CEcE525Q.js → crystal-0uF3fCBY.js} +1 -1
- package/dist/app/assets/{csharp-BEgDNJSm.js → csharp-9a018lXK.js} +1 -1
- package/dist/app/assets/{cshtml-BgqAtQ__.js → cshtml-DeRWrMgA.js} +1 -1
- package/dist/app/assets/{csp-xjpIA0Cl.js → csp-C1JPZRc6.js} +1 -1
- package/dist/app/assets/{css-n5noIfRb.js → css-CtlaCojl.js} +1 -1
- package/dist/app/assets/{css-extras-BcBihPSP.js → css-extras-_r0fSC4K.js} +1 -1
- package/dist/app/assets/{csv-BB3YePGO.js → csv-DEVHAMet.js} +1 -1
- package/dist/app/assets/{cypher-D-HnFmIS.js → cypher-OQlwpa7A.js} +1 -1
- package/dist/app/assets/{d-B6t4xIiC.js → d-CBefACWo.js} +1 -1
- package/dist/app/assets/{dagre-KV5264BT-De0SZKaZ.js → dagre-KV5264BT-BbcR5yFp.js} +1 -1
- package/dist/app/assets/{dart-nDJlvZiq.js → dart-DnZNI7st.js} +1 -1
- package/dist/app/assets/{dataweave-MLevrHXi.js → dataweave-C0KQEfm3.js} +1 -1
- package/dist/app/assets/{dax-D19-PKMy.js → dax-C85xkJS9.js} +1 -1
- package/dist/app/assets/{dhall-CY6aTI2P.js → dhall-Dr7lP2CR.js} +1 -1
- package/dist/app/assets/{diagram-5BDNPKRD-mV_Wn285.js → diagram-5BDNPKRD-CAF6Irol.js} +1 -1
- package/dist/app/assets/{diagram-G4DWMVQ6-DEQ6bw6_.js → diagram-G4DWMVQ6-BjM_224a.js} +1 -1
- package/dist/app/assets/{diagram-MMDJMWI5-saPCqXbt.js → diagram-MMDJMWI5-DLUB15w5.js} +1 -1
- package/dist/app/assets/{diagram-TYMM5635-Bc55PAVD.js → diagram-TYMM5635-DBbpw92w.js} +1 -1
- package/dist/app/assets/{diff-C5owdxCH.js → diff-BMBQT17e.js} +1 -1
- package/dist/app/assets/{django-DX5K_Lf4.js → django-ciXFTeWU.js} +1 -1
- package/dist/app/assets/{dns-zone-file-B8xBiXK4.js → dns-zone-file-DC-B5K-Z.js} +1 -1
- package/dist/app/assets/{docker-B9QI3ZyP.js → docker-A8DlJ91e.js} +1 -1
- package/dist/app/assets/{dot-1jbGtFg0.js → dot-DC8VHvNV.js} +1 -1
- package/dist/app/assets/{ebnf-4zi7pSk1.js → ebnf-92ogoCIr.js} +1 -1
- package/dist/app/assets/{editorconfig-c8-h1UlL.js → editorconfig-D-VWzvau.js} +1 -1
- package/dist/app/assets/{eiffel-DsXpCd2Z.js → eiffel-BQlPy2tR.js} +1 -1
- package/dist/app/assets/{ejs-DDdn5A3i.js → ejs-hYRRXYEf.js} +1 -1
- package/dist/app/assets/{elixir-BHlBm_yU.js → elixir-BQaOfAKO.js} +1 -1
- package/dist/app/assets/{elm-CiDFdPze.js → elm-CMZDaOsd.js} +1 -1
- package/dist/app/assets/{erDiagram-SMLLAGMA-C4yQ0GlF.js → erDiagram-SMLLAGMA-D7RIpy8K.js} +1 -1
- package/dist/app/assets/{erb-DASSxMxt.js → erb-BhUx9oZj.js} +1 -1
- package/dist/app/assets/{erlang-v8JRNRHg.js → erlang-BEE4gQmE.js} +1 -1
- package/dist/app/assets/{etlua-DZD7a7Jf.js → etlua-Do5lhS9I.js} +1 -1
- package/dist/app/assets/{excel-formula-MyC97nAI.js → excel-formula-CmwpMtyy.js} +1 -1
- package/dist/app/assets/{factor-B5PO8-iK.js → factor-B2pJs6O3.js} +1 -1
- package/dist/app/assets/{false-DLfRU1nK.js → false-DvjmZdOv.js} +1 -1
- package/dist/app/assets/{firestore-security-rules-COJVUV0t.js → firestore-security-rules-CFb_h360.js} +1 -1
- package/dist/app/assets/{flow-BNlz-6hX.js → flow-D0Mztv7X.js} +1 -1
- package/dist/app/assets/{flowDiagram-DWJPFMVM-BXHf7HWl.js → flowDiagram-DWJPFMVM-Bs64njF4.js} +1 -1
- package/dist/app/assets/{fortran-DorvQvuU.js → fortran-1pOElj0a.js} +1 -1
- package/dist/app/assets/{fsharp-CMDvOtPz.js → fsharp-B6O1vScF.js} +1 -1
- package/dist/app/assets/{ftl-C0ofQ7Z_.js → ftl-BC1JMSb3.js} +1 -1
- package/dist/app/assets/{ganttDiagram-T4ZO3ILL-CvGkKz8n.js → ganttDiagram-T4ZO3ILL-BaqYXbd5.js} +1 -1
- package/dist/app/assets/{gap-C0gyjgyS.js → gap-DHN_hna1.js} +1 -1
- package/dist/app/assets/{gcode-BtlHTa9V.js → gcode-CYOpCOHU.js} +1 -1
- package/dist/app/assets/{gdscript-DTqe4uwl.js → gdscript-C_fDjtde.js} +1 -1
- package/dist/app/assets/{gedcom-b4_QsalW.js → gedcom-BVEMpxDC.js} +1 -1
- package/dist/app/assets/{gherkin-BRaijNNe.js → gherkin-CbpN6mFf.js} +1 -1
- package/dist/app/assets/{git-CBD5U5DY.js → git-Bf1dI9II.js} +1 -1
- package/dist/app/assets/{gitGraphDiagram-UUTBAWPF-D3WK5u1w.js → gitGraphDiagram-UUTBAWPF-BdL4HwfB.js} +1 -1
- package/dist/app/assets/{glsl-Bs6Epr6a.js → glsl-DHfVVpll.js} +1 -1
- package/dist/app/assets/{gml-DB3_POL9.js → gml-CKW0I1sM.js} +1 -1
- package/dist/app/assets/{gn-CF-QhIKN.js → gn-BolaXeCK.js} +1 -1
- package/dist/app/assets/{go-Bf_9FEdH.js → go-CvNTUNQj.js} +1 -1
- package/dist/app/assets/{go-module-CA_6vLMU.js → go-module-DHNsqTFu.js} +1 -1
- package/dist/app/assets/{graph-BckoiIkc.js → graph-w3lwjjfd.js} +1 -1
- package/dist/app/assets/{graphql-B_EGfqII.js → graphql-CqMPX6Uj.js} +1 -1
- package/dist/app/assets/{groovy-DAndqueF.js → groovy-ric2FEOh.js} +1 -1
- package/dist/app/assets/{haml-BcmULMPT.js → haml-Cxb5CUqP.js} +1 -1
- package/dist/app/assets/{handlebars-y_7_rnDH.js → handlebars-Cn3du5zM.js} +1 -1
- package/dist/app/assets/{haskell-BMVXHQLX.js → haskell-C6_pQzAW.js} +1 -1
- package/dist/app/assets/{haxe-ptOpqykn.js → haxe-ByVxVzJ9.js} +1 -1
- package/dist/app/assets/{hcl-zRdkV3LE.js → hcl-B54wt0UB.js} +1 -1
- package/dist/app/assets/{hlsl-BNXfMvF8.js → hlsl-zd81HZk_.js} +1 -1
- package/dist/app/assets/{hoon-BIBxFt3i.js → hoon-CIsFAweE.js} +1 -1
- package/dist/app/assets/{hpkp-CN1HXIbY.js → hpkp-BjSjLyAt.js} +1 -1
- package/dist/app/assets/{hsts-CoXh-wqv.js → hsts-DYV6IErn.js} +1 -1
- package/dist/app/assets/{http-t-TWhkRr.js → http-vOpsxP66.js} +1 -1
- package/dist/app/assets/{ichigojam-D_FxM4aQ.js → ichigojam-0LTExBpZ.js} +1 -1
- package/dist/app/assets/{icon-CUaZJoCa.js → icon-B-Gp4jiE.js} +1 -1
- package/dist/app/assets/{icu-message-format-By8yja5S.js → icu-message-format-jiNYPlT8.js} +1 -1
- package/dist/app/assets/{idris-4GlvSztz.js → idris-ZMBybD9e.js} +1 -1
- package/dist/app/assets/{iecst-nPP964Az.js → iecst-B3wVu7MT.js} +1 -1
- package/dist/app/assets/{ignore-BFvj9-AN.js → ignore-DCDIFGnd.js} +1 -1
- package/dist/app/assets/index-BAb1mpfo.css +1 -0
- package/dist/app/assets/{index-CN-0zu_D.js → index-Bc4smTvC.js} +183 -182
- package/dist/app/assets/{infoDiagram-42DDH7IO-Bnsy-5bq.js → infoDiagram-42DDH7IO-Bbh4hemk.js} +1 -1
- package/dist/app/assets/{inform7-CF6LgXQQ.js → inform7-BI05xVNw.js} +1 -1
- package/dist/app/assets/{ini-CeigaWPi.js → ini-vxj4aj2b.js} +1 -1
- package/dist/app/assets/{io-CRHhVTrv.js → io-Dv10BjOU.js} +1 -1
- package/dist/app/assets/{ishikawaDiagram-UXIWVN3A-V1PRHvu1.js → ishikawaDiagram-UXIWVN3A-BuEYSyJU.js} +1 -1
- package/dist/app/assets/{j-enwO1Wmz.js → j-BW8yPUOH.js} +1 -1
- package/dist/app/assets/{java-B9QaHcJd.js → java-BkBlxlrY.js} +1 -1
- package/dist/app/assets/{javadoc-DRScKA1N.js → javadoc-Cx6tkfWS.js} +1 -1
- package/dist/app/assets/{javadoclike-DtGAS-cv.js → javadoclike-BBfuCCPL.js} +1 -1
- package/dist/app/assets/{javascript-D3V3g0FJ.js → javascript-CAUiQeA4.js} +1 -1
- package/dist/app/assets/{javastacktrace-B5lApfgX.js → javastacktrace-DVKSc9mr.js} +1 -1
- package/dist/app/assets/{jexl-De4FTViK.js → jexl-Ctv9A-4Y.js} +1 -1
- package/dist/app/assets/{jolie-C6Zkfs3U.js → jolie-8oLOtI3_.js} +1 -1
- package/dist/app/assets/{journeyDiagram-VCZTEJTY--_XuL7C5.js → journeyDiagram-VCZTEJTY-DUm9Kxjg.js} +1 -1
- package/dist/app/assets/{jq-CaVz4Cbo.js → jq-C5TPho8v.js} +1 -1
- package/dist/app/assets/{js-extras-BLR7xlFc.js → js-extras-CvvS7hCP.js} +1 -1
- package/dist/app/assets/{js-templates-S-P3pgZx.js → js-templates-D1ItFqxK.js} +1 -1
- package/dist/app/assets/{jsdoc-DA2TpZo1.js → jsdoc-D0lTE-nD.js} +1 -1
- package/dist/app/assets/{json-DxBWOaJn.js → json-Bj6Xy1YF.js} +1 -1
- package/dist/app/assets/{json5-CO5ViDeP.js → json5-CvDs8NVg.js} +1 -1
- package/dist/app/assets/{jsonp-Wq0QyWa8.js → jsonp-BFor_KVf.js} +1 -1
- package/dist/app/assets/{jsstacktrace-BLR8OluG.js → jsstacktrace-DaDHvFwg.js} +1 -1
- package/dist/app/assets/{jsx-DmJT_QzA.js → jsx-9z5hmKsA.js} +1 -1
- package/dist/app/assets/{julia-Bd7p13_X.js → julia-DwK7_L2k.js} +1 -1
- package/dist/app/assets/{kanban-definition-6JOO6SKY-C8Va8LAw.js → kanban-definition-6JOO6SKY-B4PLi6a2.js} +1 -1
- package/dist/app/assets/{keepalived-D_m2TyIj.js → keepalived-QQAuR044.js} +1 -1
- package/dist/app/assets/{keyman-DjW6nWCS.js → keyman-WSDbwfnX.js} +1 -1
- package/dist/app/assets/{kotlin-BVWvmXl0.js → kotlin-CGASEpWD.js} +1 -1
- package/dist/app/assets/{kumir-CAxuJd34.js → kumir-Doyw9YhD.js} +1 -1
- package/dist/app/assets/{kusto-CuUimFgY.js → kusto-xM5aYCkT.js} +1 -1
- package/dist/app/assets/{latex-d8_VLhf8.js → latex-7t6762ct.js} +1 -1
- package/dist/app/assets/{latte-BmcUd_IB.js → latte-CYYMtaGq.js} +1 -1
- package/dist/app/assets/{layout-DuqNnE4Q.js → layout-Cq9HzFXC.js} +1 -1
- package/dist/app/assets/{less-BkKGTsNG.js → less-B-rkr2Db.js} +1 -1
- package/dist/app/assets/{lilypond-TRnkZO7q.js → lilypond-BJWXSiTf.js} +1 -1
- package/dist/app/assets/{linear-B2fnwI3E.js → linear-DRDsgNmW.js} +1 -1
- package/dist/app/assets/{liquid-3GbzU7nV.js → liquid--20_a0Si.js} +1 -1
- package/dist/app/assets/{lisp-Ctqep9DR.js → lisp-B_0ZteJz.js} +1 -1
- package/dist/app/assets/{livescript-DNwquCT7.js → livescript-1Jx0SETD.js} +1 -1
- package/dist/app/assets/{llvm-8bucivb6.js → llvm-B9HfHMKf.js} +1 -1
- package/dist/app/assets/{log-B4FnkUTm.js → log-CRWfAu0Z.js} +1 -1
- package/dist/app/assets/{lolcode-BLeuVc1E.js → lolcode-DMRD9BNM.js} +1 -1
- package/dist/app/assets/{lua-DwjfNGtz.js → lua-D-hyZPBj.js} +1 -1
- package/dist/app/assets/{magma-hPFFx79G.js → magma-CIgc0Q1n.js} +1 -1
- package/dist/app/assets/{makefile-C2CZD5vB.js → makefile-CBunZoPa.js} +1 -1
- package/dist/app/assets/{markdown-j6Zktjvm.js → markdown-DvJvDbDy.js} +1 -1
- package/dist/app/assets/{markup-DfN4ymw-.js → markup-D3VPet1J.js} +1 -1
- package/dist/app/assets/{markup-templating-BPS4-nAP.js → markup-templating-D7DvUP7P.js} +1 -1
- package/dist/app/assets/{matlab-BGeJv0j8.js → matlab-CjKtwgDT.js} +1 -1
- package/dist/app/assets/{maxscript-CWrTjgBX.js → maxscript-CvzRNTSR.js} +1 -1
- package/dist/app/assets/{mel-DGQaHOGs.js → mel-DVwlWwS1.js} +1 -1
- package/dist/app/assets/{mermaid-CtEMQhrR.js → mermaid-mTOAb9I1.js} +1 -1
- package/dist/app/assets/{min-CuWVuwXA.js → min-6n2-iCAm.js} +1 -1
- package/dist/app/assets/{mindmap-definition-QFDTVHPH-BQCXLcu2.js → mindmap-definition-QFDTVHPH-eTB4aUJ6.js} +1 -1
- package/dist/app/assets/{mizar-DeUk256x.js → mizar-D1v4Nv22.js} +1 -1
- package/dist/app/assets/{mongodb-B5kYMXfv.js → mongodb-B6xPI5vi.js} +1 -1
- package/dist/app/assets/{monkey-8L561opU.js → monkey-8ZQGq2j6.js} +1 -1
- package/dist/app/assets/{moonscript-CDlMWHLd.js → moonscript-qkDyELmz.js} +1 -1
- package/dist/app/assets/{n1ql-a5aTcp96.js → n1ql-7qzjjhYg.js} +1 -1
- package/dist/app/assets/{n4js-B_W2iwdF.js → n4js--0WDRpBj.js} +1 -1
- package/dist/app/assets/{nand2tetris-hdl-5_Ma3Gcs.js → nand2tetris-hdl-zYT29X94.js} +1 -1
- package/dist/app/assets/{naniscript-DwmVzjHV.js → naniscript-BEKVFrJA.js} +1 -1
- package/dist/app/assets/{nasm-BwoisEaQ.js → nasm-BxgE8BWF.js} +1 -1
- package/dist/app/assets/{neon-BI73tyd0.js → neon-CRmkHhWg.js} +1 -1
- package/dist/app/assets/{nevod-D92PDZKZ.js → nevod-DqOKiweO.js} +1 -1
- package/dist/app/assets/{nginx-Dq9r1NIk.js → nginx-BepDunyM.js} +1 -1
- package/dist/app/assets/{nim-xjOEbIAk.js → nim-DOYwB93n.js} +1 -1
- package/dist/app/assets/{nix-EnMJgnc8.js → nix-OcEzpwWS.js} +1 -1
- package/dist/app/assets/{nsis-CH5H0EC_.js → nsis-WQEGbgSb.js} +1 -1
- package/dist/app/assets/{objectivec-BS9YPLvy.js → objectivec-B8PulHhQ.js} +1 -1
- package/dist/app/assets/{ocaml-DeaG5BlB.js → ocaml-DrKpTrGd.js} +1 -1
- package/dist/app/assets/{opencl-O9ymHk7H.js → opencl-DJD4I4Az.js} +1 -1
- package/dist/app/assets/{openqasm-aQT0V46D.js → openqasm-BzLNaS1E.js} +1 -1
- package/dist/app/assets/{oz-B2akcmUR.js → oz-CddQDW4N.js} +1 -1
- package/dist/app/assets/{parigp-xOQhi94u.js → parigp-DL9Pul5Z.js} +1 -1
- package/dist/app/assets/{parser-Bc5Qs2p0.js → parser-BaeyVs6E.js} +1 -1
- package/dist/app/assets/{pascal-DAR8ROsy.js → pascal-DZwRqOCW.js} +1 -1
- package/dist/app/assets/{pascaligo-DftNQckw.js → pascaligo-CglPcMbu.js} +1 -1
- package/dist/app/assets/{pcaxis-BMPF3He-.js → pcaxis-m1flL1nx.js} +1 -1
- package/dist/app/assets/{peoplecode-CC7E3WK2.js → peoplecode-BPZXOWEd.js} +1 -1
- package/dist/app/assets/{perl-BAXHKqGw.js → perl-DEj9sd22.js} +1 -1
- package/dist/app/assets/{php-Cj-RDbjB.js → php-ChAzX5Xy.js} +1 -1
- package/dist/app/assets/{php-extras-BKprAKx3.js → php-extras-BEC2cMHJ.js} +1 -1
- package/dist/app/assets/{phpdoc-bw2dAv0c.js → phpdoc-Efem6iWX.js} +1 -1
- package/dist/app/assets/{pieDiagram-DEJITSTG-8KZu5YaI.js → pieDiagram-DEJITSTG-I2O3vbig.js} +1 -1
- package/dist/app/assets/{plsql-Dw17XioY.js → plsql-Bgiemx8O.js} +1 -1
- package/dist/app/assets/{powerquery-Dj3cf27n.js → powerquery-DoH4a5fD.js} +1 -1
- package/dist/app/assets/{powershell-B_7q1eiT.js → powershell-CXwYZoB9.js} +1 -1
- package/dist/app/assets/{processing-DoFMi-hm.js → processing-BG-k24bE.js} +1 -1
- package/dist/app/assets/{prolog-e5E2hrDl.js → prolog-BQk3s9Cz.js} +1 -1
- package/dist/app/assets/{promql-DemahR4f.js → promql-Cn8XzgOs.js} +1 -1
- package/dist/app/assets/{properties-BMScPOms.js → properties-BzFCc7p8.js} +1 -1
- package/dist/app/assets/{protobuf-ClMTc4op.js → protobuf-DsVZomkz.js} +1 -1
- package/dist/app/assets/{psl-CNOWPWSJ.js → psl-BL1By2Di.js} +1 -1
- package/dist/app/assets/{pug-CN_LkEkF.js → pug-CJXPw-_y.js} +1 -1
- package/dist/app/assets/{puppet-DWy51Ujv.js → puppet-BgLD34yT.js} +1 -1
- package/dist/app/assets/{pure-DpqvZXoD.js → pure-D5KRS3X3.js} +1 -1
- package/dist/app/assets/{purebasic-HuZjA6iK.js → purebasic-BO_zjFwL.js} +1 -1
- package/dist/app/assets/{purescript-B_rypcfi.js → purescript-Ddc7moMi.js} +1 -1
- package/dist/app/assets/{q-DgWLKp8s.js → q-CsHjuzhk.js} +1 -1
- package/dist/app/assets/{qml-CS-KlEUk.js → qml-YbRFzx0z.js} +1 -1
- package/dist/app/assets/{qore-Du1o4lX4.js → qore-BFgUYB1S.js} +1 -1
- package/dist/app/assets/{qsharp-DyC4mLin.js → qsharp-DRh0td2A.js} +1 -1
- package/dist/app/assets/{quadrantDiagram-34T5L4WZ-B8NRWwee.js → quadrantDiagram-34T5L4WZ-sLTzbhk2.js} +1 -1
- package/dist/app/assets/{r-cjlCY8c-.js → r-5gqFGwLd.js} +1 -1
- package/dist/app/assets/{racket-HKASX9J6.js → racket-BgmD87H8.js} +1 -1
- package/dist/app/assets/{reason--QfwxdM6.js → reason-D_tR9ps8.js} +1 -1
- package/dist/app/assets/{regex-LRhyh4CM.js → regex-hcOGgwnQ.js} +1 -1
- package/dist/app/assets/{rego-DTntuhgD.js → rego-C0pl_3VC.js} +1 -1
- package/dist/app/assets/{renpy-Dkrt0VEv.js → renpy-lT_4OszV.js} +1 -1
- package/dist/app/assets/{requirementDiagram-MS252O5E-CaB6KEof.js → requirementDiagram-MS252O5E-CEJ8Rcnr.js} +1 -1
- package/dist/app/assets/{rest-BeNvB5yg.js → rest-BBI-g8mr.js} +1 -1
- package/dist/app/assets/{rip-Cy4A89Kt.js → rip-C3KbnjS_.js} +1 -1
- package/dist/app/assets/{roboconf-DFBsCjrv.js → roboconf-CoZ--fPi.js} +1 -1
- package/dist/app/assets/{robotframework-DvpHCUN3.js → robotframework-DY6-Pswb.js} +1 -1
- package/dist/app/assets/{ruby-C-cly0v1.js → ruby-Bs6f5Nvi.js} +1 -1
- package/dist/app/assets/{rust-ClRZWU0b.js → rust-D0f4oPW4.js} +1 -1
- package/dist/app/assets/{sankeyDiagram-XADWPNL6-DF9Djzs-.js → sankeyDiagram-XADWPNL6-Dx6TM5mU.js} +1 -1
- package/dist/app/assets/{sas-BEyyAboW.js → sas-RrsOkHla.js} +1 -1
- package/dist/app/assets/{sass-nWC6zoS4.js → sass-D3DRkshk.js} +1 -1
- package/dist/app/assets/{scala-DW3gR9J_.js → scala-2yub5Noi.js} +1 -1
- package/dist/app/assets/{scheme-D9mG68D-.js → scheme-DUUET_XL.js} +1 -1
- package/dist/app/assets/{scss-BQt6Rs6_.js → scss-mXwcbbk-.js} +1 -1
- package/dist/app/assets/{sequenceDiagram-FGHM5R23-CdtsuV-5.js → sequenceDiagram-FGHM5R23-9GU2p9Ma.js} +1 -1
- package/dist/app/assets/{shell-session-CS7lePBM.js → shell-session-DoXxry6a.js} +1 -1
- package/dist/app/assets/{smali-Cq5zcu4r.js → smali-BM6j_ZPX.js} +1 -1
- package/dist/app/assets/{smalltalk-B-yBsNi3.js → smalltalk-Bcd172Pc.js} +1 -1
- package/dist/app/assets/{smarty-BVg1RxB6.js → smarty-oKqEpnDS.js} +1 -1
- package/dist/app/assets/{sml-to26KERd.js → sml-B1upkj4b.js} +1 -1
- package/dist/app/assets/{solidity-Cuiioq2j.js → solidity-xeq40f3P.js} +1 -1
- package/dist/app/assets/{solution-file-DgQO4nmb.js → solution-file-DRFXyDTT.js} +1 -1
- package/dist/app/assets/{soy-D_5DFQlV.js → soy-OSBkuqMW.js} +1 -1
- package/dist/app/assets/{sparql-DOqsplC_.js → sparql-D3k_wEdU.js} +1 -1
- package/dist/app/assets/{splunk-spl-CEMVSRXA.js → splunk-spl-FKET7kp7.js} +1 -1
- package/dist/app/assets/{sqf-DTJB2erl.js → sqf-BSn0GDGB.js} +1 -1
- package/dist/app/assets/{sql-CdlOPIn3.js → sql-D6mgKQB5.js} +1 -1
- package/dist/app/assets/{squirrel-DCa0jh5a.js → squirrel-DFu-guJ8.js} +1 -1
- package/dist/app/assets/{stan-BhPssW9W.js → stan-CDr-fjyl.js} +1 -1
- package/dist/app/assets/{stateDiagram-FHFEXIEX-DAFPc-8q.js → stateDiagram-FHFEXIEX-z2DiLwCm.js} +1 -1
- package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-CHMZFZDU.js +1 -0
- package/dist/app/assets/{stylus-DICRhFyA.js → stylus-BFOCUvnx.js} +1 -1
- package/dist/app/assets/{swift-4kCmBqJY.js → swift-uHqpQZ6J.js} +1 -1
- package/dist/app/assets/{systemd-D9e_dugq.js → systemd-CYQNlgLz.js} +1 -1
- package/dist/app/assets/{t4-cs-85UBx4Yk.js → t4-cs-usG5jkwF.js} +1 -1
- package/dist/app/assets/{t4-templating-CRzRcmVy.js → t4-templating-D4wDOtGr.js} +1 -1
- package/dist/app/assets/{t4-vb-Bf2LyvyV.js → t4-vb-C1p1TL0w.js} +1 -1
- package/dist/app/assets/{tap-Th817yuG.js → tap-DFMBztgQ.js} +1 -1
- package/dist/app/assets/{tcl-8DeIll4K.js → tcl-BCt4zqi_.js} +1 -1
- package/dist/app/assets/{textile-BJFgn0rh.js → textile-Bloj03Mi.js} +1 -1
- package/dist/app/assets/{timeline-definition-GMOUNBTQ-Ck9tMTXM.js → timeline-definition-GMOUNBTQ-d06kVX17.js} +1 -1
- package/dist/app/assets/{toml-BaOjU24H.js → toml-BhS4WNxa.js} +1 -1
- package/dist/app/assets/{tremor-Ccd8rcUj.js → tremor-DviIbCpH.js} +1 -1
- package/dist/app/assets/{tt2-DWcil7vv.js → tt2-DE0j1lmS.js} +1 -1
- package/dist/app/assets/{turtle-Cy9j_Gx7.js → turtle-BxCayuSl.js} +1 -1
- package/dist/app/assets/{twig-BJdUKscP.js → twig-DtCkUjxy.js} +1 -1
- package/dist/app/assets/{typescript-CIJqbdNP.js → typescript-3pYqwxJ2.js} +1 -1
- package/dist/app/assets/{typoscript-OHj-fy40.js → typoscript-Dy8ykcri.js} +1 -1
- package/dist/app/assets/{unrealscript-q8qkQiED.js → unrealscript-C4Peef6q.js} +1 -1
- package/dist/app/assets/{uorazor-DdA66vNa.js → uorazor-91g1sfeu.js} +1 -1
- package/dist/app/assets/{uri-BEPzvcKj.js → uri-DDMRMgIp.js} +1 -1
- package/dist/app/assets/{v-CGH7mz4T.js → v-2gwj9f62.js} +1 -1
- package/dist/app/assets/{vala-CR1rbp5k.js → vala-CUiPsFoo.js} +1 -1
- package/dist/app/assets/{vbnet-CYW5csoH.js → vbnet-Zsyt2tdN.js} +1 -1
- package/dist/app/assets/{velocity-DV6L9NOs.js → velocity-CSkxzAQi.js} +1 -1
- package/dist/app/assets/{vennDiagram-DHZGUBPP-DyQ3L9Lf.js → vennDiagram-DHZGUBPP-eRSD5RJQ.js} +1 -1
- package/dist/app/assets/{verilog-BSCSzZqe.js → verilog-BtHxNyJ7.js} +1 -1
- package/dist/app/assets/{vhdl-D2chxwGU.js → vhdl-C0vU6j5h.js} +1 -1
- package/dist/app/assets/{vim-Dl0TZ9xX.js → vim-dvVtnnHy.js} +1 -1
- package/dist/app/assets/{visual-basic-7dTt3oNi.js → visual-basic-B-m3tLsh.js} +1 -1
- package/dist/app/assets/{wardley-RL74JXVD-ahT_LtaL.js → wardley-RL74JXVD-BgTJCIjC.js} +1 -1
- package/dist/app/assets/{wardleyDiagram-NUSXRM2D-MFWazalA.js → wardleyDiagram-NUSXRM2D-B19yXjvI.js} +1 -1
- package/dist/app/assets/{warpscript-PQ2WU7oS.js → warpscript-1YJK0eIR.js} +1 -1
- package/dist/app/assets/{wasm-By1rT3a-.js → wasm-B18nYup5.js} +1 -1
- package/dist/app/assets/{web-idl-BimQaw7Z.js → web-idl-DaaOjvPO.js} +1 -1
- package/dist/app/assets/{wiki-A9kUBHsB.js → wiki-6hqpglgh.js} +1 -1
- package/dist/app/assets/{wolfram-Bd0IwNTD.js → wolfram-uGnnCOiH.js} +1 -1
- package/dist/app/assets/{wren-DbnTzI0M.js → wren-BVgxyvFh.js} +1 -1
- package/dist/app/assets/{xeora-CiuLF24E.js → xeora-BIlCKODO.js} +1 -1
- package/dist/app/assets/{xml-doc-DxVuQAGZ.js → xml-doc-COhD3a_e.js} +1 -1
- package/dist/app/assets/{xojo-edH7Z19S.js → xojo-CffC0OLi.js} +1 -1
- package/dist/app/assets/{xquery-D8cwD4oE.js → xquery-BysER8W6.js} +1 -1
- package/dist/app/assets/{xychartDiagram-5P7HB3ND-nqWbeY47.js → xychartDiagram-5P7HB3ND-Ba1Vo7v6.js} +1 -1
- package/dist/app/assets/{yaml-Dq4ock1r.js → yaml-BjlUOXdf.js} +1 -1
- package/dist/app/assets/{yang-CmRaJ1fi.js → yang-CE61CGXZ.js} +1 -1
- package/dist/app/assets/{zig-mxEIubbp.js → zig-BwDJZvRM.js} +1 -1
- package/dist/app/index.html +2 -2
- package/dist/index.cjs +274 -137
- package/dist/index.js +274 -137
- package/package.json +3 -3
- package/dist/app/assets/channel-DUmZHumk.js +0 -1
- package/dist/app/assets/classDiagram-6PBFFD2Q-C0l0_wYE.js +0 -1
- package/dist/app/assets/classDiagram-v2-HSJHXN6E-C0l0_wYE.js +0 -1
- package/dist/app/assets/clone-BBm_TQET.js +0 -1
- package/dist/app/assets/index-DElrl_bY.css +0 -1
- package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-Btav3HrZ.js +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1405,12 +1405,23 @@ function countCompletedTodos(items) {
|
|
|
1405
1405
|
|
|
1406
1406
|
// src/lib/task-summary.ts
|
|
1407
1407
|
var PLAN_PATTERN = /<proposed_plan>\s*([\s\S]*?)\s*<\/proposed_plan>/i;
|
|
1408
|
+
var WEB_SEARCH_RESULT_PATTERN = /^Title:\s*(.+?)\r?\nURL:\s*(https?:\/\/\S+)\s*$/gim;
|
|
1409
|
+
var SANDBOX_FILE_OUTPUT_TOOLS = /* @__PURE__ */ new Set([
|
|
1410
|
+
"sandbox_write_file",
|
|
1411
|
+
"sandbox_append_file",
|
|
1412
|
+
"sandbox_edit_file",
|
|
1413
|
+
"sandbox_multi_edit_file"
|
|
1414
|
+
]);
|
|
1408
1415
|
function isObject(value) {
|
|
1409
1416
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
1410
1417
|
}
|
|
1411
1418
|
function stringValue(value) {
|
|
1412
1419
|
return typeof value === "string" && value.trim() ? value.trim() : void 0;
|
|
1413
1420
|
}
|
|
1421
|
+
function compactText(value, maxLength) {
|
|
1422
|
+
const normalized = value.replace(/\s+/g, " ").trim();
|
|
1423
|
+
return normalized.length <= maxLength ? normalized : `${normalized.slice(0, maxLength - 3).trimEnd()}...`;
|
|
1424
|
+
}
|
|
1414
1425
|
function timestamp(value) {
|
|
1415
1426
|
const parsed = value ? Date.parse(value) : 0;
|
|
1416
1427
|
return Number.isNaN(parsed) ? 0 : parsed;
|
|
@@ -1482,19 +1493,29 @@ function normalizeOutput(value) {
|
|
|
1482
1493
|
const id = stringValue(candidate.id);
|
|
1483
1494
|
const title = stringValue(candidate.title);
|
|
1484
1495
|
const kind = artifactKind(candidate.kind);
|
|
1485
|
-
|
|
1486
|
-
const
|
|
1496
|
+
const status = stringValue(candidate.status)?.toLowerCase();
|
|
1497
|
+
const normalizedStatus = status === "success" ? status : void 0;
|
|
1498
|
+
const resource = normalizeResource(candidate.resource);
|
|
1499
|
+
if (!id || !title || !kind || status !== void 0 && status !== "success" || !isOpenableOutputResource(resource)) {
|
|
1500
|
+
return null;
|
|
1501
|
+
}
|
|
1487
1502
|
return {
|
|
1488
1503
|
id,
|
|
1489
1504
|
kind,
|
|
1490
1505
|
title,
|
|
1491
1506
|
description: stringValue(candidate.description),
|
|
1492
|
-
status:
|
|
1493
|
-
resource
|
|
1507
|
+
status: normalizedStatus,
|
|
1508
|
+
resource,
|
|
1494
1509
|
messageId: stringValue(candidate.messageId),
|
|
1495
1510
|
updatedAt: stringValue(candidate.updatedAt)
|
|
1496
1511
|
};
|
|
1497
1512
|
}
|
|
1513
|
+
function isCompletedOpenableOutput(output) {
|
|
1514
|
+
return (output.status === void 0 || output.status === "success") && isOpenableOutputResource(output.resource);
|
|
1515
|
+
}
|
|
1516
|
+
function isOpenableOutputResource(resource) {
|
|
1517
|
+
return resource?.type === "workspace_file" || resource?.type === "artifact" || resource?.type === "url";
|
|
1518
|
+
}
|
|
1498
1519
|
function normalizeSource(value) {
|
|
1499
1520
|
if (!isObject(value)) return null;
|
|
1500
1521
|
const candidate = value;
|
|
@@ -1549,11 +1570,10 @@ function contributionFromPart(part) {
|
|
|
1549
1570
|
if (part.type !== "component" || !isObject(part.data)) return null;
|
|
1550
1571
|
const data = part.data;
|
|
1551
1572
|
const direct = normalizeTaskSummaryContribution(data.taskSummary);
|
|
1552
|
-
|
|
1553
|
-
if (!isObject(data._meta)) return null;
|
|
1554
|
-
return normalizeTaskSummaryContribution(
|
|
1573
|
+
const metadataContribution = isObject(data._meta) ? normalizeTaskSummaryContribution(
|
|
1555
1574
|
data._meta["xpertai/taskSummary"]
|
|
1556
|
-
);
|
|
1575
|
+
) : null;
|
|
1576
|
+
return direct ?? metadataContribution;
|
|
1557
1577
|
}
|
|
1558
1578
|
function extractPlan(message) {
|
|
1559
1579
|
const match = PLAN_PATTERN.exec(messageText(message.content));
|
|
@@ -1621,17 +1641,9 @@ function knownPartOutputs(part, message) {
|
|
|
1621
1641
|
if (part.type !== "component" || !isObject(part.data)) return [];
|
|
1622
1642
|
const data = part.data;
|
|
1623
1643
|
const outputs = [...contributionFromPart(part)?.outputs ?? []];
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
kind: "mcp_app",
|
|
1628
|
-
title: stringValue(data.title) ?? "MCP App",
|
|
1629
|
-
resource: message.id ? { type: "message", messageId: message.id } : void 0,
|
|
1630
|
-
messageId: message.id,
|
|
1631
|
-
updatedAt
|
|
1632
|
-
});
|
|
1633
|
-
}
|
|
1634
|
-
if (isObject(data.artifact)) {
|
|
1644
|
+
const sandboxOutput = sandboxFileOutput(data, message);
|
|
1645
|
+
if (sandboxOutput) outputs.push(sandboxOutput);
|
|
1646
|
+
if (isObject(data.artifact) && isCompletedOutputStatus(data.artifact.status)) {
|
|
1635
1647
|
const artifact = data.artifact;
|
|
1636
1648
|
const artifactId = stringValue(artifact.artifactId) ?? stringValue(artifact.id);
|
|
1637
1649
|
const workspacePath = stringValue(artifact.workspacePath);
|
|
@@ -1657,6 +1669,7 @@ function knownPartOutputs(part, message) {
|
|
|
1657
1669
|
for (const value of [data.artifactLink, data.file]) {
|
|
1658
1670
|
if (!isObject(value)) continue;
|
|
1659
1671
|
const artifact = value;
|
|
1672
|
+
if (!isCompletedOutputStatus(artifact.status)) continue;
|
|
1660
1673
|
const artifactId = stringValue(artifact.artifactId) ?? stringValue(artifact.id);
|
|
1661
1674
|
const workspacePath = stringValue(artifact.workspacePath);
|
|
1662
1675
|
const id = artifactId ?? stringValue(artifact.fileAssetId) ?? workspacePath;
|
|
@@ -1678,6 +1691,52 @@ function knownPartOutputs(part, message) {
|
|
|
1678
1691
|
}
|
|
1679
1692
|
return outputs;
|
|
1680
1693
|
}
|
|
1694
|
+
function sandboxFileOutput(data, message) {
|
|
1695
|
+
const tool = stringValue(data.tool);
|
|
1696
|
+
const status = stringValue(data.status)?.toLowerCase();
|
|
1697
|
+
if (!tool || !SANDBOX_FILE_OUTPUT_TOOLS.has(tool) || status !== "success" || !isObject(data.input)) {
|
|
1698
|
+
return void 0;
|
|
1699
|
+
}
|
|
1700
|
+
const workspacePath = portableWorkspacePath(
|
|
1701
|
+
data.input.file_path
|
|
1702
|
+
);
|
|
1703
|
+
if (!workspacePath) return void 0;
|
|
1704
|
+
return {
|
|
1705
|
+
id: `workspace-file:${workspacePath}`,
|
|
1706
|
+
kind: outputKindFromPath(workspacePath),
|
|
1707
|
+
title: workspacePath.split("/").at(-1) ?? workspacePath,
|
|
1708
|
+
status: "success",
|
|
1709
|
+
resource: { type: "workspace_file", workspacePath },
|
|
1710
|
+
messageId: message.id,
|
|
1711
|
+
updatedAt: message.updatedAt ?? message.createdAt
|
|
1712
|
+
};
|
|
1713
|
+
}
|
|
1714
|
+
function portableWorkspacePath(value) {
|
|
1715
|
+
const path = stringValue(value)?.replace(/\\/g, "/").replace(/^\.\/+/, "").replace(/\/{2,}/g, "/");
|
|
1716
|
+
if (!path || path.startsWith("/") || /^[a-z]:\//i.test(path) || path.split("/").some((segment) => segment === "..")) {
|
|
1717
|
+
return void 0;
|
|
1718
|
+
}
|
|
1719
|
+
return path;
|
|
1720
|
+
}
|
|
1721
|
+
function outputKindFromPath(path) {
|
|
1722
|
+
const extension = path.match(/\.([^./]+)$/)?.[1]?.toLowerCase();
|
|
1723
|
+
if (extension === "html" || extension === "htm") return "site";
|
|
1724
|
+
if (["png", "jpg", "jpeg", "gif", "webp", "svg", "avif"].includes(extension ?? ""))
|
|
1725
|
+
return "image";
|
|
1726
|
+
if (["csv", "xls", "xlsx", "ods"].includes(extension ?? ""))
|
|
1727
|
+
return "spreadsheet";
|
|
1728
|
+
if (["ppt", "pptx", "odp"].includes(extension ?? ""))
|
|
1729
|
+
return "presentation";
|
|
1730
|
+
if (["pdf", "doc", "docx", "md", "markdown", "txt", "rtf", "odt"].includes(
|
|
1731
|
+
extension ?? ""
|
|
1732
|
+
))
|
|
1733
|
+
return "document";
|
|
1734
|
+
return "file";
|
|
1735
|
+
}
|
|
1736
|
+
function isCompletedOutputStatus(value) {
|
|
1737
|
+
const status = stringValue(value)?.toLowerCase();
|
|
1738
|
+
return status === void 0 || status === "success";
|
|
1739
|
+
}
|
|
1681
1740
|
function sourceFromReference(reference, message) {
|
|
1682
1741
|
const updatedAt = message.updatedAt ?? message.createdAt;
|
|
1683
1742
|
const common = {
|
|
@@ -1750,25 +1809,42 @@ function fileSources(files, message) {
|
|
|
1750
1809
|
];
|
|
1751
1810
|
});
|
|
1752
1811
|
}
|
|
1753
|
-
function
|
|
1754
|
-
|
|
1755
|
-
|
|
1812
|
+
function webSearchSources(part, message) {
|
|
1813
|
+
if (part.type !== "component" || !isObject(part.data)) return [];
|
|
1814
|
+
const data = part.data;
|
|
1815
|
+
if (data.tool !== "web_search" || stringValue(data.status)?.toLowerCase() !== "success") {
|
|
1816
|
+
return [];
|
|
1817
|
+
}
|
|
1818
|
+
const output = stringValue(data.output);
|
|
1819
|
+
if (!output) return [];
|
|
1756
1820
|
const updatedAt = message.updatedAt ?? message.createdAt;
|
|
1757
|
-
const
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1821
|
+
const sources = [];
|
|
1822
|
+
for (const match of output.matchAll(WEB_SEARCH_RESULT_PATTERN)) {
|
|
1823
|
+
const rawTitle = stringValue(match[1]);
|
|
1824
|
+
const url = httpUrl(match[2]);
|
|
1825
|
+
if (!url) continue;
|
|
1826
|
+
const title = rawTitle && rawTitle.toLowerCase() !== "n/a" ? rawTitle : new URL(url).hostname;
|
|
1827
|
+
sources.push({
|
|
1828
|
+
id: `web:${url}`,
|
|
1829
|
+
kind: "web_page",
|
|
1830
|
+
title: compactText(title, 160),
|
|
1831
|
+
description: url,
|
|
1832
|
+
resource: { type: "url", url },
|
|
1833
|
+
messageId: message.id,
|
|
1834
|
+
updatedAt
|
|
1835
|
+
});
|
|
1836
|
+
}
|
|
1837
|
+
return sources;
|
|
1838
|
+
}
|
|
1839
|
+
function httpUrl(value) {
|
|
1840
|
+
const url = stringValue(value);
|
|
1841
|
+
if (!url) return void 0;
|
|
1842
|
+
try {
|
|
1843
|
+
const parsed = new URL(url);
|
|
1844
|
+
return parsed.protocol === "http:" || parsed.protocol === "https:" ? url : void 0;
|
|
1845
|
+
} catch {
|
|
1846
|
+
return void 0;
|
|
1847
|
+
}
|
|
1772
1848
|
}
|
|
1773
1849
|
function collectLiveTaskSummary({
|
|
1774
1850
|
messages,
|
|
@@ -1788,7 +1864,9 @@ function collectLiveTaskSummary({
|
|
|
1788
1864
|
(message) => extractPlan(message) ?? []
|
|
1789
1865
|
);
|
|
1790
1866
|
const agentRuns = messages.flatMap(
|
|
1791
|
-
(message) => (message.agentRuns ?? []).filter(
|
|
1867
|
+
(message) => (message.agentRuns ?? []).filter(
|
|
1868
|
+
(run) => run.category?.trim().toLowerCase() === "agent" && Boolean(run.parentId)
|
|
1869
|
+
).map((run) => ({
|
|
1792
1870
|
id: run.id,
|
|
1793
1871
|
parentId: run.parentId,
|
|
1794
1872
|
level: agentRunLevel(run, messages),
|
|
@@ -1796,7 +1874,7 @@ function collectLiveTaskSummary({
|
|
|
1796
1874
|
title: (run.agentKey ? agentNames?.get(run.agentKey) : void 0) ?? run.title ?? run.xpertName ?? run.agentKey ?? "Agent",
|
|
1797
1875
|
status: taskSummaryAgentStatus(run.status),
|
|
1798
1876
|
elapsedTime: run.elapsedTime,
|
|
1799
|
-
error: typeof run.error === "string" ? run.error : void 0,
|
|
1877
|
+
error: typeof run.error === "string" ? compactText(run.error, 160) : void 0,
|
|
1800
1878
|
messageId: message.id,
|
|
1801
1879
|
updatedAt: run.updatedAt ?? run.endedAt ?? run.startedAt ?? message.updatedAt
|
|
1802
1880
|
}))
|
|
@@ -1820,7 +1898,7 @@ function collectLiveTaskSummary({
|
|
|
1820
1898
|
(part) => knownPartOutputs(part, message)
|
|
1821
1899
|
)
|
|
1822
1900
|
)
|
|
1823
|
-
]),
|
|
1901
|
+
]).filter(isCompletedOpenableOutput),
|
|
1824
1902
|
sources: mergeLatest([
|
|
1825
1903
|
...contributions.flatMap((item) => item.sources ?? []).filter((source) => source.kind !== "sub_agent"),
|
|
1826
1904
|
...messages.flatMap((message) => [
|
|
@@ -1829,7 +1907,9 @@ function collectLiveTaskSummary({
|
|
|
1829
1907
|
),
|
|
1830
1908
|
...fileSources(message.fileAssets, message),
|
|
1831
1909
|
...fileSources(message.attachments, message),
|
|
1832
|
-
...
|
|
1910
|
+
...contentParts(message.content).flatMap(
|
|
1911
|
+
(part) => webSearchSources(part, message)
|
|
1912
|
+
)
|
|
1833
1913
|
])
|
|
1834
1914
|
]),
|
|
1835
1915
|
agents: mergeAgents(agentRuns),
|
|
@@ -1841,17 +1921,21 @@ function mergeTaskSummary(history, live, historySections) {
|
|
|
1841
1921
|
const outputs = mergeLatest([
|
|
1842
1922
|
...historySections?.outputs ?? history?.outputs.items ?? [],
|
|
1843
1923
|
...live.outputs
|
|
1844
|
-
]);
|
|
1924
|
+
]).filter(isCompletedOpenableOutput);
|
|
1845
1925
|
const sources = mergeLatest([
|
|
1846
1926
|
...historySections?.sources ?? history?.sources.items ?? [],
|
|
1847
1927
|
...live.sources
|
|
1848
1928
|
]);
|
|
1849
|
-
const
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1929
|
+
const historyAgents = historySections?.agents ?? history?.agents.items ?? [];
|
|
1930
|
+
const eligibleHistoryAgents = historyAgents.filter(
|
|
1931
|
+
(agent) => Boolean(agent.parentId)
|
|
1932
|
+
);
|
|
1933
|
+
const excludedHistoryAgentCount = historyAgents.length - eligibleHistoryAgents.length;
|
|
1934
|
+
const historyAgentTotal = Math.max(
|
|
1935
|
+
0,
|
|
1936
|
+
(history?.agents.total ?? 0) - excludedHistoryAgentCount
|
|
1937
|
+
);
|
|
1938
|
+
const agents = mergeAgents([...eligibleHistoryAgents, ...live.agents]);
|
|
1855
1939
|
const pending = mergePending([
|
|
1856
1940
|
...historySections?.pending ?? history?.pending.items ?? [],
|
|
1857
1941
|
...live.pending
|
|
@@ -1876,7 +1960,7 @@ function mergeTaskSummary(history, live, historySections) {
|
|
|
1876
1960
|
totals: {
|
|
1877
1961
|
outputs: Math.max(history?.outputs.total ?? 0, outputs.length),
|
|
1878
1962
|
sources: Math.max(history?.sources.total ?? 0, sources.length),
|
|
1879
|
-
agents: agents.length,
|
|
1963
|
+
agents: Math.max(historyAgentTotal, agents.length),
|
|
1880
1964
|
pending: Math.max(history?.pending.total ?? 0, pending.length)
|
|
1881
1965
|
}
|
|
1882
1966
|
};
|
|
@@ -2579,7 +2663,6 @@ var en_US_default = {
|
|
|
2579
2663
|
partial: "Partially ready",
|
|
2580
2664
|
failed: "Failed"
|
|
2581
2665
|
},
|
|
2582
|
-
poweredBy: "Powered by Xpert AI",
|
|
2583
2666
|
followUps: {
|
|
2584
2667
|
pending: "Pending follow-ups",
|
|
2585
2668
|
queue: "Queue",
|
|
@@ -2889,7 +2972,20 @@ var en_US_default = {
|
|
|
2889
2972
|
status: {
|
|
2890
2973
|
pending: "Pending",
|
|
2891
2974
|
in_progress: "In progress",
|
|
2892
|
-
completed: "Completed"
|
|
2975
|
+
completed: "Completed",
|
|
2976
|
+
active: "Active",
|
|
2977
|
+
paused: "Paused",
|
|
2978
|
+
blocked: "Blocked",
|
|
2979
|
+
usage_limited: "Usage limited",
|
|
2980
|
+
budget_limited: "Budget limited",
|
|
2981
|
+
complete: "Completed",
|
|
2982
|
+
success: "Completed",
|
|
2983
|
+
error: "Failed",
|
|
2984
|
+
running: "Running",
|
|
2985
|
+
starting: "Starting",
|
|
2986
|
+
stopping: "Stopping",
|
|
2987
|
+
timeout: "Timed out",
|
|
2988
|
+
interrupted: "Interrupted"
|
|
2893
2989
|
},
|
|
2894
2990
|
pending: {
|
|
2895
2991
|
approval: "Approval required",
|
|
@@ -3155,7 +3251,6 @@ var zh_CN_default = {
|
|
|
3155
3251
|
partial: "\u90E8\u5206\u5C31\u7EEA",
|
|
3156
3252
|
failed: "\u89E3\u6790\u5931\u8D25"
|
|
3157
3253
|
},
|
|
3158
|
-
poweredBy: "\u7531 Xpert AI \u9A71\u52A8",
|
|
3159
3254
|
followUps: {
|
|
3160
3255
|
pending: "\u5F85\u5904\u7406 Follow-up",
|
|
3161
3256
|
queue: "\u6392\u961F",
|
|
@@ -3465,7 +3560,20 @@ var zh_CN_default = {
|
|
|
3465
3560
|
status: {
|
|
3466
3561
|
pending: "\u5F85\u5904\u7406",
|
|
3467
3562
|
in_progress: "\u8FDB\u884C\u4E2D",
|
|
3468
|
-
completed: "\u5DF2\u5B8C\u6210"
|
|
3563
|
+
completed: "\u5DF2\u5B8C\u6210",
|
|
3564
|
+
active: "\u8FDB\u884C\u4E2D",
|
|
3565
|
+
paused: "\u5DF2\u6682\u505C",
|
|
3566
|
+
blocked: "\u5DF2\u963B\u585E",
|
|
3567
|
+
usage_limited: "\u7528\u91CF\u53D7\u9650",
|
|
3568
|
+
budget_limited: "\u9884\u7B97\u53D7\u9650",
|
|
3569
|
+
complete: "\u5DF2\u5B8C\u6210",
|
|
3570
|
+
success: "\u5DF2\u5B8C\u6210",
|
|
3571
|
+
error: "\u5931\u8D25",
|
|
3572
|
+
running: "\u8FD0\u884C\u4E2D",
|
|
3573
|
+
starting: "\u542F\u52A8\u4E2D",
|
|
3574
|
+
stopping: "\u505C\u6B62\u4E2D",
|
|
3575
|
+
timeout: "\u5DF2\u8D85\u65F6",
|
|
3576
|
+
interrupted: "\u5DF2\u4E2D\u65AD"
|
|
3469
3577
|
},
|
|
3470
3578
|
pending: {
|
|
3471
3579
|
approval: "\u9700\u8981\u5BA1\u6279",
|
|
@@ -3905,12 +4013,16 @@ function ThemeProvider({ children, theme: themeProp }) {
|
|
|
3905
4013
|
React2.useEffect(() => {
|
|
3906
4014
|
if (!themeRef.current) return;
|
|
3907
4015
|
const el = themeRef.current;
|
|
4016
|
+
const root = document.documentElement;
|
|
4017
|
+
const rootWasDark = root.classList.contains("dark");
|
|
3908
4018
|
const { colorScheme, radius, density, typography, color } = theme;
|
|
3909
4019
|
const isDarkMode2 = colorScheme === "dark";
|
|
3910
4020
|
if (isDarkMode2) {
|
|
3911
4021
|
el.classList.add("dark");
|
|
4022
|
+
root.classList.add("dark");
|
|
3912
4023
|
} else {
|
|
3913
4024
|
el.classList.remove("dark");
|
|
4025
|
+
root.classList.remove("dark");
|
|
3914
4026
|
}
|
|
3915
4027
|
if (radius) {
|
|
3916
4028
|
el.dataset.radius = radius;
|
|
@@ -3952,7 +4064,6 @@ function ThemeProvider({ children, theme: themeProp }) {
|
|
|
3952
4064
|
}
|
|
3953
4065
|
}
|
|
3954
4066
|
if (color) {
|
|
3955
|
-
const root = document.documentElement;
|
|
3956
4067
|
if (color.grayscale) {
|
|
3957
4068
|
const grayscaleColors = generateGrayscaleColors(color.grayscale, isDarkMode2);
|
|
3958
4069
|
Object.entries(grayscaleColors).forEach(([key, value]) => {
|
|
@@ -3999,8 +4110,8 @@ function ThemeProvider({ children, theme: themeProp }) {
|
|
|
3999
4110
|
}
|
|
4000
4111
|
setThemeRevision((current) => current + 1);
|
|
4001
4112
|
return () => {
|
|
4002
|
-
const root = document.documentElement;
|
|
4003
4113
|
el.classList.remove("dark");
|
|
4114
|
+
root.classList.toggle("dark", rootWasDark);
|
|
4004
4115
|
el.removeAttribute("data-radius");
|
|
4005
4116
|
el.removeAttribute("data-density");
|
|
4006
4117
|
el.style.removeProperty("--density-spacing");
|
|
@@ -20382,7 +20493,8 @@ function useTaskSummary({
|
|
|
20382
20493
|
enabled,
|
|
20383
20494
|
conversationId,
|
|
20384
20495
|
client,
|
|
20385
|
-
live
|
|
20496
|
+
live,
|
|
20497
|
+
refreshVersion = 0
|
|
20386
20498
|
}) {
|
|
20387
20499
|
const [loaded, setLoaded] = React59.useState(null);
|
|
20388
20500
|
const [historySections, setHistorySections] = React59.useState({});
|
|
@@ -20427,7 +20539,14 @@ function useTaskSummary({
|
|
|
20427
20539
|
abortSectionRequests();
|
|
20428
20540
|
requestVersionRef.current += 1;
|
|
20429
20541
|
};
|
|
20430
|
-
}, [
|
|
20542
|
+
}, [
|
|
20543
|
+
abortSectionRequests,
|
|
20544
|
+
client,
|
|
20545
|
+
conversationId,
|
|
20546
|
+
enabled,
|
|
20547
|
+
refreshVersion,
|
|
20548
|
+
retryVersion
|
|
20549
|
+
]);
|
|
20431
20550
|
const snapshot = loaded?.conversationId === conversationId ? loaded.snapshot : null;
|
|
20432
20551
|
const activeHistorySections = React59.useMemo(
|
|
20433
20552
|
() => historySectionsConversationId === conversationId ? historySections : {},
|
|
@@ -20469,13 +20588,7 @@ function useTaskSummary({
|
|
|
20469
20588
|
}
|
|
20470
20589
|
}
|
|
20471
20590
|
},
|
|
20472
|
-
[
|
|
20473
|
-
activeHistorySections,
|
|
20474
|
-
client,
|
|
20475
|
-
conversationId,
|
|
20476
|
-
enabled,
|
|
20477
|
-
loadingSections
|
|
20478
|
-
]
|
|
20591
|
+
[activeHistorySections, client, conversationId, enabled, loadingSections]
|
|
20479
20592
|
);
|
|
20480
20593
|
return {
|
|
20481
20594
|
summary: mergeTaskSummary(snapshot, live, activeHistorySections),
|
|
@@ -20580,6 +20693,7 @@ function TaskSummaryContent({
|
|
|
20580
20693
|
}) {
|
|
20581
20694
|
const { t } = useChatkitTranslation();
|
|
20582
20695
|
const [expanded, setExpanded] = React60.useState({});
|
|
20696
|
+
const [expandedLocal, setExpandedLocal] = React60.useState({});
|
|
20583
20697
|
const hasTask = Boolean(
|
|
20584
20698
|
summary.goal || summary.plan || summary.todos?.items.length
|
|
20585
20699
|
);
|
|
@@ -20594,6 +20708,12 @@ function TaskSummaryContent({
|
|
|
20594
20708
|
}
|
|
20595
20709
|
};
|
|
20596
20710
|
const sectionItems = (section, items) => expanded[section] ? items : items.slice(0, PREVIEW_SIZE);
|
|
20711
|
+
const localSectionItems = (section, items) => expandedLocal[section] ? items : items.slice(0, PREVIEW_SIZE);
|
|
20712
|
+
const localizedStatus = (status) => {
|
|
20713
|
+
if (!status) return void 0;
|
|
20714
|
+
const key = status.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
20715
|
+
return t(`taskSummary.status.${key}`, { defaultValue: status });
|
|
20716
|
+
};
|
|
20597
20717
|
const openSummaryItem = (resource, messageId, title) => {
|
|
20598
20718
|
if (resource?.type === "message") {
|
|
20599
20719
|
onNavigateMessage(resource.messageId);
|
|
@@ -20626,6 +20746,25 @@ function TaskSummaryContent({
|
|
|
20626
20746
|
}
|
|
20627
20747
|
);
|
|
20628
20748
|
};
|
|
20749
|
+
const localSectionAction = (section, total2) => {
|
|
20750
|
+
if (total2 <= PREVIEW_SIZE) return null;
|
|
20751
|
+
const isExpanded = Boolean(expandedLocal[section]);
|
|
20752
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
20753
|
+
"button",
|
|
20754
|
+
{
|
|
20755
|
+
type: "button",
|
|
20756
|
+
className: "mt-1 flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left text-sm text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground",
|
|
20757
|
+
onClick: () => setExpandedLocal((state) => ({
|
|
20758
|
+
...state,
|
|
20759
|
+
[section]: !isExpanded
|
|
20760
|
+
})),
|
|
20761
|
+
children: [
|
|
20762
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.ListChecks, { className: "size-3.5" }),
|
|
20763
|
+
isExpanded ? t("taskSummary.collapse") : t("taskSummary.viewAll", { count: total2 })
|
|
20764
|
+
]
|
|
20765
|
+
}
|
|
20766
|
+
);
|
|
20767
|
+
};
|
|
20629
20768
|
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "divide-y divide-border/70", children: [
|
|
20630
20769
|
Boolean(historyError) && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "m-3 flex items-start justify-between gap-3 rounded-lg border border-destructive/30 bg-destructive/5 px-3 py-2 text-xs text-destructive", children: [
|
|
20631
20770
|
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: t("taskSummary.historyError") }),
|
|
@@ -20642,52 +20781,41 @@ function TaskSummaryContent({
|
|
|
20642
20781
|
}
|
|
20643
20782
|
)
|
|
20644
20783
|
] }),
|
|
20645
|
-
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
20646
|
-
|
|
20647
|
-
|
|
20648
|
-
|
|
20649
|
-
|
|
20650
|
-
|
|
20651
|
-
|
|
20652
|
-
|
|
20653
|
-
|
|
20654
|
-
|
|
20655
|
-
|
|
20656
|
-
|
|
20657
|
-
|
|
20658
|
-
|
|
20659
|
-
|
|
20660
|
-
|
|
20661
|
-
|
|
20662
|
-
|
|
20663
|
-
|
|
20664
|
-
|
|
20665
|
-
|
|
20666
|
-
|
|
20667
|
-
|
|
20668
|
-
|
|
20669
|
-
|
|
20670
|
-
|
|
20671
|
-
|
|
20672
|
-
|
|
20673
|
-
|
|
20674
|
-
description: item.description,
|
|
20675
|
-
leading: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.BookOpen, { className: "size-4" }),
|
|
20676
|
-
trailing: item.resource && item.resource.type !== "message" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.ExternalLink, { className: "size-3.5" }) : void 0,
|
|
20677
|
-
onClick: () => openSummaryItem(item.resource, item.messageId, item.title)
|
|
20678
|
-
},
|
|
20679
|
-
item.id
|
|
20680
|
-
)),
|
|
20681
|
-
sectionAction("sources", summary.totals.sources)
|
|
20682
|
-
]
|
|
20683
|
-
}
|
|
20684
|
-
),
|
|
20784
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(SummarySection, { title: t("taskSummary.sections.outputs"), children: [
|
|
20785
|
+
summary.outputs.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SummaryPrompt, { onClick: onFocusComposer, children: t("taskSummary.createOutput") }) : sectionItems("outputs", summary.outputs).map((item) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
20786
|
+
SummaryButton,
|
|
20787
|
+
{
|
|
20788
|
+
title: item.title,
|
|
20789
|
+
metadata: localizedStatus(item.status),
|
|
20790
|
+
description: item.description,
|
|
20791
|
+
leading: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.FileOutput, { className: "size-4" }),
|
|
20792
|
+
trailing: item.resource && item.resource.type !== "message" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.ExternalLink, { className: "size-3.5" }) : void 0,
|
|
20793
|
+
onClick: () => openSummaryItem(item.resource, item.messageId, item.title)
|
|
20794
|
+
},
|
|
20795
|
+
item.id
|
|
20796
|
+
)),
|
|
20797
|
+
sectionAction("outputs", summary.totals.outputs)
|
|
20798
|
+
] }),
|
|
20799
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(SummarySection, { title: t("taskSummary.sections.sources"), children: [
|
|
20800
|
+
sectionItems("sources", summary.sources).map((item) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
20801
|
+
SummaryButton,
|
|
20802
|
+
{
|
|
20803
|
+
title: item.title,
|
|
20804
|
+
description: item.description,
|
|
20805
|
+
leading: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.BookOpen, { className: "size-4" }),
|
|
20806
|
+
trailing: item.resource && item.resource.type !== "message" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.ExternalLink, { className: "size-3.5" }) : void 0,
|
|
20807
|
+
onClick: () => openSummaryItem(item.resource, item.messageId, item.title)
|
|
20808
|
+
},
|
|
20809
|
+
item.id
|
|
20810
|
+
)),
|
|
20811
|
+
sectionAction("sources", summary.totals.sources)
|
|
20812
|
+
] }),
|
|
20685
20813
|
hasTask && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(SummarySection, { title: t("taskSummary.sections.task"), children: [
|
|
20686
20814
|
summary.goal && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
20687
20815
|
SummaryButton,
|
|
20688
20816
|
{
|
|
20689
20817
|
title: summary.goal.objective,
|
|
20690
|
-
|
|
20818
|
+
metadata: localizedStatus(summary.goal.status),
|
|
20691
20819
|
leading: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.Target, { className: "size-4" }),
|
|
20692
20820
|
onClick: onFocusComposer
|
|
20693
20821
|
}
|
|
@@ -20701,34 +20829,45 @@ function TaskSummaryContent({
|
|
|
20701
20829
|
onClick: () => summary.plan?.messageId ? onNavigateMessage(summary.plan.messageId) : onFocusComposer()
|
|
20702
20830
|
}
|
|
20703
20831
|
),
|
|
20704
|
-
(summary.todos?.items ?? []).
|
|
20832
|
+
localSectionItems("todos", summary.todos?.items ?? []).map(
|
|
20833
|
+
(todo) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
20834
|
+
SummaryButton,
|
|
20835
|
+
{
|
|
20836
|
+
title: todo.content,
|
|
20837
|
+
metadata: localizedStatus(todo.status),
|
|
20838
|
+
leading: todo.status === "completed" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.CheckCircle2, { className: "size-4 text-muted-foreground" }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.CircleEllipsis, { className: "size-4 text-muted-foreground" }),
|
|
20839
|
+
onClick: () => summary.todos?.messageId ? onNavigateMessage(summary.todos.messageId) : onFocusComposer()
|
|
20840
|
+
},
|
|
20841
|
+
todo.id
|
|
20842
|
+
)
|
|
20843
|
+
),
|
|
20844
|
+
localSectionAction("todos", summary.todos?.items.length ?? 0)
|
|
20845
|
+
] }),
|
|
20846
|
+
summary.running.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(SummarySection, { title: t("taskSummary.sections.running"), children: [
|
|
20847
|
+
localSectionItems("running", summary.running).map((item) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
20705
20848
|
SummaryButton,
|
|
20706
20849
|
{
|
|
20707
|
-
title:
|
|
20708
|
-
|
|
20709
|
-
|
|
20710
|
-
|
|
20850
|
+
title: item.title,
|
|
20851
|
+
metadata: localizedStatus(item.status),
|
|
20852
|
+
description: item.description,
|
|
20853
|
+
leading: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.PlayCircle, { className: "size-4" }),
|
|
20854
|
+
trailing: item.resource ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.ExternalLink, { className: "size-3.5" }) : void 0,
|
|
20855
|
+
onClick: () => item.resource && onOpenResource(item.resource, void 0, item.title)
|
|
20711
20856
|
},
|
|
20712
|
-
|
|
20713
|
-
))
|
|
20857
|
+
item.id
|
|
20858
|
+
)),
|
|
20859
|
+
localSectionAction("running", summary.running.length)
|
|
20714
20860
|
] }),
|
|
20715
|
-
summary.running.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SummarySection, { title: t("taskSummary.sections.running"), children: summary.running.slice(0, PREVIEW_SIZE).map((item) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
20716
|
-
SummaryButton,
|
|
20717
|
-
{
|
|
20718
|
-
title: item.title,
|
|
20719
|
-
description: item.description ?? item.status,
|
|
20720
|
-
leading: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.PlayCircle, { className: "size-4" }),
|
|
20721
|
-
trailing: item.resource ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.ExternalLink, { className: "size-3.5" }) : void 0,
|
|
20722
|
-
onClick: () => item.resource && onOpenResource(item.resource, void 0, item.title)
|
|
20723
|
-
},
|
|
20724
|
-
item.id
|
|
20725
|
-
)) }),
|
|
20726
20861
|
summary.agents.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(SummarySection, { title: t("taskSummary.sections.agents"), children: [
|
|
20727
20862
|
sectionItems("agents", summary.agents).map((item) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
20728
20863
|
SummaryButton,
|
|
20729
20864
|
{
|
|
20730
20865
|
title: item.title,
|
|
20731
|
-
|
|
20866
|
+
metadata: [
|
|
20867
|
+
localizedStatus(item.status),
|
|
20868
|
+
formatElapsed(item.elapsedTime)
|
|
20869
|
+
].filter(Boolean).join(" \xB7 "),
|
|
20870
|
+
description: item.error,
|
|
20732
20871
|
leading: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react36.Bot, { className: "size-4" }),
|
|
20733
20872
|
onClick: () => item.messageId ? onNavigateMessage(item.messageId) : onFocusComposer()
|
|
20734
20873
|
},
|
|
@@ -20776,16 +20915,20 @@ function SummaryPrompt({
|
|
|
20776
20915
|
}
|
|
20777
20916
|
function SummaryButton({
|
|
20778
20917
|
title,
|
|
20918
|
+
metadata,
|
|
20779
20919
|
description,
|
|
20780
20920
|
leading,
|
|
20781
20921
|
trailing,
|
|
20782
20922
|
onClick
|
|
20783
20923
|
}) {
|
|
20924
|
+
const tooltipText = [title, metadata, description].filter(Boolean);
|
|
20784
20925
|
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
20785
20926
|
"button",
|
|
20786
20927
|
{
|
|
20787
20928
|
type: "button",
|
|
20788
|
-
|
|
20929
|
+
title: tooltipText.join("\n"),
|
|
20930
|
+
"aria-disabled": !onClick,
|
|
20931
|
+
tabIndex: onClick ? 0 : -1,
|
|
20789
20932
|
onClick,
|
|
20790
20933
|
className: cn(
|
|
20791
20934
|
"flex w-full min-w-0 items-start gap-2.5 rounded-lg px-2 py-1.5 text-left transition-colors",
|
|
@@ -20796,6 +20939,7 @@ function SummaryButton({
|
|
|
20796
20939
|
leading && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "mt-0.5 shrink-0 text-muted-foreground", children: leading }),
|
|
20797
20940
|
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "min-w-0 flex-1", children: [
|
|
20798
20941
|
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "block truncate text-sm font-medium leading-5 text-foreground", children: title }),
|
|
20942
|
+
metadata && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "mt-0.5 block truncate text-xs text-muted-foreground", children: metadata }),
|
|
20799
20943
|
description && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "mt-0.5 block line-clamp-2 text-xs text-muted-foreground", children: description })
|
|
20800
20944
|
] }),
|
|
20801
20945
|
trailing && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "mt-0.5 text-muted-foreground", children: trailing })
|
|
@@ -21892,7 +22036,8 @@ function Chat({
|
|
|
21892
22036
|
enabled: taskSummaryEnabled,
|
|
21893
22037
|
conversationId: taskSummaryConversationId,
|
|
21894
22038
|
client: stream.client,
|
|
21895
|
-
live: liveTaskSummary
|
|
22039
|
+
live: liveTaskSummary,
|
|
22040
|
+
refreshVersion: stream.historyMessageLoadVersion
|
|
21896
22041
|
});
|
|
21897
22042
|
const navigateToTaskSummaryMessage = React61.useCallback(
|
|
21898
22043
|
async (messageId) => {
|
|
@@ -23730,7 +23875,7 @@ function Chat({
|
|
|
23730
23875
|
"data-slot": "chatkit-chat-composer",
|
|
23731
23876
|
"data-position": isInitialComposer ? "centered" : "bottom",
|
|
23732
23877
|
className: cn(
|
|
23733
|
-
"mx-auto w-full
|
|
23878
|
+
"mx-auto w-full max-w-2xl px-4 pb-4 pt-2 z-10 bg-background",
|
|
23734
23879
|
isInitialComposer ? "mb-auto" : "sticky bottom-0"
|
|
23735
23880
|
),
|
|
23736
23881
|
style: chatColumnStyle,
|
|
@@ -24007,7 +24152,7 @@ function Chat({
|
|
|
24007
24152
|
{
|
|
24008
24153
|
"data-slot": "composer-editor-surface",
|
|
24009
24154
|
className: cn(
|
|
24010
|
-
"relative flex min-h-[
|
|
24155
|
+
"relative flex min-h-[6.5rem] min-w-0 bg-background px-2 pt-2 pb-14",
|
|
24011
24156
|
"rounded-composer-editor"
|
|
24012
24157
|
),
|
|
24013
24158
|
children: [
|
|
@@ -24028,7 +24173,7 @@ function Chat({
|
|
|
24028
24173
|
onKeyDown: handleComposerKeyDown,
|
|
24029
24174
|
"data-placeholder": inputPlaceholder,
|
|
24030
24175
|
className: cn(
|
|
24031
|
-
"min-h-
|
|
24176
|
+
"min-h-10 max-h-36 w-full overflow-y-auto whitespace-pre-wrap break-words bg-transparent px-2 py-2 text-base leading-6 text-foreground outline-none",
|
|
24032
24177
|
"empty:before:pointer-events-none empty:before:text-muted-foreground empty:before:content-[attr(data-placeholder)]",
|
|
24033
24178
|
(missingConfig || isHistoryLoading || hasPendingInteractiveRequest) && "cursor-not-allowed opacity-50"
|
|
24034
24179
|
),
|
|
@@ -24183,14 +24328,6 @@ function Chat({
|
|
|
24183
24328
|
),
|
|
24184
24329
|
children: disclaimer.text
|
|
24185
24330
|
}
|
|
24186
|
-
),
|
|
24187
|
-
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
24188
|
-
"div",
|
|
24189
|
-
{
|
|
24190
|
-
"data-slot": "chat-footer",
|
|
24191
|
-
className: "relative mt-2 flex min-h-6 items-center justify-center gap-2 text-xs text-muted-foreground",
|
|
24192
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: t("chat.poweredBy") })
|
|
24193
|
-
}
|
|
24194
24331
|
)
|
|
24195
24332
|
]
|
|
24196
24333
|
}
|