@customize-agent/server 4.0.111 → 4.0.112

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.
Files changed (60) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +36 -29
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/6041.js +67 -65
  5. package/.next/server/chunks/8203.js +1 -1
  6. package/.next/server/chunks/8204.js +1 -1
  7. package/.next/server/chunks/8661.js +4 -3
  8. package/.next/server/middleware-build-manifest.js +1 -1
  9. package/.next/server/pages/404.html +1 -1
  10. package/.next/server/pages/500.html +1 -1
  11. package/.next/server/pages/api/documents/export.js +1 -1
  12. package/.next/server/pages/api/jobs/[id].js +1 -1
  13. package/.next/server/pages/api/jobs.js +1 -1
  14. package/.next/server/pages/api/kb/files.js +1 -1
  15. package/.next/server/pages/api/kb/operations.js +1 -1
  16. package/.next/server/pages/api/kb/upload/complete.js +1 -1
  17. package/.next/server/pages/asset-library.html +1 -1
  18. package/.next/server/pages/document-roles.html +1 -1
  19. package/.next/server/pages/documents.html +1 -1
  20. package/.next/server/pages/guide.html +1 -1
  21. package/.next/server/pages/index.html +1 -1
  22. package/.next/server/pages/knowledge/file-detail.html +1 -1
  23. package/.next/server/pages/knowledge/files.html +1 -1
  24. package/.next/server/pages/knowledge/manage.html +1 -1
  25. package/.next/server/pages/knowledge.html +1 -1
  26. package/.next/server/pages/models.html +1 -1
  27. package/.next/server/pages/overview.html +1 -1
  28. package/.next/server/pages/prompt.html +1 -1
  29. package/.next/server/pages/settings.html +1 -1
  30. package/.next/server/pages/system/logs.html +1 -1
  31. package/.next/server/pages-manifest.json +24 -24
  32. package/.next/static/2zuiiTmB2oc9xI0T0I-tH/_buildManifest.js +1 -0
  33. package/.next/static/chunks/155-2f71ef31b9336adb.js +1 -0
  34. package/.next/static/chunks/403-0469cb096084301f.js +1 -0
  35. package/.next/static/chunks/576-fdadae734b47b56b.js +1 -0
  36. package/.next/static/chunks/795-18a2b5f64892634d.js +1 -0
  37. package/.next/static/chunks/880-64d8a15c524106d2.js +1 -0
  38. package/.next/static/chunks/{238-16333381c574f65b.js → 945-9e9382e35f024c04.js} +1 -1
  39. package/.next/static/chunks/pages/{_app-708815cd5af2fe03.js → _app-bddc4705c7d28afc.js} +22 -22
  40. package/.next/static/chunks/pages/{asset-library-994e1e2977b6cf1b.js → asset-library-dc19b6ccd193de27.js} +1 -1
  41. package/.next/static/chunks/pages/{document-roles-17247e9639a04648.js → document-roles-5e8baf8718eda4ce.js} +1 -1
  42. package/.next/static/chunks/pages/{documents-181c9242fd75682b.js → documents-cf82f7df998af35d.js} +1 -1
  43. package/.next/static/chunks/pages/{index-9df5670a1487dbb1.js → index-cb27bfa36c212ab5.js} +1 -1
  44. package/.next/static/chunks/pages/knowledge/{file-detail-73678bce1bb43f02.js → file-detail-58d6d3365af15b4c.js} +1 -1
  45. package/.next/static/chunks/pages/knowledge/files-3bf25ca6491cebe3.js +1 -0
  46. package/.next/static/chunks/pages/knowledge/{manage-b07ce5086d63ca67.js → manage-c98ed288e65c3e84.js} +1 -1
  47. package/.next/static/chunks/pages/{models-ec554ec972763d7b.js → models-79489bb240e69848.js} +1 -1
  48. package/.next/static/chunks/pages/{overview-63f3dda2dde16c9e.js → overview-8713b5d37af0eeb3.js} +1 -1
  49. package/.next/static/chunks/pages/{prompt-11aab3e22cca2bdd.js → prompt-031bc6ab32830ae5.js} +1 -1
  50. package/.next/static/chunks/pages/system/{logs-91bfbc6fe9343d2e.js → logs-b073e55810452aca.js} +1 -1
  51. package/.next/static/css/e14747a3f560e6f5.css +1 -0
  52. package/package.json +3 -3
  53. package/.next/static/JB9RY8Th5ev3d7Ja5Jys1/_buildManifest.js +0 -1
  54. package/.next/static/chunks/506-93f730bc149d0dce.js +0 -1
  55. package/.next/static/chunks/576-6699fed6c88502fe.js +0 -1
  56. package/.next/static/chunks/788-72bd97a04f2aee27.js +0 -1
  57. package/.next/static/chunks/795-e18d1f7843b8f683.js +0 -1
  58. package/.next/static/chunks/pages/knowledge/files-f72277ef4a72bff0.js +0 -1
  59. package/.next/static/css/725551a791210988.css +0 -1
  60. /package/.next/static/{JB9RY8Th5ev3d7Ja5Jys1 → 2zuiiTmB2oc9xI0T0I-tH}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[28],{1611:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"database",theme:"outlined"}},12887:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"}},13067:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0010.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 00-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z"}}]},name:"file-excel",theme:"outlined"}},14569:e=>{e.exports={featureLabel:"style_featureLabel__XFSTX",featureValue:"style_featureValue__I_wMP",filterInput:"style_filterInput__4_Elu",filterSelect:"style_filterSelect__vUBJ9",statusCard:"style_statusCard__H7Mee",statusSummary:"style_statusSummary__7KavF",statusSummaryText:"style_statusSummaryText__Shw3j",statusClearBtn:"style_statusClearBtn__uJ9bE",statusExpandBtn:"style_statusExpandBtn__HhgIj",statusFilters:"style_statusFilters__g_LbG",filterPill:"style_filterPill__1pjFW",filterPillActive:"style_filterPillActive___UZVi",statusPanel:"style_statusPanel__9arTu",statusEmpty:"style_statusEmpty__8LWzH",timelineList:"style_timelineList__dqJrz",timelineItem:"style_timelineItem__dbuL_",timelineStatusIcon:"style_timelineStatusIcon__SkRwb",timelinePercent:"style_timelinePercent__pEyH4",timelineRow:"style_timelineRow__EDOVa",timelineTitle:"style_timelineTitle__Yujr8",timelineClose:"style_timelineClose__Byx_9",timelineDetail:"style_timelineDetail__nALei",timelineDesc:"style_timelineDesc__FMjWE",timelinePath:"style_timelinePath__C9VQI",timelineMeta:"style_timelineMeta__u_pCn",timelineMetaTag:"style_timelineMetaTag__G3jF1",timelineExpandArrow:"style_timelineExpandArrow__xIBdF",timelineExpandArrowOpen:"style_timelineExpandArrowOpen__TWWDC",fileNameCell:"style_fileNameCell__EHsnt",folderName:"style_folderName__VhLXP",folderRow:"style_folderRow__d7k9S",searchResultList:"style_searchResultList__cVKZg",searchResultItem:"style_searchResultItem__boj6D",searchResultHeader:"style_searchResultHeader__meVdJ",searchContent:"style_searchContent__XbUVk",pdfPreviewStrip:"style_pdfPreviewStrip__94_eG",drawingPreview:"style_drawingPreview__lkk_L"}},23793:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"}},25258:(e,t,r)=>{"use strict";r.d(t,{A:()=>b});var l=r(51541),a=r(61848),n=r(5669),s=r(97109),i=r(72658),o=r(3638),c=r(92162),d=r(82725),u=r(74567),h=r(632),f=r(49517),m=r(79412),v=r(19527);let p=(0,d.U)(e=>{let{prefixCls:t,className:r,closeIcon:l,closable:a,type:n,title:d,children:p,footer:g,classNames:x,styles:y,...b}=e,{getPrefixCls:w}=s.useContext(u.QO),{className:j,style:_,classNames:A,styles:z}=(0,u.TP)("modal"),k=w(),C=t||w("modal"),S=(0,h.A)(k),[P,M]=(0,v.Ay)(C,S),[N,O]=(0,c.AV)([A,x],[z,y],{props:e}),H=`${C}-confirm`,T={};return T=n?{closable:a??!1,title:"",footer:"",children:s.createElement(f.k,{...e,prefixCls:C,confirmPrefixCls:H,rootPrefixCls:k,content:p})}:{closable:a??!0,title:d,footer:null!==g&&s.createElement(m.w,{...e}),children:p},s.createElement(i.Z,{prefixCls:C,className:(0,o.$)(P,`${C}-pure-panel`,n&&H,n&&`${H}-${n}`,r,j,M,S,N.root),style:{..._,...O.root},...b,closeIcon:(0,m.O)(C,l),closable:a,classNames:N,styles:O,...T})});var g=r(99739);function x(e){return(0,l.Ay)((0,l.fp)(e))}let y=n.A;y.useModal=g.A,y.info=function(e){return(0,l.Ay)((0,l.$D)(e))},y.success=function(e){return(0,l.Ay)((0,l.Ej)(e))},y.error=function(e){return(0,l.Ay)((0,l.jT)(e))},y.warning=x,y.warn=x,y.confirm=function(e){return(0,l.Ay)((0,l.lr)(e))},y.destroyAll=function(){for(;a.A.length;){let e=a.A.pop();e&&e()}},y.config=l.FB,y._InternalPanelDoNotUseOrYouWillBeFired=p;let b=y},26619:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(1611),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},26631:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(12887),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},30289:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"}},35311:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M456 231a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"more",theme:"outlined"}},45551:(e,t,r)=>{"use strict";function l(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),r=e/Math.pow(1024,t);return"".concat(r.toFixed(+(0!==t))," ").concat(["B","KB","MB","GB","TB"][t])}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===t?"Never":"从未";let r=Math.floor(Math.floor((Date.now()-e)/1e3)/60),l=Math.floor(r/60),a=Math.floor(l/24);return a>30?new Date(e).toLocaleDateString(t):"en-US"===t?a>0?"".concat(a,"d ago"):l>0?"".concat(l,"h ago"):r>0?"".concat(r,"m ago"):"Just now":a>0?"".concat(a," 天前"):l>0?"".concat(l," 小时前"):r>0?"".concat(r," 分钟前"):"刚刚"}r.d(t,{Jm:()=>i,fw:()=>a,z3:()=>l});let n={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},s={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function i(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===r?s:n)[e])?t:e}},48893:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 00-12.6 0l-99.8 127.2a7.98 7.98 0 006.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 00-12.7 0zM360 442a40 40 0 1080 0 40 40 0 10-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file-image",theme:"outlined"}},53234:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM496 208H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 244a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"hdd",theme:"outlined"}},54746:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(71242),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},58209:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(23793),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},58520:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 00-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 00-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z"}}]},name:"file-word",theme:"outlined"}},61825:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(30289),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},64207:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>ee});var l=r(65321),a=r(97109),n=r(48321),s=r(43220),i=r.n(s),o=r(86109),c=r(17807),d=r(25258),u=r(11702),h=r(71102),f=r(85114),m=r(7576),v=r(50883),p=r(33442),g=r(21289),x=r(56768),y=r(48893),b=r(88483);function w(){return(w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let j=a.forwardRef((e,t)=>a.createElement(b.A,w({},e,{ref:t,icon:y.A})));var _=r(13067);function A(){return(A=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let z=a.forwardRef((e,t)=>a.createElement(b.A,A({},e,{ref:t,icon:_.A})));var k=r(58520);function C(){return(C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let S=a.forwardRef((e,t)=>a.createElement(b.A,C({},e,{ref:t,icon:k.A})));var P=r(90939);function M(){return(M=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let N=a.forwardRef((e,t)=>a.createElement(b.A,M({},e,{ref:t,icon:P.A})));var O=r(93314),H=r(61825),T=r(26619),E=r(7225),F=r(26631),V=r(64254),B=r(64629),I=r(58209),R=r(85855),L=r(30486),D=r(54746),q=r(84742),$=r(38762),J=r(39219),Q=r(22931),U=r(6578),W=r(45551),X=r(14569),G=r.n(X);let K=["document","spreadsheet","image","cad","code","data","web","diagram","other"],Z=/\.(zip|jar|war|apk|tar|gz|tgz|bz2|rar|7z)$/iu,Y=/(^|\/)\.DS_Store$|(^|\/)Thumbs\.db$|(^|\/)__MACOSX\/|\.bak$/iu;function ee(){let e=(0,n.Vr)("knowledge"),{locale:t}=(0,n.x_)(),{message:r}=c.A.useApp(),s=(0,o.useRouter)(),y="string"==typeof s.query.category?s.query.category:"",[b,w]=(0,a.useState)([]),[_,A]=(0,a.useState)(!1),[k,C]=(0,a.useState)(""),[P,M]=(0,a.useState)(""),[X,ee]=(0,a.useState)(y),[et,er]=(0,a.useState)(!1),[el,ea]=(0,a.useState)(!1),[en,es]=(0,a.useState)([]),[ei,eo]=(0,a.useState)([]),[ec,ed]=(0,a.useState)(new Set),[eu,eh]=(0,a.useState)("all"),[ef,em]=(0,a.useState)(!0),[ev,ep]=(0,a.useState)([]),[eg,ex]=(0,a.useState)(new Set),ey=(0,a.useRef)(X);(0,a.useEffect)(()=>{ey.current=X},[X]),(0,a.useEffect)(()=>{ee("string"==typeof s.query.category?s.query.category:"")},[s.query.category]);let eb=(0,a.useCallback)(async(e,t)=>{let r=null!=e?e:ey.current;(null==t?void 0:t.silent)||(A(!0),C(""));try{let e=await (0,U.HT)({category:r||void 0,limit:5e3});w(e.files||[]),e.initializing&&window.setTimeout(()=>{eb(r,{silent:!0})},3e3)}catch(e){(null==t?void 0:t.silent)||(w([]),C(e instanceof Error?e.message:"文件列表加载失败"))}finally{(null==t?void 0:t.silent)||A(!1)}},[]);(0,a.useEffect)(()=>{eb(X)},[X,eb]);let ew=e=>"document"===e.type?null:{id:e.id,type:e.type,title:e.title,description:e.message,status:e.status,percent:e.percent,filePath:e.filePath,chunkCount:e.chunkCount,textLength:e.textLength,extractionMode:e.extractionMode,error:e.error,createdAt:e.createdAt},ej=(0,a.useCallback)(async()=>{try{let e=(await (0,U.Qx)()).operations.map(ew).filter(e=>!!e);es(t=>{let r=new Set(e.map(e=>e.id).filter(Boolean)),l=e.map(e=>{var r;let l=t.find(t=>t.id===e.id);return l?{...l,...e,createdAt:null!=(r=l.createdAt)?r:e.createdAt}:e}),a=t.filter(e=>e.id&&!r.has(e.id)&&"processing"===e.status);return[...l,...a].slice(0,50)})}catch(e){}},[]),e_=(0,a.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];es(r=>{let l=r.findIndex(r=>e.id&&r.id===e.id||t.includes(r.title));if(l>=0){var a;let t=[...r];return t[l]={...r[l],...e,createdAt:null!=(a=r[l].createdAt)?a:e.createdAt},t}return[e,...r].slice(0,50)})},[]);(0,a.useEffect)(()=>{ej()},[ej]);let eA=(0,a.useMemo)(()=>{let e=0,t=0,r=0;for(let l of en)"processing"===l.status?e++:"success"===l.status?t++:("error"===l.status||"warning"===l.status)&&r++;return{processing:e,success:t,error:r}},[en]);(0,a.useEffect)(()=>{eA.processing>0&&em(!1)},[eA.processing]),(0,a.useEffect)(()=>{if(0===eA.processing)return;let e=window.setInterval(()=>{ej()},2e3),t=window.setInterval(()=>{eb(void 0,{silent:!0})},8e3);return()=>{window.clearInterval(e),window.clearInterval(t)}},[eb,ej,eA.processing]),"all"===eu||en.filter(e=>"processing"===eu?"processing"===e.status:"success"===eu?"success"===e.status:"error"!==eu||"error"===e.status||"warning"===e.status);let ez=async e=>{let t=e.filter(e=>{let t=e.webkitRelativePath||e.name;return e.size>0&&!Z.test(e.name)&&!Y.test(t)}),l=e.length-t.length;if(l>0&&r.warning("已跳过 ".concat(l," 个空文件、系统文件、备份文件或压缩包")),0===t.length)return;let a=1===t.length?t[0].name:"".concat(t.length," 个文件");er(!0);let n="".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));e_({id:n,type:"upload",title:"上传 ".concat(a),description:"等待上传、解析、切片和入库;同路径文件会更新,其他已有文件不会清除",status:"processing",percent:5});try{await (0,U.c1)(t,void 0,n,e=>{e_({id:n,type:"upload",title:"上传 ".concat(a),description:"正在上传文件:".concat(e.uploadedFiles,"/").concat(e.totalFiles,",批次 ").concat(e.batchIndex+1,"/").concat(e.totalBatches),status:"processing",percent:Math.min(5,Math.max(1,Math.round(e.uploadedFiles/Math.max(1,e.totalFiles)*5)))})}),r.info("文件已上传,正在后台解析、切片和入库;同路径文件会更新,其他已有文件不会清除,可在顶部“后台任务”查看进度"),M(""),ee(""),eo([]),ey.current="",await ej(),window.setTimeout(()=>{eb(void 0,{silent:!0})},2e3)}catch(t){let e=t instanceof Error?t.message:"请重试或检查文件格式";r.error(e||"上传失败"),e_({id:n,type:"error",title:"上传失败 ".concat(a),description:e,status:"error",percent:100})}finally{er(!1)}},ek=async()=>{ea(!0);let e="reindex-ui-".concat(Date.now());e_({id:e,type:"reindex",title:"重新解析入库",description:"正在提交后台任务",status:"processing",percent:5});try{var t;let l=await (0,U.H1)(),a=l.operationId||e,n=l.job;r.info(l.alreadyRunning?"已有重新解析任务正在后台执行":"已提交重新解析入库任务,可在顶部“后台任务”查看进度"),e_({id:a,type:"reindex",title:(null==n?void 0:n.title)||"重新解析入库",description:(null==n?void 0:n.message)||"后台将重新扫描文件、解析、切片并重建索引",status:(null==n?void 0:n.status)||"processing",percent:null!=(t=null==n?void 0:n.percent)?t:10,error:null==n?void 0:n.error},["重新解析入库"]);for(let e=0;e<360;e++){let e=await (0,U.ax)(a).then(e=>e.job).catch(async()=>(await (0,U.Qx)()).operations.find(e=>e.id===a));if(e){let t="success"===e.status||"error"===e.status;if(e_({id:a,type:"error"===e.status?"error":"reindex",title:"success"===e.status?"重新解析入库完成":"error"===e.status?"重新解析入库失败":e.title,description:e.error||e.message,status:e.status,percent:e.percent,filePath:e.filePath,chunkCount:e.chunkCount,error:e.error}),t){"success"===e.status?r.success(e.message||"重新解析入库完成"):r.error(e.error||e.message||"重新解析入库失败");break}}await new Promise(e=>setTimeout(e,1e3))}await eb(),await ej()}catch(l){let t=l instanceof Error?l.message:"重新解析入库失败";r.error(t),e_({id:e,type:"error",title:"重新解析入库失败",description:t,status:"error",percent:100},["重新解析入库","重新解析入库完成","重新解析入库失败"])}finally{ea(!1)}},eC=async e=>{let t="file-reindex-ui-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));ex(t=>new Set(t).add(e.relativePath)),e_({id:t,type:"reindex",title:"重新解析 ".concat(e.relativePath),description:"正在提交单文件后台任务",status:"processing",percent:5,filePath:e.relativePath});try{var l;let a=await (0,U.HC)(e.relativePath),n=a.operationId||t,s=a.job;r.info(a.alreadyRunning?"已有知识库任务正在后台执行":"已提交单文件重新解析任务"),e_({id:n,type:"reindex",title:(null==s?void 0:s.title)||"重新解析 ".concat(e.relativePath),description:(null==s?void 0:s.message)||"后台将重新解析、分块并入库该文件",status:(null==s?void 0:s.status)||"processing",percent:null!=(l=null==s?void 0:s.percent)?l:10,filePath:(null==s?void 0:s.filePath)||e.relativePath,chunkCount:null==s?void 0:s.chunkCount,error:null==s?void 0:s.error},["重新解析 ".concat(e.relativePath)]);for(let t=0;t<240;t++){let t=await (0,U.ax)(n).then(e=>e.job).catch(async()=>(await (0,U.Qx)()).operations.find(e=>e.id===n));if(t){let l="success"===t.status||"error"===t.status;if(e_({id:n,type:"error"===t.status?"error":"reindex",title:"success"===t.status?"重新解析完成 ".concat(e.relativePath):"error"===t.status?"重新解析失败 ".concat(e.relativePath):t.title,description:t.error||t.message,status:t.status,percent:t.percent,filePath:t.filePath||e.relativePath,chunkCount:t.chunkCount,error:t.error}),await eb(),l){"success"===t.status?r.success(t.message||"单文件重新解析完成"):r.error(t.error||t.message||"单文件重新解析失败");break}}await new Promise(e=>setTimeout(e,1e3))}await eb(),await ej()}catch(a){let l=a instanceof Error?a.message:"单文件重新解析失败";r.error(l),e_({id:t,type:"error",title:"重新解析失败 ".concat(e.relativePath),description:l,status:"error",percent:100,filePath:e.relativePath},["重新解析 ".concat(e.relativePath)])}finally{ex(t=>{let r=new Set(t);return r.delete(e.relativePath),r})}},eS=t=>{let l="selected"===t?eF:"filtered"===t?eP.map(e=>e.relativePath):[],a=b.length;if("all"!==t&&0===l.length||"all"===t&&0===a)return void r.info("没有可删除的文件");let n="all"===t?"删除全部文件 ".concat(a," 个?"):"filtered"===t?"删除当前筛选结果中的文件 ".concat(l.length," 个?"):"删除已选文件 ".concat(l.length," 个?");d.A.confirm({title:n,content:"将同时删除文件、切片、索引和向量记录。此操作不可撤销。",okText:e("common.delete"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{es(e=>[{type:"delete",title:n,description:"正在批量删除文件和索引",status:"processing",percent:10},...e].slice(0,50));try{var e;let n=null!=(e=("all"===t?await (0,U.X8)():"selected"===t?await (0,U.tZ)(eE,eT):await (0,U.SJ)(l)).deleted)?e:"all"===t?a:l.length;r.success("已删除 ".concat(n," 个文件")),eo([]),es(e=>[{type:"delete",title:"批量删除完成",description:"已删除 ".concat(n," 个文件、切片和索引"),status:"success"},...e].slice(0,50)),await eb(),await ej()}catch(e){r.error("批量删除失败"),es(e=>[{type:"error",title:"批量删除失败",description:"请重试",status:"error"},...e].slice(0,50))}}})},eP=(0,a.useMemo)(()=>P?b.filter(e=>e.relativePath.toLowerCase().includes(P.toLowerCase())):b,[P,b]),eM=(0,a.useMemo)(()=>new Set(eP.map(e=>e.relativePath)),[eP]),eN=(0,a.useMemo)(()=>{let e={};for(let r of[...eP].sort((e,t)=>e.relativePath.localeCompare(t.relativePath))){let l=r.relativePath.split("/"),a="";for(let n=0;n<l.length;n++){let s=l[n],i=a;a=a?"".concat(a,"/").concat(s):s;let o=n===l.length-1;if(e[a])o||e[a].isFolder?o&&(e[a].isFolder=!1,e[a].file=r,e[a].fileCount=1,e[a].totalSize=r.fileSize,e[a].totalChunks=r.chunkCount):(e[a].isFolder=!0,e[a].children=[],e[a].fileCount=0,e[a].totalSize=0,e[a].totalChunks=0);else{var t;e[a]={key:a,name:s,isFolder:!o,...o?{file:r,fileCount:1,totalSize:r.fileSize,totalChunks:r.chunkCount}:{children:[],fileCount:0,totalSize:0,totalChunks:0}},i&&(null==(t=e[i])?void 0:t.children)&&e[i].children.push(e[a])}}}let r=e=>{for(let n of e)if(n.children){r(n.children);let e=0,s=0,i=0;for(let r of n.children){var t,l,a;e+=null!=(t=r.fileCount)?t:0,s+=null!=(l=r.totalSize)?l:0,i+=null!=(a=r.totalChunks)?a:0}n.fileCount=e,n.totalSize=s,n.totalChunks=i}},l=e=>e.map(e=>e.children?{...e,children:l(e.children)}:e).filter(e=>{var t,r,l;return!e.isFolder||(null!=(r=e.fileCount)?r:0)>0&&(null!=(l=null==(t=e.children)?void 0:t.length)?l:0)>0}),a=Object.values(e).filter(e=>!e.key.includes("/"));return r(a),l(a)},[eP]),eO=(0,a.useMemo)(()=>{let e=[],t=r=>{for(let l of r)e.push(l.key),l.children&&t(l.children)};return t(eN),e},[eN]),eH=(0,a.useMemo)(()=>new Set([...eM,...eO]),[eO,eM]),eT=(0,a.useMemo)(()=>ei.map(String).filter(e=>!eM.has(e)&&eO.includes(e)),[eO,ei,eM]),eE=(0,a.useMemo)(()=>ei.map(String).filter(e=>eM.has(e)),[ei,eM]),eF=(0,a.useMemo)(()=>{let e=new Set;for(let t of eE){let r=b.find(e=>e.relativePath===t);r&&e.add(r.relativePath)}for(let t of eT){let r="".concat(t,"/");for(let t of b)t.relativePath.startsWith(r)&&e.add(t.relativePath)}return Array.from(e)},[b,eE,eT]),eV=eF.length;(0,a.useEffect)(()=>{eo(e=>e.filter(e=>eH.has(String(e))))},[eH]);let eB=(0,a.useMemo)(()=>P?eO:[],[P,eO]);(0,a.useEffect)(()=>{ep(eB)},[eB]);let eI=(e,t)=>{ep(r=>e?[...r,t.key]:r.filter(e=>e!==t.key))},eR=[{title:e("fileName"),dataIndex:"name",key:"name",render:(e,t)=>(0,l.jsxs)("span",{className:G().fileNameCell,children:[t.isFolder?(0,l.jsx)("span",{style:{cursor:"pointer"},onClick:e=>{e.stopPropagation(),eI(!ev.includes(t.key),t)},children:(e=>{let t=e.children;return t&&0!==t.length?(0,l.jsx)(V.A,{style:{color:"#fa8c16",fontSize:15}}):(0,l.jsx)(E.A,{style:{color:"#fa8c16",fontSize:15}})})(t)}):(e=>{if(!e)return(0,l.jsx)(x.A,{style:{fontSize:15}});let t=e.category;return"image"===t?(0,l.jsx)(j,{style:{color:"#eb2f96",fontSize:15}}):"spreadsheet"===t?(0,l.jsx)(z,{style:{color:"#52c41a",fontSize:15}}):"document"===t?(0,l.jsx)(S,{style:{color:"#1677ff",fontSize:15}}):"code"===t?(0,l.jsx)(N,{style:{color:"#fa8c16",fontSize:15}}):"archive"===t?(0,l.jsx)(O.A,{style:{color:"#8c8c8c",fontSize:15}}):"web"===t?(0,l.jsx)(H.A,{style:{color:"#13c2c2",fontSize:15}}):"data"===t?(0,l.jsx)(T.A,{style:{color:"#722ed1",fontSize:15}}):"cad"===t?(0,l.jsx)(E.A,{style:{color:"#fa541c",fontSize:15}}):"diagram"===t?(0,l.jsx)(j,{style:{color:"#a0d911",fontSize:15}}):(0,l.jsx)(F.A,{style:{fontSize:15}})})(t.file),t.isFolder?(0,l.jsx)("span",{className:G().folderName,onClick:e=>{e.stopPropagation(),eI(!ev.includes(t.key),t)},children:t.name}):(0,l.jsx)(l.Fragment,{children:(0,l.jsx)(i(),{className:"min-w-0 max-w-[520px] whitespace-normal break-words leading-relaxed",href:"/knowledge/file-detail?relativePath=".concat(encodeURIComponent(t.key)),children:t.name})})]})},{title:e("fileCategory"),dataIndex:"category",key:"cat",width:110,render:(e,r)=>{var a,n;return r.isFolder?(0,l.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,l.jsx)(u.A,{children:(0,W.Jm)(null!=(n=null==(a=r.file)?void 0:a.category)?n:"",t)})}},{title:e("fileSize"),dataIndex:"fileSize",key:"size",width:90,render:(e,t)=>{var r,l,a;return(0,W.z3)(t.isFolder?null!=(l=t.totalSize)?l:0:null!=(a=null==(r=t.file)?void 0:r.fileSize)?a:0)}},{title:e("chunksCount"),dataIndex:"chunkCount",key:"chunks",width:80,render:(e,t)=>{var r,a,n;let s=t.isFolder?null!=(a=t.totalChunks)?a:0:null!=(n=null==(r=t.file)?void 0:r.chunkCount)?n:0;return(0,l.jsx)(u.A,{color:s>1?"green":"orange",children:s})}},{title:e("parsingStatus"),dataIndex:"status",key:"status",width:100,render:(e,t)=>{var r,a,n,s;return t.isFolder?(0,l.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,l.jsx)(u.A,{color:"active"===(s=null==(r=t.file)?void 0:r.status)?"green":"processing"===s||"indexing"===s?"blue":"error"===s?"red":"orange",children:(null==(a=t.file)?void 0:a.errorMessage)||(null==(n=t.file)?void 0:n.status)||"—"})}},{title:e("fileDate"),dataIndex:"mtime",key:"date",width:130,render:(e,r)=>{var a;return r.isFolder?(0,l.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(null==(a=r.file)?void 0:a.mtime)?new Date(r.file.mtime).toLocaleDateString(t):"—"}},{title:e("source"),key:"source",width:100,render:(t,r)=>r.isFolder?(0,l.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,l.jsx)(u.A,{color:"cyan",children:e("fileSource")})},{title:"",key:"act",width:80,align:"center",render:(t,a)=>a.isFolder?null:(0,l.jsx)(h.A,{menu:{items:[{key:"reindex",label:e("reindex"),icon:(0,l.jsx)(B.A,{}),onClick:()=>{eC(a.file)}},{type:"divider"},{key:"delete",label:e("delete"),icon:(0,l.jsx)(I.A,{}),danger:!0,onClick:()=>{var t;return t=a.file,void d.A.confirm({title:e("delete"),content:e("deleteConfirm"),okText:e("common.confirm"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{es(e=>[{type:"delete",title:"删除 ".concat(t.relativePath),description:"正在删除文件记录",status:"processing"},...e].slice(0,50));try{await (0,U.xq)(t.relativePath),r.success("已删除"),es(e=>[{type:"delete",title:"删除完成 ".concat(t.relativePath),description:"文件和索引记录已移除",status:"success"},...e].slice(0,50)),eo(e=>e.filter(e=>e!==t.relativePath)),await eb(),await ej()}catch(e){r.error("删除失败"),es(e=>[{type:"error",title:"删除失败 ".concat(t.relativePath),description:"请重试",status:"error"},...e].slice(0,50))}}})}}]},trigger:["click"],children:(0,l.jsx)(f.Ay,{type:"text",size:"small",icon:(0,l.jsx)(R.A,{})})})}],eL=(0,l.jsxs)("div",{className:"flex flex-1 md:flex-none w-full md:w-auto items-center gap-3",children:[(0,l.jsx)(m.A,{placeholder:e("searchPlaceholder"),prefix:(0,l.jsx)(L.A,{className:"text-[var(--colorTextTertiary)]"}),value:P,onChange:e=>{M(e.target.value)},allowClear:!0,className:"max-w-[300px] flex-1 bg-transparent hover:bg-transparent focus:bg-transparent",bordered:!1,style:{borderBottom:"1px solid var(--borderColor)",borderRadius:0,paddingLeft:0,paddingRight:0}}),(0,l.jsx)(v.A,{value:X||void 0,onChange:e=>{ee(e||"")},placeholder:e("filterCategory"),allowClear:!0,style:{width:140},variant:"borderless",options:[{label:e("allCategories"),value:""},...K.map(e=>({label:(0,W.Jm)(e,t),value:e}))]}),(0,l.jsx)("div",{className:"w-[1px] h-6 bg-[var(--borderColor)] mx-1"}),(0,l.jsx)(h.A,{menu:{items:[{key:"file",label:e("uploadFiles"),icon:(0,l.jsx)(x.A,{}),onClick:()=>{var e;return null==(e=document.getElementById("kb-file-upload-input"))?void 0:e.click()}},{key:"folder",label:e("uploadFolder"),icon:(0,l.jsx)(E.A,{}),onClick:()=>{var e;return null==(e=document.getElementById("kb-folder-upload-input"))?void 0:e.click()}},{type:"divider"},{key:"reindex",label:e("reindexAll"),icon:(0,l.jsx)(B.A,{}),onClick:()=>{ek()},danger:!0}]},trigger:["click"],children:(0,l.jsx)(f.Ay,{type:"primary",icon:(0,l.jsx)(D.A,{}),loading:et||el,className:"rounded-md px-4",children:e("new")})}),(0,l.jsx)("input",{id:"kb-file-upload-input",type:"file",multiple:!0,hidden:!0,accept:".pdf,.doc,.docx,.txt,.md,.csv,.tsv,.xls,.xlsx,.png,.jpg,.jpeg,.webp,.svg,.dwg,.dxf,.step,.stp,.iges,.igs,.js,.ts,.tsx,.jsx,.py,.go,.java,.cs,.cpp,.c,.h,.json,.jsonl,.yaml,.yml,.xml,.html,.htm,.drawio,.dio,.vsdx,.vdx,.puml,.plantuml,.mmd,.mermaid,.excalidraw",onChange:e=>{var t;let r=Array.from(null!=(t=e.target.files)?t:[]);e.target.value="",ez(r)}}),(0,l.jsx)("input",{id:"kb-folder-upload-input",type:"file",multiple:!0,hidden:!0,webkitdirectory:"",onChange:e=>{var t;let r=Array.from(null!=(t=e.target.files)?t:[]);e.target.value="",ez(r)}})]});return(0,l.jsxs)("div",{className:"h-[calc(100vh-140px)] flex flex-col",children:[(0,l.jsxs)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl border border-[var(--borderColor)] p-6 mb-4 shrink-0 animateFadeIn",children:[(0,l.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-6 pb-6 border-b border-[var(--borderColor)]",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("h1",{className:"text-2xl font-bold tracking-tight text-[var(--colorText)] mb-1 flex items-center gap-2",children:[(0,l.jsx)(T.A,{className:"text-[var(--colorAccent)]"}),e("files")]}),(0,l.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)] m-0",children:e("manageRawFiles")})]}),eL]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-6 pt-6 stagger-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)("div",{className:"w-12 h-12 rounded-xl bg-[var(--colorBgHover)] flex items-center justify-center text-xl text-[var(--colorTextSecondary)]",children:(0,l.jsx)(V.A,{})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e("totalRootFolders")}),(0,l.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none",children:eN.length})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)("div",{className:"w-12 h-12 rounded-xl bg-[var(--colorBgHover)] flex items-center justify-center text-xl text-[var(--colorTextSecondary)]",children:(0,l.jsx)(F.A,{})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e("totalFilesStats")}),(0,l.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none",children:b.length})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)("div",{className:"w-12 h-12 rounded-xl bg-green-50 dark:bg-green-900/20 flex items-center justify-center text-xl text-green-600 dark:text-green-500",children:(0,l.jsx)(q.A,{})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e("successfullyParsed")}),(0,l.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none",children:b.filter(e=>"success"===e.status).length})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)("div",{className:"w-12 h-12 rounded-xl bg-red-50 dark:bg-red-900/20 flex items-center justify-center text-xl text-red-600 dark:text-red-500",children:(0,l.jsx)($.A,{})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e("parsingErrors")}),(0,l.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none",children:b.filter(e=>"error"===e.status).length})]})]})]})]}),k&&(0,l.jsx)("div",{className:"p-4 mb-4 bg-[var(--colorDanger)]/10 text-[var(--colorDanger)] rounded-xl border border-[var(--colorDanger)]/20",children:k}),(0,l.jsxs)("div",{className:"flex-1 min-h-0 bg-[var(--colorBgContainer)] rounded-2xl border border-[var(--borderColor)] overflow-hidden flex flex-col animateFadeIn stagger-3",style:{opacity:0},children:[(0,l.jsxs)("div",{className:"flex justify-between items-center p-4 bg-[var(--colorBgHover)] border-b border-[var(--borderColor)] shrink-0",children:[(0,l.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)] font-medium",children:e("showingMatchingFiles").replace("{count}",String(eP.length))}),(0,l.jsxs)(p.A,{size:8,children:[eV>0&&(0,l.jsxs)(f.Ay,{danger:!0,size:"small",icon:(0,l.jsx)(I.A,{}),onClick:()=>eS("selected"),className:"rounded-lg",children:[e("deleteSelected")," (",eV,")"]}),(0,l.jsx)(f.Ay,{danger:!0,size:"small",disabled:0===b.length,onClick:()=>eS("all"),className:"rounded-lg",children:e("deleteAll")})]})]}),(0,l.jsx)(g.A,{rowKey:"key",columns:eR,dataSource:eN,loading:_&&!et&&!el,size:"middle",className:"flex-1 custom-table border-0",scroll:{y:"calc(100vh - 460px)"},expandable:{expandedRowKeys:ev,onExpand:eI,expandIcon:e=>{let{expanded:t,onExpand:r,record:a}=e;return a.isFolder?(0,l.jsx)("button",{type:"button",onClick:e=>r(a,e),className:"w-6 h-6 mr-1 inline-flex items-center justify-center align-middle text-[var(--colorTextTertiary)] hover:text-[var(--colorText)] transition-colors bg-transparent border-0 p-0 leading-none",children:t?(0,l.jsx)(J.A,{size:16}):(0,l.jsx)(Q.A,{size:16})}):(0,l.jsx)("span",{className:"w-6 h-6 inline-flex"})}},locale:{emptyText:_?e("common.loading"):P?e("emptySearch"):e("noFiles")},pagination:!1,rowClassName:e=>"hover:bg-[var(--colorBgHover)] transition-colors ".concat(e.isFolder?"font-medium bg-[var(--colorBgSecondary)]/30":""),rowSelection:{selectedRowKeys:ei,onChange:eo,checkStrictly:!1,getCheckboxProps:e=>{var t;return{disabled:!!e.isFolder&&(null!=(t=e.fileCount)?t:0)===0}}}})]})]})}},71242:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"}},85855:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(35311),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},90426:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/files",function(){return r(64207)}])},90939:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"code",theme:"outlined"}},93314:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(53234),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))}},e=>{e.O(0,[433,155,576,985,713,289,636,593,792],()=>e(e.s=90426)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[414],{45551:(e,l,t)=>{"use strict";function n(e){if(0===e)return"0 B";let l=Math.floor(Math.log(e)/Math.log(1024)),t=e/Math.pow(1024,l);return"".concat(t.toFixed(+(0!==l))," ").concat(["B","KB","MB","GB","TB"][l])}function a(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===l?"Never":"从未";let t=Math.floor(Math.floor((Date.now()-e)/1e3)/60),n=Math.floor(t/60),a=Math.floor(n/24);return a>30?new Date(e).toLocaleDateString(l):"en-US"===l?a>0?"".concat(a,"d ago"):n>0?"".concat(n,"h ago"):t>0?"".concat(t,"m ago"):"Just now":a>0?"".concat(a," 天前"):n>0?"".concat(n," 小时前"):t>0?"".concat(t," 分钟前"):"刚刚"}t.d(l,{Jm:()=>s,fw:()=>a,z3:()=>n});let r={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},o={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function s(e){var l;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(l=("en-US"===t?o:r)[e])?l:e}},50423:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>E});var n=t(65321),a=t(97109),r=t(34986),o=t(48321),s=t(17807),c=t(33442),i=t(85114),d=t(2256),u=t(38770),h=t(68787),x=t(54849),g=t(50883),m=t(76506),j=t(11702),A=t(7225),f=t(30486),w=t(99811),k=t(56768),v=t(26619),p=t(93314),y=t(58740),b=t(35459),C=t(23216),S=t(63663),z=t(49484),D=t(6578),N=t(45551);let _=["document","spreadsheet","image","cad","code","data","web","diagram","archive","other"];function E(){var e,l,t,E;let I=(0,o.Vr)(),{locale:T}=(0,o.x_)(),M=(0,r.useRouter)(),{stats:B,loading:F,reload:R}=function(){let[e,l]=(0,a.useState)(null),[t,n]=(0,a.useState)(!1),r=(0,a.useCallback)(async()=>{n(!0);try{l(await (0,D.hc)())}catch(e){}finally{n(!1)}},[]);return(0,a.useEffect)(()=>{r()},[r]),{stats:e,loading:t,reload:r}}(),O=function(){let[e,l]=(0,a.useState)(null);return(0,a.useEffect)(()=>{(0,D.VW)().then(l).catch(()=>{})},[]),e}(),{reindexing:P,reindex:J}=function(){let[e,l]=(0,a.useState)(!1);return{reindexing:e,reindex:(0,a.useCallback)(async()=>{l(!0);try{return await (0,D.H1)(),!0}catch(e){return!1}finally{l(!1)}},[])}}(),[U,W]=(0,a.useState)("document"),[H,V]=(0,a.useState)({count:0,totalSize:0,totalChunks:0}),{message:X}=s.A.useApp(),G=(0,a.useCallback)(async e=>{try{let l=await (0,D.HT)({category:e,limit:1e4}),t=0,n=0;if(Array.isArray(l.files))for(let e of l.files)t+=e.fileSize||0,n+=e.chunkCount||0;V({count:l.total||0,totalSize:t,totalChunks:n})}catch(e){V({count:0,totalSize:0,totalChunks:0})}},[]);(0,a.useEffect)(()=>{G(U)},[U,G]);let K=async()=>{await J()?await Promise.all([R(),G(U)]):X.error(I("common.error"))};return(0,n.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"pageTitle",children:I("knowledge.manageTitle")}),(0,n.jsx)("p",{className:"pageDesc",children:I("knowledge.manageDesc")})]}),(0,n.jsxs)(c.A,{children:[(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(A.A,{}),onClick:()=>M.push("/knowledge/files"),children:I("knowledge.files")}),(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(f.A,{}),onClick:()=>M.push("/knowledge/search"),children:I("knowledge.search")}),(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(w.A,{}),loading:P,onClick:()=>{K()},children:I("knowledge.reindex")})]})]}),(0,n.jsx)(d.A,{gutter:[16,16],children:[{icon:(0,n.jsx)(k.A,{}),label:I("knowledge.totalFiles"),value:null!=(l=null==B?void 0:B.fileCount)?l:0},{icon:(0,n.jsx)(v.A,{}),label:I("knowledge.totalChunks"),value:null!=(t=null==B?void 0:B.chunkCount)?t:0},{icon:(0,n.jsx)(p.A,{}),label:I("knowledge.totalSize"),value:(0,N.z3)(null!=(E=null==B?void 0:B.totalSizeBytes)?E:0)},{icon:(0,n.jsx)(y.A,{}),label:I("knowledge.lastIndexed"),value:(null==B?void 0:B.lastIndexedAt)?(0,N.fw)(B.lastIndexedAt,T):I("common.never")}].map((e,l)=>(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(h.A,{size:"small",loading:F&&!B,children:(0,n.jsx)(x.A,{title:e.label,value:e.value,prefix:e.icon})})},l))}),(0,n.jsxs)(h.A,{title:I("knowledge.categories"),size:"small",children:[(0,n.jsx)(g.A,{value:U,onChange:e=>W(e),options:_.map(e=>({label:(0,N.Jm)(e,T),value:e})),style:{width:160,marginBottom:16}}),(0,n.jsxs)(d.A,{gutter:[16,16],children:[(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.fileCount"),value:H.count,prefix:(0,n.jsx)(k.A,{style:{color:"var(--colorAccent)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.totalSize"),value:(0,N.z3)(H.totalSize),prefix:(0,n.jsx)(p.A,{style:{color:"var(--colorWarning)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.chunksCount"),value:H.totalChunks,prefix:(0,n.jsx)(b.A,{style:{color:"var(--colorOk)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.averageSize"),value:H.count>0?(0,N.z3)(H.totalSize/H.count):"—",prefix:(0,n.jsx)(v.A,{style:{color:"var(--colorDanger)"}})})})]})]}),O&&(0,n.jsx)(h.A,{title:I("knowledge.features"),size:"small",children:(0,n.jsxs)(m.A,{size:"small",column:{xs:1,sm:2},bordered:!0,children:[(0,n.jsx)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(C.A,{style:{marginRight:4}}),I("knowledge.vectorStore")]}),children:(0,n.jsx)(j.A,{color:"blue",children:O.vectorStore})}),(0,n.jsx)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(b.A,{style:{marginRight:4}}),I("knowledge.embedding")]}),children:(0,n.jsx)(j.A,{color:"purple",children:O.embeddingProvider})}),(0,n.jsxs)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S.A,{style:{marginRight:4}}),I("knowledge.featureDedup")]}),children:[(0,n.jsx)(j.A,{color:"green",children:O.dedupEngine}),(0,n.jsx)("div",{className:"text-xs",style:{color:"var(--colorTextSecondary)",marginTop:2},children:I("knowledge.featureDedupDesc")})]}),(0,n.jsxs)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(z.A,{style:{marginRight:4}}),I("knowledge.featureChunker")]}),children:[(0,n.jsx)(j.A,{color:"orange",children:O.chunker}),(0,n.jsx)("div",{className:"text-xs",style:{color:"var(--colorTextSecondary)",marginTop:2},children:I("knowledge.featureChunkerDesc")})]}),(null==(e=O.builtinExtractors)?void 0:e.length)>0&&(0,n.jsx)(m.A.Item,{label:I("knowledge.builtinExtractors"),span:2,children:(0,n.jsx)(c.A,{wrap:!0,children:O.builtinExtractors.map(e=>(0,n.jsx)(j.A,{color:"cyan",children:e},e))})})]})})]})}},54178:(e,l,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/manage",function(){return t(50423)}])}},e=>{e.O(0,[433,787,506,788,636,593,792],()=>e(e.s=54178)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[414],{45551:(e,l,t)=>{"use strict";function n(e){if(0===e)return"0 B";let l=Math.floor(Math.log(e)/Math.log(1024)),t=e/Math.pow(1024,l);return"".concat(t.toFixed(+(0!==l))," ").concat(["B","KB","MB","GB","TB"][l])}function a(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===l?"Never":"从未";let t=Math.floor(Math.floor((Date.now()-e)/1e3)/60),n=Math.floor(t/60),a=Math.floor(n/24);return a>30?new Date(e).toLocaleDateString(l):"en-US"===l?a>0?"".concat(a,"d ago"):n>0?"".concat(n,"h ago"):t>0?"".concat(t,"m ago"):"Just now":a>0?"".concat(a," 天前"):n>0?"".concat(n," 小时前"):t>0?"".concat(t," 分钟前"):"刚刚"}t.d(l,{Jm:()=>s,fw:()=>a,z3:()=>n});let r={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},o={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function s(e){var l;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(l=("en-US"===t?o:r)[e])?l:e}},50423:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>E});var n=t(65321),a=t(97109),r=t(34986),o=t(48321),s=t(17807),c=t(33442),i=t(85114),d=t(2256),u=t(38770),h=t(68787),x=t(54849),g=t(50883),m=t(76506),j=t(11702),A=t(7225),f=t(30486),w=t(99811),k=t(56768),v=t(26619),p=t(93314),y=t(58740),b=t(35459),C=t(23216),S=t(63663),z=t(49484),D=t(6578),N=t(45551);let _=["document","spreadsheet","image","cad","code","data","web","diagram","archive","other"];function E(){var e,l,t,E;let I=(0,o.Vr)(),{locale:T}=(0,o.x_)(),M=(0,r.useRouter)(),{stats:B,loading:F,reload:R}=function(){let[e,l]=(0,a.useState)(null),[t,n]=(0,a.useState)(!1),r=(0,a.useCallback)(async()=>{n(!0);try{l(await (0,D.hc)())}catch(e){}finally{n(!1)}},[]);return(0,a.useEffect)(()=>{r()},[r]),{stats:e,loading:t,reload:r}}(),O=function(){let[e,l]=(0,a.useState)(null);return(0,a.useEffect)(()=>{(0,D.VW)().then(l).catch(()=>{})},[]),e}(),{reindexing:P,reindex:J}=function(){let[e,l]=(0,a.useState)(!1);return{reindexing:e,reindex:(0,a.useCallback)(async()=>{l(!0);try{return await (0,D.H1)(),!0}catch(e){return!1}finally{l(!1)}},[])}}(),[U,W]=(0,a.useState)("document"),[H,V]=(0,a.useState)({count:0,totalSize:0,totalChunks:0}),{message:X}=s.A.useApp(),G=(0,a.useCallback)(async e=>{try{let l=await (0,D.HT)({category:e,limit:1e4}),t=0,n=0;if(Array.isArray(l.files))for(let e of l.files)t+=e.fileSize||0,n+=e.chunkCount||0;V({count:l.total||0,totalSize:t,totalChunks:n})}catch(e){V({count:0,totalSize:0,totalChunks:0})}},[]);(0,a.useEffect)(()=>{G(U)},[U,G]);let K=async()=>{await J()?await Promise.all([R(),G(U)]):X.error(I("common.error"))};return(0,n.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"pageTitle",children:I("knowledge.manageTitle")}),(0,n.jsx)("p",{className:"pageDesc",children:I("knowledge.manageDesc")})]}),(0,n.jsxs)(c.A,{children:[(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(A.A,{}),onClick:()=>M.push("/knowledge/files"),children:I("knowledge.files")}),(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(f.A,{}),onClick:()=>M.push("/knowledge/search"),children:I("knowledge.search")}),(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(w.A,{}),loading:P,onClick:()=>{K()},children:I("knowledge.reindex")})]})]}),(0,n.jsx)(d.A,{gutter:[16,16],children:[{icon:(0,n.jsx)(k.A,{}),label:I("knowledge.totalFiles"),value:null!=(l=null==B?void 0:B.fileCount)?l:0},{icon:(0,n.jsx)(v.A,{}),label:I("knowledge.totalChunks"),value:null!=(t=null==B?void 0:B.chunkCount)?t:0},{icon:(0,n.jsx)(p.A,{}),label:I("knowledge.totalSize"),value:(0,N.z3)(null!=(E=null==B?void 0:B.totalSizeBytes)?E:0)},{icon:(0,n.jsx)(y.A,{}),label:I("knowledge.lastIndexed"),value:(null==B?void 0:B.lastIndexedAt)?(0,N.fw)(B.lastIndexedAt,T):I("common.never")}].map((e,l)=>(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(h.A,{size:"small",loading:F&&!B,children:(0,n.jsx)(x.A,{title:e.label,value:e.value,prefix:e.icon})})},l))}),(0,n.jsxs)(h.A,{title:I("knowledge.categories"),size:"small",children:[(0,n.jsx)(g.A,{value:U,onChange:e=>W(e),options:_.map(e=>({label:(0,N.Jm)(e,T),value:e})),style:{width:160,marginBottom:16}}),(0,n.jsxs)(d.A,{gutter:[16,16],children:[(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.fileCount"),value:H.count,prefix:(0,n.jsx)(k.A,{style:{color:"var(--colorAccent)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.totalSize"),value:(0,N.z3)(H.totalSize),prefix:(0,n.jsx)(p.A,{style:{color:"var(--colorWarning)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.chunksCount"),value:H.totalChunks,prefix:(0,n.jsx)(b.A,{style:{color:"var(--colorOk)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.averageSize"),value:H.count>0?(0,N.z3)(H.totalSize/H.count):"—",prefix:(0,n.jsx)(v.A,{style:{color:"var(--colorDanger)"}})})})]})]}),O&&(0,n.jsx)(h.A,{title:I("knowledge.features"),size:"small",children:(0,n.jsxs)(m.A,{size:"small",column:{xs:1,sm:2},bordered:!0,children:[(0,n.jsx)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(C.A,{style:{marginRight:4}}),I("knowledge.vectorStore")]}),children:(0,n.jsx)(j.A,{color:"blue",children:O.vectorStore})}),(0,n.jsx)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(b.A,{style:{marginRight:4}}),I("knowledge.embedding")]}),children:(0,n.jsx)(j.A,{color:"purple",children:O.embeddingProvider})}),(0,n.jsxs)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S.A,{style:{marginRight:4}}),I("knowledge.featureDedup")]}),children:[(0,n.jsx)(j.A,{color:"green",children:O.dedupEngine}),(0,n.jsx)("div",{className:"text-xs",style:{color:"var(--colorTextSecondary)",marginTop:2},children:I("knowledge.featureDedupDesc")})]}),(0,n.jsxs)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(z.A,{style:{marginRight:4}}),I("knowledge.featureChunker")]}),children:[(0,n.jsx)(j.A,{color:"orange",children:O.chunker}),(0,n.jsx)("div",{className:"text-xs",style:{color:"var(--colorTextSecondary)",marginTop:2},children:I("knowledge.featureChunkerDesc")})]}),(null==(e=O.builtinExtractors)?void 0:e.length)>0&&(0,n.jsx)(m.A.Item,{label:I("knowledge.builtinExtractors"),span:2,children:(0,n.jsx)(c.A,{wrap:!0,children:O.builtinExtractors.map(e=>(0,n.jsx)(j.A,{color:"cyan",children:e},e))})})]})})]})}},54178:(e,l,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/manage",function(){return t(50423)}])}},e=>{e.O(0,[433,787,403,636,593,792],()=>e(e.s=54178)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[46],{77305:(e,a,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/models",function(){return r(82744)}])},82744:(e,a,r)=>{"use strict";r.r(a),r.d(a,{default:()=>z});var l=r(65321),s=r(97109),o=r(48321),t=r(35292),i=r(33442);let{Title:c,Text:n}=t.A;function d(e){let{title:a,description:r,extra:s,bottomContent:o}=e;return(0,l.jsxs)("div",{className:"mb-6 animateFadeIn",children:[(0,l.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)(c,{level:4,style:{margin:0,fontWeight:700,letterSpacing:"-0.01em"},children:a}),r&&(0,l.jsx)(n,{type:"secondary",className:"mt-1 block text-sm",children:r})]}),s&&(0,l.jsx)(i.A,{className:"w-full sm:w-auto overflow-x-auto pb-1 sm:pb-0",size:"middle",wrap:!1,children:s})]}),o&&(0,l.jsx)("div",{className:"mt-4",children:o})]})}var m=r(17807),x=r(88762),p=r(85114),v=r(26171),h=r(11702),b=r(50883),u=r(7576),g=r(48318),y=r(34052),j=r(63455),f=r(56985),N=r(44534),A=r(54746),w=r(29071),k=r(59188),C=r(4216),T=r(13114),S=r(99650),K=r(58209),B=r(76981),P=r(61825),E=r(6578);let I=[{labelKey:"models.openAICompatible",value:"openai"},{labelKey:"models.anthropic",value:"anthropic"},{labelKey:"models.google",value:"google"},{labelKey:"models.ollama",value:"ollama"},{labelKey:"models.openRouter",value:"openrouter"}],H=[{key:"reader",labelKey:"models.tierReader",descKey:"models.tierReaderDesc"},{key:"reasoning",labelKey:"models.tierReasoning",descKey:"models.tierReasoningDesc"},{key:"action",labelKey:"models.tierAction",descKey:"models.tierActionDesc"}],U=[{key:"imageGeneration",labelKey:"models.imageGeneration"},{key:"imageUnderstanding",labelKey:"models.imageUnderstanding"},{key:"fileUnderstanding",labelKey:"models.fileUnderstanding"},{key:"audio",labelKey:"models.audioCapability"},{key:"video",labelKey:"models.videoCapability"}],_={enabled:!1,allowProjectFacts:!1,maxQueriesPerChapter:2,maxResultsPerQuery:3,trustedDomains:[]};function z(){let e=(0,o.Vr)(),{message:a}=m.A.useApp(),[r,t]=(0,s.useState)(!0),[c,n]=(0,s.useState)([]),[z,F]=(0,s.useState)(null),[R,D]=(0,s.useState)({provider:"transformers-local",model:"BAAI/bge-small-zh-v1.5",dimensions:512}),[M,O]=(0,s.useState)(_),[G,Q]=(0,s.useState)(!1),[q,L]=(0,s.useState)(!1),[X,Z]=(0,s.useState)(!1),[V,W]=(0,s.useState)(null),[J,Y]=(0,s.useState)(null),[$,ee]=(0,s.useState)({}),[ea,er]=(0,s.useState)(!1),[el,es]=(0,s.useState)(!1),[eo,et]=(0,s.useState)(""),[ei,ec]=(0,s.useState)(""),[en,ed]=(0,s.useState)(""),[em,ex]=(0,s.useState)(""),[ep,ev]=(0,s.useState)("openai"),[eh,eb]=(0,s.useState)(!1),[eu,eg]=(0,s.useState)({}),[ey,ej]=(0,s.useState)(!1),[ef,eN]=(0,s.useState)(!1),eA=async()=>{t(!0);try{let[e,a,r,l]=await Promise.all([(0,E.Z3)().catch(()=>[]),(0,E.zr)().catch(()=>null),(0,E.II)().catch(()=>({provider:"transformers-local",model:"BAAI/bge-small-zh-v1.5",dimensions:512})),(0,E.jQ)().catch(()=>_)]);n(e),F(a),D(r),O(l)}catch(r){a.error(e("common.error"))}finally{t(!1)}};(0,s.useEffect)(()=>{eA()},[]);let ew=async e=>{var a,r;es(!0),et(e.name),ec(e.name),ed(""),ex(e.baseUrl||""),ev(e.protocol||e.detectedProtocol||"openai"),eg(e.capabilities||{}),ej(!!(null==(a=e.capabilities)?void 0:a.webSearch));try{let a=await (0,E.Bh)(e.name);ed(a.apiKey?"••••••••":""),ex(a.baseUrl||""),eg(a.capabilities||{}),ej(!!(null==(r=a.capabilities)?void 0:r.webSearch))}catch(e){}er(!0)},ek=async()=>{if(ei.trim()){eN(!0);try{let r=el&&en.includes("•")?void 0:en||void 0,l={...eu,webSearch:ey};await (0,E._m)(ei.trim(),{oldName:el?eo:void 0,apiKey:r,baseUrl:em||void 0,protocol:ep,directEndpoint:eh,capabilities:l}),er(!1),await eA(),a.success(e("common.success"))}catch(r){a.error(e("common.error"))}finally{eN(!1)}}},eC=async r=>{try{await (0,E.h1)(r),await eA(),a.success(e("common.success"))}catch(r){a.error(e("common.error"))}},eT=async r=>{Y(r);try{let l=await (0,E.bZ)(r);ee(e=>({...e,[r]:l.success}));let s=l.success?e("models.connected"):"".concat(e("models.connectionFailed")).concat(l.message?":".concat(l.message):"").concat(l.requestId?" (".concat(l.requestId,")"):"");a[l.success?"success":"error"](s)}catch(l){ee(e=>({...e,[r]:!1})),a.error(l instanceof Error?l.message:e("models.connectionFailed"))}finally{Y(null)}},eS=async(r,l)=>{if(!z)return;let s={...z},o=s[r];if(!l){o.active="",F(s);try{await (0,E.aP)(s)}catch(r){a.error(e("common.error"))}return}let[t,i]=l.includes(":")?l.split(":"):[l,l];o.active=i,o.list.some(e=>e.name===i&&e.provider===t)||o.list.push({name:i,provider:t}),F(s);try{await (0,E.aP)(s)}catch(r){a.error(e("common.error"))}},eK=async()=>{L(!0);try{let r=await (0,E.dd)(R);D(r),W(null),a.success(e("common.success"))}catch(r){a.error(e("common.error"))}finally{L(!1)}},eB=async()=>{Z(!0);try{let r=await (0,E.u6)();W(r.success),a[r.success?"success":"error"](r.message||(r.success?e("models.connected"):e("models.connectionFailed")))}catch(e){W(!1)}finally{Z(!1)}};return r?(0,l.jsxs)("div",{className:"space-y-6",children:[(0,l.jsx)(x.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,l.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,l.jsx)(x.A,{active:!0,paragraph:{rows:6}})}),(0,l.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,l.jsx)(x.A,{active:!0,paragraph:{rows:4}})}),(0,l.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,l.jsx)(x.A,{active:!0,paragraph:{rows:3}})})]}):(0,l.jsxs)("div",{className:"space-y-6",children:[(0,l.jsx)(d,{title:e("models.title"),description:e("models.description"),extra:(0,l.jsx)(p.Ay,{type:"primary",icon:(0,l.jsx)(A.A,{}),onClick:()=>{es(!1),et(""),ec(""),ed(""),ex(""),ev("openai"),eb(!1),eg({}),ej(!1),er(!0)},children:e("models.addModel")})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"flex items-center justify-between mb-6",children:(0,l.jsxs)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide",children:[e("models.modelList")," ",(0,l.jsxs)("span",{className:"text-[var(--colorTextTertiary)] ml-2 font-normal",children:["(",c.length,")"]})]})}),0===c.length?(0,l.jsx)("div",{className:"text-center py-12 bg-[var(--colorBgHover)] rounded-2xl border border-dashed border-[var(--borderColorStrong)] text-[var(--colorTextTertiary)] text-sm",children:e("models.noProviders")}):(0,l.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:c.map(a=>{var r;return(0,l.jsxs)("div",{className:"group p-5 rounded-2xl border border-transparent hover:border-[var(--borderColorStrong)] bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] hover:shadow-sm flex flex-col cursor-pointer transition-all duration-300",children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsx)("div",{className:"font-bold text-base text-[var(--colorText)] truncate mb-1",children:a.name}),(0,l.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] flex items-center gap-1 uppercase tracking-wider font-semibold",children:[(0,l.jsx)(w.A,{})," ",a.protocol||a.detectedProtocol||"openai"]})]}),(0,l.jsxs)(i.A,{size:0,className:"-mr-2 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,l.jsx)(p.Ay,{type:"text",size:"small",loading:J===a.name,onClick:e=>{e.stopPropagation(),eT(a.name)},icon:!0===$[a.name]?(0,l.jsx)(k.A,{className:"text-[var(--colorOk)]"}):!1===$[a.name]?(0,l.jsx)(C.A,{className:"text-[var(--colorDanger)]"}):(0,l.jsx)(T.A,{className:"text-[var(--colorTextSecondary)]"})}),(0,l.jsx)(p.Ay,{type:"text",size:"small",icon:(0,l.jsx)(S.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:e=>{e.stopPropagation(),ew(a)}}),(0,l.jsx)(v.A,{title:e("models.deleteProviderConfirm"),onConfirm:e=>{null==e||e.stopPropagation(),eC(a.name)},onCancel:e=>null==e?void 0:e.stopPropagation(),children:(0,l.jsx)(p.Ay,{type:"text",size:"small",danger:!0,icon:(0,l.jsx)(K.A,{}),onClick:e=>e.stopPropagation()})})]})]}),(0,l.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[(0,l.jsx)(B.A,{})," ",e("models.apiKey")]}),(0,l.jsx)("span",{className:"font-mono text-[var(--colorTextTertiary)]",children:a.hasApiKey?"••••••••":e("models.none")})]}),a.baseUrl&&(0,l.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[(0,l.jsx)(P.A,{})," URL"]}),(0,l.jsx)("span",{className:"truncate max-w-[120px] font-mono text-[var(--colorTextTertiary)]",title:a.baseUrl,children:a.baseUrl.replace(/^https?:\/\//,"")})]}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-1 mt-2",children:[U.filter(e=>{var r;return null==(r=a.capabilities)?void 0:r[e.key]}).map(a=>(0,l.jsx)(h.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] bg-[var(--colorBrand)]/5 text-[var(--colorBrand)] leading-[18px]",children:e(a.labelKey)},a.key)),(null==(r=a.capabilities)?void 0:r.webSearch)&&(0,l.jsx)(h.A,{color:"green",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e("models.webEnhancement")})]})]})]},a.name)})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide mb-6",children:e("models.embeddingConfig")}),(0,l.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.embeddingProvider")}),(0,l.jsx)(b.A,{value:R.provider,className:"w-full h-10",variant:"borderless",style:{background:"var(--colorBgHover)",borderRadius:"8px"},options:[{label:e("models.localRecommended"),value:"transformers-local"},{label:e("models.externalAdvanced"),value:"openai-compatible"}],onChange:e=>D(a=>({...a,provider:e,model:"transformers-local"===e?a.model||"BAAI/bge-small-zh-v1.5":a.model,dimensions:"transformers-local"===e?512:a.dimensions||1024}))})]}),"openai-compatible"===R.provider&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.baseUrl")}),(0,l.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:R.baseUrl,onChange:e=>D(a=>({...a,baseUrl:e.target.value})),placeholder:"http://localhost:11434/v1"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.model")}),(0,l.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:R.model,onChange:e=>D(a=>({...a,model:e.target.value})),placeholder:"bge-m3"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.apiKey")}),(0,l.jsx)(u.A.Password,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:R.apiKey,onFocus:()=>{var e;(null==(e=R.apiKey)?void 0:e.includes("•"))&&D(e=>({...e,apiKey:""}))},onChange:e=>D(a=>({...a,apiKey:e.target.value})),placeholder:e("models.optional")})]})]}),"transformers-local"===R.provider&&(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.model")}),(0,l.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:R.model,onChange:e=>D(a=>({...a,model:e.target.value})),placeholder:"BAAI/bge-small-zh-v1.5"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.dimensions")}),(0,l.jsx)(g.A,{className:"w-full h-10 px-2 bg-[var(--colorBgHover)] border-transparent flex items-center",min:1,value:R.dimensions,onChange:e=>D(a=>({...a,dimensions:Number(e||("transformers-local"===a.provider?512:1024))}))})]})]}),(0,l.jsxs)("div",{className:"mt-8 flex gap-3",children:[(0,l.jsx)(p.Ay,{type:"primary",className:"h-10 px-6 font-medium shadow-none",loading:q,onClick:()=>{eK()},children:e("models.saveEmbedding")}),(0,l.jsx)(p.Ay,{className:"h-10 px-6 font-medium shadow-none bg-[var(--colorBgHover)] border-transparent hover:border-[var(--borderColorStrong)]",loading:X,onClick:()=>{eB()},children:e("models.testEmbedding")}),(0,l.jsxs)("div",{className:"ml-auto flex items-center h-10 gap-2",children:[(0,l.jsx)(h.A,{color:"blue",bordered:!1,className:"m-0 bg-[var(--colorBgHover)] text-[var(--colorTextSecondary)]",children:"transformers-local"===R.provider?e("models.localEmbedding"):e("models.openAICompatible")}),!0===V&&(0,l.jsx)(h.A,{color:"success",bordered:!1,className:"m-0",icon:(0,l.jsx)(k.A,{}),children:e("models.connected")}),!1===V&&(0,l.jsx)(h.A,{color:"error",bordered:!1,className:"m-0",icon:(0,l.jsx)(C.A,{}),children:e("models.connectionFailed")})]})]})]}),z&&(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("div",{className:"mb-6",children:[(0,l.jsx)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide mb-6",children:e("models.modelTiers")}),(0,l.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:H.map(a=>{let{key:r,labelKey:s,descKey:o}=a,t=z[r],i=t.list.map(e=>({label:"".concat(e.provider," / ").concat(e.name),value:"".concat(e.provider,":").concat(e.name)})),n=c.filter(e=>!t.list.some(a=>a.provider===e.name)).map(e=>({label:e.name,value:"".concat(e.name,":").concat(e.name)})),d=t.active?t.list.find(e=>e.name===t.active):null;return(0,l.jsxs)("div",{className:"p-6 bg-[var(--colorBgHover)] rounded-xl flex flex-col transition-colors border border-transparent hover:border-[var(--borderColorStrong)]",children:[(0,l.jsx)("div",{className:"text-sm font-semibold text-[var(--colorText)] uppercase tracking-wider mb-2",children:e(s)}),(0,l.jsx)("div",{className:"text-xs text-[var(--colorTextTertiary)] mb-5 leading-relaxed flex-1",children:e(o)}),(0,l.jsx)(b.A,{value:t.active?"".concat((null==d?void 0:d.provider)||"",":").concat(t.active):void 0,onChange:e=>{eS(r,e)},allowClear:!0,placeholder:e("models.selectModelPlaceholder"),className:"w-full h-10",variant:"borderless",style:{background:"var(--colorBgElevated)",borderRadius:"8px"},options:[...i,...n]}),d&&(()=>{let a=c.find(e=>e.name===d.provider);return(0,l.jsxs)("div",{className:"mt-4 px-4 py-3 bg-[var(--colorBgElevated)] rounded-lg border border-[var(--borderColor)] flex items-center gap-3 transition-colors",children:[(0,l.jsx)(T.A,{className:"text-[var(--colorBrand)] text-base shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium flex-1 min-w-0 truncate text-[var(--colorText)]",children:d.provider}),(null==a?void 0:a.capabilities)&&U.filter(e=>a.capabilities[e.key]).length>0&&(0,l.jsx)("div",{className:"flex gap-1 shrink-0",children:U.filter(e=>a.capabilities[e.key]).slice(0,2).map(a=>(0,l.jsx)(h.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] bg-[var(--colorBrand)]/5 text-[var(--colorBrand)] leading-[18px]",children:e(a.labelKey)},a.key))}),(0,l.jsx)(h.A,{color:"success",bordered:!1,className:"m-0 text-[10px] leading-[18px] shrink-0 uppercase",children:e("models.active")})]})})()]},r)})})]})}),(0,l.jsx)(y.A,{title:el?e("models.editModel"):e("models.addModel"),open:ea,onClose:()=>er(!1),width:800,styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,l.jsx)(p.Ay,{type:"primary",loading:ef,onClick:()=>{ek()},children:e("common.save")}),children:(0,l.jsxs)(j.A,{layout:"vertical",children:[(0,l.jsx)(j.A.Item,{label:e("models.modelName"),children:(0,l.jsx)(u.A,{value:ei,onChange:e=>ec(e.target.value),placeholder:e("models.modelNamePlaceholder")})}),(0,l.jsx)(j.A.Item,{label:e("models.apiKey"),help:el?e("models.apiKeyEditHint"):void 0,children:(0,l.jsx)(u.A.Password,{value:en,onFocus:()=>{el&&en.includes("•")&&ed("")},onChange:e=>ed(e.target.value),placeholder:el?e("models.apiKeyEditPlaceholder"):"sk-..."})}),(0,l.jsx)(j.A.Item,{label:e("models.baseUrl"),children:(0,l.jsx)(u.A,{value:em,onChange:e=>ex(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,l.jsx)(j.A.Item,{label:e("models.protocol"),children:(0,l.jsx)(b.A,{value:ep,onChange:ev,options:I.map(a=>({label:e(a.labelKey),value:a.value}))})}),(0,l.jsx)(j.A.Item,{label:e("models.directEndpoint"),children:(0,l.jsx)(f.A,{checked:eh,onChange:e=>eb(e.target.checked),children:e("models.directEndpointDesc")})}),(0,l.jsxs)(j.A.Item,{label:e("models.webEnhancement"),children:[(0,l.jsx)(N.A,{checked:ey,onChange:ej}),(0,l.jsx)("span",{className:"ml-3 text-xs text-[var(--colorTextSecondary)]",children:e("models.webEnhancementDesc")})]}),(0,l.jsx)(j.A.Item,{label:e("models.capabilities"),children:(0,l.jsx)(f.A.Group,{value:U.filter(e=>eu[e.key]).map(e=>e.key),options:U.map(a=>({label:e(a.labelKey),value:a.key})),onChange:e=>eg(Object.fromEntries(U.map(a=>[a.key,e.includes(a.key)])))})})]})})]})}}},e=>{e.O(0,[576,985,195,455,337,636,593,792],()=>e(e.s=77305)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[46],{77305:(e,a,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/models",function(){return r(82744)}])},82744:(e,a,r)=>{"use strict";r.r(a),r.d(a,{default:()=>z});var l=r(65321),s=r(97109),o=r(48321),t=r(35292),i=r(33442);let{Title:c,Text:n}=t.A;function d(e){let{title:a,description:r,extra:s,bottomContent:o}=e;return(0,l.jsxs)("div",{className:"mb-6 animateFadeIn",children:[(0,l.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)(c,{level:4,style:{margin:0,fontWeight:700,letterSpacing:"-0.01em"},children:a}),r&&(0,l.jsx)(n,{type:"secondary",className:"mt-1 block text-sm",children:r})]}),s&&(0,l.jsx)(i.A,{className:"w-full sm:w-auto overflow-x-auto pb-1 sm:pb-0",size:"middle",wrap:!1,children:s})]}),o&&(0,l.jsx)("div",{className:"mt-4",children:o})]})}var m=r(17807),x=r(88762),p=r(85114),v=r(26171),h=r(11702),b=r(50883),u=r(7576),g=r(48318),y=r(34052),j=r(63455),f=r(56985),N=r(44534),A=r(54746),w=r(29071),k=r(59188),C=r(4216),T=r(13114),S=r(99650),K=r(58209),B=r(76981),P=r(61825),E=r(6578);let I=[{labelKey:"models.openAICompatible",value:"openai"},{labelKey:"models.anthropic",value:"anthropic"},{labelKey:"models.google",value:"google"},{labelKey:"models.ollama",value:"ollama"},{labelKey:"models.openRouter",value:"openrouter"}],H=[{key:"reader",labelKey:"models.tierReader",descKey:"models.tierReaderDesc"},{key:"reasoning",labelKey:"models.tierReasoning",descKey:"models.tierReasoningDesc"},{key:"action",labelKey:"models.tierAction",descKey:"models.tierActionDesc"}],U=[{key:"imageGeneration",labelKey:"models.imageGeneration"},{key:"imageUnderstanding",labelKey:"models.imageUnderstanding"},{key:"fileUnderstanding",labelKey:"models.fileUnderstanding"},{key:"audio",labelKey:"models.audioCapability"},{key:"video",labelKey:"models.videoCapability"}],_={enabled:!1,allowProjectFacts:!1,maxQueriesPerChapter:2,maxResultsPerQuery:3,trustedDomains:[]};function z(){let e=(0,o.Vr)(),{message:a}=m.A.useApp(),[r,t]=(0,s.useState)(!0),[c,n]=(0,s.useState)([]),[z,F]=(0,s.useState)(null),[R,D]=(0,s.useState)({provider:"transformers-local",model:"BAAI/bge-small-zh-v1.5",dimensions:512}),[M,O]=(0,s.useState)(_),[G,Q]=(0,s.useState)(!1),[q,L]=(0,s.useState)(!1),[X,Z]=(0,s.useState)(!1),[V,W]=(0,s.useState)(null),[J,Y]=(0,s.useState)(null),[$,ee]=(0,s.useState)({}),[ea,er]=(0,s.useState)(!1),[el,es]=(0,s.useState)(!1),[eo,et]=(0,s.useState)(""),[ei,ec]=(0,s.useState)(""),[en,ed]=(0,s.useState)(""),[em,ex]=(0,s.useState)(""),[ep,ev]=(0,s.useState)("openai"),[eh,eb]=(0,s.useState)(!1),[eu,eg]=(0,s.useState)({}),[ey,ej]=(0,s.useState)(!1),[ef,eN]=(0,s.useState)(!1),eA=async()=>{t(!0);try{let[e,a,r,l]=await Promise.all([(0,E.Z3)().catch(()=>[]),(0,E.zr)().catch(()=>null),(0,E.II)().catch(()=>({provider:"transformers-local",model:"BAAI/bge-small-zh-v1.5",dimensions:512})),(0,E.jQ)().catch(()=>_)]);n(e),F(a),D(r),O(l)}catch(r){a.error(e("common.error"))}finally{t(!1)}};(0,s.useEffect)(()=>{eA()},[]);let ew=async e=>{var a,r;es(!0),et(e.name),ec(e.name),ed(""),ex(e.baseUrl||""),ev(e.protocol||e.detectedProtocol||"openai"),eg(e.capabilities||{}),ej(!!(null==(a=e.capabilities)?void 0:a.webSearch));try{let a=await (0,E.Bh)(e.name);ed(a.apiKey?"••••••••":""),ex(a.baseUrl||""),eg(a.capabilities||{}),ej(!!(null==(r=a.capabilities)?void 0:r.webSearch))}catch(e){}er(!0)},ek=async()=>{if(ei.trim()){eN(!0);try{let r=el&&en.includes("•")?void 0:en||void 0,l={...eu,webSearch:ey};await (0,E._m)(ei.trim(),{oldName:el?eo:void 0,apiKey:r,baseUrl:em||void 0,protocol:ep,directEndpoint:eh,capabilities:l}),er(!1),await eA(),a.success(e("common.success"))}catch(r){a.error(e("common.error"))}finally{eN(!1)}}},eC=async r=>{try{await (0,E.h1)(r),await eA(),a.success(e("common.success"))}catch(r){a.error(e("common.error"))}},eT=async r=>{Y(r);try{let l=await (0,E.bZ)(r);ee(e=>({...e,[r]:l.success}));let s=l.success?e("models.connected"):"".concat(e("models.connectionFailed")).concat(l.message?":".concat(l.message):"").concat(l.requestId?" (".concat(l.requestId,")"):"");a[l.success?"success":"error"](s)}catch(l){ee(e=>({...e,[r]:!1})),a.error(l instanceof Error?l.message:e("models.connectionFailed"))}finally{Y(null)}},eS=async(r,l)=>{if(!z)return;let s={...z},o=s[r];if(!l){o.active="",F(s);try{await (0,E.aP)(s)}catch(r){a.error(e("common.error"))}return}let[t,i]=l.includes(":")?l.split(":"):[l,l];o.active=i,o.list.some(e=>e.name===i&&e.provider===t)||o.list.push({name:i,provider:t}),F(s);try{await (0,E.aP)(s)}catch(r){a.error(e("common.error"))}},eK=async()=>{L(!0);try{let r=await (0,E.dd)(R);D(r),W(null),a.success(e("common.success"))}catch(r){a.error(e("common.error"))}finally{L(!1)}},eB=async()=>{Z(!0);try{let r=await (0,E.u6)();W(r.success),a[r.success?"success":"error"](r.message||(r.success?e("models.connected"):e("models.connectionFailed")))}catch(e){W(!1)}finally{Z(!1)}};return r?(0,l.jsxs)("div",{className:"space-y-6",children:[(0,l.jsx)(x.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,l.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,l.jsx)(x.A,{active:!0,paragraph:{rows:6}})}),(0,l.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,l.jsx)(x.A,{active:!0,paragraph:{rows:4}})}),(0,l.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,l.jsx)(x.A,{active:!0,paragraph:{rows:3}})})]}):(0,l.jsxs)("div",{className:"space-y-6",children:[(0,l.jsx)(d,{title:e("models.title"),description:e("models.description"),extra:(0,l.jsx)(p.Ay,{type:"primary",icon:(0,l.jsx)(A.A,{}),onClick:()=>{es(!1),et(""),ec(""),ed(""),ex(""),ev("openai"),eb(!1),eg({}),ej(!1),er(!0)},children:e("models.addModel")})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"flex items-center justify-between mb-6",children:(0,l.jsxs)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide",children:[e("models.modelList")," ",(0,l.jsxs)("span",{className:"text-[var(--colorTextTertiary)] ml-2 font-normal",children:["(",c.length,")"]})]})}),0===c.length?(0,l.jsx)("div",{className:"text-center py-12 bg-[var(--colorBgHover)] rounded-2xl border border-dashed border-[var(--borderColorStrong)] text-[var(--colorTextTertiary)] text-sm",children:e("models.noProviders")}):(0,l.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:c.map(a=>{var r;return(0,l.jsxs)("div",{className:"group p-5 rounded-2xl border border-transparent hover:border-[var(--borderColorStrong)] bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] hover:shadow-sm flex flex-col cursor-pointer transition-all duration-300",children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsx)("div",{className:"font-bold text-base text-[var(--colorText)] truncate mb-1",children:a.name}),(0,l.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] flex items-center gap-1 uppercase tracking-wider font-semibold",children:[(0,l.jsx)(w.A,{})," ",a.protocol||a.detectedProtocol||"openai"]})]}),(0,l.jsxs)(i.A,{size:0,className:"-mr-2 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,l.jsx)(p.Ay,{type:"text",size:"small",loading:J===a.name,onClick:e=>{e.stopPropagation(),eT(a.name)},icon:!0===$[a.name]?(0,l.jsx)(k.A,{className:"text-[var(--colorOk)]"}):!1===$[a.name]?(0,l.jsx)(C.A,{className:"text-[var(--colorDanger)]"}):(0,l.jsx)(T.A,{className:"text-[var(--colorTextSecondary)]"})}),(0,l.jsx)(p.Ay,{type:"text",size:"small",icon:(0,l.jsx)(S.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:e=>{e.stopPropagation(),ew(a)}}),(0,l.jsx)(v.A,{title:e("models.deleteProviderConfirm"),onConfirm:e=>{null==e||e.stopPropagation(),eC(a.name)},onCancel:e=>null==e?void 0:e.stopPropagation(),children:(0,l.jsx)(p.Ay,{type:"text",size:"small",danger:!0,icon:(0,l.jsx)(K.A,{}),onClick:e=>e.stopPropagation()})})]})]}),(0,l.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[(0,l.jsx)(B.A,{})," ",e("models.apiKey")]}),(0,l.jsx)("span",{className:"font-mono text-[var(--colorTextTertiary)]",children:a.hasApiKey?"••••••••":e("models.none")})]}),a.baseUrl&&(0,l.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[(0,l.jsx)(P.A,{})," URL"]}),(0,l.jsx)("span",{className:"truncate max-w-[120px] font-mono text-[var(--colorTextTertiary)]",title:a.baseUrl,children:a.baseUrl.replace(/^https?:\/\//,"")})]}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-1 mt-2",children:[U.filter(e=>{var r;return null==(r=a.capabilities)?void 0:r[e.key]}).map(a=>(0,l.jsx)(h.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] bg-[var(--colorBrand)]/5 text-[var(--colorBrand)] leading-[18px]",children:e(a.labelKey)},a.key)),(null==(r=a.capabilities)?void 0:r.webSearch)&&(0,l.jsx)(h.A,{color:"green",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e("models.webEnhancement")})]})]})]},a.name)})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide mb-6",children:e("models.embeddingConfig")}),(0,l.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.embeddingProvider")}),(0,l.jsx)(b.A,{value:R.provider,className:"w-full h-10",variant:"borderless",style:{background:"var(--colorBgHover)",borderRadius:"8px"},options:[{label:e("models.localRecommended"),value:"transformers-local"},{label:e("models.externalAdvanced"),value:"openai-compatible"}],onChange:e=>D(a=>({...a,provider:e,model:"transformers-local"===e?a.model||"BAAI/bge-small-zh-v1.5":a.model,dimensions:"transformers-local"===e?512:a.dimensions||1024}))})]}),"openai-compatible"===R.provider&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.baseUrl")}),(0,l.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:R.baseUrl,onChange:e=>D(a=>({...a,baseUrl:e.target.value})),placeholder:"http://localhost:11434/v1"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.model")}),(0,l.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:R.model,onChange:e=>D(a=>({...a,model:e.target.value})),placeholder:"bge-m3"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.apiKey")}),(0,l.jsx)(u.A.Password,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:R.apiKey,onFocus:()=>{var e;(null==(e=R.apiKey)?void 0:e.includes("•"))&&D(e=>({...e,apiKey:""}))},onChange:e=>D(a=>({...a,apiKey:e.target.value})),placeholder:e("models.optional")})]})]}),"transformers-local"===R.provider&&(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.model")}),(0,l.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:R.model,onChange:e=>D(a=>({...a,model:e.target.value})),placeholder:"BAAI/bge-small-zh-v1.5"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:e("models.dimensions")}),(0,l.jsx)(g.A,{className:"w-full h-10 px-2 bg-[var(--colorBgHover)] border-transparent flex items-center",min:1,value:R.dimensions,onChange:e=>D(a=>({...a,dimensions:Number(e||("transformers-local"===a.provider?512:1024))}))})]})]}),(0,l.jsxs)("div",{className:"mt-8 flex gap-3",children:[(0,l.jsx)(p.Ay,{type:"primary",className:"h-10 px-6 font-medium shadow-none",loading:q,onClick:()=>{eK()},children:e("models.saveEmbedding")}),(0,l.jsx)(p.Ay,{className:"h-10 px-6 font-medium shadow-none bg-[var(--colorBgHover)] border-transparent hover:border-[var(--borderColorStrong)]",loading:X,onClick:()=>{eB()},children:e("models.testEmbedding")}),(0,l.jsxs)("div",{className:"ml-auto flex items-center h-10 gap-2",children:[(0,l.jsx)(h.A,{color:"blue",bordered:!1,className:"m-0 bg-[var(--colorBgHover)] text-[var(--colorTextSecondary)]",children:"transformers-local"===R.provider?e("models.localEmbedding"):e("models.openAICompatible")}),!0===V&&(0,l.jsx)(h.A,{color:"success",bordered:!1,className:"m-0",icon:(0,l.jsx)(k.A,{}),children:e("models.connected")}),!1===V&&(0,l.jsx)(h.A,{color:"error",bordered:!1,className:"m-0",icon:(0,l.jsx)(C.A,{}),children:e("models.connectionFailed")})]})]})]}),z&&(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("div",{className:"mb-6",children:[(0,l.jsx)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide mb-6",children:e("models.modelTiers")}),(0,l.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:H.map(a=>{let{key:r,labelKey:s,descKey:o}=a,t=z[r],i=t.list.map(e=>({label:"".concat(e.provider," / ").concat(e.name),value:"".concat(e.provider,":").concat(e.name)})),n=c.filter(e=>!t.list.some(a=>a.provider===e.name)).map(e=>({label:e.name,value:"".concat(e.name,":").concat(e.name)})),d=t.active?t.list.find(e=>e.name===t.active):null;return(0,l.jsxs)("div",{className:"p-6 bg-[var(--colorBgHover)] rounded-xl flex flex-col transition-colors border border-transparent hover:border-[var(--borderColorStrong)]",children:[(0,l.jsx)("div",{className:"text-sm font-semibold text-[var(--colorText)] uppercase tracking-wider mb-2",children:e(s)}),(0,l.jsx)("div",{className:"text-xs text-[var(--colorTextTertiary)] mb-5 leading-relaxed flex-1",children:e(o)}),(0,l.jsx)(b.A,{value:t.active?"".concat((null==d?void 0:d.provider)||"",":").concat(t.active):void 0,onChange:e=>{eS(r,e)},allowClear:!0,placeholder:e("models.selectModelPlaceholder"),className:"w-full h-10",variant:"borderless",style:{background:"var(--colorBgElevated)",borderRadius:"8px"},options:[...i,...n]}),d&&(()=>{let a=c.find(e=>e.name===d.provider);return(0,l.jsxs)("div",{className:"mt-4 px-4 py-3 bg-[var(--colorBgElevated)] rounded-lg border border-[var(--borderColor)] flex items-center gap-3 transition-colors",children:[(0,l.jsx)(T.A,{className:"text-[var(--colorBrand)] text-base shrink-0"}),(0,l.jsx)("span",{className:"text-sm font-medium flex-1 min-w-0 truncate text-[var(--colorText)]",children:d.provider}),(null==a?void 0:a.capabilities)&&U.filter(e=>a.capabilities[e.key]).length>0&&(0,l.jsx)("div",{className:"flex gap-1 shrink-0",children:U.filter(e=>a.capabilities[e.key]).slice(0,2).map(a=>(0,l.jsx)(h.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] bg-[var(--colorBrand)]/5 text-[var(--colorBrand)] leading-[18px]",children:e(a.labelKey)},a.key))}),(0,l.jsx)(h.A,{color:"success",bordered:!1,className:"m-0 text-[10px] leading-[18px] shrink-0 uppercase",children:e("models.active")})]})})()]},r)})})]})}),(0,l.jsx)(y.A,{title:el?e("models.editModel"):e("models.addModel"),open:ea,onClose:()=>er(!1),width:800,styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,l.jsx)(p.Ay,{type:"primary",loading:ef,onClick:()=>{ek()},children:e("common.save")}),children:(0,l.jsxs)(j.A,{layout:"vertical",children:[(0,l.jsx)(j.A.Item,{label:e("models.modelName"),children:(0,l.jsx)(u.A,{value:ei,onChange:e=>ec(e.target.value),placeholder:e("models.modelNamePlaceholder")})}),(0,l.jsx)(j.A.Item,{label:e("models.apiKey"),help:el?e("models.apiKeyEditHint"):void 0,children:(0,l.jsx)(u.A.Password,{value:en,onFocus:()=>{el&&en.includes("•")&&ed("")},onChange:e=>ed(e.target.value),placeholder:el?e("models.apiKeyEditPlaceholder"):"sk-..."})}),(0,l.jsx)(j.A.Item,{label:e("models.baseUrl"),children:(0,l.jsx)(u.A,{value:em,onChange:e=>ex(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,l.jsx)(j.A.Item,{label:e("models.protocol"),children:(0,l.jsx)(b.A,{value:ep,onChange:ev,options:I.map(a=>({label:e(a.labelKey),value:a.value}))})}),(0,l.jsx)(j.A.Item,{label:e("models.directEndpoint"),children:(0,l.jsx)(f.A,{checked:eh,onChange:e=>eb(e.target.checked),children:e("models.directEndpointDesc")})}),(0,l.jsxs)(j.A.Item,{label:e("models.webEnhancement"),children:[(0,l.jsx)(N.A,{checked:ey,onChange:ej}),(0,l.jsx)("span",{className:"ml-3 text-xs text-[var(--colorTextSecondary)]",children:e("models.webEnhancementDesc")})]}),(0,l.jsx)(j.A.Item,{label:e("models.capabilities"),children:(0,l.jsx)(f.A.Group,{value:U.filter(e=>eu[e.key]).map(e=>e.key),options:U.map(a=>({label:e(a.labelKey),value:a.key})),onChange:e=>eg(Object.fromEntries(U.map(a=>[a.key,e.includes(a.key)])))})})]})})]})}}},e=>{e.O(0,[155,576,985,195,455,337,636,593,792],()=>e(e.s=77305)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[449],{53139:(_,e,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/overview",function(){return n(27795)}])}},_=>{_.O(0,[795,636,593,792],()=>_(_.s=53139)),_N_E=_.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[449],{53139:(_,e,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/overview",function(){return n(27795)}])}},_=>{_.O(0,[880,795,636,593,792],()=>_(_.s=53139)),_N_E=_.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[26],{27549:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/prompt",function(){return r(34508)}])},34508:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>q});var o=r(65321),l=r(97109),a=r(48321),s=r(17807),n=r(33442),i=r(11702),c=r(56985),d=r(85114),p=r(26171),m=r(88762),h=r(7576),x=r(50883),u=r(49292),g=r(84253),f=r(34052),v=r(42700),y=r(55122),j=r(54746),w=r(99650),b=r(81668),S=r(58209),A=r(26631),N=r(7225),C=r(96091),k=r(30486),T=r(46082),z=r(42758),F=r(24810),P=r(7492);async function B(){let e=await fetch("/api/prompt");if(!e.ok)throw Error("Failed");return e.json()}async function E(e,t,r){let o=await fetch("/api/prompt",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:e,content:t,name:r})});if(!o.ok)throw Error("Failed");return o.json()}async function O(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create",projectRoot:e,content:"# CUSTOMIZE\n"})});if(!t.ok)throw Error("Failed");return t.json()}async function R(e,t){let r=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"createCustom",name:e,content:t})});if(!r.ok)throw Error("Failed");return r.json()}async function I(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"select",selectedIds:e})});if(!t.ok)throw Error("Failed");return t.json()}async function H(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"import",...e&&"object"==typeof e?e:{prompts:[]}})});if(!t.ok)throw Error(await t.text());return t.json()}async function _(){return M("",!1,60)}async function D(e){let t=await fetch("/api/kb/files/detail?relativePath=".concat(encodeURIComponent(e)));if(!t.ok)throw Error("Failed");return((await t.json()).chunks||[]).map(e=>e.content||"").filter(Boolean).join("\n\n").slice(0,12e3)}async function M(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,o=new URLSearchParams({limit:String(r)});e.trim()&&o.set("q",e.trim()),t||o.set("includeContent","0");let l=await fetch("/api/kb/files/search?".concat(o));return l.ok&&(await l.json()).files||[]}async function J(e){let t=await fetch("/api/prompt/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){let e=await t.text();try{let t=JSON.parse(e);throw Error(t.error||t.message||e||"AI 对话失败")}catch(t){throw Error(e||"AI 对话失败")}}return t.json()}function L(e,t){let r=new Blob([JSON.stringify(t,null,2)],{type:"application/json;charset=utf-8"}),o=URL.createObjectURL(r),l=document.createElement("a");l.href=o,l.download=e,l.click(),URL.revokeObjectURL(o)}function W(e){return e.id.startsWith("custom:")}function K(e){return W(e)?"custom":e.isCurrent?"current":"project"}function U(e,t,r){return e?"customize-agent:prompt-chat:".concat(e.id,":").concat(e.customizePath||e.projectName):"customize-agent:prompt-chat:draft:".concat(r||t||"new")}function $(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:220,r=e.hasFile&&e.content?e.content.replace(/^#.*$/gm,"").replace(/\n{3,}/g,"\n\n").trim():"";return r.length>t?"".concat(r.slice(0,t),"..."):r}function G(e){let t=Date.parse(e);return Number.isNaN(t)?"-":new Date(t).toLocaleString()}function X(e){return{type:"customize-agent.prompts",version:1,exportedAt:new Date().toISOString(),prompts:e.map(e=>({name:e.projectName,content:e.content||"",selected:e.selected,source:K(e)}))}}function Y(e){let t=e.match(/(^|\s)@([^\s@]*)$/);return t?t[2]:null}function q(){let e=(0,a.Vr)(),{message:t}=s.A.useApp(),[r,q]=(0,l.useState)(!0),[Q,V]=(0,l.useState)([]),[Z,ee]=(0,l.useState)(!1),[et,er]=(0,l.useState)(null),[eo,el]=(0,l.useState)(""),[ea,es]=(0,l.useState)(""),[en,ei]=(0,l.useState)(!1),[ec,ed]=(0,l.useState)(!1),[ep,em]=(0,l.useState)("custom"),[eh,ex]=(0,l.useState)("all"),[eu,eg]=(0,l.useState)("mtime"),[ef,ev]=(0,l.useState)("list"),[ey,ej]=(0,l.useState)(""),[ew,eb]=(0,l.useState)(null),[eS,eA]=(0,l.useState)([]),[eN,eC]=(0,l.useState)(!1),[ek,eT]=(0,l.useState)([]),[ez,eF]=(0,l.useState)(""),[eP,eB]=(0,l.useState)(""),[eE,eO]=(0,l.useState)(!1),[eR,eI]=(0,l.useState)([]),[eH,e_]=(0,l.useState)([]),[eD,eM]=(0,l.useState)([]),[eJ,eL]=(0,l.useState)(!1),[eW,eK]=(0,l.useState)(!1),[eU,e$]=(0,l.useState)(!1),eG=(0,l.useRef)(null),eX=(0,l.useRef)(null),eY=Y(eP),eq=async()=>{q(!0);try{V(await B())}catch(r){t.error(e("common.error"))}finally{q(!1)}};(0,l.useEffect)(()=>{eq()},[]),(0,l.useEffect)(()=>{let e=window.localStorage.getItem("customize-agent:prompt-view-mode");("list"===e||"card"===e)&&ev(e)},[]),(0,l.useEffect)(()=>{window.localStorage.setItem("customize-agent:prompt-view-mode",ef)},[ef]),(0,l.useEffect)(()=>{let e=eX.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),ez&&window.localStorage.setItem(ez,JSON.stringify(ek.slice(-30)))},[ek,eE,ez]),(0,l.useEffect)(()=>{!Z||eR.length>0||eJ||(eL(!0),_().then(eI).catch(()=>void 0).finally(()=>eL(!1)))},[Z,eR.length,eJ]),(0,l.useEffect)(()=>{let e=null==eY?void 0:eY.trim();if(!Z||!e){e_([]),eK(!1);return}let t=!1;eK(!0);let r=window.setTimeout(()=>{M(e).then(e=>{t||e_(e)}).catch(()=>{t||e_([])}).finally(()=>{t||eK(!1)})},250);return()=>{t=!0,window.clearTimeout(r)}},[Z,eY]);let eQ=Q.find(e=>e.isCurrent),eV=Q.filter(W),eZ={all:Q.length,custom:Q.filter(e=>"custom"===K(e)).length,current:Q.filter(e=>"current"===K(e)).length,project:Q.filter(e=>"project"===K(e)).length,selected:Q.filter(e=>e.selected).length,unselected:Q.filter(e=>!e.selected).length,hasFile:Q.filter(e=>e.hasFile).length,missingFile:Q.filter(e=>!e.hasFile).length},e0=Q.filter(e=>{var t;let r=K(e);return("all"===ep||r===ep)&&("selected"!==eh||!!e.selected)&&("unselected"!==eh||!e.selected)&&("hasFile"!==eh||!!e.hasFile)&&("missingFile"!==eh||!e.hasFile)&&(!ey.trim()||(t=ey.trim(),!!"".concat(e.projectName,"\n").concat(e.projectRoot||"","\n").concat(e.customizePath||"","\n").concat(e.content||"").toLowerCase().includes(t.toLowerCase())))}).sort((e,t)=>"name"===eu?e.projectName.localeCompare(t.projectName):"source"===eu?["custom","current","project"].indexOf(K(e))-["custom","current","project"].indexOf(K(t)):"selected"===eu&&Number(t.selected)-Number(e.selected)||Date.parse(t.mtime||"")-Date.parse(e.mtime||"")),e1=e0.find(e=>e.id===ew)||e0[0]||null,e2=eS.filter(e=>e0.some(t=>t.id===e)),e4=(null==eY?void 0:eY.trim())?eH:eR,e3=(e,t,r)=>{let o=U(e,t,r);eF(o),eT(function(e){try{let t=JSON.parse(window.localStorage.getItem(e)||"[]");return Array.isArray(t)?t.filter(e=>("user"===e.role||"assistant"===e.role)&&"string"==typeof e.content).slice(-30):[]}catch(e){return[]}}(o)),eB(""),eO(!1),eM([]),e$(!1)},e8=r=>{if(null==r?void 0:r.projectRoot)return void O(r.projectRoot).then(()=>{t.success(e("common.success")),eq()}).catch(()=>t.error(e("common.error")));let o="new:".concat(Date.now());er(null),ed(!0),es(""),el(""),e3(null,"new",o),ee(!0)},e5=async()=>{if(!ea.trim())return void t.error("请输入名称");ei(!0);try{if(et)await E(et.customizePath,eo,W(et)?ea.trim():void 0),t.success(e("common.success"));else{let r=await R(ea.trim(),eo||"# ".concat(ea.trim(),"\n"));!function(e,t){if(!e||!t||e===t)return;let r=window.localStorage.getItem(e);r&&!window.localStorage.getItem(t)&&window.localStorage.setItem(t,r)}(ez,U({id:r.id,projectId:r.id,projectName:ea.trim(),customizePath:r.id,content:eo,mtime:"",hasFile:!0,isCurrent:!1,selected:!1,source:"custom"},ea.trim())),t.success(e("common.success"))}ee(!1),await eq()}catch(r){t.error(e("common.error"))}finally{ei(!1)}},e6=async e=>{let t=Array.from(new Set([...eD,...eR.filter(t=>e.includes("@".concat(t.relativePath))).map(e=>e.relativePath)])).slice(0,3),r=[];for(let e of t){let t=await D(e);t&&r.push({relativePath:e,content:t})}return r},e7=async()=>{let e=eP.trim();if(!e||eE)return;let r=[...ek,{role:"user",content:e}];eT(r),eB(""),e$(!1),eO(!0);try{let t=await e6(e),o=await J({name:ea||(null==et?void 0:et.projectName)||"未命名提示词",content:eo,message:e,history:ek,references:t});eT([...r,{role:"assistant",content:o.content||"AI 未返回内容"}])}catch(e){t.error(e instanceof Error?e.message:"AI 对话失败,请检查模型配置"),eT(r)}finally{eO(!1)}},e9=async(r,o)=>{let l=o?Array.from(new Set([...Q.filter(e=>e.selected).map(e=>e.id),r.id])):Q.filter(e=>e.selected&&e.id!==r.id).map(e=>e.id);try{await I(l),V(e=>e.map(e=>({...e,selected:l.includes(e.id)})))}catch(r){t.error(e("common.error"))}},te=async r=>{let o=Q.filter(e=>e.selected).map(e=>e.id),l=r?Array.from(new Set([...o,...e2])):o.filter(e=>!e2.includes(e));try{await I(l),V(e=>e.map(e=>({...e,selected:l.includes(e.id)}))),eA([]),t.success(e("common.success"))}catch(r){t.error(e("common.error"))}},tt=async r=>{try{if(!(await fetch("/api/prompt",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:r.projectId,filePath:r.customizePath})})).ok)throw Error("Failed");t.success(e("common.success")),eA(e=>e.filter(e=>e!==r.id)),await eq()}catch(r){t.error(e("common.error"))}},tr=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"custom",r="checked"===e?Q.filter(e=>e2.includes(e.id)):"filtered"===e?e0:eV;L("customize-prompts-".concat(new Date().toISOString().slice(0,10),".json"),X(r)),t.success("已导出 ".concat(r.length," 条提示词"))},to=async e=>{if(e){eC(!0);try{let r=await e.text(),o=JSON.parse(r),l=await H(o);t.success("已导入 ".concat(l.imported," 条提示词")),await eq()}catch(e){t.error("导入失败,请确认 JSON 文件格式正确")}finally{eC(!1),eG.current&&(eG.current.value="")}}},tl=t=>{let r=K(t);return(0,o.jsxs)(n.A,{size:4,wrap:!0,children:[(0,o.jsx)(i.A,{color:"custom"===r?"cyan":"current"===r?"green":"project"===r?"blue":"default",style:{margin:0},children:e("custom"===r?"prompt.customPrompt":"current"===r?"prompt.currentProject":"project"===r?"prompt.otherProjects":"prompt.allPrompts")}),t.selected&&(0,o.jsx)(i.A,{color:"purple",style:{margin:0},children:e("prompt.selected")}),!t.hasFile&&(0,o.jsx)(i.A,{style:{margin:0},children:e("prompt.missingFileStatus")})]})},ta=r=>(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[r.hasFile&&(0,o.jsx)(c.A,{checked:r.selected,onChange:e=>{e9(r,e.target.checked)},className:"mr-1",children:e("prompt.selected")}),!r.hasFile&&r.projectRoot&&(0,o.jsx)(d.Ay,{size:"small",icon:(0,o.jsx)(j.A,{}),onClick:()=>e8(r),children:e("common.add")}),r.hasFile&&(0,o.jsx)(d.Ay,{size:"small",icon:(0,o.jsx)(w.A,{}),onClick:()=>{er(r),ed(!1),es(r.projectName),el(r.content||""),e3(r,r.projectName),ee(!0)},children:e("common.edit")}),r.hasFile&&(0,o.jsx)(d.Ay,{size:"small",icon:(0,o.jsx)(b.A,{}),onClick:()=>{var e;return e=r,void(L("customize-prompt-".concat(e.projectName.trim().replace(/[\\/:*?"<>|]/g,"-").slice(0,80)||"untitled","-").concat(new Date().toISOString().slice(0,10),".json"),X([e])),t.success("已导出 1 条提示词"))},children:"导出"}),(0,o.jsx)(p.A,{title:W(r)?"删除自定义提示词?":"删除项目记录及文件?",onConfirm:()=>{tt(r)},children:(0,o.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,o.jsx)(S.A,{})})})]});return r?(0,o.jsxs)("div",{className:"space-y-12",children:[(0,o.jsx)(m.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,o.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:Array.from({length:4}).map((e,t)=>(0,o.jsx)("div",{className:"p-4 border border-[var(--borderColor)]",children:(0,o.jsx)(m.A,{active:!0,paragraph:{rows:4}})},t))})]}):(0,o.jsxs)("div",{className:"space-y-8 animateFadeIn",children:[(0,o.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4 pb-6 mb-2",children:[(0,o.jsxs)("div",{children:[(0,o.jsxs)("h1",{className:"text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2.5 flex items-center gap-2",children:[(0,o.jsx)(A.A,{className:"text-[var(--colorAccent)]"}),e("nav.promptManagement")]}),(0,o.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)]",children:e("prompt.description")})]}),(0,o.jsxs)(n.A,{wrap:!0,children:[eQ&&(0,o.jsxs)(i.A,{color:"green",style:{lineHeight:"22px"},bordered:!1,children:[(0,o.jsx)(N.A,{})," ",eQ.projectRoot]}),(0,o.jsx)("input",{ref:eG,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:e=>{var t;to(null==(t=e.target.files)?void 0:t[0])}}),(0,o.jsx)(d.Ay,{icon:(0,o.jsx)(C.A,{}),loading:eN,onClick:()=>{var e;return null==(e=eG.current)?void 0:e.click()},className:"rounded-lg",children:e("prompt.import")}),(0,o.jsx)(d.Ay,{icon:(0,o.jsx)(b.A,{}),disabled:0===e0.length,onClick:()=>tr("filtered"),className:"rounded-lg",children:e("prompt.exportFiltered")}),(0,o.jsx)(d.Ay,{type:"primary",icon:(0,o.jsx)(j.A,{}),onClick:()=>e8(),className:"shadow-none rounded-lg",children:e("prompt.createPrompt")})]})]}),(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-3 bg-[var(--colorBgContainer)] p-3 rounded-xl shadow-sm mb-6",children:[(0,o.jsx)(h.A,{prefix:(0,o.jsx)(k.A,{className:"text-[var(--colorTextTertiary)]"}),allowClear:!0,placeholder:e("prompt.searchPrompt"),value:ey,onChange:e=>ej(e.target.value),style:{width:280},bordered:!1,className:"bg-[var(--colorBgHover)] rounded-lg hover:bg-[var(--colorFillAlter)] focus:bg-[var(--colorBgElevated)] transition-colors"}),(0,o.jsx)("div",{className:"h-4 w-[1px] bg-[var(--borderColorStrong)] mx-1"}),(0,o.jsx)(x.A,{value:ep,onChange:em,style:{width:150},variant:"borderless",options:[{label:"".concat(e("prompt.allPrompts")," (").concat(eZ.all,")"),value:"all"},{label:"".concat(e("prompt.customPrompt")," (").concat(eZ.custom,")"),value:"custom"},{label:"".concat(e("prompt.currentProject")," (").concat(eZ.current,")"),value:"current"},{label:"".concat(e("prompt.otherProjects")," (").concat(eZ.project,")"),value:"project"}]}),(0,o.jsx)(x.A,{value:eh,onChange:ex,style:{width:130},variant:"borderless",options:[{label:e("prompt.promptStatus"),value:"all"},{label:"".concat(e("prompt.selected")," (").concat(eZ.selected,")"),value:"selected"},{label:"".concat(e("prompt.unselected")," (").concat(eZ.unselected,")"),value:"unselected"},{label:"".concat(e("prompt.hasFileStatus")," (").concat(eZ.hasFile,")"),value:"hasFile"},{label:"".concat(e("prompt.missingFileStatus")," (").concat(eZ.missingFile,")"),value:"missingFile"}]}),(0,o.jsx)(x.A,{value:eu,onChange:eg,style:{width:140},variant:"borderless",options:[{label:e("prompt.sortByMtime"),value:"mtime"},{label:e("prompt.sortByName"),value:"name"},{label:e("prompt.sortBySource"),value:"source"},{label:e("prompt.sortBySelected"),value:"selected"}]}),(0,o.jsx)("div",{className:"flex-1"}),(0,o.jsx)(u.A,{value:ef,onChange:e=>ev(e),options:[{label:(0,o.jsx)(T.A,{}),value:"list"},{label:(0,o.jsx)(z.A,{}),value:"card"}],className:"bg-[var(--colorBgHover)] p-1 rounded-lg"})]}),(0,o.jsx)("div",{className:"grid grid-cols-1 gap-8 items-start",children:(0,o.jsxs)("div",{className:"min-w-0",children:[e2.length>0&&(0,o.jsxs)("div",{className:"flex items-center gap-3 flex-wrap p-4 mb-6 bg-[var(--colorBgHover)] rounded-xl shadow-sm",children:[(0,o.jsxs)("span",{className:"font-semibold text-sm",children:["已选择 ",(0,o.jsx)("span",{className:"text-[var(--colorAccent)]",children:e2.length})," 项"]}),(0,o.jsx)("div",{className:"h-4 w-[1px] bg-[var(--borderColorStrong)] mx-1"}),(0,o.jsx)(d.Ay,{size:"small",onClick:()=>{te(!0)},children:e("prompt.batchSelect")}),(0,o.jsx)(d.Ay,{size:"small",onClick:()=>{te(!1)},children:e("prompt.cancelSelect")}),(0,o.jsx)(d.Ay,{size:"small",icon:(0,o.jsx)(b.A,{}),onClick:()=>tr("checked"),children:e("prompt.exportSelected")}),(0,o.jsx)(d.Ay,{size:"small",danger:!0,onClick:()=>eA([]),children:e("prompt.clearSelect")})]}),0===e0.length?(0,o.jsx)("div",{className:"py-32 text-center border border-dashed border-[var(--borderColor)] rounded-2xl bg-[var(--colorBgHover)]",children:(0,o.jsx)(g.A,{image:g.A.PRESENTED_IMAGE_SIMPLE,description:(0,o.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:ey||"all"!==eh?e("prompt.noMatchDesc"):e("prompt.noPromptInGroup")})})}):"list"===ef?(0,o.jsx)("div",{className:"flex flex-col gap-3",children:e0.map(e=>{let t=$(e,180),r=(null==e1?void 0:e1.id)===e.id;return(0,o.jsxs)("div",{onClick:()=>eb(e.id),className:"group grid grid-cols-[28px_1fr_auto] gap-4 items-center p-4 rounded-xl transition-all cursor-pointer ".concat(r?"bg-[var(--colorBgSelected)] shadow-md":"bg-transparent hover:bg-[var(--colorBgHover)] hover:shadow-sm"),children:[(0,o.jsx)(c.A,{checked:eS.includes(e.id),onClick:e=>e.stopPropagation(),onChange:t=>eA(r=>t.target.checked?Array.from(new Set([...r,e.id])):r.filter(t=>t!==e.id))}),(0,o.jsxs)("div",{className:"min-w-0",children:[(0,o.jsxs)("div",{className:"flex items-center gap-3 mb-1.5",children:[(0,o.jsx)(A.A,{className:e.isCurrent?"text-[var(--colorOk)] text-lg":"text-[var(--colorTextSecondary)] text-lg"}),(0,o.jsx)("span",{className:"font-semibold truncate text-[var(--colorText)] text-base",children:e.projectName}),tl(e)]}),(0,o.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] truncate flex items-center gap-1.5 font-medium",children:[(0,o.jsx)(N.A,{})," ",e.projectRoot||e.customizePath||"本地提示词",(0,o.jsx)("span",{className:"text-[var(--colorBorderSecondary)]",children:"|"}),G(e.mtime)]}),t&&(0,o.jsx)("div",{className:"mt-2.5 bg-[var(--colorFillAlter)] p-2.5 rounded-lg overflow-hidden",children:(0,o.jsx)("div",{className:"text-sm text-[var(--colorTextSecondary)] line-clamp-2 leading-normal",children:t})})]}),(0,o.jsx)("div",{onClick:e=>e.stopPropagation(),className:"transition-opacity flex items-center ".concat(r?"opacity-100":"opacity-0 group-hover:opacity-100"),children:ta(e)})]},e.id)})}):(0,o.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:e0.map(e=>{let t=$(e,180),r=(null==e1?void 0:e1.id)===e.id;return(0,o.jsxs)("div",{onClick:()=>eb(e.id),className:"group flex flex-col p-5 rounded-2xl transition-all cursor-pointer ".concat(r?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),children:[(0,o.jsx)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:(0,o.jsxs)("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[(0,o.jsx)(c.A,{checked:eS.includes(e.id),onClick:e=>e.stopPropagation(),onChange:t=>eA(r=>t.target.checked?Array.from(new Set([...r,e.id])):r.filter(t=>t!==e.id))}),(0,o.jsx)(A.A,{className:e.isCurrent?"text-[var(--colorOk)] text-lg":"text-[var(--colorTextSecondary)] text-lg"}),(0,o.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate mb-1",children:e.projectName})]})}),(0,o.jsx)("div",{className:"mb-3",children:tl(e)}),(0,o.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] truncate flex items-center gap-1.5 mb-4 bg-[var(--colorFillAlter)] p-1.5 rounded inline-flex self-start",children:[(0,o.jsx)(N.A,{}),e.projectRoot||e.customizePath||"本地提示词"]}),(0,o.jsx)("div",{className:"flex-1 bg-[var(--colorFillAlter)] p-3 rounded-xl mb-4 overflow-hidden",children:t?(0,o.jsx)("div",{className:"text-sm text-[var(--colorTextSecondary)] line-clamp-3 leading-normal",children:t}):(0,o.jsx)("div",{className:"text-sm text-[var(--colorTextQuaternary)] italic",children:"暂无内容预览"})}),(0,o.jsxs)("div",{className:"mt-auto pt-4 flex justify-between items-center",onClick:e=>e.stopPropagation(),children:[(0,o.jsx)("span",{className:"text-xs font-medium text-[var(--colorTextTertiary)] bg-[var(--colorFillSecondary)] px-2 py-1 rounded",children:G(e.mtime)}),(0,o.jsx)("div",{className:"transition-opacity ".concat(r?"opacity-100":"opacity-0 group-hover:opacity-100"),children:ta(e)})]})]},e.id)})})]})}),(0,o.jsxs)(f.A,{title:ec?e("prompt.createPrompt"):et&&W(et)?"".concat(e("prompt.customPrompt")," — ").concat(ea||et.projectName):"".concat(e("prompt.currentProject")," — ").concat((null==et?void 0:et.projectName)||""),open:Z,onClose:()=>ee(!1),width:1080,maskClosable:!1,styles:{body:{padding:"24px 32px",display:"grid",gridTemplateRows:"minmax(320px, 1fr) 420px",gap:24,height:"100%"},header:{borderBottom:"1px solid var(--colorBorderSecondary)",padding:"16px 32px"}},extra:(0,o.jsxs)(n.A,{children:[(0,o.jsx)(d.Ay,{onClick:()=>ee(!1),children:e("common.cancel")}),(0,o.jsx)(d.Ay,{type:"primary",loading:en,onClick:()=>{e5()},children:e("common.save")})]}),children:[(0,o.jsxs)("div",{style:{minHeight:0,display:"flex",flexDirection:"column"},children:[(0,o.jsx)("div",{style:{marginBottom:16},children:ec||et&&W(et)?(0,o.jsx)(h.A,{size:"large",placeholder:e("prompt.promptName"),value:ea,onChange:e=>es(e.target.value),style:{maxWidth:"100%",fontWeight:500,fontSize:16}}):null}),(0,o.jsx)(h.A.TextArea,{value:eo,onChange:e=>el(e.target.value),style:{flex:1,minHeight:280,fontFamily:"SF Mono, Monaco, Consolas, monospace",fontSize:13,resize:"none"}})]}),(0,o.jsxs)("div",{style:{minHeight:0,border:"1px solid var(--colorBorderSecondary)",borderRadius:10,background:"var(--colorBgContainer)",display:"flex",flexDirection:"column",overflow:"hidden",boxShadow:"0 8px 24px rgba(15, 23, 42, 0.06)"},children:[(0,o.jsxs)("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--colorBorderSecondary)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,o.jsxs)(n.A,{size:6,children:[(0,o.jsx)(F.A,{style:{color:"var(--colorAccent)"}}),(0,o.jsx)("span",{style:{fontWeight:600},children:e("prompt.aiPromptAssistant")})]}),(0,o.jsxs)(n.A,{size:6,children:[ek.length>0&&(0,o.jsx)(d.Ay,{size:"small",onClick:()=>eT([]),children:e("prompt.clearHistory")}),eE?(0,o.jsx)(i.A,{color:"processing",style:{margin:0},children:e("prompt.generating")}):(0,o.jsx)(i.A,{color:"blue",style:{margin:0},children:e("prompt.canConverse")})]})]}),(0,o.jsx)("div",{ref:eX,style:{flex:1,minHeight:0,overflowY:"auto",padding:14,background:"var(--colorFillAlter)"},children:0!==ek.length||eE?(0,o.jsxs)(n.A,{direction:"vertical",size:12,style:{width:"100%"},children:[ek.map((r,l)=>{let a="user"===r.role;return(0,o.jsx)("div",{style:{display:"flex",justifyContent:a?"flex-end":"flex-start"},children:(0,o.jsxs)("div",{style:{maxWidth:"78%",padding:"10px 12px",borderRadius:12,background:a?"var(--colorFillSecondary)":"var(--colorBgContainer)",color:"var(--colorText)",border:"1px solid var(--colorBorderSecondary)",whiteSpace:"pre-wrap",lineHeight:1.7,fontSize:13,transition:"all .2s ease"},children:[r.content,!a&&(0,o.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:8},children:(0,o.jsx)(d.Ay,{size:"small",type:"primary",onClick:()=>{el(r.content),t.success("已应用到编辑内容,请确认后保存")},children:e("prompt.apply")})})]})},"".concat(r.role,"-").concat(l))}),eE&&(0,o.jsx)("div",{style:{display:"flex",justifyContent:"flex-start"},children:(0,o.jsxs)("div",{style:{padding:"10px 12px",borderRadius:12,background:"var(--colorBgContainer)",border:"1px solid var(--colorBorderSecondary)",color:"var(--colorTextSecondary)",fontSize:13},children:[(0,o.jsx)(v.A,{size:"small",style:{marginRight:8}}),e("prompt.aiAnalyzing")]})})]}):(0,o.jsx)(g.A,{image:g.A.PRESENTED_IMAGE_SIMPLE,description:e("prompt.mentionRecallHint")})}),(0,o.jsx)(y.A,{style:{margin:0}}),(0,o.jsxs)("div",{style:{padding:12},children:[eD.length>0&&(0,o.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:8},children:eD.map(e=>(0,o.jsxs)(i.A,{closable:!0,onClose:()=>eM(t=>t.filter(t=>t!==e)),style:{margin:0,maxWidth:360,overflow:"hidden",textOverflow:"ellipsis"},children:["@",e]},e))}),eU&&(0,o.jsxs)("div",{style:{maxHeight:260,overflowY:"auto",marginBottom:8,border:"1px solid var(--colorBorderSecondary)",borderRadius:12,background:"var(--colorBgElevated, var(--colorBgContainer))",boxShadow:"0 16px 40px rgba(15, 23, 42, 0.14)"},children:[(0,o.jsxs)("div",{style:{position:"sticky",top:0,zIndex:1,padding:"10px 12px",borderBottom:"1px solid var(--colorBorderSecondary)",background:"var(--colorBgElevated, var(--colorBgContainer))",display:"flex",justifyContent:"space-between",gap:12,alignItems:"center"},children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{style:{color:"var(--colorText)",fontSize:13,fontWeight:700},children:e("prompt.recallKbFiles")}),(0,o.jsx)("div",{style:{color:"var(--colorTextSecondary)",fontSize:11},children:e("prompt.recallLimitHint")})]}),(0,o.jsx)(i.A,{color:eY?"blue":"default",style:{margin:0,maxWidth:240,overflow:"hidden",textOverflow:"ellipsis"},children:eY?"@".concat(eY):e("prompt.inputAtKeyword")})]}),eJ?(0,o.jsxs)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:[(0,o.jsx)(v.A,{size:"small",style:{marginRight:8}}),e("prompt.loadingKbFiles")]}):0===eR.length?(0,o.jsx)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:e("prompt.noRecallableKbFiles")}):0===e4.length?(0,o.jsx)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:eW?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(v.A,{size:"small",style:{marginRight:8}}),e("prompt.searchingKbContent")]}):e("prompt.noMatchingKbFiles")}):(0,o.jsxs)(o.Fragment,{children:[eW&&(0,o.jsxs)("div",{style:{padding:"8px 12px",color:"var(--colorTextSecondary)",fontSize:12,borderBottom:"1px solid var(--colorBorderSecondary)"},children:[(0,o.jsx)(v.A,{size:"small",style:{marginRight:8}}),e("prompt.continueSearchingKb")]}),e4.slice(0,30).map(t=>(0,o.jsxs)("div",{onMouseDown:e=>{var r;e.preventDefault(),r=t.relativePath,eM(e=>e.includes(r)?e:[...e,r]),eB(e=>e.replace(/(^|\s)@([^\s@]*)$/,"$1@".concat(r," "))),e$(!1)},style:{padding:"10px 12px",cursor:"pointer",borderBottom:"1px solid var(--colorBorderSecondary)",fontSize:12,display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",gap:10,alignItems:"center"},children:[(0,o.jsx)("div",{style:{width:22,height:22,borderRadius:7,background:"var(--colorFillSecondary)",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,o.jsx)(A.A,{style:{color:"var(--colorAccent)"}})}),(0,o.jsxs)("div",{style:{minWidth:0},children:[(0,o.jsx)("div",{style:{color:"var(--colorText)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:700},children:t.relativePath}),(0,o.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[t.category||e("prompt.unclassified")," \xb7 ",t.format||e("prompt.unknownFormat"),"number"==typeof t.score?" \xb7 score ".concat(t.score.toFixed(2)):""]})]}),(0,o.jsxs)(n.A,{size:4,children:[(0,o.jsx)(i.A,{color:"content"===t.matchedBy?"purple":"disk"===t.matchedBy?"orange":"blue",style:{margin:0},children:"content"===t.matchedBy?e("prompt.contentMatch"):"disk"===t.matchedBy?e("prompt.diskFile"):e("prompt.fileMatch")}),(0,o.jsx)(i.A,{style:{margin:0},children:t.status})]})]},t.relativePath))]})]}),(0,o.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-end"},children:[(0,o.jsx)(h.A.TextArea,{value:eP,onChange:e=>{let t=e.target.value;eB(t),e$(null!==Y(t))},onFocus:()=>e$(null!==Y(eP)),onPressEnter:e=>{e.shiftKey||(e.preventDefault(),e7())},disabled:eE,placeholder:e("prompt.mentionRecallPlaceholder"),autoSize:{minRows:2,maxRows:5},style:{fontSize:13,lineHeight:1.6}}),(0,o.jsx)(d.Ay,{type:"primary",icon:(0,o.jsx)(P.A,{}),loading:eE,disabled:!eP.trim(),onClick:()=>{e7()},children:e("prompt.send")})]})]})]})]})]})}}},e=>{e.O(0,[576,985,195,478,636,593,792],()=>e(e.s=27549)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[26],{27549:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/prompt",function(){return r(34508)}])},34508:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>q});var o=r(65321),l=r(97109),a=r(48321),s=r(17807),n=r(33442),i=r(11702),c=r(56985),d=r(85114),p=r(26171),m=r(88762),h=r(7576),x=r(50883),u=r(49292),g=r(84253),f=r(34052),v=r(42700),y=r(55122),j=r(54746),w=r(99650),b=r(81668),S=r(58209),A=r(26631),N=r(7225),C=r(96091),k=r(30486),T=r(46082),z=r(42758),F=r(24810),P=r(7492);async function B(){let e=await fetch("/api/prompt");if(!e.ok)throw Error("Failed");return e.json()}async function E(e,t,r){let o=await fetch("/api/prompt",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:e,content:t,name:r})});if(!o.ok)throw Error("Failed");return o.json()}async function O(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create",projectRoot:e,content:"# CUSTOMIZE\n"})});if(!t.ok)throw Error("Failed");return t.json()}async function R(e,t){let r=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"createCustom",name:e,content:t})});if(!r.ok)throw Error("Failed");return r.json()}async function I(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"select",selectedIds:e})});if(!t.ok)throw Error("Failed");return t.json()}async function H(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"import",...e&&"object"==typeof e?e:{prompts:[]}})});if(!t.ok)throw Error(await t.text());return t.json()}async function _(){return M("",!1,60)}async function D(e){let t=await fetch("/api/kb/files/detail?relativePath=".concat(encodeURIComponent(e)));if(!t.ok)throw Error("Failed");return((await t.json()).chunks||[]).map(e=>e.content||"").filter(Boolean).join("\n\n").slice(0,12e3)}async function M(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,o=new URLSearchParams({limit:String(r)});e.trim()&&o.set("q",e.trim()),t||o.set("includeContent","0");let l=await fetch("/api/kb/files/search?".concat(o));return l.ok&&(await l.json()).files||[]}async function J(e){let t=await fetch("/api/prompt/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){let e=await t.text();try{let t=JSON.parse(e);throw Error(t.error||t.message||e||"AI 对话失败")}catch(t){throw Error(e||"AI 对话失败")}}return t.json()}function L(e,t){let r=new Blob([JSON.stringify(t,null,2)],{type:"application/json;charset=utf-8"}),o=URL.createObjectURL(r),l=document.createElement("a");l.href=o,l.download=e,l.click(),URL.revokeObjectURL(o)}function W(e){return e.id.startsWith("custom:")}function K(e){return W(e)?"custom":e.isCurrent?"current":"project"}function U(e,t,r){return e?"customize-agent:prompt-chat:".concat(e.id,":").concat(e.customizePath||e.projectName):"customize-agent:prompt-chat:draft:".concat(r||t||"new")}function $(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:220,r=e.hasFile&&e.content?e.content.replace(/^#.*$/gm,"").replace(/\n{3,}/g,"\n\n").trim():"";return r.length>t?"".concat(r.slice(0,t),"..."):r}function G(e){let t=Date.parse(e);return Number.isNaN(t)?"-":new Date(t).toLocaleString()}function X(e){return{type:"customize-agent.prompts",version:1,exportedAt:new Date().toISOString(),prompts:e.map(e=>({name:e.projectName,content:e.content||"",selected:e.selected,source:K(e)}))}}function Y(e){let t=e.match(/(^|\s)@([^\s@]*)$/);return t?t[2]:null}function q(){let e=(0,a.Vr)(),{message:t}=s.A.useApp(),[r,q]=(0,l.useState)(!0),[Q,V]=(0,l.useState)([]),[Z,ee]=(0,l.useState)(!1),[et,er]=(0,l.useState)(null),[eo,el]=(0,l.useState)(""),[ea,es]=(0,l.useState)(""),[en,ei]=(0,l.useState)(!1),[ec,ed]=(0,l.useState)(!1),[ep,em]=(0,l.useState)("custom"),[eh,ex]=(0,l.useState)("all"),[eu,eg]=(0,l.useState)("mtime"),[ef,ev]=(0,l.useState)("list"),[ey,ej]=(0,l.useState)(""),[ew,eb]=(0,l.useState)(null),[eS,eA]=(0,l.useState)([]),[eN,eC]=(0,l.useState)(!1),[ek,eT]=(0,l.useState)([]),[ez,eF]=(0,l.useState)(""),[eP,eB]=(0,l.useState)(""),[eE,eO]=(0,l.useState)(!1),[eR,eI]=(0,l.useState)([]),[eH,e_]=(0,l.useState)([]),[eD,eM]=(0,l.useState)([]),[eJ,eL]=(0,l.useState)(!1),[eW,eK]=(0,l.useState)(!1),[eU,e$]=(0,l.useState)(!1),eG=(0,l.useRef)(null),eX=(0,l.useRef)(null),eY=Y(eP),eq=async()=>{q(!0);try{V(await B())}catch(r){t.error(e("common.error"))}finally{q(!1)}};(0,l.useEffect)(()=>{eq()},[]),(0,l.useEffect)(()=>{let e=window.localStorage.getItem("customize-agent:prompt-view-mode");("list"===e||"card"===e)&&ev(e)},[]),(0,l.useEffect)(()=>{window.localStorage.setItem("customize-agent:prompt-view-mode",ef)},[ef]),(0,l.useEffect)(()=>{let e=eX.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),ez&&window.localStorage.setItem(ez,JSON.stringify(ek.slice(-30)))},[ek,eE,ez]),(0,l.useEffect)(()=>{!Z||eR.length>0||eJ||(eL(!0),_().then(eI).catch(()=>void 0).finally(()=>eL(!1)))},[Z,eR.length,eJ]),(0,l.useEffect)(()=>{let e=null==eY?void 0:eY.trim();if(!Z||!e){e_([]),eK(!1);return}let t=!1;eK(!0);let r=window.setTimeout(()=>{M(e).then(e=>{t||e_(e)}).catch(()=>{t||e_([])}).finally(()=>{t||eK(!1)})},250);return()=>{t=!0,window.clearTimeout(r)}},[Z,eY]);let eQ=Q.find(e=>e.isCurrent),eV=Q.filter(W),eZ={all:Q.length,custom:Q.filter(e=>"custom"===K(e)).length,current:Q.filter(e=>"current"===K(e)).length,project:Q.filter(e=>"project"===K(e)).length,selected:Q.filter(e=>e.selected).length,unselected:Q.filter(e=>!e.selected).length,hasFile:Q.filter(e=>e.hasFile).length,missingFile:Q.filter(e=>!e.hasFile).length},e0=Q.filter(e=>{var t;let r=K(e);return("all"===ep||r===ep)&&("selected"!==eh||!!e.selected)&&("unselected"!==eh||!e.selected)&&("hasFile"!==eh||!!e.hasFile)&&("missingFile"!==eh||!e.hasFile)&&(!ey.trim()||(t=ey.trim(),!!"".concat(e.projectName,"\n").concat(e.projectRoot||"","\n").concat(e.customizePath||"","\n").concat(e.content||"").toLowerCase().includes(t.toLowerCase())))}).sort((e,t)=>"name"===eu?e.projectName.localeCompare(t.projectName):"source"===eu?["custom","current","project"].indexOf(K(e))-["custom","current","project"].indexOf(K(t)):"selected"===eu&&Number(t.selected)-Number(e.selected)||Date.parse(t.mtime||"")-Date.parse(e.mtime||"")),e1=e0.find(e=>e.id===ew)||e0[0]||null,e2=eS.filter(e=>e0.some(t=>t.id===e)),e4=(null==eY?void 0:eY.trim())?eH:eR,e3=(e,t,r)=>{let o=U(e,t,r);eF(o),eT(function(e){try{let t=JSON.parse(window.localStorage.getItem(e)||"[]");return Array.isArray(t)?t.filter(e=>("user"===e.role||"assistant"===e.role)&&"string"==typeof e.content).slice(-30):[]}catch(e){return[]}}(o)),eB(""),eO(!1),eM([]),e$(!1)},e8=r=>{if(null==r?void 0:r.projectRoot)return void O(r.projectRoot).then(()=>{t.success(e("common.success")),eq()}).catch(()=>t.error(e("common.error")));let o="new:".concat(Date.now());er(null),ed(!0),es(""),el(""),e3(null,"new",o),ee(!0)},e5=async()=>{if(!ea.trim())return void t.error("请输入名称");ei(!0);try{if(et)await E(et.customizePath,eo,W(et)?ea.trim():void 0),t.success(e("common.success"));else{let r=await R(ea.trim(),eo||"# ".concat(ea.trim(),"\n"));!function(e,t){if(!e||!t||e===t)return;let r=window.localStorage.getItem(e);r&&!window.localStorage.getItem(t)&&window.localStorage.setItem(t,r)}(ez,U({id:r.id,projectId:r.id,projectName:ea.trim(),customizePath:r.id,content:eo,mtime:"",hasFile:!0,isCurrent:!1,selected:!1,source:"custom"},ea.trim())),t.success(e("common.success"))}ee(!1),await eq()}catch(r){t.error(e("common.error"))}finally{ei(!1)}},e6=async e=>{let t=Array.from(new Set([...eD,...eR.filter(t=>e.includes("@".concat(t.relativePath))).map(e=>e.relativePath)])).slice(0,3),r=[];for(let e of t){let t=await D(e);t&&r.push({relativePath:e,content:t})}return r},e7=async()=>{let e=eP.trim();if(!e||eE)return;let r=[...ek,{role:"user",content:e}];eT(r),eB(""),e$(!1),eO(!0);try{let t=await e6(e),o=await J({name:ea||(null==et?void 0:et.projectName)||"未命名提示词",content:eo,message:e,history:ek,references:t});eT([...r,{role:"assistant",content:o.content||"AI 未返回内容"}])}catch(e){t.error(e instanceof Error?e.message:"AI 对话失败,请检查模型配置"),eT(r)}finally{eO(!1)}},e9=async(r,o)=>{let l=o?Array.from(new Set([...Q.filter(e=>e.selected).map(e=>e.id),r.id])):Q.filter(e=>e.selected&&e.id!==r.id).map(e=>e.id);try{await I(l),V(e=>e.map(e=>({...e,selected:l.includes(e.id)})))}catch(r){t.error(e("common.error"))}},te=async r=>{let o=Q.filter(e=>e.selected).map(e=>e.id),l=r?Array.from(new Set([...o,...e2])):o.filter(e=>!e2.includes(e));try{await I(l),V(e=>e.map(e=>({...e,selected:l.includes(e.id)}))),eA([]),t.success(e("common.success"))}catch(r){t.error(e("common.error"))}},tt=async r=>{try{if(!(await fetch("/api/prompt",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:r.projectId,filePath:r.customizePath})})).ok)throw Error("Failed");t.success(e("common.success")),eA(e=>e.filter(e=>e!==r.id)),await eq()}catch(r){t.error(e("common.error"))}},tr=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"custom",r="checked"===e?Q.filter(e=>e2.includes(e.id)):"filtered"===e?e0:eV;L("customize-prompts-".concat(new Date().toISOString().slice(0,10),".json"),X(r)),t.success("已导出 ".concat(r.length," 条提示词"))},to=async e=>{if(e){eC(!0);try{let r=await e.text(),o=JSON.parse(r),l=await H(o);t.success("已导入 ".concat(l.imported," 条提示词")),await eq()}catch(e){t.error("导入失败,请确认 JSON 文件格式正确")}finally{eC(!1),eG.current&&(eG.current.value="")}}},tl=t=>{let r=K(t);return(0,o.jsxs)(n.A,{size:4,wrap:!0,children:[(0,o.jsx)(i.A,{color:"custom"===r?"cyan":"current"===r?"green":"project"===r?"blue":"default",style:{margin:0},children:e("custom"===r?"prompt.customPrompt":"current"===r?"prompt.currentProject":"project"===r?"prompt.otherProjects":"prompt.allPrompts")}),t.selected&&(0,o.jsx)(i.A,{color:"purple",style:{margin:0},children:e("prompt.selected")}),!t.hasFile&&(0,o.jsx)(i.A,{style:{margin:0},children:e("prompt.missingFileStatus")})]})},ta=r=>(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[r.hasFile&&(0,o.jsx)(c.A,{checked:r.selected,onChange:e=>{e9(r,e.target.checked)},className:"mr-1",children:e("prompt.selected")}),!r.hasFile&&r.projectRoot&&(0,o.jsx)(d.Ay,{size:"small",icon:(0,o.jsx)(j.A,{}),onClick:()=>e8(r),children:e("common.add")}),r.hasFile&&(0,o.jsx)(d.Ay,{size:"small",icon:(0,o.jsx)(w.A,{}),onClick:()=>{er(r),ed(!1),es(r.projectName),el(r.content||""),e3(r,r.projectName),ee(!0)},children:e("common.edit")}),r.hasFile&&(0,o.jsx)(d.Ay,{size:"small",icon:(0,o.jsx)(b.A,{}),onClick:()=>{var e;return e=r,void(L("customize-prompt-".concat(e.projectName.trim().replace(/[\\/:*?"<>|]/g,"-").slice(0,80)||"untitled","-").concat(new Date().toISOString().slice(0,10),".json"),X([e])),t.success("已导出 1 条提示词"))},children:"导出"}),(0,o.jsx)(p.A,{title:W(r)?"删除自定义提示词?":"删除项目记录及文件?",onConfirm:()=>{tt(r)},children:(0,o.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,o.jsx)(S.A,{})})})]});return r?(0,o.jsxs)("div",{className:"space-y-12",children:[(0,o.jsx)(m.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,o.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:Array.from({length:4}).map((e,t)=>(0,o.jsx)("div",{className:"p-4 border border-[var(--borderColor)]",children:(0,o.jsx)(m.A,{active:!0,paragraph:{rows:4}})},t))})]}):(0,o.jsxs)("div",{className:"space-y-8 animateFadeIn",children:[(0,o.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4 pb-6 mb-2",children:[(0,o.jsxs)("div",{children:[(0,o.jsxs)("h1",{className:"text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2.5 flex items-center gap-2",children:[(0,o.jsx)(A.A,{className:"text-[var(--colorAccent)]"}),e("nav.promptManagement")]}),(0,o.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)]",children:e("prompt.description")})]}),(0,o.jsxs)(n.A,{wrap:!0,children:[eQ&&(0,o.jsxs)(i.A,{color:"green",style:{lineHeight:"22px"},bordered:!1,children:[(0,o.jsx)(N.A,{})," ",eQ.projectRoot]}),(0,o.jsx)("input",{ref:eG,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:e=>{var t;to(null==(t=e.target.files)?void 0:t[0])}}),(0,o.jsx)(d.Ay,{icon:(0,o.jsx)(C.A,{}),loading:eN,onClick:()=>{var e;return null==(e=eG.current)?void 0:e.click()},className:"rounded-lg",children:e("prompt.import")}),(0,o.jsx)(d.Ay,{icon:(0,o.jsx)(b.A,{}),disabled:0===e0.length,onClick:()=>tr("filtered"),className:"rounded-lg",children:e("prompt.exportFiltered")}),(0,o.jsx)(d.Ay,{type:"primary",icon:(0,o.jsx)(j.A,{}),onClick:()=>e8(),className:"shadow-none rounded-lg",children:e("prompt.createPrompt")})]})]}),(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-3 bg-[var(--colorBgContainer)] p-3 rounded-xl shadow-sm mb-6",children:[(0,o.jsx)(h.A,{prefix:(0,o.jsx)(k.A,{className:"text-[var(--colorTextTertiary)]"}),allowClear:!0,placeholder:e("prompt.searchPrompt"),value:ey,onChange:e=>ej(e.target.value),style:{width:280},bordered:!1,className:"bg-[var(--colorBgHover)] rounded-lg hover:bg-[var(--colorFillAlter)] focus:bg-[var(--colorBgElevated)] transition-colors"}),(0,o.jsx)("div",{className:"h-4 w-[1px] bg-[var(--borderColorStrong)] mx-1"}),(0,o.jsx)(x.A,{value:ep,onChange:em,style:{width:150},variant:"borderless",options:[{label:"".concat(e("prompt.allPrompts")," (").concat(eZ.all,")"),value:"all"},{label:"".concat(e("prompt.customPrompt")," (").concat(eZ.custom,")"),value:"custom"},{label:"".concat(e("prompt.currentProject")," (").concat(eZ.current,")"),value:"current"},{label:"".concat(e("prompt.otherProjects")," (").concat(eZ.project,")"),value:"project"}]}),(0,o.jsx)(x.A,{value:eh,onChange:ex,style:{width:130},variant:"borderless",options:[{label:e("prompt.promptStatus"),value:"all"},{label:"".concat(e("prompt.selected")," (").concat(eZ.selected,")"),value:"selected"},{label:"".concat(e("prompt.unselected")," (").concat(eZ.unselected,")"),value:"unselected"},{label:"".concat(e("prompt.hasFileStatus")," (").concat(eZ.hasFile,")"),value:"hasFile"},{label:"".concat(e("prompt.missingFileStatus")," (").concat(eZ.missingFile,")"),value:"missingFile"}]}),(0,o.jsx)(x.A,{value:eu,onChange:eg,style:{width:140},variant:"borderless",options:[{label:e("prompt.sortByMtime"),value:"mtime"},{label:e("prompt.sortByName"),value:"name"},{label:e("prompt.sortBySource"),value:"source"},{label:e("prompt.sortBySelected"),value:"selected"}]}),(0,o.jsx)("div",{className:"flex-1"}),(0,o.jsx)(u.A,{value:ef,onChange:e=>ev(e),options:[{label:(0,o.jsx)(T.A,{}),value:"list"},{label:(0,o.jsx)(z.A,{}),value:"card"}],className:"bg-[var(--colorBgHover)] p-1 rounded-lg"})]}),(0,o.jsx)("div",{className:"grid grid-cols-1 gap-8 items-start",children:(0,o.jsxs)("div",{className:"min-w-0",children:[e2.length>0&&(0,o.jsxs)("div",{className:"flex items-center gap-3 flex-wrap p-4 mb-6 bg-[var(--colorBgHover)] rounded-xl shadow-sm",children:[(0,o.jsxs)("span",{className:"font-semibold text-sm",children:["已选择 ",(0,o.jsx)("span",{className:"text-[var(--colorAccent)]",children:e2.length})," 项"]}),(0,o.jsx)("div",{className:"h-4 w-[1px] bg-[var(--borderColorStrong)] mx-1"}),(0,o.jsx)(d.Ay,{size:"small",onClick:()=>{te(!0)},children:e("prompt.batchSelect")}),(0,o.jsx)(d.Ay,{size:"small",onClick:()=>{te(!1)},children:e("prompt.cancelSelect")}),(0,o.jsx)(d.Ay,{size:"small",icon:(0,o.jsx)(b.A,{}),onClick:()=>tr("checked"),children:e("prompt.exportSelected")}),(0,o.jsx)(d.Ay,{size:"small",danger:!0,onClick:()=>eA([]),children:e("prompt.clearSelect")})]}),0===e0.length?(0,o.jsx)("div",{className:"py-32 text-center border border-dashed border-[var(--borderColor)] rounded-2xl bg-[var(--colorBgHover)]",children:(0,o.jsx)(g.A,{image:g.A.PRESENTED_IMAGE_SIMPLE,description:(0,o.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:ey||"all"!==eh?e("prompt.noMatchDesc"):e("prompt.noPromptInGroup")})})}):"list"===ef?(0,o.jsx)("div",{className:"flex flex-col gap-3",children:e0.map(e=>{let t=$(e,180),r=(null==e1?void 0:e1.id)===e.id;return(0,o.jsxs)("div",{onClick:()=>eb(e.id),className:"group grid grid-cols-[28px_1fr_auto] gap-4 items-center p-4 rounded-xl transition-all cursor-pointer ".concat(r?"bg-[var(--colorBgSelected)] shadow-md":"bg-transparent hover:bg-[var(--colorBgHover)] hover:shadow-sm"),children:[(0,o.jsx)(c.A,{checked:eS.includes(e.id),onClick:e=>e.stopPropagation(),onChange:t=>eA(r=>t.target.checked?Array.from(new Set([...r,e.id])):r.filter(t=>t!==e.id))}),(0,o.jsxs)("div",{className:"min-w-0",children:[(0,o.jsxs)("div",{className:"flex items-center gap-3 mb-1.5",children:[(0,o.jsx)(A.A,{className:e.isCurrent?"text-[var(--colorOk)] text-lg":"text-[var(--colorTextSecondary)] text-lg"}),(0,o.jsx)("span",{className:"font-semibold truncate text-[var(--colorText)] text-base",children:e.projectName}),tl(e)]}),(0,o.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] truncate flex items-center gap-1.5 font-medium",children:[(0,o.jsx)(N.A,{})," ",e.projectRoot||e.customizePath||"本地提示词",(0,o.jsx)("span",{className:"text-[var(--colorBorderSecondary)]",children:"|"}),G(e.mtime)]}),t&&(0,o.jsx)("div",{className:"mt-2.5 bg-[var(--colorFillAlter)] p-2.5 rounded-lg overflow-hidden",children:(0,o.jsx)("div",{className:"text-sm text-[var(--colorTextSecondary)] line-clamp-2 leading-normal",children:t})})]}),(0,o.jsx)("div",{onClick:e=>e.stopPropagation(),className:"transition-opacity flex items-center ".concat(r?"opacity-100":"opacity-0 group-hover:opacity-100"),children:ta(e)})]},e.id)})}):(0,o.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:e0.map(e=>{let t=$(e,180),r=(null==e1?void 0:e1.id)===e.id;return(0,o.jsxs)("div",{onClick:()=>eb(e.id),className:"group flex flex-col p-5 rounded-2xl transition-all cursor-pointer ".concat(r?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),children:[(0,o.jsx)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:(0,o.jsxs)("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[(0,o.jsx)(c.A,{checked:eS.includes(e.id),onClick:e=>e.stopPropagation(),onChange:t=>eA(r=>t.target.checked?Array.from(new Set([...r,e.id])):r.filter(t=>t!==e.id))}),(0,o.jsx)(A.A,{className:e.isCurrent?"text-[var(--colorOk)] text-lg":"text-[var(--colorTextSecondary)] text-lg"}),(0,o.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate mb-1",children:e.projectName})]})}),(0,o.jsx)("div",{className:"mb-3",children:tl(e)}),(0,o.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] truncate flex items-center gap-1.5 mb-4 bg-[var(--colorFillAlter)] p-1.5 rounded inline-flex self-start",children:[(0,o.jsx)(N.A,{}),e.projectRoot||e.customizePath||"本地提示词"]}),(0,o.jsx)("div",{className:"flex-1 bg-[var(--colorFillAlter)] p-3 rounded-xl mb-4 overflow-hidden",children:t?(0,o.jsx)("div",{className:"text-sm text-[var(--colorTextSecondary)] line-clamp-3 leading-normal",children:t}):(0,o.jsx)("div",{className:"text-sm text-[var(--colorTextQuaternary)] italic",children:"暂无内容预览"})}),(0,o.jsxs)("div",{className:"mt-auto pt-4 flex justify-between items-center",onClick:e=>e.stopPropagation(),children:[(0,o.jsx)("span",{className:"text-xs font-medium text-[var(--colorTextTertiary)] bg-[var(--colorFillSecondary)] px-2 py-1 rounded",children:G(e.mtime)}),(0,o.jsx)("div",{className:"transition-opacity ".concat(r?"opacity-100":"opacity-0 group-hover:opacity-100"),children:ta(e)})]})]},e.id)})})]})}),(0,o.jsxs)(f.A,{title:ec?e("prompt.createPrompt"):et&&W(et)?"".concat(e("prompt.customPrompt")," — ").concat(ea||et.projectName):"".concat(e("prompt.currentProject")," — ").concat((null==et?void 0:et.projectName)||""),open:Z,onClose:()=>ee(!1),width:1080,maskClosable:!1,styles:{body:{padding:"24px 32px",display:"grid",gridTemplateRows:"minmax(320px, 1fr) 420px",gap:24,height:"100%"},header:{borderBottom:"1px solid var(--colorBorderSecondary)",padding:"16px 32px"}},extra:(0,o.jsxs)(n.A,{children:[(0,o.jsx)(d.Ay,{onClick:()=>ee(!1),children:e("common.cancel")}),(0,o.jsx)(d.Ay,{type:"primary",loading:en,onClick:()=>{e5()},children:e("common.save")})]}),children:[(0,o.jsxs)("div",{style:{minHeight:0,display:"flex",flexDirection:"column"},children:[(0,o.jsx)("div",{style:{marginBottom:16},children:ec||et&&W(et)?(0,o.jsx)(h.A,{size:"large",placeholder:e("prompt.promptName"),value:ea,onChange:e=>es(e.target.value),style:{maxWidth:"100%",fontWeight:500,fontSize:16}}):null}),(0,o.jsx)(h.A.TextArea,{value:eo,onChange:e=>el(e.target.value),style:{flex:1,minHeight:280,fontFamily:"SF Mono, Monaco, Consolas, monospace",fontSize:13,resize:"none"}})]}),(0,o.jsxs)("div",{style:{minHeight:0,border:"1px solid var(--colorBorderSecondary)",borderRadius:10,background:"var(--colorBgContainer)",display:"flex",flexDirection:"column",overflow:"hidden",boxShadow:"0 8px 24px rgba(15, 23, 42, 0.06)"},children:[(0,o.jsxs)("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--colorBorderSecondary)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,o.jsxs)(n.A,{size:6,children:[(0,o.jsx)(F.A,{style:{color:"var(--colorAccent)"}}),(0,o.jsx)("span",{style:{fontWeight:600},children:e("prompt.aiPromptAssistant")})]}),(0,o.jsxs)(n.A,{size:6,children:[ek.length>0&&(0,o.jsx)(d.Ay,{size:"small",onClick:()=>eT([]),children:e("prompt.clearHistory")}),eE?(0,o.jsx)(i.A,{color:"processing",style:{margin:0},children:e("prompt.generating")}):(0,o.jsx)(i.A,{color:"blue",style:{margin:0},children:e("prompt.canConverse")})]})]}),(0,o.jsx)("div",{ref:eX,style:{flex:1,minHeight:0,overflowY:"auto",padding:14,background:"var(--colorFillAlter)"},children:0!==ek.length||eE?(0,o.jsxs)(n.A,{direction:"vertical",size:12,style:{width:"100%"},children:[ek.map((r,l)=>{let a="user"===r.role;return(0,o.jsx)("div",{style:{display:"flex",justifyContent:a?"flex-end":"flex-start"},children:(0,o.jsxs)("div",{style:{maxWidth:"78%",padding:"10px 12px",borderRadius:12,background:a?"var(--colorFillSecondary)":"var(--colorBgContainer)",color:"var(--colorText)",border:"1px solid var(--colorBorderSecondary)",whiteSpace:"pre-wrap",lineHeight:1.7,fontSize:13,transition:"all .2s ease"},children:[r.content,!a&&(0,o.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:8},children:(0,o.jsx)(d.Ay,{size:"small",type:"primary",onClick:()=>{el(r.content),t.success("已应用到编辑内容,请确认后保存")},children:e("prompt.apply")})})]})},"".concat(r.role,"-").concat(l))}),eE&&(0,o.jsx)("div",{style:{display:"flex",justifyContent:"flex-start"},children:(0,o.jsxs)("div",{style:{padding:"10px 12px",borderRadius:12,background:"var(--colorBgContainer)",border:"1px solid var(--colorBorderSecondary)",color:"var(--colorTextSecondary)",fontSize:13},children:[(0,o.jsx)(v.A,{size:"small",style:{marginRight:8}}),e("prompt.aiAnalyzing")]})})]}):(0,o.jsx)(g.A,{image:g.A.PRESENTED_IMAGE_SIMPLE,description:e("prompt.mentionRecallHint")})}),(0,o.jsx)(y.A,{style:{margin:0}}),(0,o.jsxs)("div",{style:{padding:12},children:[eD.length>0&&(0,o.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:8},children:eD.map(e=>(0,o.jsxs)(i.A,{closable:!0,onClose:()=>eM(t=>t.filter(t=>t!==e)),style:{margin:0,maxWidth:360,overflow:"hidden",textOverflow:"ellipsis"},children:["@",e]},e))}),eU&&(0,o.jsxs)("div",{style:{maxHeight:260,overflowY:"auto",marginBottom:8,border:"1px solid var(--colorBorderSecondary)",borderRadius:12,background:"var(--colorBgElevated, var(--colorBgContainer))",boxShadow:"0 16px 40px rgba(15, 23, 42, 0.14)"},children:[(0,o.jsxs)("div",{style:{position:"sticky",top:0,zIndex:1,padding:"10px 12px",borderBottom:"1px solid var(--colorBorderSecondary)",background:"var(--colorBgElevated, var(--colorBgContainer))",display:"flex",justifyContent:"space-between",gap:12,alignItems:"center"},children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{style:{color:"var(--colorText)",fontSize:13,fontWeight:700},children:e("prompt.recallKbFiles")}),(0,o.jsx)("div",{style:{color:"var(--colorTextSecondary)",fontSize:11},children:e("prompt.recallLimitHint")})]}),(0,o.jsx)(i.A,{color:eY?"blue":"default",style:{margin:0,maxWidth:240,overflow:"hidden",textOverflow:"ellipsis"},children:eY?"@".concat(eY):e("prompt.inputAtKeyword")})]}),eJ?(0,o.jsxs)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:[(0,o.jsx)(v.A,{size:"small",style:{marginRight:8}}),e("prompt.loadingKbFiles")]}):0===eR.length?(0,o.jsx)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:e("prompt.noRecallableKbFiles")}):0===e4.length?(0,o.jsx)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:eW?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(v.A,{size:"small",style:{marginRight:8}}),e("prompt.searchingKbContent")]}):e("prompt.noMatchingKbFiles")}):(0,o.jsxs)(o.Fragment,{children:[eW&&(0,o.jsxs)("div",{style:{padding:"8px 12px",color:"var(--colorTextSecondary)",fontSize:12,borderBottom:"1px solid var(--colorBorderSecondary)"},children:[(0,o.jsx)(v.A,{size:"small",style:{marginRight:8}}),e("prompt.continueSearchingKb")]}),e4.slice(0,30).map(t=>(0,o.jsxs)("div",{onMouseDown:e=>{var r;e.preventDefault(),r=t.relativePath,eM(e=>e.includes(r)?e:[...e,r]),eB(e=>e.replace(/(^|\s)@([^\s@]*)$/,"$1@".concat(r," "))),e$(!1)},style:{padding:"10px 12px",cursor:"pointer",borderBottom:"1px solid var(--colorBorderSecondary)",fontSize:12,display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",gap:10,alignItems:"center"},children:[(0,o.jsx)("div",{style:{width:22,height:22,borderRadius:7,background:"var(--colorFillSecondary)",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,o.jsx)(A.A,{style:{color:"var(--colorAccent)"}})}),(0,o.jsxs)("div",{style:{minWidth:0},children:[(0,o.jsx)("div",{style:{color:"var(--colorText)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:700},children:t.relativePath}),(0,o.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[t.category||e("prompt.unclassified")," \xb7 ",t.format||e("prompt.unknownFormat"),"number"==typeof t.score?" \xb7 score ".concat(t.score.toFixed(2)):""]})]}),(0,o.jsxs)(n.A,{size:4,children:[(0,o.jsx)(i.A,{color:"content"===t.matchedBy?"purple":"disk"===t.matchedBy?"orange":"blue",style:{margin:0},children:"content"===t.matchedBy?e("prompt.contentMatch"):"disk"===t.matchedBy?e("prompt.diskFile"):e("prompt.fileMatch")}),(0,o.jsx)(i.A,{style:{margin:0},children:t.status})]})]},t.relativePath))]})]}),(0,o.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-end"},children:[(0,o.jsx)(h.A.TextArea,{value:eP,onChange:e=>{let t=e.target.value;eB(t),e$(null!==Y(t))},onFocus:()=>e$(null!==Y(eP)),onPressEnter:e=>{e.shiftKey||(e.preventDefault(),e7())},disabled:eE,placeholder:e("prompt.mentionRecallPlaceholder"),autoSize:{minRows:2,maxRows:5},style:{fontSize:13,lineHeight:1.6}}),(0,o.jsx)(d.Ay,{type:"primary",icon:(0,o.jsx)(P.A,{}),loading:eE,disabled:!eP.trim(),onClick:()=>{e7()},children:e("prompt.send")})]})]})]})]})]})}}},e=>{e.O(0,[155,576,985,195,478,636,593,792],()=>e(e.s=27549)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[979],{9137:(e,r,t)=>{"use strict";t.d(r,{Ay:()=>C});var a=t(9750),s=t(97109),o=t(42644),l=t(10252),n=t(74567),c=t(48921),i=t(98379),d=t(3638),x=t(632),m=t(34475),g=t(52093),p=t(60815),u=t(5741);let f=null,h=e=>e(),v=[],b={};function y(){let{getContainer:e,duration:r,rtl:t,maxCount:a,top:s,stack:o}=b,l=e?.()||document.body;return{getContainer:()=>l,duration:r,rtl:t,maxCount:a,top:s,stack:o}}let w=s.forwardRef((e,r)=>{let{messageConfig:t,sync:a}=e,{getPrefixCls:o}=(0,s.useContext)(n.QO),c=b.prefixCls||o("message"),i=(0,s.useContext)(l.B),[d,x]=(0,p.y)({...t,prefixCls:c,...i.message});return s.useImperativeHandle(r,()=>{let e={...d};return Object.keys(e).forEach(r=>{e[r]=(...e)=>(a(),d[r].apply(d,e))}),{instance:e,sync:a}}),x}),j=s.forwardRef((e,r)=>{let[t,a]=s.useState(y),o=()=>{a(y)};s.useEffect(o,[]);let l=(0,c.cr)(),n=l.getRootPrefixCls(),i=l.getIconPrefixCls(),d=l.getTheme(),x=s.createElement(w,{ref:r,sync:o,messageConfig:t});return s.createElement(c.Ay,{prefixCls:n,iconPrefixCls:i,theme:d},l.holderRender?l.holderRender(x):x)}),N=()=>{if(!f){let e=document.createDocumentFragment(),r={fragment:e};f=r,h(()=>{(0,o.XX)(s.createElement(j,{ref:e=>{let{instance:t,sync:a}=e||{};Promise.resolve().then(()=>{!r.instance&&t&&(r.instance=t,r.sync=a,N())})}}),e)});return}f.instance&&(v.forEach(e=>{let{type:r,skipped:t}=e;if(!t)switch(r){case"open":h(()=>{let r=f.instance.open({...b,...e.config});r?.then(e.resolve),e.setCloseFn(r)});break;case"destroy":h(()=>{f?.instance.destroy(e.key)});break;default:h(()=>{var t;let s=(t=f.instance)[r].apply(t,(0,a.A)(e.args));s?.then(e.resolve),e.setCloseFn(s)})}}),v=[])},A={open:function(e){let r=(0,u.E)(r=>{let t,a={type:"open",config:e,resolve:r,setCloseFn:e=>{t=e}};return v.push(a),()=>{t?h(()=>{t()}):a.skipped=!0}});return N(),r},destroy:e=>{v.push({type:"destroy",key:e}),N()},config:function(e){b={...b,...e},h(()=>{f?.sync?.()})},useMessage:p.A,_InternalPanelDoNotUseOrYouWillBeFired:m.Ay,_InternalListDoNotUseOrYouWillBeFired:e=>{let{items:r,classNames:t,style:a}=e,{getPrefixCls:o}=(0,n.TP)("message"),l=o("message"),c=(0,x.A)(l),[p,u]=(0,g.A)(l,c),f=`${l}-notice`,h=r.map(e=>{let{content:r,duration:t,key:a,type:s}=e,o=s?`${f}-icon-${s}`:void 0;return{key:a,duration:t,icon:(0,m.HC)(s),title:r,className:`${f}-${s}`,classNames:{wrapper:`${l}-${s}`,icon:o}}});return s.createElement(i.qb,{prefixCls:l,placement:"top",configList:h,className:(0,d.$)(p,u,c),classNames:{...t,wrapper:t?.wrapper,title:t?.title},style:a,stack:!1})}};["success","info","warning","error","loading"].forEach(e=>{A[e]=(...r)=>(function(e,r){(0,c.cr)();let t=(0,u.E)(t=>{let a,s={type:e,args:r,resolve:t,setCloseFn:e=>{a=e}};return v.push(s),()=>{a?h(()=>{a()}):s.skipped=!0}});return N(),t})(e,r)});let C=A},12446:(e,r)=>{"use strict";r.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},name:"info-circle",theme:"outlined"}},14995:(e,r)=>{"use strict";r.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"}},29606:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>C});var a=t(65321),s=t(97109),o=t(35292),l=t(9137),n=t(11702),c=t(88762),i=t(7576),d=t(85114),x=t(26171),m=t(21289),g=t(84253),p=t(30486),u=t(99811),f=t(58209),h=t(12446),v=t(88483);function b(){return(b=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let y=s.forwardRef((e,r)=>s.createElement(v.A,b({},e,{ref:r,icon:h.A})));var w=t(48321),j=t(6578);let{Text:N,Paragraph:A}=o.A;function C(){let e=(0,w.Vr)(),[r,t]=(0,s.useState)([]),[o,h]=(0,s.useState)(!0),[v,b]=(0,s.useState)(""),A=async()=>{h(!0);try{t((await (0,j.oH)(500)).logs)}catch(e){l.Ay.error(e instanceof Error?e.message:"加载日志失败")}finally{h(!1)}};(0,s.useEffect)(()=>{A()},[]);let C=(0,s.useMemo)(()=>{let e=v.trim().toLowerCase();return e?r.filter(r=>[r.id,r.level,r.source,r.functionName,r.message,r.stack].filter(Boolean).some(r=>String(r).toLowerCase().includes(e))):r},[v,r]),k=[{title:e("logs.time"),dataIndex:"createdAt",width:160,render:e=>(0,a.jsx)("span",{className:"text-xs text-[var(--colorTextSecondary)] font-mono",children:new Date(e).toLocaleString()})},{title:e("logs.level"),dataIndex:"level",width:80,render:e=>(0,a.jsx)(n.A,{color:"error"===e?"error":"warn"===e?"warning":"blue",bordered:!1,className:"m-0 text-[10px] uppercase tracking-wider",children:e})},{title:e("logs.source"),dataIndex:"source",width:220,render:e=>(0,a.jsx)("span",{className:"text-xs font-mono text-[var(--colorTextSecondary)] break-all",children:e})},{title:e("logs.message"),dataIndex:"message",render:e=>(0,a.jsx)("div",{className:"text-sm text-[var(--colorText)] max-w-3xl whitespace-normal break-words leading-relaxed",title:e,children:e})},{title:e("logs.requestId"),dataIndex:"id",width:120,render:e=>(0,a.jsx)(N,{copyable:!0,className:"text-[10px] font-mono text-[var(--colorTextTertiary)]",children:e.slice(0,8)})}];return o&&0===r.length?(0,a.jsxs)("div",{className:"space-y-8 animateFadeIn",children:[(0,a.jsx)(c.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,a.jsx)(c.A,{active:!0,paragraph:{rows:12}})]}):(0,a.jsxs)("div",{className:"h-[calc(100vh-140px)] flex flex-col",children:[(0,a.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4 pb-4 border-b border-[var(--borderColor)] shrink-0 animateFadeIn",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-bold tracking-tight text-[var(--colorText)] mb-1",children:e("nav.systemLogs")}),(0,a.jsx)("p",{className:"text-xs text-[var(--colorTextSecondary)]",children:e("logs.monitorSystem")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(i.A,{placeholder:e("logs.searchLogs"),prefix:(0,a.jsx)(p.A,{className:"text-[var(--colorTextTertiary)]"}),value:v,onChange:e=>b(e.target.value),allowClear:!0,className:"w-[260px] bg-[var(--colorBgHover)] border-transparent"}),(0,a.jsx)(d.Ay,{icon:(0,a.jsx)(u.A,{}),loading:o,onClick:()=>void A(),className:"shadow-none",children:e("logs.refresh")}),(0,a.jsx)(x.A,{title:e("logs.clearConfirm"),onConfirm:()=>{(async()=>{await (0,j.hH)(),l.Ay.success(e("common.success")),await A()})()},children:(0,a.jsx)(d.Ay,{danger:!0,icon:(0,a.jsx)(f.A,{}),className:"shadow-none border-transparent",children:e("logs.clear")})})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 py-3 px-1 text-xs text-[var(--colorTextTertiary)] shrink-0 animateFadeIn stagger-1",children:[(0,a.jsx)(y,{})," ",e("logs.logStorageInfo")," ",(0,a.jsx)("code",{className:"bg-[var(--colorBgHover)] px-1 rounded",children:"~/.customize-agent/logs/errors.jsonl"}),". ",e("logs.maxLoaded")]}),(0,a.jsx)("div",{className:"flex-1 overflow-hidden bg-[var(--colorBg)] rounded-lg animateFadeIn stagger-2",children:(0,a.jsx)(m.A,{rowKey:"id",loading:o,dataSource:C,columns:k,size:"middle",className:"h-full modern-table",scroll:{y:"calc(100vh - 280px)"},locale:{emptyText:(0,a.jsx)(g.A,{description:e("logs.noLogsFound"),className:"py-20"})},pagination:!1,rowClassName:"hover:bg-[var(--colorBgHover)] transition-colors cursor-pointer",expandable:{expandedRowRender:r=>(0,a.jsxs)("div",{className:"flex flex-col gap-4 p-4 bg-[var(--colorBgHover)]/50 border-t border-[var(--borderColor)]",children:[r.functionName&&(0,a.jsxs)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:[(0,a.jsx)("span",{className:"font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mr-2",children:e("logs.function")}),(0,a.jsx)("code",{className:"font-mono bg-[var(--colorBgElevated)] px-2 py-1 rounded",children:r.functionName})]}),r.request&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.requestContext")}),(0,a.jsx)("pre",{className:"text-xs font-mono bg-[var(--colorBgElevated)] p-3 rounded-md border border-[var(--borderColor)] whitespace-pre-wrap break-all m-0 text-[var(--colorTextSecondary)]",children:JSON.stringify(r.request,null,2)})]}),void 0!==r.meta&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.metadata")}),(0,a.jsx)("pre",{className:"text-xs font-mono bg-[var(--colorBgElevated)] p-3 rounded-md border border-[var(--borderColor)] whitespace-pre-wrap break-all m-0 text-[var(--colorTextSecondary)]",children:JSON.stringify(r.meta,null,2)})]}),r.stack&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.stackTrace")}),(0,a.jsx)("pre",{className:"text-[11px] font-mono bg-[#1e1e1e] text-[#d4d4d4] p-3 rounded-md overflow-x-auto m-0 leading-relaxed",children:r.stack})]})]})}})})]})}},39214:(e,r,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/system/logs",function(){return t(29606)}])},99811:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var a=t(97109),s=t(14995),o=t(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let n=a.forwardRef((e,r)=>a.createElement(o.A,l({},e,{ref:r,icon:s.A})))}},e=>{e.O(0,[433,576,985,713,195,289,636,593,792],()=>e(e.s=39214)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[979],{9137:(e,r,t)=>{"use strict";t.d(r,{Ay:()=>C});var a=t(9750),s=t(97109),o=t(42644),l=t(10252),n=t(74567),c=t(48921),i=t(98379),d=t(3638),x=t(632),m=t(34475),g=t(52093),p=t(60815),u=t(5741);let f=null,h=e=>e(),v=[],b={};function y(){let{getContainer:e,duration:r,rtl:t,maxCount:a,top:s,stack:o}=b,l=e?.()||document.body;return{getContainer:()=>l,duration:r,rtl:t,maxCount:a,top:s,stack:o}}let w=s.forwardRef((e,r)=>{let{messageConfig:t,sync:a}=e,{getPrefixCls:o}=(0,s.useContext)(n.QO),c=b.prefixCls||o("message"),i=(0,s.useContext)(l.B),[d,x]=(0,p.y)({...t,prefixCls:c,...i.message});return s.useImperativeHandle(r,()=>{let e={...d};return Object.keys(e).forEach(r=>{e[r]=(...e)=>(a(),d[r].apply(d,e))}),{instance:e,sync:a}}),x}),j=s.forwardRef((e,r)=>{let[t,a]=s.useState(y),o=()=>{a(y)};s.useEffect(o,[]);let l=(0,c.cr)(),n=l.getRootPrefixCls(),i=l.getIconPrefixCls(),d=l.getTheme(),x=s.createElement(w,{ref:r,sync:o,messageConfig:t});return s.createElement(c.Ay,{prefixCls:n,iconPrefixCls:i,theme:d},l.holderRender?l.holderRender(x):x)}),N=()=>{if(!f){let e=document.createDocumentFragment(),r={fragment:e};f=r,h(()=>{(0,o.XX)(s.createElement(j,{ref:e=>{let{instance:t,sync:a}=e||{};Promise.resolve().then(()=>{!r.instance&&t&&(r.instance=t,r.sync=a,N())})}}),e)});return}f.instance&&(v.forEach(e=>{let{type:r,skipped:t}=e;if(!t)switch(r){case"open":h(()=>{let r=f.instance.open({...b,...e.config});r?.then(e.resolve),e.setCloseFn(r)});break;case"destroy":h(()=>{f?.instance.destroy(e.key)});break;default:h(()=>{var t;let s=(t=f.instance)[r].apply(t,(0,a.A)(e.args));s?.then(e.resolve),e.setCloseFn(s)})}}),v=[])},A={open:function(e){let r=(0,u.E)(r=>{let t,a={type:"open",config:e,resolve:r,setCloseFn:e=>{t=e}};return v.push(a),()=>{t?h(()=>{t()}):a.skipped=!0}});return N(),r},destroy:e=>{v.push({type:"destroy",key:e}),N()},config:function(e){b={...b,...e},h(()=>{f?.sync?.()})},useMessage:p.A,_InternalPanelDoNotUseOrYouWillBeFired:m.Ay,_InternalListDoNotUseOrYouWillBeFired:e=>{let{items:r,classNames:t,style:a}=e,{getPrefixCls:o}=(0,n.TP)("message"),l=o("message"),c=(0,x.A)(l),[p,u]=(0,g.A)(l,c),f=`${l}-notice`,h=r.map(e=>{let{content:r,duration:t,key:a,type:s}=e,o=s?`${f}-icon-${s}`:void 0;return{key:a,duration:t,icon:(0,m.HC)(s),title:r,className:`${f}-${s}`,classNames:{wrapper:`${l}-${s}`,icon:o}}});return s.createElement(i.qb,{prefixCls:l,placement:"top",configList:h,className:(0,d.$)(p,u,c),classNames:{...t,wrapper:t?.wrapper,title:t?.title},style:a,stack:!1})}};["success","info","warning","error","loading"].forEach(e=>{A[e]=(...r)=>(function(e,r){(0,c.cr)();let t=(0,u.E)(t=>{let a,s={type:e,args:r,resolve:t,setCloseFn:e=>{a=e}};return v.push(s),()=>{a?h(()=>{a()}):s.skipped=!0}});return N(),t})(e,r)});let C=A},12446:(e,r)=>{"use strict";r.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},name:"info-circle",theme:"outlined"}},14995:(e,r)=>{"use strict";r.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"}},29606:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>C});var a=t(65321),s=t(97109),o=t(35292),l=t(9137),n=t(11702),c=t(88762),i=t(7576),d=t(85114),x=t(26171),m=t(21289),g=t(84253),p=t(30486),u=t(99811),f=t(58209),h=t(12446),v=t(88483);function b(){return(b=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let y=s.forwardRef((e,r)=>s.createElement(v.A,b({},e,{ref:r,icon:h.A})));var w=t(48321),j=t(6578);let{Text:N,Paragraph:A}=o.A;function C(){let e=(0,w.Vr)(),[r,t]=(0,s.useState)([]),[o,h]=(0,s.useState)(!0),[v,b]=(0,s.useState)(""),A=async()=>{h(!0);try{t((await (0,j.oH)(500)).logs)}catch(e){l.Ay.error(e instanceof Error?e.message:"加载日志失败")}finally{h(!1)}};(0,s.useEffect)(()=>{A()},[]);let C=(0,s.useMemo)(()=>{let e=v.trim().toLowerCase();return e?r.filter(r=>[r.id,r.level,r.source,r.functionName,r.message,r.stack].filter(Boolean).some(r=>String(r).toLowerCase().includes(e))):r},[v,r]),k=[{title:e("logs.time"),dataIndex:"createdAt",width:160,render:e=>(0,a.jsx)("span",{className:"text-xs text-[var(--colorTextSecondary)] font-mono",children:new Date(e).toLocaleString()})},{title:e("logs.level"),dataIndex:"level",width:80,render:e=>(0,a.jsx)(n.A,{color:"error"===e?"error":"warn"===e?"warning":"blue",bordered:!1,className:"m-0 text-[10px] uppercase tracking-wider",children:e})},{title:e("logs.source"),dataIndex:"source",width:220,render:e=>(0,a.jsx)("span",{className:"text-xs font-mono text-[var(--colorTextSecondary)] break-all",children:e})},{title:e("logs.message"),dataIndex:"message",render:e=>(0,a.jsx)("div",{className:"text-sm text-[var(--colorText)] max-w-3xl whitespace-normal break-words leading-relaxed",title:e,children:e})},{title:e("logs.requestId"),dataIndex:"id",width:120,render:e=>(0,a.jsx)(N,{copyable:!0,className:"text-[10px] font-mono text-[var(--colorTextTertiary)]",children:e.slice(0,8)})}];return o&&0===r.length?(0,a.jsxs)("div",{className:"space-y-8 animateFadeIn",children:[(0,a.jsx)(c.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,a.jsx)(c.A,{active:!0,paragraph:{rows:12}})]}):(0,a.jsxs)("div",{className:"h-[calc(100vh-140px)] flex flex-col",children:[(0,a.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4 pb-4 border-b border-[var(--borderColor)] shrink-0 animateFadeIn",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-bold tracking-tight text-[var(--colorText)] mb-1",children:e("nav.systemLogs")}),(0,a.jsx)("p",{className:"text-xs text-[var(--colorTextSecondary)]",children:e("logs.monitorSystem")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(i.A,{placeholder:e("logs.searchLogs"),prefix:(0,a.jsx)(p.A,{className:"text-[var(--colorTextTertiary)]"}),value:v,onChange:e=>b(e.target.value),allowClear:!0,className:"w-[260px] bg-[var(--colorBgHover)] border-transparent"}),(0,a.jsx)(d.Ay,{icon:(0,a.jsx)(u.A,{}),loading:o,onClick:()=>void A(),className:"shadow-none",children:e("logs.refresh")}),(0,a.jsx)(x.A,{title:e("logs.clearConfirm"),onConfirm:()=>{(async()=>{await (0,j.hH)(),l.Ay.success(e("common.success")),await A()})()},children:(0,a.jsx)(d.Ay,{danger:!0,icon:(0,a.jsx)(f.A,{}),className:"shadow-none border-transparent",children:e("logs.clear")})})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 py-3 px-1 text-xs text-[var(--colorTextTertiary)] shrink-0 animateFadeIn stagger-1",children:[(0,a.jsx)(y,{})," ",e("logs.logStorageInfo")," ",(0,a.jsx)("code",{className:"bg-[var(--colorBgHover)] px-1 rounded",children:"~/.customize-agent/logs/errors.jsonl"}),". ",e("logs.maxLoaded")]}),(0,a.jsx)("div",{className:"flex-1 overflow-hidden bg-[var(--colorBg)] rounded-lg animateFadeIn stagger-2",children:(0,a.jsx)(m.A,{rowKey:"id",loading:o,dataSource:C,columns:k,size:"middle",className:"h-full modern-table",scroll:{y:"calc(100vh - 280px)"},locale:{emptyText:(0,a.jsx)(g.A,{description:e("logs.noLogsFound"),className:"py-20"})},pagination:!1,rowClassName:"hover:bg-[var(--colorBgHover)] transition-colors cursor-pointer",expandable:{expandedRowRender:r=>(0,a.jsxs)("div",{className:"flex flex-col gap-4 p-4 bg-[var(--colorBgHover)]/50 border-t border-[var(--borderColor)]",children:[r.functionName&&(0,a.jsxs)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:[(0,a.jsx)("span",{className:"font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mr-2",children:e("logs.function")}),(0,a.jsx)("code",{className:"font-mono bg-[var(--colorBgElevated)] px-2 py-1 rounded",children:r.functionName})]}),r.request&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.requestContext")}),(0,a.jsx)("pre",{className:"text-xs font-mono bg-[var(--colorBgElevated)] p-3 rounded-md border border-[var(--borderColor)] whitespace-pre-wrap break-all m-0 text-[var(--colorTextSecondary)]",children:JSON.stringify(r.request,null,2)})]}),void 0!==r.meta&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.metadata")}),(0,a.jsx)("pre",{className:"text-xs font-mono bg-[var(--colorBgElevated)] p-3 rounded-md border border-[var(--borderColor)] whitespace-pre-wrap break-all m-0 text-[var(--colorTextSecondary)]",children:JSON.stringify(r.meta,null,2)})]}),r.stack&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.stackTrace")}),(0,a.jsx)("pre",{className:"text-[11px] font-mono bg-[#1e1e1e] text-[#d4d4d4] p-3 rounded-md overflow-x-auto m-0 leading-relaxed",children:r.stack})]})]})}})})]})}},39214:(e,r,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/system/logs",function(){return t(29606)}])},99811:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var a=t(97109),s=t(14995),o=t(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let n=a.forwardRef((e,r)=>a.createElement(o.A,l({},e,{ref:r,icon:s.A})))}},e=>{e.O(0,[433,155,576,985,713,195,289,636,593,792],()=>e(e.s=39214)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-900:oklch(39.6% .141 25.723);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-900:oklch(39.3% .095 152.535);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-1{margin-inline:var(--spacing)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[calc\(100vh-140px\)\]{height:calc(100vh - 140px)}.h-auto{height:auto}.h-full{height:100%}.max-h-52{max-height:calc(var(--spacing) * 52)}.min-h-0{min-height:0}.min-h-\[500px\]{min-height:500px}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-\[1px\]{width:1px}.w-\[260px\]{width:260px}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-\[520px\]{max-width:520px}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[28px_1fr_auto\]{grid-template-columns:28px 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.\!items-start{align-items:flex-start!important}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-8{row-gap:calc(var(--spacing) * 8)}.gap-y-16{row-gap:calc(var(--spacing) * 16)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-\[var\(--borderColor\)\]>:not(:last-child)){border-color:var(--borderColor)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--borderColor\)\]{border-color:var(--borderColor)}.border-\[var\(--borderColorStrong\)\]{border-color:var(--borderColorStrong)}.border-\[var\(--colorBorderSecondary\)\]{border-color:var(--colorBorderSecondary)}.border-\[var\(--colorDanger\)\]\/20{border-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--colorDanger\)\]\/20{border-color:color-mix(in oklab,var(--colorDanger) 20%,transparent)}}.border-blue-200{border-color:var(--color-blue-200)}.border-green-200{border-color:var(--color-green-200)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[var\(--borderColor\)\]{background-color:var(--borderColor)}.bg-\[var\(--borderColorStrong\)\]{background-color:var(--borderColorStrong)}.bg-\[var\(--colorBg\)\]{background-color:var(--colorBg)}.bg-\[var\(--colorBgContainer\)\]{background-color:var(--colorBgContainer)}.bg-\[var\(--colorBgElevated\)\]{background-color:var(--colorBgElevated)}.bg-\[var\(--colorBgHover\)\],.bg-\[var\(--colorBgHover\)\]\/50{background-color:var(--colorBgHover)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBgHover\)\]\/50{background-color:color-mix(in oklab,var(--colorBgHover) 50%,transparent)}}.bg-\[var\(--colorBgSecondary\)\]\/30{background-color:var(--colorBgSecondary)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBgSecondary\)\]\/30{background-color:color-mix(in oklab,var(--colorBgSecondary) 30%,transparent)}}.bg-\[var\(--colorBgSelected\)\]{background-color:var(--colorBgSelected)}.bg-\[var\(--colorBorderSecondary\)\]{background-color:var(--colorBorderSecondary)}.bg-\[var\(--colorBrand\)\]\/5{background-color:var(--colorBrand)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBrand\)\]\/5{background-color:color-mix(in oklab,var(--colorBrand) 5%,transparent)}}.bg-\[var\(--colorDanger\)\]\/10{background-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorDanger\)\]\/10{background-color:color-mix(in oklab,var(--colorDanger) 10%,transparent)}}.bg-\[var\(--colorFillAlter\)\]{background-color:var(--colorFillAlter)}.bg-\[var\(--colorFillQuaternary\)\]{background-color:var(--colorFillQuaternary)}.bg-\[var\(--colorFillSecondary\)\]{background-color:var(--colorFillSecondary)}.bg-\[var\(--colorText\)\]{background-color:var(--colorText)}.bg-black{background-color:var(--color-black)}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/50{background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-green-50\/50{background-color:#f0fdf480}@supports (color:color-mix(in lab,red,red)){.bg-green-50\/50{background-color:color-mix(in oklab,var(--color-green-50) 50%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/50{background-color:#fef2f280}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/50{background-color:color-mix(in oklab,var(--color-red-50) 50%,transparent)}}.bg-transparent{background-color:#0000}.bg-yellow-50\/50{background-color:#fefce880}@supports (color:color-mix(in lab,red,red)){.bg-yellow-50\/50{background-color:color-mix(in oklab,var(--color-yellow-50) 50%,transparent)}}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.\!px-5{padding-inline:calc(var(--spacing) * 5)!important}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.\!py-4{padding-block:calc(var(--spacing) * 4)!important}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-32{padding-block:calc(var(--spacing) * 32)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#d4d4d4\]{color:#d4d4d4}.text-\[var\(--colorAccent\)\]{color:var(--colorAccent)}.text-\[var\(--colorBg\)\]{color:var(--colorBg)}.text-\[var\(--colorBorderSecondary\)\]{color:var(--colorBorderSecondary)}.text-\[var\(--colorBrand\)\]{color:var(--colorBrand)}.text-\[var\(--colorDanger\)\]{color:var(--colorDanger)}.text-\[var\(--colorInfo\)\]{color:var(--colorInfo)}.text-\[var\(--colorOk\)\]{color:var(--colorOk)}.text-\[var\(--colorText\)\]{color:var(--colorText)}.text-\[var\(--colorTextQuaternary\)\]{color:var(--colorTextQuaternary)}.text-\[var\(--colorTextSecondary\)\]{color:var(--colorTextSecondary)}.text-\[var\(--colorTextTertiary\)\]{color:var(--colorTextTertiary)}.text-\[var\(--colorWarn\)\]{color:var(--colorWarn)}.text-\[var\(--colorWarning\)\]{color:var(--colorWarning)}.text-blue-500{color:var(--color-blue-500)}.text-green-600{color:var(--color-green-600)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:border-\[var\(--borderColorStrong\)\]:hover{border-color:var(--borderColorStrong)}.hover\:border-\[var\(--colorBrand\)\]:hover{border-color:var(--colorBrand)}.hover\:border-\[var\(--colorTextTertiary\)\]:hover{border-color:var(--colorTextTertiary)}.hover\:bg-\[var\(--colorBgContainer\)\]:hover{background-color:var(--colorBgContainer)}.hover\:bg-\[var\(--colorBgHover\)\]:hover{background-color:var(--colorBgHover)}.hover\:bg-\[var\(--colorFillAlter\)\]:hover{background-color:var(--colorFillAlter)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-\[var\(--colorText\)\]:hover{color:var(--colorText)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:shadow-md:hover,.hover\:shadow-sm:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}}.focus\:bg-\[var\(--colorBgContainer\)\]:focus{background-color:var(--colorBgContainer)}.focus\:bg-\[var\(--colorBgElevated\)\]:focus{background-color:var(--colorBgElevated)}.focus\:bg-transparent:focus{background-color:#0000}@media (min-width:40rem){.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:pb-0{padding-bottom:0}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:w-auto{width:auto}.md\:flex-none{flex:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-900\/20{background-color:color-mix(in oklab,var(--color-green-900) 20%,transparent)}}.dark\:bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900) 20%,transparent)}}.dark\:bg-white{background-color:var(--color-white)}.dark\:text-black{color:var(--color-black)}.dark\:text-green-500{color:var(--color-green-500)}.dark\:text-red-500{color:var(--color-red-500)}}.\[\&_\.ant-list-item-meta-content\]\:min-w-0 .ant-list-item-meta-content{min-width:0}.\[\&_\.ant-list-item-meta-description\]\:text-left .ant-list-item-meta-description{text-align:left}.\[\&_\.ant-list-item-meta-title\]\:mb-2 .ant-list-item-meta-title{margin-bottom:calc(var(--spacing) * 2)}}:root{--colorBg:#fff;--colorBgElevated:#fff;--colorBgSecondary:#fafafa;--colorBgHover:#f5f5f5;--colorBgSelected:#eff6ff;--colorText:#171717;--colorTextSecondary:#737373;--colorTextTertiary:#a3a3a3;--colorBrand:#06c;--colorBrandHover:#0052a3;--colorBrand2:#171717;--colorDanger:#e11d48;--colorOk:#16a34a;--colorWarn:#f59e0b;--colorInfo:#2563eb;--glassBg:#ffffffd9;--glassBlur:saturate(180%) blur(16px);--borderColor:#00000014;--borderColorStrong:#00000026;--borderColorSelected:#3b82f6;--shadowSoft:0 4px 12px #0000000d,0 1px 2px #00000005;--shadowCard:0 0 0 1px #00000008,0 2px 12px #0000000a;--shadowButton:0 1px 2px #0000000d;--radiusSm:6px;--radiusMd:10px;--radiusLg:14px;--radiusPill:9999px;--sidebarWidth:260px;--fontSans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.dark{--colorBg:#000;--colorBgElevated:#0a0a0a;--colorBgSecondary:#121212;--colorBgHover:#1a1a1a;--colorBgSelected:#3b82f626;--colorText:#ededed;--colorTextSecondary:#a3a3a3;--colorTextTertiary:#737373;--colorBrand:#3b82f6;--colorBrandHover:#60a5fa;--colorBrand2:#d4d4d4;--colorDanger:#f43f5e;--colorOk:#22c55e;--colorWarn:#fbbf24;--colorInfo:#3b82f6;--glassBg:#000000d9;--borderColor:#ffffff1f;--borderColorStrong:#fff3;--borderColorSelected:#60a5fa;--shadowSoft:0 4px 12px #00000080,0 1px 2px #0003;--shadowCard:0 0 0 1px #ffffff14,0 4px 16px #0006;--shadowButton:0 1px 2px #0000004d}*,:after,:before{box-sizing:border-box}html{font-family:var(--fontSans);background:var(--colorBg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.appShellPlaceholder,body{background:var(--colorBg);min-height:100vh}body{font-family:var(--fontSans);color:var(--colorText);margin:0}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--borderColorStrong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--colorTextTertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animateFadeIn{animation:fadeIn .4s cubic-bezier(.2,.8,.2,1) forwards}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.space-y-8>*+*{margin-top:32px}.space-y-6>*+*{margin-top:24px}.space-y-5>*+*{margin-top:20px}.space-y-4>*+*{margin-top:16px}.space-y-3>*+*{margin-top:12px}.space-y-2>*+*{margin-top:8px}.space-x-8>*+*{margin-left:32px}.space-x-6>*+*{margin-left:24px}.space-x-4>*+*{margin-left:16px}.space-x-2>*+*{margin-left:8px}.routeProgress{top:0;left:var(--sidebarWidth);z-index:1000;background:linear-gradient(90deg,var(--colorPrimary),var(--colorAccent));height:3px;animation:routeProgress .9s ease-in-out infinite;position:fixed;right:0}#nprogress{pointer-events:none}#nprogress .bar{background:var(--colorBrand);z-index:1031;width:100%;height:3px;position:fixed;top:0;left:0}#nprogress .peg{width:100px;height:100%;box-shadow:0 0 10px var(--colorBrand),0 0 5px var(--colorBrand);opacity:1;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px)}.routeLoadingCard{border:1px solid var(--borderSoft);color:var(--textSecondary);background:var(--surfaceElevated);border-radius:16px;margin-bottom:16px;padding:14px 16px}@keyframes routeProgress{0%{transform-origin:0;opacity:.65;transform:scaleX(.15)}50%{transform-origin:0;opacity:1;transform:scaleX(.7)}to{transform-origin:0;opacity:.35;transform:scaleX(1)}}@media (max-width:1024px){:root{--sidebarWidth:200px}}@media (max-width:860px){:root{--sidebarWidth:72px}.sidebarLogo{justify-content:center;padding:16px}.sidebarFooter,.sidebarItem span:not(.sidebarChevron),.sidebarLogoSub,.sidebarLogoTitle{display:none}.sidebarItem{justify-content:center;padding:11px}.sidebarSubmenu{padding-left:0}.sidebarSubItem{padding-left:11px}.mainInner{padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px))}.topbar{margin:10px 12px 0;padding:10px 16px}}@media (max-width:640px){.sidebar{top:6px;left:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px))}.mainContent{margin-left:72px}.mainInner{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px))}.topbar{border-radius:16px;margin:8px 8px 0;padding:8px 12px}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebarWidth);display:flex;flex-direction:column;z-index:20;background:var(--colorBgSecondary);border-right:none;box-shadow:2px 0 8px rgba(0,0,0,.02);overflow:hidden;transition:width .3s cubic-bezier(.2,.8,.2,1),transform .3s ease}.sidebarCollapsedSelf{width:72px}.sidebarLogo{display:flex;align-items:center;gap:12px;padding:24px 20px 20px;height:68px;overflow:hidden}.sidebarCollapsedSelf .sidebarLogo{justify-content:center;padding:24px 0 20px}.sidebarCollapsedSelf .sidebarChevron,.sidebarCollapsedSelf .sidebarLabel,.sidebarCollapsedSelf .sidebarLogoTitle{display:none}.sidebarCollapsedSelf .sidebarItem{justify-content:center;padding:10px}.sidebarCollapsedSelf .sidebarCollapseWrapper{padding:12px}.sidebarLogoTitle{font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;opacity:1;transition:opacity .2s ease;color:var(--colorText)}.sidebarNav{flex:1;overflow-y:auto;overflow-x:hidden;flex-direction:column;gap:2px}.sidebarItem,.sidebarNav{padding:8px 12px;display:flex}.sidebarItem{align-items:center;gap:10px;border-radius:var(--radiusSm);font-size:13.5px;font-weight:500;color:var(--colorTextSecondary);transition:all .15s ease;cursor:pointer;white-space:nowrap}.sidebarLabel{transition:opacity .2s ease}.sidebarItem:hover{background:var(--colorBgHover);color:var(--colorText)}.sidebarItemActive,.sidebarItemActive:hover{background:var(--colorBgElevated);color:var(--colorText);box-shadow:none}.dark .sidebarItemActive,.dark .sidebarItemActive:hover{box-shadow:none}.sidebarCollapseWrapper{padding:12px;border-top:1px solid var(--borderColor);display:flex;justify-content:center}.sidebarCollapseBtn{width:100%;height:32px;border-radius:var(--radiusSm);border:1px solid transparent;background:transparent;color:var(--colorTextSecondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebarCollapseBtn:hover{background:var(--colorBgHover);color:var(--colorText)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 32px;background:var(--glassBg);backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur);border-bottom:none;box-shadow:0 1px 3px rgba(0,0,0,.02)}.topbarBtn{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:var(--radiusSm);border:1px solid transparent;background:transparent;color:var(--colorTextSecondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.topbarBtn:hover{background:var(--colorBgHover);color:var(--colorText)}.mainContent{margin-left:var(--sidebarWidth);flex:1;display:flex;flex-direction:column;min-height:100vh;background:var(--colorBg);transition:margin-left .3s cubic-bezier(.2,.8,.2,1)}.sidebarCollapsed .mainContent{margin-left:68px}.mainInner{flex:1;padding:32px clamp(24px,4vw,48px) calc(32px + env(safe-area-inset-bottom, 0px));width:100%;max-width:1440px;margin:0 auto;overflow-x:hidden;transition:opacity .2s ease}.mainInner.pageTransitioning{opacity:.5;pointer-events:none}.pageTitle{font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--colorText);margin:0}.pageDesc{margin-top:6px;font-size:14px;color:var(--colorTextSecondary)}.ant-card{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;margin-bottom:0!important}.ant-card-head{border-bottom:none!important;padding:0!important;min-height:auto!important;margin-bottom:16px}.ant-card-head-title{font-size:16px!important;font-weight:600!important;padding:0!important}.ant-card-body{padding:0!important}.ant-modal-content{background:var(--colorBgElevated)!important;border:1px solid var(--borderColor)!important;border-radius:var(--radiusLg)!important;box-shadow:var(--shadowCard)!important;padding:24px!important}.ant-modal-header{background:transparent!important;margin-bottom:24px!important}.ant-input,.ant-input-number,.ant-input-password,.ant-select-selector{border:1px solid transparent!important;background:var(--colorBgHover)!important;border-radius:var(--radiusSm)!important;box-shadow:none!important;transition:all .2s ease!important}.ant-input-focused,.ant-input-number-focused,.ant-input-number:focus,.ant-input-number:hover,.ant-input-password:focus,.ant-input-password:hover,.ant-input:focus,.ant-input:hover,.ant-select-focused .ant-select-selector,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--borderColorStrong)!important;background:transparent!important;box-shadow:none!important}.ant-input-affix-wrapper-outlined:focus,.ant-input-affix-wrapper-outlined:focus-within,.ant-input-number-outlined:focus,.ant-input-number-outlined:focus-within,.ant-input-outlined:focus,.ant-input-outlined:focus-within,.ant-select-outlined.ant-select-focused .ant-select-selector{box-shadow:none!important;outline:none!important;border-color:var(--borderColorStrong)!important}.modern-table .ant-table{background:transparent!important;border:none!important;border-radius:0!important}.modern-table .ant-table-container{border:none!important}.modern-table .ant-table-thead>tr>th{background:var(--colorBgSecondary)!important;border:none!important;font-size:11px!important;font-weight:600!important;color:var(--colorTextSecondary)!important;text-transform:uppercase;letter-spacing:.05em;padding:14px 16px!important}.modern-table .ant-table-thead>tr>th:first-child{border-top-left-radius:var(--radiusMd)!important;border-bottom-left-radius:var(--radiusMd)!important}.modern-table .ant-table-thead>tr>th:last-child{border-top-right-radius:var(--radiusMd)!important;border-bottom-right-radius:var(--radiusMd)!important}.modern-table .ant-table-thead>tr>th:before{display:none!important}.modern-table .ant-table-tbody>tr>td{border:none!important;background:transparent!important;padding:18px 16px!important;font-size:14px}.modern-table .ant-table-tbody>tr:last-child>td{border-bottom:none!important}.modern-table .ant-table-tbody>tr:hover>td{background:var(--colorBgHover)!important}.modern-table .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--colorBgSelected)!important;border:0!important;box-shadow:none!important;outline:0!important}.ant-btn-default{border-color:var(--borderColor)!important;background:transparent!important;box-shadow:none!important}.ant-btn-default:hover{background:var(--colorBgHover)!important;border-color:var(--borderColorStrong)!important;color:var(--colorText)!important}.ant-btn-primary{background:var(--colorText)!important;color:var(--colorBg)!important;box-shadow:none!important;border:none!important}.ant-btn-primary:hover{background:var(--colorTextSecondary)!important;color:var(--colorBg)!important}.ant-row{row-gap:24px}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-input-password,.ant-input-search .ant-input,.ant-input-search .ant-input-group-addon .ant-btn,.ant-mentions,.ant-picker,.ant-select-selector{min-height:34px;border:1px solid var(--borderColor)!important;background:var(--colorBgSecondary)!important;border-radius:var(--radiusSm)!important;box-shadow:none!important;outline:none!important}.ant-input-affix-wrapper>input.ant-input,.ant-input-affix-wrapper>textarea.ant-input,.ant-input-number .ant-input-number-input,.ant-input-password>input.ant-input,.ant-input-search .ant-input-affix-wrapper>input.ant-input{min-height:auto;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper:hover,.ant-input-focused,.ant-input-number-focused,.ant-input-number:hover,.ant-input-password:hover,.ant-input:focus,.ant-input:hover,.ant-picker-focused,.ant-picker:hover,.ant-select-focused .ant-select-selector,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--colorBrand)!important;background:var(--colorBgElevated)!important;box-shadow:none!important;outline:none!important}.ant-btn:focus-visible,.ant-input-affix-wrapper:focus-visible,.ant-input:focus-visible,.ant-picker:focus-visible,.ant-select-selector:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none!important;box-shadow:none!important}.ant-input-group-wrapper .ant-input-wrapper,.ant-input-search .ant-input-group{display:flex;align-items:stretch}.ant-input-search .ant-input,.ant-input-search .ant-input-affix-wrapper{border-start-end-radius:0!important;border-end-end-radius:0!important}.ant-input-search .ant-input-group-addon .ant-btn{border-start-start-radius:0!important;border-end-start-radius:0!important;border-left:0!important}.ant-input-affix-wrapper{padding-inline-start:11px!important;padding-inline-end:11px!important}.ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:8px!important;color:var(--colorTextTertiary)!important}.ant-input-affix-wrapper .ant-input-suffix{margin-inline-start:8px!important}.ant-input-affix-wrapper>input.ant-input{padding-inline-start:0!important}.ant-table-wrapper,.ant-table-wrapper .ant-spin-container,.ant-table-wrapper .ant-spin-nested-loading,.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-body,.ant-table-wrapper .ant-table-container,.ant-table-wrapper .ant-table-content{background:transparent!important;border:0!important;box-shadow:none!important}.ant-table-wrapper .ant-table-cell:before,.ant-table-wrapper .ant-table-container:after,.ant-table-wrapper .ant-table-container:before{display:none!important}.ant-table-wrapper .ant-table-thead>tr>th{height:auto!important;padding:10px 12px!important;border:0!important;background:var(--colorBgSecondary)!important;color:var(--colorTextSecondary)!important;font-size:12px!important;font-weight:600!important;line-height:1.45!important;vertical-align:middle!important}.ant-table-wrapper .ant-table-tbody>tr>td{height:auto!important;min-height:0!important;padding:11px 12px!important;border:0!important;background:transparent!important;color:var(--colorText)!important;line-height:1.5!important;vertical-align:middle!important;overflow:visible!important;white-space:normal;word-break:break-word}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td,.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--colorBgHover)!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--colorBgSelected)!important}.ant-table-wrapper .ant-table-expanded-row>td,.ant-table-wrapper .ant-table-placeholder>td{background:transparent!important}.ant-table-wrapper .ant-table-cell .ant-btn,.ant-table-wrapper .ant-table-cell .ant-space,.ant-table-wrapper .ant-table-cell .ant-tag{vertical-align:middle}.ant-table-wrapper .ant-table-cell .ant-typography,.ant-table-wrapper .ant-table-cell div,.ant-table-wrapper .ant-table-cell p,.ant-table-wrapper .ant-table-cell span{max-height:none;line-height:inherit}.ant-table-wrapper .ant-table-cell-ellipsis{white-space:normal!important}.ant-table-wrapper .ant-table-cell-ellipsis .ant-table-cell-content{display:block;overflow:visible;text-overflow:clip;white-space:normal}.ant-alert-description,.ant-alert-message,.ant-breadcrumb-link,.ant-btn,.ant-dropdown-menu-title-content,.ant-menu-title-content,.ant-select-selection-item,.ant-tabs-tab-btn,.ant-tag{display:inline-flex;align-items:center;gap:6px;min-width:0}.ant-btn{justify-content:center;line-height:1.2!important}.ant-btn .anticon,.ant-btn svg,.ant-menu-item svg,.ant-menu-item-icon,.ant-tabs-tab .anticon,.ant-tabs-tab svg,.ant-tag .anticon,.ant-tag svg,.anticon,.sidebarItem svg,.topbarBtn svg{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;vertical-align:-.125em}.ant-space{align-items:center}.ant-alert+.ant-card,.ant-card+.ant-alert,.ant-card+.ant-card,.cardGlass+.cardGlass{margin-top:16px!important}.ant-card-head{margin-bottom:14px!important}.ant-card .ant-typography,.ant-card ol,.ant-card p,.ant-card ul{line-height:1.65}.ant-card .ant-typography:last-child,.ant-card ol:last-child,.ant-card p:last-child,.ant-card ul:last-child{margin-bottom:0!important}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{margin:0 0 18px!important;padding:0 2px!important}.ant-tabs .ant-tabs-tab{padding:10px 12px!important;margin:0 4px 0 0!important}.ant-tabs .ant-tabs-content-holder{padding-top:2px}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab{border-radius:var(--radiusSm) var(--radiusSm) 0 0!important}.ant-form-item{margin-bottom:18px!important}.ant-form-item-label>label{align-items:center;height:auto!important;color:var(--colorText)!important;font-weight:500}.ant-form-item-explain,.ant-form-item-extra{margin-top:6px;font-size:12px}.ant-collapse-header,.ant-descriptions-item,.ant-list-item{align-items:center!important}.ant-table-wrapper.modern-table,.ant-table-wrapper.modern-table *,.modern-table.ant-table-wrapper,.modern-table.ant-table-wrapper *{border-color:transparent!important}.modern-table .ant-table,.modern-table .ant-table-body,.modern-table .ant-table-container,.modern-table .ant-table-content,.modern-table .ant-table-header,.modern-table .ant-table-tbody,.modern-table .ant-table-thead,.modern-table table{border:0!important;box-shadow:none!important;outline:0!important}.modern-table .ant-table-expanded-row>td,.modern-table .ant-table-selection-column,.modern-table .ant-table-tbody>tr>td,.modern-table .ant-table-thead>tr>th{height:auto!important;min-height:0!important;border:0!important;border-inline-end:0!important;border-bottom:0!important;box-shadow:none!important;outline:0!important;line-height:1.55!important;vertical-align:middle!important}.modern-table .ant-table-tbody>tr>td{padding:10px 12px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.modern-table .ant-table-thead>tr>th{padding:9px 12px!important;border-radius:0!important}.modern-table .ant-table-cell-ellipsis,.modern-table .truncate{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;max-height:none!important}.modern-table .ant-table-row-expand-icon-cell,.modern-table .ant-table-selection-column{text-align:center!important;vertical-align:middle!important;white-space:nowrap!important}.modern-table .ant-table-cell .anticon,.modern-table .ant-table-cell svg,.modern-table .ant-table-row-expand-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important}.modern-table .ant-table-expanded-row-fixed,.modern-table .ant-table-expanded-row>td>div{border:0!important}.modern-table .ant-table-tbody>tr{height:auto!important;min-height:44px!important}.modern-table .ant-table-cell{height:auto!important;max-height:none!important;overflow:visible!important}.modern-table .ant-table-cell .ant-tag,.modern-table .ant-table-cell .ant-typography,.modern-table .ant-table-cell a,.modern-table .ant-table-cell button,.modern-table .ant-table-cell>*{max-height:none!important;overflow:visible!important;line-height:1.45!important}.modern-table .ant-table-body{overflow-y:auto!important;overflow-x:hidden!important}.ant-card,.cardGlass,[class*=Card],[class*=card]{box-shadow:none!important}.ant-card:hover,.cardGlass:hover,.group:hover,.hover\:border-\[var\(--borderColorStrong\)\]:hover,.hover\:border-\[var\(--colorBrand\)\]:hover{border-color:transparent!important;box-shadow:none!important}.active,.ant-card.ant-card-bordered:hover,.ant-list-item-selected,.ant-list-item.active,.ant-menu-item-selected,.ant-menu-submenu-selected>.ant-menu-submenu-title,.ant-segmented-item-selected,.ant-select-item-option-selected,.ant-table-row-selected>td,.ant-tabs-tab-active,.ant-tabs-tab.ant-tabs-tab-active,.ant-tree-node-selected,.selected,[aria-selected=true],[data-selected=true]{border-color:transparent!important;box-shadow:none!important;outline:0!important}