@infinilabs/chat-message 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
- (function(A,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("react"),require("react-i18next"),require("clsx"),require("i18next"),require("lucide-react"),require("@ant-design/x-markdown"),require("zustand"),require("ahooks"),require("@infinilabs/attachments")):typeof define=="function"&&define.amd?define(["exports","react","react-i18next","clsx","i18next","lucide-react","@ant-design/x-markdown","zustand","ahooks","@infinilabs/attachments"],a):(A=typeof globalThis<"u"?globalThis:A||self,a(A.ChatMessage={},A.React,A.ReactI18next,A.clsx,A.i18n,A.LucideReact,A.xMarkdown,A.zustand,A.ahooks,A.attachments))})(this,(function(A,a,Y,ne,$e,E,Oe,_e,et,tt){"use strict";var me={exports:{}},ae={};/**
1
+ (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-20{top:calc(var(--spacing)*20)}.top-21{top:calc(var(--spacing)*21)}.top-full{top:100%}.right-4{right:calc(var(--spacing)*4)}.right-5{right:calc(var(--spacing)*5)}.right-full{right:100%}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-20{bottom:calc(var(--spacing)*20)}.bottom-full{bottom:100%}.left-2{left:calc(var(--spacing)*2)}.left-full{left:100%}.z-50{z-index:50}.z-1000{z-index:1000}.-mx-6{margin-inline:calc(var(--spacing)*-6)}.my-3{margin-block:calc(var(--spacing)*3)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-2{margin-right:calc(var(--spacing)*2)}.-mb-0\\.5{margin-bottom:calc(var(--spacing)*-.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-1\\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-\\[75\\%\\]{width:75%}.w-fit{width:fit-content}.w-full{width:100%}.w-full\\!{width:100%!important}.max-w-\\[85\\%\\]{max-width:85%}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-32{min-width:calc(var(--spacing)*32)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\\[\\#E4E5EF\\]{border-color:#e4e5ef}.border-\\[\\#E6E6E6\\]{border-color:#e6e6e6}.border-\\[\\#e5e5e5\\]{border-color:#e5e5e5}.border-black\\/12{border-color:#0000001f}@supports (color:color-mix(in lab,red,red)){.border-black\\/12{border-color:color-mix(in oklab,var(--color-black)12%,transparent)}}.border-black\\/15{border-color:#00000026}@supports (color:color-mix(in lab,red,red)){.border-black\\/15{border-color:color-mix(in oklab,var(--color-black)15%,transparent)}}.bg-\\[\\#1a1a1a\\]{background-color:#1a1a1a}.bg-\\[\\#666666\\]{background-color:#666}.bg-\\[\\#F5F5F5\\]{background-color:#f5f5f5}.bg-\\[\\#F7F7F7\\]{background-color:#f7f7f7}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-0\\!{padding:calc(var(--spacing)*0)!important}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-\\[2px\\]{padding:2px}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-1{padding-top:calc(var(--spacing)*1)}.pr-3{padding-right:calc(var(--spacing)*3)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-7{padding-left:calc(var(--spacing)*7)}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#8b8b8b\\]{color:#8b8b8b}.text-\\[\\#38C200\\]{color:#38c200}.text-\\[\\#333\\]{color:#333}.text-\\[\\#1990FF\\]{color:#1990ff}.text-\\[\\#333333\\]{color:#333}.text-\\[\\#666666\\]{color:#666}.text-\\[\\#999999\\]{color:#999}.text-black{color:var(--color-black)}.text-gray-600{color:var(--color-gray-600)}.text-white{color:var(--color-white)}.italic{font-style:italic}.opacity-0{opacity:0}.shadow-\\[0_2px_20px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:0 2px 20px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\\:text-\\[\\#0072FF\\]:is(:where(.group):hover *){color:#0072ff}}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\\:border-\\[\\#0072ff\\]\\!:hover{border-color:#0072ff!important}.hover\\:bg-\\[\\#EDEDED\\]:hover{background-color:#ededed}.hover\\:bg-\\[\\#F7F7F7\\]:hover{background-color:#f7f7f7}.hover\\:bg-black\\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-black\\/5:hover{background-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\\:text-\\[\\#0072ff\\]\\!:hover{color:#0072ff!important}.hover\\:text-\\[\\#ff4d4f\\]\\!:hover{color:#ff4d4f!important}}@media (min-width:48rem){.md\\:w-\\[610px\\]{width:610px}}.dark\\:border-\\[\\#3A3A3A\\]:where(.dark,.dark *){border-color:#3a3a3a}.dark\\:border-\\[\\#4e4e56\\]:where(.dark,.dark *){border-color:#4e4e56}.dark\\:border-\\[\\#272626\\]:where(.dark,.dark *){border-color:#272626}.dark\\:border-black\\/15:where(.dark,.dark *){border-color:#00000026}@supports (color:color-mix(in lab,red,red)){.dark\\:border-black\\/15:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-black)15%,transparent)}}.dark\\:border-white\\/15:where(.dark,.dark *){border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.dark\\:border-white\\/15:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.dark\\:bg-\\[\\#1E1E1E\\]:where(.dark,.dark *){background-color:#1e1e1e}.dark\\:bg-\\[\\#2A2A2A\\]:where(.dark,.dark *){background-color:#2a2a2a}.dark\\:bg-\\[\\#202126\\]\\!:where(.dark,.dark *){background-color:#202126!important}.dark\\:bg-\\[\\#A3A3A3\\]:where(.dark,.dark *){background-color:#a3a3a3}.dark\\:bg-black:where(.dark,.dark *){background-color:var(--color-black)}.dark\\:bg-gray-700:where(.dark,.dark *){background-color:var(--color-gray-700)}.dark\\:text-\\[\\#38C200\\]:where(.dark,.dark *){color:#38c200}.dark\\:text-\\[\\#1990FF\\]:where(.dark,.dark *){color:#1990ff}.dark\\:text-\\[\\#808080\\]:where(.dark,.dark *){color:gray}.dark\\:text-\\[\\#999999\\]:where(.dark,.dark *){color:#999}.dark\\:text-\\[\\#A3A3A3\\]:where(.dark,.dark *){color:#a3a3a3}.dark\\:text-\\[\\#D8D8D8\\]:where(.dark,.dark *){color:#d8d8d8}.dark\\:text-\\[\\#a6a6a6\\]:where(.dark,.dark *){color:#a6a6a6}.dark\\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\\:shadow-\\[0_2px_20px_rgba\\(255\\,255\\,255\\,0\\.1\\)\\]:where(.dark,.dark *){--tw-shadow:0 2px 20px var(--tw-shadow-color,#ffffff1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:drop-shadow-\\[0_0_6px_rgb\\(255\\,255\\,255\\)\\]:where(.dark,.dark *){--tw-drop-shadow-size:drop-shadow(0 0 6px var(--tw-drop-shadow-color,#fff));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}@media (hover:hover){.dark\\:group-hover\\:text-\\[\\#0072FF\\]:where(.dark,.dark *):is(:where(.group):hover *){color:#0072ff}.dark\\:hover\\:bg-\\[\\#2C2C2C\\]:where(.dark,.dark *):hover{background-color:#2c2c2c}.dark\\:hover\\:bg-\\[\\#3A3A3A\\]:where(.dark,.dark *):hover{background-color:#3a3a3a}.dark\\:hover\\:bg-white\\/5:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-white\\/5:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.\\[\\&_\\.ant-btn-icon\\]\\:flex .ant-btn-icon{display:flex}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}')),document.head.appendChild(r)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
+ (function(L,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("react"),require("react-i18next"),require("clsx"),require("i18next"),require("@ant-design/x-markdown"),require("lucide-react"),require("ahooks"),require("@infinilabs/attachments")):typeof define=="function"&&define.amd?define(["exports","react","react-i18next","clsx","i18next","@ant-design/x-markdown","lucide-react","ahooks","@infinilabs/attachments"],a):(L=typeof globalThis<"u"?globalThis:L||self,a(L.ChatMessage={},L.React,L.ReactI18next,L.clsx,L.i18n,L.xMarkdown,L.LucideReact,L.ahooks,L.attachments))})(this,(function(L,a,W,ae,He,Le,C,_e,$e){"use strict";var ge={exports:{}},oe={};/**
2
3
  * @license React
3
4
  * react-jsx-runtime.production.min.js
4
5
  *
@@ -6,7 +7,7 @@
6
7
  *
7
8
  * This source code is licensed under the MIT license found in the
8
9
  * LICENSE file in the root directory of this source tree.
9
- */var Pe;function st(){if(Pe)return ae;Pe=1;var r=a,n=Symbol.for("react.element"),u=Symbol.for("react.fragment"),f=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_={key:!0,ref:!0,__self:!0,__source:!0};function y(p,c,g){var i,j={},m=null,b=null;g!==void 0&&(m=""+g),c.key!==void 0&&(m=""+c.key),c.ref!==void 0&&(b=c.ref);for(i in c)f.call(c,i)&&!_.hasOwnProperty(i)&&(j[i]=c[i]);if(p&&p.defaultProps)for(i in c=p.defaultProps,c)j[i]===void 0&&(j[i]=c[i]);return{$$typeof:n,type:p,key:m,ref:b,props:j,_owner:l.current}}return ae.Fragment=u,ae.jsx=y,ae.jsxs=y,ae}var oe={};/**
10
+ */var Re;function et(){if(Re)return oe;Re=1;var r=a,n=Symbol.for("react.element"),f=Symbol.for("react.fragment"),u=Object.prototype.hasOwnProperty,c=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,v={key:!0,ref:!0,__self:!0,__source:!0};function y(x,i,g){var l,b={},m=null,j=null;g!==void 0&&(m=""+g),i.key!==void 0&&(m=""+i.key),i.ref!==void 0&&(j=i.ref);for(l in i)u.call(i,l)&&!v.hasOwnProperty(l)&&(b[l]=i[l]);if(x&&x.defaultProps)for(l in i=x.defaultProps,i)b[l]===void 0&&(b[l]=i[l]);return{$$typeof:n,type:x,key:m,ref:j,props:b,_owner:c.current}}return oe.Fragment=f,oe.jsx=y,oe.jsxs=y,oe}var ie={};/**
10
11
  * @license React
11
12
  * react-jsx-runtime.development.js
12
13
  *
@@ -14,19 +15,19 @@
14
15
  *
15
16
  * This source code is licensed under the MIT license found in the
16
17
  * LICENSE file in the root directory of this source tree.
17
- */var Le;function rt(){return Le||(Le=1,process.env.NODE_ENV!=="production"&&(function(){var r=a,n=Symbol.for("react.element"),u=Symbol.for("react.portal"),f=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),y=Symbol.for("react.provider"),p=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),i=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),b=Symbol.for("react.offscreen"),W=Symbol.iterator,J="@@iterator";function w(e){if(e===null||typeof e!="object")return null;var s=W&&e[W]||e[J];return typeof s=="function"?s:null}var x=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function S(e){{for(var s=arguments.length,o=new Array(s>1?s-1:0),d=1;d<s;d++)o[d-1]=arguments[d];ie("error",e,o)}}function ie(e,s,o){{var d=x.ReactDebugCurrentFrame,N=d.getStackAddendum();N!==""&&(s+="%s",o=o.concat([N]));var C=o.map(function(v){return String(v)});C.unshift("Warning: "+s),Function.prototype.apply.call(console[e],console,C)}}var le=!1,G=!1,ce=!1,q=!1,Q=!1,L;L=Symbol.for("react.module.reference");function de(e){return!!(typeof e=="string"||typeof e=="function"||e===f||e===_||Q||e===l||e===g||e===i||q||e===b||le||G||ce||typeof e=="object"&&e!==null&&(e.$$typeof===m||e.$$typeof===j||e.$$typeof===y||e.$$typeof===p||e.$$typeof===c||e.$$typeof===L||e.getModuleId!==void 0))}function we(e,s,o){var d=e.displayName;if(d)return d;var N=s.displayName||s.name||"";return N!==""?o+"("+N+")":o}function ge(e){return e.displayName||"Context"}function B(e){if(e==null)return null;if(typeof e.tag=="number"&&S("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case f:return"Fragment";case u:return"Portal";case _:return"Profiler";case l:return"StrictMode";case g:return"Suspense";case i:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case p:var s=e;return ge(s)+".Consumer";case y:var o=e;return ge(o._context)+".Provider";case c:return we(e,e.render,"ForwardRef");case j:var d=e.displayName||null;return d!==null?d:B(e.type)||"Memo";case m:{var N=e,C=N._payload,v=N._init;try{return B(v(C))}catch{return null}}}return null}var V=Object.assign,X=0,ke,$,F,ye,K,ue,H;function M(){}M.__reactDisabledLog=!0;function fe(){{if(X===0){ke=console.log,$=console.info,F=console.warn,ye=console.error,K=console.group,ue=console.groupCollapsed,H=console.groupEnd;var e={configurable:!0,enumerable:!0,value:M,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}X++}}function he(){{if(X--,X===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:V({},e,{value:ke}),info:V({},e,{value:$}),warn:V({},e,{value:F}),error:V({},e,{value:ye}),group:V({},e,{value:K}),groupCollapsed:V({},e,{value:ue}),groupEnd:V({},e,{value:H})})}X<0&&S("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var z=x.ReactCurrentDispatcher,xe;function U(e,s,o){{if(xe===void 0)try{throw Error()}catch(N){var d=N.stack.trim().match(/\n( *(at )?)/);xe=d&&d[1]||""}return`
18
- `+xe+e}}var ee=!1,te;{var Ee=typeof WeakMap=="function"?WeakMap:Map;te=new Ee}function ve(e,s){if(!e||ee)return"";{var o=te.get(e);if(o!==void 0)return o}var d;ee=!0;var N=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var C;C=z.current,z.current=null,fe();try{if(s){var v=function(){throw Error()};if(Object.defineProperty(v.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(v,[])}catch(P){d=P}Reflect.construct(e,[],v)}else{try{v.call()}catch(P){d=P}e.call(v.prototype)}}else{try{throw Error()}catch(P){d=P}e()}}catch(P){if(P&&d&&typeof P.stack=="string"){for(var k=P.stack.split(`
19
- `),O=d.stack.split(`
20
- `),T=k.length-1,R=O.length-1;T>=1&&R>=0&&k[T]!==O[R];)R--;for(;T>=1&&R>=0;T--,R--)if(k[T]!==O[R]){if(T!==1||R!==1)do if(T--,R--,R<0||k[T]!==O[R]){var I=`
21
- `+k[T].replace(" at new "," at ");return e.displayName&&I.includes("<anonymous>")&&(I=I.replace("<anonymous>",e.displayName)),typeof e=="function"&&te.set(e,I),I}while(T>=1&&R>=0);break}}}finally{ee=!1,z.current=C,he(),Error.prepareStackTrace=N}var re=e?e.displayName||e.name:"",Z=re?U(re):"";return typeof e=="function"&&te.set(e,Z),Z}function Ne(e,s,o){return ve(e,!1)}function Ce(e){var s=e.prototype;return!!(s&&s.isReactComponent)}function h(e,s,o){if(e==null)return"";if(typeof e=="function")return ve(e,Ce(e));if(typeof e=="string")return U(e);switch(e){case g:return U("Suspense");case i:return U("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case c:return Ne(e.render);case j:return h(e.type,s,o);case m:{var d=e,N=d._payload,C=d._init;try{return h(C(N),s,o)}catch{}}}return""}var D=Object.prototype.hasOwnProperty,Ue={},De=x.ReactDebugCurrentFrame;function je(e){if(e){var s=e._owner,o=h(e.type,e._source,s?s.type:null);De.setExtraStackFrame(o)}else De.setExtraStackFrame(null)}function Ft(e,s,o,d,N){{var C=Function.call.bind(D);for(var v in e)if(C(e,v)){var k=void 0;try{if(typeof e[v]!="function"){var O=Error((d||"React class")+": "+o+" type `"+v+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[v]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw O.name="Invariant Violation",O}k=e[v](s,v,d,o,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(T){k=T}k&&!(k instanceof Error)&&(je(N),S("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",d||"React class",o,v,typeof k),je(null)),k instanceof Error&&!(k.message in Ue)&&(Ue[k.message]=!0,je(N),S("Failed %s type: %s",o,k.message),je(null))}}}var At=Array.isArray;function Se(e){return At(e)}function Ot(e){{var s=typeof Symbol=="function"&&Symbol.toStringTag,o=s&&e[Symbol.toStringTag]||e.constructor.name||"Object";return o}}function Pt(e){try{return Be(e),!1}catch{return!0}}function Be(e){return""+e}function Ye(e){if(Pt(e))return S("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ot(e)),Be(e)}var Je=x.ReactCurrentOwner,Lt={key:!0,ref:!0,__self:!0,__source:!0},Ve,Ke;function It(e){if(D.call(e,"ref")){var s=Object.getOwnPropertyDescriptor(e,"ref").get;if(s&&s.isReactWarning)return!1}return e.ref!==void 0}function Wt(e){if(D.call(e,"key")){var s=Object.getOwnPropertyDescriptor(e,"key").get;if(s&&s.isReactWarning)return!1}return e.key!==void 0}function Mt(e,s){typeof e.ref=="string"&&Je.current}function Ut(e,s){{var o=function(){Ve||(Ve=!0,S("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}}function Dt(e,s){{var o=function(){Ke||(Ke=!0,S("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};o.isReactWarning=!0,Object.defineProperty(e,"ref",{get:o,configurable:!0})}}var Bt=function(e,s,o,d,N,C,v){var k={$$typeof:n,type:e,key:s,ref:o,props:v,_owner:C};return k._store={},Object.defineProperty(k._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(k,"_self",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.defineProperty(k,"_source",{configurable:!1,enumerable:!1,writable:!1,value:N}),Object.freeze&&(Object.freeze(k.props),Object.freeze(k)),k};function Yt(e,s,o,d,N){{var C,v={},k=null,O=null;o!==void 0&&(Ye(o),k=""+o),Wt(s)&&(Ye(s.key),k=""+s.key),It(s)&&(O=s.ref,Mt(s,N));for(C in s)D.call(s,C)&&!Lt.hasOwnProperty(C)&&(v[C]=s[C]);if(e&&e.defaultProps){var T=e.defaultProps;for(C in T)v[C]===void 0&&(v[C]=T[C])}if(k||O){var R=typeof e=="function"?e.displayName||e.name||"Unknown":e;k&&Ut(v,R),O&&Dt(v,R)}return Bt(e,k,O,N,d,Je.current,v)}}var Te=x.ReactCurrentOwner,ze=x.ReactDebugCurrentFrame;function se(e){if(e){var s=e._owner,o=h(e.type,e._source,s?s.type:null);ze.setExtraStackFrame(o)}else ze.setExtraStackFrame(null)}var Re;Re=!1;function Fe(e){return typeof e=="object"&&e!==null&&e.$$typeof===n}function Ge(){{if(Te.current){var e=B(Te.current.type);if(e)return`
18
+ */var Oe;function tt(){return Oe||(Oe=1,process.env.NODE_ENV!=="production"&&(function(){var r=a,n=Symbol.for("react.element"),f=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),v=Symbol.for("react.profiler"),y=Symbol.for("react.provider"),x=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),l=Symbol.for("react.suspense_list"),b=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),j=Symbol.for("react.offscreen"),R=Symbol.iterator,U="@@iterator";function w(e){if(e===null||typeof e!="object")return null;var s=R&&e[R]||e[U];return typeof s=="function"?s:null}var h=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function S(e){{for(var s=arguments.length,o=new Array(s>1?s-1:0),d=1;d<s;d++)o[d-1]=arguments[d];$("error",e,o)}}function $(e,s,o){{var d=h.ReactDebugCurrentFrame,E=d.getStackAddendum();E!==""&&(s+="%s",o=o.concat([E]));var N=o.map(function(k){return String(k)});N.unshift("Warning: "+s),Function.prototype.apply.call(console[e],console,N)}}var Z=!1,le=!1,ce=!1,J=!1,de=!1,pe;pe=Symbol.for("react.module.reference");function ue(e){return!!(typeof e=="string"||typeof e=="function"||e===u||e===v||de||e===c||e===g||e===l||J||e===j||Z||le||ce||typeof e=="object"&&e!==null&&(e.$$typeof===m||e.$$typeof===b||e.$$typeof===y||e.$$typeof===x||e.$$typeof===i||e.$$typeof===pe||e.getModuleId!==void 0))}function fe(e,s,o){var d=e.displayName;if(d)return d;var E=s.displayName||s.name||"";return E!==""?o+"("+E+")":o}function Ae(e){return e.displayName||"Context"}function Y(e){if(e==null)return null;if(typeof e.tag=="number"&&S("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case u:return"Fragment";case f:return"Portal";case v:return"Profiler";case c:return"StrictMode";case g:return"Suspense";case l:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case x:var s=e;return Ae(s)+".Consumer";case y:var o=e;return Ae(o._context)+".Provider";case i:return fe(e,e.render,"ForwardRef");case b:var d=e.displayName||null;return d!==null?d:Y(e.type)||"Memo";case m:{var E=e,N=E._payload,k=E._init;try{return Y(k(N))}catch{return null}}}return null}var K=Object.assign,z=0,ke,ve,ee,P,ye,we,he;function D(){}D.__reactDisabledLog=!0;function te(){{if(z===0){ke=console.log,ve=console.info,ee=console.warn,P=console.error,ye=console.group,we=console.groupCollapsed,he=console.groupEnd;var e={configurable:!0,enumerable:!0,value:D,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}z++}}function V(){{if(z--,z===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:K({},e,{value:ke}),info:K({},e,{value:ve}),warn:K({},e,{value:ee}),error:K({},e,{value:P}),group:K({},e,{value:ye}),groupCollapsed:K({},e,{value:we}),groupEnd:K({},e,{value:he})})}z<0&&S("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var X=h.ReactCurrentDispatcher,G;function q(e,s,o){{if(G===void 0)try{throw Error()}catch(E){var d=E.stack.trim().match(/\n( *(at )?)/);G=d&&d[1]||""}return`
19
+ `+G+e}}var xe=!1,Q;{var Ce=typeof WeakMap=="function"?WeakMap:Map;Q=new Ce}function be(e,s){if(!e||xe)return"";{var o=Q.get(e);if(o!==void 0)return o}var d;xe=!0;var E=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var N;N=X.current,X.current=null,te();try{if(s){var k=function(){throw Error()};if(Object.defineProperty(k.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(k,[])}catch(O){d=O}Reflect.construct(e,[],k)}else{try{k.call()}catch(O){d=O}e.call(k.prototype)}}else{try{throw Error()}catch(O){d=O}e()}}catch(O){if(O&&d&&typeof O.stack=="string"){for(var A=O.stack.split(`
20
+ `),F=d.stack.split(`
21
+ `),T=A.length-1,B=F.length-1;T>=1&&B>=0&&A[T]!==F[B];)B--;for(;T>=1&&B>=0;T--,B--)if(A[T]!==F[B]){if(T!==1||B!==1)do if(T--,B--,B<0||A[T]!==F[B]){var M=`
22
+ `+A[T].replace(" at new "," at ");return e.displayName&&M.includes("<anonymous>")&&(M=M.replace("<anonymous>",e.displayName)),typeof e=="function"&&Q.set(e,M),M}while(T>=1&&B>=0);break}}}finally{xe=!1,X.current=N,V(),Error.prepareStackTrace=E}var ne=e?e.displayName||e.name:"",_=ne?q(ne):"";return typeof e=="function"&&Q.set(e,_),_}function Ee(e,s,o){return be(e,!1)}function Ne(e){var s=e.prototype;return!!(s&&s.isReactComponent)}function se(e,s,o){if(e==null)return"";if(typeof e=="function")return be(e,Ne(e));if(typeof e=="string")return q(e);switch(e){case g:return q("Suspense");case l:return q("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case i:return Ee(e.render);case b:return se(e.type,s,o);case m:{var d=e,E=d._payload,N=d._init;try{return se(N(E),s,o)}catch{}}}return""}var H=Object.prototype.hasOwnProperty,p={},I=h.ReactDebugCurrentFrame;function je(e){if(e){var s=e._owner,o=se(e.type,e._source,s?s.type:null);I.setExtraStackFrame(o)}else I.setExtraStackFrame(null)}function Et(e,s,o,d,E){{var N=Function.call.bind(H);for(var k in e)if(N(e,k)){var A=void 0;try{if(typeof e[k]!="function"){var F=Error((d||"React class")+": "+o+" type `"+k+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[k]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw F.name="Invariant Violation",F}A=e[k](s,k,d,o,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(T){A=T}A&&!(A instanceof Error)&&(je(E),S("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",d||"React class",o,k,typeof A),je(null)),A instanceof Error&&!(A.message in p)&&(p[A.message]=!0,je(E),S("Failed %s type: %s",o,A.message),je(null))}}}var Nt=Array.isArray;function Se(e){return Nt(e)}function St(e){{var s=typeof Symbol=="function"&&Symbol.toStringTag,o=s&&e[Symbol.toStringTag]||e.constructor.name||"Object";return o}}function Tt(e){try{return Ye(e),!1}catch{return!0}}function Ye(e){return""+e}function Ve(e){if(Tt(e))return S("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",St(e)),Ye(e)}var We=h.ReactCurrentOwner,Bt={key:!0,ref:!0,__self:!0,__source:!0},Ue,Ke;function Pt(e){if(H.call(e,"ref")){var s=Object.getOwnPropertyDescriptor(e,"ref").get;if(s&&s.isReactWarning)return!1}return e.ref!==void 0}function Ft(e){if(H.call(e,"key")){var s=Object.getOwnPropertyDescriptor(e,"key").get;if(s&&s.isReactWarning)return!1}return e.key!==void 0}function Lt(e,s){typeof e.ref=="string"&&We.current}function Rt(e,s){{var o=function(){Ue||(Ue=!0,S("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}}function Ot(e,s){{var o=function(){Ke||(Ke=!0,S("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};o.isReactWarning=!0,Object.defineProperty(e,"ref",{get:o,configurable:!0})}}var Jt=function(e,s,o,d,E,N,k){var A={$$typeof:n,type:e,key:s,ref:o,props:k,_owner:N};return A._store={},Object.defineProperty(A._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(A,"_self",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.defineProperty(A,"_source",{configurable:!1,enumerable:!1,writable:!1,value:E}),Object.freeze&&(Object.freeze(A.props),Object.freeze(A)),A};function Mt(e,s,o,d,E){{var N,k={},A=null,F=null;o!==void 0&&(Ve(o),A=""+o),Ft(s)&&(Ve(s.key),A=""+s.key),Pt(s)&&(F=s.ref,Lt(s,E));for(N in s)H.call(s,N)&&!Bt.hasOwnProperty(N)&&(k[N]=s[N]);if(e&&e.defaultProps){var T=e.defaultProps;for(N in T)k[N]===void 0&&(k[N]=T[N])}if(A||F){var B=typeof e=="function"?e.displayName||e.name||"Unknown":e;A&&Rt(k,B),F&&Ot(k,B)}return Jt(e,A,F,E,d,We.current,k)}}var Te=h.ReactCurrentOwner,De=h.ReactDebugCurrentFrame;function re(e){if(e){var s=e._owner,o=se(e.type,e._source,s?s.type:null);De.setExtraStackFrame(o)}else De.setExtraStackFrame(null)}var Be;Be=!1;function Pe(e){return typeof e=="object"&&e!==null&&e.$$typeof===n}function qe(){{if(Te.current){var e=Y(Te.current.type);if(e)return`
22
23
 
23
- Check the render method of \``+e+"`."}return""}}function Jt(e){return""}var Qe={};function Vt(e){{var s=Ge();if(!s){var o=typeof e=="string"?e:e.displayName||e.name;o&&(s=`
24
+ Check the render method of \``+e+"`."}return""}}function Qt(e){return""}var Ie={};function Yt(e){{var s=qe();if(!s){var o=typeof e=="string"?e:e.displayName||e.name;o&&(s=`
24
25
 
25
- Check the top-level render call using <`+o+">.")}return s}}function Xe(e,s){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var o=Vt(s);if(Qe[o])return;Qe[o]=!0;var d="";e&&e._owner&&e._owner!==Te.current&&(d=" It was passed a child from "+B(e._owner.type)+"."),se(e),S('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',o,d),se(null)}}function He(e,s){{if(typeof e!="object")return;if(Se(e))for(var o=0;o<e.length;o++){var d=e[o];Fe(d)&&Xe(d,s)}else if(Fe(e))e._store&&(e._store.validated=!0);else if(e){var N=w(e);if(typeof N=="function"&&N!==e.entries)for(var C=N.call(e),v;!(v=C.next()).done;)Fe(v.value)&&Xe(v.value,s)}}}function Kt(e){{var s=e.type;if(s==null||typeof s=="string")return;var o;if(typeof s=="function")o=s.propTypes;else if(typeof s=="object"&&(s.$$typeof===c||s.$$typeof===j))o=s.propTypes;else return;if(o){var d=B(s);Ft(o,e.props,"prop",d,e)}else if(s.PropTypes!==void 0&&!Re){Re=!0;var N=B(s);S("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",N||"Unknown")}typeof s.getDefaultProps=="function"&&!s.getDefaultProps.isReactClassApproved&&S("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function zt(e){{for(var s=Object.keys(e.props),o=0;o<s.length;o++){var d=s[o];if(d!=="children"&&d!=="key"){se(e),S("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",d),se(null);break}}e.ref!==null&&(se(e),S("Invalid attribute `ref` supplied to `React.Fragment`."),se(null))}}var Ze={};function qe(e,s,o,d,N,C){{var v=de(e);if(!v){var k="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(k+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var O=Jt();O?k+=O:k+=Ge();var T;e===null?T="null":Se(e)?T="array":e!==void 0&&e.$$typeof===n?(T="<"+(B(e.type)||"Unknown")+" />",k=" Did you accidentally export a JSX literal instead of a component?"):T=typeof e,S("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",T,k)}var R=Yt(e,s,o,N,C);if(R==null)return R;if(v){var I=s.children;if(I!==void 0)if(d)if(Se(I)){for(var re=0;re<I.length;re++)He(I[re],e);Object.freeze&&Object.freeze(I)}else S("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else He(I,e)}if(D.call(s,"key")){var Z=B(e),P=Object.keys(s).filter(function(qt){return qt!=="key"}),Ae=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!Ze[Z+Ae]){var Zt=P.length>0?"{"+P.join(": ..., ")+": ...}":"{}";S(`A props object containing a "key" prop is being spread into JSX:
26
+ Check the top-level render call using <`+o+">.")}return s}}function Ze(e,s){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var o=Yt(s);if(Ie[o])return;Ie[o]=!0;var d="";e&&e._owner&&e._owner!==Te.current&&(d=" It was passed a child from "+Y(e._owner.type)+"."),re(e),S('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',o,d),re(null)}}function ze(e,s){{if(typeof e!="object")return;if(Se(e))for(var o=0;o<e.length;o++){var d=e[o];Pe(d)&&Ze(d,s)}else if(Pe(e))e._store&&(e._store.validated=!0);else if(e){var E=w(e);if(typeof E=="function"&&E!==e.entries)for(var N=E.call(e),k;!(k=N.next()).done;)Pe(k.value)&&Ze(k.value,s)}}}function Vt(e){{var s=e.type;if(s==null||typeof s=="string")return;var o;if(typeof s=="function")o=s.propTypes;else if(typeof s=="object"&&(s.$$typeof===i||s.$$typeof===b))o=s.propTypes;else return;if(o){var d=Y(s);Et(o,e.props,"prop",d,e)}else if(s.PropTypes!==void 0&&!Be){Be=!0;var E=Y(s);S("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",E||"Unknown")}typeof s.getDefaultProps=="function"&&!s.getDefaultProps.isReactClassApproved&&S("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Wt(e){{for(var s=Object.keys(e.props),o=0;o<s.length;o++){var d=s[o];if(d!=="children"&&d!=="key"){re(e),S("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",d),re(null);break}}e.ref!==null&&(re(e),S("Invalid attribute `ref` supplied to `React.Fragment`."),re(null))}}var Xe={};function Ge(e,s,o,d,E,N){{var k=ue(e);if(!k){var A="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(A+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var F=Qt();F?A+=F:A+=qe();var T;e===null?T="null":Se(e)?T="array":e!==void 0&&e.$$typeof===n?(T="<"+(Y(e.type)||"Unknown")+" />",A=" Did you accidentally export a JSX literal instead of a component?"):T=typeof e,S("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",T,A)}var B=Mt(e,s,o,E,N);if(B==null)return B;if(k){var M=s.children;if(M!==void 0)if(d)if(Se(M)){for(var ne=0;ne<M.length;ne++)ze(M[ne],e);Object.freeze&&Object.freeze(M)}else S("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ze(M,e)}if(H.call(s,"key")){var _=Y(e),O=Object.keys(s).filter(function(Zt){return Zt!=="key"}),Fe=O.length>0?"{key: someKey, "+O.join(": ..., ")+": ...}":"{key: someKey}";if(!Xe[_+Fe]){var It=O.length>0?"{"+O.join(": ..., ")+": ...}":"{}";S(`A props object containing a "key" prop is being spread into JSX:
26
27
  let props = %s;
27
28
  <%s {...props} />
28
29
  React keys must be passed directly to JSX without using spread:
29
30
  let props = %s;
30
- <%s key={someKey} {...props} />`,Ae,Z,Zt,Z),Ze[Z+Ae]=!0}}return e===f?zt(R):Kt(R),R}}function Gt(e,s,o){return qe(e,s,o,!0)}function Qt(e,s,o){return qe(e,s,o,!1)}var Xt=Qt,Ht=Gt;oe.Fragment=f,oe.jsx=Xt,oe.jsxs=Ht})()),oe}var Ie;function nt(){return Ie||(Ie=1,process.env.NODE_ENV==="production"?me.exports=st():me.exports=rt()),me.exports}var t=nt();const at={en:{translation:{assistant:{message:{logo:"Coco AI Logo",aiName:"Coco AI",thinkingButton:"View thinking process",steps:{query_intent:"Understand the query",tools:"Call LLM Tools",source_zero:"Searching for relevant documents",fetch_source:"Retrieve {{count}} documents",pick_source:"Intelligent pick {{count}} results",pick_source_start:"Intelligently pre-selecting",deep_read:"Deep reading",think:"AI is thinking...",thoughtTime:"Thought for a few seconds",keywords:"Keywords",questionType:"Query Type",userIntent:"User Intent",relatedQuestions:"Query",suggestion:"Suggestion",informationSeeking:"Information Seeking"}}},sessionFiles:{labels:{all:"All"},modal:{title:"Files in the conversation",description:"Only the selected files will participate in the current conversation."}}}},zh:{translation:{assistant:{message:{logo:"Coco AI 图标",aiName:"Coco AI",thinkingButton:"查看思考过程",steps:{query_intent:"理解查询",tools:"调用大模型工具",source_zero:"正在搜索相关文档",fetch_source:"检索 {{count}} 份文档",pick_source:"智能预选 {{count}} 个结果",pick_source_start:"正在智能预选",deep_read:"深度阅读",think:"AI 正在思考...",thoughtTime:"思考了数秒",keywords:"关键词",questionType:"查询类型",userIntent:"用户意图",relatedQuestions:"查询",suggestion:"建议",informationSeeking:"信息查询"}}},sessionFiles:{labels:{all:"全部"},modal:{title:"会话中的文件",description:"只有选定的文件才会参与当前会话。"}}}}},We=$e.createInstance();We.use(Y.initReactI18next).init({resources:at,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const ot="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3e%3ccircle%20cx='50'%20cy='50'%20r='40'%20stroke='black'%20stroke-width='3'%20fill='red'%20/%3e%3c/svg%3e";function pe({size:r=18,children:n,className:u,title:f,onClick:l,action:_=!1,...y}){const p=c=>{l?.(c)};return t.jsx("i",{style:{width:r,height:r},title:f,onClick:p,className:ne("inline-flex items-center justify-center rounded-sm p-[2px] transition-all",{"cursor-pointer":_},u),children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",style:{width:"100%",height:"100%"},...y,children:n})})}function it(r){return t.jsx(pe,{...r,viewBox:"0 0 16 16",children:t.jsx("g",{id:"Understand",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsxs("g",{id:"编组",transform:"translate(0.5, 0.5)",stroke:"currentColor",strokeWidth:"1.25",children:[t.jsx("path",{d:"M7.44444444,3 C9.89904333,3 11.8888889,4.95366655 11.8888889,7.36363636 C11.8888889,9.06711551 10.8946979,10.5426108 9.44492275,11.2613085 L9.44444444,12.2727273 C9.44444444,13.3772968 8.54901394,14.2727273 7.44444444,14.2727273 C6.33987494,14.2727273 5.44444444,13.3772968 5.44444444,12.2727273 L5.44396614,11.2613085 C3.99419095,10.5426108 3,9.06711551 3,7.36363636 C3,4.95366655 4.98984556,3 7.44444444,3 Z",id:"形状结合"}),t.jsx("line",{x1:"5.5",y1:"11.2156017",x2:"9.5",y2:"11.2156017",id:"路径-11"}),t.jsx("line",{x1:"7.44444444",y1:"10.6363636",x2:"7.44444444",y2:"8.45454545",id:"路径-12"}),t.jsx("line",{x1:"7.44444444",y1:"0.818181818",x2:"7.44444444",y2:"0.272727273",id:"路径-12备份"}),t.jsx("line",{x1:"12.352383",y1:"2.81770629",x2:"12.3574335",y2:"2.26720124",id:"路径-12备份",transform:"translate(12.3549, 2.5425) rotate(45) translate(-12.3549, -2.5425)"}),t.jsx("line",{x1:"14.3888889",y1:"7.64141414",x2:"14.3888889",y2:"7.08585859",id:"路径-12备份",transform:"translate(14.3889, 7.3636) rotate(90) translate(-14.3889, -7.3636)"}),t.jsx("line",{x1:"12.3574335",y1:"12.4600715",x2:"12.352383",y2:"11.9095664",id:"路径-12备份",transform:"translate(12.3549, 12.1848) rotate(135) translate(-12.3549, -12.1848)"}),t.jsx("line",{x1:"2.53145543",y1:"12.4600715",x2:"2.53650594",y2:"11.9095664",id:"路径-12备份",transform:"translate(2.534, 12.1848) rotate(225) translate(-2.534, -12.1848)"}),t.jsx("line",{x1:"0.5",y1:"7.64141414",x2:"0.5",y2:"7.08585859",id:"路径-12备份",transform:"translate(0.5, 7.3636) rotate(270) translate(-0.5, -7.3636)"}),t.jsx("line",{x1:"2.53650594",y1:"2.81770629",x2:"2.53145543",y2:"2.26720124",id:"路径-12备份",transform:"translate(2.534, 2.5425) rotate(315) translate(-2.534, -2.5425)"}),t.jsx("polyline",{id:"路径-15",transform:"translate(7.4398, 6.7308) rotate(-45) translate(-7.4398, -6.7308)",points:"6.33632897 5.60310185 6.3568375 7.83853192 8.5432888 7.85859111"})]})})})}const lt=({Detail:r,ChunkData:n,getSuggestion:u,loading:f})=>{const{t:l}=Y.useTranslation(),[_,y]=a.useState(!1),[p,c]=a.useState(null);return a.useEffect(()=>{r?.payload&&(c(r?.payload),r?.payload?.suggestion&&u&&u(r?.payload?.suggestion))},[r?.payload,u]),a.useEffect(()=>{if(n?.message_chunk&&!f)try{const i=n.message_chunk.replace(/^"|"$/g,"").match(/<JSON>([\s\S]*?)<\/JSON>/g);if(i){const m=i[i.length-1].replace(/<JSON>|<\/JSON>/g,""),b=JSON.parse(m);b?.suggestion&&u&&u(b?.suggestion),c(b)}}catch(g){console.error("Failed to process message chunk in QueryIntent:",g)}},[n?.message_chunk,f,u]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>y(g=>!g),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[f?t.jsxs(t.Fragment,{children:[t.jsx(E.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:l(`assistant.message.steps.${n?.chunk_type||r.type}`)})]}):t.jsxs(t.Fragment,{children:[t.jsx(it,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:l(`assistant.message.steps.${n?.chunk_type||r.type}`)})]}),_?t.jsx(E.ChevronUp,{className:"w-4 h-4"}):t.jsx(E.ChevronDown,{className:"w-4 h-4"})]}),_&&t.jsx("div",{className:"pl-2 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:t.jsxs("div",{className:"mb-4 space-y-2 text-xs",children:[p?.keyword?t.jsxs("div",{className:"flex gap-1",children:[t.jsxs("span",{className:"text-[#999999]",children:["- ",l("assistant.message.steps.keywords"),":"]}),t.jsx("div",{className:"flex flex-wrap gap-1",children:p?.keyword?.map((g,i)=>t.jsxs("span",{className:"text-[#333333] dark:text-[#D8D8D8]",children:[g,i<2&&"、"]},g+i))})]}):null,p?.category?t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsxs("span",{className:"text-[#999999]",children:["- ",l("assistant.message.steps.questionType"),":"]}),t.jsx("span",{className:"text-[#333333] dark:text-[#D8D8D8]",children:p?.category})]}):null,p?.intent?t.jsxs("div",{className:"flex items-start gap-1",children:[t.jsxs("span",{className:"text-[#999999]",children:["- ",l("assistant.message.steps.userIntent"),":"]}),t.jsx("div",{className:"flex-1 text-[#333333] dark:text-[#D8D8D8]",children:p?.intent})]}):null,p?.query?t.jsxs("div",{className:"flex items-start gap-1",children:[t.jsxs("span",{className:"text-[#999999]",children:["- ",l("assistant.message.steps.relatedQuestions"),":"]}),t.jsx("div",{className:"flex-1 flex flex-col text-[#333333] dark:text-[#D8D8D8]",children:p?.query?.map((g,i)=>t.jsxs("span",{children:["- ",g]},g+i))})]}):null]})})})]})},ct=({Detail:r,ChunkData:n,loading:u})=>{const{t:f}=Y.useTranslation(),[l,_]=a.useState(!1),[y,p]=a.useState("");return a.useEffect(()=>{r?.description&&p(r?.description)},[r?.description]),a.useEffect(()=>{n?.message_chunk&&p(n?.message_chunk)},[n?.message_chunk,y]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>_(c=>!c),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[u?t.jsxs(t.Fragment,{children:[t.jsx(E.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:f(`assistant.message.steps.${n?.chunk_type}`)})]}):t.jsxs(t.Fragment,{children:[t.jsx(E.Hammer,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:f(`assistant.message.steps.${n?.chunk_type}`)})]}),l?t.jsx(E.ChevronUp,{className:"w-4 h-4"}):t.jsx(E.ChevronDown,{className:"w-4 h-4"})]}),l&&t.jsx("div",{className:"pl-2 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:t.jsx(Oe.XMarkdown,{content:y||""})})})]})},Me=async r=>{navigator.clipboard?await navigator.clipboard.writeText(r):console.log("Clipboard not available",r)},dt=r=>{window.open(r,"_blank")};function ut(r){return t.jsx(pe,{...r,viewBox:"0 0 16 16",children:t.jsxs("g",{id:"Retrieve",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("line",{x1:"10.8977456",y1:"14.5",x2:"14",y2:"10.9204757",id:"路径",stroke:"currentColor",strokeWidth:"1.25",transform:"translate(12.4489, 12.7102) scale(-1, 1) translate(-12.4489, -12.7102)"}),t.jsx("circle",{id:"椭圆形",stroke:"currentColor",strokeWidth:"1.25",transform:"translate(7.5, 7) scale(-1, 1) translate(-7.5, -7)",cx:"7.5",cy:"7",r:"5"})]})})}const ft=({Detail:r,ChunkData:n,loading:u,formatUrl:f})=>{const{t:l}=Y.useTranslation(),[_,y]=a.useState(!1),[p,c]=a.useState(0),[g,i]=a.useState([]);a.useEffect(()=>{r?.payload&&(i(r?.payload),c(r?.payload.length))},[r?.payload]),a.useEffect(()=>{if(n?.message_chunk&&!u)try{const m=n.message_chunk.match(/<Payload total=(\d+)>/);m&&c(Number(m[1]));const b=n.message_chunk.match(/\[([\s\S]*)\]/);if(b){const W=JSON.parse(b[0]);i(W)}}catch(m){console.error("Failed to parse fetch source data:",m)}},[n?.message_chunk,u]);const j=m=>()=>{const b=f&&f(m)||m.url;b&&dt(b)};return!n&&!r?null:t.jsxs("div",{className:`mt-2 mb-2 max-w-full w-full md:w-[610px] ${_?"rounded-lg overflow-hidden border border-[#E6E6E6] dark:border-[#272626]":""}`,children:[t.jsxs("button",{onClick:()=>y(m=>!m),className:`inline-flex justify-between items-center gap-2 px-2 py-1 rounded-xl transition-colors whitespace-nowrap ${_?"w-full":"border border-[#E6E6E6] dark:border-[#272626]"}`,children:[t.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[t.jsx(ut,{className:"w-4 h-4 text-[#38C200] shrink-0"}),t.jsx("span",{className:"text-xs text-[#999999]",children:l(`assistant.message.steps.${n?.chunk_type||r.type}`,{count:Number(p)})})]}),_?t.jsx(E.ChevronUp,{className:"w-4 h-4 text-[#999999]"}):t.jsx(E.ChevronDown,{className:"w-4 h-4 text-[#999999]"})]}),_&&t.jsx(t.Fragment,{children:g?.map((m,b)=>t.jsx("div",{onClick:j(m),className:"group flex items-center p-2 hover:bg-[#F7F7F7] dark:hover:bg-[#2C2C2C] border-b border-[#E6E6E6] dark:border-[#272626] last:border-b-0 cursor-pointer transition-colors",children:t.jsxs("div",{className:"w-full flex items-center gap-2",children:[t.jsxs("div",{className:"w-[75%] mobile:w-full flex items-center gap-1",children:[t.jsx(E.Globe,{className:"w-3 h-3 shrink-0"}),t.jsx("div",{className:"text-xs text-[#333333] dark:text-[#D8D8D8] truncate font-normal group-hover:text-[#0072FF] dark:group-hover:text-[#0072FF]",children:m.title||m.category})]}),t.jsxs("div",{className:"flex-1 mobile:hidden flex items-center justify-end gap-2",children:[t.jsx("span",{className:"text-xs text-[#999999] dark:text-[#999999] truncate",children:m.source?.name||m?.category}),t.jsx(E.SquareArrowOutUpRight,{className:"w-3 h-3 text-[#999999] dark:text-[#999999] shrink-0"})]})]})},b))})]})};function ht(r){return t.jsx(pe,{...r,viewBox:"0 0 16 16",children:t.jsx("g",{id:"selection",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",children:t.jsxs("g",{id:"编组",transform:"translate(1.4813, 1)",stroke:"currentColor",strokeWidth:"1.25",children:[t.jsx("line",{x1:"6.7986538",y1:"2.8",x2:"6.7986538",y2:"2.07241631e-17",id:"路径",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("circle",{id:"椭圆形",fill:"#000000",cx:"6.7986538",cy:"6.72",r:"1"}),t.jsx("line",{x1:"2.17440858e-17",y1:"13.5186538",x2:"4.62042688",y2:"8.89822692",id:"路径",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("line",{x1:"10.1008425",y1:"4.16781133",x2:"10.1008425",y2:"2.66781133",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(10.1008, 3.4178) rotate(45) translate(-10.1008, -3.4178)"}),t.jsx("line",{x1:"12.1186538",y1:"8.12",x2:"12.1186538",y2:"5.32",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(12.1187, 6.72) rotate(90) translate(-12.1187, -6.72)"}),t.jsx("line",{x1:"10.1008425",y1:"10.7721887",x2:"10.1008425",y2:"9.27218867",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(10.1008, 10.0222) rotate(135) translate(-10.1008, -10.0222)"}),t.jsx("line",{x1:"6.7986538",y1:"13.44",x2:"6.7986538",y2:"10.64",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(6.7987, 12.04) rotate(180) translate(-6.7987, -12.04)"}),t.jsx("line",{x1:"1.4786538",y1:"8.12",x2:"1.4786538",y2:"5.32",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(1.4787, 6.72) rotate(270) translate(-1.4787, -6.72)"}),t.jsx("line",{x1:"3.49646513",y1:"4.16781133",x2:"3.49646513",y2:"2.66781133",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(3.4965, 3.4178) rotate(315) translate(-3.4965, -3.4178)"})]})})})}const xt=({Detail:r,ChunkData:n,loading:u})=>{const{t:f}=Y.useTranslation(),[l,_]=a.useState(!1),[y,p]=a.useState([]);return a.useEffect(()=>{r?.payload&&p(r?.payload)},[r?.payload]),a.useEffect(()=>{if(n?.message_chunk&&!u)try{const g=n.message_chunk.replace(/^"|"$/g,"").match(/<JSON>([\s\S]*?)<\/JSON>/g);if(g)for(let i=g.length-1;i>=0;i--)try{const j=g[i].replace(/<JSON>|<\/JSON>|<think>|<\/think>/g,""),m=JSON.parse(j.trim());if(Array.isArray(m)&&m.every(b=>b.id&&b.title&&b.explain)){p(m);break}}catch{continue}}catch(c){console.error("Failed to parse pick source data:",c)}},[n?.message_chunk,u]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>_(c=>!c),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[u?t.jsxs(t.Fragment,{children:[t.jsx(E.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:f("assistant.message.steps.pick_source_start")})]}):t.jsxs(t.Fragment,{children:[t.jsx(ht,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:f(`assistant.message.steps.${n?.chunk_type||r.type}`,{count:y?.length})})]}),l?t.jsx(E.ChevronUp,{className:"w-4 h-4"}):t.jsx(E.ChevronDown,{className:"w-4 h-4"})]}),l&&t.jsx("div",{className:"pl-2 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:t.jsx("div",{className:"mb-4 space-y-3 text-xs",children:y?.map(c=>t.jsx("div",{className:"p-3 rounded-lg border border-[#E6E6E6] dark:border-[#272626] bg-white dark:bg-[#1E1E1E] hover:bg-gray-50 dark:hover:bg-[#2C2C2C] transition-colors",children:t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("div",{className:"text-sm font-medium text-[#333333] dark:text-[#D8D8D8]",children:c.title}),t.jsx("div",{className:"text-xs text-[#666666] dark:text-[#A3A3A3] line-clamp-2",children:c.explain})]})},c.id))})})})]})};function mt(r){return t.jsx(pe,{...r,viewBox:"0 0 16 16",children:t.jsxs("g",{id:"deading",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",children:[t.jsx("circle",{id:"椭圆形",stroke:"currentColor",strokeWidth:"1.25",cx:"8",cy:"3",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份-2",stroke:"currentColor",strokeWidth:"1.25",cx:"3",cy:"5",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份-4",stroke:"currentColor",strokeWidth:"1.25",cx:"13",cy:"5",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份",stroke:"currentColor",strokeWidth:"1.25",cx:"8",cy:"13",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份-3",stroke:"currentColor",strokeWidth:"1.25",cx:"3",cy:"11",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份-5",stroke:"currentColor",strokeWidth:"1.25",cx:"13",cy:"11",r:"1.375"}),t.jsx("path",{d:"M8.0070039,4.03345364 L8.0070039,8.50590493 L4.1923477,10.2855921",id:"路径-13",stroke:"currentColor",strokeWidth:"1.25"}),t.jsx("line",{x1:"11.7924093",y1:"8.47550067",x2:"8",y2:"10.2754456",id:"路径-13备份",stroke:"currentColor",strokeWidth:"1.25",transform:"translate(9.8962, 9.3755) scale(-1, 1) translate(-9.8962, -9.3755)"}),t.jsx("path",{d:"M4.17568738,4.53038288 L6.65384701,3.54050563 M9.35480875,3.53987819 L11.7283558,4.49062879",id:"形状",stroke:"currentColor",strokeWidth:"1.25"}),t.jsx("line",{x1:"3",y1:"6.06946104",x2:"3",y2:"9.97988046",id:"路径-14",stroke:"currentColor",strokeWidth:"1.25"}),t.jsx("line",{x1:"13",y1:"6.06946104",x2:"13",y2:"9.97988046",id:"路径-14备份",stroke:"currentColor",strokeWidth:"1.25"})]})})}const pt=({Detail:r,ChunkData:n,loading:u})=>{const{t:f}=Y.useTranslation(),[l,_]=a.useState(!1),[y,p]=a.useState([]),[c,g]=a.useState("");return a.useEffect(()=>{r?.description&&g(r?.description)},[r?.description]),a.useEffect(()=>{if(n?.message_chunk)try{if(n.message_chunk.includes("&")){const i=n.message_chunk.split("&").filter(Boolean);p(i)}else p([n.message_chunk])}catch(i){console.error("Failed to parse query data:",i)}},[n?.message_chunk]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>_(i=>!i),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[u?t.jsxs(t.Fragment,{children:[t.jsx(E.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:f(`assistant.message.steps.${n?.chunk_type||r?.type}`)})]}):t.jsxs(t.Fragment,{children:[t.jsx(mt,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:f(`assistant.message.steps.${n?.chunk_type||r?.type}`,{count:Number(y.length)})})]}),l?t.jsx(E.ChevronUp,{className:"w-4 h-4"}):t.jsx(E.ChevronDown,{className:"w-4 h-4"})]}),l&&t.jsx("div",{className:"pl-2 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:t.jsxs("div",{className:"mb-4 space-y-3 text-xs",children:[y?.map(i=>t.jsx("div",{className:"flex flex-col gap-2",children:t.jsxs("div",{className:"text-xs text-[#999999] dark:text-[#808080]",children:["- ",i]})},i)),c?.split(`
31
- `).map((i,j)=>i.trim()&&t.jsx("p",{className:"text-sm",children:i},j))]})})})]})},gt=({Detail:r,ChunkData:n,loading:u})=>{const{t:f}=Y.useTranslation(),[l,_]=a.useState(!0),[y,p]=a.useState("");return a.useEffect(()=>{r?.description&&p(r?.description)},[r?.description]),a.useEffect(()=>{n?.message_chunk&&p(n?.message_chunk)},[n?.message_chunk,y]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>_(c=>!c),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[u?t.jsxs(t.Fragment,{children:[t.jsx(E.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:f(`assistant.message.steps.${n?.chunk_type}`)})]}):t.jsxs(t.Fragment,{children:[t.jsx(E.Brain,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:f("assistant.message.steps.thoughtTime")})]}),l?t.jsx(E.ChevronUp,{className:"w-4 h-4"}):t.jsx(E.ChevronDown,{className:"w-4 h-4"})]}),l&&t.jsx("div",{className:"pl-2 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:y?.split(`
32
- `).map((c,g)=>c.trim()&&t.jsx("p",{className:"text-sm",children:c},g))})})]})},kt=_e.create(r=>({synthesizeItem:null,setSynthesizeItem:n=>r({synthesizeItem:n}),uploadAttachments:[],setUploadAttachments:n=>r({uploadAttachments:n})})),yt=["timedout","error"],vt=({id:r,content:n,question:u,actionClassName:f,actionIconSize:l,copyButtonId:_,onResend:y})=>{const[p,c]=a.useState(!1),[g,i]=a.useState(!1),[j,m]=a.useState(!1),[b,W]=a.useState(!1),[J,w]=a.useState(!1),x=yt.includes(r),{synthesizeItem:S,setSynthesizeItem:ie}=kt(),le=async()=>{try{await Me(n),c(!0);const L=setTimeout(()=>{c(!1),clearTimeout(L)},2e3)}catch(L){console.error("copy error:",L)}},G=()=>{i(!g),m(!1)},ce=()=>{m(!j),i(!1)},q=async()=>ie({id:r,content:n}),Q=()=>{if(y){w(!0),y();const L=setTimeout(()=>{w(!1),clearTimeout(L)},1e3)}};return t.jsxs("div",{className:ne("flex items-center gap-1 mt-2",f),children:[!x&&t.jsx("button",{id:_,onClick:le,className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors",children:p?t.jsx(E.Check,{className:"w-4 h-4 text-[#38C200] dark:text-[#38C200]",style:{width:l,height:l}}):t.jsx(E.Copy,{className:"w-4 h-4 text-[#666666] dark:text-[#A3A3A3]",style:{width:l,height:l}})}),!x&&t.jsx("button",{onClick:G,className:`p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors ${g?"animate-shake":""}`,children:t.jsx(E.ThumbsUp,{className:`w-4 h-4 ${g?"text-[#1990FF] dark:text-[#1990FF]":"text-[#666666] dark:text-[#A3A3A3]"}`,style:{width:l,height:l}})}),!x&&t.jsx("button",{onClick:ce,className:`p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors ${j?"animate-shake":""}`,children:t.jsx(E.ThumbsDown,{className:`w-4 h-4 ${j?"text-[#1990FF] dark:text-[#1990FF]":"text-[#666666] dark:text-[#A3A3A3]"}`,style:{width:l,height:l}})}),!x&&t.jsx(t.Fragment,{children:t.jsx("button",{onClick:q,className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors",children:t.jsx(E.Volume2,{className:`w-4 h-4 ${b||S?.id===r?"text-[#1990FF] dark:text-[#1990FF]":"text-[#666666] dark:text-[#A3A3A3]"}`,style:{width:l,height:l}})})}),u&&t.jsx("button",{onClick:Q,className:`p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors ${J?"animate-spin":""}`,children:t.jsx(E.RotateCcw,{className:`w-4 h-4 ${J?"text-[#1990FF] dark:text-[#1990FF]":"text-[#666666] dark:text-[#A3A3A3]"}`,style:{width:l,height:l}})})]})};function jt({suggestions:r,onSelect:n}){return!r||r.length===0?null:t.jsx("div",{className:"mt-4 flex flex-col gap-2",children:r.map((u,f)=>t.jsxs("button",{onClick:()=>n(u),className:"text-left inline-flex items-center px-3 py-1.5 rounded-full bg-white dark:bg-[#202126] border border-[#E4E5EF] dark:border-[#272626] text-sm text-[#666666] dark:text-[#A3A3A3] hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors w-fit max-w-full break-words whitespace-pre-wrap",children:[t.jsx("span",{className:"break-all",children:u}),t.jsx(E.MoveRight,{className:"w-3 h-3 ml-1.5 shrink-0"})]},f))})}const _t=({textToCopy:r})=>{const[n,u]=a.useState(!1),f=async()=>{try{await Me(r),u(!0);const l=setTimeout(()=>{u(!1),clearTimeout(l)},2e3)}catch(l){console.error("copy error:",l)}};return t.jsx("button",{className:"p-1 bg-gray-200 dark:bg-gray-700 rounded",onClick:f,children:n?t.jsx(E.Check,{className:"w-4 h-4 text-[#38C200] dark:text-[#38C200]"}):t.jsx(E.Copy,{className:"w-4 h-4 text-gray-600 dark:text-gray-300"})})},bt={commands:async(r,n)=>(console.log(`Mock command: ${r}`,n),r==="get_attachment_by_ids"?{hits:{hits:[{_source:{id:"1",name:"测试文件1.txt",icon:"txt",size:"4kb"}},{_source:{id:"2",name:"测试文件2.pdf",icon:"pdf",size:"982kb"}},{_source:{id:"3",name:"测试文件3.md",icon:"md",size:"12kb"}}]}}:{hits:{hits:[]}}),invokeBackend:async(r,n)=>{console.log(`Mock invokeBackend: ${r}`,n)}},be=_e.create(r=>({currentAssistant:{},assistantList:[],currentService:{id:"mock-service-id"},setAssistant:n=>r({currentAssistant:n})})),wt=_e.create(()=>({addError:r=>console.error(r)})),Et=r=>{const{message:n,attachments:u}=r,[f,l]=a.useState(!1),{currentService:_}=be(),[y,p]=a.useState([]),{addError:c}=wt(),g=i=>{if(typeof window<"u"&&typeof document<"u"){const j=window.getSelection(),m=document.createRange();if(i.currentTarget&&j&&m)try{m.selectNodeContents(i.currentTarget),j.removeAllRanges(),j.addRange(m)}catch(b){console.error("Selection failed:",b)}}};return et.useAsyncEffect(async()=>{try{if(u.length===0)return;const i=await bt.commands("get_attachment_by_ids",{serverId:_.id,attachments:u});p(i?.hits?.hits)}catch(i){c(String(i))}},[u]),t.jsxs(t.Fragment,{children:[n&&t.jsxs("div",{className:"flex gap-1 items-center justify-end",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[t.jsx("div",{className:ne("size-6 transition",{"opacity-0":!f}),children:t.jsx(_t,{textToCopy:n})}),t.jsx("div",{className:"max-w-[85%] overflow-auto text-left px-3 py-2 bg-white dark:bg-[#202126] rounded-xl border border-black/12 dark:border-black/15 font-normal text-sm text-[#333333] dark:text-[#D8D8D8] cursor-pointer user-select-text whitespace-pre-wrap",onDoubleClick:g,children:n})]}),y&&y.length>0&&t.jsx("div",{className:ne("w-full",{"mt-3":n}),children:t.jsx(tt.Attachments,{data:y.map(i=>({id:i._source.id,filename:i._source.name,extname:i._source.icon,size:i._source.size,status:"uploaded"})),className:"text-left"})})]})},Nt=({name:r,className:n,style:u,...f})=>t.jsx("svg",{className:`icon dark:drop-shadow-[0_0_6px_rgb(255,255,255)] ${n||""}`,style:u,...f,children:t.jsx("use",{xlinkHref:`#${r}`})});function Ct(){const[r,n]=a.useState(),[u,f]=a.useState(),[l,_]=a.useState(),[y,p]=a.useState(),[c,g]=a.useState(),[i,j]=a.useState(),[m,b]=a.useState(),W={deal_query_intent:a.useCallback(w=>{n(x=>x?{...x,message_chunk:(x.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_tools:a.useCallback(w=>{f(x=>x?{...x,message_chunk:(x.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_fetch_source:a.useCallback(w=>{_(x=>x?{...x,message_chunk:(x.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_pick_source:a.useCallback(w=>{p(x=>x?{...x,message_chunk:(x.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_deep_read:a.useCallback(w=>{g(x=>x?{...x,message_chunk:(x.message_chunk||"")+"&"+(w.message_chunk||"")}:w)},[]),deal_think:a.useCallback(w=>{j(x=>x?{...x,message_chunk:(x.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_response:a.useCallback(w=>{b(x=>x?{...x,message_chunk:(x.message_chunk||"")+(w.message_chunk||"")}:w)},[])};return{data:{query_intent:r,tools:u,fetch_source:l,pick_source:y,deep_read:c,think:i,response:m},handlers:W,clearAllChunkData:()=>new Promise(w=>{n(void 0),f(void 0),_(void 0),p(void 0),g(void 0),j(void 0),b(void 0),setTimeout(w,0)})}}function St(r){if(r)return r==="light"?"light":r==="dark"||typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}const Tt=a.memo(a.forwardRef(function({message:n,isTyping:u,onResend:f,hide_assistant:l=!1,rootClassName:_,actionClassName:y,actionIconSize:p,copyButtonId:c,formatUrl:g,theme:i,locale:j,query_intent:m,tools:b,fetch_source:W,pick_source:J,deep_read:w,think:x,response:S},ie){const{t:le,i18n:G}=Y.useTranslation(),ce=St(i),q=be(h=>h.currentAssistant),Q=be(h=>h.assistantList),[L,de]=a.useState({}),{data:{query_intent:we,tools:ge,fetch_source:B,pick_source:V,deep_read:X,think:ke,response:$},handlers:F,clearAllChunkData:ye}=Ct();a.useEffect(()=>{m&&F.deal_query_intent(m)},[m]),a.useEffect(()=>{b&&F.deal_tools(b)},[b]),a.useEffect(()=>{W&&F.deal_fetch_source(W)},[W]),a.useEffect(()=>{J&&F.deal_pick_source(J)},[J]),a.useEffect(()=>{w&&F.deal_deep_read(w)},[w]),a.useEffect(()=>{x&&F.deal_think(x)},[x]),a.useEffect(()=>{S&&F.deal_response(S)},[S]);const[K,ue]=a.useState({query_intent:!1,tools:!1,fetch_source:!1,pick_source:!1,deep_read:!1,think:!1,response:!1}),H=a.useRef(!1);a.useImperativeHandle(ie,()=>({addChunk:h=>{if(ue(()=>({query_intent:!1,tools:!1,fetch_source:!1,pick_source:!1,deep_read:!1,think:!1,response:!1,[h.chunk_type||""]:!0})),h.chunk_type==="query_intent")F.deal_query_intent(h);else if(h.chunk_type==="tools")F.deal_tools(h);else if(h.chunk_type==="fetch_source")F.deal_fetch_source(h);else if(h.chunk_type==="pick_source")F.deal_pick_source(h);else if(h.chunk_type==="deep_read")F.deal_deep_read(h);else if(h.chunk_type==="think")F.deal_think(h);else if(h.chunk_type==="response"){const D=h.message_chunk;if(typeof D=="string"){if(D.includes("<think>")||D.includes("<think>")){H.current=!0;return}else if(D.includes("</think>")||D.includes("</think>")){H.current=!1;return}H.current?F.deal_think({...h,chunk_type:"think"}):F.deal_response(h)}}},reset:()=>{ye(),ue({query_intent:!1,tools:!1,fetch_source:!1,pick_source:!1,deep_read:!1,think:!1,response:!1}),H.current=!1}}));const M=n?._source?.type==="assistant",fe=n?._source?.assistant_id,he=n?._source?.assistant_item;a.useEffect(()=>{j&&G.language!==j&&G.changeLanguage(j)},[j,G]),a.useEffect(()=>{if(he){de(he);return}if(M&&fe&&Array.isArray(Q)){de(Q.find(h=>h._id===fe)??{});return}de(q)},[M,he,fe,Q,q]);const z=n?._source?.message||"",xe=n?._source?.attachments??[],U=n?._source?.details||[],ee=n?._source?.question||"",te=u===!1&&(z||$?.message_chunk),[Ee,ve]=a.useState([]),Ne=h=>{ve(h)},Ce=()=>M?t.jsxs(t.Fragment,{children:[t.jsx(lt,{Detail:U.find(h=>h.type==="query_intent"),ChunkData:we,getSuggestion:Ne,loading:K?.query_intent}),t.jsx(ct,{Detail:U.find(h=>h.type==="tools"),ChunkData:ge,loading:K?.tools}),t.jsx(ft,{Detail:U.find(h=>h.type==="fetch_source"),ChunkData:B,loading:K?.fetch_source,formatUrl:g}),t.jsx(xt,{Detail:U.find(h=>h.type==="pick_source"),ChunkData:V,loading:K?.pick_source}),t.jsx(pt,{Detail:U.find(h=>h.type==="deep_read"),ChunkData:X,loading:K?.deep_read}),t.jsx(gt,{Detail:U.find(h=>h.type==="think"),ChunkData:ke,loading:K?.think}),t.jsx(Oe.XMarkdown,{content:z||$?.message_chunk||""}),u&&t.jsx("div",{className:"inline-block w-1.5 h-5 ml-0.5 -mb-0.5 bg-[#666666] dark:bg-[#A3A3A3] rounded-sm animate-typing"}),te&&t.jsx(vt,{id:n._id??"",content:z||$?.message_chunk||"",question:ee,actionClassName:y,actionIconSize:p,copyButtonId:c,onResend:()=>{f&&f(ee)}}),!u&&t.jsx(jt,{suggestions:Ee,onSelect:h=>f&&f(h)})]}):t.jsx(Et,{message:z,attachments:xe});return t.jsx("div",{className:ne("w-full py-8 flex",[M?"justify-start":"justify-end"],ce==="dark"&&"dark",_),children:t.jsx("div",{className:`w-full px-4 flex gap-4 ${M?"w-full":"flex-row-reverse"}`,children:t.jsxs("div",{className:`w-full space-y-2 ${M?"text-left":"text-right"}`,children:[!l&&t.jsxs("div",{className:"w-full flex items-center gap-1 font-semibold text-sm text-[#333] dark:text-[#d8d8d8]",children:[M?t.jsx("div",{className:"w-6 h-6 flex justify-center items-center rounded-full bg-white border border-[#E6E6E6]",children:L?._source?.icon?.startsWith("font_")?t.jsx(Nt,{name:L._source.icon,className:"w-4 h-4"}):t.jsx("img",{src:ot,className:"w-4 h-4",alt:le("assistant.message.logo")})}):null,M?L?._source?.name||"Coco AI":""]}),t.jsx("div",{className:"w-full prose dark:prose-invert prose-sm max-w-none",children:t.jsx("div",{className:"w-full pl-7 text-[#333] dark:text-[#d8d8d8] leading-relaxed",children:Ce()})})]})})})})),Rt=a.memo(a.forwardRef((r,n)=>t.jsx(Y.I18nextProvider,{i18n:We,children:t.jsx(Tt,{...r,ref:n})})));A.ChatMessage=Rt,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})}));
31
+ <%s key={someKey} {...props} />`,Fe,_,It,_),Xe[_+Fe]=!0}}return e===u?Wt(B):Vt(B),B}}function Ut(e,s,o){return Ge(e,s,o,!0)}function Kt(e,s,o){return Ge(e,s,o,!1)}var Dt=Kt,qt=Ut;ie.Fragment=u,ie.jsx=Dt,ie.jsxs=qt})()),ie}var Je;function st(){return Je||(Je=1,process.env.NODE_ENV==="production"?ge.exports=et():ge.exports=tt()),ge.exports}var t=st();const rt={en:{translation:{assistant:{message:{logo:"Coco AI Logo",aiName:"Coco AI",thinkingButton:"View thinking process",steps:{query_intent:"Understand the query",tools:"Call LLM Tools",source_zero:"Searching for relevant documents",fetch_source:"Retrieve {{count}} documents",pick_source:"Intelligent pick {{count}} results",pick_source_start:"Intelligently pre-selecting",deep_read:"Deep reading",think:"AI is thinking...",thoughtTime:"Thought for a few seconds",keywords:"Keywords",questionType:"Query Type",userIntent:"User Intent",relatedQuestions:"Query",suggestion:"Suggestion",informationSeeking:"Information Seeking"}}},sessionFiles:{labels:{all:"All"},modal:{title:"Files in the conversation",description:"Only the selected files will participate in the current conversation."}}}},zh:{translation:{assistant:{message:{logo:"Coco AI 图标",aiName:"Coco AI",thinkingButton:"查看思考过程",steps:{query_intent:"理解查询",tools:"调用大模型工具",source_zero:"正在搜索相关文档",fetch_source:"检索 {{count}} 份文档",pick_source:"智能预选 {{count}} 个结果",pick_source_start:"正在智能预选",deep_read:"深度阅读",think:"AI 正在思考...",thoughtTime:"思考了数秒",keywords:"关键词",questionType:"查询类型",userIntent:"用户意图",relatedQuestions:"查询",suggestion:"建议",informationSeeking:"信息查询"}}},sessionFiles:{labels:{all:"全部"},modal:{title:"会话中的文件",description:"只有选定的文件才会参与当前会话。"}}}}},Me=He.createInstance();Me.use(W.initReactI18next).init({resources:rt,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});const nt="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='128px'%20height='128px'%20viewBox='0%200%20128%20128'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3e画板备份%203%3c/title%3e%3cdefs%3e%3crect%20id='path-1'%20x='0'%20y='0'%20width='56.7563872'%20height='56.5910836'%3e%3c/rect%3e%3c/defs%3e%3cg%20id='画板备份-3'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='编组-10'%20transform='translate(-5,%203)'%3e%3cpath%20d='M49.6992377,22.7719612%20C58.1101609,25.9729736%2065.0982993,25.8953017%2070.6636528,22.5389454%20C76.9251416,26.1589087%2083.1644474,26.6306437%2089.3815702,23.9541503%20C94.3476152,26.8551486%20100.059595,27.9853608%20106.517509,27.3447869%20C105.549313,31.0257953%20104.78819,34.4219965%20104.234139,37.5333904%20C81.4253389,37.5754718%2069.9035445,37.5822249%2069.6687554,37.5536499%20C69.4339664,37.5250748%2062.9957895,35.2408431%2050.3542249,30.7009547%20L49.6992377,22.7719612%20Z'%20id='路径-3'%20stroke='%235B1602'%20stroke-width='7.69374265'%20fill='%23FFFFFF'%20stroke-linejoin='round'%20transform='translate(78.1084,%2030.055)%20rotate(8)%20translate(-78.1084,%20-30.055)'%3e%3c/path%3e%3cpolyline%20id='吸管'%20stroke='%2300DBFF'%20stroke-width='7.69374265'%20stroke-linecap='round'%20stroke-linejoin='round'%20transform='translate(94.5873,%2044.3095)%20rotate(8)%20translate(-94.5873,%20-44.3095)'%20points='69.7189682%2082.7157791%2094.9436643%2013.1617143%20119.455672%205.90320063'%3e%3c/polyline%3e%3cpath%20d='M28.5919021,37.2052044%20C35.1462633,34.1433307%2041.4986116,29.0645287%2047.648947,21.9687984%20C52.2899688,28.8461867%2058.8106823,31.3991807%2067.2110875,29.6277804%20C71.408497,35.0913641%2080.5237233,36.438679%2086.7804548,32.5606249%20C94.0739201,34.0827033%2099.969508,32.0763696%20104.467218,26.5416241%20C107.701536,33.3599985%20112.68013,39.7771777%20119.403001,45.7931616%20L122.450975,53.5823748%20L114.651272,66.2383977%20L48.9468343,66.658491%20L20.2297176,54.2394236%20L28.5919021,37.2052044%20Z'%20id='路径-2'%20stroke='%235B1602'%20stroke-width='7.69374265'%20fill='%23FFFFFF'%20stroke-linejoin='round'%20transform='translate(71.3403,%2044.3136)%20rotate(8)%20translate(-71.3403,%20-44.3136)'%3e%3c/path%3e%3cpath%20d='M113.7015,44.8147987%20C116.157193,49.6714382%20117.446928,55.630252%20117.446928,62.8127672%20C117.446928,77.2276123%20111.577947,90.2770579%20102.091381,99.7232825%20C92.5988687,109.175428%2079.4847008,115.020307%2065,115.020307%20C50.5152992,115.020307%2037.4011313,109.175428%2027.9086192,99.7232825%20C18.422053,90.2770579%2012.5530717,77.2276123%2012.5530717,62.8127672%20C12.5530717,56.4626483%2013.8289507,51.0821645%2016.1681126,46.5747014%20C17.316091,48.0863106%2018.6633413,49.4215856%2020.2147206,50.5328434%20C23.2818168,52.7298139%2027.1658894,54.0895553%2032.0119555,54.0895553%20C37.5035054,54.0895553%2042.5852688,52.6067922%2046.7606738,50.1072637%20C51.767509,52.6154402%2057.7465462,54.0895553%2064.1766873,54.0895553%20C70.5217766,54.0895553%2076.4277658,52.6542274%2081.3936205,50.2068646%20C85.4809466,52.6541473%2090.3819582,54.0895553%2095.6570631,54.0895553%20C101.044745,54.0895553%20105.465622,52.4873581%20108.935094,49.8692709%20C110.797344,48.4640036%20112.390496,46.7556533%20113.7015,44.8147987%20Z'%20id='形状结合'%20stroke='%235B1602'%20stroke-width='7.69374265'%20fill='%238C3201'%20transform='translate(65,%2077.9373)%20rotate(15)%20translate(-65,%20-77.9373)'%3e%3c/path%3e%3cg%20id='线'%20transform='translate(60.1411,%2097.2296)%20rotate(15)%20translate(-60.1411,%20-97.2296)translate(38.5104,%2076.2266)'%20fill='%235B1602'%3e%3cpath%20d='M41.2225105,-3.01584387%20C43.3464343,-2.96351324%2045.0257924,-1.19931046%2044.9734617,0.92461333%20C44.7662096,9.33627924%2043.0482281,16.8196882%2039.7969064,23.3391624%20C36.6036716,29.7421619%2032.6440639,35.1156647%2027.9160763,39.4350584%20C26.3475323,40.8680484%2023.9143082,40.7581602%2022.4813182,39.1896162%20C21.0483281,37.6210722%2021.1582163,35.1878481%2022.7267604,33.754858%20C26.7326835,30.0951278%2030.1283866,25.4868885%2032.9118625,19.9055277%20C35.6372515,14.4406416%2037.1015188,8.06239408%2037.2820533,0.73510735%20C37.3343839,-1.38881644%2039.0985867,-3.0681745%2041.2225105,-3.01584387%20Z'%20id='路径-5'%20fill-rule='nonzero'%20transform='translate(33.2246,%2018.7124)%20rotate(-7)%20translate(-33.2246,%20-18.7124)'%3e%3c/path%3e%3cpath%20d='M6.42487569,17.8933379%20C7.13185699,15.8898489%209.32912731,14.8388217%2011.3326163,15.545803%20C13.3361053,16.2527843%2014.3871325,18.4500547%2013.6801512,20.4535437%20C12.3896494,24.1106505%2011.1503014,26.9971555%209.93186972,29.1456361%20C8.855525,31.0435724%206.81922579,33.9549835%203.77060698,37.9798302%20C2.4878057,39.6734097%200.0749723254,40.0064113%20-1.61860721,38.72361%20C-3.31218674,37.4408088%20-3.64518832,35.0279754%20-2.36238705,33.3343959%20C0.49243929,29.5653978%202.37716504,26.8706998%203.23942508,25.3502625%20C4.20071135,23.6552106%205.27260735,21.1587099%206.42487569,17.8933379%20Z'%20id='路径-5备份'%20fill-rule='nonzero'%20transform='translate(5.3787,%2027.4149)%20scale(-1,%201)%20rotate(-5)%20translate(-5.3787,%20-27.4149)'%3e%3c/path%3e%3cpath%20d='M17.3200105,31.8134059%20C24.2042447,31.6746843%2030.788371,26.5487636%2037.0723895,16.4356439%20C43.356408,6.32252418%2040.2906703,13.3246347%2027.8751764,37.4419755%20L17.3200105,31.8134059%20Z'%20id='路径-8'%20transform='translate(28.78,%2024.6979)%20rotate(-15)%20translate(-28.78,%20-24.6979)'%3e%3c/path%3e%3cpath%20d='M2.25547257,26.2454347%20C5.78878997,32.5137001%2012.2314539,33.0051199%2021.5834643,27.7196939%20C18.6128112,31.1984141%2014.8144813,34.3358838%2010.1884745,37.1321031%20C6.83289255,33.8641134%204.51390502,31.3598101%203.23151188,29.6191934%20C1.94911874,27.8785768%201.6237723,26.7539905%202.25547257,26.2454347%20Z'%20id='路径-8'%20transform='translate(11.7631,%2031.6888)%20scale(-1,%201)%20rotate(-38)%20translate(-11.7631,%20-31.6888)'%3e%3c/path%3e%3c/g%3e%3cg%20id='花'%20transform='translate(16.0836,%200)'%3e%3cmask%20id='mask-2'%20fill='white'%3e%3cuse%20xlink:href='%23path-1'%3e%3c/use%3e%3c/mask%3e%3cg%20id='蒙版'%3e%3c/g%3e%3cimage%20mask='url(%23mask-2)'%20x='-24.9033127'%20y='-24.2533216'%20width='105.404719'%20height='105.097727'%20xlink:href='data:image/png;base64,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QNSgbpdrY2/O0dTczzV6RZeX6b09XEwXaDFfyik7gAUgY67oz5pvL9f55PENnPY22vXXsoIBnQgebGgHA0UURyCbihTvoLMapgley7E+BPOTgUAirD6+8wfH/0eSbNb34iKP7yXj0ZaH75W8UzC7GbMA4DM0oiBCR7MBwj1pascZ515Ny+fKSI8G78EmwEMPXfLiR7NPmref+LAbfxF2z/7mfPJ93LIH00dfvh1PCJ8BhmcLfMNEqM3D1xlmPwL4ayRFcwNyq4M7L78r+oMIq1MCAPYtrD1fpQmSM9ABGoegQNICje3ZZQEt0NiqLko7i91Fm4u6vF8IqtzcKe8YEsenT9h2/zc3JeX2bA7CTprnwvlQTCAHi8CWH5erNXYSp2cLmKlHnJhmwGUHk3pJ5FMl6J82v88fRfrTQriav8qsOiRwyin8rfF58y+dPKoRF6DECWW0KOl5aaGXlJM4Qe53pzU38uYJ9zE9PFNCvsFGJ/+b/q6DSHvu3V7IX/V6hhNKB04mhekZ12hw8B5sb0eW+I05Yh0cCIkQ6IRnzYXHbW9eIMkquwrsI3r/1Kua17Pi8aEZWlEjwMmgNnZWTABR7Gc1soDqwSTMtH9zaqTXttq5mbxNmk9vrDUvPqKImwzuuSdvvEyanyXfdQEzlK6OaIaI5JTnPZf8BXZsbEcCTnCj+d9z3LbmUe3tb/54bslxdP8inuoGCbT3b9e3z9onsYt4sRNDdxwFl4atpoWA4kxJtKdLcAEcvqAaNGfMCU/uTZq/ZUf+SSfe/cZt66HMI/3d92j/iEHyALTzx12ys4wMEIuyPJ1lEdbsCKYL8K+hnv/8uM81T6ig3hJTCdTfwxL46uXdbcHNO/gm4MMFlO9IaiOoNT2N5wcePdyXFwKI941GwRZTQHNg0lzMUtvjdp7Rfk8bJL4kcc1nmidQzC9Sq4dQqCuRWZ+2DoJeUON9FkC/nYH1W8ec2n7pcAtqCNlUd2MS8AXYq05Yvopz2S9CWe+IsYu0XDv2xJ52sBM6Ab3JJrmTPNI2MGXOX581L9915/83H5i58rJuJ0r54YD3VOqwE3PDl9f3U/6nj93bfuzG6l7jMuirGG5OAtd8uTtpc7N5MV9VfRJq8q6APEtuaswB7MR9ibQ/YZL328edenh38eb41rTvrwSqxr4F8uWPeJ6KprwXIN7NStsOTOkv8Hnu/be5U/MpVjTQ49VVCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJVAlUCVQJfC8S+L8Vg5EuY3PbmAAAAABJRU5ErkJggg=='%3e%3c/image%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e";function me({size:r=18,children:n,className:f,title:u,onClick:c,action:v=!1,...y}){const x=i=>{c?.(i)};return t.jsx("i",{style:{width:r,height:r},title:u,onClick:x,className:ae("inline-flex items-center justify-center rounded-sm p-[2px] transition-all",{"cursor-pointer":v},f),children:t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",style:{width:"100%",height:"100%"},...y,children:n})})}function at(r){return t.jsx(me,{...r,viewBox:"0 0 16 16",children:t.jsx("g",{id:"Understand",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsxs("g",{id:"编组",transform:"translate(0.5, 0.5)",stroke:"currentColor",strokeWidth:"1.25",children:[t.jsx("path",{d:"M7.44444444,3 C9.89904333,3 11.8888889,4.95366655 11.8888889,7.36363636 C11.8888889,9.06711551 10.8946979,10.5426108 9.44492275,11.2613085 L9.44444444,12.2727273 C9.44444444,13.3772968 8.54901394,14.2727273 7.44444444,14.2727273 C6.33987494,14.2727273 5.44444444,13.3772968 5.44444444,12.2727273 L5.44396614,11.2613085 C3.99419095,10.5426108 3,9.06711551 3,7.36363636 C3,4.95366655 4.98984556,3 7.44444444,3 Z",id:"形状结合"}),t.jsx("line",{x1:"5.5",y1:"11.2156017",x2:"9.5",y2:"11.2156017",id:"路径-11"}),t.jsx("line",{x1:"7.44444444",y1:"10.6363636",x2:"7.44444444",y2:"8.45454545",id:"路径-12"}),t.jsx("line",{x1:"7.44444444",y1:"0.818181818",x2:"7.44444444",y2:"0.272727273",id:"路径-12备份"}),t.jsx("line",{x1:"12.352383",y1:"2.81770629",x2:"12.3574335",y2:"2.26720124",id:"路径-12备份",transform:"translate(12.3549, 2.5425) rotate(45) translate(-12.3549, -2.5425)"}),t.jsx("line",{x1:"14.3888889",y1:"7.64141414",x2:"14.3888889",y2:"7.08585859",id:"路径-12备份",transform:"translate(14.3889, 7.3636) rotate(90) translate(-14.3889, -7.3636)"}),t.jsx("line",{x1:"12.3574335",y1:"12.4600715",x2:"12.352383",y2:"11.9095664",id:"路径-12备份",transform:"translate(12.3549, 12.1848) rotate(135) translate(-12.3549, -12.1848)"}),t.jsx("line",{x1:"2.53145543",y1:"12.4600715",x2:"2.53650594",y2:"11.9095664",id:"路径-12备份",transform:"translate(2.534, 12.1848) rotate(225) translate(-2.534, -12.1848)"}),t.jsx("line",{x1:"0.5",y1:"7.64141414",x2:"0.5",y2:"7.08585859",id:"路径-12备份",transform:"translate(0.5, 7.3636) rotate(270) translate(-0.5, -7.3636)"}),t.jsx("line",{x1:"2.53650594",y1:"2.81770629",x2:"2.53145543",y2:"2.26720124",id:"路径-12备份",transform:"translate(2.534, 2.5425) rotate(315) translate(-2.534, -2.5425)"}),t.jsx("polyline",{id:"路径-15",transform:"translate(7.4398, 6.7308) rotate(-45) translate(-7.4398, -6.7308)",points:"6.33632897 5.60310185 6.3568375 7.83853192 8.5432888 7.85859111"})]})})})}const ot=({Detail:r,ChunkData:n,getSuggestion:f,loading:u})=>{const{t:c}=W.useTranslation(),[v,y]=a.useState(!1),[x,i]=a.useState(null);return a.useEffect(()=>{r?.payload&&(i(r?.payload),r?.payload?.suggestion&&f&&f(r?.payload?.suggestion))},[r?.payload,f]),a.useEffect(()=>{if(n?.message_chunk&&!u)try{const l=n.message_chunk.replace(/^"|"$/g,"").match(/<JSON>([\s\S]*?)<\/JSON>/g);if(l){const m=l[l.length-1].replace(/<JSON>|<\/JSON>/g,""),j=JSON.parse(m);j?.suggestion&&f&&f(j?.suggestion),i(j)}}catch(g){console.error("Failed to process message chunk in QueryIntent:",g)}},[n?.message_chunk,u,f]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>y(g=>!g),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[u?t.jsxs(t.Fragment,{children:[t.jsx(C.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:c(`assistant.message.steps.${n?.chunk_type||r.type}`)})]}):t.jsxs(t.Fragment,{children:[t.jsx(at,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:c(`assistant.message.steps.${n?.chunk_type||r.type}`)})]}),v?t.jsx(C.ChevronUp,{className:"w-4 h-4"}):t.jsx(C.ChevronDown,{className:"w-4 h-4"})]}),v&&t.jsx("div",{className:"pl-2 pt-1 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:t.jsxs("div",{className:"mb-4 space-y-2 text-xs",children:[x?.keyword?t.jsxs("div",{className:"flex gap-1",children:[t.jsxs("span",{className:"text-[#999999]",children:["- ",c("assistant.message.steps.keywords"),":"]}),t.jsx("div",{className:"flex flex-wrap gap-1",children:x?.keyword?.map((g,l)=>t.jsxs("span",{className:"text-[#333333] dark:text-[#D8D8D8]",children:[g,l<2&&"、"]},g+l))})]}):null,x?.category?t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsxs("span",{className:"text-[#999999]",children:["- ",c("assistant.message.steps.questionType"),":"]}),t.jsx("span",{className:"text-[#333333] dark:text-[#D8D8D8]",children:x?.category})]}):null,x?.intent?t.jsxs("div",{className:"flex items-start gap-1",children:[t.jsxs("span",{className:"text-[#999999]",children:["- ",c("assistant.message.steps.userIntent"),":"]}),t.jsx("div",{className:"flex-1 text-[#333333] dark:text-[#D8D8D8]",children:x?.intent})]}):null,x?.query?t.jsxs("div",{className:"flex items-start gap-1",children:[t.jsxs("span",{className:"text-[#999999]",children:["- ",c("assistant.message.steps.relatedQuestions"),":"]}),t.jsx("div",{className:"flex-1 flex flex-col text-[#333333] dark:text-[#D8D8D8]",children:x?.query?.map((g,l)=>t.jsxs("span",{children:["- ",g]},g+l))})]}):null]})})})]})},it=({Detail:r,ChunkData:n,loading:f})=>{const{t:u}=W.useTranslation(),[c,v]=a.useState(!1),[y,x]=a.useState("");return a.useEffect(()=>{r?.description&&x(r?.description)},[r?.description]),a.useEffect(()=>{n?.message_chunk&&x(n?.message_chunk)},[n?.message_chunk,y]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>v(i=>!i),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[f?t.jsxs(t.Fragment,{children:[t.jsx(C.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:u(`assistant.message.steps.${n?.chunk_type}`)})]}):t.jsxs(t.Fragment,{children:[t.jsx(C.Hammer,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:u(`assistant.message.steps.${n?.chunk_type}`)})]}),c?t.jsx(C.ChevronUp,{className:"w-4 h-4"}):t.jsx(C.ChevronDown,{className:"w-4 h-4"})]}),c&&t.jsx("div",{className:"pl-2 pt-1 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:t.jsx(Le.XMarkdown,{content:y||""})})})]})},Qe=async r=>{navigator.clipboard?await navigator.clipboard.writeText(r):console.log("Clipboard not available",r)},lt=r=>{window.open(r,"_blank")};function ct(r){return t.jsx(me,{...r,viewBox:"0 0 16 16",children:t.jsxs("g",{id:"Retrieve",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("line",{x1:"10.8977456",y1:"14.5",x2:"14",y2:"10.9204757",id:"路径",stroke:"currentColor",strokeWidth:"1.25",transform:"translate(12.4489, 12.7102) scale(-1, 1) translate(-12.4489, -12.7102)"}),t.jsx("circle",{id:"椭圆形",stroke:"currentColor",strokeWidth:"1.25",transform:"translate(7.5, 7) scale(-1, 1) translate(-7.5, -7)",cx:"7.5",cy:"7",r:"5"})]})})}const dt=({Detail:r,ChunkData:n,loading:f,formatUrl:u})=>{const{t:c}=W.useTranslation(),[v,y]=a.useState(!1),[x,i]=a.useState(0),[g,l]=a.useState([]);a.useEffect(()=>{r?.payload&&(l(r?.payload),i(r?.payload.length))},[r?.payload]),a.useEffect(()=>{if(n?.message_chunk&&!f)try{const m=n.message_chunk.match(/<Payload total=(\d+)>/);m&&i(Number(m[1]));const j=n.message_chunk.match(/\[([\s\S]*)\]/);if(j){const R=JSON.parse(j[0]);l(R)}}catch(m){console.error("Failed to parse fetch source data:",m)}},[n?.message_chunk,f]);const b=m=>()=>{const j=u&&u(m)||m.url;j&&lt(j)};return!n&&!r?null:t.jsxs("div",{className:`mt-2 mb-2 max-w-full w-full md:w-[610px] ${v?"rounded-lg overflow-hidden border border-[#E6E6E6] dark:border-[#272626]":""}`,children:[t.jsxs("button",{onClick:()=>y(m=>!m),className:`inline-flex justify-between items-center gap-2 px-2 py-1 rounded-xl transition-colors whitespace-nowrap ${v?"w-full":"border border-[#E6E6E6] dark:border-[#272626]"}`,children:[t.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[t.jsx(ct,{className:"w-4 h-4 text-[#38C200] shrink-0"}),t.jsx("span",{className:"text-xs text-[#999999]",children:c(`assistant.message.steps.${n?.chunk_type||r.type}`,{count:Number(x)})})]}),v?t.jsx(C.ChevronUp,{className:"w-4 h-4 text-[#999999]"}):t.jsx(C.ChevronDown,{className:"w-4 h-4 text-[#999999]"})]}),v&&t.jsx(t.Fragment,{children:g?.map((m,j)=>t.jsx("div",{onClick:b(m),className:"group flex items-center p-2 hover:bg-[#F7F7F7] dark:hover:bg-[#2C2C2C] border-b border-[#E6E6E6] dark:border-[#272626] last:border-b-0 cursor-pointer transition-colors",children:t.jsxs("div",{className:"w-full flex items-center gap-2",children:[t.jsxs("div",{className:"w-[75%] mobile:w-full flex items-center gap-1",children:[t.jsx(C.Globe,{className:"w-3 h-3 shrink-0"}),t.jsx("div",{className:"text-xs text-[#333333] dark:text-[#D8D8D8] truncate font-normal group-hover:text-[#0072FF] dark:group-hover:text-[#0072FF]",children:m.title||m.category})]}),t.jsxs("div",{className:"flex-1 mobile:hidden flex items-center justify-end gap-2",children:[t.jsx("span",{className:"text-xs text-[#999999] dark:text-[#999999] truncate",children:m.source?.name||m?.category}),t.jsx(C.SquareArrowOutUpRight,{className:"w-3 h-3 text-[#999999] dark:text-[#999999] shrink-0"})]})]})},j))})]})};function ut(r){return t.jsx(me,{...r,viewBox:"0 0 16 16",children:t.jsx("g",{id:"selection",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",children:t.jsxs("g",{id:"编组",transform:"translate(1.4813, 1)",stroke:"currentColor",strokeWidth:"1.25",children:[t.jsx("line",{x1:"6.7986538",y1:"2.8",x2:"6.7986538",y2:"2.07241631e-17",id:"路径",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("circle",{id:"椭圆形",fill:"#000000",cx:"6.7986538",cy:"6.72",r:"1"}),t.jsx("line",{x1:"2.17440858e-17",y1:"13.5186538",x2:"4.62042688",y2:"8.89822692",id:"路径",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("line",{x1:"10.1008425",y1:"4.16781133",x2:"10.1008425",y2:"2.66781133",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(10.1008, 3.4178) rotate(45) translate(-10.1008, -3.4178)"}),t.jsx("line",{x1:"12.1186538",y1:"8.12",x2:"12.1186538",y2:"5.32",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(12.1187, 6.72) rotate(90) translate(-12.1187, -6.72)"}),t.jsx("line",{x1:"10.1008425",y1:"10.7721887",x2:"10.1008425",y2:"9.27218867",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(10.1008, 10.0222) rotate(135) translate(-10.1008, -10.0222)"}),t.jsx("line",{x1:"6.7986538",y1:"13.44",x2:"6.7986538",y2:"10.64",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(6.7987, 12.04) rotate(180) translate(-6.7987, -12.04)"}),t.jsx("line",{x1:"1.4786538",y1:"8.12",x2:"1.4786538",y2:"5.32",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(1.4787, 6.72) rotate(270) translate(-1.4787, -6.72)"}),t.jsx("line",{x1:"3.49646513",y1:"4.16781133",x2:"3.49646513",y2:"2.66781133",id:"路径",strokeLinecap:"round",strokeLinejoin:"round",transform:"translate(3.4965, 3.4178) rotate(315) translate(-3.4965, -3.4178)"})]})})})}const ft=({Detail:r,ChunkData:n,loading:f})=>{const{t:u}=W.useTranslation(),[c,v]=a.useState(!1),[y,x]=a.useState([]);return a.useEffect(()=>{r?.payload&&x(r?.payload)},[r?.payload]),a.useEffect(()=>{if(n?.message_chunk&&!f)try{const g=n.message_chunk.replace(/^"|"$/g,"").match(/<JSON>([\s\S]*?)<\/JSON>/g);if(g)for(let l=g.length-1;l>=0;l--)try{const b=g[l].replace(/<JSON>|<\/JSON>|<think>|<\/think>/g,""),m=JSON.parse(b.trim());if(Array.isArray(m)&&m.every(j=>j.id&&j.title&&j.explain)){x(m);break}}catch{continue}}catch(i){console.error("Failed to parse pick source data:",i)}},[n?.message_chunk,f]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>v(i=>!i),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[f?t.jsxs(t.Fragment,{children:[t.jsx(C.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:u("assistant.message.steps.pick_source_start")})]}):t.jsxs(t.Fragment,{children:[t.jsx(ut,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:u(`assistant.message.steps.${n?.chunk_type||r.type}`,{count:y?.length})})]}),c?t.jsx(C.ChevronUp,{className:"w-4 h-4"}):t.jsx(C.ChevronDown,{className:"w-4 h-4"})]}),c&&t.jsx("div",{className:"pl-2 pt-1 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:t.jsx("div",{className:"mb-4 space-y-3 text-xs",children:y?.map(i=>t.jsx("div",{className:"p-3 rounded-lg border border-[#E6E6E6] dark:border-[#272626] bg-white dark:bg-[#1E1E1E] hover:bg-gray-50 dark:hover:bg-[#2C2C2C] transition-colors",children:t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("div",{className:"text-sm font-medium text-[#333333] dark:text-[#D8D8D8]",children:i.title}),t.jsx("div",{className:"text-xs text-[#666666] dark:text-[#A3A3A3] line-clamp-2",children:i.explain})]})},i.id))})})})]})};function ht(r){return t.jsx(me,{...r,viewBox:"0 0 16 16",children:t.jsxs("g",{id:"deading",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",children:[t.jsx("circle",{id:"椭圆形",stroke:"currentColor",strokeWidth:"1.25",cx:"8",cy:"3",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份-2",stroke:"currentColor",strokeWidth:"1.25",cx:"3",cy:"5",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份-4",stroke:"currentColor",strokeWidth:"1.25",cx:"13",cy:"5",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份",stroke:"currentColor",strokeWidth:"1.25",cx:"8",cy:"13",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份-3",stroke:"currentColor",strokeWidth:"1.25",cx:"3",cy:"11",r:"1.375"}),t.jsx("circle",{id:"椭圆形备份-5",stroke:"currentColor",strokeWidth:"1.25",cx:"13",cy:"11",r:"1.375"}),t.jsx("path",{d:"M8.0070039,4.03345364 L8.0070039,8.50590493 L4.1923477,10.2855921",id:"路径-13",stroke:"currentColor",strokeWidth:"1.25"}),t.jsx("line",{x1:"11.7924093",y1:"8.47550067",x2:"8",y2:"10.2754456",id:"路径-13备份",stroke:"currentColor",strokeWidth:"1.25",transform:"translate(9.8962, 9.3755) scale(-1, 1) translate(-9.8962, -9.3755)"}),t.jsx("path",{d:"M4.17568738,4.53038288 L6.65384701,3.54050563 M9.35480875,3.53987819 L11.7283558,4.49062879",id:"形状",stroke:"currentColor",strokeWidth:"1.25"}),t.jsx("line",{x1:"3",y1:"6.06946104",x2:"3",y2:"9.97988046",id:"路径-14",stroke:"currentColor",strokeWidth:"1.25"}),t.jsx("line",{x1:"13",y1:"6.06946104",x2:"13",y2:"9.97988046",id:"路径-14备份",stroke:"currentColor",strokeWidth:"1.25"})]})})}const xt=({Detail:r,ChunkData:n,loading:f})=>{const{t:u}=W.useTranslation(),[c,v]=a.useState(!1),[y,x]=a.useState([]),[i,g]=a.useState("");return a.useEffect(()=>{r?.description&&g(r?.description)},[r?.description]),a.useEffect(()=>{if(n?.message_chunk)try{if(n.message_chunk.includes("&")){const l=n.message_chunk.split("&").filter(Boolean);x(l)}else x([n.message_chunk])}catch(l){console.error("Failed to parse query data:",l)}},[n?.message_chunk]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>v(l=>!l),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[f?t.jsxs(t.Fragment,{children:[t.jsx(C.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:u(`assistant.message.steps.${n?.chunk_type||r?.type}`)})]}):t.jsxs(t.Fragment,{children:[t.jsx(ht,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:u(`assistant.message.steps.${n?.chunk_type||r?.type}`,{count:Number(y.length)})})]}),c?t.jsx(C.ChevronUp,{className:"w-4 h-4"}):t.jsx(C.ChevronDown,{className:"w-4 h-4"})]}),c&&t.jsx("div",{className:"pl-2 pt-1 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:t.jsxs("div",{className:"mb-4 space-y-3 text-xs",children:[y?.map(l=>t.jsx("div",{className:"flex flex-col gap-2",children:t.jsxs("div",{className:"text-xs text-[#999999] dark:text-[#808080]",children:["- ",l]})},l)),i?.split(`
32
+ `).map((l,b)=>l.trim()&&t.jsx("p",{className:"text-sm",children:l},b))]})})})]})},gt=({Detail:r,ChunkData:n,loading:f})=>{const{t:u}=W.useTranslation(),[c,v]=a.useState(!0),[y,x]=a.useState("");return a.useEffect(()=>{r?.description&&x(r?.description)},[r?.description]),a.useEffect(()=>{n?.message_chunk&&x(n?.message_chunk)},[n?.message_chunk,y]),!n&&!r?null:t.jsxs("div",{className:"space-y-2 mb-3 w-full",children:[t.jsxs("button",{onClick:()=>v(i=>!i),className:"inline-flex items-center gap-2 px-2 py-1 rounded-xl transition-colors border border-[#E6E6E6] dark:border-[#272626]",children:[f?t.jsxs(t.Fragment,{children:[t.jsx(C.Loader,{className:"w-4 h-4 animate-spin text-[#1990FF]"}),t.jsx("span",{className:"text-xs text-[#999999] italic",children:u(`assistant.message.steps.${n?.chunk_type}`)})]}):t.jsxs(t.Fragment,{children:[t.jsx(C.Brain,{className:"w-4 h-4 text-[#38C200]"}),t.jsx("span",{className:"text-xs text-[#999999]",children:u("assistant.message.steps.thoughtTime")})]}),c?t.jsx(C.ChevronUp,{className:"w-4 h-4"}):t.jsx(C.ChevronDown,{className:"w-4 h-4"})]}),c&&t.jsx("div",{className:"pl-2 pt-1 border-l-2 border-[#e5e5e5] dark:border-[#4e4e56]",children:t.jsx("div",{className:"text-[#8b8b8b] dark:text-[#a6a6a6] space-y-2",children:y?.split(`
33
+ `).map((i,g)=>i.trim()&&t.jsx("p",{className:"text-sm",children:i},g))})})]})},mt=["timedout","error"],pt=({id:r,content:n,question:f,actionClassName:u,actionIconSize:c,copyButtonId:v,onResend:y})=>{const[x,i]=a.useState(!1),[g,l]=a.useState(!1),[b,m]=a.useState(!1),[j,R]=a.useState(!1),[U,w]=a.useState(!1),h=mt.includes(r),S=async()=>{try{await Qe(n),i(!0);const J=setTimeout(()=>{i(!1),clearTimeout(J)},2e3)}catch(J){console.error("copy error:",J)}},$=()=>{l(!g),m(!1)},Z=()=>{m(!b),l(!1)},le=async()=>{if("speechSynthesis"in window){if(j){window.speechSynthesis.cancel(),R(!1);return}const J=new SpeechSynthesisUtterance(n);J.lang="zh-CN",J.onend=()=>{R(!1)},R(!0),window.speechSynthesis.speak(J)}},ce=()=>{if(y){w(!0),y();const J=setTimeout(()=>{w(!1),clearTimeout(J)},1e3)}};return t.jsxs("div",{className:ae("flex items-center gap-2 mt-2",u),children:[!h&&t.jsx("button",{id:v,onClick:S,className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors",children:x?t.jsx(C.Check,{className:"w-4 h-4 text-[#38C200] dark:text-[#38C200]",style:{width:c,height:c}}):t.jsx(C.Copy,{className:"w-4 h-4 text-[#666666] dark:text-[#A3A3A3]",style:{width:c,height:c}})}),!h&&t.jsx("button",{onClick:$,className:`p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors ${g?"animate-shake":""}`,children:t.jsx(C.ThumbsUp,{className:`w-4 h-4 ${g?"text-[#1990FF] dark:text-[#1990FF]":"text-[#666666] dark:text-[#A3A3A3]"}`,style:{width:c,height:c}})}),!h&&t.jsx("button",{onClick:Z,className:`p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors ${b?"animate-shake":""}`,children:t.jsx(C.ThumbsDown,{className:`w-4 h-4 ${b?"text-[#1990FF] dark:text-[#1990FF]":"text-[#666666] dark:text-[#A3A3A3]"}`,style:{width:c,height:c}})}),!h&&t.jsx(t.Fragment,{children:t.jsx("button",{onClick:le,className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors",children:t.jsx(C.Volume2,{className:`w-4 h-4 ${j?"text-[#1990FF] dark:text-[#1990FF]":"text-[#666666] dark:text-[#A3A3A3]"}`,style:{width:c,height:c}})})}),f&&t.jsx("button",{onClick:ce,className:`p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg transition-colors ${U?"animate-spin":""}`,children:t.jsx(C.RotateCcw,{className:`w-4 h-4 ${U?"text-[#1990FF] dark:text-[#1990FF]":"text-[#666666] dark:text-[#A3A3A3]"}`,style:{width:c,height:c}})})]})};function At({suggestions:r,onSelect:n}){return!r||r.length===0?null:t.jsx("div",{className:"mt-4 flex flex-col gap-2",children:r.map((f,u)=>t.jsxs("button",{onClick:()=>n(f),className:"text-left inline-flex items-center px-3 py-1.5 rounded-full bg-[#F5F5F5] dark:bg-[#2A2A2A] border border-[#E4E5EF] dark:border-[#3A3A3A] text-sm text-[#333333] dark:text-white hover:bg-[#EDEDED] dark:hover:bg-[#3A3A3A] transition-colors w-fit max-w-full wrap-break-word whitespace-pre-wrap",children:[t.jsx("span",{className:"break-all",children:f}),t.jsx(C.MoveRight,{className:"w-3 h-3 ml-1.5 shrink-0"})]},u))})}const kt=({textToCopy:r})=>{const[n,f]=a.useState(!1),u=async()=>{try{await Qe(r),f(!0);const c=setTimeout(()=>{f(!1),clearTimeout(c)},2e3)}catch(c){console.error("copy error:",c)}};return t.jsx("button",{className:"p-1 bg-gray-200 dark:bg-gray-700 rounded",onClick:u,children:n?t.jsx(C.Check,{className:"w-4 h-4 text-[#38C200] dark:text-[#38C200]"}):t.jsx(C.Copy,{className:"w-4 h-4 text-gray-600 dark:text-gray-300"})})},vt=r=>{const{message:n,attachments:f}=r,[u,c]=a.useState(!1),[v,y]=a.useState([]),x=i=>{if(typeof window<"u"&&typeof document<"u"){const g=window.getSelection(),l=document.createRange();if(i.currentTarget&&g&&l)try{l.selectNodeContents(i.currentTarget),g.removeAllRanges(),g.addRange(l)}catch(b){console.error("Selection failed:",b)}}};return _e.useAsyncEffect(async()=>{try{if(f.length===0)return;y({}?.hits?.hits)}catch(i){console.error("Get attachment failed:",String(i))}},[f]),t.jsxs(t.Fragment,{children:[n&&t.jsxs("div",{className:"flex gap-1 items-center justify-end",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[t.jsx("div",{className:ae("size-6 transition",{"opacity-0":!u}),children:t.jsx(kt,{textToCopy:n})}),t.jsx("div",{className:"max-w-[85%] overflow-auto text-left px-3 py-2 bg-white dark:bg-[#202126]! rounded-xl border border-black/12 dark:border-black/15 font-normal text-sm text-[#333333] dark:text-white cursor-pointer user-select-text whitespace-pre-wrap",onDoubleClick:x,children:n})]}),v&&v.length>0&&t.jsx("div",{className:ae("w-full",{"mt-3":n}),children:t.jsx($e.Attachments,{data:v.map(i=>({id:i._source.id,filename:i._source.name,extname:i._source.icon,size:i._source.size,status:"uploaded"})),className:"text-left"})})]})},yt=({name:r,className:n,style:f,...u})=>t.jsx("svg",{className:`icon dark:drop-shadow-[0_0_6px_rgb(255,255,255)] ${n||""}`,style:f,...u,children:t.jsx("use",{xlinkHref:`#${r}`})});function wt(){const[r,n]=a.useState(),[f,u]=a.useState(),[c,v]=a.useState(),[y,x]=a.useState(),[i,g]=a.useState(),[l,b]=a.useState(),[m,j]=a.useState(),R={deal_query_intent:a.useCallback(w=>{n(h=>h?{...h,message_chunk:(h.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_tools:a.useCallback(w=>{u(h=>h?{...h,message_chunk:(h.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_fetch_source:a.useCallback(w=>{v(h=>h?{...h,message_chunk:(h.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_pick_source:a.useCallback(w=>{x(h=>h?{...h,message_chunk:(h.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_deep_read:a.useCallback(w=>{g(h=>h?{...h,message_chunk:(h.message_chunk||"")+"&"+(w.message_chunk||"")}:w)},[]),deal_think:a.useCallback(w=>{b(h=>h?{...h,message_chunk:(h.message_chunk||"")+(w.message_chunk||"")}:w)},[]),deal_response:a.useCallback(w=>{j(h=>h?{...h,message_chunk:(h.message_chunk||"")+(w.message_chunk||"")}:w)},[])};return{data:{query_intent:r,tools:f,fetch_source:c,pick_source:y,deep_read:i,think:l,response:m},handlers:R,clearAllChunkData:()=>new Promise(w=>{n(void 0),u(void 0),v(void 0),x(void 0),g(void 0),b(void 0),j(void 0),setTimeout(w,0)})}}function Ct(r){if(r)return r==="light"?"light":r==="dark"||typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}const bt=a.memo(a.forwardRef(function({message:n,isTyping:f,onResend:u,hide_assistant:c=!1,rootClassName:v,actionClassName:y,actionIconSize:x,copyButtonId:i,formatUrl:g,theme:l,locale:b,query_intent:m,tools:j,fetch_source:R,pick_source:U,deep_read:w,think:h,response:S,currentAssistant:$,assistantList:Z,loadingStep:le},ce){const{t:J,i18n:de}=W.useTranslation(),pe=Ct(l),[ue,fe]=a.useState({}),{data:{query_intent:Ae,tools:Y,fetch_source:K,pick_source:z,deep_read:ke,think:ve,response:ee},handlers:P,clearAllChunkData:ye}=wt();a.useEffect(()=>{m&&P.deal_query_intent(m)},[m]),a.useEffect(()=>{j&&P.deal_tools(j)},[j]),a.useEffect(()=>{R&&P.deal_fetch_source(R)},[R]),a.useEffect(()=>{U&&P.deal_pick_source(U)},[U]),a.useEffect(()=>{w&&P.deal_deep_read(w)},[w]),a.useEffect(()=>{h&&P.deal_think(h)},[h]),a.useEffect(()=>{S&&P.deal_response(S)},[S]);const[we,he]=a.useState({query_intent:!1,tools:!1,fetch_source:!1,pick_source:!1,deep_read:!1,think:!1,response:!1}),D=le||we,te=a.useRef(!1);a.useImperativeHandle(ce,()=>({addChunk:p=>{if(he(()=>({query_intent:!1,tools:!1,fetch_source:!1,pick_source:!1,deep_read:!1,think:!1,response:!1,[p.chunk_type||""]:!0})),p.chunk_type==="query_intent")P.deal_query_intent(p);else if(p.chunk_type==="tools")P.deal_tools(p);else if(p.chunk_type==="fetch_source")P.deal_fetch_source(p);else if(p.chunk_type==="pick_source")P.deal_pick_source(p);else if(p.chunk_type==="deep_read")P.deal_deep_read(p);else if(p.chunk_type==="think")P.deal_think(p);else if(p.chunk_type==="response"){const I=p.message_chunk;if(typeof I=="string"){if(I.includes("<think>")||I.includes("<think>")){te.current=!0;return}else if(I.includes("</think>")||I.includes("</think>")){te.current=!1;return}te.current?P.deal_think({...p,chunk_type:"think"}):P.deal_response(p)}}},reset:()=>{ye(),he({query_intent:!1,tools:!1,fetch_source:!1,pick_source:!1,deep_read:!1,think:!1,response:!1}),te.current=!1}}));const V=n?._source?.type==="assistant",X=n?._source?.assistant_id,G=n?._source?.assistant_item;a.useEffect(()=>{b&&de.language!==b&&de.changeLanguage(b)},[b,de]),a.useEffect(()=>{if(G){fe(G);return}if(V&&X&&Array.isArray(Z)){fe(Z.find(p=>p._id===X)??{});return}fe($)},[V,G,X,Z,$]);const q=n?._source?.message||"",xe=n?._source?.attachments??[],Q=n?._source?.details||[],Ce=n?._source?.question||"",be=f===!1&&(q||ee?.message_chunk),[Ee,Ne]=a.useState([]),se=p=>{Ne(p)},H=()=>V?t.jsxs(t.Fragment,{children:[t.jsx(ot,{Detail:Q.find(p=>p.type==="query_intent"),ChunkData:Ae,getSuggestion:se,loading:D?.query_intent}),t.jsx(it,{Detail:Q.find(p=>p.type==="tools"),ChunkData:Y,loading:D?.tools}),t.jsx(dt,{Detail:Q.find(p=>p.type==="fetch_source"),ChunkData:K,loading:D?.fetch_source,formatUrl:g}),t.jsx(ft,{Detail:Q.find(p=>p.type==="pick_source"),ChunkData:z,loading:D?.pick_source}),t.jsx(xt,{Detail:Q.find(p=>p.type==="deep_read"),ChunkData:ke,loading:D?.deep_read}),t.jsx(gt,{Detail:Q.find(p=>p.type==="think"),ChunkData:ve,loading:D?.think}),t.jsx(Le.XMarkdown,{content:q||ee?.message_chunk||""}),f&&t.jsx("div",{className:"inline-block w-1.5 h-5 ml-0.5 -mb-0.5 bg-[#666666] dark:bg-[#A3A3A3] rounded-sm animate-typing"}),be&&t.jsx(pt,{id:n._id??"",content:q||ee?.message_chunk||"",question:Ce,actionClassName:y,actionIconSize:x,copyButtonId:i,onResend:()=>{u&&u(Ce)}}),!f&&t.jsx(At,{suggestions:Ee,onSelect:p=>u&&u(p)})]}):t.jsx(vt,{message:q,attachments:xe});return t.jsx("div",{className:ae("w-full py-8 flex",[V?"justify-start":"justify-end"],pe==="dark"&&"dark",v),children:t.jsx("div",{className:`w-full px-4 flex gap-4 ${V?"w-full":"flex-row-reverse"}`,children:t.jsxs("div",{className:`w-full space-y-2 ${V?"text-left":"text-right"}`,children:[!c&&t.jsxs("div",{className:"w-full flex items-center gap-1 font-semibold text-sm text-[#333] dark:text-white",children:[V?t.jsx("div",{className:"w-6 h-6 flex justify-center items-center rounded-full bg-white dark:bg-[#2A2A2A] border border-[#E6E6E6] dark:border-[#3A3A3A]",children:ue?._source?.icon?.startsWith("font_")?t.jsx(yt,{name:ue._source.icon,className:"w-4 h-4"}):t.jsx("img",{src:nt,className:"w-4 h-4",alt:J("assistant.message.logo")})}):null,V?ue?._source?.name||"Coco AI":""]}),t.jsx("div",{className:"w-full prose dark:prose-invert prose-sm max-w-none",children:t.jsx("div",{className:"w-full pl-7 text-[#333] dark:text-white leading-relaxed",children:H()})})]})})})})),jt=a.memo(a.forwardRef((r,n)=>t.jsx(W.I18nextProvider,{i18n:Me,children:t.jsx(bt,{...r,ref:n})})));L.ChatMessage=jt,Object.defineProperty(L,Symbol.toStringTag,{value:"Module"})}));
@@ -1,6 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  interface PrevSuggestionProps {
3
3
  sendMessage: (message: string) => void;
4
+ currentAssistant: any;
4
5
  }
5
6
  declare const PrevSuggestion: FC<PrevSuggestionProps>;
6
7
  export default PrevSuggestion;
@@ -19,6 +19,9 @@ export interface ChatMessageProps {
19
19
  deep_read?: IChunkData;
20
20
  think?: IChunkData;
21
21
  response?: IChunkData;
22
+ currentAssistant?: any;
23
+ assistantList?: any[];
24
+ loadingStep?: Record<string, boolean>;
22
25
  }
23
26
  export interface ChatMessageRef {
24
27
  addChunk: (chunk: IChunkData) => void;
package/dist/main.d.ts CHANGED
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,3 @@
1
1
  export declare const copyToClipboard: (text: string) => Promise<void>;
2
- export declare const isDefaultServer: () => boolean;
3
2
  export declare const OpenURLWithBrowser: (url: string) => void;
4
3
  export declare const filesize: (size: number) => string;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "dist",
9
9
  "README.md"
10
10
  ],
11
- "version": "0.0.5",
11
+ "version": "0.0.6",
12
12
  "license": "MIT",
13
13
  "type": "module",
14
14
  "main": "dist/ChatMessage.cjs",
@@ -1,9 +0,0 @@
1
- import { FC } from 'react';
2
- import { UploadAttachments } from '../../stores/chatStore';
3
- declare const AttachmentList: () => import("react/jsx-runtime").JSX.Element;
4
- interface AttachmentItemProps extends UploadAttachments {
5
- deletable?: boolean;
6
- onDelete?: (id: string) => void;
7
- }
8
- export declare const AttachmentItem: FC<AttachmentItemProps>;
9
- export default AttachmentList;
@@ -1,7 +0,0 @@
1
- import { FC } from 'react';
2
- interface FileIconProps {
3
- path: string;
4
- className?: string;
5
- }
6
- declare const FileIcon: FC<FileIconProps>;
7
- export default FileIcon;
@@ -1,8 +0,0 @@
1
- import { FC, ReactNode } from 'react';
2
- interface Tooltip2Props {
3
- content: string;
4
- children: ReactNode;
5
- className?: string;
6
- }
7
- declare const Tooltip2: FC<Tooltip2Props>;
8
- export default Tooltip2;
@@ -1,5 +0,0 @@
1
- interface AppState {
2
- addError: (error: string) => void;
3
- }
4
- export declare const useAppStore: import('zustand').UseBoundStore<import('zustand').StoreApi<AppState>>;
5
- export {};
@@ -1,20 +0,0 @@
1
- export interface UploadAttachments {
2
- id: string;
3
- name: string;
4
- path: string;
5
- size: number;
6
- uploading?: boolean;
7
- uploaded?: boolean;
8
- uploadFailed?: boolean;
9
- failedMessage?: string;
10
- attachmentId?: string;
11
- [key: string]: any;
12
- }
13
- interface ChatState {
14
- synthesizeItem: any;
15
- setSynthesizeItem: (item: any) => void;
16
- uploadAttachments: UploadAttachments[];
17
- setUploadAttachments: (items: UploadAttachments[]) => void;
18
- }
19
- export declare const useChatStore: import('zustand').UseBoundStore<import('zustand').StoreApi<ChatState>>;
20
- export {};
@@ -1,8 +0,0 @@
1
- interface ConnectState {
2
- currentAssistant: any;
3
- assistantList: any[];
4
- currentService: any;
5
- setAssistant: (assistant: any) => void;
6
- }
7
- export declare const useConnectStore: import('zustand').UseBoundStore<import('zustand').StoreApi<ConnectState>>;
8
- export {};
@@ -1,16 +0,0 @@
1
- declare const platformAdapter: {
2
- commands: (command: string, args: any) => Promise<{
3
- hits: {
4
- hits: {
5
- _source: {
6
- id: string;
7
- name: string;
8
- icon: string;
9
- size: string;
10
- };
11
- }[];
12
- };
13
- }>;
14
- invokeBackend: <T>(command: string, args: any) => Promise<T | undefined>;
15
- };
16
- export default platformAdapter;