@blueking/ai-blueking 2.2.2-beta.6 → 2.2.2-beta.7

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.
@@ -2,5 +2,5 @@
2
2
  /*$vite$:1*/`,document.head.appendChild(u),Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var d=Object.create,f=Object.defineProperty,p=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyNames,h=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty,_=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=m(t),a=0,o=i.length,s;a<o;a++)s=i[a],!g.call(e,s)&&s!==n&&f(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=p(t,s))||r.enumerable});return e},v=(e,t,n)=>(n=e==null?{}:d(h(e)),_(t||!e||!e.__esModule?f(n,`default`,{value:e,enumerable:!0}):n,e));a=v(a,1),c=v(c,1),(function(){var e=`<svg xmlns="http://www.w3.org/2000/svg" data-name="bkai" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0;visibility:hidden"><symbol id="bkai-warning-circle-fill" viewBox="0 0 1024 1024"><path fill="#737987" d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 640h-64v-64h64v64zm0-128h-64V320h64v256z"/></symbol><symbol id="bkai-edit" viewBox="0 0 32 32"><path fill="#63656E" d="M9 21h14v2H9zM12.5 19.5h-2v-2l7-7 2 2zM18.014 10.005l.99-.99 1.98 1.98-.99.99z"/></symbol><symbol id="bkai-jump-link" viewBox="0 0 64 64"><path d="M54 8H31v4h18.2L22.6 38.6l2.8 2.8L52 14.8V33h4V10c0-1.1-.9-2-2-2z"/><path d="M52 44v8H12V12h7.9V8H10c-1.1 0-2 .9-2 2v44c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2V44h-4z"/></symbol><symbol id="bkai-angle-down" viewBox="0 0 32 32"><path fill="#63656E" d="M9 14l1.5-1.5L16 18l5.5-5.5L23 14l-7 7z"/></symbol><symbol id="bkai-check-1" viewBox="0 0 32 32"><path fill="#63656E" d="M22 11l1.5 1.5L14 22l-5.5-5.5L10 15l4 4z"/></symbol><symbol id="bkai-check-circle-shape" viewBox="0 0 64 64"><path fill="#737987" d="M32 4C16.5 4 4 16.5 4 32s12.5 28 28 28 28-12.5 28-28S47.5 4 32 4zm-4 40L17 33l3-3 8 8 16-16 3 3-19 19z"/></symbol><symbol id="bkai-close-circle-shape" viewBox="0 0 64 64"><path fill="#737987" d="M32 4C16.5 4 4 16.5 4 32s12.5 28 28 28 28-12.5 28-28S47.5 4 32 4zm11.3 36.5l-2.8 2.8-8.5-8.5-8.5 8.5-2.8-2.8 8.5-8.5-8.5-8.5 2.8-2.8 8.5 8.5 8.5-8.5 2.8 2.8-8.5 8.5 8.5 8.5z"/></symbol><symbol id="bkai-close" viewBox="0 0 32 32"><path fill="#63656E" d="M21.2 9.3L16 14.6l-5.2-5.3-1.5 1.5 5.3 5.2-5.3 5.2 1.5 1.5 5.2-5.3 5.2 5.3 1.5-1.5-5.3-5.2 5.3-5.2z"/></symbol><symbol id="bkai-close-line-2" viewBox="0 0 64 64"><path d="M52 16.2L47.8 12 32 27.8 16.2 12 12 16.2 27.8 32 12 47.8l4.2 4.2L32 36.2 47.8 52l4.2-4.2L36.2 32z"/></symbol><symbol id="bkai-auto-refresh-line" viewBox="0 0 64 64"><path d="M54.3 23.1l3.4-2c4.1 9.7 2.5 20.8-4.3 28.9-9.8 11.7-27.2 13.3-39 3.7l-.4-.3v4.1h-4V46.3h11.3v4h-4.8C20.8 54 26.3 56 32 56c13.2 0 24-10.7 24-24 0-2.8-.5-5.7-1.5-8.4l-.2-.5 3.4-2-3.4 2zM49.6 10.3l.4.3V6.5h4v11.2H42.7v-4h4.8C43.2 10 37.7 8 32 8 18.8 8 8 18.7 8 32c0 2.8.5 5.7 1.5 8.4l.2.5-3.4 2C2.2 33.2 3.8 22.1 10.6 14c9.8-11.7 27.2-13.4 39-3.7z"/><path d="M43.1 43.3h-5.3l-1.7-5.2h-8.2l-1.7 5.2H21l8.3-22.7H35l8.1 22.7zM35 34.4l-2.6-7.9c-.2-.5-.3-1.2-.4-2h-.1c-.1.7-.2 1.3-.4 1.9l-2.6 7.9H35z"/></symbol><symbol id="bkai-minus-line" viewBox="0 0 1024 1024"><path d="M128 448h768v128H128V448z" class="st0"/></symbol><symbol id="bkai-visible1" viewBox="0 0 1024 1024"><path d="M512 384a128 128 0 10128 128 128 128 0 00-128-128zm0 192a64 64 0 1164-64 64 64 0 01-64 64z"/><path d="M512 240C264.64 240 64 512 64 512s200.64 272 448 272 448-272 448-272-200.64-272-448-272zm0 480c-160 0-304-139.04-364.96-208C208 442.88 352 304 512 304s304 139.04 364.96 208C816 581.12 672 720 512 720z"/></symbol><symbol id="bkai-links" viewBox="0 0 1024 1024"><path d="M263.04 760.96a148.48 148.48 0 01-1.92-224l92.48-92.48-45.12-45.76L216 491.2a212.8 212.8 0 001.92 314.88A212.8 212.8 0 00532.8 808l92.48-92.48L579.84 672l-92.48 92.48a148.48 148.48 0 01-224.32-3.52zM491.2 216l-92.48 92.48 45.44 45.12 92.48-92.48a148.48 148.48 0 01224 1.92 148.48 148.48 0 011.92 224L672 579.84l45.12 45.44 92.48-92.48a212.8 212.8 0 00-1.92-314.88A212.8 212.8 0 00491.2 216z"/><path d="M398.786 579.888l181.019-181.02 45.255 45.255-181.02 181.02-45.254-45.255z"/></symbol><symbol id="bkai-quanquan" viewBox="0 0 1024 1024"><path fill="#3A84FF" d="M512 64.129c-9.343-.661-18.345 3.338-27.005 11.998-2.666 2.667-4.831 6.165-6.495 10.495-1.664 4.33-2.496 7.498-2.496 9.503v4c0 10.004 2.997 18.003 8.991 23.997 3.328 4.01 7.327 6.847 11.999 8.511 4.671 1.664 8.34 2.496 11.006 2.496h4c68.003 0 130.993 16.83 188.97 50.49 57.978 33.66 103.807 79.49 137.489 137.488 33.681 57.999 50.511 121.16 50.49 189.483-.021 68.322-16.851 131.313-50.49 188.97-33.64 57.657-79.469 103.316-137.489 136.976-58.02 33.66-121.18 50.49-189.482 50.49-68.301 0-131.292-16.83-188.97-50.49-57.68-33.66-103.338-79.319-136.977-136.976-33.639-57.657-50.469-120.818-50.49-189.482 0-10.005-3.669-18.676-11.007-26.013-2.666-3.328-6.164-5.824-10.494-7.487-4.33-1.664-7.498-2.496-9.503-2.496h-4c-10.004 0-18.334 3.338-24.99 10.015-4.01 4.01-6.846 8.18-8.51 12.51-1.664 4.33-2.496 7.498-2.496 9.503v4c0 60.665 11.828 118.663 35.484 173.996 23.656 55.332 55.482 102.996 95.477 142.991 39.996 39.996 87.66 71.822 142.992 95.478 55.332 23.656 113.33 35.483 173.996 35.483 60.665 0 118.664-11.827 173.996-35.483 55.332-23.656 102.996-55.482 142.992-95.478 39.995-39.995 71.82-87.659 95.477-142.991 23.656-55.333 35.484-113.331 35.484-173.996 0-60.665-11.828-118.664-35.484-173.996-23.656-55.333-55.482-102.997-95.477-142.992-39.996-39.996-87.66-71.821-142.992-95.477C630.664 75.989 572.666 64.16 512 64.16v-.032z"/></symbol><symbol id="bkai-more" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512.55 319.995c35.34-.294 63.742-29.196 63.448-64.548-.307-35.353-29.197-63.742-64.55-63.448-35.135.295-63.448 28.876-63.448 63.998v.55c.307 35.34 29.21 63.742 64.55 63.448m-1.102 112.004c-35.135.295-63.448 28.876-63.448 63.998v.55c.307 35.34 29.21 63.742 64.55 63.448 35.34-.294 63.742-29.196 63.448-64.548-.307-35.353-29.197-63.742-64.55-63.448m0 240c-35.135.295-63.448 28.876-63.448 63.998v.55c.307 35.34 29.21 63.742 64.55 63.448 35.34-.294 63.742-29.196 63.448-64.548-.307-35.353-29.197-63.742-64.55-63.448"/></symbol><symbol id="bkai-yanjing-kejian" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 192c247.4 0 448 143.3 448 320S759.4 832 512 832 64 688.7 64 512s200.6-320 448-320zm0 64c-54.2 0-106.6 7.5-155.9 22.4-46.6 14.1-88.3 34.1-123.7 59.4C165.1 385.9 128 447.8 128 512c0 64.2 37.1 126.1 104.4 174.2 35.4 25.3 77.1 45.3 123.7 59.4C405.4 760.5 457.8 768 512 768s106.6-7.5 155.9-22.4c46.6-14.1 88.3-34.1 123.7-59.4C858.9 638.1 896 576.2 896 512c0-64.2-37.1-126.1-104.4-174.2-35.4-25.3-77.1-45.3-123.7-59.4C618.6 263.5 566.2 256 512 256zm0 96c88.4 0 160 71.6 160 160s-71.6 160-160 160-160-71.6-160-160 71.6-160 160-160zm0 64c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96z"/></symbol><symbol id="bkai-zhishiku" viewBox="0 0 1024 1024"><path d="M320.986 203.315H191.622c-17.248 0-31.622 14.503-31.622 31.905v639.542c0 17.403 14.374 31.905 31.622 31.905h129.364c17.249 0 31.623-14.502 31.623-31.905V235.22c0-17.402-14.374-31.905-31.623-31.905zm-35.934 130.52h-57.495c-15.811 0-28.748-13.053-28.748-29.005 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zM578.277 96H448.913c-17.249 0-31.622 14.502-31.622 31.905v746.857c0 17.403 14.373 31.905 31.622 31.905h129.364c17.248 0 31.622-14.502 31.622-31.905V127.905C611.337 110.502 596.963 96 578.277 96zM543.78 227.969h-57.495c-15.811 0-28.748-13.052-28.748-29.004 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zm383.78 613.438l-120.74-627.94c-4.312-15.952-17.249-26.104-33.06-26.104h-5.75l-126.488 24.654c-17.249 2.9-28.748 20.303-25.873 37.705l122.177 629.39c2.875 15.953 15.811 26.104 31.622 26.104h5.75l126.489-24.653c17.248-4.35 28.748-21.753 25.873-39.156zM762.26 312.081l-57.495 11.602h-5.75c-12.936 0-25.872-10.152-28.747-23.204-2.875-15.952 7.187-31.904 22.998-34.805l57.495-11.601c15.811-2.9 31.623 7.25 34.497 23.203 2.875 15.952-7.187 31.905-22.998 34.805z"/></symbol><symbol id="bkai-shipin-2" viewBox="0 0 1024 1024"><path fill="#FF9C01" fill-rule="evenodd" d="M616.8 64c8.5 0 16.6 3.4 22.6 9.4l215.2 215.2c6 6 9.4 14.2 9.4 22.7V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zM433.067 486.16v161.072c0 44.295 29.53 60.402 67.113 36.242l107.381-71.14c36.242-26.846 36.242-67.114 0-91.275L500.18 449.92c-36.241-24.16-67.113-8.053-67.113 36.241zM602 137.8V326h188.2L602 137.8z"/></symbol><symbol id="bkai-tupian-2" viewBox="0 0 1024 1024"><path fill="#699DF4" d="M616.8 64c8.5 0 16.6 3.4 22.6 9.4l215.2 215.2c6 6 9.4 14.2 9.4 22.7V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm-18.4 512l-112 144-80-96-112 144h448l-144-192zM480 448c-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64zm122-310.2V326h188.2L602 137.8z"/></symbol><symbol id="bkai-wenben-2" viewBox="0 0 1024 1024"><path fill="#979BA5" fill-rule="evenodd" d="M616.8 64c8.5 0 16.6 3.4 22.6 9.4l215.2 215.2c6 6 9.4 14.2 9.4 22.7V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zM656 704H368c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h288c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm-64-128H368c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h224c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zM464 448h-96c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h96c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm138-310.2V326h188.2L602 137.8z"/></symbol><symbol id="bkai-yasuobao-2" viewBox="0 0 1024 1024"><path fill="#63656E" fill-rule="evenodd" d="M623.999 64c26.5 0 63.499 15.5 82 34l156 156c18.5 18.5 34.001 55.5 34.001 82v576.001c0 26.5-21.5 47.999-48.002 47.999H176c-26.5 0-48-21.5-48-47.999V112c0-26.5 21.5-48 48-48h447.999zM296 456h-64v222h128V518h-64v-62zm16 110v64h-32v-64h32zm48-174h-64v64h64v-64zm-64-64h-64v64h64v-64zm64-64h-64v64h64v-64zm280-132v188h188c-3-8.5-7.501-17-11.001-20.5L660.499 143c-3.5-3.5-12-8-20.499-11zm-344 68h-64v64h64v-64zm64-64h-64v64h64v-64z"/></symbol><symbol id="bkai-yinle-2" viewBox="0 0 1024 1024"><path fill="#F8B4B4" fill-rule="evenodd" d="M616.8 64c8.5 0 16.6 3.4 22.6 9.4l215.2 215.2c6 6 9.4 14.2 9.4 22.7V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm-6.312 385.187l-133.876 40.95c-16.187 4.637-29.4 21.525-29.4 37.712v141.225s-9.712-6.562-31.324-3.5c-31.763 4.55-57.488 28.875-57.488 54.425 0 25.55 25.725 41.213 57.488 36.663 31.762-4.463 55.037-28.088 55.037-53.638V582.449c0-11.375 13.65-16.187 13.65-16.187l118.387-37.1s13.126-4.375 13.126 7.7v96.862s-12.076-6.912-33.688-4.287c-31.762 3.85-57.488 27.65-57.488 53.2 0 25.55 25.726 41.737 57.488 37.887 31.762-3.85 57.488-27.65 57.488-53.2V470.187c0-16.275-13.126-25.638-29.4-21zM602 137.8V326h188.2L602 137.8z"/></symbol><symbol id="bkai-doc-3" viewBox="0 0 1024 1024"><path fill="#3A84FF" d="M675.35 62.103a21.336 21.336 0 017.36 16.122v889.43a21.33 21.33 0 01-24.32 21.12l-536.406-76.587c-21.028-2.995-36.65-21-36.65-42.24V175.932c0-21.24 15.622-39.245 36.65-42.24l536.363-76.587a21.333 21.333 0 0117.003 4.998zm220.693 76.837c23.564 0 42.666 19.102 42.666 42.667v682.666c0 23.564-19.102 42.667-42.666 42.667H725.376v-85.333h128V224.273h-128V138.94h170.667zM298.709 352.273h-85.333v341.334h85.333l85.334-85.334 85.333 85.334h85.333V352.273h-85.333v212.864l-85.333-84.864-84.907 85.334-.427-213.334z"/></symbol><symbol id="bkai-excel-2" viewBox="0 0 1024 1024"><path fill="#2DCB56" fill-rule="evenodd" d="M675.307 51.163a21.336 21.336 0 017.36 16.122v889.43a21.33 21.33 0 01-24.32 21.12L121.94 901.248c-21.027-2.995-36.65-21-36.65-42.24V164.992c0-21.24 15.623-39.245 36.65-42.24l536.363-76.587a21.333 21.333 0 0117.003 4.998zM896 128c23.564 0 42.667 19.103 42.667 42.667v682.666C938.667 876.897 919.564 896 896 896H725.333v-85.333h128V213.333h-128V128H896zM315.733 341.333h-102.4L332.8 512 213.333 682.667h102.4L384 585.13l68.267 97.536h102.4L435.2 512l119.467-170.667h-102.4L384 438.87l-68.267-97.536z"/></symbol><symbol id="bkai-markdown" viewBox="0 0 1024 1024"><path fill="#979BA5" fill-rule="evenodd" d="M616.8 64c8.5 0 16.6 3.4 22.6 9.4l215.2 215.2c6 6 9.4 14.2 9.4 22.7V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.8zM443.562 477.562h-90V768h55.876V603.75c0-24.5-.813-48.938-2.438-73.312h1.688c4.374 21.374 7.437 34.437 9.187 39.187L490.438 768h49.312l71.625-200.25c2.25-6.25 5.25-18.688 9-37.312h1.5c-1.625 24.624-2.437 45.062-2.437 61.312V768h61.124V477.562H593l-62.812 175.126c-4.126 11.624-8.126 25.374-12 41.25h-1.313c-1.875-12.75-5.437-26.376-10.687-40.876l-62.626-175.5zM602 137.8V326h188.2L602 137.8z"/></symbol><symbol id="bkai-pdf-2" viewBox="0 0 1024 1024"><path fill="#EA3636" fill-rule="evenodd" d="M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM633.217 637.256c-15.174-.489-31.314.67-49.65 2.964-24.298-14.987-40.654-35.582-52.274-65.827.28-1.152.86-3.538 1.063-4.38.474-1.958.867-3.594 1.243-5.185 4.293-18.13 6.615-31.358 7.3-44.695.518-10.074-.04-19.368-1.827-27.976-3.298-18.584-16.454-29.453-33.021-30.126-15.446-.627-29.649 7.993-33.281 21.373-5.913 21.612-2.45 50.07 10.08 98.582-15.964 38.056-37.052 82.661-51.203 107.539-18.885 9.74-33.604 18.605-45.953 28.427-16.303 12.966-26.48 26.29-29.286 40.306-1.355 6.48.692 14.966 5.36 21.912 5.296 7.879 13.282 12.991 22.855 13.735 24.152 1.877 53.83-23.024 86.59-79.258 3.295-1.09 6.78-2.257 11.026-3.69 2.323-.783 10.464-3.538 11.91-4.026 7.521-2.54 12.98-4.36 18.376-6.116 23.396-7.612 41.096-12.429 57.21-15.163 27.973 14.973 60.316 24.796 82.098 24.796 17.979 0 30.126-9.319 34.515-23.985 3.857-12.886.794-27.824-7.473-36.084-8.56-8.41-24.3-12.434-45.658-13.123zm-247.985 128.42v-.36l.126-.338c1.275-3.421 3.157-7.008 5.6-10.758 4.284-6.576 10.173-13.5 17.472-20.865 3.92-3.955 8.002-7.8 12.79-12.12 1.073-.969 7.91-7.059 9.189-8.25l11.176-10.407-8.12 12.934c-12.326 19.638-23.46 33.78-33.013 43.004-3.507 3.387-6.6 5.9-9.091 7.505-1.027.662-1.916 1.144-2.613 1.424-.409.163-.771.268-1.13.302-.38.045-.765-.01-1.117-.16a2.068 2.068 0 01-1.269-1.911zm125.934-218.269l-2.26 4.007-1.39-4.385c-3.114-9.829-5.387-24.641-6.016-37.997-.716-15.197.49-24.323 5.286-24.323 6.74 0 9.831 10.808 10.076 27.053.216 14.28-2.03 29.142-5.696 35.645zm-5.81 58.464l1.534-4.05 2.088 3.795c11.69 21.245 26.858 38.967 43.538 51.315l3.595 2.662-4.38.904c-16.328 3.372-31.544 8.457-52.34 16.842 2.174-.876-21.623 8.863-27.638 11.169l-5.252 2.013 2.802-4.877c12.35-21.496 23.758-47.326 36.052-79.773h.001zm157.626 76.261c-7.864 3.104-24.777.329-54.569-12.387l-7.561-3.227 8.199-.607c23.295-1.724 39.807-.44 49.422 3.08 4.09 1.498 6.824 3.388 8.037 5.553 1.31 2.336.71 4.81-1.362 6.31-.448.427-1.155.88-2.166 1.278z"/></symbol><symbol id="bkai-ppt-2" viewBox="0 0 1024 1024"><path fill="#FF5656" fill-rule="evenodd" d="M675.35 62.103a21.336 21.336 0 017.36 16.122v889.43a21.33 21.33 0 01-24.32 21.12l-536.406-76.587c-21.028-2.995-36.65-21-36.65-42.24V175.932c0-21.24 15.622-39.245 36.65-42.24l536.363-76.587a21.333 21.333 0 0117.003 4.998zm220.693 76.837c23.564 0 42.666 19.102 42.666 42.667v682.666c0 23.564-19.102 42.667-42.666 42.667H725.376v-85.333h128V224.273h-128V138.94h170.667zM540.487 323.829H199.154v341.333h85.333V579.83h256v-256zm-85.333 85.333v85.333H284.487v-85.333h170.667z"/></symbol><symbol id="bkai-sousuo" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M478.72 128c193.6 0 350.72 157.12 350.72 350.72 0 82.88-28.8 159.04-76.8 218.88l131.84 131.84c15.36 15.36 15.36 40 0 55.04s-40 15.36-55.04 0L697.6 752.64c-60.16 48-136 76.8-218.88 76.8-193.6 0-350.72-157.12-350.72-350.72S285.12 128 478.72 128zm0 78.4c-150.4 0-272.32 121.92-272.32 272.32s121.92 272.32 272.32 272.32c58.56 0 114.24-18.56 160.32-52.16l9.6-7.36 23.68-19.2 19.2-23.68c35.84-44.8 56.64-99.52 59.2-157.44l.32-12.48c0-150.4-121.92-272.32-272.32-272.32z" clip-rule="evenodd"/></symbol><symbol id="bkai-chouti" viewBox="0 0 1024 1024"><path d="M864 160c35.346 0 64 28.654 64 64v576c0 35.346-28.654 64-64 64H160c-35.346 0-64-28.654-64-64V224c0-35.346 28.654-64 64-64zm-320 64H160v576h384V224zm320 0H608v576h256V224zm-64 224v64H672v-64h128zm0-128v64H672v-64h128z"/></symbol><symbol id="bkai-liaotianchuang" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M832 160c35.346 0 64 28.654 64 64v569.6c0 38.88-28.654 70.4-64 70.4H192c-35.346 0-64-31.52-64-70.4V224c0-35.346 28.654-64 64-64h640zm0 192H192v448h640V352zM704 224c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32 17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32 17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32zm192 0c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32 17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32z"/></symbol><symbol id="bkai-sikao" viewBox="0 0 1024 1024"><path d="M528 96c61.856 0 112 50.144 112 112 0 .376-.002.751-.006 1.126C774.73 260.666 870.4 391.16 870.4 544c0 22.55-2.082 44.612-6.066 66.007C883.94 630.144 896 657.663 896 688c0 61.856-50.144 112-112 112a112.7 112.7 0 01-19.49-1.69C699.754 862.65 610.519 902.4 512 902.4s-187.753-39.75-252.539-104.088A112.33 112.33 0 01240 800c-61.856 0-112-50.144-112-112 0-30.337 12.061-57.856 31.65-78.025A361.172 361.172 0 01153.6 544c0-164.845 111.29-303.696 262.836-345.518C421.232 141.079 469.35 96 528 96zm-91.48 176.633l-4.469 1.278C315.47 308.366 230.4 416.249 230.4 544c0 10.923.622 21.7 1.832 32.3l1.623-.134L240 576c61.856 0 112 50.144 112 112 0 26.132-8.95 50.173-23.95 69.226C377.36 799.817 441.67 825.6 512 825.6c70.33 0 134.639-25.783 183.99-68.412C680.95 738.173 672 714.132 672 688c0-61.856 50.144-112 112-112 2.607 0 5.194.09 7.757.264A280.989 280.989 0 00793.6 544c0-119.973-75.025-222.422-180.718-262.99C592.35 304.904 561.938 320 528 320c-37.782 0-71.195-18.708-91.48-47.367z"/></symbol><symbol id="bkai-wenzhang" viewBox="0 0 1024 1024"><path fill="#3D4265" d="M708.923 157.538h275.692c21.752 0 39.385 17.634 39.385 39.385v748.308c0 43.503-35.266 78.769-78.77 78.769H708.924V157.538z"/><path fill="#3A84FF" d="M0 984.615A39.385 39.385 0 0039.385 1024H945.23c-43.503 0-78.77-35.266-78.77-78.77V39.386C866.462 17.633 848.829 0 827.078 0H39.385C17.633 0 0 17.633 0 39.385v945.23z"/><path fill="#FFF" d="M196.923 288.82c-21.751 0-39.385 17.634-39.385 39.385 0 21.752 17.634 39.385 39.385 39.385h157.539c21.751 0 39.384-17.633 39.384-39.385 0-21.751-17.633-39.384-39.384-39.384H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h472.615c21.752 0 39.385-17.633 39.385-39.384 0-21.752-17.633-39.385-39.385-39.385H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h236.308c21.751 0 39.384-17.633 39.384-39.384 0-21.752-17.633-39.385-39.384-39.385H196.923z"/></g></symbol><symbol id="bkai-published-zhongzhi" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 96c229.75 0 416 186.25 416 416S741.75 928 512 928 96 741.75 96 512 282.25 96 512 96zm0 64c-194.404 0-352 157.596-352 352s157.596 352 352 352 352-157.596 352-352-157.596-352-352-352zm16 208c70.692 0 128 57.308 128 128v32c0 70.692-57.308 128-128 128h-32c-70.692 0-128-57.308-128-128v-32c0-70.692 57.308-128 128-128h32z"/></symbol><symbol id="bkai-fasong" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M873.6 99.2L118.4 476.8c-28.8 16-28.8 44.8-6.4 60.8l182.4 112c16 6.4 28.8 6.4 44.8-6.4L736 288 390.4 672c-6.4 6.4-6.4 16-6.4 22.4v166.4c0 16 6.4 28.8 22.4 38.4s28.8 0 38.4-6.4l89.6-89.6 182.4 121.6c28.8 16 54.4 6.4 60.8-22.4L928 147.2c6.4-38.4-19.2-60.8-54.4-48z" clip-rule="evenodd"/></symbol><symbol id="bkai-diancai" viewBox="0 0 1024 1024"><path d="M192 575.003V128h-64v447.003h64zM448 896c44.402-6.635 76.402-17.301 96-32 42.667-32 64-74.667 64-128v-96h235.517a64 64 0 0017.328-2.39c34.026-9.57 53.851-44.912 44.282-78.938l-108-384C789.364 147.07 764.19 128 735.517 128H288v448l160 320zm35.008-73.024L352 560.96V192h383.517l108 384H544v160c0 33.189-11.849 56.887-38.4 76.8-4.222 3.167-11.054 6.421-20.402 9.518l-2.19.658z"/></symbol><symbol id="bkai-diancaishixin" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M192 575.003V128h-64v447.003h64zM448 896c44.402-6.635 76.402-17.301 96-32 42.667-32 64-74.667 64-128v-96h235.517a64 64 0 0017.328-2.39c34.026-9.57 53.851-44.912 44.282-78.938l-108-384C789.364 147.07 764.19 128 735.517 128H288v448l160 320z"/></symbol><symbol id="bkai-dianzan" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M192 448.997V896h-64V448.997h64zM448 128c44.402 6.635 76.402 17.301 96 32 42.667 32 64 74.667 64 128v96h235.517a64 64 0 0117.328 2.39c34.026 9.57 53.851 44.912 44.282 78.938l-108 384C789.364 876.93 764.19 896 735.517 896H288V448l160-320zm35.008 73.024L352 463.04V832h383.517l108-384H544V288c0-33.189-11.849-56.887-38.4-76.8-4.222-3.167-11.054-6.421-20.402-9.518l-2.19-.658z"/></symbol><symbol id="bkai-dianzanshixin" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M192 448.997V896h-64V448.997h64zm96-.997v448h471.758c14.337 0 26.924-9.535 30.805-23.336l126-448c4.785-17.013-5.128-34.684-22.14-39.469a32 32 0 00-8.665-1.195H608v-96c0-53.333-21.333-96-64-128-19.598-14.699-51.598-25.365-96-32L288 448z"/></symbol><symbol id="bkai-dingyue" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M821.428 128C862.625 128 896 162.015 896 204.003v661.17C896 882.182 882.963 896 866.276 896c-7.693 0-14.609-2.936-19.83-7.715l-.508-.257-300.374-157.852h-.521l-301.416 157.32-3.082 1.13c-5.16 4.294-11.74 6.843-18.82 6.843-16.688 0-29.725-13.82-29.725-30.295V204.003C192 162.015 225.375 128 266.572 128h554.856zm0 60.59H266.572c-8.344 0-15.123 6.909-15.123 15.413l-.025 610.781 269.11-140.414c1.042-.532 1.564-1.063 2.607-1.063 13.558-6.91 30.767-6.91 44.847.531l2.086 1.063 266.47 139.755.007-610.653c0-8.504-6.78-15.413-15.123-15.413zm-95.431 294.975c16.166 0 29.724 13.82 29.724 30.295l-.009 30.268 29.734.027c16.687 0 29.724 13.819 29.724 30.295s-13.037 30.295-29.724 30.295l-29.734-.009.01 30.835c0 16.476-13.559 30.295-29.725 30.295-16.687 0-29.724-13.819-29.724-30.295l-.017-30.835-30.23.009c-16.687 0-29.724-13.819-29.724-30.295s13.559-30.295 29.725-30.295l30.229-.027.017-30.268c0-17.007 13.558-30.295 29.724-30.295zM663.419 231.11c16.688 0 29.725 13.818 29.725 30.294 0 17.008-13.037 30.295-29.725 30.295H424.581c-16.688 0-29.725-13.818-29.725-30.295 0-17.007 13.559-30.294 29.725-30.294h238.838z"/></symbol><symbol id="bkai-fujian" viewBox="0 0 1024 1024"><path d="M470.82 362.7L278.013 549.08c-66.508 64.292-66.483 168.527.058 232.85 66.434 64.22 174.442 64.281 240.881.058l241.055-233.02c13.307-12.862 34.88-12.862 48.188 0 13.307 12.864 13.307 33.719 0 46.581L567.138 828.57c-93.066 89.961-244.221 89.874-337.255-.058-93.15-90.044-93.186-235.988-.06-326.01l337.433-326.182.031-.03c66.643-64.347 174.084-64.453 240.847.088 66.649 64.425 66.805 168.328.02 232.886l-192.85 186.42-144.341 139.53c-40.033 38.697-104.634 38.872-144.705.136-40.08-38.744-40.235-100.85.141-139.88L663.43 269.674c13.306-12.862 34.88-12.862 48.188 0 13.306 12.864 13.306 33.72 0 46.581L374.587 642.051c-13.711 13.253-13.66 33.65-.142 46.717 13.398 12.951 34.85 12.893 48.33-.136l144.34-139.53 192.85-186.42c40.14-38.8 40.048-100.994-.02-139.724-19.121-18.61-45.133-29.078-72.268-29.082-27.134-.003-53.15 10.458-72.275 29.064L470.82 362.7z"/></symbol><symbol id="bkai-lashen" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M511.491 192l128.431 159.872h-256L511.492 192zM768 128v64H256v-64h512zM256 832h512v64H256zm224-480h64v320h95.922l-128.43 159.872L383.921 672H480V352z"/></symbol><symbol id="bkai-yasuo" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M511.491 544l128.431 159.872L544 703.84V928h-64V703.84l-96.078.032L511.492 544zM832 480v64H192v-64h640zM544 96v223.968l95.922.032-128.43 159.872L383.921 320l96.078-.032V96h64z"/></symbol><symbol id="bkai-yinyong" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M642.272 192v64H416c-106.039 0-192 85.961-192 192s85.961 192 192 192h355.712L640 509.52 686 464l210 208-210 208-46-45.52L771.712 704H416c-138.717 0-251.665-110.33-255.878-248.026L160 448c0-141.385 114.615-256 256-256h226.272z"/></symbol><symbol id="bkai-drill-down" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M932.061 599.866l-144.135-89.362-34.411 55.443L889.21 649.44 564.58 850.993a97.006 97.006 0 01-102.582 0l-324.63-201.554 131.8-82.84-34.411-55.443-142.837 88.71C74.534 610.259 63.915 629.114 64 649.439c-.054 20.49 10.527 39.525 27.92 50.225l335.018 206.773a158.447 158.447 0 00170.105 0l335.018-205.468c17.393-10.7 27.974-29.736 27.918-50.226.555-20.787-10.125-40.25-27.918-50.877zM784.68 383.309l-38.955-52.182-201.27 150.676V80h-64.926v401.803l-201.27-150.676-38.956 52.182L511.99 587.472 784.68 383.31z"/></symbol><symbol id="bkai-liaotianliebiao" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M160 192h704c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32H160c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32zm0 288h352c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32H160c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32zm0 288h576c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32H160c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32z"/></symbol><symbol id="bkai-xinzengliaotian" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 64c247.424 0 448 200.576 448 448S759.424 960 512 960c-58.835 0-115.02-11.341-166.49-31.957L96 928l-.005-249.414C75.355 627.09 64 570.87 64 512 64 264.576 264.576 64 512 64zm0 64c-212.077 0-384 171.923-384 384 0 49.608 9.378 97.809 27.401 142.775l4.594 11.462L159.968 864l185.553.043 12.335.002 11.45 4.587C414.25 886.633 462.423 896 512 896c212.077 0 384-171.923 384-384S724.077 128 512 128zm0 160c17.673 0 32 14.327 32 32v160h160c17.673 0 32 14.327 32 32 0 16.41-12.353 29.936-28.268 31.785L704 544H544v160c0 16.41-12.353 29.936-28.268 31.785L512 736c-17.673 0-32-14.327-32-32V544H320c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32h160V320c0-17.673 14.327-32 32-32z"/></symbol><symbol id="bkai-quxiaozhiding" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M534.3 612.212c29.73 3.15 53.172 13.558 70.325 31.226 27.875 25.374 41.813 63.374 41.813 114 0 49.624-13.938 87.624-41.813 114-20.875 21.5-51.063 32.25-90.563 32.25s-69.687-10.75-90.562-32.25c-26.58-25.037-40.543-60.55-41.892-106.536l73.262-73.341c-10.663 16.383-15.995 38.341-15.995 65.877 0 31.124 6.813 55.124 20.437 72 13.626 16.874 31.876 25.312 54.75 25.312 22.876 0 41.063-8.438 54.563-25.312 13.375-16.876 20.063-40.876 20.063-72 0-31-6.72-54.97-20.157-71.907-13.437-16.937-31.593-25.406-54.469-25.406-14.43 0-27.021 3.358-37.77 10.074l58.008-57.987zm277.888 7.413c27.75 0 49.874 7.125 66.374 21.375 16.5 14.25 24.75 36.312 24.75 66.188 0 32.624-8.25 55.687-24.75 69.187s-40.062 20.25-70.687 20.25h-58.687V896h-57.376V619.625h120.376zM275.37 871.104l.004 24.896h-24.9l24.896-24.896zm549.53-685.26l45.255 45.254-656.195 656.196-45.255-45.255 656.196-656.195zM803 667.625h-53.812V749H803c13.625 0 24.25-3.312 31.875-9.938 7.5-6.624 11.25-17.124 11.25-31.5 0-14.374-3.781-24.624-11.344-30.75-7.562-6.124-18.156-9.187-31.781-9.187zm-457.132-48.009l-48.928 48.928-21.565.018-.004 21.55-58.143 58.144.022-79.694h-83.062v-48.937l211.68-.009zM496 96l181.388 192.096L581.484 384H576l-.02 5.504L421.484 544H416V384H224L496 96z"/></symbol><symbol id="bkai-zhiding" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M496 96l272 288H576v160H416V384H224L496 96zM358.062 619.625v48.937h-82.687V896H217.25V668.562h-83.062v-48.937h223.874zm156 284.063c-39.5 0-69.687-10.75-90.562-32.25-28-26.376-42-64.376-42-114 0-50.626 14-88.626 42-114 20.875-21.5 51.062-32.25 90.562-32.25s69.688 10.75 90.563 32.25c27.875 25.374 41.813 63.374 41.813 114 0 49.624-13.938 87.624-41.813 114-20.875 21.5-51.063 32.25-90.563 32.25zm54.563-74.25c13.375-16.876 20.063-40.876 20.063-72 0-31-6.72-54.97-20.157-71.907-13.437-16.937-31.593-25.406-54.469-25.406-22.874 0-41.124 8.437-54.75 25.313-13.624 16.874-20.437 40.874-20.437 72 0 31.124 6.813 55.124 20.437 72 13.626 16.874 31.876 25.312 54.75 25.312 22.876 0 41.063-8.438 54.563-25.312zm239.25-32.813h-58.687V896h-57.376V619.625h120.376c27.75 0 49.874 7.125 66.374 21.375 16.5 14.25 24.75 36.312 24.75 66.188 0 32.624-8.25 55.687-24.75 69.187s-40.062 20.25-70.687 20.25zm27-57.563c7.5-6.624 11.25-17.124 11.25-31.5 0-14.374-3.781-24.624-11.344-30.75-7.562-6.124-18.156-9.187-31.781-9.187h-53.812V749H803c13.625 0 24.25-3.312 31.875-9.938z"/></symbol><symbol id="bkai-piliangbianji" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M573.538 160v57.6H219.077v588.8h585.846V491.2H864v344c0 15.898-13.233 28.8-29.538 28.8H189.538C173.233 864 160 851.098 160 835.2V188.8c0-15.898 13.233-28.8 29.538-28.8h384zm281.653 0L896 203.948 520.81 608 480 564.052 855.19 160z"/></symbol><symbol id="bkai-shanchu" viewBox="0 0 1024 1024"><path d="M659.2 246.4v-60.8c0-32-25.6-57.6-57.6-57.6h-176c-32 0-57.6 25.6-57.6 57.6v57.6H128v57.6h102.4V832c0 32 25.6 57.6 57.6 57.6h441.6c32 0 57.6-25.6 57.6-57.6V304H896v-57.6H659.2zm-236.8-44.8c0-9.6 6.4-16 16-16h147.2c9.6 0 16 6.4 16 16v44.8h-176v-44.8zm310.4 620.8c0 9.6-6.4 16-16 16H304c-9.6 0-16-6.4-16-16V304h441.6v518.4z"/><path d="M576 384h64v320h-64V384zM384 384h64v320h-64V384z"/></symbol><symbol id="bkai-yuan-jiahao" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 64c247.424 0 448 200.576 448 448S759.424 960 512 960 64 759.424 64 512 264.576 64 512 64zm31.984 224.016H480v192.016H288v63.984h192v192h63.984v-192H736v-63.984H543.984V288.016z"/></symbol><symbol id="bkai-yuan-jianhao" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 64c247.424 0 448 200.576 448 448S759.424 960 512 960 64 759.424 64 512 264.576 64 512 64zm224 416.016H288V544h448v-63.984z"/></symbol><symbol id="bkai-zhushou" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M872.2 454.62C868.485 256.243 714.704 96 525.868 96h-27.734C309.297 96 155.516 256.243 151.8 454.592 118.63 473.812 96 509.282 96 550.3v55.466c0 61.18 49.754 110.934 110.933 110.934 61.18 0 110.934-49.754 110.934-110.934V550.3c-.088-60.802-49.08-110.215-109.88-110.823 10.844-160.714 136.67-288.01 290.146-288.01h27.734c153.504 0 279.302 127.296 290.146 288.01-60.8.608-109.792 50.02-109.88 110.823v55.466c0 50.087 33.558 92.02 79.207 105.748a292.503 292.503 0 01-166.345 107.882c-9.389-28.157-35.714-47.17-65.395-47.23-38.292 0-69.333 31.042-69.333 69.334 0 38.291 31.041 69.333 69.333 69.333a69.056 69.056 0 0058.822-33.03c101.164-17.698 189.385-79.083 241.142-167.787C896.772 694.874 928 654.106 928 605.766V550.3c0-41.018-22.63-76.489-55.8-95.68zM262.4 550.3v55.466c0 30.59-24.877 55.467-55.467 55.467s-55.466-24.877-55.466-55.467V550.3c0-30.59 24.876-55.467 55.466-55.467S262.4 519.71 262.4 550.3zm610.133 55.466c0 29.73-23.573 53.886-52.97 55.217l-2.164-1.026c-.194.444-.499.805-.693 1.22-30.47-.197-55.076-24.94-55.106-55.41V550.3c0-30.59 24.877-55.467 55.467-55.467s55.466 24.877 55.466 55.467v55.466z"/></symbol><symbol id="bkai-bianji" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M609.6 201.562L712 303.968 304 710.39H203.2V609.584l406.4-408.022zM683.672 128l101.821 101.83-45.255 45.257-101.822-101.83L683.672 128zM128 799.995h768V896H128v-96.005z"/></symbol><symbol id="bkai-shezhi-3" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512.141 64c33.285 0 66.664 3.844 73.857 5 14.812 2.5 26.62 13.9 29.623 28.6l12.71 63.4c2.302 11.6 10.208 21.5 21.217 26.1 27.32 11.5 52.84 26.3 76.058 44 9.608 7.2 22.118 9.2 33.426 5.4l61.048-20.6c14.31-4.8 30.123-.2 39.63 11.4 11.51 14.1 22.217 28.9 32.025 44.4l18.614 32.1c8.507 16.3 16.113 33.2 22.618 50.7 5.204 14 1.1 29.7-10.108 39.6L874.021 437c-9.007 7.9-13.41 19.7-12.009 31.6 1.601 14 2.502 28.3 2.502 42.8 0 14.8-.9 29.4-2.702 43.7-1.401 11.9 3.002 23.8 12.01 31.7l48.537 42.7c11.309 9.9 15.312 25.7 10.008 39.8-17.514 46.6-42.633 89.5-73.758 127.2-9.507 11.6-25.22 16-39.43 11.2L757.83 787c-11.308-3.8-23.818-1.7-33.426 5.5-22.817 17.2-47.837 31.8-74.557 43.1-11.109 4.7-19.115 14.5-21.417 26.2l-12.71 63.5c-3.002 14.7-14.711 26.1-29.523 28.6-24.118 4-48.837 6.1-74.057 6.1-24.82 0-49.238-2-72.956-5.9-14.812-2.5-26.621-13.9-29.523-28.6l-12.71-63.3c-2.302-11.6-10.208-21.5-21.217-26.1a355.85 355.85 0 01-75.558-43.5c-9.607-7.2-22.117-9.2-33.426-5.4L205.303 808c-14.21 4.8-29.923.3-39.43-11.2-4.932-5.952-25.037-29.06-41.159-56.796-11.28-19.409-22.147-42.81-32.598-70.204-5.304-14.1-1.301-29.9 10.008-39.8l48.537-42.6c9.007-7.9 13.51-19.7 12.01-31.5-1.902-14.5-2.803-29.4-2.803-44.5 0-14.7.901-29.2 2.702-43.5 1.502-11.9-3.002-23.8-12.009-31.7l-48.638-42.7c-11.308-9.9-15.311-25.7-10.007-39.8 4.503-12 9.507-23.7 14.911-35.1.4-.9.9-1.7 1.401-2.6l32.025-55.4c.5-.9 1-1.8 1.601-2.6 7.406-10.6 15.112-20.9 23.318-30.9 9.508-11.6 25.32-16.1 39.531-11.3l61.147 20.7c11.41 3.8 23.919 1.8 33.526-5.5 23.519-17.8 49.138-32.7 76.66-44.2a35.8 35.8 0 0021.316-26.1l12.61-63.2c2.902-14.8 14.711-26.2 29.623-28.6 6.77-1.094 39.618-4.9 72.556-4.9zm28.022 64h-56.544l-2.802.2c-7.106.6-12.91 5.8-14.311 12.7l-10.308 51.6-5.304 26.7c-1.101 5.4-5.004 9.9-10.208 11.8l-25.72 9.2c-32.525 11.6-62.449 28.9-88.97 51.3l-20.815 17.6c-4.203 3.6-10.008 4.7-15.312 2.9l-25.82-8.7-50.039-16.9c-6.705-2.3-14.11.1-18.114 5.9-.1.1-.2.3-.3.4l-.7 1.2-30.324 52.5-.6 1.2-1.008 2.804c-1.462 5.706.364 11.853 4.91 15.796l39.831 35 20.416 17.9c4.103 3.7 6.105 9.2 5.104 14.7l-4.704 26.7c-3.002 16.7-4.503 33.9-4.503 51 0 17.4 1.501 34.8 4.604 51.7l4.803 26.8c1.001 5.4-.9 11-5.104 14.7l-20.516 18-39.53 34.8c-5.304 4.7-6.805 12.3-3.803 18.7l2.802 5.7c.2.3.3.6.5.9l23.519 40.7.6.9c1.501 2.4 3.203 4.8 4.804 7.1 4.003 5.7 11.309 8.1 18.014 5.9l50.539-17 25.62-8.7c5.204-1.8 11.108-.7 15.312 2.9l20.816 17.4c26.22 22.1 55.943 39.2 88.068 50.7l25.62 9.2c5.204 1.9 9.107 6.3 10.208 11.8l5.304 26.7 10.308 51.6c1.3 7 7.205 12.1 14.31 12.7 10.509.9 21.017 1.3 31.525 1.3 10.909 0 21.817-.5 32.626-1.4 7.005-.6 12.81-5.8 14.21-12.7l10.409-52 5.304-26.6c1.1-5.4 4.903-9.9 10.108-11.8l25.52-9.3c31.924-11.6 61.347-28.6 87.467-50.6l20.816-17.5c4.203-3.6 10.008-4.7 15.312-2.9l25.72 8.7 50.239 17c6.705 2.3 14.11-.1 18.114-5.9 6.105-8.7 11.809-17.6 17.113-26.8 5.504-9.5 10.608-19.1 15.212-28.9 3.002-6.4 1.401-14-3.903-18.7l-39.831-34.9-20.416-17.9c-4.103-3.7-6.105-9.2-5.104-14.7l4.704-26.7c3.002-16.7 4.503-33.8 4.503-51 0-16.9-1.5-33.8-4.403-50.3l-4.704-26.6c-.9-5.5 1.001-11 5.204-14.7l20.316-17.8 39.83-34.8c5.305-4.7 6.906-12.2 3.904-18.6-2.102-4.6-4.303-9.2-6.705-13.7l-17.214-29.8c-2.602-4.1-5.304-8.2-8.106-12.2-4.003-5.8-11.409-8.3-18.114-6l-50.039 16.9-25.82 8.7c-5.204 1.8-11.108.7-15.311-2.9L698.485 292c-26.32-22.3-55.943-39.5-88.268-51.2l-25.52-9.3c-5.204-1.9-9.007-6.4-10.108-11.8l-5.304-26.7-10.408-51.9c-1.4-6.9-7.205-12.1-14.21-12.7-1.502-.2-3.003-.3-4.504-.4zM512.24 351.5c88.469 0 160.124 71.6 160.124 160s-71.655 160-160.124 160c-88.468 0-160.124-71.6-160.124-160s71.656-160 160.124-160zm0 64c-52.94 0-96.074 43.1-96.074 96s43.133 96 96.074 96c52.941 0 96.075-43.1 96.075-96s-43.134-96-96.075-96z"/></symbol><symbol id="bkai-history" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M551.32 96C776.665 96 960 282.618 960 512S776.666 928 551.32 928v-66.56c189.284 0 343.291-156.749 343.291-349.44S740.604 162.56 551.319 162.56c-183.76 0-333.843 147.863-342.458 332.8h117.39L179.124 668.283 32 495.36h111.047C151.678 273.665 331.449 96 551.319 96zm28.445 192v192H800v64H512V288h67.765z"/></symbol><symbol id="bkai-fuzhi" viewBox="0 0 1024 1024"><path d="M672 704v128c0 35.346-28.654 64-64 64H192c-35.346 0-64-28.654-64-64V384c0-35.346 28.654-64 64-64h160V216.889C352 168.242 389.727 128 437.333 128h373.334C858.273 128 896 168.242 896 216.889V615.11C896 663.758 858.273 704 810.667 704H672zm-64-320H192v448h416V384zm64 256h138.667C821.97 640 832 629.302 832 615.111V216.89C832 202.698 821.97 192 810.667 192H437.333C426.03 192 416 202.698 416 216.889V320h192c35.346 0 64 28.654 64 64v256z"/></symbol><symbol id="bkai-zhongxinshengcheng" viewBox="0 0 1024 1024"><path d="M844.077 379.897c16.38 41.657 25.316 87.777 25.316 132.41 0 197.87-160.827 357.06-357.393 357.06-84.88 0-166.783-29.755-230.816-84.802h71.478v-59.51H184.39v166.628h59.566v-60.997c175.718 147.287 439.295 124.97 586.719-50.584 101.261-120.508 125.087-285.648 64.033-429.96l-50.63 29.755zM179.923 644.717c-16.38-41.658-25.316-87.778-25.316-132.41 0-197.871 160.827-357.061 357.393-357.061 84.88 0 166.783 29.755 230.816 84.802h-71.478v59.51H839.61V132.93h-59.566v60.998C604.326 45.152 340.75 68.956 193.325 244.51 92.064 365.02 68.238 530.16 129.292 674.471l50.63-29.754z"/></symbol><symbol id="bkai-fenxiang" viewBox="0 0 1024 1024"><path d="M954.297 473.916L566.932 132.133c-10.735-9.437-27.186-1.672-27.186 12.783v200.458c0 8.96-6.884 16.486-15.635 16.844C299.86 370.461 111.31 537.112 71.64 765.644l-7.35 42.41c-2.918 16.485 16.917 26.76 28.235 14.574l28.936-31.3c104.659-113.37 250.037-177.043 401.834-176.446 9.1 0 16.568 7.526 16.568 16.844v196.158c0 14.455 16.568 22.22 27.185 12.783L954.414 499.48c7.467-6.81 7.467-18.875-.117-25.565zm-796.9 204.998c65.339-153.987 214.218-257.68 384.332-257.68h39.67c9.101 0 16.452-7.527 16.452-16.845V237.977L879.624 486.7 597.851 734.823v-162.23c0-9.319-7.35-16.845-16.452-16.845h-36.053c-140.361-5.734-277.106 38.467-387.949 123.166z"/></symbol><symbol id="bkai-jiahao" viewBox="0 0 1024 1024"><path d="M843.353 366.385C907.69 366.385 960 418.735 960 483.03v362.68c0 64.296-52.32 116.646-116.647 116.646H480.704c-64.336 0-116.646-52.35-116.646-116.647V483.031c0-64.296 52.31-116.646 116.646-116.646h362.65zm0 67.255H480.704c-27.223 0-49.39 22.138-49.39 49.391v362.68c0 27.253 22.167 49.39 49.39 49.39h362.65c27.223 0 49.39-22.137 49.39-49.39V483.03c0-27.253-22.167-49.39-49.39-49.39zM246.72 781.484c18.587 0 33.623 15.036 33.623 33.623 0 18.587-15.036 33.623-33.623 33.623h-43.443c-18.587 0-33.623-15.036-33.623-33.623 0-18.587 15.036-33.623 33.623-33.623h43.443zm420.255-72.512c18.587 0 33.623 15.036 33.623 33.623 0 18.587-15.036 33.623-33.623 33.623H540.537c-18.587 0-33.623-15.036-33.623-33.623 0-18.587 15.036-33.623 33.623-33.623h126.437zM739.897 64c64.928 0 117.76 52.801 117.76 117.76v75.993c0 18.586-15.036 33.622-33.623 33.622-18.587 0-33.623-15.036-33.623-33.622V181.76c0-27.845-22.659-50.504-50.504-50.504H181.76c-27.845 0-50.504 22.659-50.504 50.504v387.375c0 27.845 22.659 50.504 50.504 50.504h64.959c18.587 0 33.623 15.036 33.623 33.623 0 18.587-15.036 33.633-33.623 33.633H181.76c-64.928 0-117.76-52.802-117.76-117.76V181.76C64 116.801 116.842 64 181.76 64h558.137zm53.473 488.594c18.587 0 33.623 15.036 33.623 33.623 0 18.587-15.036 33.623-33.623 33.623H540.537c-18.587 0-33.623-15.036-33.623-33.623 0-18.587 15.036-33.623 33.623-33.623H793.37z"/></symbol><symbol id="bkai-jieshi" viewBox="0 0 1024 1024"><path d="M843.353 366.385C907.69 366.385 960 418.735 960 483.03v362.68c0 64.296-52.32 116.646-116.647 116.646H480.704c-64.336 0-116.646-52.35-116.646-116.647V483.031c0-64.296 52.31-116.646 116.646-116.646h362.65zm0 67.255H480.704c-27.223 0-49.39 22.138-49.39 49.391v362.68c0 27.253 22.167 49.39 49.39 49.39h362.65c27.223 0 49.39-22.137 49.39-49.39V483.03c0-27.253-22.167-49.39-49.39-49.39zM246.72 781.484c18.587 0 33.623 15.036 33.623 33.623 0 18.587-15.036 33.623-33.623 33.623h-43.443c-18.587 0-33.623-15.036-33.623-33.623 0-18.587 15.036-33.623 33.623-33.623h43.443zm420.255-72.512c18.587 0 33.623 15.036 33.623 33.623 0 18.587-15.036 33.623-33.623 33.623H540.537c-18.587 0-33.623-15.036-33.623-33.623 0-18.587 15.036-33.623 33.623-33.623h126.437zM739.897 64c64.928 0 117.76 52.801 117.76 117.76v75.993c0 18.586-15.036 33.622-33.623 33.622-18.587 0-33.623-15.036-33.623-33.622V181.76c0-27.845-22.659-50.504-50.504-50.504H181.76c-27.845 0-50.504 22.659-50.504 50.504v387.375c0 27.845 22.659 50.504 50.504 50.504h64.959c18.587 0 33.623 15.036 33.623 33.623 0 18.587-15.036 33.633-33.623 33.633H181.76c-64.928 0-117.76-52.802-117.76-117.76V181.76C64 116.801 116.842 64 181.76 64h558.137zm53.473 488.594c18.587 0 33.623 15.036 33.623 33.623 0 18.587-15.036 33.623-33.623 33.623H540.537c-18.587 0-33.623-15.036-33.623-33.623 0-18.587 15.036-33.623 33.623-33.623H793.37z"/></symbol><symbol id="bkai-fanyi" viewBox="0 0 1024 1024"><path d="M377.6 851.2h-96c-44.8-6.4-83.2-44.8-83.2-89.6v-44.8c0-25.6-19.2-44.8-44.8-44.8-25.6 0-44.8 19.2-44.8 44.8v44.8c0 96 76.8 179.2 179.2 179.2h89.6c25.6 0 44.8-19.2 44.8-44.8 0-25.6-25.6-44.8-44.8-44.8zM640 230.4h89.6c25.6 0 44.8 6.4 64 25.6 19.2 19.2 25.6 38.4 25.6 64v44.8c0 25.6 19.2 44.8 44.8 44.8 25.6 0 44.8-19.2 44.8-44.8V320c0-96-76.8-179.2-179.2-179.2H640c-25.6 0-44.8 19.2-44.8 44.8 0 25.6 19.2 44.8 44.8 44.8zM960 908.8L780.8 467.2c-6.4-6.4-12.8-12.8-19.2-12.8H704c-6.4 0-19.2 6.4-19.2 12.8L505.6 908.8V928c0 6.4 12.8 12.8 19.2 12.8h44.8c6.4 0 19.2-6.4 19.2-12.8l44.8-121.6h179.2L857.6 928c6.4 6.4 12.8 12.8 19.2 12.8h44.8c6.4 0 12.8-6.4 19.2-12.8 19.2-6.4 19.2-12.8 19.2-19.2zm-288-192L729.6 576l57.6 140.8H672zM505.6 473.6V204.8c0-12.8-12.8-19.2-19.2-19.2H332.8v-64c0-6.4 0-12.8-6.4-12.8S313.6 96 307.2 96h-44.8c-6.4 0-12.8 0-12.8 6.4s-6.4 12.8-6.4 12.8v64h-160c-6.4 0-12.8 0-12.8 6.4-6.4 12.8-6.4 12.8-6.4 19.2v268.8c0 6.4 0 12.8 6.4 12.8 6.4 6.4 12.8 6.4 12.8 6.4h153.6v108.8c0 12.8 12.8 19.2 19.2 19.2h44.8c12.8 0 19.2-12.8 19.2-19.2V492.8h153.6c25.6 0 32-6.4 32-19.2zm-262.4-64h-89.6V275.2h89.6v134.4zm179.2 0h-89.6V275.2h89.6v134.4z"/></symbol><symbol id="bkai-morenchicun" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M896 128v64H511.52l128.402 159.872h-256L511.456 192H128v-64h768zM128 832h768v64H128zm383.491-.128L383.922 672h256l-128.43 159.872zm320.367-320.367l-159.872-127.57v256l159.872-128.43zm-639.872 0l159.872-127.57v256l-159.872-128.43z"/></symbol><symbol id="bkai-kuangxuan" viewBox="0 0 1024 1024"><path d="M252.066 832l.03 64h128l-.03-64h-128zM128 798.016V832c0 33.923 26.393 61.681 59.764 63.862l4.173-63.864.063-33.965-64-.017zm244.353-444.408l90.51 362.039 120.129-120.174 251.66 251.635 43.199-43.197-251.663-251.634 108.204-108.16-362.039-90.509zM128 606.016v128l64 .017v-128l-64-.017zm0-192v128l64 .017v-128l-64-.017zm704-184.115v128l64-.013v-128l-64 .013zm-704-7.885v128l64 .017v-128l-64-.017zM192 128c-23.688 0-44.37 12.87-55.437 31.998l55.398 32.048L256 192v-64h-64zm320 0v64h128v-64H512zm-192 0v64h128v-64H320zm384 0v64h128l58.677-25.595C880.802 143.799 858.246 128 832 128H704z"/></symbol><symbol id="bkai-jiantou" viewBox="0 0 1024 1097.143"><path fill-rule="evenodd" d="M832 612.37l-91.636-89.143-183.235 178.36-.038-594.36H434.909l.072 594.36-183.345-178.36L160 612.37l336 326.857L832 612.37z"/></symbol><symbol id="bkai-tingzhishengcheng" viewBox="0 0 1024 1097.143"><path fill-rule="evenodd" d="M512 75.264c247.424 0 448 200.576 448 448s-200.576 448-448 448-448-200.576-448-448 200.576-448 448-448zm0 64c-212.077 0-384 171.923-384 384s171.923 384 384 384 384-171.923 384-384-171.923-384-384-384zm0 132c139.162 0 252 112.838 252 252s-112.838 252-252 252-252-112.838-252-252 112.838-252 252-252zm76.368 150.177l-76.375 76.374-76.368-76.367-25.448 25.448 76.367 76.368-76.367 76.368 25.467 25.467 76.368-76.368 76.356 76.356 25.448-25.448-76.355-76.356 76.374-76.375-25.467-25.467z"/></symbol><symbol id="bkai-xiaojingyudian" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M621.204 0c547.128 0 526.9 748.792 0 682.56C343.257 647.624 136.189 761.437 0 1024 49.384 341.333 256.452 0 621.204 0z"/></symbol><symbol id="bkai-tingzhishengcheng-2" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 64c247.424 0 448 200.576 448 448S759.424 960 512 960 64 759.424 64 512 264.576 64 512 64zm0 64c-212.077 0-384 171.923-384 384s171.923 384 384 384 384-171.923 384-384-171.923-384-384-384zm0 192c106.039 0 192 85.961 192 192s-85.961 192-192 192-192-85.961-192-192 85.961-192 192-192z"/></symbol></svg>`;document.body?document.body.insertAdjacentHTML(`afterbegin`,e):document.addEventListener(`DOMContentLoaded`,function(){document.body.insertAdjacentHTML(`afterbegin`,e)})})();var y=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAAGVn0euAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAYKADAAQAAAABAAAAYAAAAACpM19OAAAj4UlEQVR4Ae1dB4AURbqu7pnZyOICShIVBI5TDPgwR0yn5yknKigIy+5KMCJ4ohgQMGdP8BQDsAsqHsZTnnqcPlEU1DNwnnqKYATxRDIsuxO63/f91dXTMzuzzBLEd28Leqq66q+//lR/he7qVWpbh35lsYVBnHbwJpjuPqB2Be/3s9X+jH9TFnMZZwxdBkVXdhkc+02w8E8VifoVOg+Kurze/tRxuw2OuodU1tUHMlgI2GdczH1/kSPXR1847ieLE+6AC2uk0v7DoxKn8DDkt7aaMOFOtWaNq8YjXr/WVS3DupEehXHBLRWInXc/rXbV22/NU+vWOurNN+epmnWoENEV9g9WWDIjzyoOuWo9AG694xlVi/ihe55SsfUJtOAI5h5FCYnD8oufj6ryrVcLNrknHmyrkO2qSEgpx3ZUK7SAf5Y11rIIKz+mEuM/jNzgtgDdpd4l6ZCjGO99Vat68MG6v5R09/61NfVoGe/6+vITBqg2HLoJevnK3DO+61v3CXPvi7VbpVsSj8XW7b2HUsNPDamrQ3VuKXRzVlF+wYhJVj9TwRcTtT1rbBgyVyqM3BBS190VVS0i7psfRMNHLnwwT2CFpD3LYmM6trXU8lWuWvzlCrV6jaO+/GqFumpoRLUMOUfu72mZrdgdyzd1tFz3liP3sdRaGNuI84eoDYiHDhuqatdrTRvDYwWfpIMr6tzKk21VBLoLYRqFaJvxFwuiqhtaOHZsiyRJrEmbef31mIoCa3yDqxIbHOXiYr4BTmmBNxeN2PgWbOjwUtoOACklY1c9r2npU0PYX07YYrL69nXzrKJ4ncfKglnVkcOZ3nNgbNyXj0YmGBZzauCSo39yPUBHWRZ0Y/We9HrLFwwSNlZYGFuUb1l7FECxBTCqAmWPu6E6dH2DDRjfYxCZ2EatAstV/6zOt24uc1vZduKnMVW0V6VeqUwsOWFqqLOBzdiAQdyji6VuroSRaz+miJiB5j1kQlQaKYArem5yoY+n7Xnx73+YEm4vgPjxC0yGQT71ct2PCEDENthmHMIF4pF2JT3pATQEof1pYrF10sW1IsqX7ytgNQnSmzsPqluOakXIac7cy84KqR/Q74jswvLTBbBqxrPSaQcO7CP3Tz/+jJTT65ILhgPQY8jty/pWfv2WDOWkkl3s4tNtQUjJRnAxTl5oHBxFIKu3X9EcjLqtuTXzOnRqwPWfsBN+dfD9EccGZh1SWesU2Mp65sWEOvUoW5DHIY48tJxQDly/gtMHIGKKjRyw3zNg7FgOBtrpO/3rtxTMZLo/xkBygsZExrSaQogieM+05LHMdh4+7roWwy0LN03hP0cCvXq5vhVm4yqrFWWrYPL7DY5ehM55H+9tK97piarCr01Zo+J9zqkd0X1A9C5W6n5u3d6YXc4zCG4sjz9k0oyPw0zzlLL45GDeZjkYAVcNF60mvt7KMm574hs7p9TrPzB2IvrDnHxgLgBsAfxFfjjcavwUa1UKYLBlk24/zC0q3BR7Bfc90XFnLnk0r9yUpcf3VsTdfHSz86voVHTwEybDxJg7TwFspbkPxnnorEUF8fbvP1S8/Nby+DfwIhddMS08+6+D3OKTZlgbg7AZGzCOzwCOHRhSR3S31FPzHDXjpYTnMuBGLGvBq4/ky1BpYNPjeg0Ekb94M8YEz7NwRktgXptqXXXZ7THto2znlKceKH6JiNtVxh+37dAVyx6xlvKewfOD+ib4y4nbhk1KbajVVw1iIubFSvdeERG3XmRbL5p6rSNO/11Cse/MPeOUBgz1V/UPqfVEjmvjJlfVeohr0Yi5YlGFaZr2tCNH1owksnYRR7XFhCoYUhowBe1aErmrNgLx0PIKHymRDyqrUDGsQ+pQdkllnioSl+7cw7ptMDa0Cev1hMHlDZnRtSaDMSmnzC/2hktyEAYpZd5wGfXuuUThYMOxgkFTn5kDjsUyHhOwBgjqsFBrvlML3kq6DhyVlur7GKZbnHIlAFPozWYJR+rTRSQccLg08o+AmjqIIgHKrr1hiozDMn8DR3fcPAVjsQPEmH9x8Mb/QsCbQb9dXir1bNTXARvJt1VdEXJehL1TDJpSxi4oxhQaiB0o14nhQtrFxSGTdRgy6cBvgACfVucVcBzeuC6h4kBEpDE0RFHIhTzGDi4XaRfK1uN2UgdtvcUj8THU8+eg6B5Mm0bNmx9X+3a2VBtYVAKiCIEUh8pELMtJxOtWOUJ9Pohi2HtM/Tk+qtYPfS+oeRrWcQYtJN/SEyuxFpokZY58mU3gPh/3wkXY6tfr2tIn07FlbMAAjbx0o0vqfORAXIAlcSEUzOmiXGwAejBw+cr9qNtVrWQnwuBpipsksF0l0Lfcbbs1DcCud1zoNzjmWm58OeKjs1HR4TwXniR72GEMXFQRf5Bzt50xrLVS6m+j+rqF6WTuPyh6futobGV6fvC+QT8UBGwofeqp2OiDM+UQi/D3F2Y3P/i001bt7jrhb3SexXHpsednlwxMx1N9Xnzw4Cnh6mB+X0g9EY+v5KYkXJysESPKemBKdfjCIBzT24SBINJ7enw/G7uO7wPxWEw2mg1/v339LbpghbT05Zh5WnZ8acSySkk8xyq5gBAMnfeHqvDUYJWtYqDzoNizGNn0JkAQa+Z03Lat47+ojryRqfiWytgJV02NcP7uh8cqEj9hht7KKrBL+t1vbfALAolGM4B5DXeZKZycAzc7/P0H2JpOu5fPn1ogS6Zby9zdlZV4dUx1uGs60oWVsWN7TI28lp5v7nNmwEzITEUT331BSO3bKTMazskYGI15IK6+/I7EY/MEGWQihHSerapfmFxYTrgtCV4T2at2Hlh3O3rn6CDEeb+11WmHYYtFz4L8Iq8Tc74kRBsGCMCGvEmmuvTmqDDiawWMzLy/KIWWzkOjj6Pr9zfIFz9MtuuHjJkGrPPA2DPYNdMbW17mo1fVmwL6jHBzjQh5CfFkBDf01YxNGVF9vthRz74Y88yJGsETi0nFBJFw5IWYlQbCm/fn+2WBbMEZvPfTXc51m7t2LGU1MnmkNn0j+SBRJi3EAksmwrUGkkz+6zM8l3krrvfkQB40Er3zj8VcxKszR2yCM9M0u2jw6YnJ7UyfSCTqi9MrBfH/HQQ893hbllMmj6gfuf8u9e78eSZLTX/8WV/6LL9v0t1qfqD8mT/rcs2cq7p2stR7C3Sf4MYiGMgzyNpiESmjBzJkkDEFabHPALZLX4bcTkor9293b20JA5QwJckrSDwBudoykmd5kHiWc6Fk6pJBEs2FqXRozQDBJMjaxdMAirIG0iNhyYz8k5FY592mRELMx45eX8I0uZDldd3ND/twRcUlKooyvZrTK7k7bnvILy9GeRyLLC7E9AoPMRZeXFVwycKLzJjQFktIMiFXnn6KZ8qCMQVRL3QeGK2C/gYn/beW0nm/C6FD6s0JI0nCUAoSI22hnD2FwmMscF5MibNBA8t6781N9Ujn39KcIOr5CWuwoyxJ1HJV73Gl+oaFgeCbUCBPebtY5T3Koz3gqz8Udwcks16Oq95HhVR+hESAGAhMVpxAzR0JwtETcS9bd3fYL5vlJSFpQpQ1pqIiecGPNGMTKPlgJzb56XFGBgzQwqq8hScMc0vjTt0aujkCv4blMhs67pAQYpCBtDFVGaKNUbIMgWWOEKalT3gyJaWIuSDlkw/BL/lwPhBN+7C7m2O73wkSV62SOMMPquQWThu+aQEIP1QaA5HB0bRjB1vtglk7GRNzwg81YMxL5+vnJ9Qc82vwLHz9DwlNOOxMM6HUqeN3shvzQCBnBgybZRfXnI3GniBRhgkjPeb5aVTg85aUPJZT2syX2AIOzZDGpfsP02SU9SO2NXa/MS1uNO2nxwDdujBm1IZRIGgCCCrRxCYZEyKEqQBjICwMIzGM+oQDjszQTIVB1vOYJUynK/5vPOHfOmk21W6SQJMEmiTQKAmcUxE7vFEVMgBjqNhxwXGsR/HmiJk2bREhO4yBfoPjWO+6nfCOzepslHcZXNc9W5nJb3AyZ4C2ZXxmeW3XsGP/DXPWPTy8JdwjxQyvfNb00HRM//QsEIWuY41ANLyh9n92DTxdVfCFsynyK+yHck9U7azjG2dND1cHiSfRWBkMO3BwvDfT2QJmGVsZ8CZf90XRhUDUPJyX12NhlbXGYNzn3Lo/YzpzMt7JOfNfjxek7LoR5iY8IQfR114zLXSTqWPiY8pif4kotze2GNVL1ZwNZQ5ZCzKD18897dT1eOHGxYt+GlVBYbPwk09aCWz4rkNeCWugXM2erVdaQQzTKhPjK6aGxgfzmO4D4tGze8vkEPfs5TU14SLgxVPa1LDVfaDTOkhZWZdqtBDouuinI3utPslZFxPi9dIls5zauPafDDnnVLi7hZ34KBA0SmarQCU7FRCMzFiLEzXXDI4vjoTcC8ZNDb/KRQ/rZsZssDYynrjf0g4JO4QNRHc+OtfckQvbX9NIFOryisTFIdedJNNqVGZMDWAV+83GjqEu48dbXPj5YZswgLdFT8ALoIOA9Rhc7XCth2i+sFzr+ZrC8L3fP2Q1aov9wWFupCaaiAoToBD94O4hU0N/8KkOJLaYgT3PrdsXT9Q/BK6cBiLsVsxePCP/tEDbfvLWisTwMdNCD/oZSMysdNu7bmJZWFnf9JsW6hgsC6YbzUC3cza2j0ci3wJJToSbxrgCo0fBKmvmwur8ASb/lor42SjCK8bWJ0Uldk+8PVxnyuZUJlbN393eGWaTdWOoUQxgs/dy9J07TAO5xGzALB8DS05nwdR8XwC3Do6vyLdCXUcFXDBxf1jpnnvAVOuxhtqhmeUU8HzgA3iUAzIBQ7Cq8mRb7benpbp1sNRK7O99vhQbsm846gt5JpDcdeA6OWxb9rFDat2CRKz1S9NKVuDl+EPTiWc7zVw1J1N7wbycNADiq1GpLFiR6b12xztjF/uC9IsNUjLG9Cdf4TjBw9yFTmpDXCNc1YsPJt9p9RE0ImHaylqly6C6vtiSmpUOwPeiigtSc0lwMPDWXMy/c3pcLfrK8bdaZNsF+15PT+b2VmrYdYjbIeHE30Xnn7t8ap7fZ1KhchgHMj1aehabKMFgCOdzAyEYP4wZGHN/1NzPfTehnn81AW2wU3OLhVpRMx+7vyiFyC5Dk4dWMK7MXPJwZiagxOyhc1m03vzliWvDKoahhBcf9/GqwztEvOJIx7FJKjHTuGKY7sRAC6840kf9l6326ojRFS2b/R+kMbVODcXYqW7mXSWh+uUGukEGIKTjDSDjS88ICYGG8CiI5kVmgsRGQSwvEpzwyshYzGNy8BlhjKz6wYY2I1edP2LjC8G2SvA6WDPvKoamsoWsDOw5MOrNb5JV6WUo6SDhRhuUtJF8AsTyMmWSj3qOl58A7KAzI2I+NCPp0Mo9NdkSPJBIn7FSZCZbyMoA7Fqe4ZqKfMRkJBsFAeYyJqI1kNQG7yl9wwzjOI5WkXjmt9tF74vqPgAm0FHG42VV014zdOtivF7Fi8xkC1kZQIUUz3DIr/EEDg3L5Wnh3z/+pC4cUqEm3nOXL32jBcY//rhCVVRUqNvvvMsnPMjYrnhsRemTeGoi2myjr/ViDL6mD/D8VbaQ6k6yQSGfhAcDOb/sgiGStQAnwFwM9hdefJlsr/N5AMuHDx8q5TwhBpNXl43Q5XywwfK9u4XU2yvxqBVpMSPL5errFlZCx0WV7IQThsHXANzl2sBV71lZ0O6NlDUK/fv2/HkBG9fmEyx/E8fdHJiQXBAGTaoFnhppDfgDXFdTJ+iF2A+yhaAGmmcDYj41QH9PXIgQ15cOvQysQS68mMlqKYG2z1zC8FlaMSyefUBLX7bcuUyWQA+URJF1LifaM3Ugk1S7NwWM6VH4ZIVvX7JzpJO3E96UpXQlH1ymC41vzrpogeXGxEhWYDATZpAlgX1AXoA1GVlivx0nkeicBQYEw3OgcRmMIGXTEflo1YTLx9wm3oVEJgiDi49WTZhwNcuJB0x6poQXdaUD66m2ZsbAsw/440ADXsg3oa8eL/wGfYBe4F6DhLE31Kt16zGw4KUwStB0wutvmQ5z0B0SypE+QPuiVGgmf7yjSqflnoSna4BPZMx0Qo8HAJUgJiTGytt0fWsY/voa4A1eQZ4ITXREEgZjiNcNzP0Ap/jEh2s/rn28SWviKGGHFyWM2KXNk2iROmLmMR0oMwOZ54XYrAR23FzGAV8DpiI1gXSk8yC3dcSK/ttoYMVKEgWx4r8RjKyTeM8MXxOQFns77qUESa01aEhyMLcFcUamMpUAjG4HCS+Q+FxCigaCFZbMsH7kAKMRc6TEcbG3cCyLNg4J+hfmPEFps1xLmbE2K1OuIH1yQc0wzbGDEgyakaFB+oA3mdvSkRjvfFtHknCeKGMjUbzM8ekizQQJdUCIeB4QYswmJZ8Eg1kRvUPz0UzxsT6ZcPDuBPHLSAz82DrxQ8o4EFLL/YK0RFYNEO69KZG3MGtcTuKlIZjFMuzDffElvDyIE+KFEWohQBzyDJHa/j27J0PeRfNb96P3oBt4iZ/eyAR04lWcD/FqbrkHm/z0OGl06SWB+5OG1bqyMEeemcMX422SnvuG5IE0Hq2Lq+U4gfbkbX1KhmlzRDI9TdjvPo5JvaCp/n5C5pc6gCpjqNeJM0E1L84vim6qrdG2qideCdj+hwsTqrTEUp12gyuFG4Gc9XsQtHMiApHsz3InHdvcK7X0c/26Gbda9OqMDCc1wFq5BEGfC+BpmOoWh2s3pmgCDZpOzljMAMgEBvfBMuYJsYgFVspNfU08NRGynKtsJ/TUseN3WpwLXTkzYJBVXFzzAwho4zPiESSmRYbEcyFOY8T4ec1UJubABIWQyvjKvGiL9t3HW1HTfnrcaAaI4PxLag6O2O47WqqGGB2LObBDGu0gTaJ8M6EmPK+WnRlqgtqh1rDeDsWa7T+6bcpBOMMI+1qjw+RJRe9OuhevSFqJVnB9L4uXEsl53gTEa/eoGfGZAoxI2GPOeB4hVBjVBBvC89A/yORObvj1RhPZVKFJAk0SaJJAkwSaJNAkgSYJbE8JDBjgtsBEH1OVHRe2aCa348jdti3Hw/ELzh6cSHmutW1b2Dy2/7cKwBtid2O5exMWwI+eXR6VDz9sXlypELtvgx60Q7tfKjvb/45L+qLa+Fg4Hb70EtyBYuNxfMJo9J+r8v6YKyU4pVOG9eKixY/lvZ1rnXS4/3gFlJe7pQkr1s1NWMfjWMtQbPt0pBB4ModH6+qllfWVYzkTsXP7Wl048vWTD1kpxwClAn743ZySTbGlWNgv/df0vP1MfmPj/3gFZBLImIr4EMj+ITAPA5aA50DuKbdNi/w1E3x63uHYsnes2KchZeE8CR9VWZ9YdvjAuVUWto0bF34RCjjijI34YKZ1vU+6Z5mw2K9DcXX0G38p+s4vQ+LIPhtOVrb9HEw4X/I9a0aER3fW0fOeKXorCJ8pfTfO64fjic8xDnx5SVXoUPP2YybYZJ5rnVSWeATbPZXUHAdQ9ADFJ1+M8X/ck9WRJB/JillTvwgFDDpxzWoQUso9YWFDYtJM8pDnWsNmvFL6MHPKTljzBB7Nne2XMdPAMbbcp2fMaXGWZG/m5+nz3CPwBctvT59mpSg4WI2fQmvdMVZmu9YECBwH5TzBoy2mpQdA83hZU+5DklaLbVuNundaCAeBTScLYk2mfxEKGNbTjbQJ//siHDA9GRw1c1zXsW27peM4e6NngDcw59oHgZcT8EDlFrBLvqLIXohixC5PLa62HPfh8e+2nZ1kr/Epjhm2XdcmlAgfCJxHwbrPgXXvJMIOCFnf621oipjb0RRmUkHsFdZ3IP55fNNoTsgNLY5H1LIxaWPKL0IBDYnpNVjgNz8umw93g89jqUPB7MTyz3Yb3VCd7VE2Hm/fWk6iCgI+0RcyNGRTKZCi5IFAGMQsFbWHjnjMqveSSSa6dqgCOuJzPKFErB+8TD+YDx/epU8NM9GcKY8PPd4B/8/godfjfCycCWhzeTeWubsWbVKrLsvwar+pOwvnfFY3S7yKT4IeQ6F7gzAVUD1oWqjcwOUa/6wK2LOs9leWa08AcfDh0mNzpbNRcLRIPghF9CYeb4/9uCoyd3MIbocx4LtwH+DVgRXhhH346LSvIabXf7YicQXw30afj0d5fU6ZEn4uHSaXe+DYvqHLwFgvDJo416Fab8+WIAdxA/6giG5FvwxLxSVuYi3Gjf7vTS14KUjHbXAtGGt6w1ffAFCeQmL4Cou1a2wr9PqVU63vdVb93zfPS8zAGLHo8KmhG+qX5pazXRTAz4knYvFpmNWcmRsZWw5FgcurAeCEzKR8JyKlTCuEMDiUU11YmDf8pcDhBFJw6+DERbbtfsNvgvJ+c+GzSvdAwHz+66nW+s3BZivfpgroibMuazfF/hu++MRsDWbK79nVUr32t9Vhe+PzTXjVEPUzBhLLMkM002vA+oJPHDX/n476x2L9qQdt+VAMyvEVKc8dmcFSK0wU5aoFdmHBsemKQLWfLRhetrpBfEvmRojmmlwQtcNXJIecYit+5X5LQ7oyiIduiBr6+6eOmjnHUStWOvKijCyaUCaKQQx3k0yjCl4CuPy5yUUpb1YT388RSPJWhe593Wa1BfHPwPmum0N06qG2GgrBY5GyRQFykykfYxIuAmfsYTMxM5h28JLPrL/G1et/TySniiiQxRLdEy6TxmC9NhJ39noUnyf20GWMeI4ERw7+gUJ8uSQlrMLLWvsHPwKcUprlxqc5S3mD2V0H1e2FTRQS0+D08bf4ix38YyIiOLTImIECNHk6J/NvkEimteCJhEuyYGzKNB5Tj/Gzf0uo+R9AEUjrebtxSWkKse1jq+4rnKsx1P/de1gdBmW7Xf0S5jjLP30ov33mssy5hsbMpQ3k4ot+x0F8rzYAolrjz17cVBGSt3sbgksvCxJl3AphdD78vGf6Wvgm34sBZOqnx7U4D/jgo1G1Bp+BpOWzBxBGjxlUjB4foNZeD08qfD2dLt4fdH4dVt0aM1foTDNmYPrdB/TfD5CMHH4MjTmAJkG6nFvTwbXDXyOH0+2MoXN7S/Ej4Y0JJEYIwo8mTAuIOPx88Orx78Hoew1v6jUcz3gqqpb/QGFrgcuADATY1cQ/GR/iiTxn18l3ltRb0B17Ib4j5jWmoXmrM6iI1+5v3Bm+nF6wTBcihD8DeVmly8OIo/D3L9IPqJBM7TA0RqbpErgJRyY8NjwL9/mUfI/nFOH7ecDBtK8Y3HCgJQa6G/o5bbUa54A+EfXs7Jhatky7IYIEZ07YuwnnRa2nkH00rpTA9+eTlGp8ehORYLonpFTYzE2jh0PtelSvbHgphDLslvBsFs9imZjpOi+PMS++t89zW3xnn2ex5NAZ3k/Wx/uQx/zghTJzyoJ1dZnGo48K6jTfvuW9/ya61DNnAuCpgfPEY3DqDtybNxP51qG8eYheIW8jhtRR+ExVyt/iIs98+5wvcPPiQTYTywk95DU2NL4HWO6QhhR98kG2yseXEdOtn4TR0hholatW/aTGXTlKbdyQuoYpblaibrr9HtWqpV6UGgthXW3h2gJZf/Toy+rVb4b6d995t9oZ9dkOJkK6F7BhyIc46GZI44E9Quqjf3Bg1j2BbckFGIlthw/s57CqCTz+iKdlEihu0mXEznRjg4eqEdVcdVhD0Lvtog82meOSJvYtWSxcqRuuGV1PeMRLhYy/erT0ClqwtnTPsr3ewvyrr7oiY/0NqH8lysx5DMZx9Aj2CjkF4+FgL2iDz0On9wDpFRCy7h32Mem80gWZHsDzF0z7Bwu3RQ/AeaWv0GjH9IZzvW+Nl/yN9XNyoH2wthTjo5m3ds3qrCjXoIyCF2sFDm21AWtGHmGyhdWrV8sRDG3xADZ0oAKt1OArxV9BoqBphRwD2DMkDQK9wbjelFLOUAFfpmBmR5nKsuVlcEH8WzXundkqbC5/FQ6V7cyPvXgMYZ0gzJBxBjJIt7C5QMv1FQhg1qer0C7FYMuOheMKDFkWfZydUGZUfHrMt8nrT0mNS3LhqFKDPnWUrf1cOEvFR3mkhCUzIncB/eMpmTnekKxlK+iC6DI4COJvZiE27kcPtvr+gIOOyor1wIOPkh7Ak008niinoBDzyKO4FqQPAUy2cNghR8qBOgeno+iuzAkpcxiJdOiDeMlX+vkqf3AglrR039RWxN3ADWlXhHPN4pLM4exU2FzusqlS7VlWNwAPuB/LFYnZZ2mPBXq/XtgERj9nN2YD5iIuwxPz1q1doWY/N0Mt+eJjFqkuXfdRv+8zSLUs3dl3E6auxPhJ3rtq9dqV6qmnZ6jPF+n6v/5Vd3XOmWWo3yq1vldPWxutm1hAG7rDvDlR6ZWkSy7ks9ykL7k19dtNVWPxV9y8oDkkj8RHjK4qvyH51908sAYjXbMBkM5ldXwA/iBw75QORoYMobKnAo6YdzR2NvfaA2UB0gzTLDeNsi7TcgXSzNdzd42DrEkesrUQk3WC+aYe26LyGUy5aSf9/p3/ierNORRo2rRL8sYAZT5TLMjw89Q4fK5YFEgSOU4Bkr7SC2dt65NuS6bn82EKL9VpwKY9LDt0Os5U9Uezh/gbWSjjBpth4J2PcAIOfwOoDV59Ja3Mp3WIXPFjhKEztJAoGPLBP7BHdgwMDyczzTzioZeVaaAHxLPtUo6G8Lk0D1bHxCnwqCMB9wa3pFCHc34svAKDsFY22+KYkx64DtAjEWmkmvQoRzhNeXqNhu8zDMLZK3hnie8FxL3dB9dNA/HlevagiTVpxq+966gj8OeHO+DbEJppMOZJmRH+S6CCKCTDKhlnGfNZk72I/8XKdFLxoCiScglKpImBeRKzMu71e88QkxRo8Zh2BBTKxd83kHpUhKGLZ9SEDo1QQM0PzzGn9gCPNgDodgxkbnGjFBBE+Ul1fsWB5bV7gvqjzSyCDGjLQYzEe/9MqG9b2OrQ/bRP5clbwiCSmII3TBuGtcVSmPyH4PUAMifwQgQQeEI2eRS2EQBFzbTpUewlgh91+f4KlWNguQ4Qny8xe4K2a21MKeqSlnn6l/UzhizZGWG9TNK1xeG9qoJjMFuYLIsZYNInH71DhsDKE5Fr8aep58xLqK+/Q2f1FkFyEB1pakIOoyOW49MyY2EaLFJLkK5MR5lmnl+OviFpNMJ8agGxzHI4w/HSrE84gSEcLrZpMQZc3UZHaNQHHfU3RPgn2/SWBGdF7IO6H6GGBMyCZpqFV3pcElYzDVyuMc1hq0OvIXVnwV8+qZf0tHZt6VwY0r9yY8xYWUtMEvbqHFIR/MkbWj/E4lkd4HBnegTT4oJokahPixVrQexbJ2RjdjSJh+W8fFiDD3RIHuoGcS5bFFdxbG5qGtl2kk7jTvtcjw+9sxsGwtLbVnYIh9TtyOrFdoF1LvaeruhwZaulAbCckuRzm4Tx+Kbou9/XPYlB9AwjCApTLiMc3qM15pHBEpzW3Q2PNpqXMDcgQA+GhBGW7BsB0q+IcJChFUuh6ktgpQ4Uxhi/FCplZJTC/GiNo376Fr6cikUhnoYB1msfAEEafzeucV/aB/pGBdKzTUPfivW7OPmRl6CInsIcWmAjZMpYrhkzmE/rE4YJg4xm+FM5zfENgQKsQcPoJXnwBxGMVDzNLo8yIUxjnYIXP75VCw4tfFMm7iyOP+JY46oaPIjh31RkO7pN0/u0Uv38QPlJ40rReVN7AJrZZoF0bqfgWgMu2nQLxqwrjTBoZWaQEwGgIFUpWpgGhmVaKNo10GKTCjMWq63XWDHbSsGJDKnH2GufbVOmHE9ThM720mg0yjY48UrLGiB6BXB/sWO1zxw4vnF/iCxd2KR3u4fykatLw4m8m8HwcDFkj1EzLlAIRujiCuAvjIUGy9KFEbz3BUlXIvg9KxfcWvimPdOWESpdlVas7j1GMb7CDL2QlOA2+BnDKODmPsSHZXp33ZFjQGO0OGLExp6Ya18EIfcH4/IMj8IQy/St1BMk8ikQ42a0gjzhIp+CkzIKEbBaaIwJwx6TqkxRrNdWUtnJtpLlyCN+GkMK3tReLOWe0kHLqE6jW+V8xAnohU7GOzzw4/bdO9QcELLdY7DSwqMSaxf4/J0hfHyr0N0FwigUJXHwxVQRjLsUkBE40m7SOkVIWERDiFSAWKkuFyXRlbE+3BAV5Slf18e9pzhdXyuL31GTb6kBFjVdfY/miQO4OMYTz6rdRrdqhWRTaJJAkwSaJNAkgSYJNEmgSQJNEmhQAv8Lix8k/gNx6O4AAAAASUVORK5CYII=`,b=function(e){return e.ArtifactsGenerated=`artifacts_generated`,e.FlowAgent=`flow_agent`,e.KnowledgeRag=`knowledge_rag`,e.ReferenceDocument=`reference_document`,e.Info=`info`,e.Interrupt=`interrupt`,e}({}),x=function(e){return e.Activity=`activity`,e.Assistant=`assistant`,e.Developer=`developer`,e.Guide=`guide`,e.Hidden=`hidden`,e.HiddenAssistant=`hidden-assistant`,e.HiddenGuide=`hidden-guide`,e.HiddenSystem=`hidden-system`,e.HiddenUser=`hidden-user`,e.Info=`info`,e.Pause=`pause`,e.Placeholder=`placeholder`,e.Reasoning=`reasoning`,e.System=`system`,e.TemplateAssistant=`template-assistant`,e.TemplateGuide=`template-guide`,e.TemplateHidden=`template-hidden`,e.TemplateSystem=`template-system`,e.TemplateUser=`template-user`,e.Tool=`tool`,e.User=`user`,e.Interrupt=`interrupt`,e}({}),S=function(e){return e.Complete=`complete`,e.Error=`error`,e.Pending=`pending`,e.Stop=`stop`,e.Streaming=`streaming`,e}({}),C=function(e){return e.Binary=`binary`,e.Function=`function`,e.Text=`text`,e}({}),w=function(e){return e.FlowNodeRetry=`flow_node_retry`,e.FlowNodeSkip=`flow_node_skip`,e.ApprovalCancel=`approval_cancel`,e}({}),T=()=>`temp_${Date.now()}_${Math.random().toString(36).slice(2,9)}`,E=e=>{let n=(0,t.ref)([]),r=(0,t.ref)(!1),i=(0,t.ref)(!1),a=t=>(r.value=!0,e.http?.message.getMessages(t).then(e=>{n.value=e}).finally(()=>{r.value=!1})),o=()=>f(n.value),s=e=>{n.value=n.value.map(t=>t.messageId===e.messageId?e:t)},c=e=>{n.value.push(e)},l=()=>n.value.findLast(e=>[S.Pending,S.Streaming].includes(e.status)),u=e=>n.value.find(t=>t.messageId===e),d=async t=>{let r=T(),i={...t,id:r,messageId:r};n.value.push(i);try{let i=await e.http?.message.plusMessage(t);if(i){let e=n.value.findIndex(e=>e.messageId===r);if(e!==-1){let r={...i,...`property`in t&&t.property?{property:t.property}:{}};n.value[e]=r}}}catch(e){let t=n.value.findIndex(e=>e.messageId===r);throw t!==-1&&(n.value[t]={...n.value[t],status:S.Error}),e}},f=async t=>{let r=t.reduce((e,t)=>(t.role===x.User&&e.push(t.id),e),[]);if(r.length<=0)return;let a=[...n.value];n.value=n.value.filter(e=>!t.includes(e)),i.value=!0;try{await e.http?.message.batchDeleteMessages(r)}catch(e){throw n.value=a,e}finally{i.value=!1}};return{list:n,isListLoading:r,isDeleteLoading:i,getMessages:a,clearMessages:o,getCurrentLoadingMessage:l,getMessageByMessageId:u,modifyMessage:s,plusMessage:c,createAndPlusMessage:d,deleteMessages:f,shareMessages:async(t,n,r)=>{let i=n.reduce((e,t)=>(t.role===x.User&&e.push(t.id),e),[]);if(!(i.length<=0))return e.http?.message.shareMessages(t,i,r)},getFlowAgentTaskInfo:t=>e.http?.message.getFlowAgentTaskInfo(t),getFlowAgentTaskNodeInfo:(t,n)=>e.http?.message.getFlowAgentTaskNodeInfo(t,n),reset:()=>{n.value=[],r.value=!1,i.value=!1}}},D=function(e){return e.ArtifactsGenerated=`artifacts_generated`,e.FlowAgentEnd=`flow_agent_end`,e.FlowAgentResult=`flow_agent_result`,e.FlowAgentStart=`flow_agent_start`,e.FlowAgentUpdate=`flow_agent_update`,e.FlowAgentRestart=`flow_agent_restart`,e.Info=`info`,e.KnowledgeRagEnd=`knowledge_rag_end`,e.KnowledgeRagResult=`knowledge_rag_result`,e.KnowledgeRagStart=`knowledge_rag_start`,e.KnowledgeRagTextContent=`knowledge_rag_text_content`,e.ReferenceDocument=`reference_document`,e.TempMessage=`temp_message`,e.ApprovalResult=`approval_result`,e}({}),O=function(e){return e.ActivityDelta=`ACTIVITY_DELTA`,e.ActivitySnapshot=`ACTIVITY_SNAPSHOT`,e.Custom=`CUSTOM`,e.MessagesSnapshot=`MESSAGES_SNAPSHOT`,e.Raw=`RAW`,e.RunError=`RUN_ERROR`,e.RunFinished=`RUN_FINISHED`,e.RunStarted=`RUN_STARTED`,e.StateDelta=`STATE_DELTA`,e.StateSnapshot=`STATE_SNAPSHOT`,e.StepFinished=`STEP_FINISHED`,e.StepStarted=`STEP_STARTED`,e.TextMessageChunk=`TEXT_MESSAGE_CHUNK`,e.TextMessageContent=`TEXT_MESSAGE_CONTENT`,e.TextMessageEnd=`TEXT_MESSAGE_END`,e.TextMessageStart=`TEXT_MESSAGE_START`,e.ThinkingEnd=`THINKING_END`,e.ThinkingStart=`THINKING_START`,e.ThinkingTextMessageContent=`THINKING_TEXT_MESSAGE_CONTENT`,e.ThinkingTextMessageEnd=`THINKING_TEXT_MESSAGE_END`,e.ThinkingTextMessageStart=`THINKING_TEXT_MESSAGE_START`,e.ToolCallArgs=`TOOL_CALL_ARGS`,e.ToolCallChunk=`TOOL_CALL_CHUNK`,e.ToolCallEnd=`TOOL_CALL_END`,e.ToolCallResult=`TOOL_CALL_RESULT`,e.ToolCallStart=`TOOL_CALL_START`,e}({}),k=function(e){return e.Blocked=`BLOCKED`,e.Created=`CREATED`,e.Failed=`FAILED`,e.Finished=`FINISHED`,e.LoopReady=`LOOP_READY`,e.Ready=`READY`,e.Revoked=`REVOKED`,e.RollBackFailed=`ROLL_BACK_FAILED`,e.RollBackSuccess=`ROLL_BACK_SUCCESS`,e.RollingBack=`ROLLING_BACK`,e.Running=`RUNNING`,e.Suspended=`SUSPENDED`,e}({}),A=function(e){return e.Success=`success`,e.Interrupt=`interrupt`,e}({}),j=function(e){return e.Abandoned=`abandoned`,e.Approved=`approved`,e.Cancelled=`cancelled`,e.Draft=`draft`,e.Expired=`expired`,e.Rejected=`rejected`,e.Pending=`pending`,e}({}),M=function(e){return e.Resolved=`resolved`,e.Cancelled=`cancelled`,e}({}),N=class{messageModule;onDoneCallback;onErrorCallback;onMessageCallback;onStartCallback;constructor(e){this.onDoneCallback=e?.onDone,this.onErrorCallback=e?.onError,this.onMessageCallback=e?.onMessage,this.onStartCallback=e?.onStart}handleActivityDeltaEvent(e){}handleActivitySnapshotEvent(e){if(e.activityType===b.Info){let t=this.messageModule.getMessageByMessageId(e.messageId);t?.role===x.Info&&(t.content=e.content);return}if(e.activityType===b.Interrupt){let t=this.messageModule.getCurrentLoadingMessage();t?.role===x.Interrupt&&(t.content=e.content,t.status=S.Complete)}}handleArtifactsGeneratedCustomEvent(e){let t=this.messageModule.list.value.findLast(e=>e.role===x.Assistant);if(t){let n=e.value;t.property??={},t.property.artifacts=n.artifacts}}handleCustomEvent(e){switch(e.name){case D.ArtifactsGenerated:this.handleArtifactsGeneratedCustomEvent(e);break;case D.FlowAgentStart:this.handleFlowAgentStartCustomEvent(e);break;case D.FlowAgentResult:this.handleFlowAgentResultCustomEvent(e);break;case D.FlowAgentEnd:this.handleFlowAgentEndCustomEvent(e);break;case D.FlowAgentRestart:this.handleFlowAgentRestartCustomEvent(e);break;case D.ReferenceDocument:this.handleReferenceDocumentCustomEvent(e);break;case D.KnowledgeRagStart:this.handleKnowledgeRagStartCustomEvent(e);break;case D.KnowledgeRagTextContent:this.handleKnowledgeRagTextContentCustomEvent(e);break;case D.KnowledgeRagResult:this.handleKnowledgeRagResultCustomEvent(e);break;case D.KnowledgeRagEnd:this.handleKnowledgeRagEndCustomEvent(e);break;case D.TempMessage:this.handleTempMessageCustomEvent(e);break;case D.ApprovalResult:this.handleApprovalResultCustomEvent(e);break;case D.FlowAgentUpdate:this.handleFlowAgentUpdateCustomEvent(e);break;case D.Info:this.handleInfoCustomEvent(e);break;default:break}}handleFlowAgentEndCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();if(t&&t.role===x.Activity&&t.activityType===b.FlowAgent){t.status=S.Complete;let n=e.value;this.messageModule.plusMessage({role:x.Assistant,content:n.map(e=>e.task_outputs.join(`
3
3
  `)).join(`
4
4
  `),status:S.Complete})}}handleFlowAgentRestartCustomEvent(e){let t=e.value;this.messageModule.list.value.forEach(e=>{e.role===x.Activity&&e.activityType===b.FlowAgent&&e.content[0].task_id===t[0].task_id&&(e.status=S.Streaming)})}handleFlowAgentResultCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===x.Activity&&t.activityType===b.FlowAgent&&(t.content=e.value)}handleFlowAgentStartCustomEvent(e){let t=e.value;this.messageModule.plusMessage({role:x.Activity,activityType:b.FlowAgent,content:t.map(e=>({nodes:{},task_id:e.task_id,task_name:``,task_outputs:[],task_state:k.Created})),status:S.Streaming})}handleFlowAgentUpdateCustomEvent(e){let t=e.value;this.messageModule.list.value.forEach(e=>{e.role===x.Activity&&e.activityType===b.FlowAgent&&e.content[0].task_id===t[0].task_id&&(e.content=t)})}handleInfoCustomEvent(e){let t=e.value;this.messageModule.plusMessage({role:x.Info,messageId:t.messageId,content:t.content,status:S.Complete})}handleKnowledgeRagEndCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===x.Activity&&t.activityType===b.KnowledgeRag&&(t.status=S.Complete)}handleKnowledgeRagResultCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===x.Activity&&t.activityType===b.KnowledgeRag&&(t.content.referenceDocument=e.value)}handleKnowledgeRagStartCustomEvent(e){this.messageModule.plusMessage({role:x.Activity,activityType:b.KnowledgeRag,content:{content:``,referenceDocument:[]},status:S.Streaming})}handleKnowledgeRagTextContentCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();if(t&&t.role===x.Activity&&t.activityType===b.KnowledgeRag){let n=e.value;t.content.content=n.cover?n.chunk.content:t.content.content+n.chunk.content}}handleMessagesSnapshotEvent(e){e.messages&&e.messages.length>0&&(this.messageModule.list.value=e.messages)}handleRawEvent(e){}handleReferenceDocumentCustomEvent(e){this.messageModule.plusMessage({role:x.Activity,activityType:b.ReferenceDocument,content:e.value,status:S.Complete})}handleRunErrorEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=S.Complete),this.messageModule.plusMessage({role:x.Assistant,content:e.message,status:S.Error})}handleRunFinishedEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=S.Complete),e.outcome?.type===A.Interrupt&&this.messageModule.plusMessage({role:x.Interrupt,content:e,status:S.Pending}),e.outcome?.type===A.Success&&t?.role===x.Interrupt&&(t.content=e)}handleRunStartedEvent(e){}handleStateDeltaEvent(e){}handleStateSnapshotEvent(e){}handleStepFinishedEvent(e){}handleStepStartedEvent(e){}handleTempMessageCustomEvent(e){let t=e.value;this.messageModule.plusMessage({role:x.Assistant,content:t.message,status:t.status})}handleApprovalResultCustomEvent(e){let t=e.value,n=this.messageModule.getCurrentLoadingMessage();n&&(n.content=t,n.status=S.Complete)}handleTextMessageChunkEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t?t.content+=e.delta||``:this.messageModule.plusMessage({role:e.role,content:e.delta||``,status:S.Complete,messageId:e.messageId})}handleTextMessageContentEvent(e){let t=this.messageModule.getMessageByMessageId(e.messageId);t&&(t.content+=e.delta)}handleTextMessageEndEvent(e){let t=this.messageModule.getMessageByMessageId(e.messageId);t&&(t.status=S.Complete)}handleTextMessageStartEvent(e){let t=this.messageModule.getMessageByMessageId(e.messageId);if(t){t.content=``,t.status=S.Streaming;return}this.messageModule.plusMessage({role:e.role,content:``,status:S.Streaming,messageId:e.messageId})}handleThinkingEndEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===x.Reasoning&&(t.duration=e.duration,t.status=S.Complete)}handleThinkingStartEvent(e){this.messageModule.plusMessage({role:x.Reasoning,content:[],status:S.Streaming})}handleThinkingTextMessageContentEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===x.Reasoning&&(t.content[t.content.length-1]+=e.delta)}handleThinkingTextMessageEndEvent(e){}handleThinkingTextMessageStartEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===x.Reasoning&&t.content.push(``)}handleToolCallArgsEvent(e){this.messageModule.list.value.forEach(t=>{t.role===x.Assistant&&t.toolCalls&&t.toolCalls.forEach(t=>{t.id===e.toolCallId&&(t.function.arguments+=e.delta)})})}handleToolCallChunkEvent(e){}handleToolCallEndEvent(e){this.messageModule.list.value.forEach(t=>{t.role===x.Assistant&&t.toolCalls&&t.toolCalls.some(t=>t.id===e.toolCallId)&&(t.status=S.Complete)})}handleToolCallResultEvent(e){this.messageModule.plusMessage({role:x.Tool,content:e.content,duration:e.duration,status:e.isError?S.Error:S.Complete,toolCallId:e.toolCallId,messageId:e.messageId})}handleToolCallStartEvent(e){this.messageModule.plusMessage({role:x.Assistant,content:``,status:S.Streaming,toolCalls:[{id:e.toolCallId,type:C.Function,function:{mcpName:e.mcpName,name:e.toolCallName,arguments:``,description:e.description}}]})}injectMessageModule(e){this.messageModule=e}onDone(){this.onDoneCallback?.()}onError(e){this.messageModule?.plusMessage({role:x.Assistant,content:e.message,status:S.Error}),this.onErrorCallback?.(e)}onMessage(e){let t=e;switch(this.onMessageCallback?.(t),t.type){case O.ActivityDelta:this.handleActivityDeltaEvent(t);break;case O.ActivitySnapshot:this.handleActivitySnapshotEvent(t);break;case O.Custom:this.handleCustomEvent(t);break;case O.MessagesSnapshot:this.handleMessagesSnapshotEvent(t);break;case O.Raw:this.handleRawEvent(t);break;case O.RunError:this.handleRunErrorEvent(t);break;case O.RunFinished:this.handleRunFinishedEvent(t);break;case O.RunStarted:this.handleRunStartedEvent(t);break;case O.StateDelta:this.handleStateDeltaEvent(t);break;case O.StateSnapshot:this.handleStateSnapshotEvent(t);break;case O.StepFinished:this.handleStepFinishedEvent(t);break;case O.StepStarted:this.handleStepStartedEvent(t);break;case O.TextMessageChunk:this.handleTextMessageChunkEvent(t);break;case O.TextMessageContent:this.handleTextMessageContentEvent(t);break;case O.TextMessageEnd:this.handleTextMessageEndEvent(t);break;case O.TextMessageStart:this.handleTextMessageStartEvent(t);break;case O.ThinkingEnd:this.handleThinkingEndEvent(t);break;case O.ThinkingStart:this.handleThinkingStartEvent(t);break;case O.ThinkingTextMessageContent:this.handleThinkingTextMessageContentEvent(t);break;case O.ThinkingTextMessageEnd:this.handleThinkingTextMessageEndEvent(t);break;case O.ThinkingTextMessageStart:this.handleThinkingTextMessageStartEvent(t);break;case O.ToolCallArgs:this.handleToolCallArgsEvent(t);break;case O.ToolCallChunk:this.handleToolCallChunkEvent(t);break;case O.ToolCallEnd:this.handleToolCallEndEvent(t);break;case O.ToolCallResult:this.handleToolCallResultEvent(t);break;case O.ToolCallStart:this.handleToolCallStartEvent(t);break;default:break}}onStart(){this.onStartCallback?.()}},P=function(e){return e.Running=`running`,e.Finished=`finished`,e.Failed=`failed`,e.Cancelled=`cancelled`,e}({}),ee=5,F=1e3,I=8e3,L=e=>Math.min(F*2**(e-1),I),R=e=>{if(e.name===`AbortError`)return!1;let t=e.response?.status,n=e.message.match(/status code (\d+)/i),r=t??(n?Number(n[1]):void 0);if(r!==void 0){if(r===408||r===429)return!0;if(r>=400&&r<500)return!1;if(r>=500)return!0}return!0},z=(e,n)=>{let r=(0,t.ref)(null),i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=(0,t.ref)([]),s=(0,t.ref)(!1),c=n||new N,l=null,u=null,d=null,f=!1,p=0,m=!1,h=null,g=null,_=null,v=(t,n)=>{s.value=!0;let r=e.http?.agent.getLlms(t,n);return r?r.then(e=>(o.value=e,e)).catch(e=>{throw o.value=[],e}).finally(()=>{s.value=!1}):(s.value=!1,o.value=[],Promise.resolve([]))},y=()=>(i.value=!0,e.http?.agent.getAgentInfo().then(e=>{r.value=e}).finally(()=>{i.value=!1})),b=(t,n)=>{let r=t.promptSetting?.content?.at(-1);r?.role===x.Pause&&e.message?.createAndPlusMessage({role:x.Assistant,content:r.content,status:S.Complete,sessionCode:n,property:{extra:{pause:!0}}})},C=(t,n,r,i,a)=>e.http?.message.userOperation(t,n,r,i).then(()=>{n===w.ApprovalCancel?(H(),V(t,a)):z({sessionCode:t,config:i,model:a})}),T=(e=!1)=>{if(h&&=(clearTimeout(h),null),g){let t=g;g=null,t(e)}},E=e=>new Promise(t=>{g=t,h=setTimeout(()=>{h=null,g=null,t(!0)},e)}),D=()=>{f=!1,p=0,m=!1,T(!1)},k=()=>{let t=e.message?.list.value;if(t?.length)for(;t.length>0;){let e=t[t.length-1];if(e.role===x.User)break;if(e.status===S.Streaming||e.status===S.Pending){t.pop();continue}break}},F=t=>t===e.session?.current?.value?.sessionCode,I=async t=>{if(f||!F(t))return`failed`;try{await e.session?.getSession(t)}catch{}if(f||!F(t))return`failed`;if(e.session?.current.value?.status!==P.Running)return`finished`;if(p>=ee||(p+=1,a.value=!0,!await E(L(p))||f||!F(t)))return`failed`;if(e.session?.current.value?.status!==P.Running)return`finished`;k();let n=e.message?.list.value.at(-1)?.id,r=_;return z({sessionCode:t,model:r?.model,url:r?.url,config:r?.config,lastMessageId:n===void 0?void 0:String(n),isReconnect:!0}),`reconnected`},z=async({sessionCode:t,model:n,url:r,config:i,resume:o,input:s,lastMessageId:u,isReconnect:d=!1})=>{d||D(),_={sessionCode:t,model:n,url:r,config:i},c instanceof N&&c.injectMessageModule(e.message),s&&e.message?.list.value.push({role:x.User,content:s,status:S.Complete,sessionCode:t});let p=()=>{a.value=!1,c.onDone?.call(c),s&&e.http?.message?.getMessages(t).then(t=>{let n=e.message?.list.value.findLast(e=>e.role===x.User),r=t.findLast(e=>e.role===x.User);n&&r&&(n.id=r.id)}),V(t)},h=e=>{a.value=!1,c.onError?.call(c,e)};l=new AbortController,e.http?.fetchClient.streamRequest({url:r||`chat_completion/`,method:`POST`,data:{session_code:t,model:n,input:s,execute_kwargs:{stream:!0,persist_input:!!s,last_message_id:u,resume:o}},controller:l,onDone:()=>{if(f||m){p();return}I(t).then(e=>{if(e!==`reconnected`){if(e===`finished`){p();return}if(f||!F(t)){a.value=!1;return}h(Error(`Connection lost, please try again`))}})},onError:e=>{if(!f){if(!R(e)){h(e);return}I(t).then(n=>{if(n!==`reconnected`){if(n===`finished`){p();return}if(f||!F(t)){a.value=!1;return}h(e)}})}},onMessage:e=>{e?.type===O.RunFinished&&(m=!0),c.onMessage?.call(c,e)},onStart:()=>{a.value=!0,c.onStart?.call(c)},...i}).catch(()=>{})},te=async(t,n,r,i,a,o)=>{await e.message?.createAndPlusMessage({role:x.User,content:t,status:S.Complete,sessionCode:n,...a&&{property:a}}),z({sessionCode:n,model:o,url:r,config:i})},B=(t,n,r,i)=>{if(e.session?.current.value?.status===P.Running){let a=e.message?.list.value.at(-1)?.id;z({sessionCode:t,model:i,url:n,config:r,lastMessageId:a})}},V=(t,n)=>{let r=e.message?.list.value.at(-1),i=r?.content?.outcome?.type===A.Interrupt?r.content.outcome.interrupts.find(e=>[j.Pending,j.Draft].includes(e.metadata?.ticket?.status)):void 0;r?.role===x.Interrupt&&i&&(H(),u=new AbortController,e.http?.session.isResumeSession(t,{controller:u}).then(r=>{r?z({sessionCode:t,model:n,resume:{interruptId:i.id,status:M.Resolved}}):d=setTimeout(()=>{t===e.session?.current?.value?.sessionCode&&V(t,n)},1e4)}))},H=()=>{clearTimeout(d),d=null,u?.abort?.(),u=null},U=()=>{f=!0,T(!1),l?.abort?.(),l=null};return{info:r,isInfoLoading:i,isChatting:a,models:o,isModelsLoading:s,chat:te,handleRole:b,resendMessage:async(t,n,r,i,a,o)=>{let s=e.message?.list.value||[],c=s.findIndex(e=>String(e.id)===t);if(c===-1)throw Error(`Message not found: ${t}`);let l=s[c];if(l.role!==x.User)throw Error(`Can only resend user messages`);let u=l.content,d=l.property,f=r??u,p=s.slice(c),m=e.message?.deleteMessages(p),h=e.message?.createAndPlusMessage({role:x.User,content:f,status:S.Complete,sessionCode:n,...d&&{property:d}});z({sessionCode:n,model:o,url:i,config:a}),Promise.all([m,h]).catch(e=>{console.error(`[resendMessage] API error:`,e)})},resumeStreamingChat:B,abortChat:U,stopChat:async t=>e.http.message?.stopChat(t),getAgentInfo:y,getLlms:v,reset:e=>{U(),c=e||new N,r.value=null,i.value=!1,a.value=!1,o.value=[],s.value=!1,_=null,p=0,m=!1},pollResumeSession:V,clearLongPollTimer:H,userOperationStreamRequest:C,streamRequest:z}};function te(e){return(0,t.isRef)(e)}function B(e){if(e==null)return;let n=e,r=0;for(;r<32;){if(r+=1,typeof n==`function`){n=n();continue}if(te(n)){n=(0,t.unref)(n);continue}break}return r>=32&&console.warn(`[chat-helper] resolveRequestValue: exceeded max unwrap depth`),n}var V=class{handlers=[];clear(){this.handlers=[]}eject(e){this.handlers[e]&&(this.handlers[e]=null)}forEach(e){this.handlers.forEach(t=>{t!==null&&e(t)})}use(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1}},H=class e{defaults;interceptors;globalErrorHandler;ignoreErrorPatterns=[];constructor(e={}){this.defaults=K({method:`GET`,headers:{"Content-Type":`application/json`},timeout:3e4,responseType:`json`,credentials:`include`,mode:`cors`,validateStatus:e=>e>=200&&e<300},e),this.interceptors={request:new V,response:new V}}onError(e,t){this.globalErrorHandler=e,t?.ignoreErrors&&(this.ignoreErrorPatterns=t.ignoreErrors)}shouldIgnoreError(e){let t=e.config?.url||``,n=e.config?.baseURL||``,r=n&&!t.startsWith(`http`)?n+t:t;return this.ignoreErrorPatterns.some(e=>typeof e==`string`?t.includes(e)||r.includes(e):e.test(t)||e.test(r))}dispatchError(e){this.globalErrorHandler&&!this.shouldIgnoreError(e)&&this.globalErrorHandler(e)}applyResponseErrorInterceptors(e){let t=e;return this.interceptors.response.forEach(e=>{e.rejected&&(t=e.rejected(t))}),t}create(t){return new e(K(this.defaults,t||{}))}delete(e,t,n){return this.request({...n,url:e,method:`DELETE`,params:t})}get(e,t,n){return this.request({...n,url:e,method:`GET`,params:t})}head(e,t,n){return this.request({...n,url:e,method:`HEAD`,params:t})}options(e,t,n){return this.request({...n,url:e,method:`OPTIONS`,params:t})}patch(e,t,n){return this.request({...n,url:e,method:`PATCH`,data:t})}post(e,t,n){return this.request({...n,url:e,method:`POST`,data:t})}prepareRequest(e,t=!1){let n=K(this.defaults,e);this.interceptors.request.forEach(e=>{if(e.fulfilled)try{n=e.fulfilled(n)}catch(t){throw e.rejected?e.rejected(t):t}});let r=n.url||``;n.baseURL&&!r.startsWith(`http`)&&(r=n.baseURL+r),r=U(r,n.params);let i=re(n.data),a=new Headers(re(n.headers));t&&!a.has(`Accept`)&&a.set(`Accept`,`text/event-stream`),i!=null&&(n.transformRequest?i=n.transformRequest(i,re(n.headers)):a.get(`Content-Type`)?.includes(`application/json`)&&typeof i==`object`&&!(i instanceof FormData)&&!(i instanceof Blob)&&!(i instanceof ArrayBuffer)&&(i=JSON.stringify(i)));let o=n.controller??new AbortController,s={method:n.method,credentials:n.credentials,mode:n.mode,headers:a,body:i,signal:o.signal};return{url:r,requestConfig:n,fetchConfig:s,controller:o}}put(e,t,n){return this.request({...n,url:e,method:`PUT`,data:t})}async request(e){let{url:t,fetchConfig:n,requestConfig:r,controller:i}=this.prepareRequest(e),a=!1,o=r.timeout&&r.timeout>0?setTimeout(()=>{a=!0,i.abort()},r.timeout):void 0;try{let e=await fetch(t,n);o&&clearTimeout(o);let i,a=r.responseType||`json`;try{switch(a){case`json`:i=await e.json();break;case`text`:i=await e.text();break;case`blob`:i=await e.blob();break;case`arrayBuffer`:i=await e.arrayBuffer();break;case`formData`:i=await e.formData();break;default:i=await e.json()}}catch{i=null}r.transformResponse&&(i=r.transformResponse(i));let s={data:i,status:e.status,statusText:e.statusText,headers:e.headers,config:r};if(!(r.validateStatus||this.defaults.validateStatus)(e.status)){let{code:t,message:n}=W(s.data,`Request failed with status code ${e.status}`);throw G(n,r,t,s)}let c=s;this.interceptors.response.forEach(e=>{if(e.fulfilled)try{c=e.fulfilled(c)}catch(t){throw e.rejected?e.rejected(t):t}}),c instanceof Promise&&(c=await c);let l=c.data;if(!l)return;if(![0,`success`].includes(l.code)){let{code:e,message:t}=W(l,`Request failed with code ${l.code}`);throw G(t,r,e,c)}return l.data}catch(e){if(o&&clearTimeout(o),e instanceof Error&&e.name===`AbortError`&&!a){console.warn(`User canceled request`,e.message);return}let t=a?G(`timeout of ${r.timeout}ms exceeded`,r,`ECONNABORTED`,void 0):e.isAxiosError===!0?e:G(e.message,r,e.code,void 0);throw this.dispatchError(t),this.applyResponseErrorInterceptors(t)}}stream(e,t){return this.streamRequest({...t,url:e})}async streamRequest(e){let t=!1,n=e.onError,r=e=>{if(!t){let n=e;n.config||=s,this.dispatchError(n),t=!0}n?.(e)},i={...e,onError:r},{url:a,fetchConfig:o,requestConfig:s}=this.prepareRequest(i,!0);try{let e=await fetch(a,o);if(!(s.validateStatus||this.defaults.validateStatus)(e.status)){let t=null;try{t=await e.json()}catch{t=null}let{code:n,message:i}=W(t,`Request failed with status code ${e.status}`);r(G(i,s,n,void 0));return}i.onStart?.();let t=e.body?.pipeThrough(new window.TextDecoderStream).getReader();if(!t){r(Error(`IResponse body is not readable`));return}let n=``,c=e=>{try{return JSON.parse(e),!0}catch{return!1}};for(;;){let{value:e,done:r}=await t.read();if(r){i.onDone?.();break}(n+e.toString()).split(`
5
- `).forEach(e=>{let t=e.replace(`data:`,``).trim();if(c(t)){let e=JSON.parse(t);i.onMessage?.(e),n=``}else t&&(n=t)})}}catch(e){if(e instanceof Error){if(e.name===`AbortError`){i.onDone?.();return}r(e)}throw e}}};function U(e,t){if(!t)return e;let n=new URLSearchParams;Object.keys(t).forEach(e=>{let r=t[e];r!=null&&(Array.isArray(r)?r.forEach(t=>n.append(e,String(t))):n.append(e,String(r)))});let r=n.toString();return r?`${e}${e.includes(`?`)?`&`:`?`}${r}`:e}function W(e,t){let n=`ERR_BAD_RESPONSE`;if(!e||typeof e!=`object`)return{code:n,message:t};let r=e;return r.error?.message?{code:r.error.code??n,data:r.error.data,message:ne(r.error.message,t)}:r.message?{code:r.code??n,data:r.data,message:ne(r.message,t)}:r.detail?{code:r.code??n,data:r.data,message:ne(r.detail,t)}:{code:r.code??n,data:r.data,message:t}}function ne(e,t){if(typeof e==`string`)return e||t;try{return JSON.stringify(e)||t}catch{return t}}function G(e,t,n,r){let i=Error(e);return i.config=t,i.code=String(n),i.response=r,i.isAxiosError=!0,i}function re(e){return B(e)}function ie(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function K(e,t){let n={...e};for(let r in t){let i=t[r];if(ie(i)){let t=e[r];n[r]=K(t||{},i)}else n[r]=i}return n}new H;var ae=new Set([`POST`,`PUT`,`PATCH`,`DELETE`]),oe=new Set([`GET`,`HEAD`,`OPTIONS`]);function se(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ce(e,t){let{headers:n,data:r}=t.requestData;!n&&!r||e.interceptors.request.use(e=>{let t=e,i=(e.method??`GET`).toUpperCase();if(n){let r=B(n);if(r&&Object.keys(r).length>0){let n=B(e.headers)??{};t={...t,headers:{...n,...r}}}}if(r){let n=B(r);if(n&&Object.keys(n).length>0){if(ae.has(i)){let r=B(e.data);r==null?t={...t,data:n}:se(r)?t={...t,data:{...n,...r}}:console.warn(`[chat-helper] requestData.data 无法注入:当前请求体不是普通对象(FormData/Blob/string 等),已跳过合并。`,{method:i,existingType:typeof r})}else if(oe.has(i)){let r=e.params??{};t={...t,params:{...n,...r}}}}}return t})}var le=e=>{let t=new H({baseURL:e.requestData.urlPrefix});return ce(t,e),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response),{fetchClient:t,reset:e=>{t.defaults.baseURL=e.requestData.urlPrefix,t.interceptors.request.clear(),t.interceptors.response.clear(),ce(t,e),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response)}}},ue=e=>({conversationSettings:{openingRemark:e?.conversation_settings?.opening_remark,predefinedQuestions:e?.conversation_settings?.predefined_questions,commands:e?.conversation_settings?.commands?.map(e=>({id:e.id,name:e.name,alias:e.alias,icon:e.icon,components:e.components.map(e=>({type:e.type,name:e.name,key:e.key,placeholder:e.placeholder,default:e.default,required:e.required,fillBack:e.fill_back,fillRegx:e.fill_regx,rows:e.rows,min:e.min,max:e.max,options:e.options})),content:e.content,agentId:e.agent_id,status:e.status,supportUpload:e.support_upload})),enableChatSession:e?.conversation_settings?.enable_chat_session},promptSetting:e?.prompt_setting?{content:e.prompt_setting.content,supportUpload:e.prompt_setting.support_upload}:void 0,agentName:e?.agent_name,relatedSkills:e?.related_skills?.map(e=>({id:e.id,skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon})),chatGroup:e?.chat_group?{enabled:e.chat_group.enabled,staff:e.chat_group.staff,username:e.chat_group.username}:void 0,saasUrl:e?.saas_url,resources:e?.resources}),de=e=>({id:e.id??0,llm_code:e.llm_code,llm_name:e.llm_name,llm_type:e.llm_type??`chat.completion`,icon:e.icon??``,description:e.description??``,base_model:e.base_model,max_token_size:e.max_token_size??0,property:e.property??{},space_auth_mode:e.space_auth_mode??``,user_auth_mode:e.user_auth_mode??``,tag_names:e.tag_names}),fe=e=>Array.isArray(e)?e.map(de):[],pe=e=>({getAgentInfo:t=>e.get(`agent/info/`,void 0,t).then(ue),getLlms:(t,n)=>{let r={llm_type:t?.llm_type??`chat.completion`};return t?.fuzzy&&(r.fuzzy=t.fuzzy),t?.supports&&(r.supports=t.supports),e.get(`llms/`,r,n).then(fe)}}),q=e=>{let t={id:e.id,messageId:e.message_id,name:e.name,role:e.role,sessionCode:e.session_code,status:e.status};switch(e.role){case x.Activity:{let n=e,r=e=>e.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url})),i;switch(n.activity_type){case b.ReferenceDocument:i=r(n.content);break;case b.KnowledgeRag:{let e=n.content;i={content:e.content,referenceDocument:r(e.reference_document)};break}case b.FlowAgent:case b.ArtifactsGenerated:default:i=n.content;break}return{...t,activityType:n.activity_type,content:i,property:n.property,role:n.role}}case x.Assistant:{let n=e;return{...t,content:n.content,property:n.property,role:n.role,toolCalls:n.tool_calls?.map(e=>({function:{arguments:e.function.arguments,name:e.function.name,description:e.function.description,mcpName:e.function.mcp_name},id:e.id,type:e.type}))}}case x.Developer:{let n=e;return{...t,content:n.content,role:n.role}}case x.Guide:{let n=e;return{...t,content:n.content,role:n.role}}case x.Hidden:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenAssistant:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenGuide:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenSystem:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenUser:{let n=e;return{...t,content:n.content,role:n.role}}case x.Info:{let n=e;return{...t,content:n.content,role:n.role}}case x.Pause:{let n=e;return{...t,content:n.content,role:n.role}}case x.Placeholder:{let n=e;return{...t,content:n.content,role:n.role}}case x.Reasoning:{let n=e;return{...t,content:n.content,duration:n.duration,role:n.role}}case x.System:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateAssistant:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateGuide:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateHidden:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateSystem:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateUser:{let n=e;return{...t,content:n.content,role:n.role}}case x.Tool:{let n=e;return{...t,content:n.content,duration:n.duration,error:n.error,role:n.role,toolCallId:n.tool_call_id}}case x.User:{let n=e,r=n.content;return{...t,content:Array.isArray(r)?r.map(e=>{if(e.type===C.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mimeType:t.mime_type,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role}}case x.Interrupt:return{...t,...e}}},J=e=>{let t={id:e.id,message_id:e.messageId,name:e.name,role:e.role,session_code:e.sessionCode,status:e.status};switch(e.role){case x.Activity:{let n=e,r=e=>e.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url})),i;switch(n.activityType){case b.ReferenceDocument:i=r(n.content);break;case b.KnowledgeRag:{let e=n.content;i={content:e.content,reference_document:r(e.referenceDocument)};break}case b.FlowAgent:case b.ArtifactsGenerated:default:i=n.content;break}return{...t,activity_type:n.activityType,content:i,property:n.property,role:n.role}}case x.Assistant:{let n=e;return{...t,property:n.property,content:n.content,role:n.role,tool_calls:n.toolCalls?.map(e=>({function:{arguments:e.function.arguments,name:e.function.name,description:e.function.description,mcp_name:e.function.mcpName},id:e.id,type:e.type}))}}case x.Developer:{let n=e;return{...t,content:n.content,role:n.role}}case x.Guide:{let n=e;return{...t,content:n.content,role:n.role}}case x.Hidden:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenAssistant:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenGuide:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenSystem:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenUser:{let n=e;return{...t,content:n.content,role:n.role}}case x.Info:{let n=e;return{...t,content:n.content,role:n.role}}case x.Pause:{let n=e;return{...t,content:n.content,role:n.role}}case x.Placeholder:{let n=e;return{...t,content:n.content,role:n.role}}case x.Reasoning:{let n=e;return{...t,content:n.content,duration:n.duration,role:n.role}}case x.System:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateAssistant:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateGuide:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateHidden:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateSystem:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateUser:{let n=e;return{...t,content:n.content,role:n.role}}case x.Tool:{let n=e;return{...t,content:n.content,duration:n.duration,error:n.error,role:n.role,tool_call_id:n.toolCallId}}case x.User:{let n=e,r=n.content;return{...t,content:Array.isArray(r)?r.map(e=>{if(e.type===C.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mime_type:t.mimeType,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role}}case x.Interrupt:return{...t,...e}}},me=e=>({getMessages:(t,n,r)=>e.get(`session_content/content/`,{session_code:t,limit:n},r).then(e=>e.map(q)),plusMessage:(t,n)=>e.post(`session_content/`,J(t),n).then(q),modifyMessage:(t,n)=>e.put(`session_content/${t.id}/`,J(t),n).then(q),deleteMessage:(t,n)=>e.delete(`session_content/${t}/`,void 0,n),batchDeleteMessages:(t,n)=>e.post(`session_content/batch_delete/`,{ids:t},n),shareMessages:(t,n,r,i)=>e.post(`share/`,{session_code:t,content_ids:n,...r?{expired_at:r}:{}},i),stopChat:(t,n)=>e.post(`session_content/stop/`,{session_code:t},n),getFlowAgentTaskInfo:(t,n)=>e.get(`flow_agent/${t}/task_info/`,void 0,n),getFlowAgentTaskNodeInfo:(t,n,r)=>e.get(`flow_agent/${t}/task_node_info/${n}/`,void 0,r),retryFlowAgentTaskNode:(t,n,r,i)=>e.post(`flow_agent/${t}/node/${n}/retry/`,{task_id:r},i),skipFlowAgentTaskNode:(t,n,r,i)=>e.post(`flow_agent/${t}/node/${n}/skip/`,{task_id:r},i),userOperation:(t,n,r,i)=>e.post(`user_operation/`,{session_code:t,operation:n,payload:r},i)}),Y=e=>({sessionCode:e.session_code,sessionContentCount:e.session_content_count,sessionName:e.session_name,isTemporary:e.is_temporary,model:e.model,comment:e.comment,rate:e.rate,updatedAt:e.updated_at,createdAt:e.created_at,status:e.status,roleInfo:e.role_info?{collectionId:e.role_info.collection_id,collectionName:e.role_info.collection_name,content:e.role_info.content,variables:e.role_info.variables}:void 0,sessionProperty:{isAutoClear:e.session_property?.is_auto_clear,isAutoCalcPrompt:e.session_property?.is_auto_clac_prompt,labels:e.session_property?.labels}}),he=e=>({session_code:e.sessionCode,session_content_count:e.sessionContentCount,session_name:e.sessionName,is_temporary:e.isTemporary,model:e.model,comment:e.comment,rate:e.rate,updated_at:e.updatedAt,created_at:e.createdAt,status:e.status,role_info:e.roleInfo?{collection_id:e.roleInfo.collectionId,collection_name:e.roleInfo.collectionName,content:e.roleInfo.content,variables:e.roleInfo.variables}:void 0,session_property:{is_auto_clear:e.sessionProperty?.isAutoClear,is_auto_clac_prompt:e.sessionProperty?.isAutoCalcPrompt,labels:e.sessionProperty?.labels}}),ge=e=>({session_code:e.sessionCode,session_content_ids:e.sessionContentIds,rate:e.rate,comment:e.comment,labels:e.labels}),_e=e=>({sessionCode:e.session_code,sessionContentIds:e.session_content_ids,rate:e.rate,comment:e.comment,labels:e.lables}),ve=`upload_file`,ye=20,be=600,xe=2e4,Se=e=>{if(Array.isArray(e))return{page:1,numPages:1,count:e.length,results:e.map(Y)};let t=Array.isArray(e?.results)?e.results:[];return{page:e?.page??1,numPages:e?.num_pages??1,count:e?.count??t.length,results:t.map(Y)}},Ce=e=>{let t=e.split(`.`).pop();if(!t||t===e)return``;let n=t.replace(/[^A-Za-z0-9]/g,``).slice(0,20).toLowerCase();return n?`.${n}`:``},we=e=>`${ve}_${`${Date.now()}_${Math.random().toString(36).slice(2,8)}`}${Ce(e.name)}`,Te=e=>`attachment; filename="${e}"`,Ee=e=>({clearSession:(t,n)=>e.post(`chat_completion/${t}/clear/`,void 0,n),getSessions:(t,n)=>e.get(`session/`,{page:t?.page??1,page_size:t?.page_size??ye},n).then(Se),plusSession:(t,n)=>e.post(`session/`,he(t),n).then(e=>Y(e)),modifySession:(t,n)=>e.put(`session/${t.sessionCode}/`,he(t),n).then(e=>Y(e)),deleteSession:(t,n)=>e.delete(`session/${t}/`,void 0,n),batchDeleteSessions:(t,n)=>e.post(`session/batch_delete/`,{session_codes:t},n),getSession:(t,n)=>e.get(`session/${t}/`,void 0,n).then(e=>Y(e)),postSessionFeedback:(t,n)=>e.post(`session_feedback/`,ge(t),n).then(e=>_e(e)),getSessionFeedbackReasons:(t,n)=>e.get(`session_feedback/reasons/`,{rate:t},n),renameSession:(t,n)=>e.post(`session/${t}/ai_rename/`,void 0,n).then(e=>Y(e)),uploadFile:(t,n,r)=>{let i=we(n),a=encodeURIComponent(i),o=B(r?.headers)??{};return n.arrayBuffer().then(n=>e.post(`session/${t}/upload/${a}/`,n,{...r,headers:{...o,"Content-Disposition":Te(i)}}))},getPvFileDownloadUrl:(t,n,r,i)=>{let a=r?.expiresIn??be,o=r?.timeout??xe;return e.get(`session/${t}/pv_files/download_url/`,{expires_in:a,path:n},{...i,timeout:i?.timeout??o})},isResumeSession:(t,n)=>e.get(`session/${t}/is_resume/`,void 0,n)}),De=e=>({agent:pe(e),session:Ee(e),message:me(e),fetchClient:e}),Oe=e=>{let{fetchClient:t,reset:n}=le(e);return{...De(t),reset:n,onError:t.onError.bind(t)}},ke=()=>({agent:null,http:null,message:null,session:null,registerAgent(e){this.agent=e},registerHttp(e){this.http=e},registerMessage(e){this.message=e},registerSession(e){this.session=e}}),Ae=20,je=e=>{let n=(0,t.ref)([]),r=(0,t.ref)(null),i=(0,t.ref)(0),a=(0,t.ref)(0),o=(0,t.ref)(0),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=(0,t.ref)(!1),p=(0,t.ref)(!1),m=(0,t.ref)(!1),h=(0,t.computed)(()=>i.value>0&&i.value<a.value),g=e=>{n.value=n.value.map(t=>t.sessionCode===e.sessionCode?{...t,...e}:t),r.value?.sessionCode===e.sessionCode&&(r.value=n.value.find(t=>t.sessionCode===e.sessionCode)??r.value)},_=t=>{c.value=!0;let r={page:t?.page??1,page_size:t?.page_size??Ae};return e.http?.session.getSessions(r).then(e=>{n.value=e.results,i.value=e.page,a.value=e.numPages,o.value=e.count}).finally(()=>{c.value=!1})},v=async(t=Ae)=>{if(!(!h.value||c.value||l.value)){l.value=!0;try{let r=await e.http?.session.getSessions({page:i.value+1,page_size:t});if(!r)return;let s=new Set(n.value.map(e=>e.sessionCode)),c=r.results.filter(e=>!s.has(e.sessionCode));n.value=[...n.value,...c],i.value=r.page,a.value=r.numPages,o.value=r.count}finally{l.value=!1}}},y=async(t,i)=>{e.agent?.abortChat();let a=i?.loadMessages!==!1,o=n.value.find(e=>e.sessionCode===t);!a&&o?r.value=o:await b(t),a?(await e.message?.getMessages(t),e.agent?.resumeStreamingChat(t),e.agent?.pollResumeSession(t)):e.message&&(e.message.list.value=[])},b=t=>(s.value=!0,e.http?.session.getSession(t).then(e=>{r.value=e}).finally(()=>{s.value=!1}));return{list:n,current:r,page:i,numPages:a,count:o,hasMore:h,isCurrentLoading:s,isListLoading:c,isLoadingMore:l,isCreateLoading:u,isUpdateLoading:d,isDeleteLoading:f,isBatchDeleteLoading:p,getSessions:_,loadMoreSessions:v,chooseSession:y,getSession:b,createSession:async(t,r)=>{u.value=!0;try{let i=await e.http?.session.plusSession(t);i&&(n.value.unshift(i),o.value+=1,await y(i.sessionCode,{loadMessages:r?.loadMessages??!1}))}finally{u.value=!1}},updateSession:t=>(d.value=!0,e.http?.session.modifySession(t).then(e=>{g(e)}).finally(()=>{d.value=!1})),deleteSession:async t=>{f.value=!0;try{await e.http?.session.deleteSession(t),n.value=n.value.filter(e=>e.sessionCode!==t),o.value=Math.max(0,o.value-1),r.value?.sessionCode===t&&n.value[0]?.sessionCode&&await y(n.value[0].sessionCode)}finally{f.value=!1}},batchDeleteSessions:async t=>{if(t.length!==0){p.value=!0;try{await e.http?.session.batchDeleteSessions(t);let i=new Set(t),a=n.value.length;n.value=n.value.filter(e=>!i.has(e.sessionCode));let s=a-n.value.length;o.value=Math.max(0,o.value-s),r.value&&i.has(r.value.sessionCode)&&(n.value.length>0?await y(n.value[0].sessionCode):(r.value=null,e.message&&(e.message.list.value=[])))}finally{p.value=!1}}},postSessionFeedback:t=>e.http?.session.postSessionFeedback(t),getSessionFeedbackReasons:t=>e.http?.session.getSessionFeedbackReasons(t),renameSession:t=>(m.value=!0,e.http?.session.renameSession(t).then(e=>{g({sessionCode:e.sessionCode,sessionName:e.sessionName})}).finally(()=>{m.value=!1})),uploadFile:(t,n)=>e.http?.session.uploadFile(t,n),getPvFileDownloadUrl:(t,n,r)=>e.http?.session.getPvFileDownloadUrl(t,n,r),reset:()=>{n.value=[],r.value=null,i.value=0,a.value=0,o.value=0,s.value=!1,c.value=!1,l.value=!1,u.value=!1,d.value=!1,f.value=!1,p.value=!1,m.value=!1}}},X=e=>{let t=ke(),n=Oe(e),r=z(t,e.protocol),i=E(t),a=je(t);return t.registerHttp(n),t.registerMessage(i),t.registerAgent(r),t.registerSession(a),{agent:r,session:a,message:i,http:n,reset:e=>{n.reset(e),r.reset(e.protocol),i.reset(),a.reset()},onError:n.onError}},Me=new Set([`context_type`,`__label`,`__key`,`__value`]);function Ne(e,n){return{urlPrefix:e,headers:()=>B((0,t.toValue)(n)?.headers),data:()=>B((0,t.toValue)(n)?.data)}}function Pe(e){return e?Array.isArray(e)?e.map(e=>{if(e.__key)return e;let t=Object.entries(e).filter(([e])=>!Me.has(e));if(t.length===0)return e;let[n,r]=t[0];return{...e,[n]:r,context_type:e.context_type??`input`,__label:e.__label??n,__key:e.__key??n,__value:e.__value??r}}):Object.entries(e).map(([e,t])=>({[e]:t,context_type:`input`,__label:e,__key:e,__value:t})):[]}function Fe(e,t){if(!t)return e;let n=t()?.context;if(!n)return e;let r=Pe(n);return r.length===0?e:Ie(e,r)}function Ie(e,t){if(t.length===0)return e??{};let n=e??{},r=n.extra??{},i=r.context??[],a=new Set(t.map(e=>e.__key).filter(Boolean)),o=i.filter(e=>{let t=e.__key;return!t||!a.has(t)});return{...n,extra:{...r,context:[...o,...t]}}}function Le(e){return e.some(e=>{if(!(`property`in e))return!0;let{property:t}=e;return!t?.extra?.pause})}function Re(e,t){let n=null;for(let r of e)if(r.role===`user`&&r.id!==void 0&&(n=r),r===t)break;return n}function ze(e,t){let n=Re(e,t);if(n?.id!==void 0)return typeof n.id==`number`?n.id:Number(n.id)}function Be(e){if(!e)return[];if(typeof e!=`string`)return[{type:`text`,content:e}];let t=[],n=/```custom-component\s*\n([\s\S]*?)\n```/g,r=0,i;for(;(i=n.exec(e))!==null;){if(i.index>r){let n=e.slice(r,i.index).trim();n&&t.push({type:`text`,content:n})}try{let e=JSON.parse(i[1]);t.push({type:`custom`,data:e,raw:i[1]})}catch{t.push({type:`text`,content:i[0]})}r=i.index+i[0].length}if(r<e.length){let n=e.slice(r).trim();n&&t.push({type:`text`,content:n})}return t}var Ve=e=>{if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let{message:t}=e;if(typeof t==`string`&&t)return Error(t);try{return Error(JSON.stringify(e)??String(e))}catch{return Error(String(e))}}return Error(String(e))},He=e=>{let t=document.cookie.match(RegExp(`(^| )${e}=([^;]*)(;|$)`));return t?t[2]:``},Ue=e=>e.endsWith(`/`)?e:`${e}/`,We=e=>{if(!e)return e;try{let t=new URL(e,window.location.origin);return t.protocol=window.location.protocol,Ue(t.toString())}catch(t){return console.warn(`Failed to normalize URL:`,t),Ue(e)}};async function Ge(e){if(typeof navigator<`u`&&`clipboard`in navigator)try{return await navigator.clipboard.writeText(e),!0}catch{}let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`-9999px`,t.style.opacity=`0`,document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand(`copy`)}catch{return!1}finally{document.body.removeChild(t)}}function Ke(){let e=window.navigator.userAgent.toLowerCase(),t=window.navigator.platform.toLowerCase();return t.includes(`mac`)||e.includes(`mac`)?`mac`:t.includes(`win`)||e.includes(`win`)?`windows`:t.includes(`linux`)||e.includes(`linux`)?`linux`:`unknown`}function qe(){return Je()?`Cmd + I`:`Ctrl + I`}function Je(){return Ke()===`mac`}function Ye(e){let t=Je()?e.metaKey:e.ctrlKey,n=e.key.toLowerCase()===`i`;return t&&n&&!e.shiftKey&&!e.altKey}var Xe=He(`blueking_language`)||`zh-cn`,Ze={小鲸:`BK GPT`,关闭:`close`,发送:`Send`,请输入:`Please input`,昨天:`yesterday`,"3天前":`3 days ago`,"5天前":`5 days ago`,"1周前":`1 week ago`,更早:`Older`,删除:`Delete`,恢复默认大小:`Restore default size`,"AI 小鲸":`AI BK GPT`,新增会话:`New chat`,历史会话:`History session`,停止生成:`Stop generating`,复制:`Copy`,编辑:`Edit`,今天:`Today`,搜索会话名称:`Search session name`,重命名:`Rename`,自动生成命名:`Auto generate name`,分享会话:`Share session`,无智能体使用权限:`No permission to use this agent`,暂无使用权限:`No permission`,请输入新的会话名称:`Please enter new session name`,"确认删除会话 ?":`Confirm delete session?`,搜索为空:`No search results`,暂无对话:`No conversations`,"加载中...":`Loading...`,转人工:`Transfer to human`,缩小高度:`Shrink height`,全选:`Select all`,取消:`Cancel`,确定:`Confirm`,分享链接已复制到剪贴板:`Share link copied to clipboard`,请求失败:`Request failed`,当前已是新会话:`Already in a new session`,"正在创建会话...":`Creating session...`},Qe={重命名:`重命名`,自动生成命名:`自动生成命名`,分享会话:`分享会话`,全选:`全选`,取消:`取消`,确定:`确定`,分享链接已复制到剪贴板:`分享链接已复制到剪贴板`,请求失败:`请求失败`},Z=e=>Xe===`en`?Ze[e]||e:Qe[e]||e;function $e(e){let{triggerRef:n,panelComponent:r,panelProps:i={},tippyOptions:o={}}=e,s=(0,t.ref)(null),c=null,l=()=>(c||=document.createElement(`div`),(0,t.render)((0,t.h)(r,{...i,onClose:p}),c),c),u=e=>{let t=e.target,r=n.value;if(r&&r.contains(t))return;let i=document.querySelector(`.tippy-box[data-theme~="history-panel"]`);if(i&&i.contains(t))return;let a=document.querySelector(`.tippy-box[data-theme~="more-menu-light"]`);a&&a.contains(t)||s.value?.state.isVisible&&s.value.hide()},d=()=>{if(!n.value||s.value)return;let e={placement:`bottom-end`,offset:[0,8],appendTo:document.querySelector(`.ai-blueking-container-wrapper`)||document.body};s.value=(0,a.default)(n.value,{content:l(),interactive:!0,trigger:`manual`,theme:`light history-panel`,arrow:!1,hideOnClick:!1,animation:`scale`,duration:200,delay:[0,0],...e,...o,onShow:()=>{s.value&&c&&s.value.setContent(l()),setTimeout(()=>{document.addEventListener(`click`,u,!1)},0)},onHidden:()=>{document.removeEventListener(`click`,u,!1)}})},f=()=>{s.value||d(),s.value?.show()},p=()=>{s.value?.hide()},m=()=>{s.value||d(),s.value?.state.isVisible?p():f()},h=e=>{e.stopPropagation(),m()},g=()=>{s.value&&=(s.value.destroy(),null),c&&=((0,t.render)(null,c),null),document.removeEventListener(`click`,u,!1)};return(0,t.onBeforeUnmount)(()=>{g()}),{show:f,hide:p,toggle:m,handleTriggerClick:h,destroy:g,isVisible:()=>s.value?.state.isVisible??!1}}var et={class:`history-group`},tt={class:`history-group-title`},nt={class:`history-group-list`},rt=(0,t.defineComponent)({__name:`history-group`,props:{currentSessionCode:{},sessions:{},title:{}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,et,[(0,t.createElementVNode)(`div`,tt,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(n.title),1)]),(0,t.createElementVNode)(`div`,nt,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])]))}}),Q=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},it=Q(rt,[[`__scopeId`,`data-v-3b603cb6`]]),at={class:`history-item-actions`},ot=Q((0,t.defineComponent)({__name:`history-item`,props:{isActive:{type:Boolean},isEditing:{type:Boolean},session:{}},emits:[`click`,`delete`,`edit`,`rename-cancel`,`rename-confirm`],setup(e,{emit:n}){let i=e,a=n,o=r.bkTooltips,s=(0,t.ref)(null),c=(0,t.ref)(``);(0,t.watch)(()=>i.isEditing,e=>{e&&(c.value=i.session.sessionName,(0,t.nextTick)(()=>{if(s.value)try{let e=s.value;e&&typeof e.focus==`function`&&e.focus();let t=e.$el?.querySelector(`input`);t&&typeof t.select==`function`&&t.select()}catch(e){console.warn(`Failed to focus edit input:`,e)}}))});let l=()=>{i.isEditing||a(`click`,i.session)},u=()=>{a(`edit`,i.session)},d=()=>{a(`delete`,i.session.sessionCode)},f=()=>{let e=c.value.trim();e&&e!==i.session.sessionName?a(`rename-confirm`,i.session.sessionCode,e):a(`rename-cancel`)},p=()=>{a(`rename-cancel`)},m=(e,t)=>{t.key===`Enter`?f():t.key===`Escape`&&p()};return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`history-item`,{active:i.isActive}]),onClick:l},[i.isEditing?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.Input),{key:1,ref_key:`editInputRef`,ref:s,modelValue:c.value,"onUpdate:modelValue":n[1]||=e=>c.value=e,style:{width:`100%`,height:`28px`},onBlur:f,onKeyup:m,onClick:n[2]||=(0,t.withModifiers)(()=>{},[`stop`])},null,8,[`modelValue`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)((0,t.unref)(r.OverflowTitle),{style:{width:`calc(100% - 42px)`}},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(i.session.sessionName),1)]),_:1}),(0,t.createElementVNode)(`span`,at,[(0,t.withDirectives)((0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-bianji`,onClick:(0,t.withModifiers)(u,[`stop`])},null,512),[[(0,t.unref)(o),{content:(0,t.unref)(Z)(`编辑`),boundary:`parent`}]]),(0,t.createVNode)((0,t.unref)(r.PopConfirm),{title:(0,t.unref)(Z)(`确认删除会话 ?`),content:`删除操作无法撤回,请谨慎操作!`,"confirm-config":{theme:`danger`},trigger:`click`,boundary:`parent`,onConfirm:d},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-shanchu`,onClick:n[0]||=(0,t.withModifiers)(()=>{},[`stop`])},null,512),[[(0,t.unref)(o),{content:(0,t.unref)(Z)(`删除`),boundary:`parent`}]])]),_:1},8,[`title`])])],64))],2))}}),[[`__scopeId`,`data-v-fea14d3a`]]),st={class:`history-search`},ct={class:`input-icon`},lt=Q((0,t.defineComponent)({__name:`history-search`,props:{modelValue:{default:``},placeholder:{default:``}},emits:[`update:modelValue`],setup(e,{emit:n}){let i=e,a=n,s=e=>{a(`update:modelValue`,e)};return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,st,[(0,t.createVNode)((0,t.unref)(r.Input),{"model-value":i.modelValue,behavior:`simplicity`,placeholder:i.placeholder||(0,t.unref)(Z)(`搜索会话名称`),style:{height:`22px`},"onUpdate:modelValue":s},{suffix:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,ct,[(0,t.createVNode)((0,t.unref)(o.Search))])]),_:1},8,[`model-value`,`placeholder`])]))}}),[[`__scopeId`,`data-v-e7ff40b2`]]),ut={class:`history-dropdown-header`},dt={class:`history-dropdown-header-title`},ft={class:`history-dropdown-content`},pt={key:0,class:`history-dropdown-loading`},mt={class:`history-dropdown-loading-dots`},ht=40,gt=Q((0,t.defineComponent)({__name:`index`,props:{sessionBusinessManager:{}},emits:[`close`,`session-delete`,`session-rename`,`session-switch`],setup(e,{emit:n}){let i=e,a=n,o=(0,t.ref)(``),s=(0,t.ref)(null),c=(0,t.computed)(()=>i.sessionBusinessManager.currentSession.value?.sessionCode),l=(0,t.computed)(()=>i.sessionBusinessManager.isLoadingMore.value),u=e=>{let t=e.target;t.scrollHeight-t.scrollTop-t.clientHeight>ht||i.sessionBusinessManager.hasMoreSessions.value&&(i.sessionBusinessManager.isLoadingMore.value||i.sessionBusinessManager.loadMoreSessions())},d=(0,t.computed)(()=>{let e={today:{key:`today`,alias:Z(`今天`),sessionList:[]},yesterday:{key:`yesterday`,alias:Z(`昨天`),sessionList:[]},"3days":{key:`3days`,alias:Z(`3天前`),sessionList:[]},"5days":{key:`5days`,alias:Z(`5天前`),sessionList:[]},"1week":{key:`1week`,alias:Z(`1周前`),sessionList:[]},before:{key:`before`,alias:Z(`更早`),sessionList:[]}},t=i.sessionBusinessManager.sessionList.value.filter(e=>e.sessionName.toLowerCase().includes(o.value.toLowerCase())),n=new Date,r=new Date(n);r.setDate(r.getDate()-1);let a=new Date(n);a.setDate(n.getDate()-3);let s=new Date(n);s.setDate(n.getDate()-5);let c=new Date(n);c.setDate(n.getDate()-7);for(let i of t){let t=new Date(i.createdAt||``),o=t.toDateString();o===n.toDateString()?e.today.sessionList.push(i):o===r.toDateString()?e.yesterday.sessionList.push(i):t>=a&&t>s?e[`3days`].sessionList.push(i):t>=s&&t>c?e[`5days`].sessionList.push(i):t>=c?e[`1week`].sessionList.push(i):e.before.sessionList.push(i)}for(let t of Object.values(e))t.sessionList.sort((e,t)=>{let n=new Date(e.createdAt||0).getTime();return new Date(t.createdAt||0).getTime()-n});return Object.values(e).filter(e=>e.sessionList.length>0)}),f=e=>c.value===e,p=e=>{f(e.sessionCode)||(a(`session-switch`,e.sessionCode),a(`close`))},m=e=>{s.value=e.sessionCode},h=e=>{a(`session-delete`,e)},g=(e,t)=>{let n=i.sessionBusinessManager.sessionList.value.find(t=>t.sessionCode===e);n&&(n.sessionName=t),s.value=null,a(`session-rename`,e,t)},_=()=>{s.value=null};return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`bkai-history-dropdown`,onScroll:u},[(0,t.createElementVNode)(`div`,ut,[(0,t.createElementVNode)(`h1`,dt,(0,t.toDisplayString)((0,t.unref)(Z)(`历史会话`)),1),(0,t.createVNode)(lt,{modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,placeholder:(0,t.unref)(Z)(`搜索会话名称`)},null,8,[`modelValue`,`placeholder`])]),(0,t.createElementVNode)(`div`,ft,[d.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(d.value,e=>((0,t.openBlock)(),(0,t.createBlock)(it,{key:e.key,"current-session-code":c.value,sessions:e.sessionList,title:e.alias},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.sessionList,e=>((0,t.openBlock)(),(0,t.createBlock)(ot,{key:e.sessionCode,"is-active":f(e.sessionCode),"is-editing":s.value===e.sessionCode,session:e,onClick:p,onDelete:h,onEdit:m,onRenameCancel:_,onRenameConfirm:g},null,8,[`is-active`,`is-editing`,`session`]))),128))]),_:2},1032,[`current-session-code`,`sessions`,`title`]))),128)),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pt,[(0,t.createElementVNode)(`span`,mt,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(3,e=>(0,t.createElementVNode)(`i`,{key:e,class:`history-dropdown-loading-dot`,style:(0,t.normalizeStyle)({"--dot-index":e-1})},null,4)),64))])])):(0,t.createCommentVNode)(`v-if`,!0)],64)):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.Exception),{key:1,description:o.value?(0,t.unref)(Z)(`搜索为空`):(0,t.unref)(Z)(`暂无对话`),scene:`part`,style:{"margin-top":`100px`},type:o.value?`search-empty`:`empty`},null,8,[`description`,`type`]))])],32))}}),[[`__scopeId`,`data-v-bf2401b6`]]);function _t(e){return e.sessionBusinessManager?$e({triggerRef:e.triggerRef,panelComponent:gt,panelProps:{sessionBusinessManager:e.sessionBusinessManager,onSessionSwitch:e.onSessionSwitch,onSessionDelete:e.onSessionDelete,onSessionRename:e.onSessionRename},tippyOptions:{placement:`bottom-end`,offset:[0,8],appendTo:()=>document.querySelector(`.ai-blueking-panel`)||document.body}}):{handleTriggerClick:()=>{},show:()=>{},hide:()=>{},toggle:()=>{},destroy:()=>{},isVisible:()=>!1}}var vt={class:`left-section`},yt={class:`logo`},bt=[`src`],xt={key:0,class:`rename-tooltip`},St={class:`rename-content`},Ct={key:0,class:`tippy-dropdown-menu`},wt={key:1,class:`bkai-icon bkai-auto-refresh-line`},Tt={class:`right-section`},Et=Q((0,t.defineComponent)({__name:`index`,props:{title:{default:``},agentName:{default:``},sessionName:{default:``},isCompressionHeight:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},showHistoryIcon:{type:Boolean,default:!0},showNewChatIcon:{type:Boolean,default:!0},showCompressionIcon:{type:Boolean,default:!0},showMoreIcon:{type:Boolean,default:!0},enableChatSession:{type:Boolean,default:!0},hasPermission:{type:Boolean,default:!0},chatGroup:{default:()=>({enabled:!1,staff:[],username:``})},hasSessionContents:{type:Boolean},autoGenerateLoading:{type:Boolean},dropdownMenuConfig:{default:()=>({showRename:!0,showAutoGenerate:!0,showShare:!1})},sessionBusinessManager:{default:void 0},selectedLlmCode:{default:void 0},renderMode:{default:n.RenderMode.Chat}},emits:[`close`,`toggle-compression`,`new-chat`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`,`history-session-switch`,`history-session-delete`,`history-session-rename`,`new-chat-created`],setup(e,{expose:a,emit:o}){let s=e,c=o,l=r.bkTooltips,u=(0,t.ref)(null),d=(0,t.ref)(null),f=(0,t.useTemplateRef)(`moreMenuTippyRef`),p=(0,t.ref)(!1),m=(0,t.ref)(``),h=(0,t.ref)(null),g=(0,t.ref)(!1),_=()=>document.querySelector(`.ai-blueking-panel`)||document.body,v=null,b=()=>{!d.value||!s.sessionBusinessManager||(v=_t({triggerRef:d,sessionBusinessManager:s.sessionBusinessManager,onSessionSwitch:e=>c(`history-session-switch`,e),onSessionDelete:e=>c(`history-session-delete`,e),onSessionRename:(e,t)=>c(`history-session-rename`,e,t)}))},x=(0,t.computed)(()=>s.hasPermission?s.enableChatSession?s.title||`${s.agentName||``}-${s.sessionName||``}`:s.agentName:Z(`无智能体使用权限`)),S=(0,t.computed)(()=>s.isCompressionHeight?`bkai-morenchicun`:`bkai-yasuo`),C=(0,t.computed)(()=>s.isCompressionHeight?Z(`恢复默认尺寸`):Z(`缩小高度`)),w=(0,t.computed)(()=>s.hasPermission),T=e=>w.value?e:Z(`暂无使用权限`),E=()=>({cursor:w.value?`pointer`:`not-allowed`}),D=(0,t.ref)(!1),O=async()=>{if(!D.value){D.value=!0;try{if(s.sessionBusinessManager)try{let e=await s.sessionBusinessManager.createNewSession({model:s.selectedLlmCode});e&&c(`new-chat-created`,{sessionCode:e.sessionCode,sessionName:e.sessionName,createdAt:e.createdAt})}catch(e){console.error(`Failed to create new session:`,e),(0,r.Message)({theme:`error`,message:Z(`创建会话失败`)})}c(`new-chat`)}finally{D.value=!1}}},k=e=>{e.stopPropagation(),s.sessionBusinessManager?(v||b(),v&&v.handleTriggerClick(e)):c(`history-click`,e)},A=()=>{c(`help-click`)},j=e=>{e.stopPropagation(),v&&v.isVisible()&&v.hide(),f.value&&(g.value?f.value.hide():f.value.show())},M=()=>{f.value?.hide(),ee()},N=()=>{!s.hasSessionContents||s.autoGenerateLoading||c(`auto-generate-name`)},P=()=>{s.hasSessionContents&&(f.value?.hide(),c(`share`))},ee=()=>{document.removeEventListener(`click`,R),m.value=s.sessionName||``,p.value=!0,setTimeout(()=>{document.addEventListener(`click`,R)},100),setTimeout(()=>{if(h.value)try{let e=h.value;e&&typeof e.focus==`function`&&e.focus();let t=e.$el?.querySelector(`input`);t&&typeof t.select==`function`&&t.select()}catch(e){console.warn(`Failed to focus rename input:`,e)}},100)},F=()=>{let e=m.value.trim();if(!e){I();return}c(`rename`,e),p.value=!1,m.value=``},I=()=>{p.value=!1,m.value=``},L=(e,t)=>{m.value=e,t.key===`Enter`?F():t.key===`Escape`&&I()},R=e=>{if(!p.value)return;let t=e.target,n=document.querySelector(`.rename-tooltip`);n&&!n.contains(t)&&I()};return(0,t.watch)(()=>s.autoGenerateLoading,(e,t)=>{t&&!e&&g.value&&f.value?.hide()}),(0,t.onMounted)(()=>{s.sessionBusinessManager&&b(),document.addEventListener(`click`,R)}),(0,t.onBeforeUnmount)(()=>{v&&=(v.destroy(),null),document.removeEventListener(`click`,R)}),a({headerRef:u,historyIconRef:d}),(a,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`headerRef`,ref:u,class:(0,t.normalizeClass)([`ai-header drag-handle`,{draggable:s.draggable}])},[(0,t.createElementVNode)(`div`,vt,[(0,t.createElementVNode)(`div`,yt,[(0,t.createElementVNode)(`img`,{alt:`logo`,src:(0,t.unref)(y)},null,8,bt)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`title`,{"title-with-tooltip":p.value}])},[(0,t.createTextVNode)((0,t.toDisplayString)(x.value)+` `,1),(0,t.createCommentVNode)(` 重命名 tooltip 直接绑定在 title 上 `),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xt,[(0,t.createElementVNode)(`div`,St,[(0,t.createVNode)((0,t.unref)(r.Input),{ref_key:`renameInputRef`,ref:h,modelValue:m.value,"onUpdate:modelValue":o[0]||=e=>m.value=e,class:`rename-input`,placeholder:(0,t.unref)(Z)(`请输入新的会话名称`),onKeyup:L},null,8,[`modelValue`,`placeholder`]),(0,t.createElementVNode)(`div`,{class:`rename-buttons`},[(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-check-1 rename-btn confirm-btn`,onClick:F}),(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-close rename-btn cancel-btn`,onClick:I})])])])):(0,t.createCommentVNode)(`v-if`,!0)],2),(0,t.createCommentVNode)(` 更多图标下拉菜单 - 使用 vue-tippy `),s.showMoreIcon&&w.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(i.Tippy),{key:0,ref_key:`moreMenuTippyRef`,ref:f,arrow:!1,"append-to":_,offset:[0,4],interactive:``,placement:`bottom-start`,theme:`ai-blueking-light more-menu-light light`,trigger:`manual`,onHidden:o[1]||=e=>g.value=!1,onShown:o[2]||=e=>g.value=!0},{content:(0,t.withCtx)(()=>[g.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ct,[s.dropdownMenuConfig?.showRename?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`tippy-menu-item`,onClick:M},[o[7]||=(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-bianji`},null,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Z)(`重命名`)),1)])):(0,t.createCommentVNode)(`v-if`,!0),s.dropdownMenuConfig?.showAutoGenerate?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`tippy-menu-item`,{disabled:!s.hasSessionContents||s.autoGenerateLoading}]),onClick:N},[s.autoGenerateLoading?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.Loading),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):((0,t.openBlock)(),(0,t.createElementBlock)(`i`,wt)),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Z)(`自动生成命名`)),1)],2)),[[(0,t.unref)(i.directive),{content:s.hasSessionContents?``:(0,t.unref)(Z)(`请先发起会话`),theme:`ai-blueking-tooltip`,arrow:!0,delay:[300,0],appendTo:_}]]):(0,t.createCommentVNode)(`v-if`,!0),s.dropdownMenuConfig?.showShare&&s.renderMode!==(0,t.unref)(n.RenderMode).Test?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)([`tippy-menu-item`,{disabled:!s.hasSessionContents}]),onClick:P},[o[8]||=(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-fenxiang`},null,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Z)(`分享会话`)),1)],2)),[[(0,t.unref)(i.directive),{content:s.hasSessionContents?``:(0,t.unref)(Z)(`请先发起会话`),theme:`ai-blueking-tooltip`,arrow:!0,delay:[300,0],appendTo:_}]]):(0,t.createCommentVNode)(`v-if`,!0)])):(0,t.createCommentVNode)(`v-if`,!0)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,{class:`bkai-icon bkai-more`,onClick:j})]),_:1},512)):(0,t.createCommentVNode)(`v-if`,!0)]),(0,t.renderSlot)(a.$slots,`headerLeft`,{},void 0,!0),(0,t.createElementVNode)(`div`,Tt,[(0,t.createCommentVNode)(` 新增会话按钮 `),s.showNewChatIcon&&e.enableChatSession!==!1?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:(0,t.normalizeClass)([`bkai-icon`,`bkai-xinzengliaotian`,{disabled:!w.value||D.value||!e.hasSessionContents}]),style:(0,t.normalizeStyle)(E()),onClick:o[3]||=t=>w.value&&!D.value&&e.hasSessionContents?O():void 0},null,6)),[[(0,t.unref)(l),{content:D.value?(0,t.unref)(Z)(`正在创建会话...`):e.hasSessionContents?T((0,t.unref)(Z)(`新增会话`)):(0,t.unref)(Z)(`当前已是新会话`),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createCommentVNode)(` 历史会话按钮 `),s.showHistoryIcon&&e.enableChatSession!==!1?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:1,ref_key:`historyIconRef`,ref:d,class:(0,t.normalizeClass)([`bkai-icon`,`bkai-history`,{disabled:!w.value}]),style:(0,t.normalizeStyle)(E()),onClick:o[4]||=e=>w.value?k(e):void 0},null,6)),[[(0,t.unref)(l),{content:T((0,t.unref)(Z)(`历史会话`)),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),e.chatGroup?.enabled?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:2,class:`bkai-icon bkai-zhushou`,onClick:A},null,512)),[[(0,t.unref)(l),{content:(0,t.unref)(Z)(`转人工`),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),s.showCompressionIcon?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:3,class:(0,t.normalizeClass)([`bkai-icon`,S.value]),onClick:o[5]||=e=>c(`toggle-compression`)},null,2)),[[(0,t.unref)(l),{content:C.value,boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),(0,t.withDirectives)((0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-close-line-2`,onClick:o[6]||=e=>c(`close`)},null,512),[[(0,t.unref)(l),{content:(0,t.unref)(Z)(`关闭`),boundary:`parent`}]])])],2))}}),[[`__scopeId`,`data-v-6dcebb8e`]]);function Dt(e){let t=We(e);fetch(t,{method:`GET`,credentials:`include`}).catch(()=>{})}async function Ot(e,t={}){let{enableModelSelect:n=!0}=t,r=[e.agent.getAgentInfo(),e.session.getSessions()];n&&typeof e.agent.getLlms==`function`&&r.push(e.agent.getLlms().catch(e=>{console.error(`[runAgentBootstrap] Failed to load models:`,e)})),await Promise.all(r);let i=e.agent.info.value?.saasUrl;i&&Dt(i)}var kt=class{_isGenerating;_isModelsLoading;_isStopLoading;_models;_selectedLlmCode;_selectedModelName;_selectedModelSupportsVision;agentModule;config;eventEmitter;messageModule;sessionModule;hasValidSelection(){let e=this._selectedLlmCode.value;return!!e&&this._models.value.some(t=>t.llm_code===e)}isSessionPending(){return this.sessionModule!=null&&this.sessionModule.current.value==null}applySessionModel(e){let t=this._models.value;if(t.length===0){this._selectedLlmCode.value=void 0;return}if(this.isSessionPending())return;if(e&&t.some(t=>t.llm_code===e)){this._selectedLlmCode.value=e;return}if(this.hasValidSelection())return;let n=t.find(e=>e.property?.default)??t[0];this._selectedLlmCode.value=n?.llm_code}async persistSessionModel(e){let t=this.sessionModule?.current.value;if(!(!t?.sessionCode||!e)&&t.model!==e)try{await this.sessionModule.updateSession({...t,model:e})}catch(e){console.error(`[ChatBusinessManager] Failed to persist session model:`,e),this.emit(`chat-error`,{action:`persistSessionModel`,error:e})}}resolveChatModel(e){return(e??this._selectedLlmCode.value)||void 0}autoRenameSessionIfNeeded(e){let t=this.sessionModule;if(!t||this.messageModule.list.value.length!==1)return;let n=t.renameSession(e);n&&n.then(()=>{let n=(t.list.value.find(t=>t.sessionCode===e)??(t.current?.value?.sessionCode===e?t.current.value:null))?.sessionName;n&&this.config.onSessionRenamed?.(n)}).catch(e=>{console.error(`[ChatBusinessManager] Auto rename session failed:`,e)})}emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,n,r=null,i=null,a={}){this.agentModule=e,this.messageModule=n,this.sessionModule=r,this.eventEmitter=i,this.config=a,this._isGenerating=(0,t.ref)(!1),this._isStopLoading=(0,t.ref)(!1),this._isModelsLoading=(0,t.ref)(!1),this._models=(0,t.ref)([]),this._selectedLlmCode=(0,t.ref)(void 0),this._selectedModelName=(0,t.computed)(()=>{let e=this._selectedLlmCode.value;return e?this._models.value.find(t=>t.llm_code===e)?.llm_name??``:``}),this._selectedModelSupportsVision=(0,t.computed)(()=>{let e=this._selectedLlmCode.value;return e?!!this._models.value.find(t=>t.llm_code===e)?.property?.support_vision:!1}),this.sessionModule&&(0,t.watch)(()=>this.sessionModule.current.value?.sessionCode,()=>{this.applySessionModel(this.sessionModule.current.value?.model)})}get isGenerating(){return this._isGenerating}get isStopLoading(){return this._isStopLoading}get isMessagesLoading(){return this.messageModule.isListLoading}get models(){return this._models}get isModelsLoading(){return this._isModelsLoading}get selectedLlmCode(){return this._selectedLlmCode}get selectedModelName(){return this._selectedModelName}get selectedModelSupportsVision(){return this._selectedModelSupportsVision}get messages(){return this.messageModule.list}async loadModels(e={}){this._isModelsLoading.value=!0;try{let t=this.agentModule.models?.value;if(!e.force&&Array.isArray(t)&&t.length>0)this._models.value=[...t];else if(typeof this.agentModule.getLlms==`function`){let e=await this.agentModule.getLlms();this._models.value=Array.isArray(e)?e:[]}else this._models.value=[];this.applySessionModel(this.sessionModule?.current.value?.model)}catch(e){console.error(`[ChatBusinessManager] Failed to load models:`,e),this._models.value=[],this._selectedLlmCode.value=void 0}finally{this._isModelsLoading.value=!1}}setModels(e){this._models.value=e,this.applySessionModel(this.sessionModule?.current.value?.model)}setSelectedModelByName(e){if(!e){this._selectedLlmCode.value=void 0;return}let t=this._models.value.find(t=>t.llm_name===e);this._selectedLlmCode.value=t?.llm_code,this.persistSessionModel(t?.llm_code)}setSelectedModel(e){this._selectedLlmCode.value=e?.llm_code,this.persistSessionModel(e?.llm_code)}get openingRemark(){return this.config.openingRemark||``}get predefinedQuestions(){return this.config.predefinedQuestions||[]}async batchDeleteMessages(e){try{await this.messageModule.deleteMessages(e);let t=e.map(e=>e.id).filter(Boolean);this.emit(`messages-batch-deleted`,{messageIds:t})}catch(e){throw console.error(`Failed to batch delete messages:`,e),this.emit(`chat-error`,{action:`batch-delete-messages`,error:e}),e}}async deleteMessage(e){try{await this.messageModule.deleteMessages([e]),this.emit(`message-deleted`,{messageId:e.id})}catch(e){throw console.error(`Failed to delete message:`,e),this.emit(`chat-error`,{action:`delete-message`,error:e}),e}}handleStreamEnd(){this._isGenerating.value=!1,this.emit(`receive-end`,{})}handleStreamError(e){this._isGenerating.value=!1,this.emit(`receive-error`,{error:e})}handleStreamStart(){this._isGenerating.value=!0,this.emit(`receive-start`,{})}async regenerateFromAIMessages(e,t){try{if(!e||e.length===0)throw Error(`No AI messages provided`);let n=this.messages.value,r=Re(n,e[0]);if(!r)throw Error(`No user message found before AI messages`);let i=r.id;if(i===void 0)throw Error(`User message has no id`);await this.regenerateMessage(String(i),t)}catch(e){throw console.error(`Failed to regenerate from AI messages:`,e),this.emit(`chat-error`,{action:`regenerate`,error:e}),e}}async regenerateMessage(e,t){try{let n=this.messages.value,r=n.findIndex(t=>String(t.id)===e);if(r===-1)throw Error(`Message not found: ${e}`);let i=n[r];if(i.role!==x.User)throw Error(`Can only regenerate from user messages`);let a=n.slice(r),o=typeof i.content==`string`?i.content:JSON.stringify(i.content),s=i.property;this._isGenerating.value=!0;let c=this.messageModule.deleteMessages(a);this.agentModule.chat(o,t,void 0,void 0,s,this.resolveChatModel()),this.emit(`chat-regenerate`,{messageId:e}),c.catch(e=>{console.error(`[regenerateMessage] Delete API error:`,e)})}catch(e){throw console.error(`Failed to regenerate message:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`regenerate`,error:e}),e}}async resendMessageWithProperty(e,t,n,r){try{let i=this.messages.value,a=i.findIndex(t=>String(t.id)===e);if(a===-1)throw Error(`Message not found: ${e}`);if(i[a].role!==x.User)throw Error(`Can only resend user messages`);let o=i.slice(a);this._isGenerating.value=!0;let s=this.messageModule.deleteMessages(o);this.agentModule.chat(n,t,void 0,void 0,r,this.resolveChatModel()),this.emit(`chat-resend`,{messageId:e}),s.catch(e=>{console.error(`[resendMessageWithProperty] Delete API error:`,e)})}catch(e){throw console.error(`Failed to resend message with property:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`resend`,error:e}),e}}async retryMessage(e){try{console.warn(`retryMessage not implemented yet`),this.emit(`chat-retry`,{messageId:e})}catch(e){throw console.error(`Failed to retry message:`,e),this.emit(`chat-error`,{action:`retry`,error:e}),e}}async sendMessage(e,t,n={}){try{if(!t)throw Error(`No active session. Please create or select a session first.`);this._isGenerating.value=!0,this.emit(`send-message`,{content:e}),await this.agentModule.chat(e,t,void 0,void 0,n.property,this.resolveChatModel(n.model)),this.autoRenameSessionIfNeeded(t)}catch(e){throw console.error(`Failed to send message:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`send`,error:e}),e}}async stopGeneration(){let e=this.sessionModule?.current?.value?.sessionCode??``;this._isStopLoading.value=!0;try{await this.agentModule.stopChat(e),this._isGenerating.value=!1,this.emit(`stop`,{})}catch(e){throw console.error(`Failed to stop generation:`,e),this.emit(`chat-error`,{action:`stop`,error:e}),e}finally{this._isStopLoading.value=!1}}},At=class{agentModule;config;eventEmitter;messageModule;sessionModule;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,t=null,n=null,r={},i=null){this.sessionModule=e,this.agentModule=t,this.eventEmitter=n,this.config=r,this.messageModule=i}get currentSession(){return this.sessionModule.current}get isCreateLoading(){return this.sessionModule.isCreateLoading}get isCurrentLoading(){return this.sessionModule.isCurrentLoading}get isDeleteLoading(){return this.sessionModule.isDeleteLoading}get isListLoading(){return this.sessionModule.isListLoading}get isLoadingMore(){return this.sessionModule.isLoadingMore}get isUpdateLoading(){return this.sessionModule.isUpdateLoading}get hasMoreSessions(){return this.sessionModule.hasMore}get sessionCount(){return this.sessionModule.count}get sessionList(){return this.sessionModule.list}async createNewSession(e){let t=this.currentSession.value;if(t?.sessionCode&&this.isCurrentSessionEmpty(t))return null;await this.loadSessions();let n=this.sessionList.value;if(n.length>0){let r=n[0];if(r.sessionCode===t?.sessionCode?this.isCurrentSessionEmpty(r):this.isSessionEmpty(r))return await this.syncSessionModelIfNeeded(e?.model,r),await this.switchSession(r.sessionCode,{loadMessages:!1}),null}return await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode(),model:e?.model}),this.sessionModule.current.value}generateSessionCode(){return`new_session_${Date.now()}`}async syncSessionModelIfNeeded(e,t){if(!e)return;let n=t??this.sessionModule.current.value;!n?.sessionCode||n.model===e||await this.sessionModule.updateSession({...n,model:e})}async createSession(e={}){if(this.config.enableChatSession===!1)throw Error(`Chat session is disabled`);try{let t={sessionName:e.name||`新会话`,sessionCode:e.sessionCode||`session_${Date.now()}`,isTemporary:e.isTemporary||!1,...e.model?{model:e.model}:{},sessionProperty:{labels:e.labels}};await this.sessionModule.createSession(t);let n=this.agentModule?.info.value;n&&this.agentModule?.handleRole(n,t.sessionCode),this.emit(`session-created`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to create session:`,e),this.emit(`session-error`,{action:`create`,error:e}),e}}async deleteSession(e){try{await this.sessionModule.deleteSession(e),this.emit(`session-deleted`,{sessionCode:e})}catch(e){throw console.error(`Failed to delete session:`,e),this.emit(`session-error`,{action:`delete`,error:e}),e}}async getSession(e){try{await this.sessionModule.getSession(e)}catch(e){throw console.error(`Failed to get session:`,e),this.emit(`session-error`,{action:`get`,error:e}),e}}isSessionEmpty(e){let t=this.findSession(e.sessionCode)?.sessionContentCount??e.sessionContentCount;return t==null?!1:t===0}isCurrentSessionEmpty(e){return this.messageModule&&Le(this.messageModule.list.value)?!1:this.isSessionEmpty(e)}findSession(e){return this.sessionList.value.find(t=>t.sessionCode===e)}async loadRecentSession(e){try{if(this.currentSession.value?.sessionCode)return;e?.skipLoadSessions||await this.loadSessions();let t=this.sessionList.value;if(this.config.initialSessionCode){let e=this.findSession(this.config.initialSessionCode);await this.switchSession(this.config.initialSessionCode,{loadMessages:e?!this.isSessionEmpty(e):!0});return}if(t.length>0){let n=t[0],r=(n.sessionContentCount??0)>0,i=e?.alwaysCreateNewSession??this.config.alwaysCreateNewSession??!1;r||i?await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode()}):await this.switchSession(n.sessionCode,{loadMessages:!1});return}await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode()})}catch(e){throw console.error(`Failed to load recent session:`,e),e}}async loadSessions(){try{await this.sessionModule.getSessions(),this.emit(`sessions-loaded`,{sessions:this.sessionList.value})}catch(e){throw console.error(`Failed to load sessions:`,e),this.emit(`session-error`,{action:`load`,error:e}),e}}async loadMoreSessions(){try{await this.sessionModule.loadMoreSessions()}catch(e){throw console.error(`Failed to load more sessions:`,e),this.emit(`session-error`,{action:`loadMore`,error:e}),e}}async switchSession(e,t){try{await this.sessionModule.chooseSession(e,t),this.emit(`session-switched`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to switch session:`,e),this.emit(`session-error`,{action:`switch`,error:e}),e}}async updateSessionName(e,t){try{let n=this.sessionList.value.find(t=>t.sessionCode===e);if(!n)throw Error(`Session not found: ${e}`);await this.sessionModule.updateSession({...n,sessionName:t}),this.emit(`session-updated`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to update session name:`,e),this.emit(`session-error`,{action:`update`,error:e}),e}}},jt=class{messageModule;sessionModule;constructor(e,t){this.messageModule=e,this.sessionModule=t}async shareMessages(e){if(e.length===0)throw Error(`No messages to share`);let t=this.sessionModule.current?.value?.sessionCode;if(!t)throw Error(`No active session`);let n=await this.messageModule.shareMessages(t,e);if(!n)throw Error(`Share failed: no result returned`);return{shareUrl:`${n.share_page}share-page/${n.share_token}`,userMessageIds:e.map(e=>String(e.id))}}},Mt=class{_agentShortcuts;_effectiveShortcuts;_propsShortcuts;eventEmitter;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e=null,n=[]){this._propsShortcuts=(0,t.ref)(n),this._agentShortcuts=(0,t.ref)([]),this.eventEmitter=e,this._effectiveShortcuts=(0,t.computed)(()=>this._propsShortcuts.value.length>0?this._propsShortcuts.value:this._agentShortcuts.value.length>0?this._agentShortcuts.value:[])}get count(){return this._effectiveShortcuts.value.length}get effectiveShortcuts(){return this._effectiveShortcuts}get hasShortcuts(){return this._effectiveShortcuts.value.length>0}get shortcuts(){return this._effectiveShortcuts}addShortcut(e){this._propsShortcuts.value.push(e)}clear(){this._propsShortcuts.value=[],this._agentShortcuts.value=[]}filterByTextLength(e,t){return!e||e.length>t?[]:this._effectiveShortcuts.value}filterShortcuts(e,t){return t?this._effectiveShortcuts.value.filter(n=>t(n,e)):this._effectiveShortcuts.value}getShortcutById(e){return this._effectiveShortcuts.value.find(t=>t.id===e)}handleShortcutClick(e,t,n=`main`){this.emit(`shortcut-click`,{shortcut:e,selectedText:t,source:n})}limitShortcuts(e){return this._effectiveShortcuts.value.slice(0,e)}removeShortcut(e){this._propsShortcuts.value=this._propsShortcuts.value.filter(t=>t.id!==e)}setAgentShortcuts(e){this._agentShortcuts.value=e}setShortcuts(e){this._propsShortcuts.value=e}},Nt=class{_isCompressed;_isDraggingOrResizing;_nimbusMinimized;_panelVisible;_positionAndSize;cleanupFunctions;config;containerRef=null;debugMode;listeners;onceListeners;constructor(e={}){this.config=e,this.listeners=new Map,this.onceListeners=new Map,this.debugMode=e.debug??!1,this.cleanupFunctions=[],this._panelVisible=(0,t.ref)(e.initialPanelVisible??!1),this._nimbusMinimized=(0,t.ref)(e.initialNimbusMinimized??!1),this._isDraggingOrResizing=(0,t.ref)(!1),this._isCompressed=(0,t.ref)(!1),this._positionAndSize=(0,t.ref)({x:0,y:0,width:400,height:window.innerHeight})}get container(){return{updatePosition:this.updatePosition.bind(this),updateSize:this.updateSize.bind(this),updatePositionAndSize:this.updatePositionAndSize.bind(this),toggleCompression:this.toggleCompression.bind(this),expandForSidePanel:this.expandForSidePanel.bind(this),collapseSidePanel:this.collapseSidePanel.bind(this),positionAndSize:(0,t.computed)(()=>this.containerRef?.positionAndSize?.value??this._positionAndSize.value),isCompressed:(0,t.computed)(()=>this._isCompressed.value),isSidePanelExpanded:(0,t.computed)(()=>this.containerRef?.isSidePanelExpanded?.value??!1)}}get isCompressed(){return this._isCompressed}get isDraggingOrResizing(){return this._isDraggingOrResizing}get nimbus(){return{minimize:this.minimizeNimbus.bind(this),restore:this.restoreNimbus.bind(this),toggle:this.toggleNimbus.bind(this),isMinimized:(0,t.computed)(()=>this._nimbusMinimized.value)}}get nimbusMinimized(){return this._nimbusMinimized}get panel(){return{show:this.showPanel.bind(this),hide:this.hidePanel.bind(this),toggle:this.togglePanel.bind(this),isVisible:(0,t.computed)(()=>this._panelVisible.value)}}get panelVisible(){return this._panelVisible}get state(){return{panelVisible:this._panelVisible,nimbusMinimized:this._nimbusMinimized,isDraggingOrResizing:this._isDraggingOrResizing,positionAndSize:this._positionAndSize}}collapseSidePanel(){this.containerRef?.collapseSidePanel&&this.containerRef.collapseSidePanel()}destroy(){this.listeners.clear(),this.onceListeners.clear(),this.cleanupFunctions.forEach(e=>e()),this.cleanupFunctions=[],this.debugMode&&console.debug(`[ComponentManager] Destroyed`)}emit(e,t){this.debugMode&&console.debug(`[ComponentManager] Emitting "${e}"`,t);let n=this.listeners.get(e);n&&n.forEach(n=>{try{n(t)}catch(t){console.error(`[ComponentManager] Error in listener for "${e}":`,t)}});let r=this.onceListeners.get(e);if(r&&r.size>0){let n=Array.from(r);this.onceListeners.delete(e),n.forEach(n=>{try{n(t)}catch(t){console.error(`[ComponentManager] Error in once listener for "${e}":`,t)}})}}emitInternal(e,t){this.emit(e,t)}expandForSidePanel(e){this.containerRef?.expandForSidePanel&&this.containerRef.expandForSidePanel(e)}getConfig(){return this.config}getRegisteredEvents(){let e=new Set;return this.listeners.forEach((t,n)=>e.add(n)),this.onceListeners.forEach((t,n)=>e.add(n)),Array.from(e)}handleDragging(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`dragging`,e)}handleDragStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`drag-stop`,e)}handleNimbusClick(){this.emit(`nimbus-click`,{}),this.showPanel()}handlePopupClick(){this.emit(`popup-click`,{}),this.showPanel()}handlePopupShortcutClick(e){this.emit(`popup-shortcut-click`,{shortcut:e}),this.emit(`shortcut-click`,{shortcut:e,source:`popup`})}handleResizeStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`resize-stop`,e)}handleResizing(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`resizing`,e)}handleShortcutClick(e,t){this.emit(`shortcut-click`,{shortcut:e,source:t})}hasListeners(e){return this.listenerCount(e)>0}hidePanel(){this._panelVisible.value=!1,this.emit(`panel-hide`,{})}listenerCount(e){return(this.listeners.get(e)?.size??0)+(this.onceListeners.get(e)?.size??0)}minimizeNimbus(){this._nimbusMinimized.value=!0,this.emit(`nimbus-minimize`,{})}off(e,t){t?(this.listeners.get(e)?.delete(t),this.onceListeners.get(e)?.delete(t),this.debugMode&&console.debug(`[ComponentManager] Unsubscribed from "${e}", remaining: ${this.listenerCount(e)}`)):(this.listeners.delete(e),this.onceListeners.delete(e),this.debugMode&&console.debug(`[ComponentManager] Removed all listeners for "${e}"`))}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),this.debugMode&&console.debug(`[ComponentManager] Subscribed to "${e}", total: ${this.listenerCount(e)}`),()=>{this.off(e,t)}}once(e,t){return this.onceListeners.has(e)||this.onceListeners.set(e,new Set),this.onceListeners.get(e).add(t),this.debugMode&&console.debug(`[ComponentManager] Subscribed once to "${e}"`),()=>{this.onceListeners.get(e)?.delete(t)}}restoreNimbus(){this._nimbusMinimized.value=!1,this.emit(`nimbus-restore`,{})}setCompressed(e){this._isCompressed.value=e}setContainerRef(e){this.containerRef=e,e?.isCompressed&&(this._isCompressed.value=e.isCompressed.value)}setDebugMode(e){this.debugMode=e}setDraggingOrResizing(e){this._isDraggingOrResizing.value=e}showPanel(e){this._panelVisible.value=!0,this.emit(`panel-show`,{sessionCode:e})}toggleCompression(){this.containerRef?this.containerRef.toggleCompression():this._isCompressed.value=!this._isCompressed.value}toggleNimbus(){this._nimbusMinimized.value?this.restoreNimbus():this.minimizeNimbus()}togglePanel(){this._panelVisible.value?this.hidePanel():this.showPanel()}updatePosition(e,t){this._positionAndSize.value={...this._positionAndSize.value,x:e,y:t}}updatePositionAndSize(e,t,n,r){this._positionAndSize.value={x:e,y:t,width:n,height:r}}updateSize(e,t){this._positionAndSize.value={...this._positionAndSize.value,width:e,height:t}}};function Pt(e){return new Nt(e)}var Ft={"panel-show":`show`,"panel-hide":`close`,"panel-toggle":null,"nimbus-click":null,"nimbus-minimize":null,"nimbus-restore":null,"popup-click":null,"popup-shortcut-click":null,dragging:`dragging`,resizing:`resizing`,"drag-stop":`drag-stop`,"resize-stop":`resize-stop`,"compression-toggle":null,"side-panel-expand":null,"side-panel-collapse":null,"send-message":`send-message`,"receive-start":`receive-start`,"receive-text":`receive-text`,"receive-end":`receive-end`,"receive-error":null,stop:`stop`,"chat-regenerate":null,"chat-retry":null,"message-deleted":null,"messages-batch-deleted":null,"session-created":null,"session-switched":null,"session-deleted":null,"session-updated":null,"sessions-loaded":null,"session-initialized":`session-initialized`,"session-error":null,"shortcut-click":`shortcut-click`,"chat-error":null,"sdk-error":`sdk-error`,"new-chat":`new-chat`,"new-chat-created":`new-chat-created`,"history-click":`history-click`,"auto-generate-name":`auto-generate-name`,"help-click":`help-click`,rename:`rename`,share:`share`,close:`close`,"toggle-compression":null,"transfer-messages":`transfer-messages`,"share-messages":`share-messages`,"agent-info-loaded":null,error:null};function It(e,t){switch(e){case`send-message`:return[t.content];case`rename`:return[t.newName];case`history-click`:return[t.event];case`dragging`:case`resizing`:case`drag-stop`:case`resize-stop`:case`shortcut-click`:case`session-initialized`:case`sdk-error`:case`transfer-messages`:case`share-messages`:case`new-chat-created`:return[t];case`panel-show`:case`panel-hide`:case`receive-start`:case`receive-text`:case`receive-end`:case`stop`:case`new-chat`:case`auto-generate-name`:case`help-click`:case`share`:case`close`:return[];default:return[t]}}var Lt=class{_selectedMessageIds;_isSelectionMode;_editingSessionCode;_loadingStates;constructor(){this._selectedMessageIds=(0,t.ref)(new Set),this._isSelectionMode=(0,t.ref)(!1),this._editingSessionCode=(0,t.ref)(null),this._loadingStates=(0,t.reactive)({})}get isSelectionMode(){return this._isSelectionMode}get editingSessionCode(){return this._editingSessionCode}toggleSelectionMode(){this._isSelectionMode.value=!this._isSelectionMode.value,this._isSelectionMode.value||this.clearSelection()}enableSelectionMode(){this._isSelectionMode.value=!0}disableSelectionMode(){this._isSelectionMode.value=!1,this.clearSelection()}toggleMessageSelection(e){this._selectedMessageIds.value.has(e)?this._selectedMessageIds.value.delete(e):this._selectedMessageIds.value.add(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}selectMessage(e){this._selectedMessageIds.value.add(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}deselectMessage(e){this._selectedMessageIds.value.delete(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}isMessageSelected(e){return this._selectedMessageIds.value.has(e)}clearSelection(){this._selectedMessageIds.value.clear(),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}selectAllMessages(e){this._selectedMessageIds.value=new Set(e)}get selectedMessages(){return Array.from(this._selectedMessageIds.value)}get selectedCount(){return this._selectedMessageIds.value.size}get hasSelection(){return this._selectedMessageIds.value.size>0}startEditingSession(e){this._editingSessionCode.value=e}stopEditingSession(){this._editingSessionCode.value=null}isEditingSession(e){return e?this._editingSessionCode.value===e:this._editingSessionCode.value!==null}setLoading(e,t){this._loadingStates[e]=t}isLoading(e){return this._loadingStates[e]??!1}clearLoadingStates(){Object.keys(this._loadingStates).forEach(e=>{this._loadingStates[e]=!1})}reset(){this.clearSelection(),this.disableSelectionMode(),this.stopEditingSession(),this.clearLoadingStates()}},Rt=class extends Error{constructor(){super(`[ChatBot] Initialization was superseded by a newer init`),this.name=`ChatBotInitStaleError`}};function zt(e){let{props:n,emit:r,reportError:i,managerErrorBridge:a}=e,o=(0,t.shallowRef)(null),s=(0,t.shallowRef)(null),c=(0,t.shallowRef)(null),l=(0,t.shallowRef)(null),u=(0,t.ref)(!1),d=(0,t.ref)(!n.chatHelper),f=(0,t.ref)(null),p=(0,t.computed)(()=>u.value),m=()=>n.chatHelper?!n.chatHelper.agent||!n.chatHelper.session||!n.chatHelper.message?{valid:!1,error:`[ChatBot] Invalid chatHelper: missing required modules (agent, session, message)`}:{valid:!0}:n.url?{valid:!0}:{valid:!1,error:`[ChatBot] Neither chatHelper nor url provided. Component requires at least one.`},h=()=>{let e=m();if(!e.valid)return console.error(e.error),f.value=Error(e.error),null;if(n.chatHelper)return n.chatHelper;let a=new N({onStart:()=>{r(`receive-start`)},onMessage:e=>{r(`receive-text`)},onDone:()=>{r(`receive-end`)},onError:e=>{i(e,`Stream error`)}}),o=X({requestData:Ne(We(n.url),()=>(0,t.toValue)(n.requestOptions)),protocol:a});return a.injectMessageModule(o.message),o},g=async(e,t)=>{if(e)try{let n=e.session.current?.value?.sessionCode??``;await e.agent.stopChat(n),t&&e.agent.abortChat()}catch{}},_=0,v=null,y=null,b=null,x=e=>{b&&=(e?b.reject(e):b.resolve(),null),v=null},S=e=>{if(e!==_)throw new Rt},C=async e=>{let t=o.value,p=d.value;u.value=!1,f.value=null,d.value=!n.chatHelper,await g(t,p),S(e),o.value=null,s.value=null,c.value=null,l.value=null;let m=h();if(!m)throw f.value??Error(`[ChatBot] Failed to create chatHelper`);let _=new At(m.session,m.agent,a,{enableChatSession:!0,autoSwitchToInitialSession:!!n.sessionCode,loadRecentSessionOnMount:n.autoLoad,initialSessionCode:n.sessionCode,alwaysCreateNewSession:n.alwaysCreateNewSession},m.message),v=new kt(m.agent,m.message,m.session,a,{openingRemark:n.helloText,predefinedQuestions:n.prompts,placeholder:n.placeholder,onSessionRenamed:e=>r(`rename`,e)}),y=new Mt(null,n.shortcuts||[]);o.value=m,s.value=_,c.value=v,l.value=y;try{d.value&&(await Ot(m,{enableModelSelect:n.enableModelSelect!==!1&&!n.models?.length}),S(e),await _.loadRecentSession({skipLoadSessions:!0}),S(e)),n.enableModelSelect!==!1&&(n.models?.length?v.setModels(n.models):await v.loadModels(),S(e)),S(e),u.value=!0,r(`agent-info-loaded`,m)}catch(t){throw S(e),f.value=i(t,`Failed to initialize ChatBot`),t}},w=()=>{x(new Rt),y=null;let e=++_;v=new Promise((t,n)=>{b={resolve:t,reject:n},C(e).then(()=>{b&&=(y=Promise.resolve(),b.resolve(),null)}).catch(e=>{b&&=(b.reject(Ve(e)),null)}).finally(()=>{e===_&&(v=null)})}),v.catch(()=>{})};return(0,t.watch)([()=>n.url,()=>n.chatHelper],()=>w(),{immediate:!0}),(0,t.onBeforeUnmount)(()=>{x(),g(o.value,d.value)}),{chatHelper:o,isStandaloneMode:d,isInitialized:u,isReady:p,initError:f,whenReady:()=>u.value?(y||=Promise.resolve(),y):f.value?Promise.reject(f.value):v||Promise.resolve(),chatBusinessManager:c,sessionBusinessManager:s,shortcutManager:l}}function Bt(e){let{props:r,chatHelper:i,chatBusinessManager:a,sessionBusinessManager:o,shortcutManager:s,isStandaloneMode:c,isInitialized:l,selectedShortcut:u}=e,d=(0,t.computed)(()=>a.value?.isStopLoading.value?n.MessageStatus.StopLoading:((r.chatHelper||i.value)?.agent)?.isChatting?.value?n.MessageStatus.Streaming:n.MessageStatus.Complete),f=(0,t.computed)(()=>d.value===n.MessageStatus.Streaming?n.MessageToolsStatus.Disabled:void 0),p=(0,t.computed)(()=>a.value?.messages.value??[]),m=(0,t.computed)(()=>a.value?.isMessagesLoading.value??!1);return{messageStatus:d,messageToolsStatus:f,messages:p,isMessagesLoading:m,isGenerating:(0,t.computed)(()=>a.value?.isGenerating.value??!1),currentSession:(0,t.computed)(()=>o.value?.currentSession.value??null),isWelcomeState:(0,t.computed)(()=>c.value&&!l.value?!1:!m.value&&p.value.length===0),openingRemark:(0,t.computed)(()=>i.value?.agent.info.value?.conversationSettings?.openingRemark||``),effectiveResources:(0,t.computed)(()=>r.resources?.length?r.resources:i.value?.agent.info.value?.resources??[]),effectivePrompts:(0,t.computed)(()=>r.prompts?.length?r.prompts:i.value?.agent.info.value?.conversationSettings?.predefinedQuestions??[]),effectiveSkills:(0,t.computed)(()=>r.skills?.length?r.skills:(i.value?.agent.info.value?.relatedSkills??[]).map(e=>({skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon}))),effectiveSupportUpload:(0,t.computed)(()=>u.value?.supportUpload?u.value.supportUpload.vision===!0:a.value?.selectedModelSupportsVision.value??!1),chatbotStyle:(0,t.computed)(()=>({height:typeof r.height==`number`?`${r.height}px`:r.height,maxWidth:typeof r.maxWidth==`number`?`${r.maxWidth}px`:r.maxWidth})),filteredShortcuts:(0,t.computed)(()=>s.value?.shortcuts.value??[])}}var Vt=new Set([`chat-error`,`receive-error`,`session-error`]);function Ht(e,n={}){let i=new WeakSet,a=(a,o)=>{let s=Ve(a);return i.has(s)?s:(i.add(s),console.error(o?`[ChatBot] ${o}:`:`[ChatBot] error:`,a),e(`error`,s),(0,t.toValue)(n.errorToast)!==!1&&(0,r.Message)({message:s.message||Z(`请求失败`),theme:`error`}),s)};return{managerErrorBridge:{emit:(e,t)=>{Vt.has(e)&&a(t?.error)}},reportError:a}}var Ut={[n.InterruptResumeOperation.ApprovalCancel]:w.ApprovalCancel,[n.InterruptResumeOperation.FlowNodeRetry]:w.FlowNodeRetry,[n.InterruptResumeOperation.FlowNodeSkip]:w.FlowNodeSkip};function Wt(e){return`operation`in e}function Gt(e){return`interruptId`in e&&`reason`in e&&e.reason===n.InterruptReason.UserQuestion}function Kt(e){return e===`cancelled`?M.Cancelled:M.Resolved}function qt(e){let t=e?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot resume interrupt: no active session`);return t}function Jt(e){return{interruptId:e.interruptId,status:Kt(e.status),payload:e.payload}}function Yt(e){let{chatHelper:t,reportError:r}=e,i=async e=>{let r=t.value;if(!r)throw Error(`[ChatBot] Cannot resume interrupt: chatHelper not initialized`);if(!Wt(e))throw Error(`[ChatBot] Unsupported interrupt resume payload`);let i=qt(r);if(e.operation===n.InterruptResumeOperation.ApprovalRefresh){r.agent.pollResumeSession(i);return}let a=Ut[e.operation];if(!a)throw Error(`[ChatBot] Unsupported interrupt resume operation: ${e.operation}`);let o=r.agent;if(e.operation===n.InterruptResumeOperation.ApprovalCancel){await o.userOperationStreamRequest(i,a,{interrupt_id:e.payload.interrupt_id});return}(e.operation===n.InterruptResumeOperation.FlowNodeRetry||e.operation===n.InterruptResumeOperation.FlowNodeSkip)&&await o.userOperationStreamRequest(i,a,{node_id:e.payload.node_id,task_id:String(e.payload.task_id)})},a=async(e,n)=>{let r=t.value;if(!r)throw Error(`[ChatBot] Cannot resume interrupt: chatHelper not initialized`);let i=qt(r);await r.agent.streamRequest({sessionCode:i,resume:Jt(e),...n?{input:n}:{}})};return{handleInterruptResume:async(e,t)=>{try{if(Wt(e)){await i(e);return}if(Gt(e)){await a(e);return}throw Error(`[ChatBot] Unsupported interrupt resume payload`)}catch(e){r(e,`Failed to handle interrupt resume`)}},resumeUserQuestionWithInput:async(e,t)=>{try{if(!t.payload||!Gt(t.payload))throw Error(`[ChatBot] Invalid user question resume options`);let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`[ChatBot] User question free text input is empty`);await a(t.payload,n)}catch(e){r(e,`Failed to resume user question with input`)}}}}function Xt(e){let{emit:n,chatHelper:r,chatBusinessManager:i,getRequestOptions:a,reportError:o,resumeUserQuestionWithInput:s,selectedShortcut:c,selectedResources:l}=e,u=(0,t.shallowRef)([[]]),d=(0,t.shallowRef)(``),f=(e,t)=>{u.value=e,l.value=t},p=async(e,t={})=>{if(!i.value||!r.value)throw Error(`[ChatBot] Cannot send message: chatBusinessManager not initialized`);let o=r.value.session.current?.value?.sessionCode;if(!o)throw Error(`[ChatBot] Cannot send message: no active session`);u.value=[[]],d.value=``,l.value=[],n(`send-message`,typeof e==`string`?e:``);let s=Fe(t.property,a);await i.value.sendMessage(e,o,{...t,...s?{property:s}:{}})},m=async e=>{let t=r.value?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot upload: no active session`);let n=await r.value.session.uploadFile(t,e);if(!n?.download_url)throw Error(`[ChatBot] Upload failed: no download URL returned`);return n},h=async e=>{let t=r.value?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot resolve artifact URL: no active session`);let n=await r.value.session.getPvFileDownloadUrl(t,e.outputId);return{download_url:n?.download_url,preview_url:n?.preview_url}},g=async(e,t,n)=>{try{if(n?.payload&&s){u.value=[[]],d.value=``,l.value=[],await s(e,n);return}let t={};d.value&&(t.cite=d.value),c.value&&(t.command=c.value.id),l.value.length&&(t.resources=l.value),await p(e,Object.keys(t).length?{property:{extra:t}}:{})}catch(e){o(e,`Failed to send message`)}},_=async()=>{await v()},v=async()=>{if(!i.value){console.error(`[ChatBot] Cannot stop generation: chatBusinessManager not initialized`);return}try{await i.value.stopGeneration(),n(`stop`)}catch(e){o(e,`Failed to stop generation`)}};return{userInput:u,cite:d,handleUpdateModelValue:f,doSendMessage:p,handleSendMessage:g,handleArtifactClick:h,handleUpload:m,handleStopSending:_,stopGeneration:v}}var Zt=e=>!e||e.id===`share`;function Qt(e){let{emit:t,chatHelper:n,isStandaloneMode:i}=e,a=async e=>{if(!(!n.value||e.length===0))try{await Ge((await new jt(n.value.message,n.value.session).shareMessages(e)).shareUrl),(0,r.Message)({message:`分享链接已复制到剪贴板`,theme:`success`})}catch(e){console.error(`[ChatBot] Failed to share messages:`,e),(0,r.Message)({message:`分享失败,请重试`,theme:`error`})}};return{handleConfirmShare:async(e,n)=>{i.value&&Zt(n)&&await a(e),t(`confirm-share`,e,n)}}}function $t(e){let{props:n,emit:r,shortcutManager:i,doSendMessage:a,reportError:o,selectedShortcut:s}=e,c=(0,t.computed)(()=>i.value?.effectiveShortcuts.value??[]),l=(e,t)=>{let n=e,r;if(r=n.enable_fill_back&&n.fill_back_component_key?n.fill_back_component_key:n.components?.find(e=>e.fillBack)?.key,r&&t){let e=n.components?.map(e=>e.key===r?{...e,default:t}:{...e,default:e.default??void 0});s.value={...n,components:e,formModel:{...n.formModel,[r]:t}}}else s.value={...n,formModel:{...n.formModel}}},u=(e,t)=>{let n=e.components||[];return{extra:{cite:{type:`structured`,title:e.alias||e.name,data:n.map(e=>({key:e.name||e.key,value:String(t[e.key]??``)}))},command:e.id,context:n.map(e=>({[e.key]:t[e.key],context_type:e.type,__label:e.name||e.key,__key:e.key,__value:t[e.key]}))}}},d=e=>{let t=e.property?.extra;return t?.shortcut?t.shortcut:t?.command?c.value.find(e=>e.id===t.command)??null:null},f=(e,t)=>{l(e,t),r(`shortcut-click`,{shortcut:e,source:`main`})},p=()=>{s.value=null};return(0,t.watch)(()=>n.shortcuts,e=>{i.value?.setShortcuts(e||[])},{immediate:!0}),(0,t.watch)(()=>e.chatHelper.value?.agent.info.value?.conversationSettings?.commands,e=>{e&&i.value?.setAgentShortcuts(e)},{immediate:!0}),{effectiveShortcuts:c,selectShortcutWithText:l,buildShortcutProperty:u,getShortcutFromMessage:d,handleSelectShortcut:f,handleCloseShortcut:p,handleShortcutSubmit:async e=>{if(!s.value){console.error(`[ChatBot] No selected shortcut`);return}let t=u(s.value,e),n=s.value.name,r=s.value;p();try{await a(n,{property:t})}catch(e){s.value=r,o(e,`Failed to submit shortcut`)}},sendShortcutDirectly:async(e,t)=>{let n=e,r={...n.formModel},i=n.components||[];for(let e of i)e.key in r||(r[e.key]=e.default??``);let s;s=n.enable_fill_back&&n.fill_back_component_key?n.fill_back_component_key:i.find(e=>e.fillBack)?.key,s&&t&&(r[s]=t);let c=u(n,r),l=n.name;try{await a(l,{property:c})}catch(e){o(e,`Failed to send shortcut directly`)}}}}function en(e){let{emit:t,chatHelper:r,chatBusinessManager:i,cite:a,focusInput:o,getShortcutFromMessage:s,buildShortcutProperty:c,getRequestOptions:l,reportError:u,stopGeneration:d}=e,f=async e=>{if(!i.value||!r.value){console.error(`[ChatBot] Cannot delete messages: chatBusinessManager not initialized`);return}try{let t=i.value.messages.value,n=Re(t,e[0]);if(!n){console.error(`[ChatBot] No user message found before AI messages`);return}let a=[n,...e];await r.value.message.deleteMessages(a)}catch(e){u(e,`Failed to delete messages`)}},p=async e=>{if(!i.value||!r.value){console.error(`[ChatBot] Cannot regenerate: chatBusinessManager not initialized`);return}let t=r.value.session.current?.value?.sessionCode;if(!t){console.error(`[ChatBot] Cannot regenerate: no active session`);return}try{await i.value.regenerateFromAIMessages(e,t)}catch(e){u(e,`Failed to regenerate`)}},m=async e=>{if(!i.value||!r.value){console.error(`[ChatBot] Cannot delete message: chatHelper not initialized`);return}try{let t=i.value.messages.value,a=t.findIndex(t=>t===e);if(a===-1){console.error(`[ChatBot] User message not found in messages list`);return}let o=[];for(let e=a+1;e<t.length;e++){let r=t[e];if(r.role===n.MessageRole.User)break;o.push(r)}let s=[e,...o];await r.value.message.deleteMessages(s)}catch(e){u(e,`Failed to delete user message`)}};return{handleAgentAction:async(e,i)=>{if(e.id===`cite`){a.value=i.filter(e=>e.role!==n.MessageRole.Reasoning).map(e=>typeof e.content==`string`?e.content:JSON.stringify(e.content||``)).join(`
6
- `),o();return}if(e.id===`rebuild`){await p(i);return}if(e.id===`delete`){await f(i);return}if(e.id===`like`||e.id===`unlike`){let t=e.id===`like`?5:0;try{return await r.value?.session.getSessionFeedbackReasons(t)||[]}catch(e){return console.error(`[ChatBot] Failed to get feedback reasons:`,e),[]}}t(`agent-action`,e,i)},handleAgentFeedback:async(e,n,a,o)=>{if(!r.value){console.error(`[ChatBot] Cannot submit feedback: chatHelper not initialized`);return}let s=r.value.session.current?.value?.sessionCode;if(!s){console.error(`[ChatBot] Cannot submit feedback: no active session`);return}let c=ze(i.value?.messages.value||[],n[0]);if(c===void 0){console.error(`[ChatBot] Cannot submit feedback: no user message found`);return}let l=e.id===`like`?5:0;try{await r.value.session.postSessionFeedback({sessionCode:s,sessionContentIds:[c],rate:l,labels:a,comment:o}),t(`feedback`,e,n[0],a,o)}catch(e){u(e,`Failed to submit feedback`)}},handleUserAction:async(e,t)=>{if(e.id===`delete`){await m(t);return}if(e.id===`cite`){a.value=typeof t.content==`string`?t.content:JSON.stringify(t.content||``),o();return}console.log(`handleUserAction`,e,t)},handleUserInputConfirm:async(e,t,n)=>{if(!r.value){console.error(`[ChatBot] Cannot edit message: chatHelper not initialized`);return}let a=r.value.session.current?.value?.sessionCode;if(!a){console.error(`[ChatBot] Cannot edit message: no active session`);return}let o=e.id;if(o===void 0){console.error(`[ChatBot] Cannot edit message: message has no id`);return}try{let n=e.property,r=Fe(n,l);await i.value?.resendMessageWithProperty(String(o),a,typeof t==`string`?t:``,r)}catch(e){u(e,`Failed to edit and resend message`)}},handleUserShortcutConfirm:async(e,t)=>{if(!i.value||!r.value){console.error(`[ChatBot] Cannot edit shortcut message: chatHelper not initialized`);return}let n=r.value.session.current?.value?.sessionCode;if(!n){console.error(`[ChatBot] Cannot edit shortcut message: no active session`);return}let a=e.id;if(a===void 0){console.error(`[ChatBot] Cannot edit shortcut message: message has no id`);return}try{let r=s(e);if(!r){console.error(`[ChatBot] Cannot edit shortcut message: shortcut not found`);return}let o=Fe(c(r,t),l),u=String(t.input??``);await i.value.resendMessageWithProperty(String(a),n,u,o)}catch(e){u(e,`Failed to edit shortcut message`)}},handleStopStreaming:d}}var tn=(0,t.defineComponent)({__name:`chat-bot`,props:{autoLoad:{type:Boolean,default:!0},alwaysCreateNewSession:{type:Boolean},chatHelper:{default:void 0},enableSelection:{type:Boolean,default:!1},enableModelSelect:{type:Boolean,default:!0},errorToast:{type:Boolean,default:!0},models:{default:void 0},executionTabVisible:{type:Boolean},renderMode:{default:n.RenderMode.Chat},extCls:{},height:{},helloText:{},useAgentName:{type:Boolean,default:!1},maxWidth:{},messageToolsTippyOptions:{},messageTools:{},updateTools:{},placeholder:{},prompts:{},requestOptions:{},resources:{default:()=>[]},sessionCode:{},shareLoading:{type:Boolean,default:!1},shortcuts:{default:()=>[]},skills:{},url:{default:``},placement:{default:`left`},resizeProps:{},size:{},getSideRenderComponent:{},getSideTabRenderComponent:{},onCustomTabChange:{}},emits:[`agent-action`,`agent-info-loaded`,`cancel-share`,`confirm-share`,`error`,`execution-panel-change`,`feedback`,`receive-end`,`receive-start`,`receive-text`,`rename`,`request-share`,`send-message`,`session-switched`,`shortcut-click`,`stop`],setup(e,{expose:r,emit:i}){let a=e,o={initialDivide:560,min:400},s=(0,t.computed)(()=>({...o,...a.resizeProps})),c=i,l=(0,t.useSlots)(),u=(0,t.ref)(),d=(0,t.ref)(),f=(0,t.shallowRef)([]),p=(0,t.ref)(null),m=(0,t.computed)({get:()=>a.renderMode??n.RenderMode.Chat,set:()=>{}}),h=(0,t.computed)(()=>T.value?.selectedLlmCode.value),g=()=>{d.value?.focus?.()},{reportError:_,managerErrorBridge:v}=Ht(c,{errorToast:()=>a.errorToast}),{chatHelper:y,isStandaloneMode:b,isInitialized:x,isReady:S,initError:C,whenReady:w,chatBusinessManager:T,sessionBusinessManager:E,shortcutManager:D}=zt({props:a,emit:c,reportError:_,managerErrorBridge:v}),{handleInterruptResume:O,resumeUserQuestionWithInput:k}=Yt({chatHelper:y,reportError:_}),{userInput:A,cite:j,handleUpdateModelValue:M,doSendMessage:N,handleSendMessage:P,handleUpload:ee,handleArtifactClick:F,handleStopSending:I,stopGeneration:L}=Xt({emit:c,chatHelper:y,chatBusinessManager:T,getRequestOptions:()=>a.requestOptions,reportError:_,resumeUserQuestionWithInput:k,selectedShortcut:p,selectedResources:f}),{handleSelectShortcut:R,handleCloseShortcut:z,handleShortcutSubmit:te,selectShortcutWithText:B,getShortcutFromMessage:V,buildShortcutProperty:H,sendShortcutDirectly:U}=$t({props:a,emit:c,chatHelper:y,shortcutManager:D,doSendMessage:N,reportError:_,selectedShortcut:p}),{messageStatus:W,messageToolsStatus:ne,messages:G,isMessagesLoading:re,isGenerating:ie,currentSession:K,isWelcomeState:ae,openingRemark:oe,effectiveResources:se,effectivePrompts:ce,effectiveSkills:le,effectiveSupportUpload:ue,chatbotStyle:de,filteredShortcuts:fe}=Bt({props:a,chatHelper:y,chatBusinessManager:T,sessionBusinessManager:E,shortcutManager:D,isStandaloneMode:b,isInitialized:x,selectedShortcut:p}),{handleAgentAction:pe,handleAgentFeedback:q,handleUserAction:J,handleUserInputConfirm:me,handleUserShortcutConfirm:Y,handleStopStreaming:he}=en({emit:c,chatHelper:y,chatBusinessManager:T,cite:j,focusInput:g,getShortcutFromMessage:V,buildShortcutProperty:H,getRequestOptions:()=>a.requestOptions,reportError:_,stopGeneration:L}),ge=(0,t.computed)(()=>!x.value||re.value),_e=(0,t.computed)(()=>{if(a.useAgentName)return y.value?.agent.info.value?.agentName||void 0}),ve=(0,t.computed)(()=>{if(a.enableModelSelect===!1)return;let e=T.value?.models.value??[];return e.length>0?e:void 0}),ye=(0,t.computed)({get:()=>T.value?.selectedModelName.value??``,set:e=>{T.value?.setSelectedModelByName(e)}}),be=e=>{T.value?.setSelectedModel(e)};(0,t.watch)(()=>a.models,e=>{a.enableModelSelect===!1||!T.value||e?.length&&T.value.setModels(e)});let{handleConfirmShare:xe}=Qt({emit:c,chatHelper:y,isStandaloneMode:b}),Se=(e,t)=>{c(`execution-panel-change`,e,t)},Ce=async e=>{if(a.onCustomTabChange)return a.onCustomTabChange(e);let t=e.data?.props;if(t?.task_id!=null&&t?.node_id)return y.value?.message.getFlowAgentTaskNodeInfo(t.task_id,t.node_id)};return r({sendMessage:e=>P(e,[[]]),stopGeneration:L,switchSession:async e=>{if(!E.value){console.error(`[ChatBot] Cannot switch session: sessionBusinessManager not initialized`);return}try{await E.value.switchSession(e),c(`session-switched`,E.value.currentSession.value)}catch(e){_(e,`Failed to switch session`)}},messages:G,currentSession:K,isGenerating:ie,get isReady(){return S.value},whenReady:w,getChatHelper:()=>y.value,setCiteText:e=>{j.value=e},focusInput:g,enterShareMode:()=>u.value?.enterShareMode(),exitShareMode:()=>u.value?.exitShareMode(),selectShortcut:(e,t)=>{B(e,t)},sendShortcut:(e,t)=>U(e,t),updateAgentInfo:async()=>{let e=y.value;if(!e)return null;try{await e.agent.getAgentInfo();let t=e.agent.info.value??null;return t?.conversationSettings?.commands&&D.value?.setAgentShortcuts(t.conversationSettings.commands),t}catch(e){return _(e,`Failed to update agentInfo`),null}},selectedLlmCode:h}),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`ai-chatbot`,a.extCls,{"welcome-state":(0,t.unref)(ae)}]),style:(0,t.normalizeStyle)((0,t.unref)(de))},[(0,t.createVNode)((0,t.unref)(n.ChatContainer),{ref_key:`chatContainerRef`,ref:u,cite:(0,t.unref)(j),"onUpdate:cite":i[0]||=e=>(0,t.isRef)(j)?j.value=e:null,"selected-shortcut":p.value,"onUpdate:selectedShortcut":i[1]||=e=>p.value=e,"selected-model":ye.value,"onUpdate:selectedModel":i[2]||=e=>ye.value=e,"render-mode":m.value,"onUpdate:renderMode":i[3]||=e=>m.value=e,"chat-loading":ge.value,"common-tippy-options":e.messageToolsTippyOptions,"execution-tab-visible":a.executionTabVisible,"message-status":(0,t.unref)(W),"message-tools":a.messageTools,"message-tools-status":(0,t.unref)(ne),messages:(0,t.unref)(G),"model-value":(0,t.unref)(A),models:ve.value,"on-agent-action":(0,t.unref)(pe),"on-agent-feedback":(0,t.unref)(q),"on-interrupt-resume":(0,t.unref)(O),"get-side-render-component":a.getSideRenderComponent,"get-side-tab-render-component":a.getSideTabRenderComponent,"on-custom-tab-change":Ce,"on-send-message":(0,t.unref)(P),"on-stop-sending":(0,t.unref)(I),"on-artifact-click":(0,t.unref)(F),"on-upload":(0,t.unref)(ee),"on-user-action":(0,t.unref)(J),"on-user-input-confirm":(0,t.unref)(me),"on-user-shortcut-confirm":(0,t.unref)(Y),"opening-remark":(0,t.unref)(oe),placeholder:a.placeholder,placement:a.placement,"welcome-title":_e.value,prompts:(0,t.unref)(ce),"resize-props":s.value,size:a.size,resources:(0,t.unref)(se),"shortcut-id":p.value?.id,shortcuts:(0,t.unref)(fe),skills:(0,t.unref)(le),"support-upload":(0,t.unref)(ue),"update-tools":a.updateTools,onCollapseChange:Se,onConfirmShare:(0,t.unref)(xe),onDeleteShortcut:(0,t.unref)(z),onModelChange:be,onSelectShortcut:(0,t.unref)(R),onShortcutClose:(0,t.unref)(z),onShortcutSubmit:(0,t.unref)(te),onStopStreaming:(0,t.unref)(he),"onUpdate:modelValue":(0,t.unref)(M)},(0,t.createSlots)({message:(0,t.withCtx)(({message:i,messageToolsStatus:a,onInterruptResume:o})=>[(0,t.createCommentVNode)(` 消费方提供了 #message slot 时,优先使用消费方的渲染 `),(0,t.unref)(l).message?(0,t.renderSlot)(r.$slots,`message`,{key:0,message:i,messageToolsStatus:a,onInterruptResume:o}):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createCommentVNode)(` 否则使用默认的 MessageRender `),(0,t.createVNode)((0,t.unref)(n.MessageRender),{message:i,"message-tools-status":a,"on-action":e=>(0,t.unref)(J)(e,i),"on-input-confirm":(e,n)=>(0,t.unref)(me)(i,e,n),"on-interrupt-resume":o,"on-shortcut-confirm":e=>(0,t.unref)(Y)(i,e),"tippy-options":e.messageToolsTippyOptions},(0,t.createSlots)({_:2},[r.$slots.codeHeader?{name:`codeHeader`,fn:(0,t.withCtx)(e=>[(0,t.renderSlot)(r.$slots,`codeHeader`,(0,t.normalizeProps)((0,t.guardReactiveProps)(e)))]),key:`0`}:void 0]),1032,[`message`,`message-tools-status`,`on-action`,`on-input-confirm`,`on-interrupt-resume`,`on-shortcut-confirm`,`tippy-options`])],2112))]),_:2},[r.$slots.welcome?{name:`welcome`,fn:(0,t.withCtx)(e=>[(0,t.renderSlot)(r.$slots,`welcome`,(0,t.normalizeProps)((0,t.guardReactiveProps)(e)))]),key:`0`}:void 0]),1032,`cite.selected-shortcut.selected-model.render-mode.chat-loading.common-tippy-options.execution-tab-visible.message-status.message-tools.message-tools-status.messages.model-value.models.on-agent-action.on-agent-feedback.on-interrupt-resume.get-side-render-component.get-side-tab-render-component.on-send-message.on-stop-sending.on-artifact-click.on-upload.on-user-action.on-user-input-confirm.on-user-shortcut-confirm.opening-remark.placeholder.placement.welcome-title.prompts.resize-props.size.resources.shortcut-id.shortcuts.skills.support-upload.update-tools.onConfirmShare.onDeleteShortcut.onSelectShortcut.onShortcutClose.onShortcutSubmit.onStopStreaming.onUpdate:modelValue`.split(`.`))],6))}}),$=function(e){return e.ERROR=`error`,e.IDLE=`idle`,e.LOADING_AGENT=`loading_agent`,e.READY=`ready`,e}({});function nn(e){let{url:n,requestOptions:r,autoInit:i=!0,protocolCallbacks:a,enableModelSelect:o=!0}=e,s=(0,t.toValue)(n);if(!s)throw Error(`[useChatBootstrap] url is required`);let c=(0,t.ref)($.IDLE),l=(0,t.ref)(null),u=(0,t.ref)(!1),d=new Map,f=new N({onStart:()=>{a?.onStart?.()},onMessage:e=>{a?.onMessage?.(e)},onDone:()=>{a?.onDone?.()},onError:e=>{a?.onError?.(e)}}),p=X({requestData:Ne(s,r),protocol:f});f.injectMessageModule(p.message);let m=(0,t.computed)(()=>c.value===$.LOADING_AGENT),h=(0,t.computed)(()=>c.value===$.READY),g=(0,t.computed)(()=>p.agent.info.value??null),_=(0,t.computed)(()=>g.value?.agentName??``),v=(0,t.computed)(()=>p.session.current.value??null),y=(0,t.computed)(()=>p.session.list.value??[]),b=null,x=0,S=async e=>{l.value=null;try{if(c.value=$.LOADING_AGENT,await Ot(p,{enableModelSelect:o}),e!==x)return;c.value=$.READY,u.value=!0}catch(t){if(e!==x)return;throw console.error(`[useChatBootstrap] Initialization failed:`,t),l.value=t,c.value=$.ERROR,t}},C=async()=>{if(u.value)return;if(b)return b;let e=x;return b=S(e).finally(()=>{e===x&&(b=null)}),b},w=()=>{x+=1,c.value=$.IDLE,l.value=null,u.value=!1,b=null},T=async()=>{w(),await C()},E=async e=>{w();let t=p.http;t?.updateConfig?t.updateConfig({urlPrefix:e}):console.warn(`[useChatBootstrap] chatHelper.http.updateConfig is not implemented yet, URL change may not take effect`),await C()};return(0,t.watch)(()=>(0,t.toValue)(n),(e,t)=>{e&&e!==t&&t&&E(e).catch(()=>{})}),i&&Promise.resolve().then(()=>{C().catch(()=>{})}),{chatHelper:p,protocol:f,phase:c,isInitializing:m,isReady:h,error:l,agentInfo:g,agentName:_,currentSession:v,sessionList:y,initialize:C,retry:T,updateConfig:E,registerExtension:(e,t)=>{d.set(e,t)},getExtension:e=>d.get(e)}}function rn(e){return{sendMessage:t=>e(`send-message`,{content:t}),receiveStart:()=>e(`receive-start`,{}),receiveText:()=>e(`receive-text`,{}),receiveEnd:()=>e(`receive-end`,{}),stop:()=>e(`stop`,{}),newChat:()=>e(`new-chat`,{}),newChatCreated:t=>e(`new-chat-created`,{session:t}),historyClick:t=>e(`history-click`,{event:t}),autoGenerateName:()=>e(`auto-generate-name`,{}),helpClick:()=>e(`help-click`,{}),rename:t=>e(`rename`,{newName:t}),share:()=>e(`share`,{}),transferMessages:t=>e(`transfer-messages`,{messageIds:t}),shareMessages:t=>e(`share-messages`,{messageIds:t})}}function an(e){let{componentManager:n,emit:r,debug:i=!1}=e,a=[],o=()=>{for(let[e,t]of Object.entries(Ft)){if(t===null)continue;let o=n.on(e,n=>{let a=It(e,n);i&&console.debug(`[useEventBridge] ${e} -> ${t}`,a),r(t,...a)});a.push(o)}},s=(e,t)=>{i&&console.debug(`[useEventBridge] Forwarding to manager: ${e}`,t),n.emit(e,t)},c=(e,...t)=>{i&&console.debug(`[useEventBridge] Direct emit: ${e}`,t),r(e,...t)},l=()=>{a.forEach(e=>e()),a.length=0};return o(),(0,t.onUnmounted)(()=>{l()}),{forwardToManager:s,emitDirect:c,cleanup:l}}function on(e){let{props:n,emit:i}=e,a=(0,t.ref)(),o=(0,t.ref)(),s=(0,t.computed)(()=>We(n.url??``)),c=Pt({initialPanelVisible:!1,initialNimbusMinimized:n.defaultMinimize,enablePopup:n.enablePopup,enableNimbus:!n.hideNimbus,enableDraggable:n.draggable}),l=c.panelVisible,u=c.nimbusMinimized,{forwardToManager:d}=an({componentManager:c,emit:i}),f=rn(d),p=new WeakSet,m=null,h=null,g=()=>{m&&=(clearTimeout(m.timer),null)},_=e=>{let{apiName:t,error:i,action:a,source:o,shouldToast:s=!0}=e,l=i instanceof Error?i.message:String(i),u=i instanceof Error?i:null;u&&p.has(u)||(u&&p.add(u),o!==`http`&&u&&m?.error===u&&g(),console.error(`[AIBlueking] ${t} error:`,i),s&&n.errorToast!==!1&&(0,r.Message)({message:l||Z(`请求失败`),theme:`error`}),c.emitInternal(`sdk-error`,{apiName:t,action:a,source:o,code:-1,message:l,data:i}))},v=e=>{g();let t=h??(S.value?`chat`:`init`);m={error:e,timer:setTimeout(()=>{m=null,_({apiName:t,error:e,source:`http`})},0)}},y=async(e,t)=>{let n=h;h=e;try{return await t()}finally{h=n}},b=e=>{_({apiName:`chat`,error:e,source:`business`})},{chatHelper:x,isReady:S,error:C,agentInfo:w,agentName:T,currentSession:E,initialize:D}=nn({url:s,requestOptions:()=>(0,t.toValue)(n.requestOptions),autoInit:!0,enableModelSelect:n.enableModelSelect!==!1,protocolCallbacks:{onStart:()=>{f.receiveStart()},onMessage:()=>{f.receiveText()},onDone:()=>{f.receiveEnd()},onError:e=>{_({apiName:`chat`,error:e,source:`protocol`})}}}),O=x;O.onError?.(e=>{v(e)},{ignoreErrors:n.ignoreErrors});let k=new At(O.session,O.agent,null,{enableChatSession:n.enableChatSession,initialSessionCode:n.initialSessionCode,alwaysCreateNewSession:n.alwaysCreateNewSession},O.message),A=new jt(O.message,O.session),j=new Mt(null,n.shortcuts||[]),M=null,N=()=>n.loadRecentSessionOnMount?(M||=k.loadRecentSession({skipLoadSessions:!0}).finally(()=>{M=null}),M):Promise.resolve(),P=async()=>{await y(`init`,async()=>{await D(),await N()})},ee={appendTo:e=>{let t=e.closest(`.draggable-container-content`);return console.log(`[ai-blueking] appendTo called, ref:`,e),console.log(`[ai-blueking] appendTo closest result:`,t),t??document.body}},F=(0,t.computed)(()=>c.isCompressed.value),I=(0,t.computed)(()=>T.value),L=(0,t.computed)(()=>O.message.list.value.length===0),R=(0,t.computed)(()=>n.resources?.length?n.resources:w.value?.resources??[]),z=(0,t.computed)(()=>n.prompts?.length?n.prompts:w.value?.conversationSettings?.predefinedQuestions??[]),te=(0,t.computed)(()=>(w.value?.relatedSkills??[]).map(e=>({skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon})));(0,t.watch)(()=>C.value,e=>{e&&(g(),_({apiName:`init`,error:e,source:`http`}))});let B=e=>{e.conversationSettings?.commands&&j.setAgentShortcuts(e.conversationSettings.commands)},V=async()=>{try{await O.agent.getAgentInfo();let e=w.value;return e&&B(e),e}catch(e){return _({apiName:`getAgentInfo`,error:e,source:`http`}),null}};(0,t.watch)(()=>S.value,async e=>{if(e&&w.value&&(B(w.value),w.value.conversationSettings&&d(`session-initialized`,{openingRemark:w.value.conversationSettings.openingRemark||``,predefinedQuestions:w.value.conversationSettings.predefinedQuestions||[]}),n.loadRecentSessionOnMount))try{await N()}catch(e){console.error(`[AIBlueking] Failed to load recent session:`,e)}},{immediate:!0}),(0,t.watch)(()=>n.shortcuts,e=>{j.setShortcuts(e||[])},{immediate:!0});let H=e=>{Ye(e)&&(e.preventDefault(),l.value?c.hidePanel():c.showPanel())};return(0,t.onMounted)(async()=>{a.value&&c.setContainerRef(a.value),window.addEventListener(`keydown`,H)}),(0,t.onBeforeUnmount)(()=>{g(),window.removeEventListener(`keydown`,H),c.destroy()}),{chatHelper:O,componentManager:c,sessionBusinessManager:k,shareBusinessManager:A,shortcutManager:j,forwarders:f,forwardToManager:d,chatBotRef:o,draggableContainerRef:a,panelVisible:l,nimbusMinimized:u,normalizedUrl:s,agentInfo:w,agentName:I,currentSession:E,isCompressed:F,isWelcomeState:L,messageToolsTippyOptions:ee,agentResources:R,agentPrompts:z,agentSkills:te,handleError:b,reportSdkError:_,ensureSessionReady:P,updateAgentInfo:V}}function sn(e){let{shortcutManager:n,chatBotRef:r,forwardToManager:i,show:a,props:o}=e,s=(0,t.ref)(!1),c=(0,t.ref)(``);return{aiSelectionVisible:s,selectedText:c,filteredPopupShortcuts:(0,t.computed)(()=>{let e=n.effectiveShortcuts.value;return typeof o.shortcutFilter==`function`&&c.value?e.filter(e=>o.shortcutFilter?.(e,c.value)):e}),handleSelectionChange:e=>{c.value=e},handleAiSelectionShortcut:async(e,t)=>{s.value=!1,await a(),r.value&&(e.components?.length?r.value.selectShortcut(e,t):(r.value.selectShortcut(e),r.value.setCiteText(t),r.value.focusInput())),i(`shortcut-click`,{shortcut:e,source:`popup`})}}}function cn(e,n=!1){let r=window.innerHeight-48-40,i=window.innerWidth-48-16,a=(0,t.ref)(i),o=(0,t.ref)(r),s=(0,t.ref)(0),c=(0,t.ref)(n),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=0,f=e=>{e?a.value=window.innerWidth-12:a.value=i},p=(e,t)=>{o.value=t,s.value=t-r},m=()=>{(0,t.nextTick)(()=>{o.value=window.innerHeight-48-40+s.value,c.value?a.value=window.innerWidth-12:a.value=window.innerWidth-48-16})};return(0,t.onMounted)(()=>{window.addEventListener(`resize`,m),m()}),(0,t.onUnmounted)(()=>{window.removeEventListener(`resize`,m)}),{nimbusWidth:48,nimbusHeight:48,nimbusLeft:a,nimbusTop:o,isMinimize:c,isHovering:l,isDragging:u,handleNimbusDragging:p,handleNimbusMinimize:f,handleClick:()=>{if(u.value){u.value=!1;return}e(`click`)},handleMinimize:()=>{c.value=!c.value,e(`minimize`,c.value),c.value?a.value=window.innerWidth-12:a.value=window.innerWidth-60},handleDragging:(e,t)=>{a.value=e,o.value=t},handleMouseEnter:()=>{l.value=!0},handleMouseLeave:()=>{l.value=!1},handleMouseDown:()=>{d=Date.now(),u.value=!1},handleMouseUp:()=>{Date.now()-d>200&&(u.value=!0)}}}var ln=560;function un(e){let{componentManager:t,chatBotRef:n,forwarders:r,forwardToManager:i,beforeNimbusClick:a,ensureSessionReady:o}=e,s=async e=>{t.showPanel(e),o&&await o(),e&&n.value&&await n.value.switchSession(e)},c=async e=>{await s(e)},l=()=>{t.hidePanel()};return{show:s,handleShow:c,hide:l,handleClose:()=>{l()},handleNimbusClick:async()=>{if(a&&await a()===!1){t.emit(`nimbus-click`,{});return}t.handleNimbusClick()},handleDragging:e=>{t.handleDragging(e)},handleResizing:e=>{t.handleResizing(e)},handleDragStop:e=>{t.handleDragStop(e)},handleResizeStop:e=>{t.handleResizeStop(e)},handleToggleCompression:()=>{t.container.toggleCompression()},handleCompressionChange:e=>{t.setCompressed(e)},handleExecutionPanelChange:(e,n)=>{if(e)t.collapseSidePanel();else{let e=Math.max(ln,n??0);t.expandForSidePanel(e)}},sendMessage:async e=>{n.value&&await n.value.sendMessage(e)},handleReceiveStart:()=>{r.receiveStart()},handleReceiveText:()=>{r.receiveText()},handleReceiveEnd:()=>{r.receiveEnd()},handleStop:()=>{r.stop()},stopGeneration:()=>{n.value&&n.value.stopGeneration()},updatePosition:(e,n)=>{t.container.updatePosition(e,n)},updateSize:(e,n)=>{t.container.updateSize(e,n)},updatePositionAndSize:(e,n,r,i)=>{t.container.updatePositionAndSize(e,n,r,i)},setCiteText:e=>{n.value&&n.value.setCiteText(e)},focusInput:()=>{n.value&&n.value.focusInput()},selectShortcut:(e,t)=>{n.value&&n.value.selectShortcut(e,t)},sendShortcut:(e,t)=>n.value?n.value.sendShortcut(e,t):Promise.resolve(),getChatHelper:()=>n.value?n.value.getChatHelper():null,handleShortcutClick:e=>{i(`shortcut-click`,e)}}}function dn(e){let{chatHelper:n,sessionBusinessManager:r,chatBotRef:i,forwarders:a,reportSdkError:o,currentSession:s}=e,c=(0,t.ref)(``),l=(0,t.ref)(!0),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=()=>Le(n.message.list.value);(0,t.watch)(()=>s.value,e=>{e&&(c.value=e.sessionName||``,u.value=(e.sessionContentCount??0)>0||f())},{immediate:!0}),(0,t.watch)(()=>n.message.list.value.length,()=>{u.value=f()});let p=async()=>{i.value?.exitShareMode(),a.newChat()},m=e=>{a.newChatCreated(e)},h=e=>{a.historyClick(e)},g=async e=>{try{i.value?.exitShareMode(),await r.switchSession(e)}catch(e){console.error(`[AIBlueking] Failed to switch history session:`,e),o({apiName:`session`,action:`historySwitch`,error:e,source:`business`})}},_=async e=>{try{await r.deleteSession(e)}catch(e){console.error(`[AIBlueking] Failed to delete history session:`,e),o({apiName:`session`,action:`historyDelete`,error:e,source:`business`})}},v=async(e,t)=>{try{await r.updateSessionName(e,t)}catch(e){console.error(`[AIBlueking] Failed to rename history session:`,e),o({apiName:`session`,action:`historyRename`,error:e,source:`business`})}},y=async()=>{let e=n.session.current?.value?.sessionCode;if(!e){console.error(`[AIBlueking] Cannot auto-generate name: no active session`);return}d.value=!0;try{await n.session.renameSession(e);let t=n.session.list.value.find(t=>t.sessionCode===e);t&&(c.value=t.sessionName||``)}catch(e){console.error(`[AIBlueking] Failed to auto-generate session name:`,e),o({apiName:`session`,action:`autoGenerateName`,error:e,source:`business`})}finally{d.value=!1}a.autoGenerateName()},b=()=>{a.helpClick()},x=async e=>{let t=n.session.current?.value;if(!t){console.error(`[AIBlueking] Cannot rename: no active session`);return}try{await n.session.updateSession({...t,sessionName:e}),c.value=e}catch(e){console.error(`[AIBlueking] Failed to rename session:`,e),o({apiName:`session`,action:`rename`,error:e,source:`business`})}a.rename(e)},S=e=>{c.value=e,a.rename(e)},C=e=>{e&&(c.value=e.sessionName||``,u.value=(e.sessionContentCount??0)>0||f())},w=()=>i.value?.selectedLlmCode;return{sessionName:c,hasPermission:l,hasSessionContents:u,autoGenerateLoading:d,handleNewChat:p,handleNewChatCreated:m,handleHistoryClick:h,handleHistorySessionSwitch:g,handleHistorySessionDelete:_,handleHistorySessionRename:v,handleAutoGenerateName:y,handleHelpClick:b,handleRename:x,handleSessionRenamed:S,handleSessionSwitched:C,addNewSession:async e=>{e?await r.createSession({...e,model:e.model??w()}):await r.createNewSession({model:w()})},switchToSession:async e=>{i.value&&await i.value.switchSession(e)},updateSessionName:async(e,t)=>{try{await r.updateSessionName(e,t),c.value=t}catch(e){console.error(`[AIBlueking] Failed to update session name:`,e),o({apiName:`session`,action:`updateSessionName`,error:e,source:`business`})}}}}function fn(e){let{shareBusinessManager:n,chatBotRef:i,emit:a,forwarders:o,reportSdkError:s}=e,c=(0,t.ref)(!1);return{isShareLoading:c,handleShare:()=>{i.value?.enterShareMode(),o.share()},handleCancelShare:()=>{i.value?.exitShareMode()},handleConfirmShare:async(e,t)=>{if(!Zt(t)){i.value?.exitShareMode(),a(`confirm-share`,e,t);return}c.value=!0;try{let{shareUrl:s,userMessageIds:c}=await n.shareMessages(e);await Ge(s),(0,r.Message)({message:Z(`分享链接已复制到剪贴板`),theme:`success`}),i.value?.exitShareMode(),o.shareMessages(c),a(`confirm-share`,e,t)}catch(e){console.error(`[AIBlueking] Failed to share messages:`,e),s({apiName:`share`,action:`confirmShare`,error:e,source:`business`})}finally{c.value=!1}}}}function pn(e={}){let n=(0,t.ref)([]),r=(t,r,i={})=>{try{let o=typeof t==`string`?document.querySelector(t):t;if(!o)return console.warn(`Tooltip target not found: ${t}`),null;let s=(0,a.default)(o,{content:r,placement:`top`,arrow:!0,delay:[300,0],theme:`ai-blueking-tooltip`,...e,...i});return n.value.push(s),s}catch(e){return console.error(`Failed to create tooltip:`,e),null}},i=(e,t,n={})=>{let i=document.querySelectorAll(e),a=[];return i.forEach(e=>{let i=r(e,t,n);i&&a.push(i)}),a},o=e=>{let t=[];return e.forEach(({element:e,content:n,options:i})=>{let a=r(e,n,i);a&&t.push(a)}),t},s=()=>{n.value.forEach(e=>{e.destroy()}),n.value=[]};return(0,t.onBeforeUnmount)(()=>{s()}),{instances:n,createTooltip:r,createTooltipsForSelector:i,createMultipleTooltips:o,destroyAll:s,updateContent:(e,t)=>{e.setContent(t)},destroyInstance:e=>{e.destroy()}}}var mn={url:``,title:``,extCls:``,hideNimbus:!1,hideHeader:!1,enablePopup:!0,draggable:!0,enableChatSession:!0,enableModelSelect:!0,renderMode:n.RenderMode.Chat,defaultWidth:400,defaultHeight:void 0,defaultTop:0,defaultLeft:void 0,maxWidth:1e3,miniPadding:0,nimbusSize:`normal`,defaultMinimize:!1,shortcuts:()=>[],shortcutLimit:3,shortcutFilter:void 0,hideDefaultTrigger:!1,requestOptions:()=>({}),teleportTo:`body`,placeholder:void 0,helloText:Z(`你好,我是小鲸`),useAgentName:!1,disabledInput:!1,showHistoryIcon:!0,showNewChatIcon:!0,showCompressionIcon:!0,showMoreIcon:!0,initialSessionCode:``,autoSwitchToInitialSession:!1,alwaysCreateNewSession:!1,loadRecentSessionOnMount:!0,prompts:()=>[],dropdownMenuConfig:()=>({showRename:!0,showAutoGenerate:!0,showShare:!0}),defaultChatInputPosition:void 0,errorToast:!0,ignoreErrors:()=>[]},hn=class extends N{eventEmitter;constructor(e={}){super({onStart:e.onStart,onMessage:e.onMessage,onDone:e.onDone,onError:e.onError}),this.eventEmitter=e.eventEmitter}handleRunErrorEvent(e){super.handleRunErrorEvent(e),this.eventEmitter?.emit(`run-error`,{event:e})}handleTextMessageChunkEvent(e){super.handleTextMessageChunkEvent(e),this.eventEmitter?.emit(`text-chunk`,{event:e})}handleThinkingEndEvent(e){super.handleThinkingEndEvent(e),this.eventEmitter?.emit(`thinking-end`,{event:e})}handleThinkingStartEvent(e){super.handleThinkingStartEvent(e),this.eventEmitter?.emit(`thinking-start`,{event:e})}handleToolCallEndEvent(e){super.handleToolCallEndEvent(e),this.eventEmitter?.emit(`tool-call-end`,{event:e})}handleToolCallStartEvent(e){super.handleToolCallStartEvent(e),this.eventEmitter?.emit(`tool-call-start`,{event:e})}};function gn(e={}){let{eventEmitter:t,onStart:n,onMessage:r,onDone:i,onError:a,onTextChunk:o}=e;return new N({onStart:()=>{t?.emit(`receive-start`,{}),n?.()},onMessage:e=>{t?.emit(`receive-message`,{event:e}),e.type===`TextMessageChunk`&&o&&o(e),r?.(e)},onDone:()=>{t?.emit(`receive-end`,{}),i?.()},onError:e=>{t?.emit(`receive-error`,{error:e}),a?.(e)}})}function _n(e={},n){let r=e.initWidth||400,i=e.minWidth||400,a=e.minHeight||400,o=e.maxWidthPercent||40,s=e.compressedHeight||800,c=e.compressedPadding===void 0?0:e.compressedPadding,l=(0,t.ref)(e.defaultLeft===void 0?window.innerWidth-r:e.defaultLeft),u=(0,t.ref)(e.defaultTop===void 0?0:e.defaultTop),d=(0,t.ref)(e.defaultHeight===void 0?window.innerHeight-(e.defaultTop===void 0?0:e.defaultTop):e.defaultHeight),f=(0,t.ref)(r),p=(0,t.ref)(u.value),m=(0,t.ref)(l.value),h=(0,t.ref)(f.value),g=(0,t.ref)(d.value),_=(0,t.ref)(Math.max(window.innerWidth*(o/100),h.value)),v=(0,t.ref)(!1),y=(0,t.ref)(0),b=null,x=null,S=(0,t.ref)(!1),C=e=>{let t=window.innerWidth,n={...e};return n.width>t&&(n.width=t),n.x+n.width>t&&(n.x=t-n.width),n.x<0&&(n.x=0),n},w=()=>({x:m.value,y:p.value,width:h.value,height:g.value}),T=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value),n?.onDragging?.(w())},E=(e,t,r,i)=>{m.value=e,p.value=t,h.value=Math.min(r,_.value),g.value=i,n?.onResizing?.(w())},D=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value),S.value&&(x=w()),n?.onDragStop?.(w())},O=(e,t,r,i)=>{m.value=e,p.value=t,h.value=Math.min(r,_.value),g.value=i,S.value&&(x=w()),n?.onResizeStop?.(w())},k=()=>{_.value=Math.max(window.innerWidth*(o/100),h.value),(0,t.nextTick)(()=>{if(v.value)m.value=window.innerWidth-h.value-c,p.value=window.innerHeight-s-c;else{let e=window.innerWidth-h.value-y.value;m.value=Math.max(0,e),setTimeout(()=>{g.value=window.innerHeight-p.value},0)}h.value>_.value&&(h.value=_.value)})},A=()=>{v.value?(p.value=u.value,(0,t.nextTick)(()=>{g.value=d.value,m.value=l.value,h.value=f.value})):(p.value=window.innerHeight-s-c,m.value=l.value-c,h.value=r,g.value=s),v.value=!v.value},j=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value)},M=(e,t)=>{h.value=Math.max(i,Math.min(e,_.value)),g.value=Math.max(a,t)};return(0,t.onMounted)(()=>{window.addEventListener(`resize`,k)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,k)}),{minWidth:i,minHeight:a,maxWidth:_,top:p,left:m,width:h,height:g,isCompressed:v,isSidePanelExpanded:S,handleDragging:T,handleResizing:E,handleDragStop:D,handleResizeStop:O,toggleCompression:A,updatePosition:j,updateSize:M,updatePositionAndSize:(e,t,n,r)=>{j(e,t),M(n,r)},expandForSidePanel:e=>{if(S.value)return;let n=w();b={...n},S.value=!0;let r=n.x+n.width,i=x?.width??n.width+e,a=C({x:r-i,y:n.y,width:i,height:n.height});j(a.x,a.y),(0,t.nextTick)(()=>{M(a.width,a.height)})},collapseSidePanel:()=>{if(!S.value)return;let e=w();x={...e},S.value=!1;let n=e.x+e.width,r=b?.width??e.width,i=C({x:n-r,y:e.y,width:r,height:e.height});M(i.width,i.height),(0,t.nextTick)(()=>{j(i.x,i.y)})}}}var vn={class:`draggable-container-content`},yn=Q((0,t.defineComponent)({__name:`draggable-container`,props:{className:{default:``},compressedHeight:{default:800},compressedPadding:{default:0},defaultHeight:{default:void 0},defaultWidth:{default:400},defaultX:{default:void 0},defaultY:{default:0},draggable:{type:Boolean,default:!0},dragHandle:{default:`.drag-handle`},maxWidth:{default:void 0},maxWidthPercent:{default:80},minHeight:{default:400},minWidth:{default:400},resizable:{type:Boolean,default:!0},teleportTo:{default:`body`},visible:{type:Boolean,default:!1}},emits:[`dragging`,`resizing`,`drag-stop`,`resize-stop`,`compression-change`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(!1),{minWidth:s,minHeight:l,maxWidth:u,top:d,left:f,width:p,height:m,isCompressed:h,isSidePanelExpanded:g,handleDragging:_,handleResizing:v,handleDragStop:y,handleResizeStop:b,toggleCompression:x,updatePosition:S,updateSize:C,updatePositionAndSize:w,expandForSidePanel:T,collapseSidePanel:E}=_n({initWidth:i.defaultWidth,minWidth:i.minWidth,minHeight:i.minHeight,maxWidthPercent:i.maxWidthPercent,compressedHeight:i.compressedHeight,defaultHeight:i.defaultHeight,defaultTop:i.defaultY,defaultLeft:i.defaultX,compressedPadding:i.compressedPadding},{onDragStop:e=>a(`drag-stop`,e),onResizeStop:e=>a(`resize-stop`,e),onDragging:e=>a(`dragging`,e),onResizing:e=>a(`resizing`,e)}),D=(0,t.computed)(()=>({"--draggable-max-width":typeof i.maxWidth==`number`?`${i.maxWidth}px`:i.maxWidth??`${u.value}px`})),O=(0,t.computed)(()=>({x:f.value,y:d.value,width:p.value,height:m.value})),k=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=`none`})},A=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=``})},j=(e,t)=>{o.value||(o.value=!0,k()),_(e,t)},M=(e,t,n,r)=>{o.value||(o.value=!0,k()),v(e,t,n,r)},N=(e,t)=>{y(e,t),o.value=!1,A()},P=(e,t,n,r)=>{b(e,t,n,r),o.value=!1,A()};return(0,t.watch)(h,e=>{a(`compression-change`,e)}),n({updatePosition:S,updateSize:C,updatePositionAndSize:w,toggleCompression:x,expandForSidePanel:T,collapseSidePanel:E,positionAndSize:O,isCompressed:h,isSidePanelExpanded:g}),(e,n)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(c.default),{ref:`draggableRef`,active:i.visible,class:(0,t.normalizeClass)([`draggable-container-wrapper`,i.className]),"class-name":`draggable-container-inner`,"drag-handle":i.dragHandle,draggable:i.draggable,h:(0,t.unref)(m),"max-width":(0,t.unref)(u),"min-height":(0,t.unref)(l),"min-width":(0,t.unref)(s),parent:!0,"prevent-deactivation":!0,resizable:i.resizable,style:(0,t.normalizeStyle)(D.value),w:(0,t.unref)(p),x:(0,t.unref)(f),y:(0,t.unref)(d),onDragStop:N,onDragging:j,onResizeStop:P,onResizing:M},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,vn,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])]),_:3},8,[`active`,`class`,`drag-handle`,`draggable`,`h`,`max-width`,`min-height`,`min-width`,`resizable`,`style`,`w`,`x`,`y`])),[[t.vShow,i.visible]])}}),[[`__scopeId`,`data-v-1118456b`]]),bn={class:`nimbus-bkai-wrapper`},xn=[`width`,`height`,`src`],Sn=Q((0,t.defineComponent)({name:`NimbusButton`,__name:`nimbus`,props:{isPanelShow:{type:Boolean},isMinimize:{type:Boolean},size:{default:`normal`}},emits:[`click`,`minimize`,`update:isMinimize`],setup(e,{emit:n}){(0,t.useCssVars)(e=>({v05a8b16e:`${o.value.container}px`,v4e1cf4ca:`${o.value.wrapper}px`,v5ab0c513:`${o.value.mini.right}px`,v40c13a80:`${o.value.mini.size}px`,v0d35a9ef:`${o.value.mini.fontSize}px`}));let r=e,i=n,a={small:{container:40,wrapper:32,img:24,mini:{size:14,fontSize:10,right:-4}},normal:{container:48,wrapper:40,img:32,mini:{size:16,fontSize:12,right:-6}},large:{container:56,wrapper:48,img:40,mini:{size:18,fontSize:14,right:-6}}},o=(0,t.computed)(()=>a[r.size]),s=(0,t.ref)(null),l=(0,t.ref)(null),{nimbusLeft:u,nimbusTop:d,isMinimize:f,handleClick:p,handleMinimize:m,handleDragging:h,handleMouseEnter:g,handleMouseLeave:_,handleMouseDown:v,handleMouseUp:b}=cn(i,r.isMinimize);(0,t.watch)(f,e=>{i(`update:isMinimize`,e)});let x=(0,t.computed)(()=>f.value?Z(`恢复默认大小`):Z(`最小化,将缩成锚点`)),{createTooltip:S,destroyAll:C}=pn({theme:`ai-blueking`,delay:[0,0]}),w=()=>{(0,t.nextTick)(()=>{T()})},T=()=>{C(),s.value&&!f.value&&S(s.value,qe(),{placement:`left`}),l.value&&S(l.value,x.value,{placement:`top`})};return(0,t.watch)(()=>f.value,()=>{(0,t.nextTick)(()=>{T()})}),(0,t.onMounted)(()=>{(0,t.nextTick)(()=>{T()}),window.addEventListener(`resize`,w)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,w)}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(c.default),{active:!e.isPanelShow,axis:`y`,draggable:!0,h:o.value.container,parent:!0,"prevent-deactivation":!0,resizable:!1,w:o.value.container,x:(0,t.unref)(u),y:(0,t.unref)(d),onDragging:(0,t.unref)(h)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`nimbusContainerRef`,ref:s,class:(0,t.normalizeClass)([`nimbus-container`,{"is-minimize":(0,t.unref)(f)}]),onClick:r[1]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e),onMousedown:r[2]||=(...e)=>(0,t.unref)(v)&&(0,t.unref)(v)(...e),onMouseenter:r[3]||=(...e)=>(0,t.unref)(g)&&(0,t.unref)(g)(...e),onMouseleave:r[4]||=(...e)=>(0,t.unref)(_)&&(0,t.unref)(_)(...e),onMouseup:r[5]||=(...e)=>(0,t.unref)(b)&&(0,t.unref)(b)(...e)},[(0,t.createElementVNode)(`div`,bn,[(0,t.createElementVNode)(`img`,{width:o.value.img,height:o.value.img,src:(0,t.unref)(y),alt:`nimbus`},null,8,xn)]),(0,t.createElementVNode)(`i`,{ref_key:`minimizeButtonRef`,ref:l,class:(0,t.normalizeClass)([`nimbus-mini bkai-icon`,(0,t.unref)(f)?`bkai-yinyong`:`bkai-minus-line`]),onClick:r[0]||=(0,t.withModifiers)((...e)=>(0,t.unref)(m)&&(0,t.unref)(m)(...e),[`stop`])},null,2)],34)]),_:1},8,[`active`,`h`,`w`,`x`,`y`,`onDragging`]))}}),[[`__scopeId`,`data-v-26b6f3ea`]]),Cn=Q((0,t.defineComponent)({inheritAttrs:!1,__name:`ai-blueking`,props:(0,t.mergeDefaults)({alwaysCreateNewSession:{type:Boolean},autoSwitchToInitialSession:{type:Boolean},defaultChatInputPosition:{},defaultHeight:{},defaultLeft:{},defaultMinimize:{type:Boolean},defaultTop:{},defaultWidth:{},disabledInput:{type:Boolean},draggable:{type:Boolean},dropdownMenuConfig:{},enableChatSession:{type:Boolean},enableModelSelect:{type:Boolean},models:{},enablePopup:{type:Boolean},errorToast:{type:Boolean},executionTabVisible:{type:Boolean},extCls:{},getSideRenderComponent:{type:Function},getSideTabRenderComponent:{type:Function},helloText:{},messageTools:{},updateTools:{},hideDefaultTrigger:{type:Boolean},hideHeader:{type:Boolean},hideNimbus:{type:Boolean},ignoreErrors:{},initialSessionCode:{},loadRecentSessionOnMount:{type:Boolean},maxWidth:{},miniPadding:{},nimbusSize:{},onCustomTabChange:{type:Function},placeholder:{},prompts:{},renderMode:{},requestOptions:{},resources:{},shortcutLimit:{},shortcuts:{},showCompressionIcon:{type:Boolean},showHistoryIcon:{type:Boolean},showMoreIcon:{type:Boolean},showNewChatIcon:{type:Boolean},teleportTo:{},title:{},url:{},useAgentName:{type:Boolean},beforeNimbusClick:{type:Function},shortcutFilter:{type:Function},resizeProps:{},size:{}},mn),emits:[`show`,`close`,`dragging`,`resizing`,`drag-stop`,`resize-stop`,`send-message`,`receive-start`,`receive-text`,`receive-end`,`stop`,`shortcut-click`,`session-initialized`,`sdk-error`,`transfer-messages`,`share-messages`,`confirm-share`,`agent-action`,`new-chat`,`new-chat-created`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`],setup(e,{expose:r,emit:i}){let a=e,o=i,s=(0,t.useAttrs)(),{chatHelper:c,componentManager:l,sessionBusinessManager:u,shareBusinessManager:d,shortcutManager:f,forwarders:p,forwardToManager:m,chatBotRef:h,draggableContainerRef:g,panelVisible:_,nimbusMinimized:v,normalizedUrl:y,agentName:b,currentSession:x,isCompressed:S,isWelcomeState:C,messageToolsTippyOptions:w,agentResources:T,agentPrompts:E,agentSkills:D,handleError:O,reportSdkError:k,ensureSessionReady:A,updateAgentInfo:j}=on({props:a,emit:o}),M=(0,t.computed)(()=>h.value?.selectedLlmCode),{show:N,hide:P,handleShow:ee,handleClose:F,handleNimbusClick:I,handleDragging:L,handleResizing:R,handleDragStop:z,handleResizeStop:te,handleToggleCompression:B,handleCompressionChange:V,handleExecutionPanelChange:H,sendMessage:U,handleReceiveStart:W,handleReceiveText:ne,handleReceiveEnd:G,handleStop:re,stopGeneration:ie,setCiteText:K,focusInput:ae,selectShortcut:oe,sendShortcut:se,getChatHelper:ce,updatePosition:le,updateSize:ue,updatePositionAndSize:de,handleShortcutClick:fe}=un({componentManager:l,chatBotRef:h,forwarders:p,forwardToManager:m,beforeNimbusClick:a.beforeNimbusClick,ensureSessionReady:A}),{sessionName:pe,hasPermission:q,hasSessionContents:J,autoGenerateLoading:me,handleNewChat:Y,handleNewChatCreated:he,handleHistoryClick:ge,handleHistorySessionSwitch:_e,handleHistorySessionDelete:ve,handleHistorySessionRename:ye,handleAutoGenerateName:be,handleHelpClick:xe,handleRename:Se,handleSessionRenamed:Ce,handleSessionSwitched:we,addNewSession:Te,switchToSession:Ee,updateSessionName:De}=dn({chatHelper:c,sessionBusinessManager:u,chatBotRef:h,forwarders:p,reportSdkError:k,currentSession:x}),{isShareLoading:Oe,handleShare:ke,handleCancelShare:Ae,handleConfirmShare:je}=fn({shareBusinessManager:d,chatBotRef:h,emit:(e,t,n)=>o(e,t,n),forwarders:p,reportSdkError:k}),{aiSelectionVisible:X,filteredPopupShortcuts:Me,handleSelectionChange:Ne,handleAiSelectionShortcut:Pe}=sn({shortcutManager:f,chatBotRef:h,forwardToManager:m,show:N,props:a}),Fe=e=>{J.value=!0,p.sendMessage(e)};return r({show:N,handleShow:ee,handleClose:F,hide:P,sendMessage:U,selectShortcut:oe,sendShortcut:se,getChatHelper:ce,stopGeneration:ie,addNewSession:Te,switchToSession:Ee,updateSessionName:De,updatePosition:le,updateSize:ue,updatePositionAndSize:de,setCiteText:K,focusInput:ae,updateAgentInfo:j}),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:a.teleportTo},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`ai-blueking-v2`,a.extCls,(0,t.unref)(s).class])},[(0,t.createCommentVNode)(` 可拖拽容器 `),(0,t.createVNode)((0,t.unref)(yn),{ref_key:`draggableContainerRef`,ref:g,"compressed-padding":a.miniPadding,"default-height":a.defaultHeight,"default-width":a.defaultWidth,"default-x":a.defaultLeft,"default-y":a.defaultTop,"drag-handle":`.drag-handle`,draggable:a.draggable,"max-width":a.maxWidth,"max-width-percent":80,visible:(0,t.unref)(_),onCompressionChange:(0,t.unref)(V),onDragStop:(0,t.unref)(z),onDragging:(0,t.unref)(L),onResizeStop:(0,t.unref)(te),onResizing:(0,t.unref)(R)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`ai-blueking-panel`,{"has-messages":!(0,t.unref)(C)}])},[(0,t.createCommentVNode)(` 独立的 Header 组件 `),a.hideHeader?(0,t.createCommentVNode)(`v-if`,!0):((0,t.openBlock)(),(0,t.createBlock)(Et,{key:0,"agent-name":(0,t.unref)(b),"chat-helper":(0,t.unref)(c),draggable:a.draggable,"dropdown-menu-config":a.dropdownMenuConfig,"enable-chat-session":a.enableChatSession,"has-permission":(0,t.unref)(q),"has-session-contents":(0,t.unref)(J),"auto-generate-loading":(0,t.unref)(me),"is-compression-height":(0,t.unref)(S),"render-mode":a.renderMode,"session-business-manager":(0,t.unref)(u),"selected-llm-code":M.value,"session-name":(0,t.unref)(pe),"show-compression-icon":a.showCompressionIcon,"show-history-icon":a.showHistoryIcon,"show-more-icon":a.showMoreIcon,"show-new-chat-icon":a.showNewChatIcon,title:a.title,onAutoGenerateName:(0,t.unref)(be),onClose:(0,t.unref)(F),onHelpClick:(0,t.unref)(xe),onHistoryClick:(0,t.unref)(ge),onHistorySessionDelete:(0,t.unref)(ve),onHistorySessionRename:(0,t.unref)(ye),onHistorySessionSwitch:(0,t.unref)(_e),onNewChat:(0,t.unref)(Y),onNewChatCreated:(0,t.unref)(he),onRename:(0,t.unref)(Se),onShare:(0,t.unref)(ke),onToggleCompression:(0,t.unref)(B)},(0,t.createSlots)({_:2},[e.$slots.headerLeft?{name:`headerLeft`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`headerLeft`,{},void 0,!0)]),key:`0`}:void 0]),1032,`agent-name.chat-helper.draggable.dropdown-menu-config.enable-chat-session.has-permission.has-session-contents.auto-generate-loading.is-compression-height.render-mode.session-business-manager.selected-llm-code.session-name.show-compression-icon.show-history-icon.show-more-icon.show-new-chat-icon.title.onAutoGenerateName.onClose.onHelpClick.onHistoryClick.onHistorySessionDelete.onHistorySessionRename.onHistorySessionSwitch.onNewChat.onNewChatCreated.onRename.onShare.onToggleCompression`.split(`.`))),(0,t.createCommentVNode)(` ChatBot 核心组件(仅聊天区域) `),(0,t.createVNode)(tn,{ref_key:`chatBotRef`,ref:h,"always-create-new-session":a.alwaysCreateNewSession,"auto-load":a.loadRecentSessionOnMount,"chat-helper":(0,t.unref)(c),"enable-model-select":a.enableModelSelect,"error-toast":!1,"execution-tab-visible":a.executionTabVisible,"hello-text":a.helloText,"message-tools":a.messageTools,"message-tools-tippy-options":(0,t.unref)(w),models:a.models,placeholder:a.placeholder,prompts:(0,t.unref)(E),"render-mode":a.renderMode,"request-options":a.requestOptions,"use-agent-name":a.useAgentName,"get-side-render-component":a.getSideRenderComponent,"get-side-tab-render-component":a.getSideTabRenderComponent,"on-custom-tab-change":a.onCustomTabChange,"resize-props":a.resizeProps,size:a.size,resources:(0,t.unref)(T),"session-code":a.initialSessionCode,"share-loading":(0,t.unref)(Oe),shortcuts:a.shortcuts,skills:(0,t.unref)(D),style:(0,t.normalizeStyle)({height:a.hideHeader?`100%`:`calc(100% - 48px)`}),"update-tools":a.updateTools,url:(0,t.unref)(y),onAgentAction:r[0]||=(e,t)=>o(`agent-action`,e,t),onCancelShare:(0,t.unref)(Ae),onConfirmShare:r[1]||=(e,n)=>(0,t.unref)(je)(e,n),onError:r[2]||=e=>(0,t.unref)(O)(e),onExecutionPanelChange:(0,t.unref)(H),onReceiveEnd:(0,t.unref)(G),onReceiveStart:(0,t.unref)(W),onReceiveText:(0,t.unref)(ne),onRename:(0,t.unref)(Ce),onRequestShare:(0,t.unref)(ke),onSendMessage:r[3]||=e=>Fe(e),onSessionSwitched:r[4]||=e=>(0,t.unref)(we)(e),onShortcutClick:(0,t.unref)(fe),onStop:(0,t.unref)(re)},(0,t.createSlots)({_:2},[e.$slots.welcome?{name:`welcome`,fn:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,`welcome`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)),void 0,!0)]),key:`0`}:void 0,e.$slots.codeHeader?{name:`codeHeader`,fn:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,`codeHeader`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)),void 0,!0)]),key:`1`}:void 0,e.$slots.message?{name:`message`,fn:(0,t.withCtx)(({message:n,messageToolsStatus:r,onInterruptResume:i})=>[(0,t.renderSlot)(e.$slots,`message`,{message:n,messageToolsStatus:r,onInterruptResume:i},void 0,!0)]),key:`2`}:void 0]),1032,`always-create-new-session.auto-load.chat-helper.enable-model-select.execution-tab-visible.hello-text.message-tools.message-tools-tippy-options.models.placeholder.prompts.render-mode.request-options.use-agent-name.get-side-render-component.get-side-tab-render-component.on-custom-tab-change.resize-props.size.resources.session-code.share-loading.shortcuts.skills.style.update-tools.url.onCancelShare.onExecutionPanelChange.onReceiveEnd.onReceiveStart.onReceiveText.onRename.onRequestShare.onShortcutClick.onStop`.split(`.`))],2)]),_:3},8,[`compressed-padding`,`default-height`,`default-width`,`default-x`,`default-y`,`draggable`,`max-width`,`visible`,`onCompressionChange`,`onDragStop`,`onDragging`,`onResizeStop`,`onResizing`]),(0,t.createCommentVNode)(` Nimbus 悬浮球 `),a.hideNimbus?(0,t.createCommentVNode)(`v-if`,!0):((0,t.openBlock)(),(0,t.createBlock)(Sn,{key:0,"is-minimize":(0,t.unref)(v),"onUpdate:isMinimize":r[5]||=e=>(0,t.isRef)(v)?v.value=e:null,"is-panel-show":(0,t.unref)(_),"onUpdate:isPanelShow":r[6]||=e=>(0,t.isRef)(_)?_.value=e:null,"default-minimize":a.defaultMinimize,size:a.nimbusSize,onClick:(0,t.unref)(I)},null,8,[`is-minimize`,`is-panel-show`,`default-minimize`,`size`,`onClick`])),(0,t.createCommentVNode)(` 划词选择弹窗(使用 chat-x 的 AiSelection 组件) `),a.enablePopup?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.AiSelection),{key:1,visible:(0,t.unref)(X),"onUpdate:visible":r[7]||=e=>(0,t.isRef)(X)?X.value=e:null,"exclude-selectors":[`.draggable-container-wrapper`],"max-shortcut-count":a.shortcutLimit,shortcuts:(0,t.unref)(Me),onSelectShortcut:(0,t.unref)(Pe),onSelectionChange:(0,t.unref)(Ne)},null,8,[`visible`,`max-shortcut-count`,`shortcuts`,`onSelectShortcut`,`onSelectionChange`])):(0,t.createCommentVNode)(`v-if`,!0)],2)],8,[`to`]))}}),[[`__scopeId`,`data-v-2d3264be`]]);e.AGUIProtocol=N,e.AIBlueking=Cn,e.default=Cn,e.BluekingProtocol=hn,e.BootstrapPhase=$,e.ChatBot=tn,e.ChatBusinessManager=kt,e.ComponentManager=Nt,e.DraggableContainer=yn,Object.defineProperty(e,`MessageContentType`,{enumerable:!0,get:function(){return n.MessageContentType}}),Object.defineProperty(e,`RenderMode`,{enumerable:!0,get:function(){return n.RenderMode}}),e.SessionBusinessManager=At,e.ShortcutManager=Mt,e.UIStateManager=Lt,e.createBluekingProtocol=gn,e.createComponentManager=Pt,e.defaultProps=mn,e.parseCustomBlocks=Be,e.useChatBootstrap=nn,e.useChatHelper=X,e.useDraggable=_n});
5
+ `).forEach(e=>{let t=e.replace(`data:`,``).trim();if(c(t)){let e=JSON.parse(t);i.onMessage?.(e),n=``}else t&&(n=t)})}}catch(e){if(e instanceof Error){if(e.name===`AbortError`){i.onDone?.();return}r(e)}throw e}}};function U(e,t){if(!t)return e;let n=new URLSearchParams;Object.keys(t).forEach(e=>{let r=t[e];r!=null&&(Array.isArray(r)?r.forEach(t=>n.append(e,String(t))):n.append(e,String(r)))});let r=n.toString();return r?`${e}${e.includes(`?`)?`&`:`?`}${r}`:e}function W(e,t){let n=`ERR_BAD_RESPONSE`;if(!e||typeof e!=`object`)return{code:n,message:t};let r=e;return r.error?.message?{code:r.error.code??n,data:r.error.data,message:ne(r.error.message,t)}:r.message?{code:r.code??n,data:r.data,message:ne(r.message,t)}:r.detail?{code:r.code??n,data:r.data,message:ne(r.detail,t)}:{code:r.code??n,data:r.data,message:t}}function ne(e,t){if(typeof e==`string`)return e||t;try{return JSON.stringify(e)||t}catch{return t}}function G(e,t,n,r){let i=Error(e);return i.config=t,i.code=String(n),i.response=r,i.isAxiosError=!0,i}function re(e){return B(e)}function ie(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function K(e,t){let n={...e};for(let r in t){let i=t[r];if(ie(i)){let t=e[r];n[r]=K(t||{},i)}else n[r]=i}return n}new H;var ae=new Set([`POST`,`PUT`,`PATCH`,`DELETE`]),oe=new Set([`GET`,`HEAD`,`OPTIONS`]);function se(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ce(e,t){let{headers:n,data:r}=t.requestData;!n&&!r||e.interceptors.request.use(e=>{let t=e,i=(e.method??`GET`).toUpperCase();if(n){let r=B(n);if(r&&Object.keys(r).length>0){let n=B(e.headers)??{};t={...t,headers:{...n,...r}}}}if(r){let n=B(r);if(n&&Object.keys(n).length>0){if(ae.has(i)){let r=B(e.data);r==null?t={...t,data:n}:se(r)?t={...t,data:{...n,...r}}:console.warn(`[chat-helper] requestData.data 无法注入:当前请求体不是普通对象(FormData/Blob/string 等),已跳过合并。`,{method:i,existingType:typeof r})}else if(oe.has(i)){let r=e.params??{};t={...t,params:{...n,...r}}}}}return t})}var le=e=>{let t=new H({baseURL:e.requestData.urlPrefix});return ce(t,e),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response),{fetchClient:t,reset:e=>{t.defaults.baseURL=e.requestData.urlPrefix,t.interceptors.request.clear(),t.interceptors.response.clear(),ce(t,e),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response)}}},ue=e=>({conversationSettings:{openingRemark:e?.conversation_settings?.opening_remark,predefinedQuestions:e?.conversation_settings?.predefined_questions,commands:e?.conversation_settings?.commands?.map(e=>({id:e.id,name:e.name,alias:e.alias,icon:e.icon,components:e.components.map(e=>({type:e.type,name:e.name,key:e.key,placeholder:e.placeholder,default:e.default,required:e.required,fillBack:e.fill_back,fillRegx:e.fill_regx,rows:e.rows,min:e.min,max:e.max,options:e.options})),content:e.content,agentId:e.agent_id,status:e.status,supportUpload:e.support_upload})),enableChatSession:e?.conversation_settings?.enable_chat_session},promptSetting:e?.prompt_setting?{content:e.prompt_setting.content,supportUpload:e.prompt_setting.support_upload}:void 0,agentName:e?.agent_name,relatedSkills:e?.related_skills?.map(e=>({id:e.id,skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon})),chatGroup:e?.chat_group?{enabled:e.chat_group.enabled,staff:e.chat_group.staff,username:e.chat_group.username}:void 0,saasUrl:e?.saas_url,resources:e?.resources}),de=e=>({id:e.id??0,llm_code:e.llm_code,llm_name:e.llm_name,llm_type:e.llm_type??`chat.completion`,icon:e.icon??``,description:e.description??``,base_model:e.base_model,max_token_size:e.max_token_size??0,property:e.property??{},space_auth_mode:e.space_auth_mode??``,user_auth_mode:e.user_auth_mode??``,tag_names:e.tag_names}),fe=e=>Array.isArray(e)?e.map(de):[],pe=e=>({getAgentInfo:t=>e.get(`agent/info/`,void 0,t).then(ue),getLlms:(t,n)=>{let r={llm_type:t?.llm_type??`chat.completion`};return t?.fuzzy&&(r.fuzzy=t.fuzzy),t?.supports&&(r.supports=t.supports),e.get(`llms/`,r,n).then(fe)}}),q=e=>{let t={id:e.id,messageId:e.message_id,name:e.name,role:e.role,sessionCode:e.session_code,status:e.status};switch(e.role){case x.Activity:{let n=e,r=e=>e.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url})),i;switch(n.activity_type){case b.ReferenceDocument:i=r(n.content);break;case b.KnowledgeRag:{let e=n.content;i={content:e.content,referenceDocument:r(e.reference_document)};break}case b.FlowAgent:case b.ArtifactsGenerated:default:i=n.content;break}return{...t,activityType:n.activity_type,content:i,property:n.property,role:n.role}}case x.Assistant:{let n=e;return{...t,content:n.content,property:n.property,role:n.role,toolCalls:n.tool_calls?.map(e=>({function:{arguments:e.function.arguments,name:e.function.name,description:e.function.description,mcpName:e.function.mcp_name},id:e.id,type:e.type}))}}case x.Developer:{let n=e;return{...t,content:n.content,role:n.role}}case x.Guide:{let n=e;return{...t,content:n.content,role:n.role}}case x.Hidden:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenAssistant:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenGuide:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenSystem:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenUser:{let n=e;return{...t,content:n.content,role:n.role}}case x.Info:{let n=e;return{...t,content:n.content,role:n.role}}case x.Pause:{let n=e;return{...t,content:n.content,role:n.role}}case x.Placeholder:{let n=e;return{...t,content:n.content,role:n.role}}case x.Reasoning:{let n=e;return{...t,content:n.content,duration:n.duration,role:n.role}}case x.System:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateAssistant:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateGuide:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateHidden:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateSystem:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateUser:{let n=e;return{...t,content:n.content,role:n.role}}case x.Tool:{let n=e;return{...t,content:n.content,duration:n.duration,error:n.error,role:n.role,toolCallId:n.tool_call_id}}case x.User:{let n=e,r=n.content;return{...t,content:Array.isArray(r)?r.map(e=>{if(e.type===C.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mimeType:t.mime_type,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role}}case x.Interrupt:return{...t,...e}}},J=e=>{let t={id:e.id,message_id:e.messageId,name:e.name,role:e.role,session_code:e.sessionCode,status:e.status};switch(e.role){case x.Activity:{let n=e,r=e=>e.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url})),i;switch(n.activityType){case b.ReferenceDocument:i=r(n.content);break;case b.KnowledgeRag:{let e=n.content;i={content:e.content,reference_document:r(e.referenceDocument)};break}case b.FlowAgent:case b.ArtifactsGenerated:default:i=n.content;break}return{...t,activity_type:n.activityType,content:i,property:n.property,role:n.role}}case x.Assistant:{let n=e;return{...t,property:n.property,content:n.content,role:n.role,tool_calls:n.toolCalls?.map(e=>({function:{arguments:e.function.arguments,name:e.function.name,description:e.function.description,mcp_name:e.function.mcpName},id:e.id,type:e.type}))}}case x.Developer:{let n=e;return{...t,content:n.content,role:n.role}}case x.Guide:{let n=e;return{...t,content:n.content,role:n.role}}case x.Hidden:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenAssistant:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenGuide:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenSystem:{let n=e;return{...t,content:n.content,role:n.role}}case x.HiddenUser:{let n=e;return{...t,content:n.content,role:n.role}}case x.Info:{let n=e;return{...t,content:n.content,role:n.role}}case x.Pause:{let n=e;return{...t,content:n.content,role:n.role}}case x.Placeholder:{let n=e;return{...t,content:n.content,role:n.role}}case x.Reasoning:{let n=e;return{...t,content:n.content,duration:n.duration,role:n.role}}case x.System:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateAssistant:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateGuide:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateHidden:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateSystem:{let n=e;return{...t,content:n.content,role:n.role}}case x.TemplateUser:{let n=e;return{...t,content:n.content,role:n.role}}case x.Tool:{let n=e;return{...t,content:n.content,duration:n.duration,error:n.error,role:n.role,tool_call_id:n.toolCallId}}case x.User:{let n=e,r=n.content;return{...t,content:Array.isArray(r)?r.map(e=>{if(e.type===C.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mime_type:t.mimeType,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role}}case x.Interrupt:return{...t,...e}}},me=e=>({getMessages:(t,n,r)=>e.get(`session_content/content/`,{session_code:t,limit:n},r).then(e=>e.map(q)),plusMessage:(t,n)=>e.post(`session_content/`,J(t),n).then(q),modifyMessage:(t,n)=>e.put(`session_content/${t.id}/`,J(t),n).then(q),deleteMessage:(t,n)=>e.delete(`session_content/${t}/`,void 0,n),batchDeleteMessages:(t,n)=>e.post(`session_content/batch_delete/`,{ids:t},n),shareMessages:(t,n,r,i)=>e.post(`share/`,{session_code:t,content_ids:n,...r?{expired_at:r}:{}},i),stopChat:(t,n)=>e.post(`session_content/stop/`,{session_code:t},n),getFlowAgentTaskInfo:(t,n)=>e.get(`flow_agent/${t}/task_info/`,void 0,n),getFlowAgentTaskNodeInfo:(t,n,r)=>e.get(`flow_agent/${t}/task_node_info/${n}/`,void 0,r),retryFlowAgentTaskNode:(t,n,r,i)=>e.post(`flow_agent/${t}/node/${n}/retry/`,{task_id:r},i),skipFlowAgentTaskNode:(t,n,r,i)=>e.post(`flow_agent/${t}/node/${n}/skip/`,{task_id:r},i),userOperation:(t,n,r,i)=>e.post(`user_operation/`,{session_code:t,operation:n,payload:r},i)}),Y=e=>({sessionCode:e.session_code,sessionContentCount:e.session_content_count,sessionName:e.session_name,isTemporary:e.is_temporary,model:e.model,comment:e.comment,rate:e.rate,updatedAt:e.updated_at,createdAt:e.created_at,status:e.status,roleInfo:e.role_info?{collectionId:e.role_info.collection_id,collectionName:e.role_info.collection_name,content:e.role_info.content,variables:e.role_info.variables}:void 0,sessionProperty:{isAutoClear:e.session_property?.is_auto_clear,isAutoCalcPrompt:e.session_property?.is_auto_clac_prompt,labels:e.session_property?.labels}}),he=e=>({session_code:e.sessionCode,session_content_count:e.sessionContentCount,session_name:e.sessionName,is_temporary:e.isTemporary,model:e.model,comment:e.comment,rate:e.rate,updated_at:e.updatedAt,created_at:e.createdAt,status:e.status,role_info:e.roleInfo?{collection_id:e.roleInfo.collectionId,collection_name:e.roleInfo.collectionName,content:e.roleInfo.content,variables:e.roleInfo.variables}:void 0,session_property:{is_auto_clear:e.sessionProperty?.isAutoClear,is_auto_clac_prompt:e.sessionProperty?.isAutoCalcPrompt,labels:e.sessionProperty?.labels}}),ge=e=>({session_code:e.sessionCode,session_content_ids:e.sessionContentIds,rate:e.rate,comment:e.comment,labels:e.labels}),_e=e=>({sessionCode:e.session_code,sessionContentIds:e.session_content_ids,rate:e.rate,comment:e.comment,labels:e.lables}),ve=`upload_file`,ye=20,be=600,xe=2e4,Se=e=>{if(Array.isArray(e))return{page:1,numPages:1,count:e.length,results:e.map(Y)};let t=Array.isArray(e?.results)?e.results:[];return{page:e?.page??1,numPages:e?.num_pages??1,count:e?.count??t.length,results:t.map(Y)}},Ce=e=>{let t=e.split(`.`).pop();if(!t||t===e)return``;let n=t.replace(/[^A-Za-z0-9]/g,``).slice(0,20).toLowerCase();return n?`.${n}`:``},we=e=>`${ve}_${`${Date.now()}_${Math.random().toString(36).slice(2,8)}`}${Ce(e.name)}`,Te=e=>`attachment; filename="${e}"`,Ee=e=>({clearSession:(t,n)=>e.post(`chat_completion/${t}/clear/`,void 0,n),getSessions:(t,n)=>e.get(`session/`,{page:t?.page??1,page_size:t?.page_size??ye},n).then(Se),plusSession:(t,n)=>e.post(`session/`,he(t),n).then(e=>Y(e)),modifySession:(t,n)=>e.put(`session/${t.sessionCode}/`,he(t),n).then(e=>Y(e)),deleteSession:(t,n)=>e.delete(`session/${t}/`,void 0,n),batchDeleteSessions:(t,n)=>e.post(`session/batch_delete/`,{session_codes:t},n),getSession:(t,n)=>e.get(`session/${t}/`,void 0,n).then(e=>Y(e)),postSessionFeedback:(t,n)=>e.post(`session_feedback/`,ge(t),n).then(e=>_e(e)),getSessionFeedbackReasons:(t,n)=>e.get(`session_feedback/reasons/`,{rate:t},n),renameSession:(t,n)=>e.post(`session/${t}/ai_rename/`,void 0,n).then(e=>Y(e)),uploadFile:(t,n,r)=>{let i=we(n),a=encodeURIComponent(i),o=B(r?.headers)??{};return n.arrayBuffer().then(n=>e.post(`session/${t}/upload/${a}/`,n,{...r,headers:{...o,"Content-Disposition":Te(i)}}))},getPvFileDownloadUrl:(t,n,r,i)=>{let a=r?.expiresIn??be,o=r?.timeout??xe;return e.get(`session/${t}/pv_files/download_url/`,{expires_in:a,path:n},{...i,timeout:i?.timeout??o})},isResumeSession:(t,n)=>e.get(`session/${t}/is_resume/`,void 0,n)}),De=e=>({agent:pe(e),session:Ee(e),message:me(e),fetchClient:e}),Oe=e=>{let{fetchClient:t,reset:n}=le(e);return{...De(t),reset:n,onError:t.onError.bind(t)}},ke=()=>({agent:null,http:null,message:null,session:null,registerAgent(e){this.agent=e},registerHttp(e){this.http=e},registerMessage(e){this.message=e},registerSession(e){this.session=e}}),Ae=20,je=e=>{let n=(0,t.ref)([]),r=(0,t.ref)(null),i=(0,t.ref)(0),a=(0,t.ref)(0),o=(0,t.ref)(0),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=(0,t.ref)(!1),p=(0,t.ref)(!1),m=(0,t.ref)(!1),h=(0,t.computed)(()=>i.value>0&&i.value<a.value),g=e=>{n.value=n.value.map(t=>t.sessionCode===e.sessionCode?{...t,...e}:t),r.value?.sessionCode===e.sessionCode&&(r.value=n.value.find(t=>t.sessionCode===e.sessionCode)??{...r.value,...e})},_=t=>{c.value=!0;let r={page:t?.page??1,page_size:t?.page_size??Ae};return e.http?.session.getSessions(r).then(e=>{n.value=e.results,i.value=e.page,a.value=e.numPages,o.value=e.count}).finally(()=>{c.value=!1})},v=async(t=Ae)=>{if(!(!h.value||c.value||l.value)){l.value=!0;try{let r=await e.http?.session.getSessions({page:i.value+1,page_size:t});if(!r)return;let s=new Set(n.value.map(e=>e.sessionCode)),c=r.results.filter(e=>!s.has(e.sessionCode));n.value=[...n.value,...c],i.value=r.page,a.value=r.numPages,o.value=r.count}finally{l.value=!1}}},y=async(t,i)=>{e.agent?.abortChat();let a=i?.loadMessages!==!1,o=n.value.find(e=>e.sessionCode===t);!a&&o?r.value=o:await b(t),a?(await e.message?.getMessages(t),e.agent?.resumeStreamingChat(t),e.agent?.pollResumeSession(t)):e.message&&(e.message.list.value=[])},b=t=>(s.value=!0,e.http?.session.getSession(t).then(e=>{r.value=e}).finally(()=>{s.value=!1}));return{list:n,current:r,page:i,numPages:a,count:o,hasMore:h,isCurrentLoading:s,isListLoading:c,isLoadingMore:l,isCreateLoading:u,isUpdateLoading:d,isDeleteLoading:f,isBatchDeleteLoading:p,getSessions:_,loadMoreSessions:v,chooseSession:y,getSession:b,createSession:async(t,r)=>{u.value=!0;try{let i=await e.http?.session.plusSession(t);i&&(n.value.unshift(i),o.value+=1,await y(i.sessionCode,{loadMessages:r?.loadMessages??!1}))}finally{u.value=!1}},updateSession:t=>(d.value=!0,e.http?.session.modifySession(t).then(e=>{g(e)}).finally(()=>{d.value=!1})),deleteSession:async t=>{f.value=!0;try{await e.http?.session.deleteSession(t),n.value=n.value.filter(e=>e.sessionCode!==t),o.value=Math.max(0,o.value-1),r.value?.sessionCode===t&&n.value[0]?.sessionCode&&await y(n.value[0].sessionCode)}finally{f.value=!1}},batchDeleteSessions:async t=>{if(t.length!==0){p.value=!0;try{await e.http?.session.batchDeleteSessions(t);let i=new Set(t),a=n.value.length;n.value=n.value.filter(e=>!i.has(e.sessionCode));let s=a-n.value.length;o.value=Math.max(0,o.value-s),r.value&&i.has(r.value.sessionCode)&&(n.value.length>0?await y(n.value[0].sessionCode):(r.value=null,e.message&&(e.message.list.value=[])))}finally{p.value=!1}}},postSessionFeedback:t=>e.http?.session.postSessionFeedback(t),getSessionFeedbackReasons:t=>e.http?.session.getSessionFeedbackReasons(t),renameSession:t=>(m.value=!0,e.http?.session.renameSession(t).then(e=>(g({sessionCode:e.sessionCode,sessionName:e.sessionName}),e)).finally(()=>{m.value=!1})),uploadFile:(t,n)=>e.http?.session.uploadFile(t,n),getPvFileDownloadUrl:(t,n,r)=>e.http?.session.getPvFileDownloadUrl(t,n,r),reset:()=>{n.value=[],r.value=null,i.value=0,a.value=0,o.value=0,s.value=!1,c.value=!1,l.value=!1,u.value=!1,d.value=!1,f.value=!1,p.value=!1,m.value=!1}}},X=e=>{let t=ke(),n=Oe(e),r=z(t,e.protocol),i=E(t),a=je(t);return t.registerHttp(n),t.registerMessage(i),t.registerAgent(r),t.registerSession(a),{agent:r,session:a,message:i,http:n,reset:e=>{n.reset(e),r.reset(e.protocol),i.reset(),a.reset()},onError:n.onError}},Me=new Set([`context_type`,`__label`,`__key`,`__value`]);function Ne(e,n){return{urlPrefix:e,headers:()=>B((0,t.toValue)(n)?.headers),data:()=>B((0,t.toValue)(n)?.data)}}function Pe(e){return e?Array.isArray(e)?e.map(e=>{if(e.__key)return e;let t=Object.entries(e).filter(([e])=>!Me.has(e));if(t.length===0)return e;let[n,r]=t[0];return{...e,[n]:r,context_type:e.context_type??`input`,__label:e.__label??n,__key:e.__key??n,__value:e.__value??r}}):Object.entries(e).map(([e,t])=>({[e]:t,context_type:`input`,__label:e,__key:e,__value:t})):[]}function Fe(e,t){if(!t)return e;let n=t()?.context;if(!n)return e;let r=Pe(n);return r.length===0?e:Ie(e,r)}function Ie(e,t){if(t.length===0)return e??{};let n=e??{},r=n.extra??{},i=r.context??[],a=new Set(t.map(e=>e.__key).filter(Boolean)),o=i.filter(e=>{let t=e.__key;return!t||!a.has(t)});return{...n,extra:{...r,context:[...o,...t]}}}function Le(e){return e.some(e=>{if(!(`property`in e))return!0;let{property:t}=e;return!t?.extra?.pause})}function Re(e,t){let n=null;for(let r of e)if(r.role===`user`&&r.id!==void 0&&(n=r),r===t)break;return n}function ze(e,t){let n=Re(e,t);if(n?.id!==void 0)return typeof n.id==`number`?n.id:Number(n.id)}function Be(e){if(!e)return[];if(typeof e!=`string`)return[{type:`text`,content:e}];let t=[],n=/```custom-component\s*\n([\s\S]*?)\n```/g,r=0,i;for(;(i=n.exec(e))!==null;){if(i.index>r){let n=e.slice(r,i.index).trim();n&&t.push({type:`text`,content:n})}try{let e=JSON.parse(i[1]);t.push({type:`custom`,data:e,raw:i[1]})}catch{t.push({type:`text`,content:i[0]})}r=i.index+i[0].length}if(r<e.length){let n=e.slice(r).trim();n&&t.push({type:`text`,content:n})}return t}var Ve=e=>{if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let{message:t}=e;if(typeof t==`string`&&t)return Error(t);try{return Error(JSON.stringify(e)??String(e))}catch{return Error(String(e))}}return Error(String(e))},He=e=>{let t=document.cookie.match(RegExp(`(^| )${e}=([^;]*)(;|$)`));return t?t[2]:``},Ue=e=>e.endsWith(`/`)?e:`${e}/`,We=e=>{if(!e)return e;try{let t=new URL(e,window.location.origin);return t.protocol=window.location.protocol,Ue(t.toString())}catch(t){return console.warn(`Failed to normalize URL:`,t),Ue(e)}};async function Ge(e){if(typeof navigator<`u`&&`clipboard`in navigator)try{return await navigator.clipboard.writeText(e),!0}catch{}let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`-9999px`,t.style.opacity=`0`,document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand(`copy`)}catch{return!1}finally{document.body.removeChild(t)}}function Ke(){let e=window.navigator.userAgent.toLowerCase(),t=window.navigator.platform.toLowerCase();return t.includes(`mac`)||e.includes(`mac`)?`mac`:t.includes(`win`)||e.includes(`win`)?`windows`:t.includes(`linux`)||e.includes(`linux`)?`linux`:`unknown`}function qe(){return Je()?`Cmd + I`:`Ctrl + I`}function Je(){return Ke()===`mac`}function Ye(e){let t=Je()?e.metaKey:e.ctrlKey,n=e.key.toLowerCase()===`i`;return t&&n&&!e.shiftKey&&!e.altKey}var Xe=He(`blueking_language`)||`zh-cn`,Ze={小鲸:`BK GPT`,关闭:`close`,发送:`Send`,请输入:`Please input`,昨天:`yesterday`,"3天前":`3 days ago`,"5天前":`5 days ago`,"1周前":`1 week ago`,更早:`Older`,删除:`Delete`,恢复默认大小:`Restore default size`,"AI 小鲸":`AI BK GPT`,新增会话:`New chat`,历史会话:`History session`,停止生成:`Stop generating`,复制:`Copy`,编辑:`Edit`,今天:`Today`,搜索会话名称:`Search session name`,重命名:`Rename`,自动生成命名:`Auto generate name`,分享会话:`Share session`,无智能体使用权限:`No permission to use this agent`,暂无使用权限:`No permission`,请输入新的会话名称:`Please enter new session name`,"确认删除会话 ?":`Confirm delete session?`,搜索为空:`No search results`,暂无对话:`No conversations`,"加载中...":`Loading...`,转人工:`Transfer to human`,缩小高度:`Shrink height`,全选:`Select all`,取消:`Cancel`,确定:`Confirm`,分享链接已复制到剪贴板:`Share link copied to clipboard`,请求失败:`Request failed`,当前已是新会话:`Already in a new session`,"正在创建会话...":`Creating session...`},Qe={重命名:`重命名`,自动生成命名:`自动生成命名`,分享会话:`分享会话`,全选:`全选`,取消:`取消`,确定:`确定`,分享链接已复制到剪贴板:`分享链接已复制到剪贴板`,请求失败:`请求失败`},Z=e=>Xe===`en`?Ze[e]||e:Qe[e]||e;function $e(e){let{triggerRef:n,panelComponent:r,panelProps:i={},tippyOptions:o={}}=e,s=(0,t.ref)(null),c=null,l=()=>(c||=document.createElement(`div`),(0,t.render)((0,t.h)(r,{...i,onClose:p}),c),c),u=e=>{let t=e.target,r=n.value;if(r&&r.contains(t))return;let i=document.querySelector(`.tippy-box[data-theme~="history-panel"]`);if(i&&i.contains(t))return;let a=document.querySelector(`.tippy-box[data-theme~="more-menu-light"]`);a&&a.contains(t)||s.value?.state.isVisible&&s.value.hide()},d=()=>{if(!n.value||s.value)return;let e={placement:`bottom-end`,offset:[0,8],appendTo:document.querySelector(`.ai-blueking-container-wrapper`)||document.body};s.value=(0,a.default)(n.value,{content:l(),interactive:!0,trigger:`manual`,theme:`light history-panel`,arrow:!1,hideOnClick:!1,animation:`scale`,duration:200,delay:[0,0],...e,...o,onShow:()=>{s.value&&c&&s.value.setContent(l()),setTimeout(()=>{document.addEventListener(`click`,u,!1)},0)},onHidden:()=>{document.removeEventListener(`click`,u,!1)}})},f=()=>{s.value||d(),s.value?.show()},p=()=>{s.value?.hide()},m=()=>{s.value||d(),s.value?.state.isVisible?p():f()},h=e=>{e.stopPropagation(),m()},g=()=>{s.value&&=(s.value.destroy(),null),c&&=((0,t.render)(null,c),null),document.removeEventListener(`click`,u,!1)};return(0,t.onBeforeUnmount)(()=>{g()}),{show:f,hide:p,toggle:m,handleTriggerClick:h,destroy:g,isVisible:()=>s.value?.state.isVisible??!1}}var et={class:`history-group`},tt={class:`history-group-title`},nt={class:`history-group-list`},rt=(0,t.defineComponent)({__name:`history-group`,props:{currentSessionCode:{},sessions:{},title:{}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,et,[(0,t.createElementVNode)(`div`,tt,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(n.title),1)]),(0,t.createElementVNode)(`div`,nt,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])]))}}),Q=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},it=Q(rt,[[`__scopeId`,`data-v-3b603cb6`]]),at={class:`history-item-actions`},ot=Q((0,t.defineComponent)({__name:`history-item`,props:{isActive:{type:Boolean},isEditing:{type:Boolean},session:{}},emits:[`click`,`delete`,`edit`,`rename-cancel`,`rename-confirm`],setup(e,{emit:n}){let i=e,a=n,o=r.bkTooltips,s=(0,t.ref)(null),c=(0,t.ref)(``);(0,t.watch)(()=>i.isEditing,e=>{e&&(c.value=i.session.sessionName,(0,t.nextTick)(()=>{if(s.value)try{let e=s.value;e&&typeof e.focus==`function`&&e.focus();let t=e.$el?.querySelector(`input`);t&&typeof t.select==`function`&&t.select()}catch(e){console.warn(`Failed to focus edit input:`,e)}}))});let l=()=>{i.isEditing||a(`click`,i.session)},u=()=>{a(`edit`,i.session)},d=()=>{a(`delete`,i.session.sessionCode)},f=()=>{let e=c.value.trim();e&&e!==i.session.sessionName?a(`rename-confirm`,i.session.sessionCode,e):a(`rename-cancel`)},p=()=>{a(`rename-cancel`)},m=(e,t)=>{t.key===`Enter`?f():t.key===`Escape`&&p()};return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`history-item`,{active:i.isActive}]),onClick:l},[i.isEditing?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.Input),{key:1,ref_key:`editInputRef`,ref:s,modelValue:c.value,"onUpdate:modelValue":n[1]||=e=>c.value=e,style:{width:`100%`,height:`28px`},onBlur:f,onKeyup:m,onClick:n[2]||=(0,t.withModifiers)(()=>{},[`stop`])},null,8,[`modelValue`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)((0,t.unref)(r.OverflowTitle),{style:{width:`calc(100% - 42px)`}},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(i.session.sessionName),1)]),_:1}),(0,t.createElementVNode)(`span`,at,[(0,t.withDirectives)((0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-bianji`,onClick:(0,t.withModifiers)(u,[`stop`])},null,512),[[(0,t.unref)(o),{content:(0,t.unref)(Z)(`编辑`),boundary:`parent`}]]),(0,t.createVNode)((0,t.unref)(r.PopConfirm),{title:(0,t.unref)(Z)(`确认删除会话 ?`),content:`删除操作无法撤回,请谨慎操作!`,"confirm-config":{theme:`danger`},trigger:`click`,boundary:`parent`,onConfirm:d},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-shanchu`,onClick:n[0]||=(0,t.withModifiers)(()=>{},[`stop`])},null,512),[[(0,t.unref)(o),{content:(0,t.unref)(Z)(`删除`),boundary:`parent`}]])]),_:1},8,[`title`])])],64))],2))}}),[[`__scopeId`,`data-v-fea14d3a`]]),st={class:`history-search`},ct={class:`input-icon`},lt=Q((0,t.defineComponent)({__name:`history-search`,props:{modelValue:{default:``},placeholder:{default:``}},emits:[`update:modelValue`],setup(e,{emit:n}){let i=e,a=n,s=e=>{a(`update:modelValue`,e)};return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,st,[(0,t.createVNode)((0,t.unref)(r.Input),{"model-value":i.modelValue,behavior:`simplicity`,placeholder:i.placeholder||(0,t.unref)(Z)(`搜索会话名称`),style:{height:`22px`},"onUpdate:modelValue":s},{suffix:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,ct,[(0,t.createVNode)((0,t.unref)(o.Search))])]),_:1},8,[`model-value`,`placeholder`])]))}}),[[`__scopeId`,`data-v-e7ff40b2`]]),ut={class:`history-dropdown-header`},dt={class:`history-dropdown-header-title`},ft={class:`history-dropdown-content`},pt={key:0,class:`history-dropdown-loading`},mt={class:`history-dropdown-loading-dots`},ht=40,gt=Q((0,t.defineComponent)({__name:`index`,props:{sessionBusinessManager:{}},emits:[`close`,`session-delete`,`session-rename`,`session-switch`],setup(e,{emit:n}){let i=e,a=n,o=(0,t.ref)(``),s=(0,t.ref)(null),c=(0,t.computed)(()=>i.sessionBusinessManager.currentSession.value?.sessionCode),l=(0,t.computed)(()=>i.sessionBusinessManager.isLoadingMore.value),u=e=>{let t=e.target;t.scrollHeight-t.scrollTop-t.clientHeight>ht||i.sessionBusinessManager.hasMoreSessions.value&&(i.sessionBusinessManager.isLoadingMore.value||i.sessionBusinessManager.loadMoreSessions())},d=(0,t.computed)(()=>{let e={today:{key:`today`,alias:Z(`今天`),sessionList:[]},yesterday:{key:`yesterday`,alias:Z(`昨天`),sessionList:[]},"3days":{key:`3days`,alias:Z(`3天前`),sessionList:[]},"5days":{key:`5days`,alias:Z(`5天前`),sessionList:[]},"1week":{key:`1week`,alias:Z(`1周前`),sessionList:[]},before:{key:`before`,alias:Z(`更早`),sessionList:[]}},t=i.sessionBusinessManager.sessionList.value.filter(e=>e.sessionName.toLowerCase().includes(o.value.toLowerCase())),n=new Date,r=new Date(n);r.setDate(r.getDate()-1);let a=new Date(n);a.setDate(n.getDate()-3);let s=new Date(n);s.setDate(n.getDate()-5);let c=new Date(n);c.setDate(n.getDate()-7);for(let i of t){let t=new Date(i.createdAt||``),o=t.toDateString();o===n.toDateString()?e.today.sessionList.push(i):o===r.toDateString()?e.yesterday.sessionList.push(i):t>=a&&t>s?e[`3days`].sessionList.push(i):t>=s&&t>c?e[`5days`].sessionList.push(i):t>=c?e[`1week`].sessionList.push(i):e.before.sessionList.push(i)}for(let t of Object.values(e))t.sessionList.sort((e,t)=>{let n=new Date(e.createdAt||0).getTime();return new Date(t.createdAt||0).getTime()-n});return Object.values(e).filter(e=>e.sessionList.length>0)}),f=e=>c.value===e,p=e=>{f(e.sessionCode)||(a(`session-switch`,e.sessionCode),a(`close`))},m=e=>{s.value=e.sessionCode},h=e=>{a(`session-delete`,e)},g=(e,t)=>{let n=i.sessionBusinessManager.sessionList.value.find(t=>t.sessionCode===e);n&&(n.sessionName=t),s.value=null,a(`session-rename`,e,t)},_=()=>{s.value=null};return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`bkai-history-dropdown`,onScroll:u},[(0,t.createElementVNode)(`div`,ut,[(0,t.createElementVNode)(`h1`,dt,(0,t.toDisplayString)((0,t.unref)(Z)(`历史会话`)),1),(0,t.createVNode)(lt,{modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,placeholder:(0,t.unref)(Z)(`搜索会话名称`)},null,8,[`modelValue`,`placeholder`])]),(0,t.createElementVNode)(`div`,ft,[d.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(d.value,e=>((0,t.openBlock)(),(0,t.createBlock)(it,{key:e.key,"current-session-code":c.value,sessions:e.sessionList,title:e.alias},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.sessionList,e=>((0,t.openBlock)(),(0,t.createBlock)(ot,{key:e.sessionCode,"is-active":f(e.sessionCode),"is-editing":s.value===e.sessionCode,session:e,onClick:p,onDelete:h,onEdit:m,onRenameCancel:_,onRenameConfirm:g},null,8,[`is-active`,`is-editing`,`session`]))),128))]),_:2},1032,[`current-session-code`,`sessions`,`title`]))),128)),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pt,[(0,t.createElementVNode)(`span`,mt,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(3,e=>(0,t.createElementVNode)(`i`,{key:e,class:`history-dropdown-loading-dot`,style:(0,t.normalizeStyle)({"--dot-index":e-1})},null,4)),64))])])):(0,t.createCommentVNode)(`v-if`,!0)],64)):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.Exception),{key:1,description:o.value?(0,t.unref)(Z)(`搜索为空`):(0,t.unref)(Z)(`暂无对话`),scene:`part`,style:{"margin-top":`100px`},type:o.value?`search-empty`:`empty`},null,8,[`description`,`type`]))])],32))}}),[[`__scopeId`,`data-v-bf2401b6`]]);function _t(e){return e.sessionBusinessManager?$e({triggerRef:e.triggerRef,panelComponent:gt,panelProps:{sessionBusinessManager:e.sessionBusinessManager,onSessionSwitch:e.onSessionSwitch,onSessionDelete:e.onSessionDelete,onSessionRename:e.onSessionRename},tippyOptions:{placement:`bottom-end`,offset:[0,8],appendTo:()=>document.querySelector(`.ai-blueking-panel`)||document.body}}):{handleTriggerClick:()=>{},show:()=>{},hide:()=>{},toggle:()=>{},destroy:()=>{},isVisible:()=>!1}}var vt={class:`left-section`},yt={class:`logo`},bt=[`src`],xt={key:0,class:`rename-tooltip`},St={class:`rename-content`},Ct={key:0,class:`tippy-dropdown-menu`},wt={key:1,class:`bkai-icon bkai-auto-refresh-line`},Tt={class:`right-section`},Et=Q((0,t.defineComponent)({__name:`index`,props:{title:{default:``},agentName:{default:``},sessionName:{default:``},isCompressionHeight:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},showHistoryIcon:{type:Boolean,default:!0},showNewChatIcon:{type:Boolean,default:!0},showCompressionIcon:{type:Boolean,default:!0},showMoreIcon:{type:Boolean,default:!0},enableChatSession:{type:Boolean,default:!0},hasPermission:{type:Boolean,default:!0},chatGroup:{default:()=>({enabled:!1,staff:[],username:``})},hasSessionContents:{type:Boolean},autoGenerateLoading:{type:Boolean},dropdownMenuConfig:{default:()=>({showRename:!0,showAutoGenerate:!0,showShare:!1})},sessionBusinessManager:{default:void 0},selectedLlmCode:{default:void 0},renderMode:{default:n.RenderMode.Chat}},emits:[`close`,`toggle-compression`,`new-chat`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`,`history-session-switch`,`history-session-delete`,`history-session-rename`,`new-chat-created`],setup(e,{expose:a,emit:o}){let s=e,c=o,l=r.bkTooltips,u=(0,t.ref)(null),d=(0,t.ref)(null),f=(0,t.useTemplateRef)(`moreMenuTippyRef`),p=(0,t.ref)(!1),m=(0,t.ref)(``),h=(0,t.ref)(null),g=(0,t.ref)(!1),_=()=>document.querySelector(`.ai-blueking-panel`)||document.body,v=null,b=()=>{!d.value||!s.sessionBusinessManager||(v=_t({triggerRef:d,sessionBusinessManager:s.sessionBusinessManager,onSessionSwitch:e=>c(`history-session-switch`,e),onSessionDelete:e=>c(`history-session-delete`,e),onSessionRename:(e,t)=>c(`history-session-rename`,e,t)}))},x=(0,t.computed)(()=>s.hasPermission?s.enableChatSession?s.title||`${s.agentName||``}-${s.sessionName||``}`:s.agentName:Z(`无智能体使用权限`)),S=(0,t.computed)(()=>s.isCompressionHeight?`bkai-morenchicun`:`bkai-yasuo`),C=(0,t.computed)(()=>s.isCompressionHeight?Z(`恢复默认尺寸`):Z(`缩小高度`)),w=(0,t.computed)(()=>s.hasPermission),T=e=>w.value?e:Z(`暂无使用权限`),E=()=>({cursor:w.value?`pointer`:`not-allowed`}),D=(0,t.ref)(!1),O=async()=>{if(!D.value){D.value=!0;try{if(s.sessionBusinessManager)try{let e=await s.sessionBusinessManager.createNewSession({model:s.selectedLlmCode});e&&c(`new-chat-created`,{sessionCode:e.sessionCode,sessionName:e.sessionName,createdAt:e.createdAt})}catch(e){console.error(`Failed to create new session:`,e),(0,r.Message)({theme:`error`,message:Z(`创建会话失败`)})}c(`new-chat`)}finally{D.value=!1}}},k=e=>{e.stopPropagation(),s.sessionBusinessManager?(v||b(),v&&v.handleTriggerClick(e)):c(`history-click`,e)},A=()=>{c(`help-click`)},j=e=>{e.stopPropagation(),v&&v.isVisible()&&v.hide(),f.value&&(g.value?f.value.hide():f.value.show())},M=()=>{f.value?.hide(),ee()},N=()=>{!s.hasSessionContents||s.autoGenerateLoading||c(`auto-generate-name`)},P=()=>{s.hasSessionContents&&(f.value?.hide(),c(`share`))},ee=()=>{document.removeEventListener(`click`,R),m.value=s.sessionName||``,p.value=!0,setTimeout(()=>{document.addEventListener(`click`,R)},100),setTimeout(()=>{if(h.value)try{let e=h.value;e&&typeof e.focus==`function`&&e.focus();let t=e.$el?.querySelector(`input`);t&&typeof t.select==`function`&&t.select()}catch(e){console.warn(`Failed to focus rename input:`,e)}},100)},F=()=>{let e=m.value.trim();if(!e){I();return}c(`rename`,e),p.value=!1,m.value=``},I=()=>{p.value=!1,m.value=``},L=(e,t)=>{m.value=e,t.key===`Enter`?F():t.key===`Escape`&&I()},R=e=>{if(!p.value)return;let t=e.target,n=document.querySelector(`.rename-tooltip`);n&&!n.contains(t)&&I()};return(0,t.watch)(()=>s.autoGenerateLoading,(e,t)=>{t&&!e&&g.value&&f.value?.hide()}),(0,t.onMounted)(()=>{s.sessionBusinessManager&&b(),document.addEventListener(`click`,R)}),(0,t.onBeforeUnmount)(()=>{v&&=(v.destroy(),null),document.removeEventListener(`click`,R)}),a({headerRef:u,historyIconRef:d}),(a,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`headerRef`,ref:u,class:(0,t.normalizeClass)([`ai-header drag-handle`,{draggable:s.draggable}])},[(0,t.createElementVNode)(`div`,vt,[(0,t.createElementVNode)(`div`,yt,[(0,t.createElementVNode)(`img`,{alt:`logo`,src:(0,t.unref)(y)},null,8,bt)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`title`,{"title-with-tooltip":p.value}])},[(0,t.createTextVNode)((0,t.toDisplayString)(x.value)+` `,1),(0,t.createCommentVNode)(` 重命名 tooltip 直接绑定在 title 上 `),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xt,[(0,t.createElementVNode)(`div`,St,[(0,t.createVNode)((0,t.unref)(r.Input),{ref_key:`renameInputRef`,ref:h,modelValue:m.value,"onUpdate:modelValue":o[0]||=e=>m.value=e,class:`rename-input`,placeholder:(0,t.unref)(Z)(`请输入新的会话名称`),onKeyup:L},null,8,[`modelValue`,`placeholder`]),(0,t.createElementVNode)(`div`,{class:`rename-buttons`},[(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-check-1 rename-btn confirm-btn`,onClick:F}),(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-close rename-btn cancel-btn`,onClick:I})])])])):(0,t.createCommentVNode)(`v-if`,!0)],2),(0,t.createCommentVNode)(` 更多图标下拉菜单 - 使用 vue-tippy `),s.showMoreIcon&&w.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(i.Tippy),{key:0,ref_key:`moreMenuTippyRef`,ref:f,arrow:!1,"append-to":_,offset:[0,4],interactive:``,placement:`bottom-start`,theme:`ai-blueking-light more-menu-light light`,trigger:`manual`,onHidden:o[1]||=e=>g.value=!1,onShown:o[2]||=e=>g.value=!0},{content:(0,t.withCtx)(()=>[g.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ct,[s.dropdownMenuConfig?.showRename?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`tippy-menu-item`,onClick:M},[o[7]||=(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-bianji`},null,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Z)(`重命名`)),1)])):(0,t.createCommentVNode)(`v-if`,!0),s.dropdownMenuConfig?.showAutoGenerate?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`tippy-menu-item`,{disabled:!s.hasSessionContents||s.autoGenerateLoading}]),onClick:N},[s.autoGenerateLoading?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.Loading),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):((0,t.openBlock)(),(0,t.createElementBlock)(`i`,wt)),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Z)(`自动生成命名`)),1)],2)),[[(0,t.unref)(i.directive),{content:s.hasSessionContents?``:(0,t.unref)(Z)(`请先发起会话`),theme:`ai-blueking-tooltip`,arrow:!0,delay:[300,0],appendTo:_}]]):(0,t.createCommentVNode)(`v-if`,!0),s.dropdownMenuConfig?.showShare&&s.renderMode!==(0,t.unref)(n.RenderMode).Test?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)([`tippy-menu-item`,{disabled:!s.hasSessionContents}]),onClick:P},[o[8]||=(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-fenxiang`},null,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Z)(`分享会话`)),1)],2)),[[(0,t.unref)(i.directive),{content:s.hasSessionContents?``:(0,t.unref)(Z)(`请先发起会话`),theme:`ai-blueking-tooltip`,arrow:!0,delay:[300,0],appendTo:_}]]):(0,t.createCommentVNode)(`v-if`,!0)])):(0,t.createCommentVNode)(`v-if`,!0)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,{class:`bkai-icon bkai-more`,onClick:j})]),_:1},512)):(0,t.createCommentVNode)(`v-if`,!0)]),(0,t.renderSlot)(a.$slots,`headerLeft`,{},void 0,!0),(0,t.createElementVNode)(`div`,Tt,[(0,t.createCommentVNode)(` 新增会话按钮 `),s.showNewChatIcon&&e.enableChatSession!==!1?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:(0,t.normalizeClass)([`bkai-icon`,`bkai-xinzengliaotian`,{disabled:!w.value||D.value||!e.hasSessionContents}]),style:(0,t.normalizeStyle)(E()),onClick:o[3]||=t=>w.value&&!D.value&&e.hasSessionContents?O():void 0},null,6)),[[(0,t.unref)(l),{content:D.value?(0,t.unref)(Z)(`正在创建会话...`):e.hasSessionContents?T((0,t.unref)(Z)(`新增会话`)):(0,t.unref)(Z)(`当前已是新会话`),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createCommentVNode)(` 历史会话按钮 `),s.showHistoryIcon&&e.enableChatSession!==!1?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:1,ref_key:`historyIconRef`,ref:d,class:(0,t.normalizeClass)([`bkai-icon`,`bkai-history`,{disabled:!w.value}]),style:(0,t.normalizeStyle)(E()),onClick:o[4]||=e=>w.value?k(e):void 0},null,6)),[[(0,t.unref)(l),{content:T((0,t.unref)(Z)(`历史会话`)),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),e.chatGroup?.enabled?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:2,class:`bkai-icon bkai-zhushou`,onClick:A},null,512)),[[(0,t.unref)(l),{content:(0,t.unref)(Z)(`转人工`),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),s.showCompressionIcon?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:3,class:(0,t.normalizeClass)([`bkai-icon`,S.value]),onClick:o[5]||=e=>c(`toggle-compression`)},null,2)),[[(0,t.unref)(l),{content:C.value,boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),(0,t.withDirectives)((0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-close-line-2`,onClick:o[6]||=e=>c(`close`)},null,512),[[(0,t.unref)(l),{content:(0,t.unref)(Z)(`关闭`),boundary:`parent`}]])])],2))}}),[[`__scopeId`,`data-v-6dcebb8e`]]);function Dt(e){let t=We(e);fetch(t,{method:`GET`,credentials:`include`}).catch(()=>{})}async function Ot(e,t={}){let{enableModelSelect:n=!0}=t,r=[e.agent.getAgentInfo(),e.session.getSessions()];n&&typeof e.agent.getLlms==`function`&&r.push(e.agent.getLlms().catch(e=>{console.error(`[runAgentBootstrap] Failed to load models:`,e)})),await Promise.all(r);let i=e.agent.info.value?.saasUrl;i&&Dt(i)}var kt=class{_isGenerating;_isModelsLoading;_isStopLoading;_models;_selectedLlmCode;_selectedModelName;_selectedModelSupportsVision;agentModule;config;eventEmitter;messageModule;sessionModule;hasValidSelection(){let e=this._selectedLlmCode.value;return!!e&&this._models.value.some(t=>t.llm_code===e)}isSessionPending(){return this.sessionModule!=null&&this.sessionModule.current.value==null}applySessionModel(e){let t=this._models.value;if(t.length===0){this._selectedLlmCode.value=void 0;return}if(this.isSessionPending())return;if(e&&t.some(t=>t.llm_code===e)){this._selectedLlmCode.value=e;return}if(this.hasValidSelection())return;let n=t.find(e=>e.property?.default)??t[0];this._selectedLlmCode.value=n?.llm_code}async persistSessionModel(e){let t=this.sessionModule?.current.value;if(!(!t?.sessionCode||!e)&&t.model!==e)try{await this.sessionModule.updateSession({...t,model:e})}catch(e){console.error(`[ChatBusinessManager] Failed to persist session model:`,e),this.emit(`chat-error`,{action:`persistSessionModel`,error:e})}}resolveChatModel(e){return(e??this._selectedLlmCode.value)||void 0}autoRenameSessionIfNeeded(e){let t=this.sessionModule;if(!t||this.messageModule.list.value.length!==1)return;let n=t.renameSession(e);n&&n.then(n=>{let r=t.list.value.find(t=>t.sessionCode===e)??(t.current?.value?.sessionCode===e?t.current.value:null),i=n?.sessionName??r?.sessionName;i&&this.config.onSessionRenamed?.(i,e)}).catch(e=>{console.error(`[ChatBusinessManager] Auto rename session failed:`,e)})}emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,n,r=null,i=null,a={}){this.agentModule=e,this.messageModule=n,this.sessionModule=r,this.eventEmitter=i,this.config=a,this._isGenerating=(0,t.ref)(!1),this._isStopLoading=(0,t.ref)(!1),this._isModelsLoading=(0,t.ref)(!1),this._models=(0,t.ref)([]),this._selectedLlmCode=(0,t.ref)(void 0),this._selectedModelName=(0,t.computed)(()=>{let e=this._selectedLlmCode.value;return e?this._models.value.find(t=>t.llm_code===e)?.llm_name??``:``}),this._selectedModelSupportsVision=(0,t.computed)(()=>{let e=this._selectedLlmCode.value;return e?!!this._models.value.find(t=>t.llm_code===e)?.property?.support_vision:!1}),this.sessionModule&&(0,t.watch)(()=>this.sessionModule.current.value?.sessionCode,()=>{this.applySessionModel(this.sessionModule.current.value?.model)})}get isGenerating(){return this._isGenerating}get isStopLoading(){return this._isStopLoading}get isMessagesLoading(){return this.messageModule.isListLoading}get models(){return this._models}get isModelsLoading(){return this._isModelsLoading}get selectedLlmCode(){return this._selectedLlmCode}get selectedModelName(){return this._selectedModelName}get selectedModelSupportsVision(){return this._selectedModelSupportsVision}get messages(){return this.messageModule.list}async loadModels(e={}){this._isModelsLoading.value=!0;try{let t=this.agentModule.models?.value;if(!e.force&&Array.isArray(t)&&t.length>0)this._models.value=[...t];else if(typeof this.agentModule.getLlms==`function`){let e=await this.agentModule.getLlms();this._models.value=Array.isArray(e)?e:[]}else this._models.value=[];this.applySessionModel(this.sessionModule?.current.value?.model)}catch(e){console.error(`[ChatBusinessManager] Failed to load models:`,e),this._models.value=[],this._selectedLlmCode.value=void 0}finally{this._isModelsLoading.value=!1}}setModels(e){this._models.value=e,this.applySessionModel(this.sessionModule?.current.value?.model)}setSelectedModelByName(e){if(!e){this._selectedLlmCode.value=void 0;return}let t=this._models.value.find(t=>t.llm_name===e);this._selectedLlmCode.value=t?.llm_code,this.persistSessionModel(t?.llm_code)}setSelectedModel(e){this._selectedLlmCode.value=e?.llm_code,this.persistSessionModel(e?.llm_code)}get openingRemark(){return this.config.openingRemark||``}get predefinedQuestions(){return this.config.predefinedQuestions||[]}async batchDeleteMessages(e){try{await this.messageModule.deleteMessages(e);let t=e.map(e=>e.id).filter(Boolean);this.emit(`messages-batch-deleted`,{messageIds:t})}catch(e){throw console.error(`Failed to batch delete messages:`,e),this.emit(`chat-error`,{action:`batch-delete-messages`,error:e}),e}}async deleteMessage(e){try{await this.messageModule.deleteMessages([e]),this.emit(`message-deleted`,{messageId:e.id})}catch(e){throw console.error(`Failed to delete message:`,e),this.emit(`chat-error`,{action:`delete-message`,error:e}),e}}handleStreamEnd(){this._isGenerating.value=!1,this.emit(`receive-end`,{})}handleStreamError(e){this._isGenerating.value=!1,this.emit(`receive-error`,{error:e})}handleStreamStart(){this._isGenerating.value=!0,this.emit(`receive-start`,{})}async regenerateFromAIMessages(e,t){try{if(!e||e.length===0)throw Error(`No AI messages provided`);let n=this.messages.value,r=Re(n,e[0]);if(!r)throw Error(`No user message found before AI messages`);let i=r.id;if(i===void 0)throw Error(`User message has no id`);await this.regenerateMessage(String(i),t)}catch(e){throw console.error(`Failed to regenerate from AI messages:`,e),this.emit(`chat-error`,{action:`regenerate`,error:e}),e}}async regenerateMessage(e,t){try{let n=this.messages.value,r=n.findIndex(t=>String(t.id)===e);if(r===-1)throw Error(`Message not found: ${e}`);let i=n[r];if(i.role!==x.User)throw Error(`Can only regenerate from user messages`);let a=n.slice(r),o=typeof i.content==`string`?i.content:JSON.stringify(i.content),s=i.property;this._isGenerating.value=!0;let c=this.messageModule.deleteMessages(a);this.agentModule.chat(o,t,void 0,void 0,s,this.resolveChatModel()),this.emit(`chat-regenerate`,{messageId:e}),c.catch(e=>{console.error(`[regenerateMessage] Delete API error:`,e)})}catch(e){throw console.error(`Failed to regenerate message:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`regenerate`,error:e}),e}}async resendMessageWithProperty(e,t,n,r){try{let i=this.messages.value,a=i.findIndex(t=>String(t.id)===e);if(a===-1)throw Error(`Message not found: ${e}`);if(i[a].role!==x.User)throw Error(`Can only resend user messages`);let o=i.slice(a);this._isGenerating.value=!0;let s=this.messageModule.deleteMessages(o);this.agentModule.chat(n,t,void 0,void 0,r,this.resolveChatModel()),this.emit(`chat-resend`,{messageId:e}),s.catch(e=>{console.error(`[resendMessageWithProperty] Delete API error:`,e)})}catch(e){throw console.error(`Failed to resend message with property:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`resend`,error:e}),e}}async retryMessage(e){try{console.warn(`retryMessage not implemented yet`),this.emit(`chat-retry`,{messageId:e})}catch(e){throw console.error(`Failed to retry message:`,e),this.emit(`chat-error`,{action:`retry`,error:e}),e}}async sendMessage(e,t,n={}){try{if(!t)throw Error(`No active session. Please create or select a session first.`);this._isGenerating.value=!0,this.emit(`send-message`,{content:e}),await this.agentModule.chat(e,t,void 0,void 0,n.property,this.resolveChatModel(n.model)),this.autoRenameSessionIfNeeded(t)}catch(e){throw console.error(`Failed to send message:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`send`,error:e}),e}}async stopGeneration(){let e=this.sessionModule?.current?.value?.sessionCode??``;this._isStopLoading.value=!0;try{await this.agentModule.stopChat(e),this._isGenerating.value=!1,this.emit(`stop`,{})}catch(e){throw console.error(`Failed to stop generation:`,e),this.emit(`chat-error`,{action:`stop`,error:e}),e}finally{this._isStopLoading.value=!1}}},At=class{agentModule;config;eventEmitter;messageModule;sessionModule;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,t=null,n=null,r={},i=null){this.sessionModule=e,this.agentModule=t,this.eventEmitter=n,this.config=r,this.messageModule=i}get currentSession(){return this.sessionModule.current}get isCreateLoading(){return this.sessionModule.isCreateLoading}get isCurrentLoading(){return this.sessionModule.isCurrentLoading}get isDeleteLoading(){return this.sessionModule.isDeleteLoading}get isListLoading(){return this.sessionModule.isListLoading}get isLoadingMore(){return this.sessionModule.isLoadingMore}get isUpdateLoading(){return this.sessionModule.isUpdateLoading}get hasMoreSessions(){return this.sessionModule.hasMore}get sessionCount(){return this.sessionModule.count}get sessionList(){return this.sessionModule.list}async createNewSession(e){let t=this.currentSession.value;if(t?.sessionCode&&this.isCurrentSessionEmpty(t))return null;await this.loadSessions();let n=this.sessionList.value;if(n.length>0){let r=n[0];if(r.sessionCode===t?.sessionCode?this.isCurrentSessionEmpty(r):this.isSessionEmpty(r))return await this.syncSessionModelIfNeeded(e?.model,r),await this.switchSession(r.sessionCode,{loadMessages:!1}),null}return await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode(),model:e?.model}),this.sessionModule.current.value}generateSessionCode(){return`new_session_${Date.now()}`}async syncSessionModelIfNeeded(e,t){if(!e)return;let n=t??this.sessionModule.current.value;!n?.sessionCode||n.model===e||await this.sessionModule.updateSession({...n,model:e})}async createSession(e={}){if(this.config.enableChatSession===!1)throw Error(`Chat session is disabled`);try{let t={sessionName:e.name||`新会话`,sessionCode:e.sessionCode||`session_${Date.now()}`,isTemporary:e.isTemporary||!1,...e.model?{model:e.model}:{},sessionProperty:{labels:e.labels}};await this.sessionModule.createSession(t);let n=this.agentModule?.info.value;n&&this.agentModule?.handleRole(n,t.sessionCode),this.emit(`session-created`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to create session:`,e),this.emit(`session-error`,{action:`create`,error:e}),e}}async deleteSession(e){try{await this.sessionModule.deleteSession(e),this.emit(`session-deleted`,{sessionCode:e})}catch(e){throw console.error(`Failed to delete session:`,e),this.emit(`session-error`,{action:`delete`,error:e}),e}}async getSession(e){try{await this.sessionModule.getSession(e)}catch(e){throw console.error(`Failed to get session:`,e),this.emit(`session-error`,{action:`get`,error:e}),e}}isSessionEmpty(e){let t=this.findSession(e.sessionCode)?.sessionContentCount??e.sessionContentCount;return t==null?!1:t===0}isCurrentSessionEmpty(e){return this.messageModule&&Le(this.messageModule.list.value)?!1:this.isSessionEmpty(e)}findSession(e){return this.sessionList.value.find(t=>t.sessionCode===e)}async loadRecentSession(e){try{if(this.currentSession.value?.sessionCode)return;e?.skipLoadSessions||await this.loadSessions();let t=this.sessionList.value;if(this.config.initialSessionCode){let e=this.findSession(this.config.initialSessionCode);await this.switchSession(this.config.initialSessionCode,{loadMessages:e?!this.isSessionEmpty(e):!0});return}if(t.length>0){let n=t[0],r=(n.sessionContentCount??0)>0,i=e?.alwaysCreateNewSession??this.config.alwaysCreateNewSession??!1;r||i?await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode()}):await this.switchSession(n.sessionCode,{loadMessages:!1});return}await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode()})}catch(e){throw console.error(`Failed to load recent session:`,e),e}}async loadSessions(){try{await this.sessionModule.getSessions(),this.emit(`sessions-loaded`,{sessions:this.sessionList.value})}catch(e){throw console.error(`Failed to load sessions:`,e),this.emit(`session-error`,{action:`load`,error:e}),e}}async loadMoreSessions(){try{await this.sessionModule.loadMoreSessions()}catch(e){throw console.error(`Failed to load more sessions:`,e),this.emit(`session-error`,{action:`loadMore`,error:e}),e}}async switchSession(e,t){try{await this.sessionModule.chooseSession(e,t),this.emit(`session-switched`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to switch session:`,e),this.emit(`session-error`,{action:`switch`,error:e}),e}}async updateSessionName(e,t){try{let n=this.sessionList.value.find(t=>t.sessionCode===e);if(!n)throw Error(`Session not found: ${e}`);await this.sessionModule.updateSession({...n,sessionName:t}),this.emit(`session-updated`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to update session name:`,e),this.emit(`session-error`,{action:`update`,error:e}),e}}},jt=class{messageModule;sessionModule;constructor(e,t){this.messageModule=e,this.sessionModule=t}async shareMessages(e){if(e.length===0)throw Error(`No messages to share`);let t=this.sessionModule.current?.value?.sessionCode;if(!t)throw Error(`No active session`);let n=await this.messageModule.shareMessages(t,e);if(!n)throw Error(`Share failed: no result returned`);return{shareUrl:`${n.share_page}share-page/${n.share_token}`,userMessageIds:e.map(e=>String(e.id))}}},Mt=class{_agentShortcuts;_effectiveShortcuts;_propsShortcuts;eventEmitter;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e=null,n=[]){this._propsShortcuts=(0,t.ref)(n),this._agentShortcuts=(0,t.ref)([]),this.eventEmitter=e,this._effectiveShortcuts=(0,t.computed)(()=>this._propsShortcuts.value.length>0?this._propsShortcuts.value:this._agentShortcuts.value.length>0?this._agentShortcuts.value:[])}get count(){return this._effectiveShortcuts.value.length}get effectiveShortcuts(){return this._effectiveShortcuts}get hasShortcuts(){return this._effectiveShortcuts.value.length>0}get shortcuts(){return this._effectiveShortcuts}addShortcut(e){this._propsShortcuts.value.push(e)}clear(){this._propsShortcuts.value=[],this._agentShortcuts.value=[]}filterByTextLength(e,t){return!e||e.length>t?[]:this._effectiveShortcuts.value}filterShortcuts(e,t){return t?this._effectiveShortcuts.value.filter(n=>t(n,e)):this._effectiveShortcuts.value}getShortcutById(e){return this._effectiveShortcuts.value.find(t=>t.id===e)}handleShortcutClick(e,t,n=`main`){this.emit(`shortcut-click`,{shortcut:e,selectedText:t,source:n})}limitShortcuts(e){return this._effectiveShortcuts.value.slice(0,e)}removeShortcut(e){this._propsShortcuts.value=this._propsShortcuts.value.filter(t=>t.id!==e)}setAgentShortcuts(e){this._agentShortcuts.value=e}setShortcuts(e){this._propsShortcuts.value=e}},Nt=class{_isCompressed;_isDraggingOrResizing;_nimbusMinimized;_panelVisible;_positionAndSize;cleanupFunctions;config;containerRef=null;debugMode;listeners;onceListeners;constructor(e={}){this.config=e,this.listeners=new Map,this.onceListeners=new Map,this.debugMode=e.debug??!1,this.cleanupFunctions=[],this._panelVisible=(0,t.ref)(e.initialPanelVisible??!1),this._nimbusMinimized=(0,t.ref)(e.initialNimbusMinimized??!1),this._isDraggingOrResizing=(0,t.ref)(!1),this._isCompressed=(0,t.ref)(!1),this._positionAndSize=(0,t.ref)({x:0,y:0,width:400,height:window.innerHeight})}get container(){return{updatePosition:this.updatePosition.bind(this),updateSize:this.updateSize.bind(this),updatePositionAndSize:this.updatePositionAndSize.bind(this),toggleCompression:this.toggleCompression.bind(this),expandForSidePanel:this.expandForSidePanel.bind(this),collapseSidePanel:this.collapseSidePanel.bind(this),positionAndSize:(0,t.computed)(()=>this.containerRef?.positionAndSize?.value??this._positionAndSize.value),isCompressed:(0,t.computed)(()=>this._isCompressed.value),isSidePanelExpanded:(0,t.computed)(()=>this.containerRef?.isSidePanelExpanded?.value??!1)}}get isCompressed(){return this._isCompressed}get isDraggingOrResizing(){return this._isDraggingOrResizing}get nimbus(){return{minimize:this.minimizeNimbus.bind(this),restore:this.restoreNimbus.bind(this),toggle:this.toggleNimbus.bind(this),isMinimized:(0,t.computed)(()=>this._nimbusMinimized.value)}}get nimbusMinimized(){return this._nimbusMinimized}get panel(){return{show:this.showPanel.bind(this),hide:this.hidePanel.bind(this),toggle:this.togglePanel.bind(this),isVisible:(0,t.computed)(()=>this._panelVisible.value)}}get panelVisible(){return this._panelVisible}get state(){return{panelVisible:this._panelVisible,nimbusMinimized:this._nimbusMinimized,isDraggingOrResizing:this._isDraggingOrResizing,positionAndSize:this._positionAndSize}}collapseSidePanel(){this.containerRef?.collapseSidePanel&&this.containerRef.collapseSidePanel()}destroy(){this.listeners.clear(),this.onceListeners.clear(),this.cleanupFunctions.forEach(e=>e()),this.cleanupFunctions=[],this.debugMode&&console.debug(`[ComponentManager] Destroyed`)}emit(e,t){this.debugMode&&console.debug(`[ComponentManager] Emitting "${e}"`,t);let n=this.listeners.get(e);n&&n.forEach(n=>{try{n(t)}catch(t){console.error(`[ComponentManager] Error in listener for "${e}":`,t)}});let r=this.onceListeners.get(e);if(r&&r.size>0){let n=Array.from(r);this.onceListeners.delete(e),n.forEach(n=>{try{n(t)}catch(t){console.error(`[ComponentManager] Error in once listener for "${e}":`,t)}})}}emitInternal(e,t){this.emit(e,t)}expandForSidePanel(e){this.containerRef?.expandForSidePanel&&this.containerRef.expandForSidePanel(e)}getConfig(){return this.config}getRegisteredEvents(){let e=new Set;return this.listeners.forEach((t,n)=>e.add(n)),this.onceListeners.forEach((t,n)=>e.add(n)),Array.from(e)}handleDragging(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`dragging`,e)}handleDragStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`drag-stop`,e)}handleNimbusClick(){this.emit(`nimbus-click`,{}),this.showPanel()}handlePopupClick(){this.emit(`popup-click`,{}),this.showPanel()}handlePopupShortcutClick(e){this.emit(`popup-shortcut-click`,{shortcut:e}),this.emit(`shortcut-click`,{shortcut:e,source:`popup`})}handleResizeStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`resize-stop`,e)}handleResizing(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`resizing`,e)}handleShortcutClick(e,t){this.emit(`shortcut-click`,{shortcut:e,source:t})}hasListeners(e){return this.listenerCount(e)>0}hidePanel(){this._panelVisible.value=!1,this.emit(`panel-hide`,{})}listenerCount(e){return(this.listeners.get(e)?.size??0)+(this.onceListeners.get(e)?.size??0)}minimizeNimbus(){this._nimbusMinimized.value=!0,this.emit(`nimbus-minimize`,{})}off(e,t){t?(this.listeners.get(e)?.delete(t),this.onceListeners.get(e)?.delete(t),this.debugMode&&console.debug(`[ComponentManager] Unsubscribed from "${e}", remaining: ${this.listenerCount(e)}`)):(this.listeners.delete(e),this.onceListeners.delete(e),this.debugMode&&console.debug(`[ComponentManager] Removed all listeners for "${e}"`))}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),this.debugMode&&console.debug(`[ComponentManager] Subscribed to "${e}", total: ${this.listenerCount(e)}`),()=>{this.off(e,t)}}once(e,t){return this.onceListeners.has(e)||this.onceListeners.set(e,new Set),this.onceListeners.get(e).add(t),this.debugMode&&console.debug(`[ComponentManager] Subscribed once to "${e}"`),()=>{this.onceListeners.get(e)?.delete(t)}}restoreNimbus(){this._nimbusMinimized.value=!1,this.emit(`nimbus-restore`,{})}setCompressed(e){this._isCompressed.value=e}setContainerRef(e){this.containerRef=e,e?.isCompressed&&(this._isCompressed.value=e.isCompressed.value)}setDebugMode(e){this.debugMode=e}setDraggingOrResizing(e){this._isDraggingOrResizing.value=e}showPanel(e){this._panelVisible.value=!0,this.emit(`panel-show`,{sessionCode:e})}toggleCompression(){this.containerRef?this.containerRef.toggleCompression():this._isCompressed.value=!this._isCompressed.value}toggleNimbus(){this._nimbusMinimized.value?this.restoreNimbus():this.minimizeNimbus()}togglePanel(){this._panelVisible.value?this.hidePanel():this.showPanel()}updatePosition(e,t){this._positionAndSize.value={...this._positionAndSize.value,x:e,y:t}}updatePositionAndSize(e,t,n,r){this._positionAndSize.value={x:e,y:t,width:n,height:r}}updateSize(e,t){this._positionAndSize.value={...this._positionAndSize.value,width:e,height:t}}};function Pt(e){return new Nt(e)}var Ft={"panel-show":`show`,"panel-hide":`close`,"panel-toggle":null,"nimbus-click":null,"nimbus-minimize":null,"nimbus-restore":null,"popup-click":null,"popup-shortcut-click":null,dragging:`dragging`,resizing:`resizing`,"drag-stop":`drag-stop`,"resize-stop":`resize-stop`,"compression-toggle":null,"side-panel-expand":null,"side-panel-collapse":null,"send-message":`send-message`,"receive-start":`receive-start`,"receive-text":`receive-text`,"receive-end":`receive-end`,"receive-error":null,stop:`stop`,"chat-regenerate":null,"chat-retry":null,"message-deleted":null,"messages-batch-deleted":null,"session-created":null,"session-switched":null,"session-deleted":null,"session-updated":null,"sessions-loaded":null,"session-initialized":`session-initialized`,"session-error":null,"shortcut-click":`shortcut-click`,"chat-error":null,"sdk-error":`sdk-error`,"new-chat":`new-chat`,"new-chat-created":`new-chat-created`,"history-click":`history-click`,"auto-generate-name":`auto-generate-name`,"help-click":`help-click`,rename:`rename`,share:`share`,close:`close`,"toggle-compression":null,"transfer-messages":`transfer-messages`,"share-messages":`share-messages`,"agent-info-loaded":null,error:null};function It(e,t){switch(e){case`send-message`:return[t.content];case`rename`:return[t.newName,t.sessionCode];case`history-click`:return[t.event];case`dragging`:case`resizing`:case`drag-stop`:case`resize-stop`:case`shortcut-click`:case`session-initialized`:case`sdk-error`:case`transfer-messages`:case`share-messages`:case`new-chat-created`:return[t];case`panel-show`:case`panel-hide`:case`receive-start`:case`receive-text`:case`receive-end`:case`stop`:case`new-chat`:case`auto-generate-name`:case`help-click`:case`share`:case`close`:return[];default:return[t]}}var Lt=class{_selectedMessageIds;_isSelectionMode;_editingSessionCode;_loadingStates;constructor(){this._selectedMessageIds=(0,t.ref)(new Set),this._isSelectionMode=(0,t.ref)(!1),this._editingSessionCode=(0,t.ref)(null),this._loadingStates=(0,t.reactive)({})}get isSelectionMode(){return this._isSelectionMode}get editingSessionCode(){return this._editingSessionCode}toggleSelectionMode(){this._isSelectionMode.value=!this._isSelectionMode.value,this._isSelectionMode.value||this.clearSelection()}enableSelectionMode(){this._isSelectionMode.value=!0}disableSelectionMode(){this._isSelectionMode.value=!1,this.clearSelection()}toggleMessageSelection(e){this._selectedMessageIds.value.has(e)?this._selectedMessageIds.value.delete(e):this._selectedMessageIds.value.add(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}selectMessage(e){this._selectedMessageIds.value.add(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}deselectMessage(e){this._selectedMessageIds.value.delete(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}isMessageSelected(e){return this._selectedMessageIds.value.has(e)}clearSelection(){this._selectedMessageIds.value.clear(),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}selectAllMessages(e){this._selectedMessageIds.value=new Set(e)}get selectedMessages(){return Array.from(this._selectedMessageIds.value)}get selectedCount(){return this._selectedMessageIds.value.size}get hasSelection(){return this._selectedMessageIds.value.size>0}startEditingSession(e){this._editingSessionCode.value=e}stopEditingSession(){this._editingSessionCode.value=null}isEditingSession(e){return e?this._editingSessionCode.value===e:this._editingSessionCode.value!==null}setLoading(e,t){this._loadingStates[e]=t}isLoading(e){return this._loadingStates[e]??!1}clearLoadingStates(){Object.keys(this._loadingStates).forEach(e=>{this._loadingStates[e]=!1})}reset(){this.clearSelection(),this.disableSelectionMode(),this.stopEditingSession(),this.clearLoadingStates()}},Rt=class extends Error{constructor(){super(`[ChatBot] Initialization was superseded by a newer init`),this.name=`ChatBotInitStaleError`}};function zt(e){let{props:n,emit:r,reportError:i,managerErrorBridge:a}=e,o=(0,t.shallowRef)(null),s=(0,t.shallowRef)(null),c=(0,t.shallowRef)(null),l=(0,t.shallowRef)(null),u=(0,t.ref)(!1),d=(0,t.ref)(!n.chatHelper),f=(0,t.ref)(null),p=(0,t.computed)(()=>u.value),m=()=>n.chatHelper?!n.chatHelper.agent||!n.chatHelper.session||!n.chatHelper.message?{valid:!1,error:`[ChatBot] Invalid chatHelper: missing required modules (agent, session, message)`}:{valid:!0}:n.url?{valid:!0}:{valid:!1,error:`[ChatBot] Neither chatHelper nor url provided. Component requires at least one.`},h=()=>{let e=m();if(!e.valid)return console.error(e.error),f.value=Error(e.error),null;if(n.chatHelper)return n.chatHelper;let a=new N({onStart:()=>{r(`receive-start`)},onMessage:e=>{r(`receive-text`)},onDone:()=>{r(`receive-end`)},onError:e=>{i(e,`Stream error`)}}),o=X({requestData:Ne(We(n.url),()=>(0,t.toValue)(n.requestOptions)),protocol:a});return a.injectMessageModule(o.message),o},g=async(e,t)=>{if(e)try{let n=e.session.current?.value?.sessionCode??``;await e.agent.stopChat(n),t&&e.agent.abortChat()}catch{}},_=0,v=null,y=null,b=null,x=e=>{b&&=(e?b.reject(e):b.resolve(),null),v=null},S=e=>{if(e!==_)throw new Rt},C=async e=>{let t=o.value,p=d.value;u.value=!1,f.value=null,d.value=!n.chatHelper,await g(t,p),S(e),o.value=null,s.value=null,c.value=null,l.value=null;let m=h();if(!m)throw f.value??Error(`[ChatBot] Failed to create chatHelper`);let _=new At(m.session,m.agent,a,{enableChatSession:!0,autoSwitchToInitialSession:!!n.sessionCode,loadRecentSessionOnMount:n.autoLoad,initialSessionCode:n.sessionCode,alwaysCreateNewSession:n.alwaysCreateNewSession},m.message),v=new kt(m.agent,m.message,m.session,a,{openingRemark:n.helloText,predefinedQuestions:n.prompts,placeholder:n.placeholder,onSessionRenamed:(e,t)=>r(`rename`,e,t)}),y=new Mt(null,n.shortcuts||[]);o.value=m,s.value=_,c.value=v,l.value=y;try{d.value&&(await Ot(m,{enableModelSelect:n.enableModelSelect!==!1&&!n.models?.length}),S(e),await _.loadRecentSession({skipLoadSessions:!0}),S(e)),n.enableModelSelect!==!1&&(n.models?.length?v.setModels(n.models):await v.loadModels(),S(e)),S(e),u.value=!0,r(`agent-info-loaded`,m)}catch(t){throw S(e),f.value=i(t,`Failed to initialize ChatBot`),t}},w=()=>{x(new Rt),y=null;let e=++_;v=new Promise((t,n)=>{b={resolve:t,reject:n},C(e).then(()=>{b&&=(y=Promise.resolve(),b.resolve(),null)}).catch(e=>{b&&=(b.reject(Ve(e)),null)}).finally(()=>{e===_&&(v=null)})}),v.catch(()=>{})};return(0,t.watch)([()=>n.url,()=>n.chatHelper],()=>w(),{immediate:!0}),(0,t.onBeforeUnmount)(()=>{x(),g(o.value,d.value)}),{chatHelper:o,isStandaloneMode:d,isInitialized:u,isReady:p,initError:f,whenReady:()=>u.value?(y||=Promise.resolve(),y):f.value?Promise.reject(f.value):v||Promise.resolve(),chatBusinessManager:c,sessionBusinessManager:s,shortcutManager:l}}function Bt(e){let{props:r,chatHelper:i,chatBusinessManager:a,sessionBusinessManager:o,shortcutManager:s,isStandaloneMode:c,isInitialized:l,selectedShortcut:u}=e,d=(0,t.computed)(()=>a.value?.isStopLoading.value?n.MessageStatus.StopLoading:((r.chatHelper||i.value)?.agent)?.isChatting?.value?n.MessageStatus.Streaming:n.MessageStatus.Complete),f=(0,t.computed)(()=>d.value===n.MessageStatus.Streaming?n.MessageToolsStatus.Disabled:void 0),p=(0,t.computed)(()=>a.value?.messages.value??[]),m=(0,t.computed)(()=>a.value?.isMessagesLoading.value??!1);return{messageStatus:d,messageToolsStatus:f,messages:p,isMessagesLoading:m,isGenerating:(0,t.computed)(()=>a.value?.isGenerating.value??!1),currentSession:(0,t.computed)(()=>o.value?.currentSession.value??null),isWelcomeState:(0,t.computed)(()=>c.value&&!l.value?!1:!m.value&&p.value.length===0),openingRemark:(0,t.computed)(()=>i.value?.agent.info.value?.conversationSettings?.openingRemark||``),effectiveResources:(0,t.computed)(()=>r.resources?.length?r.resources:i.value?.agent.info.value?.resources??[]),effectivePrompts:(0,t.computed)(()=>r.prompts?.length?r.prompts:i.value?.agent.info.value?.conversationSettings?.predefinedQuestions??[]),effectiveSkills:(0,t.computed)(()=>r.skills?.length?r.skills:(i.value?.agent.info.value?.relatedSkills??[]).map(e=>({skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon}))),effectiveSupportUpload:(0,t.computed)(()=>u.value?.supportUpload?u.value.supportUpload.vision===!0:a.value?.selectedModelSupportsVision.value??!1),chatbotStyle:(0,t.computed)(()=>({height:typeof r.height==`number`?`${r.height}px`:r.height,maxWidth:typeof r.maxWidth==`number`?`${r.maxWidth}px`:r.maxWidth})),filteredShortcuts:(0,t.computed)(()=>s.value?.shortcuts.value??[])}}var Vt=new Set([`chat-error`,`receive-error`,`session-error`]);function Ht(e,n={}){let i=new WeakSet,a=(a,o)=>{let s=Ve(a);return i.has(s)?s:(i.add(s),console.error(o?`[ChatBot] ${o}:`:`[ChatBot] error:`,a),e(`error`,s),(0,t.toValue)(n.errorToast)!==!1&&(0,r.Message)({message:s.message||Z(`请求失败`),theme:`error`}),s)};return{managerErrorBridge:{emit:(e,t)=>{Vt.has(e)&&a(t?.error)}},reportError:a}}var Ut={[n.InterruptResumeOperation.ApprovalCancel]:w.ApprovalCancel,[n.InterruptResumeOperation.FlowNodeRetry]:w.FlowNodeRetry,[n.InterruptResumeOperation.FlowNodeSkip]:w.FlowNodeSkip};function Wt(e){return`operation`in e}function Gt(e){return`interruptId`in e&&`reason`in e&&e.reason===n.InterruptReason.UserQuestion}function Kt(e){return e===`cancelled`?M.Cancelled:M.Resolved}function qt(e){let t=e?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot resume interrupt: no active session`);return t}function Jt(e){return{interruptId:e.interruptId,status:Kt(e.status),payload:e.payload}}function Yt(e){let{chatHelper:t,reportError:r}=e,i=async e=>{let r=t.value;if(!r)throw Error(`[ChatBot] Cannot resume interrupt: chatHelper not initialized`);if(!Wt(e))throw Error(`[ChatBot] Unsupported interrupt resume payload`);let i=qt(r);if(e.operation===n.InterruptResumeOperation.ApprovalRefresh){r.agent.pollResumeSession(i);return}let a=Ut[e.operation];if(!a)throw Error(`[ChatBot] Unsupported interrupt resume operation: ${e.operation}`);let o=r.agent;if(e.operation===n.InterruptResumeOperation.ApprovalCancel){await o.userOperationStreamRequest(i,a,{interrupt_id:e.payload.interrupt_id});return}(e.operation===n.InterruptResumeOperation.FlowNodeRetry||e.operation===n.InterruptResumeOperation.FlowNodeSkip)&&await o.userOperationStreamRequest(i,a,{node_id:e.payload.node_id,task_id:String(e.payload.task_id)})},a=async(e,n)=>{let r=t.value;if(!r)throw Error(`[ChatBot] Cannot resume interrupt: chatHelper not initialized`);let i=qt(r);await r.agent.streamRequest({sessionCode:i,resume:Jt(e),...n?{input:n}:{}})};return{handleInterruptResume:async(e,t)=>{try{if(Wt(e)){await i(e);return}if(Gt(e)){await a(e);return}throw Error(`[ChatBot] Unsupported interrupt resume payload`)}catch(e){r(e,`Failed to handle interrupt resume`)}},resumeUserQuestionWithInput:async(e,t)=>{try{if(!t.payload||!Gt(t.payload))throw Error(`[ChatBot] Invalid user question resume options`);let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`[ChatBot] User question free text input is empty`);await a(t.payload,n)}catch(e){r(e,`Failed to resume user question with input`)}}}}function Xt(e){let{emit:n,chatHelper:r,chatBusinessManager:i,getRequestOptions:a,reportError:o,resumeUserQuestionWithInput:s,selectedShortcut:c,selectedResources:l}=e,u=(0,t.shallowRef)([[]]),d=(0,t.shallowRef)(``),f=(e,t)=>{u.value=e,l.value=t},p=async(e,t={})=>{if(!i.value||!r.value)throw Error(`[ChatBot] Cannot send message: chatBusinessManager not initialized`);let o=r.value.session.current?.value?.sessionCode;if(!o)throw Error(`[ChatBot] Cannot send message: no active session`);u.value=[[]],d.value=``,l.value=[],n(`send-message`,typeof e==`string`?e:``);let s=Fe(t.property,a);await i.value.sendMessage(e,o,{...t,...s?{property:s}:{}})},m=async e=>{let t=r.value?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot upload: no active session`);let n=await r.value.session.uploadFile(t,e);if(!n?.download_url)throw Error(`[ChatBot] Upload failed: no download URL returned`);return n},h=async e=>{let t=r.value?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot resolve artifact URL: no active session`);let n=await r.value.session.getPvFileDownloadUrl(t,e.outputId);return{download_url:n?.download_url,preview_url:n?.preview_url}},g=async(e,t,n)=>{try{if(n?.payload&&s){u.value=[[]],d.value=``,l.value=[],await s(e,n);return}let t={};d.value&&(t.cite=d.value),c.value&&(t.command=c.value.id),l.value.length&&(t.resources=l.value),await p(e,Object.keys(t).length?{property:{extra:t}}:{})}catch(e){o(e,`Failed to send message`)}},_=async()=>{await v()},v=async()=>{if(!i.value){console.error(`[ChatBot] Cannot stop generation: chatBusinessManager not initialized`);return}try{await i.value.stopGeneration(),n(`stop`)}catch(e){o(e,`Failed to stop generation`)}};return{userInput:u,cite:d,handleUpdateModelValue:f,doSendMessage:p,handleSendMessage:g,handleArtifactClick:h,handleUpload:m,handleStopSending:_,stopGeneration:v}}var Zt=e=>!e||e.id===`share`;function Qt(e){let{emit:t,chatHelper:n,isStandaloneMode:i}=e,a=async e=>{if(!(!n.value||e.length===0))try{await Ge((await new jt(n.value.message,n.value.session).shareMessages(e)).shareUrl),(0,r.Message)({message:`分享链接已复制到剪贴板`,theme:`success`})}catch(e){console.error(`[ChatBot] Failed to share messages:`,e),(0,r.Message)({message:`分享失败,请重试`,theme:`error`})}};return{handleConfirmShare:async(e,n)=>{i.value&&Zt(n)&&await a(e),t(`confirm-share`,e,n)}}}function $t(e){let{props:n,emit:r,shortcutManager:i,doSendMessage:a,reportError:o,selectedShortcut:s}=e,c=(0,t.computed)(()=>i.value?.effectiveShortcuts.value??[]),l=(e,t)=>{let n=e,r;if(r=n.enable_fill_back&&n.fill_back_component_key?n.fill_back_component_key:n.components?.find(e=>e.fillBack)?.key,r&&t){let e=n.components?.map(e=>e.key===r?{...e,default:t}:{...e,default:e.default??void 0});s.value={...n,components:e,formModel:{...n.formModel,[r]:t}}}else s.value={...n,formModel:{...n.formModel}}},u=(e,t)=>{let n=e.components||[];return{extra:{cite:{type:`structured`,title:e.alias||e.name,data:n.map(e=>({key:e.name||e.key,value:String(t[e.key]??``)}))},command:e.id,context:n.map(e=>({[e.key]:t[e.key],context_type:e.type,__label:e.name||e.key,__key:e.key,__value:t[e.key]}))}}},d=e=>{let t=e.property?.extra;return t?.shortcut?t.shortcut:t?.command?c.value.find(e=>e.id===t.command)??null:null},f=(e,t)=>{l(e,t),r(`shortcut-click`,{shortcut:e,source:`main`})},p=()=>{s.value=null};return(0,t.watch)(()=>n.shortcuts,e=>{i.value?.setShortcuts(e||[])},{immediate:!0}),(0,t.watch)(()=>e.chatHelper.value?.agent.info.value?.conversationSettings?.commands,e=>{e&&i.value?.setAgentShortcuts(e)},{immediate:!0}),{effectiveShortcuts:c,selectShortcutWithText:l,buildShortcutProperty:u,getShortcutFromMessage:d,handleSelectShortcut:f,handleCloseShortcut:p,handleShortcutSubmit:async e=>{if(!s.value){console.error(`[ChatBot] No selected shortcut`);return}let t=u(s.value,e),n=s.value.name,r=s.value;p();try{await a(n,{property:t})}catch(e){s.value=r,o(e,`Failed to submit shortcut`)}},sendShortcutDirectly:async(e,t)=>{let n=e,r={...n.formModel},i=n.components||[];for(let e of i)e.key in r||(r[e.key]=e.default??``);let s;s=n.enable_fill_back&&n.fill_back_component_key?n.fill_back_component_key:i.find(e=>e.fillBack)?.key,s&&t&&(r[s]=t);let c=u(n,r),l=n.name;try{await a(l,{property:c})}catch(e){o(e,`Failed to send shortcut directly`)}}}}function en(e){let{emit:t,chatHelper:r,chatBusinessManager:i,cite:a,focusInput:o,getShortcutFromMessage:s,buildShortcutProperty:c,getRequestOptions:l,reportError:u,stopGeneration:d}=e,f=async e=>{if(!i.value||!r.value){console.error(`[ChatBot] Cannot delete messages: chatBusinessManager not initialized`);return}try{let t=i.value.messages.value,n=Re(t,e[0]);if(!n){console.error(`[ChatBot] No user message found before AI messages`);return}let a=[n,...e];await r.value.message.deleteMessages(a)}catch(e){u(e,`Failed to delete messages`)}},p=async e=>{if(!i.value||!r.value){console.error(`[ChatBot] Cannot regenerate: chatBusinessManager not initialized`);return}let t=r.value.session.current?.value?.sessionCode;if(!t){console.error(`[ChatBot] Cannot regenerate: no active session`);return}try{await i.value.regenerateFromAIMessages(e,t)}catch(e){u(e,`Failed to regenerate`)}},m=async e=>{if(!i.value||!r.value){console.error(`[ChatBot] Cannot delete message: chatHelper not initialized`);return}try{let t=i.value.messages.value,a=t.findIndex(t=>t===e);if(a===-1){console.error(`[ChatBot] User message not found in messages list`);return}let o=[];for(let e=a+1;e<t.length;e++){let r=t[e];if(r.role===n.MessageRole.User)break;o.push(r)}let s=[e,...o];await r.value.message.deleteMessages(s)}catch(e){u(e,`Failed to delete user message`)}};return{handleAgentAction:async(e,i)=>{if(e.id===`cite`){a.value=i.filter(e=>e.role!==n.MessageRole.Reasoning).map(e=>typeof e.content==`string`?e.content:JSON.stringify(e.content||``)).join(`
6
+ `),o();return}if(e.id===`rebuild`){await p(i);return}if(e.id===`delete`){await f(i);return}if(e.id===`like`||e.id===`unlike`){let t=e.id===`like`?5:0;try{return await r.value?.session.getSessionFeedbackReasons(t)||[]}catch(e){return console.error(`[ChatBot] Failed to get feedback reasons:`,e),[]}}t(`agent-action`,e,i)},handleAgentFeedback:async(e,n,a,o)=>{if(!r.value){console.error(`[ChatBot] Cannot submit feedback: chatHelper not initialized`);return}let s=r.value.session.current?.value?.sessionCode;if(!s){console.error(`[ChatBot] Cannot submit feedback: no active session`);return}let c=ze(i.value?.messages.value||[],n[0]);if(c===void 0){console.error(`[ChatBot] Cannot submit feedback: no user message found`);return}let l=e.id===`like`?5:0;try{await r.value.session.postSessionFeedback({sessionCode:s,sessionContentIds:[c],rate:l,labels:a,comment:o}),t(`feedback`,e,n[0],a,o)}catch(e){u(e,`Failed to submit feedback`)}},handleUserAction:async(e,t)=>{if(e.id===`delete`){await m(t);return}if(e.id===`cite`){a.value=typeof t.content==`string`?t.content:JSON.stringify(t.content||``),o();return}console.log(`handleUserAction`,e,t)},handleUserInputConfirm:async(e,t,n)=>{if(!r.value){console.error(`[ChatBot] Cannot edit message: chatHelper not initialized`);return}let a=r.value.session.current?.value?.sessionCode;if(!a){console.error(`[ChatBot] Cannot edit message: no active session`);return}let o=e.id;if(o===void 0){console.error(`[ChatBot] Cannot edit message: message has no id`);return}try{let n=e.property,r=Fe(n,l);await i.value?.resendMessageWithProperty(String(o),a,typeof t==`string`?t:``,r)}catch(e){u(e,`Failed to edit and resend message`)}},handleUserShortcutConfirm:async(e,t)=>{if(!i.value||!r.value){console.error(`[ChatBot] Cannot edit shortcut message: chatHelper not initialized`);return}let n=r.value.session.current?.value?.sessionCode;if(!n){console.error(`[ChatBot] Cannot edit shortcut message: no active session`);return}let a=e.id;if(a===void 0){console.error(`[ChatBot] Cannot edit shortcut message: message has no id`);return}try{let r=s(e);if(!r){console.error(`[ChatBot] Cannot edit shortcut message: shortcut not found`);return}let o=Fe(c(r,t),l),u=String(t.input??``);await i.value.resendMessageWithProperty(String(a),n,u,o)}catch(e){u(e,`Failed to edit shortcut message`)}},handleStopStreaming:d}}var tn=(0,t.defineComponent)({__name:`chat-bot`,props:{autoLoad:{type:Boolean,default:!0},alwaysCreateNewSession:{type:Boolean},chatHelper:{default:void 0},enableSelection:{type:Boolean,default:!1},enableModelSelect:{type:Boolean,default:!0},errorToast:{type:Boolean,default:!0},models:{default:void 0},executionTabVisible:{type:Boolean},renderMode:{default:n.RenderMode.Chat},extCls:{},height:{},helloText:{},useAgentName:{type:Boolean,default:!1},maxWidth:{},messageToolsTippyOptions:{},messageTools:{},updateTools:{},placeholder:{},prompts:{},requestOptions:{},resources:{default:()=>[]},sessionCode:{},shareLoading:{type:Boolean,default:!1},shortcuts:{default:()=>[]},skills:{},url:{default:``},placement:{default:`left`},resizeProps:{},size:{},getSideRenderComponent:{},getSideTabRenderComponent:{},onCustomTabChange:{}},emits:[`agent-action`,`agent-info-loaded`,`cancel-share`,`confirm-share`,`error`,`execution-panel-change`,`feedback`,`receive-end`,`receive-start`,`receive-text`,`rename`,`request-share`,`send-message`,`session-switched`,`shortcut-click`,`stop`],setup(e,{expose:r,emit:i}){let a=e,o={initialDivide:560,min:400},s=(0,t.computed)(()=>({...o,...a.resizeProps})),c=i,l=(0,t.useSlots)(),u=(0,t.ref)(),d=(0,t.ref)(),f=(0,t.shallowRef)([]),p=(0,t.ref)(null),m=(0,t.computed)({get:()=>a.renderMode??n.RenderMode.Chat,set:()=>{}}),h=(0,t.computed)(()=>T.value?.selectedLlmCode.value),g=()=>{d.value?.focus?.()},{reportError:_,managerErrorBridge:v}=Ht(c,{errorToast:()=>a.errorToast}),{chatHelper:y,isStandaloneMode:b,isInitialized:x,isReady:S,initError:C,whenReady:w,chatBusinessManager:T,sessionBusinessManager:E,shortcutManager:D}=zt({props:a,emit:c,reportError:_,managerErrorBridge:v}),{handleInterruptResume:O,resumeUserQuestionWithInput:k}=Yt({chatHelper:y,reportError:_}),{userInput:A,cite:j,handleUpdateModelValue:M,doSendMessage:N,handleSendMessage:P,handleUpload:ee,handleArtifactClick:F,handleStopSending:I,stopGeneration:L}=Xt({emit:c,chatHelper:y,chatBusinessManager:T,getRequestOptions:()=>a.requestOptions,reportError:_,resumeUserQuestionWithInput:k,selectedShortcut:p,selectedResources:f}),{handleSelectShortcut:R,handleCloseShortcut:z,handleShortcutSubmit:te,selectShortcutWithText:B,getShortcutFromMessage:V,buildShortcutProperty:H,sendShortcutDirectly:U}=$t({props:a,emit:c,chatHelper:y,shortcutManager:D,doSendMessage:N,reportError:_,selectedShortcut:p}),{messageStatus:W,messageToolsStatus:ne,messages:G,isMessagesLoading:re,isGenerating:ie,currentSession:K,isWelcomeState:ae,openingRemark:oe,effectiveResources:se,effectivePrompts:ce,effectiveSkills:le,effectiveSupportUpload:ue,chatbotStyle:de,filteredShortcuts:fe}=Bt({props:a,chatHelper:y,chatBusinessManager:T,sessionBusinessManager:E,shortcutManager:D,isStandaloneMode:b,isInitialized:x,selectedShortcut:p}),{handleAgentAction:pe,handleAgentFeedback:q,handleUserAction:J,handleUserInputConfirm:me,handleUserShortcutConfirm:Y,handleStopStreaming:he}=en({emit:c,chatHelper:y,chatBusinessManager:T,cite:j,focusInput:g,getShortcutFromMessage:V,buildShortcutProperty:H,getRequestOptions:()=>a.requestOptions,reportError:_,stopGeneration:L}),ge=(0,t.computed)(()=>!x.value||re.value),_e=(0,t.computed)(()=>{if(a.useAgentName)return y.value?.agent.info.value?.agentName||void 0}),ve=(0,t.computed)(()=>{if(a.enableModelSelect===!1)return;let e=T.value?.models.value??[];return e.length>0?e:void 0}),ye=(0,t.computed)({get:()=>T.value?.selectedModelName.value??``,set:e=>{T.value?.setSelectedModelByName(e)}}),be=e=>{T.value?.setSelectedModel(e)};(0,t.watch)(()=>a.models,e=>{a.enableModelSelect===!1||!T.value||e?.length&&T.value.setModels(e)});let{handleConfirmShare:xe}=Qt({emit:c,chatHelper:y,isStandaloneMode:b}),Se=(e,t)=>{c(`execution-panel-change`,e,t)},Ce=async e=>{if(a.onCustomTabChange)return a.onCustomTabChange(e);let t=e.data?.props;if(t?.task_id!=null&&t?.node_id)return y.value?.message.getFlowAgentTaskNodeInfo(t.task_id,t.node_id)};return r({sendMessage:e=>P(e,[[]]),stopGeneration:L,switchSession:async e=>{if(!E.value){console.error(`[ChatBot] Cannot switch session: sessionBusinessManager not initialized`);return}try{await E.value.switchSession(e),c(`session-switched`,E.value.currentSession.value)}catch(e){_(e,`Failed to switch session`)}},messages:G,currentSession:K,isGenerating:ie,get isReady(){return S.value},whenReady:w,getChatHelper:()=>y.value,setCiteText:e=>{j.value=e},focusInput:g,enterShareMode:()=>u.value?.enterShareMode(),exitShareMode:()=>u.value?.exitShareMode(),selectShortcut:(e,t)=>{B(e,t)},sendShortcut:(e,t)=>U(e,t),updateAgentInfo:async()=>{let e=y.value;if(!e)return null;try{await e.agent.getAgentInfo();let t=e.agent.info.value??null;return t?.conversationSettings?.commands&&D.value?.setAgentShortcuts(t.conversationSettings.commands),t}catch(e){return _(e,`Failed to update agentInfo`),null}},selectedLlmCode:h}),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`ai-chatbot`,a.extCls,{"welcome-state":(0,t.unref)(ae)}]),style:(0,t.normalizeStyle)((0,t.unref)(de))},[(0,t.createVNode)((0,t.unref)(n.ChatContainer),{ref_key:`chatContainerRef`,ref:u,cite:(0,t.unref)(j),"onUpdate:cite":i[0]||=e=>(0,t.isRef)(j)?j.value=e:null,"selected-shortcut":p.value,"onUpdate:selectedShortcut":i[1]||=e=>p.value=e,"selected-model":ye.value,"onUpdate:selectedModel":i[2]||=e=>ye.value=e,"render-mode":m.value,"onUpdate:renderMode":i[3]||=e=>m.value=e,"chat-loading":ge.value,"common-tippy-options":e.messageToolsTippyOptions,"execution-tab-visible":a.executionTabVisible,"message-status":(0,t.unref)(W),"message-tools":a.messageTools,"message-tools-status":(0,t.unref)(ne),messages:(0,t.unref)(G),"model-value":(0,t.unref)(A),models:ve.value,"on-agent-action":(0,t.unref)(pe),"on-agent-feedback":(0,t.unref)(q),"on-interrupt-resume":(0,t.unref)(O),"get-side-render-component":a.getSideRenderComponent,"get-side-tab-render-component":a.getSideTabRenderComponent,"on-custom-tab-change":Ce,"on-send-message":(0,t.unref)(P),"on-stop-sending":(0,t.unref)(I),"on-artifact-click":(0,t.unref)(F),"on-upload":(0,t.unref)(ee),"on-user-action":(0,t.unref)(J),"on-user-input-confirm":(0,t.unref)(me),"on-user-shortcut-confirm":(0,t.unref)(Y),"opening-remark":(0,t.unref)(oe),placeholder:a.placeholder,placement:a.placement,"welcome-title":_e.value,prompts:(0,t.unref)(ce),"resize-props":s.value,size:a.size,resources:(0,t.unref)(se),"shortcut-id":p.value?.id,shortcuts:(0,t.unref)(fe),skills:(0,t.unref)(le),"support-upload":(0,t.unref)(ue),"update-tools":a.updateTools,onCollapseChange:Se,onConfirmShare:(0,t.unref)(xe),onDeleteShortcut:(0,t.unref)(z),onModelChange:be,onSelectShortcut:(0,t.unref)(R),onShortcutClose:(0,t.unref)(z),onShortcutSubmit:(0,t.unref)(te),onStopStreaming:(0,t.unref)(he),"onUpdate:modelValue":(0,t.unref)(M)},(0,t.createSlots)({message:(0,t.withCtx)(({message:i,messageToolsStatus:a,onInterruptResume:o})=>[(0,t.createCommentVNode)(` 消费方提供了 #message slot 时,优先使用消费方的渲染 `),(0,t.unref)(l).message?(0,t.renderSlot)(r.$slots,`message`,{key:0,message:i,messageToolsStatus:a,onInterruptResume:o}):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createCommentVNode)(` 否则使用默认的 MessageRender `),(0,t.createVNode)((0,t.unref)(n.MessageRender),{message:i,"message-tools-status":a,"on-action":e=>(0,t.unref)(J)(e,i),"on-input-confirm":(e,n)=>(0,t.unref)(me)(i,e,n),"on-interrupt-resume":o,"on-shortcut-confirm":e=>(0,t.unref)(Y)(i,e),"tippy-options":e.messageToolsTippyOptions},(0,t.createSlots)({_:2},[r.$slots.codeHeader?{name:`codeHeader`,fn:(0,t.withCtx)(e=>[(0,t.renderSlot)(r.$slots,`codeHeader`,(0,t.normalizeProps)((0,t.guardReactiveProps)(e)))]),key:`0`}:void 0]),1032,[`message`,`message-tools-status`,`on-action`,`on-input-confirm`,`on-interrupt-resume`,`on-shortcut-confirm`,`tippy-options`])],2112))]),_:2},[r.$slots.welcome?{name:`welcome`,fn:(0,t.withCtx)(e=>[(0,t.renderSlot)(r.$slots,`welcome`,(0,t.normalizeProps)((0,t.guardReactiveProps)(e)))]),key:`0`}:void 0]),1032,`cite.selected-shortcut.selected-model.render-mode.chat-loading.common-tippy-options.execution-tab-visible.message-status.message-tools.message-tools-status.messages.model-value.models.on-agent-action.on-agent-feedback.on-interrupt-resume.get-side-render-component.get-side-tab-render-component.on-send-message.on-stop-sending.on-artifact-click.on-upload.on-user-action.on-user-input-confirm.on-user-shortcut-confirm.opening-remark.placeholder.placement.welcome-title.prompts.resize-props.size.resources.shortcut-id.shortcuts.skills.support-upload.update-tools.onConfirmShare.onDeleteShortcut.onSelectShortcut.onShortcutClose.onShortcutSubmit.onStopStreaming.onUpdate:modelValue`.split(`.`))],6))}}),$=function(e){return e.ERROR=`error`,e.IDLE=`idle`,e.LOADING_AGENT=`loading_agent`,e.READY=`ready`,e}({});function nn(e){let{url:n,requestOptions:r,autoInit:i=!0,protocolCallbacks:a,enableModelSelect:o=!0}=e,s=(0,t.toValue)(n);if(!s)throw Error(`[useChatBootstrap] url is required`);let c=(0,t.ref)($.IDLE),l=(0,t.ref)(null),u=(0,t.ref)(!1),d=new Map,f=new N({onStart:()=>{a?.onStart?.()},onMessage:e=>{a?.onMessage?.(e)},onDone:()=>{a?.onDone?.()},onError:e=>{a?.onError?.(e)}}),p=X({requestData:Ne(s,r),protocol:f});f.injectMessageModule(p.message);let m=(0,t.computed)(()=>c.value===$.LOADING_AGENT),h=(0,t.computed)(()=>c.value===$.READY),g=(0,t.computed)(()=>p.agent.info.value??null),_=(0,t.computed)(()=>g.value?.agentName??``),v=(0,t.computed)(()=>p.session.current.value??null),y=(0,t.computed)(()=>p.session.list.value??[]),b=null,x=0,S=async e=>{l.value=null;try{if(c.value=$.LOADING_AGENT,await Ot(p,{enableModelSelect:o}),e!==x)return;c.value=$.READY,u.value=!0}catch(t){if(e!==x)return;throw console.error(`[useChatBootstrap] Initialization failed:`,t),l.value=t,c.value=$.ERROR,t}},C=async()=>{if(u.value)return;if(b)return b;let e=x;return b=S(e).finally(()=>{e===x&&(b=null)}),b},w=()=>{x+=1,c.value=$.IDLE,l.value=null,u.value=!1,b=null},T=async()=>{w(),await C()},E=async e=>{w();let t=p.http;t?.updateConfig?t.updateConfig({urlPrefix:e}):console.warn(`[useChatBootstrap] chatHelper.http.updateConfig is not implemented yet, URL change may not take effect`),await C()};return(0,t.watch)(()=>(0,t.toValue)(n),(e,t)=>{e&&e!==t&&t&&E(e).catch(()=>{})}),i&&Promise.resolve().then(()=>{C().catch(()=>{})}),{chatHelper:p,protocol:f,phase:c,isInitializing:m,isReady:h,error:l,agentInfo:g,agentName:_,currentSession:v,sessionList:y,initialize:C,retry:T,updateConfig:E,registerExtension:(e,t)=>{d.set(e,t)},getExtension:e=>d.get(e)}}function rn(e){return{sendMessage:t=>e(`send-message`,{content:t}),receiveStart:()=>e(`receive-start`,{}),receiveText:()=>e(`receive-text`,{}),receiveEnd:()=>e(`receive-end`,{}),stop:()=>e(`stop`,{}),newChat:()=>e(`new-chat`,{}),newChatCreated:t=>e(`new-chat-created`,{session:t}),historyClick:t=>e(`history-click`,{event:t}),autoGenerateName:()=>e(`auto-generate-name`,{}),helpClick:()=>e(`help-click`,{}),rename:(t,n)=>e(`rename`,{newName:t,sessionCode:n}),share:()=>e(`share`,{}),transferMessages:t=>e(`transfer-messages`,{messageIds:t}),shareMessages:t=>e(`share-messages`,{messageIds:t})}}function an(e){let{componentManager:n,emit:r,debug:i=!1}=e,a=[],o=()=>{for(let[e,t]of Object.entries(Ft)){if(t===null)continue;let o=n.on(e,n=>{let a=It(e,n);i&&console.debug(`[useEventBridge] ${e} -> ${t}`,a),r(t,...a)});a.push(o)}},s=(e,t)=>{i&&console.debug(`[useEventBridge] Forwarding to manager: ${e}`,t),n.emit(e,t)},c=(e,...t)=>{i&&console.debug(`[useEventBridge] Direct emit: ${e}`,t),r(e,...t)},l=()=>{a.forEach(e=>e()),a.length=0};return o(),(0,t.onUnmounted)(()=>{l()}),{forwardToManager:s,emitDirect:c,cleanup:l}}function on(e){let{props:n,emit:i}=e,a=(0,t.ref)(),o=(0,t.ref)(),s=(0,t.computed)(()=>We(n.url??``)),c=Pt({initialPanelVisible:!1,initialNimbusMinimized:n.defaultMinimize,enablePopup:n.enablePopup,enableNimbus:!n.hideNimbus,enableDraggable:n.draggable}),l=c.panelVisible,u=c.nimbusMinimized,{forwardToManager:d}=an({componentManager:c,emit:i}),f=rn(d),p=new WeakSet,m=null,h=null,g=()=>{m&&=(clearTimeout(m.timer),null)},_=e=>{let{apiName:t,error:i,action:a,source:o,shouldToast:s=!0}=e,l=i instanceof Error?i.message:String(i),u=i instanceof Error?i:null;u&&p.has(u)||(u&&p.add(u),o!==`http`&&u&&m?.error===u&&g(),console.error(`[AIBlueking] ${t} error:`,i),s&&n.errorToast!==!1&&(0,r.Message)({message:l||Z(`请求失败`),theme:`error`}),c.emitInternal(`sdk-error`,{apiName:t,action:a,source:o,code:-1,message:l,data:i}))},v=e=>{g();let t=h??(S.value?`chat`:`init`);m={error:e,timer:setTimeout(()=>{m=null,_({apiName:t,error:e,source:`http`})},0)}},y=async(e,t)=>{let n=h;h=e;try{return await t()}finally{h=n}},b=e=>{_({apiName:`chat`,error:e,source:`business`})},{chatHelper:x,isReady:S,error:C,agentInfo:w,agentName:T,currentSession:E,initialize:D}=nn({url:s,requestOptions:()=>(0,t.toValue)(n.requestOptions),autoInit:!0,enableModelSelect:n.enableModelSelect!==!1,protocolCallbacks:{onStart:()=>{f.receiveStart()},onMessage:()=>{f.receiveText()},onDone:()=>{f.receiveEnd()},onError:e=>{_({apiName:`chat`,error:e,source:`protocol`})}}}),O=x;O.onError?.(e=>{v(e)},{ignoreErrors:n.ignoreErrors});let k=new At(O.session,O.agent,null,{enableChatSession:n.enableChatSession,initialSessionCode:n.initialSessionCode,alwaysCreateNewSession:n.alwaysCreateNewSession},O.message),A=new jt(O.message,O.session),j=new Mt(null,n.shortcuts||[]),M=null,N=()=>n.loadRecentSessionOnMount?(M||=k.loadRecentSession({skipLoadSessions:!0}).finally(()=>{M=null}),M):Promise.resolve(),P=async()=>{await y(`init`,async()=>{await D(),await N()})},ee={appendTo:e=>{let t=e.closest(`.draggable-container-content`);return console.log(`[ai-blueking] appendTo called, ref:`,e),console.log(`[ai-blueking] appendTo closest result:`,t),t??document.body}},F=(0,t.computed)(()=>c.isCompressed.value),I=(0,t.computed)(()=>T.value),L=(0,t.computed)(()=>O.message.list.value.length===0),R=(0,t.computed)(()=>n.resources?.length?n.resources:w.value?.resources??[]),z=(0,t.computed)(()=>n.prompts?.length?n.prompts:w.value?.conversationSettings?.predefinedQuestions??[]),te=(0,t.computed)(()=>(w.value?.relatedSkills??[]).map(e=>({skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon})));(0,t.watch)(()=>C.value,e=>{e&&(g(),_({apiName:`init`,error:e,source:`http`}))});let B=e=>{e.conversationSettings?.commands&&j.setAgentShortcuts(e.conversationSettings.commands)},V=async()=>{try{await O.agent.getAgentInfo();let e=w.value;return e&&B(e),e}catch(e){return _({apiName:`getAgentInfo`,error:e,source:`http`}),null}};(0,t.watch)(()=>S.value,async e=>{if(e&&w.value&&(B(w.value),w.value.conversationSettings&&d(`session-initialized`,{openingRemark:w.value.conversationSettings.openingRemark||``,predefinedQuestions:w.value.conversationSettings.predefinedQuestions||[]}),n.loadRecentSessionOnMount))try{await N()}catch(e){console.error(`[AIBlueking] Failed to load recent session:`,e)}},{immediate:!0}),(0,t.watch)(()=>n.shortcuts,e=>{j.setShortcuts(e||[])},{immediate:!0});let H=e=>{Ye(e)&&(e.preventDefault(),l.value?c.hidePanel():c.showPanel())};return(0,t.onMounted)(async()=>{a.value&&c.setContainerRef(a.value),window.addEventListener(`keydown`,H)}),(0,t.onBeforeUnmount)(()=>{g(),window.removeEventListener(`keydown`,H),c.destroy()}),{chatHelper:O,componentManager:c,sessionBusinessManager:k,shareBusinessManager:A,shortcutManager:j,forwarders:f,forwardToManager:d,chatBotRef:o,draggableContainerRef:a,panelVisible:l,nimbusMinimized:u,normalizedUrl:s,agentInfo:w,agentName:I,currentSession:E,isCompressed:F,isWelcomeState:L,messageToolsTippyOptions:ee,agentResources:R,agentPrompts:z,agentSkills:te,handleError:b,reportSdkError:_,ensureSessionReady:P,updateAgentInfo:V}}function sn(e){let{shortcutManager:n,chatBotRef:r,forwardToManager:i,show:a,props:o}=e,s=(0,t.ref)(!1),c=(0,t.ref)(``);return{aiSelectionVisible:s,selectedText:c,filteredPopupShortcuts:(0,t.computed)(()=>{let e=n.effectiveShortcuts.value;return typeof o.shortcutFilter==`function`&&c.value?e.filter(e=>o.shortcutFilter?.(e,c.value)):e}),handleSelectionChange:e=>{c.value=e},handleAiSelectionShortcut:async(e,t)=>{s.value=!1,await a(),r.value&&(e.components?.length?r.value.selectShortcut(e,t):(r.value.selectShortcut(e),r.value.setCiteText(t),r.value.focusInput())),i(`shortcut-click`,{shortcut:e,source:`popup`})}}}function cn(e,n=!1){let r=window.innerHeight-48-40,i=window.innerWidth-48-16,a=(0,t.ref)(i),o=(0,t.ref)(r),s=(0,t.ref)(0),c=(0,t.ref)(n),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=0,f=e=>{e?a.value=window.innerWidth-12:a.value=i},p=(e,t)=>{o.value=t,s.value=t-r},m=()=>{(0,t.nextTick)(()=>{o.value=window.innerHeight-48-40+s.value,c.value?a.value=window.innerWidth-12:a.value=window.innerWidth-48-16})};return(0,t.onMounted)(()=>{window.addEventListener(`resize`,m),m()}),(0,t.onUnmounted)(()=>{window.removeEventListener(`resize`,m)}),{nimbusWidth:48,nimbusHeight:48,nimbusLeft:a,nimbusTop:o,isMinimize:c,isHovering:l,isDragging:u,handleNimbusDragging:p,handleNimbusMinimize:f,handleClick:()=>{if(u.value){u.value=!1;return}e(`click`)},handleMinimize:()=>{c.value=!c.value,e(`minimize`,c.value),c.value?a.value=window.innerWidth-12:a.value=window.innerWidth-60},handleDragging:(e,t)=>{a.value=e,o.value=t},handleMouseEnter:()=>{l.value=!0},handleMouseLeave:()=>{l.value=!1},handleMouseDown:()=>{d=Date.now(),u.value=!1},handleMouseUp:()=>{Date.now()-d>200&&(u.value=!0)}}}var ln=560;function un(e){let{componentManager:t,chatBotRef:n,forwarders:r,forwardToManager:i,beforeNimbusClick:a,ensureSessionReady:o}=e,s=async e=>{t.showPanel(e),o&&await o(),e&&n.value&&await n.value.switchSession(e)},c=async e=>{await s(e)},l=()=>{t.hidePanel()};return{show:s,handleShow:c,hide:l,handleClose:()=>{l()},handleNimbusClick:async()=>{if(a&&await a()===!1){t.emit(`nimbus-click`,{});return}t.handleNimbusClick()},handleDragging:e=>{t.handleDragging(e)},handleResizing:e=>{t.handleResizing(e)},handleDragStop:e=>{t.handleDragStop(e)},handleResizeStop:e=>{t.handleResizeStop(e)},handleToggleCompression:()=>{t.container.toggleCompression()},handleCompressionChange:e=>{t.setCompressed(e)},handleExecutionPanelChange:(e,n)=>{if(e)t.collapseSidePanel();else{let e=Math.max(ln,n??0);t.expandForSidePanel(e)}},sendMessage:async e=>{n.value&&await n.value.sendMessage(e)},handleReceiveStart:()=>{r.receiveStart()},handleReceiveText:()=>{r.receiveText()},handleReceiveEnd:()=>{r.receiveEnd()},handleStop:()=>{r.stop()},stopGeneration:()=>{n.value&&n.value.stopGeneration()},updatePosition:(e,n)=>{t.container.updatePosition(e,n)},updateSize:(e,n)=>{t.container.updateSize(e,n)},updatePositionAndSize:(e,n,r,i)=>{t.container.updatePositionAndSize(e,n,r,i)},setCiteText:e=>{n.value&&n.value.setCiteText(e)},focusInput:()=>{n.value&&n.value.focusInput()},selectShortcut:(e,t)=>{n.value&&n.value.selectShortcut(e,t)},sendShortcut:(e,t)=>n.value?n.value.sendShortcut(e,t):Promise.resolve(),getChatHelper:()=>n.value?n.value.getChatHelper():null,handleShortcutClick:e=>{i(`shortcut-click`,e)}}}function dn(e){let{chatHelper:n,sessionBusinessManager:r,chatBotRef:i,forwarders:a,reportSdkError:o,currentSession:s}=e,c=(0,t.ref)(``),l=(0,t.ref)(!0),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=()=>Le(n.message.list.value);(0,t.watch)(()=>s.value,e=>{e&&(c.value=e.sessionName||``,u.value=(e.sessionContentCount??0)>0||f())},{immediate:!0}),(0,t.watch)(()=>n.message.list.value.length,()=>{u.value=f()});let p=async()=>{i.value?.exitShareMode(),a.newChat()},m=e=>{a.newChatCreated(e)},h=e=>{a.historyClick(e)},g=async e=>{try{i.value?.exitShareMode(),await r.switchSession(e)}catch(e){console.error(`[AIBlueking] Failed to switch history session:`,e),o({apiName:`session`,action:`historySwitch`,error:e,source:`business`})}},_=async e=>{try{await r.deleteSession(e)}catch(e){console.error(`[AIBlueking] Failed to delete history session:`,e),o({apiName:`session`,action:`historyDelete`,error:e,source:`business`})}},v=async(e,t)=>{try{await r.updateSessionName(e,t)}catch(e){console.error(`[AIBlueking] Failed to rename history session:`,e),o({apiName:`session`,action:`historyRename`,error:e,source:`business`})}},y=async()=>{let e=n.session.current?.value?.sessionCode;if(!e){console.error(`[AIBlueking] Cannot auto-generate name: no active session`);return}d.value=!0;try{await n.session.renameSession(e);let t=n.session.list.value.find(t=>t.sessionCode===e);t&&(c.value=t.sessionName||``)}catch(e){console.error(`[AIBlueking] Failed to auto-generate session name:`,e),o({apiName:`session`,action:`autoGenerateName`,error:e,source:`business`})}finally{d.value=!1}a.autoGenerateName()},b=()=>{a.helpClick()},x=async e=>{let t=n.session.current?.value;if(!t){console.error(`[AIBlueking] Cannot rename: no active session`);return}try{await n.session.updateSession({...t,sessionName:e}),c.value=e}catch(e){console.error(`[AIBlueking] Failed to rename session:`,e),o({apiName:`session`,action:`rename`,error:e,source:`business`})}a.rename(e,t.sessionCode)},S=(e,t)=>{s.value?.sessionCode===t&&(c.value=e),a.rename(e,t)},C=e=>{e&&(c.value=e.sessionName||``,u.value=(e.sessionContentCount??0)>0||f())},w=()=>i.value?.selectedLlmCode;return{sessionName:c,hasPermission:l,hasSessionContents:u,autoGenerateLoading:d,handleNewChat:p,handleNewChatCreated:m,handleHistoryClick:h,handleHistorySessionSwitch:g,handleHistorySessionDelete:_,handleHistorySessionRename:v,handleAutoGenerateName:y,handleHelpClick:b,handleRename:x,handleSessionRenamed:S,handleSessionSwitched:C,addNewSession:async e=>{e?await r.createSession({...e,model:e.model??w()}):await r.createNewSession({model:w()})},switchToSession:async e=>{i.value&&await i.value.switchSession(e)},updateSessionName:async(e,t)=>{try{await r.updateSessionName(e,t),c.value=t}catch(e){console.error(`[AIBlueking] Failed to update session name:`,e),o({apiName:`session`,action:`updateSessionName`,error:e,source:`business`})}}}}function fn(e){let{shareBusinessManager:n,chatBotRef:i,emit:a,forwarders:o,reportSdkError:s}=e,c=(0,t.ref)(!1);return{isShareLoading:c,handleShare:()=>{i.value?.enterShareMode(),o.share()},handleCancelShare:()=>{i.value?.exitShareMode()},handleConfirmShare:async(e,t)=>{if(!Zt(t)){i.value?.exitShareMode(),a(`confirm-share`,e,t);return}c.value=!0;try{let{shareUrl:s,userMessageIds:c}=await n.shareMessages(e);await Ge(s),(0,r.Message)({message:Z(`分享链接已复制到剪贴板`),theme:`success`}),i.value?.exitShareMode(),o.shareMessages(c),a(`confirm-share`,e,t)}catch(e){console.error(`[AIBlueking] Failed to share messages:`,e),s({apiName:`share`,action:`confirmShare`,error:e,source:`business`})}finally{c.value=!1}}}}function pn(e={}){let n=(0,t.ref)([]),r=(t,r,i={})=>{try{let o=typeof t==`string`?document.querySelector(t):t;if(!o)return console.warn(`Tooltip target not found: ${t}`),null;let s=(0,a.default)(o,{content:r,placement:`top`,arrow:!0,delay:[300,0],theme:`ai-blueking-tooltip`,...e,...i});return n.value.push(s),s}catch(e){return console.error(`Failed to create tooltip:`,e),null}},i=(e,t,n={})=>{let i=document.querySelectorAll(e),a=[];return i.forEach(e=>{let i=r(e,t,n);i&&a.push(i)}),a},o=e=>{let t=[];return e.forEach(({element:e,content:n,options:i})=>{let a=r(e,n,i);a&&t.push(a)}),t},s=()=>{n.value.forEach(e=>{e.destroy()}),n.value=[]};return(0,t.onBeforeUnmount)(()=>{s()}),{instances:n,createTooltip:r,createTooltipsForSelector:i,createMultipleTooltips:o,destroyAll:s,updateContent:(e,t)=>{e.setContent(t)},destroyInstance:e=>{e.destroy()}}}var mn={url:``,title:``,extCls:``,hideNimbus:!1,hideHeader:!1,enablePopup:!0,draggable:!0,enableChatSession:!0,enableModelSelect:!0,renderMode:n.RenderMode.Chat,defaultWidth:400,defaultHeight:void 0,defaultTop:0,defaultLeft:void 0,maxWidth:1e3,miniPadding:0,nimbusSize:`normal`,defaultMinimize:!1,shortcuts:()=>[],shortcutLimit:3,shortcutFilter:void 0,hideDefaultTrigger:!1,requestOptions:()=>({}),teleportTo:`body`,placeholder:void 0,helloText:Z(`你好,我是小鲸`),useAgentName:!1,disabledInput:!1,showHistoryIcon:!0,showNewChatIcon:!0,showCompressionIcon:!0,showMoreIcon:!0,initialSessionCode:``,autoSwitchToInitialSession:!1,alwaysCreateNewSession:!1,loadRecentSessionOnMount:!0,prompts:()=>[],dropdownMenuConfig:()=>({showRename:!0,showAutoGenerate:!0,showShare:!0}),defaultChatInputPosition:void 0,errorToast:!0,ignoreErrors:()=>[]},hn=class extends N{eventEmitter;constructor(e={}){super({onStart:e.onStart,onMessage:e.onMessage,onDone:e.onDone,onError:e.onError}),this.eventEmitter=e.eventEmitter}handleRunErrorEvent(e){super.handleRunErrorEvent(e),this.eventEmitter?.emit(`run-error`,{event:e})}handleTextMessageChunkEvent(e){super.handleTextMessageChunkEvent(e),this.eventEmitter?.emit(`text-chunk`,{event:e})}handleThinkingEndEvent(e){super.handleThinkingEndEvent(e),this.eventEmitter?.emit(`thinking-end`,{event:e})}handleThinkingStartEvent(e){super.handleThinkingStartEvent(e),this.eventEmitter?.emit(`thinking-start`,{event:e})}handleToolCallEndEvent(e){super.handleToolCallEndEvent(e),this.eventEmitter?.emit(`tool-call-end`,{event:e})}handleToolCallStartEvent(e){super.handleToolCallStartEvent(e),this.eventEmitter?.emit(`tool-call-start`,{event:e})}};function gn(e={}){let{eventEmitter:t,onStart:n,onMessage:r,onDone:i,onError:a,onTextChunk:o}=e;return new N({onStart:()=>{t?.emit(`receive-start`,{}),n?.()},onMessage:e=>{t?.emit(`receive-message`,{event:e}),e.type===`TextMessageChunk`&&o&&o(e),r?.(e)},onDone:()=>{t?.emit(`receive-end`,{}),i?.()},onError:e=>{t?.emit(`receive-error`,{error:e}),a?.(e)}})}function _n(e={},n){let r=e.initWidth||400,i=e.minWidth||400,a=e.minHeight||400,o=e.maxWidthPercent||40,s=e.compressedHeight||800,c=e.compressedPadding===void 0?0:e.compressedPadding,l=(0,t.ref)(e.defaultLeft===void 0?window.innerWidth-r:e.defaultLeft),u=(0,t.ref)(e.defaultTop===void 0?0:e.defaultTop),d=(0,t.ref)(e.defaultHeight===void 0?window.innerHeight-(e.defaultTop===void 0?0:e.defaultTop):e.defaultHeight),f=(0,t.ref)(r),p=(0,t.ref)(u.value),m=(0,t.ref)(l.value),h=(0,t.ref)(f.value),g=(0,t.ref)(d.value),_=(0,t.ref)(Math.max(window.innerWidth*(o/100),h.value)),v=(0,t.ref)(!1),y=(0,t.ref)(0),b=null,x=null,S=(0,t.ref)(!1),C=e=>{let t=window.innerWidth,n={...e};return n.width>t&&(n.width=t),n.x+n.width>t&&(n.x=t-n.width),n.x<0&&(n.x=0),n},w=()=>({x:m.value,y:p.value,width:h.value,height:g.value}),T=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value),n?.onDragging?.(w())},E=(e,t,r,i)=>{m.value=e,p.value=t,h.value=Math.min(r,_.value),g.value=i,n?.onResizing?.(w())},D=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value),S.value&&(x=w()),n?.onDragStop?.(w())},O=(e,t,r,i)=>{m.value=e,p.value=t,h.value=Math.min(r,_.value),g.value=i,S.value&&(x=w()),n?.onResizeStop?.(w())},k=()=>{_.value=Math.max(window.innerWidth*(o/100),h.value),(0,t.nextTick)(()=>{if(v.value)m.value=window.innerWidth-h.value-c,p.value=window.innerHeight-s-c;else{let e=window.innerWidth-h.value-y.value;m.value=Math.max(0,e),setTimeout(()=>{g.value=window.innerHeight-p.value},0)}h.value>_.value&&(h.value=_.value)})},A=()=>{v.value?(p.value=u.value,(0,t.nextTick)(()=>{g.value=d.value,m.value=l.value,h.value=f.value})):(p.value=window.innerHeight-s-c,m.value=l.value-c,h.value=r,g.value=s),v.value=!v.value},j=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value)},M=(e,t)=>{h.value=Math.max(i,Math.min(e,_.value)),g.value=Math.max(a,t)};return(0,t.onMounted)(()=>{window.addEventListener(`resize`,k)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,k)}),{minWidth:i,minHeight:a,maxWidth:_,top:p,left:m,width:h,height:g,isCompressed:v,isSidePanelExpanded:S,handleDragging:T,handleResizing:E,handleDragStop:D,handleResizeStop:O,toggleCompression:A,updatePosition:j,updateSize:M,updatePositionAndSize:(e,t,n,r)=>{j(e,t),M(n,r)},expandForSidePanel:e=>{if(S.value)return;let n=w();b={...n},S.value=!0;let r=n.x+n.width,i=x?.width??n.width+e,a=C({x:r-i,y:n.y,width:i,height:n.height});j(a.x,a.y),(0,t.nextTick)(()=>{M(a.width,a.height)})},collapseSidePanel:()=>{if(!S.value)return;let e=w();x={...e},S.value=!1;let n=e.x+e.width,r=b?.width??e.width,i=C({x:n-r,y:e.y,width:r,height:e.height});M(i.width,i.height),(0,t.nextTick)(()=>{j(i.x,i.y)})}}}var vn={class:`draggable-container-content`},yn=Q((0,t.defineComponent)({__name:`draggable-container`,props:{className:{default:``},compressedHeight:{default:800},compressedPadding:{default:0},defaultHeight:{default:void 0},defaultWidth:{default:400},defaultX:{default:void 0},defaultY:{default:0},draggable:{type:Boolean,default:!0},dragHandle:{default:`.drag-handle`},maxWidth:{default:void 0},maxWidthPercent:{default:80},minHeight:{default:400},minWidth:{default:400},resizable:{type:Boolean,default:!0},teleportTo:{default:`body`},visible:{type:Boolean,default:!1}},emits:[`dragging`,`resizing`,`drag-stop`,`resize-stop`,`compression-change`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(!1),{minWidth:s,minHeight:l,maxWidth:u,top:d,left:f,width:p,height:m,isCompressed:h,isSidePanelExpanded:g,handleDragging:_,handleResizing:v,handleDragStop:y,handleResizeStop:b,toggleCompression:x,updatePosition:S,updateSize:C,updatePositionAndSize:w,expandForSidePanel:T,collapseSidePanel:E}=_n({initWidth:i.defaultWidth,minWidth:i.minWidth,minHeight:i.minHeight,maxWidthPercent:i.maxWidthPercent,compressedHeight:i.compressedHeight,defaultHeight:i.defaultHeight,defaultTop:i.defaultY,defaultLeft:i.defaultX,compressedPadding:i.compressedPadding},{onDragStop:e=>a(`drag-stop`,e),onResizeStop:e=>a(`resize-stop`,e),onDragging:e=>a(`dragging`,e),onResizing:e=>a(`resizing`,e)}),D=(0,t.computed)(()=>({"--draggable-max-width":typeof i.maxWidth==`number`?`${i.maxWidth}px`:i.maxWidth??`${u.value}px`})),O=(0,t.computed)(()=>({x:f.value,y:d.value,width:p.value,height:m.value})),k=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=`none`})},A=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=``})},j=(e,t)=>{o.value||(o.value=!0,k()),_(e,t)},M=(e,t,n,r)=>{o.value||(o.value=!0,k()),v(e,t,n,r)},N=(e,t)=>{y(e,t),o.value=!1,A()},P=(e,t,n,r)=>{b(e,t,n,r),o.value=!1,A()};return(0,t.watch)(h,e=>{a(`compression-change`,e)}),n({updatePosition:S,updateSize:C,updatePositionAndSize:w,toggleCompression:x,expandForSidePanel:T,collapseSidePanel:E,positionAndSize:O,isCompressed:h,isSidePanelExpanded:g}),(e,n)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(c.default),{ref:`draggableRef`,active:i.visible,class:(0,t.normalizeClass)([`draggable-container-wrapper`,i.className]),"class-name":`draggable-container-inner`,"drag-handle":i.dragHandle,draggable:i.draggable,h:(0,t.unref)(m),"max-width":(0,t.unref)(u),"min-height":(0,t.unref)(l),"min-width":(0,t.unref)(s),parent:!0,"prevent-deactivation":!0,resizable:i.resizable,style:(0,t.normalizeStyle)(D.value),w:(0,t.unref)(p),x:(0,t.unref)(f),y:(0,t.unref)(d),onDragStop:N,onDragging:j,onResizeStop:P,onResizing:M},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,vn,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])]),_:3},8,[`active`,`class`,`drag-handle`,`draggable`,`h`,`max-width`,`min-height`,`min-width`,`resizable`,`style`,`w`,`x`,`y`])),[[t.vShow,i.visible]])}}),[[`__scopeId`,`data-v-1118456b`]]),bn={class:`nimbus-bkai-wrapper`},xn=[`width`,`height`,`src`],Sn=Q((0,t.defineComponent)({name:`NimbusButton`,__name:`nimbus`,props:{isPanelShow:{type:Boolean},isMinimize:{type:Boolean},size:{default:`normal`}},emits:[`click`,`minimize`,`update:isMinimize`],setup(e,{emit:n}){(0,t.useCssVars)(e=>({v05a8b16e:`${o.value.container}px`,v4e1cf4ca:`${o.value.wrapper}px`,v5ab0c513:`${o.value.mini.right}px`,v40c13a80:`${o.value.mini.size}px`,v0d35a9ef:`${o.value.mini.fontSize}px`}));let r=e,i=n,a={small:{container:40,wrapper:32,img:24,mini:{size:14,fontSize:10,right:-4}},normal:{container:48,wrapper:40,img:32,mini:{size:16,fontSize:12,right:-6}},large:{container:56,wrapper:48,img:40,mini:{size:18,fontSize:14,right:-6}}},o=(0,t.computed)(()=>a[r.size]),s=(0,t.ref)(null),l=(0,t.ref)(null),{nimbusLeft:u,nimbusTop:d,isMinimize:f,handleClick:p,handleMinimize:m,handleDragging:h,handleMouseEnter:g,handleMouseLeave:_,handleMouseDown:v,handleMouseUp:b}=cn(i,r.isMinimize);(0,t.watch)(f,e=>{i(`update:isMinimize`,e)});let x=(0,t.computed)(()=>f.value?Z(`恢复默认大小`):Z(`最小化,将缩成锚点`)),{createTooltip:S,destroyAll:C}=pn({theme:`ai-blueking`,delay:[0,0]}),w=()=>{(0,t.nextTick)(()=>{T()})},T=()=>{C(),s.value&&!f.value&&S(s.value,qe(),{placement:`left`}),l.value&&S(l.value,x.value,{placement:`top`})};return(0,t.watch)(()=>f.value,()=>{(0,t.nextTick)(()=>{T()})}),(0,t.onMounted)(()=>{(0,t.nextTick)(()=>{T()}),window.addEventListener(`resize`,w)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,w)}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(c.default),{active:!e.isPanelShow,axis:`y`,draggable:!0,h:o.value.container,parent:!0,"prevent-deactivation":!0,resizable:!1,w:o.value.container,x:(0,t.unref)(u),y:(0,t.unref)(d),onDragging:(0,t.unref)(h)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`nimbusContainerRef`,ref:s,class:(0,t.normalizeClass)([`nimbus-container`,{"is-minimize":(0,t.unref)(f)}]),onClick:r[1]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e),onMousedown:r[2]||=(...e)=>(0,t.unref)(v)&&(0,t.unref)(v)(...e),onMouseenter:r[3]||=(...e)=>(0,t.unref)(g)&&(0,t.unref)(g)(...e),onMouseleave:r[4]||=(...e)=>(0,t.unref)(_)&&(0,t.unref)(_)(...e),onMouseup:r[5]||=(...e)=>(0,t.unref)(b)&&(0,t.unref)(b)(...e)},[(0,t.createElementVNode)(`div`,bn,[(0,t.createElementVNode)(`img`,{width:o.value.img,height:o.value.img,src:(0,t.unref)(y),alt:`nimbus`},null,8,xn)]),(0,t.createElementVNode)(`i`,{ref_key:`minimizeButtonRef`,ref:l,class:(0,t.normalizeClass)([`nimbus-mini bkai-icon`,(0,t.unref)(f)?`bkai-yinyong`:`bkai-minus-line`]),onClick:r[0]||=(0,t.withModifiers)((...e)=>(0,t.unref)(m)&&(0,t.unref)(m)(...e),[`stop`])},null,2)],34)]),_:1},8,[`active`,`h`,`w`,`x`,`y`,`onDragging`]))}}),[[`__scopeId`,`data-v-26b6f3ea`]]),Cn=Q((0,t.defineComponent)({inheritAttrs:!1,__name:`ai-blueking`,props:(0,t.mergeDefaults)({alwaysCreateNewSession:{type:Boolean},autoSwitchToInitialSession:{type:Boolean},defaultChatInputPosition:{},defaultHeight:{},defaultLeft:{},defaultMinimize:{type:Boolean},defaultTop:{},defaultWidth:{},disabledInput:{type:Boolean},draggable:{type:Boolean},dropdownMenuConfig:{},enableChatSession:{type:Boolean},enableModelSelect:{type:Boolean},models:{},enablePopup:{type:Boolean},errorToast:{type:Boolean},executionTabVisible:{type:Boolean},extCls:{},getSideRenderComponent:{type:Function},getSideTabRenderComponent:{type:Function},helloText:{},messageTools:{},updateTools:{},hideDefaultTrigger:{type:Boolean},hideHeader:{type:Boolean},hideNimbus:{type:Boolean},ignoreErrors:{},initialSessionCode:{},loadRecentSessionOnMount:{type:Boolean},maxWidth:{},miniPadding:{},nimbusSize:{},onCustomTabChange:{type:Function},placeholder:{},prompts:{},renderMode:{},requestOptions:{},resources:{},shortcutLimit:{},shortcuts:{},showCompressionIcon:{type:Boolean},showHistoryIcon:{type:Boolean},showMoreIcon:{type:Boolean},showNewChatIcon:{type:Boolean},teleportTo:{},title:{},url:{},useAgentName:{type:Boolean},beforeNimbusClick:{type:Function},shortcutFilter:{type:Function},resizeProps:{},size:{}},mn),emits:[`show`,`close`,`dragging`,`resizing`,`drag-stop`,`resize-stop`,`send-message`,`receive-start`,`receive-text`,`receive-end`,`stop`,`shortcut-click`,`session-initialized`,`sdk-error`,`transfer-messages`,`share-messages`,`confirm-share`,`agent-action`,`new-chat`,`new-chat-created`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`],setup(e,{expose:r,emit:i}){let a=e,o=i,s=(0,t.useAttrs)(),{chatHelper:c,componentManager:l,sessionBusinessManager:u,shareBusinessManager:d,shortcutManager:f,forwarders:p,forwardToManager:m,chatBotRef:h,draggableContainerRef:g,panelVisible:_,nimbusMinimized:v,normalizedUrl:y,agentName:b,currentSession:x,isCompressed:S,isWelcomeState:C,messageToolsTippyOptions:w,agentResources:T,agentPrompts:E,agentSkills:D,handleError:O,reportSdkError:k,ensureSessionReady:A,updateAgentInfo:j}=on({props:a,emit:o}),M=(0,t.computed)(()=>h.value?.selectedLlmCode),{show:N,hide:P,handleShow:ee,handleClose:F,handleNimbusClick:I,handleDragging:L,handleResizing:R,handleDragStop:z,handleResizeStop:te,handleToggleCompression:B,handleCompressionChange:V,handleExecutionPanelChange:H,sendMessage:U,handleReceiveStart:W,handleReceiveText:ne,handleReceiveEnd:G,handleStop:re,stopGeneration:ie,setCiteText:K,focusInput:ae,selectShortcut:oe,sendShortcut:se,getChatHelper:ce,updatePosition:le,updateSize:ue,updatePositionAndSize:de,handleShortcutClick:fe}=un({componentManager:l,chatBotRef:h,forwarders:p,forwardToManager:m,beforeNimbusClick:a.beforeNimbusClick,ensureSessionReady:A}),{sessionName:pe,hasPermission:q,hasSessionContents:J,autoGenerateLoading:me,handleNewChat:Y,handleNewChatCreated:he,handleHistoryClick:ge,handleHistorySessionSwitch:_e,handleHistorySessionDelete:ve,handleHistorySessionRename:ye,handleAutoGenerateName:be,handleHelpClick:xe,handleRename:Se,handleSessionRenamed:Ce,handleSessionSwitched:we,addNewSession:Te,switchToSession:Ee,updateSessionName:De}=dn({chatHelper:c,sessionBusinessManager:u,chatBotRef:h,forwarders:p,reportSdkError:k,currentSession:x}),{isShareLoading:Oe,handleShare:ke,handleCancelShare:Ae,handleConfirmShare:je}=fn({shareBusinessManager:d,chatBotRef:h,emit:(e,t,n)=>o(e,t,n),forwarders:p,reportSdkError:k}),{aiSelectionVisible:X,filteredPopupShortcuts:Me,handleSelectionChange:Ne,handleAiSelectionShortcut:Pe}=sn({shortcutManager:f,chatBotRef:h,forwardToManager:m,show:N,props:a}),Fe=e=>{J.value=!0,p.sendMessage(e)};return r({show:N,handleShow:ee,handleClose:F,hide:P,sendMessage:U,selectShortcut:oe,sendShortcut:se,getChatHelper:ce,stopGeneration:ie,addNewSession:Te,switchToSession:Ee,updateSessionName:De,updatePosition:le,updateSize:ue,updatePositionAndSize:de,setCiteText:K,focusInput:ae,updateAgentInfo:j}),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:a.teleportTo},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`ai-blueking-v2`,a.extCls,(0,t.unref)(s).class])},[(0,t.createCommentVNode)(` 可拖拽容器 `),(0,t.createVNode)((0,t.unref)(yn),{ref_key:`draggableContainerRef`,ref:g,"compressed-padding":a.miniPadding,"default-height":a.defaultHeight,"default-width":a.defaultWidth,"default-x":a.defaultLeft,"default-y":a.defaultTop,"drag-handle":`.drag-handle`,draggable:a.draggable,"max-width":a.maxWidth,"max-width-percent":80,visible:(0,t.unref)(_),onCompressionChange:(0,t.unref)(V),onDragStop:(0,t.unref)(z),onDragging:(0,t.unref)(L),onResizeStop:(0,t.unref)(te),onResizing:(0,t.unref)(R)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`ai-blueking-panel`,{"has-messages":!(0,t.unref)(C)}])},[(0,t.createCommentVNode)(` 独立的 Header 组件 `),a.hideHeader?(0,t.createCommentVNode)(`v-if`,!0):((0,t.openBlock)(),(0,t.createBlock)(Et,{key:0,"agent-name":(0,t.unref)(b),"chat-helper":(0,t.unref)(c),draggable:a.draggable,"dropdown-menu-config":a.dropdownMenuConfig,"enable-chat-session":a.enableChatSession,"has-permission":(0,t.unref)(q),"has-session-contents":(0,t.unref)(J),"auto-generate-loading":(0,t.unref)(me),"is-compression-height":(0,t.unref)(S),"render-mode":a.renderMode,"session-business-manager":(0,t.unref)(u),"selected-llm-code":M.value,"session-name":(0,t.unref)(pe),"show-compression-icon":a.showCompressionIcon,"show-history-icon":a.showHistoryIcon,"show-more-icon":a.showMoreIcon,"show-new-chat-icon":a.showNewChatIcon,title:a.title,onAutoGenerateName:(0,t.unref)(be),onClose:(0,t.unref)(F),onHelpClick:(0,t.unref)(xe),onHistoryClick:(0,t.unref)(ge),onHistorySessionDelete:(0,t.unref)(ve),onHistorySessionRename:(0,t.unref)(ye),onHistorySessionSwitch:(0,t.unref)(_e),onNewChat:(0,t.unref)(Y),onNewChatCreated:(0,t.unref)(he),onRename:(0,t.unref)(Se),onShare:(0,t.unref)(ke),onToggleCompression:(0,t.unref)(B)},(0,t.createSlots)({_:2},[e.$slots.headerLeft?{name:`headerLeft`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`headerLeft`,{},void 0,!0)]),key:`0`}:void 0]),1032,`agent-name.chat-helper.draggable.dropdown-menu-config.enable-chat-session.has-permission.has-session-contents.auto-generate-loading.is-compression-height.render-mode.session-business-manager.selected-llm-code.session-name.show-compression-icon.show-history-icon.show-more-icon.show-new-chat-icon.title.onAutoGenerateName.onClose.onHelpClick.onHistoryClick.onHistorySessionDelete.onHistorySessionRename.onHistorySessionSwitch.onNewChat.onNewChatCreated.onRename.onShare.onToggleCompression`.split(`.`))),(0,t.createCommentVNode)(` ChatBot 核心组件(仅聊天区域) `),(0,t.createVNode)(tn,{ref_key:`chatBotRef`,ref:h,"always-create-new-session":a.alwaysCreateNewSession,"auto-load":a.loadRecentSessionOnMount,"chat-helper":(0,t.unref)(c),"enable-model-select":a.enableModelSelect,"error-toast":!1,"execution-tab-visible":a.executionTabVisible,"hello-text":a.helloText,"message-tools":a.messageTools,"message-tools-tippy-options":(0,t.unref)(w),models:a.models,placeholder:a.placeholder,prompts:(0,t.unref)(E),"render-mode":a.renderMode,"request-options":a.requestOptions,"use-agent-name":a.useAgentName,"get-side-render-component":a.getSideRenderComponent,"get-side-tab-render-component":a.getSideTabRenderComponent,"on-custom-tab-change":a.onCustomTabChange,"resize-props":a.resizeProps,size:a.size,resources:(0,t.unref)(T),"session-code":a.initialSessionCode,"share-loading":(0,t.unref)(Oe),shortcuts:a.shortcuts,skills:(0,t.unref)(D),style:(0,t.normalizeStyle)({height:a.hideHeader?`100%`:`calc(100% - 48px)`}),"update-tools":a.updateTools,url:(0,t.unref)(y),onAgentAction:r[0]||=(e,t)=>o(`agent-action`,e,t),onCancelShare:(0,t.unref)(Ae),onConfirmShare:r[1]||=(e,n)=>(0,t.unref)(je)(e,n),onError:r[2]||=e=>(0,t.unref)(O)(e),onExecutionPanelChange:(0,t.unref)(H),onReceiveEnd:(0,t.unref)(G),onReceiveStart:(0,t.unref)(W),onReceiveText:(0,t.unref)(ne),onRename:(0,t.unref)(Ce),onRequestShare:(0,t.unref)(ke),onSendMessage:r[3]||=e=>Fe(e),onSessionSwitched:r[4]||=e=>(0,t.unref)(we)(e),onShortcutClick:(0,t.unref)(fe),onStop:(0,t.unref)(re)},(0,t.createSlots)({_:2},[e.$slots.welcome?{name:`welcome`,fn:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,`welcome`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)),void 0,!0)]),key:`0`}:void 0,e.$slots.codeHeader?{name:`codeHeader`,fn:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,`codeHeader`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)),void 0,!0)]),key:`1`}:void 0,e.$slots.message?{name:`message`,fn:(0,t.withCtx)(({message:n,messageToolsStatus:r,onInterruptResume:i})=>[(0,t.renderSlot)(e.$slots,`message`,{message:n,messageToolsStatus:r,onInterruptResume:i},void 0,!0)]),key:`2`}:void 0]),1032,`always-create-new-session.auto-load.chat-helper.enable-model-select.execution-tab-visible.hello-text.message-tools.message-tools-tippy-options.models.placeholder.prompts.render-mode.request-options.use-agent-name.get-side-render-component.get-side-tab-render-component.on-custom-tab-change.resize-props.size.resources.session-code.share-loading.shortcuts.skills.style.update-tools.url.onCancelShare.onExecutionPanelChange.onReceiveEnd.onReceiveStart.onReceiveText.onRename.onRequestShare.onShortcutClick.onStop`.split(`.`))],2)]),_:3},8,[`compressed-padding`,`default-height`,`default-width`,`default-x`,`default-y`,`draggable`,`max-width`,`visible`,`onCompressionChange`,`onDragStop`,`onDragging`,`onResizeStop`,`onResizing`]),(0,t.createCommentVNode)(` Nimbus 悬浮球 `),a.hideNimbus?(0,t.createCommentVNode)(`v-if`,!0):((0,t.openBlock)(),(0,t.createBlock)(Sn,{key:0,"is-minimize":(0,t.unref)(v),"onUpdate:isMinimize":r[5]||=e=>(0,t.isRef)(v)?v.value=e:null,"is-panel-show":(0,t.unref)(_),"onUpdate:isPanelShow":r[6]||=e=>(0,t.isRef)(_)?_.value=e:null,"default-minimize":a.defaultMinimize,size:a.nimbusSize,onClick:(0,t.unref)(I)},null,8,[`is-minimize`,`is-panel-show`,`default-minimize`,`size`,`onClick`])),(0,t.createCommentVNode)(` 划词选择弹窗(使用 chat-x 的 AiSelection 组件) `),a.enablePopup?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.AiSelection),{key:1,visible:(0,t.unref)(X),"onUpdate:visible":r[7]||=e=>(0,t.isRef)(X)?X.value=e:null,"exclude-selectors":[`.draggable-container-wrapper`],"max-shortcut-count":a.shortcutLimit,shortcuts:(0,t.unref)(Me),onSelectShortcut:(0,t.unref)(Pe),onSelectionChange:(0,t.unref)(Ne)},null,8,[`visible`,`max-shortcut-count`,`shortcuts`,`onSelectShortcut`,`onSelectionChange`])):(0,t.createCommentVNode)(`v-if`,!0)],2)],8,[`to`]))}}),[[`__scopeId`,`data-v-2d3264be`]]);e.AGUIProtocol=N,e.AIBlueking=Cn,e.default=Cn,e.BluekingProtocol=hn,e.BootstrapPhase=$,e.ChatBot=tn,e.ChatBusinessManager=kt,e.ComponentManager=Nt,e.DraggableContainer=yn,Object.defineProperty(e,`MessageContentType`,{enumerable:!0,get:function(){return n.MessageContentType}}),Object.defineProperty(e,`RenderMode`,{enumerable:!0,get:function(){return n.RenderMode}}),e.SessionBusinessManager=At,e.ShortcutManager=Mt,e.UIStateManager=Lt,e.createBluekingProtocol=gn,e.createComponentManager=Pt,e.defaultProps=mn,e.parseCustomBlocks=Be,e.useChatBootstrap=nn,e.useChatHelper=X,e.useDraggable=_n});