@customize-agent/server 2.2.0

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 (149) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/images-manifest.json +58 -0
  3. package/.next/package.json +1 -0
  4. package/.next/prerender-manifest.json +11 -0
  5. package/.next/react-loadable-manifest.json +1 -0
  6. package/.next/required-server-files.json +352 -0
  7. package/.next/routes-manifest.json +167 -0
  8. package/.next/server/chunks/204.js +1 -0
  9. package/.next/server/chunks/270.js +1 -0
  10. package/.next/server/chunks/301.js +19 -0
  11. package/.next/server/chunks/352.js +1 -0
  12. package/.next/server/chunks/580.js +6 -0
  13. package/.next/server/chunks/583.js +1 -0
  14. package/.next/server/chunks/705.js +1 -0
  15. package/.next/server/chunks/76.js +385 -0
  16. package/.next/server/dynamic-css-manifest.js +1 -0
  17. package/.next/server/functions-config-manifest.json +4 -0
  18. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  19. package/.next/server/middleware-build-manifest.js +1 -0
  20. package/.next/server/middleware-manifest.json +6 -0
  21. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  22. package/.next/server/next-font-manifest.js +1 -0
  23. package/.next/server/next-font-manifest.json +1 -0
  24. package/.next/server/pages/404.html +1 -0
  25. package/.next/server/pages/500.html +1 -0
  26. package/.next/server/pages/_app.js +1 -0
  27. package/.next/server/pages/_app.js.nft.json +1 -0
  28. package/.next/server/pages/_document.js +1 -0
  29. package/.next/server/pages/_document.js.nft.json +1 -0
  30. package/.next/server/pages/_error.js +1 -0
  31. package/.next/server/pages/_error.js.nft.json +1 -0
  32. package/.next/server/pages/api/config/healthCheck.js +1 -0
  33. package/.next/server/pages/api/config/healthCheck.js.nft.json +1 -0
  34. package/.next/server/pages/api/config/models.js +1 -0
  35. package/.next/server/pages/api/config/models.js.nft.json +1 -0
  36. package/.next/server/pages/api/config/providers/[provider].js +1 -0
  37. package/.next/server/pages/api/config/providers/[provider].js.nft.json +1 -0
  38. package/.next/server/pages/api/config/providers.js +1 -0
  39. package/.next/server/pages/api/config/providers.js.nft.json +1 -0
  40. package/.next/server/pages/api/context.js +1 -0
  41. package/.next/server/pages/api/context.js.nft.json +1 -0
  42. package/.next/server/pages/api/health.js +1 -0
  43. package/.next/server/pages/api/health.js.nft.json +1 -0
  44. package/.next/server/pages/api/kb/categories.js +1 -0
  45. package/.next/server/pages/api/kb/categories.js.nft.json +1 -0
  46. package/.next/server/pages/api/kb/duplicates.js +1 -0
  47. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -0
  48. package/.next/server/pages/api/kb/features.js +1 -0
  49. package/.next/server/pages/api/kb/features.js.nft.json +1 -0
  50. package/.next/server/pages/api/kb/files/detail.js +1 -0
  51. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -0
  52. package/.next/server/pages/api/kb/files/open.js +1 -0
  53. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -0
  54. package/.next/server/pages/api/kb/files/preview-pdf-page.js +1 -0
  55. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -0
  56. package/.next/server/pages/api/kb/files/reindex.js +1 -0
  57. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -0
  58. package/.next/server/pages/api/kb/files.js +2 -0
  59. package/.next/server/pages/api/kb/files.js.nft.json +1 -0
  60. package/.next/server/pages/api/kb/ignore.js +1 -0
  61. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -0
  62. package/.next/server/pages/api/kb/operations.js +2 -0
  63. package/.next/server/pages/api/kb/operations.js.nft.json +1 -0
  64. package/.next/server/pages/api/kb/reindex.js +1 -0
  65. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -0
  66. package/.next/server/pages/api/kb/search.js +1 -0
  67. package/.next/server/pages/api/kb/search.js.nft.json +1 -0
  68. package/.next/server/pages/api/kb/stats.js +1 -0
  69. package/.next/server/pages/api/kb/stats.js.nft.json +1 -0
  70. package/.next/server/pages/api/kb/tags.js +1 -0
  71. package/.next/server/pages/api/kb/tags.js.nft.json +1 -0
  72. package/.next/server/pages/api/kb/upload/progress.js +1 -0
  73. package/.next/server/pages/api/kb/upload/progress.js.nft.json +1 -0
  74. package/.next/server/pages/api/kb/upload.js +2 -0
  75. package/.next/server/pages/api/kb/upload.js.nft.json +1 -0
  76. package/.next/server/pages/api/prompt.js +1 -0
  77. package/.next/server/pages/api/prompt.js.nft.json +1 -0
  78. package/.next/server/pages/api/system/stats.js +1 -0
  79. package/.next/server/pages/api/system/stats.js.nft.json +1 -0
  80. package/.next/server/pages/context/long-term.html +1 -0
  81. package/.next/server/pages/context/long-term.js.nft.json +1 -0
  82. package/.next/server/pages/context/short-term.html +1 -0
  83. package/.next/server/pages/context/short-term.js.nft.json +1 -0
  84. package/.next/server/pages/index.html +1 -0
  85. package/.next/server/pages/index.js.nft.json +1 -0
  86. package/.next/server/pages/knowledge/file-detail.html +1 -0
  87. package/.next/server/pages/knowledge/file-detail.js.nft.json +1 -0
  88. package/.next/server/pages/knowledge/files.html +1 -0
  89. package/.next/server/pages/knowledge/files.js.nft.json +1 -0
  90. package/.next/server/pages/knowledge/manage.html +1 -0
  91. package/.next/server/pages/knowledge/manage.js.nft.json +1 -0
  92. package/.next/server/pages/knowledge/search.html +1 -0
  93. package/.next/server/pages/knowledge/search.js.nft.json +1 -0
  94. package/.next/server/pages/knowledge.html +1 -0
  95. package/.next/server/pages/knowledge.js.nft.json +1 -0
  96. package/.next/server/pages/models.html +1 -0
  97. package/.next/server/pages/models.js.nft.json +1 -0
  98. package/.next/server/pages/overview.html +1 -0
  99. package/.next/server/pages/overview.js.nft.json +1 -0
  100. package/.next/server/pages/prompt.html +1 -0
  101. package/.next/server/pages/prompt.js.nft.json +1 -0
  102. package/.next/server/pages/settings.html +1 -0
  103. package/.next/server/pages/settings.js.nft.json +1 -0
  104. package/.next/server/pages-manifest.json +42 -0
  105. package/.next/server/webpack-api-runtime.js +1 -0
  106. package/.next/server/webpack-runtime.js +1 -0
  107. package/.next/static/F0L2CqpDxjxDhBUAmMi8O/_buildManifest.js +1 -0
  108. package/.next/static/F0L2CqpDxjxDhBUAmMi8O/_ssgManifest.js +1 -0
  109. package/.next/static/chunks/15-fed70feebb38d5ae.js +4 -0
  110. package/.next/static/chunks/227-eb562f29334fcb34.js +1 -0
  111. package/.next/static/chunks/252-a9d7774c3009dcda.js +21 -0
  112. package/.next/static/chunks/257-c71f52e4adae1e38.js +1 -0
  113. package/.next/static/chunks/260-03f19eaee776f7fa.js +28 -0
  114. package/.next/static/chunks/425-feceb6e39a2b417d.js +25 -0
  115. package/.next/static/chunks/455-d2aca155a3032ee0.js +6 -0
  116. package/.next/static/chunks/492-5245cad2f8d60d8d.js +1 -0
  117. package/.next/static/chunks/517-c6a8c0e680dafa46.js +1 -0
  118. package/.next/static/chunks/544-fba84f8cd64c79ed.js +1 -0
  119. package/.next/static/chunks/576-642eb5cede35ba19.js +4 -0
  120. package/.next/static/chunks/584-3a8c7b39c2a3037a.js +90 -0
  121. package/.next/static/chunks/740-450a37b8ca6fe1c6.js +16 -0
  122. package/.next/static/chunks/840-717f0706d50fcb82.js +16 -0
  123. package/.next/static/chunks/891-fde3ad128ccf30dc.js +1 -0
  124. package/.next/static/chunks/958-0f3a960f8ebe421b.js +1 -0
  125. package/.next/static/chunks/992-6e67409e97fe9b6b.js +1 -0
  126. package/.next/static/chunks/framework-b5223c1542334872.js +1 -0
  127. package/.next/static/chunks/main-1a03005b3754c708.js +1 -0
  128. package/.next/static/chunks/pages/_app-52fa1fa291b60bee.js +140 -0
  129. package/.next/static/chunks/pages/_error-18decb9cd478883d.js +1 -0
  130. package/.next/static/chunks/pages/context/long-term-8c5fe7c5cb8f3d6d.js +1 -0
  131. package/.next/static/chunks/pages/context/short-term-4b1ba522c259bc7b.js +1 -0
  132. package/.next/static/chunks/pages/index-505bd438c95ec0e8.js +1 -0
  133. package/.next/static/chunks/pages/knowledge/file-detail-37573640ecdd5c11.js +1 -0
  134. package/.next/static/chunks/pages/knowledge/files-a3104d6d309aefdd.js +1 -0
  135. package/.next/static/chunks/pages/knowledge/manage-36d4824b96f8150f.js +1 -0
  136. package/.next/static/chunks/pages/knowledge/search-33f4f2a3dc318802.js +1 -0
  137. package/.next/static/chunks/pages/knowledge-b3ef77e79801287c.js +1 -0
  138. package/.next/static/chunks/pages/models-4fbcb0182c8a9476.js +1 -0
  139. package/.next/static/chunks/pages/overview-d588ba8cc32f615c.js +1 -0
  140. package/.next/static/chunks/pages/prompt-490524ba05078205.js +1 -0
  141. package/.next/static/chunks/pages/settings-e6a894618727eec3.js +1 -0
  142. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  143. package/.next/static/chunks/webpack-77d10b4726f13aa5.js +1 -0
  144. package/.next/static/css/031cf1db0e9affb3.css +1 -0
  145. package/.next/static/css/5237c5e3358f3282.css +1 -0
  146. package/.next/static/css/82b6ddff0ef364fe.css +1 -0
  147. package/.next/static/css/9d4b5a2db56e7aa7.css +1 -0
  148. package/next.config.ts +54 -0
  149. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[731],{5122:(_,n,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return e(5599)}])}},_=>{_.O(0,[636,593,792],()=>_(_.s=5122)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[893],{260:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>k});var o=n(5321),a=n(7109),r=n(9018),i=n(7807),c=n(1702),s=n(5114),l=n(6171),d=n(3442),u=n(7576),p=n(8787),h=n(4849),m=n(8584),y=n(5258),f=n(3455),g=n(9650),x=n(8209),w=n(486),j=n(3374),S=n(8383),v=n(6619),C=n(3998),b=n(6578),T=n(5551);let A={project_fact:"项目知识",user_preference:"用户偏好",feedback:"历史纠偏",pattern:"解决方案"},N={high:"red",medium:"orange",low:"default"};function k(){let e=(0,r.Vr)(),{message:t}=i.A.useApp(),[n,k]=(0,a.useState)(!0),[O,P]=(0,a.useState)([]),[R,_]=(0,a.useState)({count:0,totalBytes:0}),[E,I]=(0,a.useState)(""),[U,z]=(0,a.useState)(!1),[D,J]=(0,a.useState)(null),[B,L]=(0,a.useState)(""),[M,H]=(0,a.useState)(""),[W,F]=(0,a.useState)(!1),q=async n=>{k(!0);try{let[e,t]=await Promise.all([(0,b.hn)("long_term",n),(0,b.p)("long_term")]);P(e),_(t)}catch(n){t.error(e("common.error"))}finally{k(!1)}};(0,a.useEffect)(()=>{q()},[]);let K=async n=>{try{await (0,b.xw)(n),t.success(e("common.success")),await q(E)}catch(n){t.error(e("common.error"))}},Q=async()=>{try{await (0,b.PH)("long_term"),t.success(e("common.success")),await q(E)}catch(n){t.error(e("common.error"))}},V=async()=>{try{await (0,b.E)("long_term"),t.success(e("common.success")),await q(E)}catch(n){t.error(e("common.error"))}},X=async()=>{if(D&&B.trim()){F(!0);try{await (0,b.zo)(D.id,{content:B.trim(),context:M||void 0}),t.success(e("common.success")),z(!1),await q(E)}catch(n){t.error(e("common.error"))}finally{F(!1)}}},Z=[{title:e("models.modelName"),dataIndex:"title",ellipsis:!0,width:180},{title:"类型",dataIndex:"type",width:90,render:e=>(0,o.jsx)(c.A,{children:A[e]||e})},{title:e("context.content"),dataIndex:"content",ellipsis:!0},{title:e("context.importance"),dataIndex:"importance",width:80,render:e=>(0,o.jsx)(c.A,{color:N[e]||"default",children:"high"===e?"高":"medium"===e?"中":"低"})},{title:e("context.source"),dataIndex:"source",width:100,ellipsis:!0},{title:e("context.updatedAt"),dataIndex:"updated_at",width:140,render:e=>e?new Date(e).toLocaleString():"-"},{title:e("common.edit"),width:100,render:(t,n)=>(0,o.jsxs)("span",{style:{display:"flex",gap:4},children:[(0,o.jsx)(s.Ay,{size:"small",type:"text",icon:(0,o.jsx)(g.A,{}),onClick:()=>{J(n),L(n.content),H(""),z(!0)}}),(0,o.jsx)(l.A,{title:e("models.deleteProviderConfirm"),onConfirm:()=>{K(n.id)},children:(0,o.jsx)(s.Ay,{size:"small",type:"text",danger:!0,icon:(0,o.jsx)(x.A,{})})})]})}];return(0,o.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("h1",{className:"pageTitle",children:e("nav.longTermContext")}),(0,o.jsx)("p",{className:"pageDesc",children:e("context.longTermDesc")})]}),(0,o.jsxs)(d.A,{wrap:!0,children:[(0,o.jsx)(u.A,{prefix:(0,o.jsx)(w.A,{}),placeholder:e("common.search"),value:E,onChange:e=>I(e.target.value),onPressEnter:()=>{q(E)},allowClear:!0,style:{width:240}}),(0,o.jsx)(s.Ay,{icon:(0,o.jsx)(j.A,{}),onClick:()=>{Q()},children:"压缩"}),(0,o.jsx)(l.A,{title:"确定清除长期上下文吗?",onConfirm:()=>{V()},children:(0,o.jsx)(s.Ay,{danger:!0,icon:(0,o.jsx)(S.A,{}),children:"清除"})})]})]}),(0,o.jsx)(p.A,{size:"small",children:(0,o.jsx)(h.A,{title:"总上下文大小",value:(0,T.z3)(R.totalBytes),prefix:(0,o.jsx)(v.A,{}),suffix:" / ".concat(R.count," 条")})}),(0,o.jsxs)(p.A,{size:"small",children:[(0,o.jsxs)("div",{style:{marginBottom:12,color:"var(--colorTextSecondary)",fontSize:13},children:[(0,o.jsx)(C.A,{})," ",e("context.longTermSource")]}),(0,o.jsx)(m.A,{rowKey:"id",columns:Z,dataSource:O,loading:n,size:"small",pagination:{pageSize:15}})]}),(0,o.jsx)(y.A,{title:e("models.editModel"),open:U,onCancel:()=>z(!1),onOk:()=>{X()},confirmLoading:W,children:(0,o.jsxs)(f.A,{layout:"vertical",size:"middle",children:[(0,o.jsx)(f.A.Item,{label:e("context.content"),children:(0,o.jsx)(u.A.TextArea,{rows:6,value:B,onChange:e=>L(e.target.value)})}),(0,o.jsx)(f.A.Item,{label:e("context.source"),children:(0,o.jsx)(u.A,{value:M,onChange:e=>H(e.target.value),placeholder:e("context.sourceHint")})})]})})]})}},5551:(e,t,n)=>{"use strict";function o(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),n=e/Math.pow(1024,t);return"".concat(n.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 n=Math.floor(Math.floor((Date.now()-e)/1e3)/60),o=Math.floor(n/60),a=Math.floor(o/24);return a>30?new Date(e).toLocaleDateString(t):"en-US"===t?a>0?"".concat(a,"d ago"):o>0?"".concat(o,"h ago"):n>0?"".concat(n,"m ago"):"Just now":a>0?"".concat(a," 天前"):o>0?"".concat(o," 小时前"):n>0?"".concat(n," 分钟前"):"刚刚"}n.d(t,{Jm:()=>c,fw:()=>a,z3:()=>o});let r={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},i={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function c(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===n?i:r)[e])?t:e}},6382:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/context/long-term",function(){return n(260)}])},6578:(e,t,n)=>{"use strict";async function o(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.text(),t=e||"HTTP ".concat(n.status);try{let n=JSON.parse(e);t=n.error||n.message||t}catch(e){}throw Error(t)}return n.json()}async function a(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return o("/api/kb/stats".concat(t))}async function r(e){var t,n;let a=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&a.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&a.set("category",e.category),(null==e?void 0:e.page)&&a.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&a.set("limit",String(null!=(n=e.limit)?n:50)),o("/api/kb/files?".concat(a))}async function i(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),o("/api/kb/files/detail?".concat(n))}async function c(e,t){return o("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function s(e,t,n){return o("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function l(e,t,n){let a=await new Promise((t,n)=>{let o=new FileReader;o.onload=()=>{let e=o.result,n=e.indexOf(",");t(n>=0?e.slice(n+1):e)},o.onerror=n,o.readAsDataURL(e)});return o("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,fileData:a,projectRoot:t,uploadId:n})})}async function d(e){return o("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function u(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),o("/api/kb/operations?".concat(t))}async function p(e,t){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function h(e){return o("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function m(){return o("/api/kb/features")}async function y(e,t){var n,a,r,i,c;let s=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&s.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&s.set("category",t.category),(null==t?void 0:t.limit)&&s.set("limit",String(null!=(c=t.limit)?c:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&s.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(a=t.weights)?void 0:a.vector)!=null&&s.set("vectorWeight",String(t.weights.vector)),(null==t||null==(r=t.weights)?void 0:r.rewrite)!=null&&s.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(i=t.weights)?void 0:i.hybridBonus)!=null&&s.set("hybridBonus",String(t.weights.hybridBonus)),o("/api/kb/search?".concat(s))}async function f(){return o("/api/config/providers")}async function g(e,t){return o("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function x(e){return o("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function w(){return o("/api/config/models")}async function j(e){return o("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function S(e){return o("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function v(){return o("/api/system/stats")}async function C(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return o("/api/context".concat(n))}async function b(e){return o("/api/context?type=".concat(e,"&stats=1"))}async function T(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function A(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function N(e){return o("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function k(e,t){return o("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function O(e){return o("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Bh:()=>O,E:()=>A,FC:()=>v,H1:()=>h,HC:()=>c,HT:()=>r,PH:()=>T,QT:()=>d,Qx:()=>u,VW:()=>m,W2:()=>y,Z3:()=>f,_m:()=>g,aP:()=>j,bZ:()=>S,h1:()=>x,hc:()=>a,hn:()=>C,p:()=>b,pF:()=>l,tn:()=>s,xC:()=>i,xq:()=>p,xw:()=>N,zo:()=>k,zr:()=>w})}},e=>{e.O(0,[260,544,425,576,227,740,584,492,455,257,636,593,792],()=>e(e.s=6382)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{1162:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>N});var o=n(5321),a=n(7109),r=n(9018),i=n(7807),c=n(1702),s=n(5114),l=n(6171),d=n(3442),u=n(7576),h=n(8787),p=n(4849),m=n(8584),y=n(5258),f=n(3455),g=n(9650),x=n(8209),w=n(486),j=n(3374),S=n(8383),v=n(6619),C=n(3998),T=n(6578),b=n(5551);let A={high:"red",medium:"orange",low:"default"};function N(){let e=(0,r.Vr)(),{message:t}=i.A.useApp(),[n,N]=(0,a.useState)(!0),[O,k]=(0,a.useState)([]),[P,R]=(0,a.useState)({count:0,totalBytes:0}),[E,_]=(0,a.useState)(""),[U,z]=(0,a.useState)(!1),[D,I]=(0,a.useState)(null),[J,B]=(0,a.useState)(""),[L,M]=(0,a.useState)(""),[H,W]=(0,a.useState)(!1),F=async n=>{N(!0);try{let[e,t]=await Promise.all([(0,T.hn)("short_term",n),(0,T.p)("short_term")]);k(e),R(t)}catch(n){t.error(e("common.error"))}finally{N(!1)}};(0,a.useEffect)(()=>{F()},[]);let q=async n=>{try{await (0,T.xw)(n),t.success(e("common.success")),await F(E)}catch(n){t.error(e("common.error"))}},K=async()=>{try{await (0,T.PH)("short_term"),t.success(e("common.success")),await F(E)}catch(n){t.error(e("common.error"))}},Q=async()=>{try{await (0,T.E)("short_term"),t.success(e("common.success")),await F(E)}catch(n){t.error(e("common.error"))}},V=async()=>{if(D&&J.trim()){W(!0);try{await (0,T.zo)(D.id,{content:J.trim(),context:L||void 0}),t.success(e("common.success")),z(!1),await F(E)}catch(n){t.error(e("common.error"))}finally{W(!1)}}},X=[{title:e("models.modelName"),dataIndex:"title",ellipsis:!0,width:180},{title:e("context.importance"),dataIndex:"importance",width:80,render:e=>(0,o.jsx)(c.A,{color:A[e]||"default",children:"high"===e?"高":"medium"===e?"中":"低"})},{title:e("context.content"),dataIndex:"content",ellipsis:!0},{title:e("context.source"),dataIndex:"source",width:120,ellipsis:!0},{title:e("context.updatedAt"),dataIndex:"updated_at",width:140,render:e=>e?new Date(e).toLocaleString():"-"},{title:e("common.edit"),width:100,render:(t,n)=>(0,o.jsxs)("span",{style:{display:"flex",gap:4},children:[(0,o.jsx)(s.Ay,{size:"small",type:"text",icon:(0,o.jsx)(g.A,{}),onClick:()=>{I(n),B(n.content),M(""),z(!0)}}),(0,o.jsx)(l.A,{title:e("models.deleteProviderConfirm"),onConfirm:()=>{q(n.id)},children:(0,o.jsx)(s.Ay,{size:"small",type:"text",danger:!0,icon:(0,o.jsx)(x.A,{})})})]})}];return(0,o.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("h1",{className:"pageTitle",children:e("nav.shortTermContext")}),(0,o.jsx)("p",{className:"pageDesc",children:e("context.shortTermDesc")})]}),(0,o.jsxs)(d.A,{wrap:!0,children:[(0,o.jsx)(u.A,{prefix:(0,o.jsx)(w.A,{}),placeholder:e("common.search"),value:E,onChange:e=>_(e.target.value),onPressEnter:()=>{F(E)},allowClear:!0,style:{width:240}}),(0,o.jsx)(s.Ay,{icon:(0,o.jsx)(j.A,{}),onClick:()=>{K()},children:"压缩"}),(0,o.jsx)(l.A,{title:"确定清除短期上下文吗?",onConfirm:()=>{Q()},children:(0,o.jsx)(s.Ay,{danger:!0,icon:(0,o.jsx)(S.A,{}),children:"清除"})})]})]}),(0,o.jsx)(h.A,{size:"small",children:(0,o.jsx)(p.A,{title:"总上下文大小",value:(0,b.z3)(P.totalBytes),prefix:(0,o.jsx)(v.A,{}),suffix:" / ".concat(P.count," 条")})}),(0,o.jsxs)(h.A,{size:"small",children:[(0,o.jsxs)("div",{style:{marginBottom:12,color:"var(--colorTextSecondary)",fontSize:13},children:[(0,o.jsx)(C.A,{})," ",e("context.shortTermSource")]}),(0,o.jsx)(m.A,{rowKey:"id",columns:X,dataSource:O,loading:n,size:"small",pagination:{pageSize:15}})]}),(0,o.jsx)(y.A,{title:e("models.editModel"),open:U,onCancel:()=>z(!1),onOk:()=>{V()},confirmLoading:H,children:(0,o.jsxs)(f.A,{layout:"vertical",size:"middle",children:[(0,o.jsx)(f.A.Item,{label:e("context.content"),children:(0,o.jsx)(u.A.TextArea,{rows:6,value:J,onChange:e=>B(e.target.value)})}),(0,o.jsx)(f.A.Item,{label:e("context.source"),children:(0,o.jsx)(u.A,{value:L,onChange:e=>M(e.target.value),placeholder:e("context.sourceHint")})})]})})]})}},5551:(e,t,n)=>{"use strict";function o(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),n=e/Math.pow(1024,t);return"".concat(n.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 n=Math.floor(Math.floor((Date.now()-e)/1e3)/60),o=Math.floor(n/60),a=Math.floor(o/24);return a>30?new Date(e).toLocaleDateString(t):"en-US"===t?a>0?"".concat(a,"d ago"):o>0?"".concat(o,"h ago"):n>0?"".concat(n,"m ago"):"Just now":a>0?"".concat(a," 天前"):o>0?"".concat(o," 小时前"):n>0?"".concat(n," 分钟前"):"刚刚"}n.d(t,{Jm:()=>c,fw:()=>a,z3:()=>o});let r={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},i={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function c(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===n?i:r)[e])?t:e}},6578:(e,t,n)=>{"use strict";async function o(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.text(),t=e||"HTTP ".concat(n.status);try{let n=JSON.parse(e);t=n.error||n.message||t}catch(e){}throw Error(t)}return n.json()}async function a(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return o("/api/kb/stats".concat(t))}async function r(e){var t,n;let a=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&a.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&a.set("category",e.category),(null==e?void 0:e.page)&&a.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&a.set("limit",String(null!=(n=e.limit)?n:50)),o("/api/kb/files?".concat(a))}async function i(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),o("/api/kb/files/detail?".concat(n))}async function c(e,t){return o("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function s(e,t,n){return o("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function l(e,t,n){let a=await new Promise((t,n)=>{let o=new FileReader;o.onload=()=>{let e=o.result,n=e.indexOf(",");t(n>=0?e.slice(n+1):e)},o.onerror=n,o.readAsDataURL(e)});return o("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,fileData:a,projectRoot:t,uploadId:n})})}async function d(e){return o("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function u(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),o("/api/kb/operations?".concat(t))}async function h(e,t){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function p(e){return o("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function m(){return o("/api/kb/features")}async function y(e,t){var n,a,r,i,c;let s=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&s.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&s.set("category",t.category),(null==t?void 0:t.limit)&&s.set("limit",String(null!=(c=t.limit)?c:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&s.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(a=t.weights)?void 0:a.vector)!=null&&s.set("vectorWeight",String(t.weights.vector)),(null==t||null==(r=t.weights)?void 0:r.rewrite)!=null&&s.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(i=t.weights)?void 0:i.hybridBonus)!=null&&s.set("hybridBonus",String(t.weights.hybridBonus)),o("/api/kb/search?".concat(s))}async function f(){return o("/api/config/providers")}async function g(e,t){return o("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function x(e){return o("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function w(){return o("/api/config/models")}async function j(e){return o("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function S(e){return o("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function v(){return o("/api/system/stats")}async function C(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return o("/api/context".concat(n))}async function T(e){return o("/api/context?type=".concat(e,"&stats=1"))}async function b(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function A(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function N(e){return o("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function O(e,t){return o("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function k(e){return o("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Bh:()=>k,E:()=>A,FC:()=>v,H1:()=>p,HC:()=>c,HT:()=>r,PH:()=>b,QT:()=>d,Qx:()=>u,VW:()=>m,W2:()=>y,Z3:()=>f,_m:()=>g,aP:()=>j,bZ:()=>S,h1:()=>x,hc:()=>a,hn:()=>C,p:()=>T,pF:()=>l,tn:()=>s,xC:()=>i,xq:()=>h,xw:()=>N,zo:()=>O,zr:()=>w})},9164:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/context/short-term",function(){return n(1162)}])}},e=>{e.O(0,[260,544,425,576,227,740,584,492,455,257,636,593,792],()=>e(e.s=9164)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[332],{5766:(e,u,_)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return _(6933)}])},6109:(e,u,_)=>{e.exports=_(7212)},6933:(e,u,_)=>{"use strict";_.r(u),_.d(u,{default:()=>t});var n=_(7109),r=_(6109);function t(){let e=(0,r.useRouter)();return(0,n.useEffect)(()=>{e.replace("/overview")},[e]),null}}},e=>{e.O(0,[636,593,792],()=>e(e.s=5766)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[309],{4569: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",statusEmpty:"style_statusEmpty__8LWzH",statusList:"style_statusList__FpNgC",statusItem:"style_statusItem__uzO80",statusHeader:"style_statusHeader__o9q_b",statusDesc:"style_statusDesc__XiWFa",statusPath:"style_statusPath__Udxvv",statusMeta:"style_statusMeta__XukHt",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"}},5551:(e,t,n)=>{"use strict";function a(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),n=e/Math.pow(1024,t);return"".concat(n.toFixed(+(0!==t))," ").concat(["B","KB","MB","GB","TB"][t])}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===t?"Never":"从未";let n=Math.floor(Math.floor((Date.now()-e)/1e3)/60),a=Math.floor(n/60),l=Math.floor(a/24);return l>30?new Date(e).toLocaleDateString(t):"en-US"===t?l>0?"".concat(l,"d ago"):a>0?"".concat(a,"h ago"):n>0?"".concat(n,"m ago"):"Just now":l>0?"".concat(l," 天前"):a>0?"".concat(a," 小时前"):n>0?"".concat(n," 分钟前"):"刚刚"}n.d(t,{Jm:()=>s,fw:()=>l,z3:()=>a});let r={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},i={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function s(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===n?i:r)[e])?t:e}},5819:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>z});var a=n(5321),l=n(7109),r=n(1873),i=n.n(r),s=n(3220),o=n.n(s),c=n(6109),d=n(8399),u=n(6506),h=n(3442),p=n(1702),m=n(9137),y=n(8584),g=n(8787),f=n(6985),x=n(3657),j=n(4253),w=n(2700),v=n(5114),S=n(8569),A=n(7576),C=n(6578),k=n(5551),b=n(4569),_=n.n(b);let{Paragraph:P}=d.A;function N(e){if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}function R(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).slice(0,30):[]}function I(e,t){let n=t.trim()?[t.trim(),...t.split(/[\s,,。;;::、]+/u)].filter(Boolean).sort((e,t)=>t.length-e.length):[];if(0===n.length)return e;let l=RegExp("(".concat(n.map(e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")).join("|"),")"),"giu");return e.split(l).map((e,t)=>n.some(t=>t.toLowerCase()===e.toLowerCase())?(0,a.jsx)("mark",{children:e},t):e)}function O(e,t,n){return null==t||""===t||Array.isArray(t)&&0===t.length?null:(0,a.jsx)(u.A.Item,{label:e,children:Array.isArray(t)?(0,a.jsx)(h.A,{wrap:!0,children:t.map(e=>(0,a.jsx)(p.A,{className:"cursor-pointer",onClick:()=>null==n?void 0:n(String(e)),children:String(e)},String(e)))}):String(t)})}function T(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"value";return e.map((e,n)=>({key:"".concat(t,"-").concat(n),name:e}))}function z(){var e,t,n,r,s,d,b,z,L,D;let J=(0,c.useRouter)(),E="string"==typeof J.query.relativePath?J.query.relativePath:"",[M,U]=(0,l.useState)(),[F,B]=(0,l.useState)(!1),[H,K]=(0,l.useState)(!1),[W,V]=(0,l.useState)(""),[X,q]=(0,l.useState)([]);(0,l.useEffect)(()=>{E&&(B(!0),(0,C.xC)(E).then(U).finally(()=>B(!1)))},[E]);let $=(0,l.useMemo)(()=>(function(e){let t=N(null==e?void 0:e.file.metadataJson);return"object"==typeof t.extraction&&t.extraction?t.extraction:t})(M),[M]),G=R($.layerNames);(0,l.useEffect)(()=>{q(G)},[null==M?void 0:M.file.relativePath,G.join("|")]);let Z=W.trim().toLowerCase(),Q=(0,l.useMemo)(()=>{var e;return M&&Z?M.chunks.filter(e=>{let t=N(e.metadataJson);return[e.content,e.sectionTitle,t.rowRange,t.chunkKind,t.parentId,JSON.stringify(t)].some(e=>String(null!=e?e:"").toLowerCase().includes(Z))}):null!=(e=null==M?void 0:M.chunks)?e:[]},[M,Z]),Y=(0,l.useMemo)(()=>{var e;return M&&Z?M.parents.filter(e=>[e.content,e.sectionTitle,e.parentId,e.metadataJson].some(e=>String(null!=e?e:"").toLowerCase().includes(Z))):null!=(e=null==M?void 0:M.parents)?e:[]},[M,Z]),ee=async()=>{if(E){K(!0);try{let e=await (0,C.HC)(E);e.detail&&U(e.detail),m.Ay.success("文件索引已重建")}finally{K(!1)}}},et=async e=>{e&&(await navigator.clipboard.writeText(e),m.Ay.success("已复制"))},en=async e=>{E&&(await (0,C.tn)(E,e),m.Ay.success("file"===e?"已请求打开文件":"已请求打开目录"))},ea=[{key:"table",label:"表格",children:(0,a.jsxs)(h.A,{direction:"vertical",className:"w-full",children:[(0,a.jsxs)(u.A,{size:"small",column:2,bordered:!0,children:[O("Sheet",R($.sheetNames),V),O("表头",R($.columnNames),V),O("行数",$.rowCount),O("列数",$.columnCount),O("公式数",$.formulaCount),O("合并单元格",$.mergeCount)]}),(0,a.jsx)(y.A,{size:"small",pagination:!1,rowKey:"key",dataSource:T(R($.columnNames),"column"),columns:[{title:"列名",dataIndex:"name",render:e=>(0,a.jsx)(p.A,{className:"cursor-pointer",onClick:()=>V(String(e)),children:String(e)})}]}),(0,a.jsx)(y.A,{size:"small",pagination:!1,rowKey:"key",dataSource:(null!=(b=null==M?void 0:M.chunks)?b:[]).map(e=>N(e.metadataJson).rowRange).filter(e=>"string"==typeof e).map((e,t)=>({key:"row-".concat(t),name:e})),columns:[{title:"行范围",dataIndex:"name",render:e=>(0,a.jsxs)(p.A,{color:"gold",className:"cursor-pointer",onClick:()=>V(String(e)),children:["行 ",String(e)]})}]}),(0,a.jsx)(y.A,{size:"small",rowKey:"key",dataSource:(null!=(z=null==M?void 0:M.chunks)?z:[]).flatMap(e=>e.content.split(/\r?\n/u)).map(e=>e.trim()).filter(e=>e.includes("|")).slice(0,80).map((e,t)=>({key:"grid-".concat(t),cells:e.split("|").map(e=>e.trim()).filter(Boolean)})),pagination:{pageSize:10},columns:[{title:"表格网格预览",dataIndex:"cells",render:e=>(0,a.jsx)(h.A,{wrap:!0,children:e.map((e,t)=>(0,a.jsx)(p.A,{children:e},"".concat(e,"-").concat(t)))})}]})]})},{key:"drawing",label:"图纸",children:(0,a.jsxs)(h.A,{direction:"vertical",className:"w-full",children:[(0,a.jsxs)(u.A,{size:"small",column:2,bordered:!0,children:[O("图层",R($.layerNames),V),O("块/符号",R($.blockNames),V),O("实体类型",R($.entityTypes),V),O("产品/零件",R($.productNames),V),O("材料",R($.materialNames),V),O("实体名称",R($.entityNames),V)]}),G.length>0?(0,a.jsxs)(g.A,{size:"small",title:"图层开关 / 图纸预览",children:[(0,a.jsx)(f.A.Group,{value:X,options:G.map(e=>({label:e,value:e})),onChange:e=>q(e.map(String))}),(0,a.jsx)("div",{className:_().drawingPreview,children:X.map(e=>(0,a.jsx)(p.A,{color:"blue",children:e},e))})]}):null,(0,a.jsx)(y.A,{size:"small",pagination:!1,rowKey:"key",dataSource:[...T(G,"layer").map(e=>({...e,type:"图层"})),...T(R($.entityTypes),"entity").map(e=>({...e,type:"实体类型"})),...T(R($.blockNames),"block").map(e=>({...e,type:"块/符号"}))],columns:[{title:"类型",dataIndex:"type",width:120},{title:"名称",dataIndex:"name",render:e=>(0,a.jsx)(p.A,{className:"cursor-pointer",onClick:()=>V(String(e)),children:String(e)})}]})]})},{key:"data",label:"数据路径",children:(0,a.jsxs)(h.A,{direction:"vertical",className:"w-full",children:[R($.dataPaths).length>0?(0,a.jsx)(x.A,{defaultExpandAll:!0,treeData:function(e){let t=new Map;for(let n of e){let e=t;for(let t of n.replace(/\[(\d+)\]/gu,".$1").split(".").filter(Boolean))e.has(t)||e.set(t,new Map),e=e.get(t)}let n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return[...e.entries()].map(e=>{let[a,l]=e;return{title:a,key:t?"".concat(t,".").concat(a):a,children:n(l,t?"".concat(t,".").concat(a):a)}})};return n(t)}(R($.dataPaths)),onSelect:e=>{var t;return V(String(null!=(t=e[0])?t:""))}}):(0,a.jsx)(j.A,{description:"暂无数据路径"}),(0,a.jsx)(y.A,{size:"small",rowKey:"key",dataSource:(null!=(L=null==M?void 0:M.chunks)?L:[]).flatMap(e=>e.content.split(/\r?\n/u)).map(e=>e.trim()).filter(e=>/^[\w.[\]-]+\s*[:=]/u.test(e)).slice(0,200).map((e,t)=>{var n,a,l,r;let i=/^([^:=]+)\s*[:=]\s*(.*)$/u.exec(e);return{key:"data-".concat(t),path:null!=(l=null==i||null==(n=i[1])?void 0:n.trim())?l:e,value:null!=(r=null==i||null==(a=i[2])?void 0:a.trim())?r:""}}),pagination:{pageSize:20},columns:[{title:"Path",dataIndex:"path",width:260,render:e=>(0,a.jsx)(p.A,{className:"cursor-pointer",onClick:()=>V(String(e)),children:String(e)})},{title:"Value",dataIndex:"value",render:e=>(0,a.jsx)("span",{className:"break-all",children:String(e)})}]})]})},{key:"ocr",label:"OCR/PDF",children:(0,a.jsxs)(h.A,{direction:"vertical",className:"w-full",children:[(0,a.jsxs)(u.A,{size:"small",column:2,bordered:!0,children:[O("OCR 建议",$.ocrRecommended),O("OCR 原因",$.ocrReason),O("OCR 引擎",$.ocrProvider),O("OCR 语言",$.ocrLanguages),O("OCR 文本长度",$.ocrTextLength),O("PDF 页面 OCR 支持",$.pdfPageOcrSupported),O("PDF OCR 页数",$.ocrPageCount),O("PDF OCR 页数上限",$.pdfOcrPageLimit),O("PDF 渲染器",$.pdfRenderer)]}),(null==M?void 0:M.file.format)==="pdf"?(0,a.jsx)("div",{className:_().pdfPreviewStrip,children:Array.from({length:Math.min(Number(null!=(e=$.ocrPageCount)?e:1)||1,6)},(e,t)=>(0,a.jsx)(i(),{width:220,height:320,src:"/api/kb/files/preview-pdf-page?relativePath=".concat(encodeURIComponent(M.file.relativePath),"&page=").concat(t+1),alt:"PDF 第 ".concat(t+1," 页"),unoptimized:!0},t))}):null,(0,a.jsx)(y.A,{size:"small",rowKey:"key",dataSource:(null!=(D=null==M?void 0:M.chunks)?D:[]).map(e=>e.content).join("\n\n").split(/PDF OCR 第\s*(\d+)\s*页[::]/u).slice(1).reduce((e,t,n,a)=>{var l,r,i;return n%2==0&&e.push({key:"page-".concat(t),page:t,text:null!=(i=null==(r=a[n+1])||null==(l=r.split(/PDF OCR 第\s*\d+\s*页[::]/u)[0])?void 0:l.trim())?i:""}),e},[]),pagination:{pageSize:10},columns:[{title:"页码",dataIndex:"page",width:90},{title:"OCR 文本",dataIndex:"text",render:e=>(0,a.jsx)(P,{ellipsis:{rows:4,expandable:!0,symbol:"展开"},children:String(e)})}]})]})}],el=[{title:"#",dataIndex:"chunkIndex",width:70,render:e=>String(e)},{title:"类型",width:110,render:(e,t)=>{var n;return(0,a.jsx)(p.A,{children:String(null!=(n=N(t.metadataJson).chunkKind)?n:t.category)})}},{title:"章节/范围",width:220,render:(e,t)=>{let n=N(t.metadataJson),l="string"==typeof n.rowRange?n.rowRange:void 0;return(0,a.jsxs)(h.A,{wrap:!0,children:[t.sectionTitle?(0,a.jsx)(p.A,{color:"cyan",children:t.sectionTitle}):null,l?(0,a.jsxs)(p.A,{color:"gold",children:["行 ",l]}):null]})}},{title:"Token",dataIndex:"tokenCount",width:90},{title:"内容",render:(e,t)=>(0,a.jsx)(P,{ellipsis:{rows:3,expandable:!0,symbol:"展开"},className:_().searchContent,children:I(t.content,W)})}],er=[{title:"Parent",dataIndex:"parentId",width:260,render:e=>(0,a.jsx)("span",{className:"break-all",children:e})},{title:"切片数",dataIndex:"chunkCount",width:90},{title:"章节",dataIndex:"sectionTitle",width:220},{title:"内容",render:(e,t)=>(0,a.jsx)(P,{ellipsis:{rows:3,expandable:!0,symbol:"展开"},className:_().searchContent,children:I(t.content,W)})}];return F?(0,a.jsx)(w.A,{}):M?(0,a.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(o(),{href:"/knowledge/files",children:"返回文件列表"}),(0,a.jsxs)("div",{className:_().searchResultHeader,children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"pageTitle",children:"文件详情"}),(0,a.jsx)("p",{className:"pageDesc",children:"查看解析结果、图纸/表格/数据结构化字段、parent chunk 和 child chunk。"})]}),(0,a.jsxs)(h.A,{children:[(0,a.jsx)(v.Ay,{onClick:()=>{et(null==M?void 0:M.absolutePath)},children:"复制原文件路径"}),(0,a.jsx)(v.Ay,{onClick:()=>{et(null==M?void 0:M.directory)},children:"复制所在目录"}),(0,a.jsx)(v.Ay,{onClick:()=>{en("file")},children:"打开文件"}),(0,a.jsx)(v.Ay,{onClick:()=>{en("directory")},children:"打开目录"}),"pdf"===M.file.format?(0,a.jsx)(v.Ay,{loading:H,onClick:()=>{ee()},children:"重新 OCR"}):null,(0,a.jsx)(v.Ay,{type:"primary",loading:H,onClick:()=>{ee()},children:"重建该文件索引"})]})]})]}),(0,a.jsx)(g.A,{size:"small",title:"基础信息",children:(0,a.jsxs)(u.A,{size:"small",column:2,bordered:!0,children:[(0,a.jsx)(u.A.Item,{label:"路径",children:M.file.relativePath}),(0,a.jsx)(u.A.Item,{label:"原文件",children:null!=(t=M.absolutePath)?t:"-"}),(0,a.jsx)(u.A.Item,{label:"所在目录",children:null!=(n=M.directory)?n:"-"}),(0,a.jsxs)(u.A.Item,{label:"分类",children:[(0,a.jsx)(p.A,{children:(0,k.Jm)(M.file.category)})," ",(0,a.jsx)(p.A,{children:M.file.format})]}),(0,a.jsx)(u.A.Item,{label:"大小",children:(0,k.z3)(M.file.fileSize)}),(0,a.jsx)(u.A.Item,{label:"切片数",children:M.file.chunkCount}),(0,a.jsx)(u.A.Item,{label:"状态",children:M.file.status}),(0,a.jsx)(u.A.Item,{label:"解析模式",children:String(null!=(r=$.extractionMode)?r:"-")}),(0,a.jsx)(u.A.Item,{label:"覆盖范围",children:String(null!=(s=$.contentCoverage)?s:"-")}),(0,a.jsx)(u.A.Item,{label:"正文长度",children:String(null!=(d=$.textLength)?d:"-")})]})}),(0,a.jsx)(g.A,{size:"small",title:"结构化信息",children:(0,a.jsx)(S.A,{items:ea})}),(0,a.jsx)(g.A,{size:"small",title:"详情筛选",children:(0,a.jsxs)(h.A,{direction:"vertical",className:"w-full",children:[(0,a.jsx)(A.A,{allowClear:!0,value:W,onChange:e=>V(e.target.value),placeholder:"筛选 rowRange、图层、实体、data path、section、chunk 内容"}),W?(0,a.jsxs)(h.A,{wrap:!0,children:[(0,a.jsxs)(p.A,{color:"blue",children:["Parent 命中 ",Y.length]}),(0,a.jsxs)(p.A,{color:"green",children:["Child 命中 ",Q.length]}),(0,a.jsxs)(p.A,{color:"purple",children:["筛选词 ",W]})]}):null]})}),(0,a.jsx)(g.A,{size:"small",title:"Parent Chunks (".concat(Y.length,"/").concat(M.parents.length,")"),children:(0,a.jsx)(y.A,{rowKey:"id",columns:er,dataSource:Y,pagination:{pageSize:10},size:"small"})}),(0,a.jsx)(g.A,{size:"small",title:"Child Chunks (".concat(Q.length,"/").concat(M.chunks.length,")"),children:(0,a.jsx)(y.A,{rowKey:"id",columns:el,dataSource:Q,pagination:{pageSize:20},size:"small"})})]}):(0,a.jsx)(j.A,{description:"请选择文件"})}},6578:(e,t,n)=>{"use strict";async function a(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.text(),t=e||"HTTP ".concat(n.status);try{let n=JSON.parse(e);t=n.error||n.message||t}catch(e){}throw Error(t)}return n.json()}async function l(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return a("/api/kb/stats".concat(t))}async function r(e){var t,n;let l=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&l.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&l.set("category",e.category),(null==e?void 0:e.page)&&l.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&l.set("limit",String(null!=(n=e.limit)?n:50)),a("/api/kb/files?".concat(l))}async function i(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),a("/api/kb/files/detail?".concat(n))}async function s(e,t){return a("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function o(e,t,n){return a("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function c(e,t,n){let l=await new Promise((t,n)=>{let a=new FileReader;a.onload=()=>{let e=a.result,n=e.indexOf(",");t(n>=0?e.slice(n+1):e)},a.onerror=n,a.readAsDataURL(e)});return a("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,fileData:l,projectRoot:t,uploadId:n})})}async function d(e){return a("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function u(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),a("/api/kb/operations?".concat(t))}async function h(e,t){return a("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function p(e){return a("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function m(){return a("/api/kb/features")}async function y(e,t){var n,l,r,i,s;let o=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&o.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&o.set("category",t.category),(null==t?void 0:t.limit)&&o.set("limit",String(null!=(s=t.limit)?s:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&o.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(l=t.weights)?void 0:l.vector)!=null&&o.set("vectorWeight",String(t.weights.vector)),(null==t||null==(r=t.weights)?void 0:r.rewrite)!=null&&o.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(i=t.weights)?void 0:i.hybridBonus)!=null&&o.set("hybridBonus",String(t.weights.hybridBonus)),a("/api/kb/search?".concat(o))}async function g(){return a("/api/config/providers")}async function f(e,t){return a("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function x(e){return a("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function j(){return a("/api/config/models")}async function w(e){return a("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function v(e){return a("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function S(){return a("/api/system/stats")}async function A(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return a("/api/context".concat(n))}async function C(e){return a("/api/context?type=".concat(e,"&stats=1"))}async function k(e){return a("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function b(e){return a("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function _(e){return a("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function P(e,t){return a("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function N(e){return a("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Bh:()=>N,E:()=>b,FC:()=>S,H1:()=>p,HC:()=>s,HT:()=>r,PH:()=>k,QT:()=>d,Qx:()=>u,VW:()=>m,W2:()=>y,Z3:()=>g,_m:()=>f,aP:()=>w,bZ:()=>v,h1:()=>x,hc:()=>l,hn:()=>A,p:()=>C,pF:()=>c,tn:()=>o,xC:()=>i,xq:()=>h,xw:()=>_,zo:()=>P,zr:()=>j})},7690:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/file-detail",function(){return n(5819)}])}},e=>{e.O(0,[260,544,425,576,227,740,584,840,517,636,593,792],()=>e(e.s=7690)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[28],{426:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/files",function(){return a(5505)}])},4569: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",statusEmpty:"style_statusEmpty__8LWzH",statusList:"style_statusList__FpNgC",statusItem:"style_statusItem__uzO80",statusHeader:"style_statusHeader__o9q_b",statusDesc:"style_statusDesc__XiWFa",statusPath:"style_statusPath__Udxvv",statusMeta:"style_statusMeta__XukHt",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"}},5505:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>T});var n=a(5321),s=a(7109),r=a(9018),i=a(3220),o=a.n(i),c=a(4986),l=a(7807),u=a(5258),d=a(3442),p=a(1702),h=a(5114),y=a(7576),f=a(7271),g=a(1053),m=a(8787),x=a(9605),w=a(8584),v=a(6631),_=a(8209),S=a(486),j=a(5171),C=a(6578),b=a(5551),k=a(4569),P=a.n(k);let N=["document","spreadsheet","image","cad","code","data","web","diagram","archive","other"];function T(){let e=(0,r.Vr)("knowledge"),{locale:t}=(0,r.x_)(),{message:a}=l.A.useApp(),i=(0,c.useSearchParams)().get("category")||"",[k,T]=(0,s.useState)([]),[L,A]=(0,s.useState)(!0),[R,I]=(0,s.useState)(""),[O,M]=(0,s.useState)(i),[E,U]=(0,s.useState)(!1),[J,D]=(0,s.useState)([]),[z,H]=(0,s.useState)([]),[B,F]=(0,s.useState)(1),W=(0,s.useRef)(O);(0,s.useEffect)(()=>{W.current=O},[O]);let V=(0,s.useCallback)(async e=>{let t=null!=e?e:W.current;A(!0);try{let e=await (0,C.HT)({category:t||void 0,limit:200});T(e.files||[])}catch(e){T([])}finally{A(!1)}},[]);(0,s.useEffect)(()=>{V(O)},[O,V]);let X=e=>({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}),q=(0,s.useCallback)(async()=>{try{let e=await (0,C.Qx)();D(e.operations.map(X))}catch(e){}},[]);(0,s.useEffect)(()=>{q()},[q]);let Q=async e=>{U(!0),D(t=>[{type:"upload",title:"上传 ".concat(e.name),description:"等待上传、解析、切片和入库",status:"processing",percent:10},...t].slice(0,50));let t="".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2)),n=setInterval(()=>{(0,C.QT)(t).then(t=>{D(a=>[{type:"upload",title:"上传 ".concat(e.name),description:"".concat(t.message).concat(t.chunkCount?",".concat(t.chunkCount," 个切片"):""),status:"error"===t.stage?"warning":"processing",percent:t.percent},...a.filter(t=>t.title!=="上传 ".concat(e.name))].slice(0,50))}).catch(()=>void 0)},500);try{var s,r;let i=await (0,C.pF)(e,void 0,t);clearInterval(n),(null==(s=i.vectorStatus)?void 0:s.status)==="error"?a.info("文件已上传,正在后台入库"):a.success("上传成功"),I(""),M(""),H([]),F(1),W.current="";let o=null==(r=i.files)?void 0:r.find(e=>e.relativePath===i.relativePath),c=(e=>{if(!e)return{};let t={};try{t=e.metadataJson?JSON.parse(e.metadataJson):{}}catch(e){}let a="object"==typeof t.extraction&&t.extraction?t.extraction:t;return{textLength:"number"==typeof a.textLength?a.textLength:void 0,extractionMode:"string"==typeof a.extractionMode?a.extractionMode:void 0}})(o);await q(),D(t=>[{type:"upload",title:"上传完成 ".concat(e.name),description:o?"解析、分块和入库流程已完成":"文件已上传",status:(null==o?void 0:o.chunkCount)===1?"warning":"success",filePath:null==o?void 0:o.relativePath,chunkCount:null==o?void 0:o.chunkCount,textLength:c.textLength,extractionMode:c.extractionMode},...t.filter(t=>t.title!=="上传 ".concat(e.name))].slice(0,50)),Array.isArray(i.files)?T(i.files):(await (0,C.H1)(),await V(""),await q())}catch(t){a.error("上传失败"),D(t=>[{type:"error",title:"上传失败 ".concat(e.name),description:"请重试或检查文件格式",status:"error"},...t].slice(0,50))}finally{clearInterval(n),U(!1)}return!1},K=R?k.filter(e=>e.relativePath.toLowerCase().includes(R.toLowerCase())):k,Z=[{title:e("fileName"),dataIndex:"relativePath",key:"name",render:e=>(0,n.jsxs)(d.A,{children:[(0,n.jsx)(v.A,{}),(0,n.jsx)(o(),{className:"truncate max-w-[400px] inline-block",href:"/knowledge/file-detail?relativePath=".concat(encodeURIComponent(e)),children:e})]})},{title:e("fileCategory"),dataIndex:"category",key:"cat",width:120,render:e=>(0,n.jsx)(p.A,{children:(0,b.Jm)(e,t)})},{title:e("fileSize"),dataIndex:"fileSize",key:"size",width:100,render:e=>(0,b.z3)(e)},{title:"切片",dataIndex:"chunkCount",key:"chunks",width:90,render:e=>(0,n.jsx)(p.A,{color:e>1?"green":"orange",children:e})},{title:"解析状态",dataIndex:"status",key:"status",width:110,render:(e,t)=>(0,n.jsx)(p.A,{color:"active"===e?"green":"red",children:t.errorMessage||e})},{title:e("fileDate"),dataIndex:"mtime",key:"date",width:140,render:e=>e?new Date(e).toLocaleDateString(t):"—"},{title:"",key:"act",width:60,render:(t,s)=>(0,n.jsx)(h.Ay,{type:"text",danger:!0,size:"small",icon:(0,n.jsx)(_.A,{}),onClick:()=>{u.A.confirm({title:e("delete"),content:e("deleteConfirm"),okText:"确认",cancelText:"取消",okButtonProps:{danger:!0},onOk:async()=>{D(e=>[{type:"delete",title:"删除 ".concat(s.relativePath),description:"正在删除文件记录",status:"processing"},...e].slice(0,50));try{await (0,C.xq)(s.relativePath),a.success("已删除"),D(e=>[{type:"delete",title:"删除完成 ".concat(s.relativePath),description:"文件和索引记录已移除",status:"success"},...e].slice(0,50)),await V(),await q()}catch(e){a.error("删除失败"),D(e=>[{type:"error",title:"删除失败 ".concat(s.relativePath),description:"请重试",status:"error"},...e].slice(0,50))}}})}})}];return(0,n.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,n.jsx)("h2",{className:"pageTitle",children:e("fileList")}),(0,n.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,n.jsx)(y.A,{placeholder:e("searchPlaceholder"),prefix:(0,n.jsx)(S.A,{}),value:R,onChange:e=>{I(e.target.value),F(1)},allowClear:!0,className:P().filterInput}),(0,n.jsx)(f.A,{value:O||void 0,onChange:e=>{M(e||""),F(1)},placeholder:e("filterCategory"),allowClear:!0,className:P().filterSelect,options:[{label:e("allCategories"),value:""},...N.map(e=>({label:(0,b.Jm)(e,t),value:e}))]}),(0,n.jsx)(g.A,{showUploadList:!1,beforeUpload:e=>(Q(e),!1),children:(0,n.jsx)(h.Ay,{type:"primary",icon:(0,n.jsx)(j.A,{}),loading:E,children:E?e("uploading"):e("upload")})})]}),(0,n.jsx)(m.A,{size:"small",className:P().statusCard,title:(0,n.jsxs)(d.A,{children:[(0,n.jsx)(v.A,{}),"文件任务状态"]}),children:0===J.length?(0,n.jsx)("div",{className:P().statusEmpty,children:"暂无文件任务。上传、删除、解析、分块和入库结果会显示在这里。"}):(0,n.jsx)("div",{className:P().statusList,children:J.map((e,a)=>(0,n.jsxs)("div",{className:P().statusItem,children:[(0,n.jsxs)("div",{className:P().statusHeader,children:[(0,n.jsxs)(d.A,{size:8,wrap:!0,children:[(0,n.jsx)(p.A,{color:"success"===e.status?"green":"error"===e.status?"red":"warning"===e.status?"orange":"blue",children:"upload"===e.type?"上传":"delete"===e.type?"删除":"reindex"===e.type?"重建":"失败"}),(0,n.jsx)("strong",{children:e.title})]}),(0,n.jsx)(p.A,{color:"success"===e.status?"success":"processing"===e.status?"processing":"warning"===e.status?"warning":"error",children:"success"===e.status?"完成":"processing"===e.status?"处理中":"warning"===e.status?"需关注":"失败"})]}),(0,n.jsx)("div",{className:P().statusDesc,children:e.description}),e.filePath&&(0,n.jsx)("div",{className:P().statusPath,children:e.filePath}),(0,n.jsxs)("div",{className:P().statusMeta,children:["number"==typeof e.chunkCount&&(0,n.jsxs)("span",{children:["切片 ",(0,n.jsx)("b",{children:e.chunkCount})]}),"number"==typeof e.textLength&&(0,n.jsxs)("span",{children:["正文 ",(0,n.jsx)("b",{children:e.textLength.toLocaleString(t)})," 字符"]}),e.extractionMode&&(0,n.jsxs)("span",{children:["解析 ",(0,n.jsx)("b",{children:e.extractionMode})]})]}),"number"==typeof e.percent&&"processing"===e.status&&(0,n.jsx)(x.A,{percent:e.percent,size:"small"})]},"".concat(e.title,"-").concat(a)))})}),(0,n.jsx)(m.A,{children:(0,n.jsx)(w.A,{rowKey:"relativePath",columns:Z,dataSource:K,loading:L,size:"middle",locale:{emptyText:R?e("emptySearch"):e("noFiles")},pagination:{current:B,pageSize:50,showSizeChanger:!1,onChange:F},rowSelection:{selectedRowKeys:z,onChange:H}})})]})}},5551:(e,t,a)=>{"use strict";function n(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),a=e/Math.pow(1024,t);return"".concat(a.toFixed(+(0!==t))," ").concat(["B","KB","MB","GB","TB"][t])}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===t?"Never":"从未";let a=Math.floor(Math.floor((Date.now()-e)/1e3)/60),n=Math.floor(a/60),s=Math.floor(n/24);return s>30?new Date(e).toLocaleDateString(t):"en-US"===t?s>0?"".concat(s,"d ago"):n>0?"".concat(n,"h ago"):a>0?"".concat(a,"m ago"):"Just now":s>0?"".concat(s," 天前"):n>0?"".concat(n," 小时前"):a>0?"".concat(a," 分钟前"):"刚刚"}a.d(t,{Jm:()=>o,fw:()=>s,z3:()=>n});let r={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},i={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function o(e){var t;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===a?i:r)[e])?t:e}},6578:(e,t,a)=>{"use strict";async function n(e,t){let a=await fetch(e,t);if(!a.ok){let e=await a.text(),t=e||"HTTP ".concat(a.status);try{let a=JSON.parse(e);t=a.error||a.message||t}catch(e){}throw Error(t)}return a.json()}async function s(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return n("/api/kb/stats".concat(t))}async function r(e){var t,a;let s=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&s.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&s.set("category",e.category),(null==e?void 0:e.page)&&s.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&s.set("limit",String(null!=(a=e.limit)?a:50)),n("/api/kb/files?".concat(s))}async function i(e,t){let a=new URLSearchParams({relativePath:e});return t&&a.set("projectRoot",t),n("/api/kb/files/detail?".concat(a))}async function o(e,t){return n("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function c(e,t,a){return n("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:a})})}async function l(e,t,a){let s=await new Promise((t,a)=>{let n=new FileReader;n.onload=()=>{let e=n.result,a=e.indexOf(",");t(a>=0?e.slice(a+1):e)},n.onerror=a,n.readAsDataURL(e)});return n("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,fileData:s,projectRoot:t,uploadId:a})})}async function u(e){return n("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function d(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),n("/api/kb/operations?".concat(t))}async function p(e,t){return n("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function h(e){return n("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function y(){return n("/api/kb/features")}async function f(e,t){var a,s,r,i,o;let c=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&c.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&c.set("category",t.category),(null==t?void 0:t.limit)&&c.set("limit",String(null!=(o=t.limit)?o:20)),(null==t||null==(a=t.weights)?void 0:a.keyword)!=null&&c.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(s=t.weights)?void 0:s.vector)!=null&&c.set("vectorWeight",String(t.weights.vector)),(null==t||null==(r=t.weights)?void 0:r.rewrite)!=null&&c.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(i=t.weights)?void 0:i.hybridBonus)!=null&&c.set("hybridBonus",String(t.weights.hybridBonus)),n("/api/kb/search?".concat(c))}async function g(){return n("/api/config/providers")}async function m(e,t){return n("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function x(e){return n("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function w(){return n("/api/config/models")}async function v(e){return n("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function _(e){return n("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function S(){return n("/api/system/stats")}async function j(e,t){let a=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return n("/api/context".concat(a))}async function C(e){return n("/api/context?type=".concat(e,"&stats=1"))}async function b(e){return n("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function k(e){return n("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function P(e){return n("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function N(e,t){return n("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function T(e){return n("/api/config/providers/".concat(encodeURIComponent(e)))}a.d(t,{Bh:()=>T,E:()=>k,FC:()=>S,H1:()=>h,HC:()=>o,HT:()=>r,PH:()=>b,QT:()=>u,Qx:()=>d,VW:()=>y,W2:()=>f,Z3:()=>g,_m:()=>m,aP:()=>v,bZ:()=>_,h1:()=>x,hc:()=>s,hn:()=>j,p:()=>C,pF:()=>l,tn:()=>c,xC:()=>i,xq:()=>p,xw:()=>P,zo:()=>N,zr:()=>w})}},e=>{e.O(0,[260,544,425,576,227,740,584,15,252,636,593,792],()=>e(e.s=426)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[414],{423:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>T});var o=n(5321),a=n(7109),i=n(4986),r=n(9018),l=n(7807),c=n(3442),s=n(5114),d=n(2256),u=n(8770),h=n(8787),p=n(4849),f=n(6911),g=n(8584),y=n(1702),m=n(9606),w=n(486),k=n(9811),x=n(6768),v=n(6619),b=n(933),S=n(8740),j=n(6578),C=n(5551);let A=["document","spreadsheet","image","cad","code","data","web","diagram","archive","other"];function T(){var e,t,n;let T=(0,r.Vr)(),{locale:N}=(0,r.x_)(),O=(0,i.useRouter)(),{stats:E,loading:P,reload:R}=function(){let[e,t]=(0,a.useState)(null),[n,o]=(0,a.useState)(!0),i=(0,a.useCallback)(async()=>{o(!0);try{t(await (0,j.hc)())}catch(e){}finally{o(!1)}},[]);return(0,a.useEffect)(()=>{i()},[i]),{stats:e,loading:n,reload:i}}(),D=function(){let[e,t]=(0,a.useState)(null);return(0,a.useEffect)(()=>{(0,j.VW)().then(t).catch(()=>{})},[]),e}(),{reindexing:z,reindex:U}=function(){let[e,t]=(0,a.useState)(!1);return{reindexing:e,reindex:(0,a.useCallback)(async()=>{t(!0);try{return await (0,j.H1)(),!0}catch(e){return!1}finally{t(!1)}},[])}}(),[J,I]=(0,a.useState)("document"),[_,B]=(0,a.useState)({count:0,totalSize:0}),{message:L}=l.A.useApp(),M=(0,a.useCallback)(async e=>{try{let t=await (0,j.HT)({category:e,limit:1e4}),n=0;if(Array.isArray(t.files))for(let e of t.files)n+=e.fileSize||0;B({count:t.total||0,totalSize:n})}catch(e){B({count:0,totalSize:0})}},[]);(0,a.useEffect)(()=>{M(J)},[J,M]);let H=async()=>{await U()?await Promise.all([R(),M(J)]):L.error(T("common.error"))};return(0,o.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("h1",{className:"pageTitle",children:T("knowledge.manageTitle")}),(0,o.jsx)("p",{className:"pageDesc",children:T("knowledge.manageDesc")})]}),(0,o.jsxs)(c.A,{children:[(0,o.jsx)(s.Ay,{icon:(0,o.jsx)(m.A,{}),onClick:()=>O.push("/knowledge/files"),children:T("knowledge.files")}),(0,o.jsx)(s.Ay,{icon:(0,o.jsx)(w.A,{}),onClick:()=>O.push("/knowledge/search"),children:T("knowledge.search")}),(0,o.jsx)(s.Ay,{icon:(0,o.jsx)(k.A,{}),loading:z,onClick:()=>{H()},children:T("knowledge.reindex")})]})]}),(0,o.jsx)(d.A,{gutter:[16,16],children:[{icon:(0,o.jsx)(x.A,{}),label:T("knowledge.totalFiles"),value:null!=(e=null==E?void 0:E.fileCount)?e:0},{icon:(0,o.jsx)(v.A,{}),label:T("knowledge.totalChunks"),value:null!=(t=null==E?void 0:E.chunkCount)?t:0},{icon:(0,o.jsx)(b.A,{}),label:T("knowledge.totalSize"),value:(0,C.z3)(null!=(n=null==E?void 0:E.totalSizeBytes)?n:0)},{icon:(0,o.jsx)(S.A,{}),label:T("knowledge.lastIndexed"),value:(null==E?void 0:E.lastIndexedAt)?(0,C.fw)(E.lastIndexedAt,N):T("common.never")}].map((e,t)=>(0,o.jsx)(u.A,{xs:12,sm:6,children:(0,o.jsx)(h.A,{size:"small",loading:P&&!E,children:(0,o.jsx)(p.A,{title:e.label,value:e.value,prefix:e.icon})})},t))}),(0,o.jsxs)(h.A,{title:T("knowledge.categories"),size:"small",children:[(0,o.jsx)(f.A,{value:J,onChange:e=>I(String(e)),options:A.map(e=>({label:(0,C.Jm)(e,N),value:e})),className:"mb-4"}),(0,o.jsxs)(d.A,{gutter:[16,16],children:[(0,o.jsx)(u.A,{xs:12,sm:8,children:(0,o.jsx)(p.A,{title:T("knowledge.fileCount"),value:_.count,prefix:(0,o.jsx)(x.A,{})})}),(0,o.jsx)(u.A,{xs:12,sm:8,children:(0,o.jsx)(p.A,{title:T("knowledge.totalSize"),value:(0,C.z3)(_.totalSize),prefix:(0,o.jsx)(b.A,{})})})]})]}),D&&(0,o.jsx)(h.A,{title:T("knowledge.features"),size:"small",children:(0,o.jsx)(g.A,{dataSource:[{key:"vectorStore",label:"Vector Store",desc:T("knowledge.featureVectorStoreDesc"),value:D.vectorStore},{key:"embedding",label:"Embedding",desc:T("knowledge.featureEmbeddingDesc"),value:D.embeddingProvider},{key:"dedup",label:T("knowledge.featureDedup"),desc:T("knowledge.featureDedupDesc"),value:D.dedupEngine},{key:"chunker",label:T("knowledge.featureChunker"),desc:T("knowledge.featureChunkerDesc"),value:D.chunker}],columns:[{title:T("knowledge.featureName"),dataIndex:"label",key:"label",width:120},{title:T("knowledge.featureDesc"),dataIndex:"desc",key:"desc"},{title:T("knowledge.featureValue"),dataIndex:"value",key:"value",render:e=>(0,o.jsx)(y.A,{color:"blue",children:e})}],pagination:!1,size:"small"})})]})}},4178:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/manage",function(){return n(423)}])},5551:(e,t,n)=>{"use strict";function o(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),n=e/Math.pow(1024,t);return"".concat(n.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 n=Math.floor(Math.floor((Date.now()-e)/1e3)/60),o=Math.floor(n/60),a=Math.floor(o/24);return a>30?new Date(e).toLocaleDateString(t):"en-US"===t?a>0?"".concat(a,"d ago"):o>0?"".concat(o,"h ago"):n>0?"".concat(n,"m ago"):"Just now":a>0?"".concat(a," 天前"):o>0?"".concat(o," 小时前"):n>0?"".concat(n," 分钟前"):"刚刚"}n.d(t,{Jm:()=>l,fw:()=>a,z3:()=>o});let i={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},r={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function l(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===n?r:i)[e])?t:e}},6578:(e,t,n)=>{"use strict";async function o(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.text(),t=e||"HTTP ".concat(n.status);try{let n=JSON.parse(e);t=n.error||n.message||t}catch(e){}throw Error(t)}return n.json()}async function a(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return o("/api/kb/stats".concat(t))}async function i(e){var t,n;let a=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&a.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&a.set("category",e.category),(null==e?void 0:e.page)&&a.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&a.set("limit",String(null!=(n=e.limit)?n:50)),o("/api/kb/files?".concat(a))}async function r(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),o("/api/kb/files/detail?".concat(n))}async function l(e,t){return o("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function c(e,t,n){return o("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function s(e,t,n){let a=await new Promise((t,n)=>{let o=new FileReader;o.onload=()=>{let e=o.result,n=e.indexOf(",");t(n>=0?e.slice(n+1):e)},o.onerror=n,o.readAsDataURL(e)});return o("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,fileData:a,projectRoot:t,uploadId:n})})}async function d(e){return o("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function u(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),o("/api/kb/operations?".concat(t))}async function h(e,t){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function p(e){return o("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function f(){return o("/api/kb/features")}async function g(e,t){var n,a,i,r,l;let c=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&c.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&c.set("category",t.category),(null==t?void 0:t.limit)&&c.set("limit",String(null!=(l=t.limit)?l:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&c.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(a=t.weights)?void 0:a.vector)!=null&&c.set("vectorWeight",String(t.weights.vector)),(null==t||null==(i=t.weights)?void 0:i.rewrite)!=null&&c.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(r=t.weights)?void 0:r.hybridBonus)!=null&&c.set("hybridBonus",String(t.weights.hybridBonus)),o("/api/kb/search?".concat(c))}async function y(){return o("/api/config/providers")}async function m(e,t){return o("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function w(e){return o("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function k(){return o("/api/config/models")}async function x(e){return o("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function v(e){return o("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function b(){return o("/api/system/stats")}async function S(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return o("/api/context".concat(n))}async function j(e){return o("/api/context?type=".concat(e,"&stats=1"))}async function C(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function A(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function T(e){return o("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function N(e,t){return o("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function O(e){return o("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Bh:()=>O,E:()=>A,FC:()=>b,H1:()=>p,HC:()=>l,HT:()=>i,PH:()=>C,QT:()=>d,Qx:()=>u,VW:()=>f,W2:()=>g,Z3:()=>y,_m:()=>m,aP:()=>x,bZ:()=>v,h1:()=>w,hc:()=>a,hn:()=>S,p:()=>j,pF:()=>s,tn:()=>c,xC:()=>r,xq:()=>h,xw:()=>T,zo:()=>N,zr:()=>k})}},e=>{e.O(0,[260,544,425,227,740,584,958,891,636,593,792],()=>e(e.s=4178)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[207],{4184:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>v});var s=n(5321),r=n(3220),i=n.n(r),a=n(7109),o=n(8399),l=n(8787),c=n(3442),u=n(7576),d=n(5114),p=n(4992),h=n(6506),y=n(1702),m=n(2700),j=n(4253),x=n(486),f=n(6578),g=n(4569),b=n.n(g);let{Paragraph:_}=o.A;function w(e){return"number"==typeof e?e.toFixed(2):"-"}function v(){var e,t,n;let[r,o]=(0,a.useState)(""),[g,v]=(0,a.useState)(!1),[S,k]=(0,a.useState)([]),[C,A]=(0,a.useState)(),[R,N]=(0,a.useState)(),[T,P]=(0,a.useState)({keyword:1,vector:.9,rewrite:.72,hybridBonus:.35}),O=async()=>{let e=r.trim();if(e){v(!0);try{let t=await (0,f.W2)(e,{limit:10,weights:T});k(t.results),A(t.queryTimeMs),N(t.debug)}finally{v(!1)}}};return(0,s.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"pageTitle",children:"知识库搜索"}),(0,s.jsx)("p",{className:"pageDesc",children:"查看 hybrid 检索、parent 回填、分块来源和评分明细。"})]}),(0,s.jsx)(l.A,{size:"small",children:(0,s.jsxs)(c.A.Compact,{className:"w-full",children:[(0,s.jsx)(u.A,{value:r,onChange:e=>o(e.target.value),onPressEnter:()=>{O()},placeholder:"输入要搜索的知识库内容"}),(0,s.jsx)(d.Ay,{type:"primary",icon:(0,s.jsx)(x.A,{}),loading:g,onClick:()=>{O()},children:"搜索"})]})}),(0,s.jsx)(l.A,{size:"small",title:"召回权重调节",children:(0,s.jsxs)(c.A,{wrap:!0,children:[(0,s.jsxs)("span",{children:["Keyword ",(0,s.jsx)(p.A,{min:0,max:5,step:.1,value:T.keyword,onChange:e=>P(t=>({...t,keyword:Number(null!=e?e:1)}))})]}),(0,s.jsxs)("span",{children:["Vector ",(0,s.jsx)(p.A,{min:0,max:5,step:.1,value:T.vector,onChange:e=>P(t=>({...t,vector:Number(null!=e?e:.9)}))})]}),(0,s.jsxs)("span",{children:["Rewrite ",(0,s.jsx)(p.A,{min:0,max:5,step:.1,value:T.rewrite,onChange:e=>P(t=>({...t,rewrite:Number(null!=e?e:.72)}))})]}),(0,s.jsxs)("span",{children:["Hybrid Bonus ",(0,s.jsx)(p.A,{min:0,max:2,step:.05,value:T.hybridBonus,onChange:e=>P(t=>({...t,hybridBonus:Number(null!=e?e:.35)}))})]})]})}),R&&(0,s.jsx)(l.A,{size:"small",title:"检索调试面板",children:(0,s.jsxs)(h.A,{size:"small",column:2,bordered:!0,children:[(0,s.jsx)(h.A.Item,{label:"原始查询",children:R.originalQuery}),(0,s.jsx)(h.A.Item,{label:"Reranker",children:R.reranker}),(0,s.jsx)(h.A.Item,{label:"查询改写",span:2,children:(0,s.jsx)(c.A,{wrap:!0,children:null==(e=R.rewrittenQueries)?void 0:e.map(e=>(0,s.jsx)(y.A,{children:e},e))})}),(0,s.jsx)(h.A.Item,{label:"召回数量",span:2,children:(0,s.jsx)(c.A,{wrap:!0,children:Object.entries(null!=(t=R.recallCounts)?t:{}).map(e=>{let[t,n]=e;return(0,s.jsxs)(y.A,{children:[t,": ",n]},t)})})}),(0,s.jsx)(h.A.Item,{label:"召回权重",span:2,children:(0,s.jsx)(c.A,{wrap:!0,children:Object.entries(null!=(n=R.weights)?n:{}).map(e=>{let[t,n]=e;return(0,s.jsxs)(y.A,{children:[t,": ",n]},t)})})})]})}),(0,s.jsx)(l.A,{size:"small",title:"搜索结果",extra:"number"==typeof C?"".concat(C," ms"):void 0,children:g?(0,s.jsx)(m.A,{}):0===S.length?(0,s.jsx)(j.A,{description:"暂无结果"}):(0,s.jsx)("div",{className:b().searchResultList,children:S.map(e=>{var t,n,a,o,l,u;return(0,s.jsxs)("div",{className:b().searchResultItem,children:[(0,s.jsxs)("div",{className:b().searchResultHeader,children:[(0,s.jsxs)(c.A,{size:8,wrap:!0,children:[(0,s.jsx)(y.A,{color:"hybrid"===e.source?"purple":"vector"===e.source?"blue":"green",children:null!=(u=e.source)?u:"keyword"}),(0,s.jsx)(y.A,{children:e.scope}),e.chunkKind&&(0,s.jsx)(y.A,{color:"geekblue",children:e.chunkKind}),e.rowRange&&(0,s.jsxs)(y.A,{color:"gold",children:["行 ",e.rowRange]}),e.sectionTitle&&(0,s.jsx)(y.A,{color:"cyan",children:e.sectionTitle})]}),(0,s.jsx)("strong",{children:w(e.score)})]}),(0,s.jsxs)("div",{className:b().statusPath,children:[(0,s.jsx)(i(),{href:"/knowledge/file-detail?relativePath=".concat(encodeURIComponent(e.filePath)),children:e.filePath}),"number"==typeof e.chunkIndex?" #".concat(e.chunkIndex):""]}),(0,s.jsx)(_,{ellipsis:{rows:6,expandable:!0,symbol:"展开"},className:b().searchContent,children:function(e,t){let n=[t.trim(),...t.split(/[\s,,。;;::、]+/u)].filter(Boolean).sort((e,t)=>t.length-e.length);if(0===n.length)return e;let r=RegExp("(".concat(n.map(e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")).join("|"),")"),"giu");return e.split(r).map((e,t)=>n.some(t=>t.toLowerCase()===e.toLowerCase())?(0,s.jsx)("mark",{children:e},t):e)}(e.content,r)}),e.facets&&Object.keys(e.facets).length>0&&(0,s.jsx)("div",{className:b().statusMeta,children:Object.entries(e.facets).slice(0,8).map(e=>{let[t,n]=e;return(0,s.jsxs)("span",{children:[t," ",(0,s.jsx)("b",{children:Array.isArray(n)?n.join(", "):String(n)})]},t)})}),(0,s.jsxs)("div",{className:b().statusMeta,children:[(0,s.jsxs)("span",{children:["keyword ",(0,s.jsx)("b",{children:w(null==(t=e.scoreDetails)?void 0:t.keywordScore)})]}),(0,s.jsxs)("span",{children:["bm25 ",(0,s.jsx)("b",{children:w(null==(n=e.scoreDetails)?void 0:n.bm25Score)})]}),(0,s.jsxs)("span",{children:["vector ",(0,s.jsx)("b",{children:w(null==(a=e.scoreDetails)?void 0:a.vectorScore)})]}),(0,s.jsxs)("span",{children:["rerank ",(0,s.jsx)("b",{children:w(null==(o=e.scoreDetails)?void 0:o.rerankBoost)})]}),(0,s.jsxs)("span",{children:["hybrid ",(0,s.jsx)("b",{children:w(null==(l=e.scoreDetails)?void 0:l.hybridScore)})]})]})]},e.id)})})})]})}},4569: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",statusEmpty:"style_statusEmpty__8LWzH",statusList:"style_statusList__FpNgC",statusItem:"style_statusItem__uzO80",statusHeader:"style_statusHeader__o9q_b",statusDesc:"style_statusDesc__XiWFa",statusPath:"style_statusPath__Udxvv",statusMeta:"style_statusMeta__XukHt",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"}},6578:(e,t,n)=>{"use strict";async function s(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.text(),t=e||"HTTP ".concat(n.status);try{let n=JSON.parse(e);t=n.error||n.message||t}catch(e){}throw Error(t)}return n.json()}async function r(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return s("/api/kb/stats".concat(t))}async function i(e){var t,n;let r=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&r.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&r.set("category",e.category),(null==e?void 0:e.page)&&r.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&r.set("limit",String(null!=(n=e.limit)?n:50)),s("/api/kb/files?".concat(r))}async function a(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),s("/api/kb/files/detail?".concat(n))}async function o(e,t){return s("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function l(e,t,n){return s("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function c(e,t,n){let r=await new Promise((t,n)=>{let s=new FileReader;s.onload=()=>{let e=s.result,n=e.indexOf(",");t(n>=0?e.slice(n+1):e)},s.onerror=n,s.readAsDataURL(e)});return s("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,fileData:r,projectRoot:t,uploadId:n})})}async function u(e){return s("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function d(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),s("/api/kb/operations?".concat(t))}async function p(e,t){return s("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function h(e){return s("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function y(){return s("/api/kb/features")}async function m(e,t){var n,r,i,a,o;let l=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&l.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&l.set("category",t.category),(null==t?void 0:t.limit)&&l.set("limit",String(null!=(o=t.limit)?o:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&l.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(r=t.weights)?void 0:r.vector)!=null&&l.set("vectorWeight",String(t.weights.vector)),(null==t||null==(i=t.weights)?void 0:i.rewrite)!=null&&l.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(a=t.weights)?void 0:a.hybridBonus)!=null&&l.set("hybridBonus",String(t.weights.hybridBonus)),s("/api/kb/search?".concat(l))}async function j(){return s("/api/config/providers")}async function x(e,t){return s("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function f(e){return s("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function g(){return s("/api/config/models")}async function b(e){return s("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function _(e){return s("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function w(){return s("/api/system/stats")}async function v(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return s("/api/context".concat(n))}async function S(e){return s("/api/context?type=".concat(e,"&stats=1"))}async function k(e){return s("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function C(e){return s("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function A(e){return s("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function R(e,t){return s("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function N(e){return s("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Bh:()=>N,E:()=>C,FC:()=>w,H1:()=>h,HC:()=>o,HT:()=>i,PH:()=>k,QT:()=>u,Qx:()=>d,VW:()=>y,W2:()=>m,Z3:()=>j,_m:()=>x,aP:()=>b,bZ:()=>_,h1:()=>f,hc:()=>r,hn:()=>v,p:()=>S,pF:()=>c,tn:()=>l,xC:()=>a,xq:()=>p,xw:()=>A,zo:()=>R,zr:()=>g})},9208:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/search",function(){return n(4184)}])}},e=>{e.O(0,[260,544,425,576,227,840,992,636,593,792],()=>e(e.s=9208)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[12],{4183:(e,n,u)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge",function(){return u(7354)}])},6109:(e,n,u)=>{e.exports=u(7212)},7354:(e,n,u)=>{"use strict";u.r(n),u.d(n,{default:()=>r});var _=u(7109),t=u(6109);function r(){let e=(0,t.useRouter)();return(0,_.useEffect)(()=>{e.replace("/knowledge/manage")},[e]),null}}},e=>{e.O(0,[636,593,792],()=>e(e.s=4183)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[46],{69:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L255.8 713.6l-62.3-62.3a8.19 8.19 0 00-11.4 0l-39.8 39.8a8.19 8.19 0 000 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.19 8.19 0 00-11.4 0l-39.8 39.8a8.19 8.19 0 000 11.4l110.3 111.2c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.1 304.1 0 00608 720c167.9 0 304-136.1 304-304S775.9 112 608 112m161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2"}}]},name:"key",theme:"outlined"}},289:(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"}},2256:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});let n=a(5341).A},2323:e=>{e.exports={cardMeta:"style_cardMeta__6KOa3",cardName:"style_cardName__WcLAf",cardAction:"style_cardAction__XUfPD",tierDesc:"style_tierDesc__wOd6p",modelTags:"style_modelTags__nmMVj"}},3114:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var n=a(7109),c=a(5450),o=a(8483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}let s=n.forwardRef((e,t)=>n.createElement(o.A,l({},e,{ref:t,icon:c.A})))},3214:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"}},4190:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var n=a(7109),c=a(3214),o=a(8483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}let s=n.forwardRef((e,t)=>n.createElement(o.A,l({},e,{ref:t,icon:c.A})))},5450:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"}},5527:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>U});var n=a(5321),c=a(7109),o=a(9018),l=a(7807),s=a(5114),r=a(8787),i=a(2256),d=a(8770),m=a(3442),u=a(6171),p=a(7271),h=a(1702),y=a(5258),f=a(3455),v=a(7576),g=a(4746),j=a(9071),x=a(9188),b=a(4216),A=a(3114),w=a(9650),O=a(8209),S=a(69),C=a(8483);function N(){return(N=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}let P=c.forwardRef((e,t)=>c.createElement(C.A,N({},e,{ref:t,icon:S.A})));var z=a(289);function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}let T=c.forwardRef((e,t)=>c.createElement(C.A,k({},e,{ref:t,icon:z.A})));var R=a(6578),_=a(2323),M=a.n(_);let L=[{label:"OpenAI 兼容",value:"openai"},{label:"Anthropic",value:"anthropic"},{label:"Google",value:"google"},{label:"Ollama",value:"ollama"},{label:"OpenRouter",value:"openrouter"}],E=[{key:"reader",labelKey:"models.tierReader",descKey:"models.tierReaderDesc"},{key:"reasoning",labelKey:"models.tierReasoning",descKey:"models.tierReasoningDesc"},{key:"action",labelKey:"models.tierAction",descKey:"models.tierActionDesc"}];function U(){let e=(0,o.Vr)(),{message:t}=l.A.useApp(),[a,S]=(0,c.useState)(!0),[C,N]=(0,c.useState)([]),[z,k]=(0,c.useState)(null),[_,U]=(0,c.useState)(!1),[H,I]=(0,c.useState)(""),[D,K]=(0,c.useState)(""),[J,B]=(0,c.useState)(""),[V,F]=(0,c.useState)("openai"),[W,Z]=(0,c.useState)(!1),[X,q]=(0,c.useState)(!1),[Q,G]=(0,c.useState)(""),[Y,$]=(0,c.useState)(""),[ee,et]=(0,c.useState)(""),[ea,en]=(0,c.useState)(""),[ec,eo]=(0,c.useState)("openai"),[el,es]=(0,c.useState)(!1),[er,ei]=(0,c.useState)(null),[ed,em]=(0,c.useState)({}),eu=async()=>{S(!0);try{let[e,t]=await Promise.all([(0,R.Z3)().catch(()=>[]),(0,R.zr)().catch(()=>null)]);N(e),k(t)}catch(a){t.error(e("common.error"))}finally{S(!1)}};(0,c.useEffect)(()=>{eu()},[]);let ep=async()=>{if(H.trim()){Z(!0);try{await (0,R._m)(H.trim(),{apiKey:D||void 0,baseUrl:J||void 0,protocol:V}),U(!1),I(""),K(""),B(""),F("openai"),await eu(),t.success(e("common.success"))}catch(a){t.error(e("common.error"))}finally{Z(!1)}}},eh=async a=>{try{await (0,R.h1)(a),await eu(),t.success(e("common.success"))}catch(a){t.error(e("common.error"))}},ey=async e=>{G(e.name),$(e.name),et("");try{let t=await (0,R.Bh)(e.name);et(t.apiKey?"••••••••":""),en(t.baseUrl||""),eo(t.protocol||t.detectedProtocol||"openai")}catch(t){en(e.baseUrl||""),eo(e.protocol||e.detectedProtocol||"openai")}q(!0)},ef=async()=>{if(Y.trim()){es(!0);try{Y.trim()!==Q&&await (0,R.h1)(Q);let a=ee.includes("•")?void 0:ee||void 0;await (0,R._m)(Y.trim(),{apiKey:a,baseUrl:ea||void 0,protocol:ec}),q(!1),G(""),$(""),et(""),en(""),eo("openai"),await eu(),t.success(e("common.success"))}catch(a){t.error(e("common.error"))}finally{es(!1)}}},ev=async a=>{ei(a);try{let n=await (0,R.bZ)(a);em(e=>({...e,[a]:n.success})),t[n.success?"success":"error"](n.success?e("models.connected"):e("models.connectionFailed"))}catch(e){em(e=>({...e,[a]:!1}))}finally{ei(null)}},eg=async(a,n)=>{if(!z)return;let c={...z},o=c[a];if(!n){o.active="",k(c);try{await (0,R.aP)(c)}catch(a){t.error(e("common.error"))}return}let l=n.indexOf(":"),s=l>=0?n.slice(0,l):n,r=l>=0?n.slice(l+1):n;o.active=r,o.list.some(e=>e.name===r&&e.provider===s)||o.list.push({name:r,provider:s}),k(c);try{await (0,R.aP)(c)}catch(a){t.error(e("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:e("models.title")}),(0,n.jsx)("p",{className:"pageDesc",children:e("models.description")})]}),(0,n.jsx)(s.Ay,{type:"primary",icon:(0,n.jsx)(g.A,{}),onClick:()=>U(!0),children:e("models.addModel")})]}),(0,n.jsx)(r.A,{title:e("models.modelList"),size:"small",loading:a,children:0===C.length?(0,n.jsx)("span",{className:M().cardMeta,children:e("models.noProviders")}):(0,n.jsx)(i.A,{gutter:[12,12],children:C.map(t=>(0,n.jsx)(d.A,{xs:24,sm:12,lg:8,children:(0,n.jsxs)(r.A,{size:"small",children:[(0,n.jsxs)("div",{className:M().cardAction,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:M().cardName,children:t.name}),(0,n.jsxs)("div",{className:M().cardMeta,children:[(0,n.jsx)(j.A,{})," ",t.protocol||t.detectedProtocol||"openai"]})]}),(0,n.jsxs)(m.A,{children:[(0,n.jsx)(s.Ay,{size:"small",type:"text",loading:er===t.name,onClick:()=>{ev(t.name)},icon:!0===ed[t.name]?(0,n.jsx)(x.A,{className:"text-[var(--colorOk)]"}):!1===ed[t.name]?(0,n.jsx)(b.A,{className:"text-[var(--colorDanger)]"}):(0,n.jsx)(A.A,{})}),(0,n.jsx)(s.Ay,{size:"small",type:"text",icon:(0,n.jsx)(w.A,{}),onClick:()=>{ey(t)}}),(0,n.jsx)(u.A,{title:e("models.deleteProviderConfirm"),onConfirm:()=>{eh(t.name)},children:(0,n.jsx)(s.Ay,{size:"small",type:"text",danger:!0,icon:(0,n.jsx)(O.A,{})})})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,n.jsxs)("span",{className:"".concat(M().cardMeta," text-xs"),children:[(0,n.jsx)(P,{})," ",t.hasApiKey?"••••••••":"—"]}),t.baseUrl&&(0,n.jsxs)("span",{className:"".concat(M().cardMeta," text-xs truncate block"),children:[(0,n.jsx)(T,{})," ",t.baseUrl]})]})]})},t.name))})}),z&&(0,n.jsx)(r.A,{title:e("models.modelTiers"),size:"small",children:(0,n.jsx)(i.A,{gutter:[12,12],children:E.map(a=>{var c;let{key:o,labelKey:l,descKey:s}=a,i=z[o],m=i.list.map(e=>({label:"".concat(e.provider," / ").concat(e.name),value:"".concat(e.provider,":").concat(e.name)})),u=C.filter(e=>!i.list.some(t=>t.provider===e.name)).map(e=>({label:"".concat(e.name," / ").concat(e.name),value:"".concat(e.name,":").concat(e.name)}));return(0,n.jsx)(d.A,{xs:24,lg:8,children:(0,n.jsxs)(r.A,{size:"small",title:e(l),children:[(0,n.jsx)("span",{className:M().tierDesc,children:e(s)}),(0,n.jsx)(p.A,{value:i.active?"".concat((null==(c=i.list.find(e=>e.name===i.active))?void 0:c.provider)||"",":").concat(i.active):void 0,onChange:e=>{eg(o,e)},allowClear:!0,placeholder:e("models.selectModelPlaceholder"),className:"w-full",options:[...m,...u]}),i.list.length>0&&(0,n.jsx)("div",{className:M().modelTags,children:i.list.map(a=>(0,n.jsxs)(h.A,{color:a.name===i.active?"blue":void 0,closable:!0,onClose:()=>{var n,c;let l={...z},s=l[o];s.list=s.list.filter(e=>e.name!==a.name||e.provider!==a.provider),s.active===a.name&&(s.active=null!=(c=null==(n=s.list[0])?void 0:n.name)?c:""),k(l),(0,R.aP)(l).catch(()=>t.error(e("common.error")))},children:[a.provider,"/",a.name]},"".concat(a.provider,":").concat(a.name)))})]})},o)})})}),(0,n.jsx)(y.A,{title:e("models.addModel"),open:_,onCancel:()=>{U(!1),I(""),K(""),B(""),F("openai")},onOk:()=>{ep()},confirmLoading:W,children:(0,n.jsxs)(f.A,{layout:"vertical",size:"middle",children:[(0,n.jsx)(f.A.Item,{label:e("models.modelName"),children:(0,n.jsx)(v.A,{value:H,onChange:e=>I(e.target.value),placeholder:e("models.modelNamePlaceholder")})}),(0,n.jsx)(f.A.Item,{label:e("models.apiKey"),children:(0,n.jsx)(v.A.Password,{value:D,onChange:e=>K(e.target.value),placeholder:"sk-..."})}),(0,n.jsx)(f.A.Item,{label:e("models.baseUrl"),children:(0,n.jsx)(v.A,{value:J,onChange:e=>B(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,n.jsx)(f.A.Item,{label:e("models.protocol"),children:(0,n.jsx)(p.A,{value:V,onChange:F,options:L})})]})}),(0,n.jsx)(y.A,{title:e("models.editModel"),open:X,onCancel:()=>{q(!1),G(""),$(""),et(""),en(""),eo("openai")},onOk:()=>{ef()},confirmLoading:el,children:(0,n.jsxs)(f.A,{layout:"vertical",size:"middle",children:[(0,n.jsx)(f.A.Item,{label:e("models.modelName"),children:(0,n.jsx)(v.A,{value:Y,onChange:e=>$(e.target.value),placeholder:e("models.modelNamePlaceholder")})}),(0,n.jsx)(f.A.Item,{label:e("models.apiKey"),help:e("models.apiKeyEditHint"),children:(0,n.jsx)(v.A.Password,{value:ee,onFocus:()=>{ee.includes("•")&&et("")},onCopy:e=>e.preventDefault(),onChange:e=>et(e.target.value),placeholder:e("models.apiKeyEditPlaceholder")})}),(0,n.jsx)(f.A.Item,{label:e("models.baseUrl"),children:(0,n.jsx)(v.A,{value:ea,onChange:e=>en(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,n.jsx)(f.A.Item,{label:e("models.protocol"),children:(0,n.jsx)(p.A,{value:ec,onChange:eo,options:L})})]})})]})}},6578:(e,t,a)=>{"use strict";async function n(e,t){let a=await fetch(e,t);if(!a.ok){let e=await a.text(),t=e||"HTTP ".concat(a.status);try{let a=JSON.parse(e);t=a.error||a.message||t}catch(e){}throw Error(t)}return a.json()}async function c(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return n("/api/kb/stats".concat(t))}async function o(e){var t,a;let c=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&c.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&c.set("category",e.category),(null==e?void 0:e.page)&&c.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&c.set("limit",String(null!=(a=e.limit)?a:50)),n("/api/kb/files?".concat(c))}async function l(e,t){let a=new URLSearchParams({relativePath:e});return t&&a.set("projectRoot",t),n("/api/kb/files/detail?".concat(a))}async function s(e,t){return n("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function r(e,t,a){return n("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:a})})}async function i(e,t,a){let c=await new Promise((t,a)=>{let n=new FileReader;n.onload=()=>{let e=n.result,a=e.indexOf(",");t(a>=0?e.slice(a+1):e)},n.onerror=a,n.readAsDataURL(e)});return n("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,fileData:c,projectRoot:t,uploadId:a})})}async function d(e){return n("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function m(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),n("/api/kb/operations?".concat(t))}async function u(e,t){return n("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function p(e){return n("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function h(){return n("/api/kb/features")}async function y(e,t){var a,c,o,l,s;let r=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&r.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&r.set("category",t.category),(null==t?void 0:t.limit)&&r.set("limit",String(null!=(s=t.limit)?s:20)),(null==t||null==(a=t.weights)?void 0:a.keyword)!=null&&r.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(c=t.weights)?void 0:c.vector)!=null&&r.set("vectorWeight",String(t.weights.vector)),(null==t||null==(o=t.weights)?void 0:o.rewrite)!=null&&r.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(l=t.weights)?void 0:l.hybridBonus)!=null&&r.set("hybridBonus",String(t.weights.hybridBonus)),n("/api/kb/search?".concat(r))}async function f(){return n("/api/config/providers")}async function v(e,t){return n("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function g(e){return n("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function j(){return n("/api/config/models")}async function x(e){return n("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function b(e){return n("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function A(){return n("/api/system/stats")}async function w(e,t){let a=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return n("/api/context".concat(a))}async function O(e){return n("/api/context?type=".concat(e,"&stats=1"))}async function S(e){return n("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function C(e){return n("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function N(e){return n("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function P(e,t){return n("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function z(e){return n("/api/config/providers/".concat(encodeURIComponent(e)))}a.d(t,{Bh:()=>z,E:()=>C,FC:()=>A,H1:()=>p,HC:()=>s,HT:()=>o,PH:()=>S,QT:()=>d,Qx:()=>m,VW:()=>h,W2:()=>y,Z3:()=>f,_m:()=>v,aP:()=>x,bZ:()=>b,h1:()=>g,hc:()=>c,hn:()=>w,p:()=>O,pF:()=>i,tn:()=>r,xC:()=>l,xq:()=>u,xw:()=>N,zo:()=>P,zr:()=>j})},7305:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/models",function(){return a(5527)}])},8770:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});let n=a(1916).A},8847:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z"}}]},name:"thunderbolt",theme:"outlined"}},9071:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var n=a(7109),c=a(8847),o=a(8483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}let s=n.forwardRef((e,t)=>n.createElement(o.A,l({},e,{ref:t,icon:c.A})))}},e=>{e.O(0,[260,544,425,576,740,492,455,636,593,792],()=>e(e.s=7305)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[449],{3018:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z"}}]},name:"close-circle",theme:"outlined"}},3114:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(7109),s=n(5450),o=n(8483);function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let i=r.forwardRef((e,t)=>r.createElement(o.A,c({},e,{ref:t,icon:s.A})))},3139:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/overview",function(){return n(3502)}])},3502:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>N});var r=n(5321),s=n(7109),o=n(9018),c=n(2700),i=n(5114),a=n(2256),l=n(8770),d=n(8787),u=n(9605),p=n(4849),h=n(3442),v=n(1702),y=n(6109),f=n(9811),m=n(8200),g=n(8483);function x(){return(x=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let j=s.forwardRef((e,t)=>s.createElement(g.A,x({},e,{ref:t,icon:m.A})));var w=n(933),A=n(3114),b=n(9071),k=n(6631),O=n(6374);function S(){return(S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let T=s.forwardRef((e,t)=>s.createElement(g.A,S({},e,{ref:t,icon:O.A})));var C=n(3018);function z(){return(z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let P=s.forwardRef((e,t)=>s.createElement(g.A,z({},e,{ref:t,icon:C.A})));var R=n(6578);function N(){var e,t,n,m,g,x,O,S,C,z,N,L;let E=(0,o.Vr)(),M=(0,y.useRouter)(),[U,B]=(0,s.useState)(null),[_,H]=(0,s.useState)(!0),[J,D]=(0,s.useState)(0),I=(0,s.useCallback)(async()=>{H(!0);try{let[e,t]=await Promise.all([(0,R.FC)(),(0,R.Z3)().catch(()=>[])]);B(e),D(Array.isArray(t)?t.length:0)}catch(e){}finally{H(!1)}},[]);if((0,s.useEffect)(()=>{I();let e=setInterval(()=>{I()},1e4);return()=>clearInterval(e)},[I]),_&&!U)return(0,r.jsx)("div",{className:"flex justify-center py-16",children:(0,r.jsx)(c.A,{size:"large"})});let F=(null!=(t=null==U?void 0:U.cpu.usagePercent)?t:0)>80?"var(--colorDanger)":(null!=(n=null==U?void 0:U.cpu.usagePercent)?n:0)>50?"var(--colorWarning)":"var(--colorOk)",W=(null!=(m=null==U?void 0:U.memory.usagePercent)?m:0)>80?"var(--colorDanger)":(null!=(g=null==U?void 0:U.memory.usagePercent)?g:0)>50?"var(--colorWarning)":"var(--colorOk)",V=(null==U?void 0:U.tasks.total)?Math.round(U.tasks.success/U.tasks.total*100):0,q=null==U||null==(e=U.models)?void 0:e[0];return(0,r.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"pageTitle",children:E("overview.title")}),(0,r.jsx)("p",{className:"pageDesc",children:E("overview.description")})]}),(0,r.jsx)(i.Ay,{icon:(0,r.jsx)(f.A,{spin:_}),loading:_,onClick:()=>{I()},children:E("common.retry")})]}),(0,r.jsxs)(a.A,{gutter:[16,16],children:[(0,r.jsx)(l.A,{xs:24,sm:12,children:(0,r.jsx)(d.A,{size:"small",title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(j,{})," CPU"]}),children:(0,r.jsxs)("div",{style:{textAlign:"center"},children:[(0,r.jsx)(u.A,{type:"circle",percent:null!=(x=null==U?void 0:U.cpu.usagePercent)?x:0,size:120,strokeColor:F,format:e=>"".concat(null==e?void 0:e.toFixed(1),"%")}),(0,r.jsxs)("div",{className:"text-xs mt-2",style:{color:"var(--colorTextSecondary)"},children:[null!=(O=null==U?void 0:U.cpu.cores)?O:0," ",E("overview.cores")]})]})})}),(0,r.jsx)(l.A,{xs:24,sm:12,children:(0,r.jsx)(d.A,{size:"small",title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w.A,{})," ",E("overview.memory")]}),children:(0,r.jsxs)("div",{style:{textAlign:"center"},children:[(0,r.jsx)(u.A,{type:"circle",percent:null!=(S=null==U?void 0:U.memory.usagePercent)?S:0,size:120,strokeColor:W,format:e=>"".concat(e,"%")}),(0,r.jsxs)("div",{className:"text-xs mt-2",style:{color:"var(--colorTextSecondary)"},children:[null!=(C=null==U?void 0:U.memory.processMB)?C:0," MB / ",null!=(z=null==U?void 0:U.memory.totalMB)?z:0," MB"]})]})})})]}),(0,r.jsxs)(a.A,{gutter:[16,16],children:[(0,r.jsx)(l.A,{xs:12,sm:6,children:(0,r.jsx)(d.A,{size:"small",children:(0,r.jsx)(p.A,{title:E("overview.providersCount"),value:J,prefix:(0,r.jsx)(A.A,{})})})}),(0,r.jsx)(l.A,{xs:12,sm:6,children:(0,r.jsx)(d.A,{size:"small",children:(0,r.jsx)(p.A,{title:E("overview.tokensUsed"),value:null!=(N=null==U?void 0:U.tokens.total)?N:0,prefix:(0,r.jsx)(b.A,{})})})}),(0,r.jsx)(l.A,{xs:12,sm:6,children:(0,r.jsx)(d.A,{size:"small",children:(0,r.jsx)(p.A,{title:E("overview.tasksTotal"),value:null!=(L=null==U?void 0:U.tasks.total)?L:0,prefix:(0,r.jsx)(k.A,{})})})}),(0,r.jsx)(l.A,{xs:12,sm:6,children:(0,r.jsx)(d.A,{size:"small",children:(0,r.jsx)(p.A,{title:E("overview.successRate"),value:V,suffix:"%",prefix:V>80?(0,r.jsx)(T,{style:{color:"var(--colorOk)"}}):(0,r.jsx)(P,{style:{color:"var(--colorDanger)"}})})})})]}),(0,r.jsxs)(a.A,{gutter:[16,16],children:[(0,r.jsx)(l.A,{xs:24,sm:12,children:(0,r.jsx)(d.A,{size:"small",title:E("overview.topModel"),children:q?(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsx)(A.A,{style:{fontSize:24,color:"var(--colorAccent)"}}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-semibold",children:q.model}),(0,r.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:12},children:["@",q.provider," — ",q.count," ",E("overview.calls")]})]})]}):(0,r.jsx)("span",{style:{color:"var(--colorTextSecondary)"},children:E("common.noData")})})}),(0,r.jsx)(l.A,{xs:24,sm:12,children:(0,r.jsx)(d.A,{size:"small",title:E("overview.taskTypes"),children:(null==U?void 0:U.tasks.types)&&Object.keys(U.tasks.types).length>0?(0,r.jsx)(h.A,{wrap:!0,children:Object.entries(U.tasks.types).map(e=>{let[t,n]=e;return(0,r.jsxs)(v.A,{children:[t.slice(0,30),": ",n]},t)})}):(0,r.jsx)("span",{style:{color:"var(--colorTextSecondary)"},children:E("common.noData")})})})]}),(0,r.jsx)(d.A,{title:E("overview.quickActions"),size:"small",children:(0,r.jsxs)(h.A,{wrap:!0,children:[(0,r.jsx)(i.Ay,{onClick:()=>{M.push("/knowledge/manage")},children:E("overview.goToKnowledge")}),(0,r.jsx)(i.Ay,{onClick:()=>{M.push("/models")},children:E("overview.goToModels")}),(0,r.jsx)(i.Ay,{onClick:()=>{M.push("/settings")},children:E("overview.goToSettings")}),(0,r.jsx)(i.Ay,{onClick:()=>{M.push("/prompt")},children:E("nav.promptManagement")}),(0,r.jsx)(i.Ay,{onClick:()=>{M.push("/context/long-term")},children:E("nav.contextEngineering")})]})})]})}},5450:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"}},6109:(e,t,n)=>{e.exports=n(7212)},6374:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{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"}}]},name:"check-circle",theme:"outlined"}},6578:(e,t,n)=>{"use strict";async function r(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.text(),t=e||"HTTP ".concat(n.status);try{let n=JSON.parse(e);t=n.error||n.message||t}catch(e){}throw Error(t)}return n.json()}async function s(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return r("/api/kb/stats".concat(t))}async function o(e){var t,n;let s=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&s.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&s.set("category",e.category),(null==e?void 0:e.page)&&s.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&s.set("limit",String(null!=(n=e.limit)?n:50)),r("/api/kb/files?".concat(s))}async function c(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),r("/api/kb/files/detail?".concat(n))}async function i(e,t){return r("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function a(e,t,n){return r("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function l(e,t,n){let s=await new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=r.result,n=e.indexOf(",");t(n>=0?e.slice(n+1):e)},r.onerror=n,r.readAsDataURL(e)});return r("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,fileData:s,projectRoot:t,uploadId:n})})}async function d(e){return r("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function u(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),r("/api/kb/operations?".concat(t))}async function p(e,t){return r("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function h(e){return r("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function v(){return r("/api/kb/features")}async function y(e,t){var n,s,o,c,i;let a=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&a.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&a.set("category",t.category),(null==t?void 0:t.limit)&&a.set("limit",String(null!=(i=t.limit)?i:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&a.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(s=t.weights)?void 0:s.vector)!=null&&a.set("vectorWeight",String(t.weights.vector)),(null==t||null==(o=t.weights)?void 0:o.rewrite)!=null&&a.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(c=t.weights)?void 0:c.hybridBonus)!=null&&a.set("hybridBonus",String(t.weights.hybridBonus)),r("/api/kb/search?".concat(a))}async function f(){return r("/api/config/providers")}async function m(e,t){return r("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function g(e){return r("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function x(){return r("/api/config/models")}async function j(e){return r("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function w(e){return r("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function A(){return r("/api/system/stats")}async function b(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return r("/api/context".concat(n))}async function k(e){return r("/api/context?type=".concat(e,"&stats=1"))}async function O(e){return r("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function S(e){return r("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function T(e){return r("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function C(e,t){return r("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function z(e){return r("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Bh:()=>z,E:()=>S,FC:()=>A,H1:()=>h,HC:()=>i,HT:()=>o,PH:()=>O,QT:()=>d,Qx:()=>u,VW:()=>v,W2:()=>y,Z3:()=>f,_m:()=>m,aP:()=>j,bZ:()=>w,h1:()=>g,hc:()=>s,hn:()=>b,p:()=>k,pF:()=>l,tn:()=>a,xC:()=>c,xq:()=>p,xw:()=>T,zo:()=>C,zr:()=>x})},8200:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M704 446H320c-4.4 0-8 3.6-8 8v402c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8V454c0-4.4-3.6-8-8-8zm-328 64h272v117H376V510zm272 290H376V683h272v117z"}},{tag:"path",attrs:{d:"M424 748a32 32 0 1064 0 32 32 0 10-64 0zm0-178a32 32 0 1064 0 32 32 0 10-64 0z"}},{tag:"path",attrs:{d:"M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z"}}]},name:"cloud-server",theme:"outlined"}},8847:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z"}}]},name:"thunderbolt",theme:"outlined"}},9071:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(7109),s=n(8847),o=n(8483);function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let i=r.forwardRef((e,t)=>r.createElement(o.A,c({},e,{ref:t,icon:s.A})))}},e=>{e.O(0,[260,544,227,15,958,636,593,792],()=>e(e.s=3139)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[26],{2256:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=r(5341).A},2725:(e,t,r)=>{"use strict";r.d(t,{A:()=>i,U:()=>c});var n=r(7109),o=r(505),s=r(8921),a=r(4567);function c(e){return t=>n.createElement(s.Ay,{theme:{token:{motion:!1,zIndexPopupBase:0}}},n.createElement(e,{...t}))}let i=(e,t,r,s,i)=>c(c=>{let{prefixCls:l,style:d}=c,m=n.useRef(null),[p,u]=n.useState(0),[h,f]=n.useState(0),[v,g]=(0,o.PW)(!1,c.open),{getPrefixCls:j}=n.useContext(a.QO),x=j(s||"select",l);n.useEffect(()=>{if(g(!0),"undefined"!=typeof ResizeObserver){let e=new ResizeObserver(e=>{let t=e[0].target;u(t.offsetHeight+8),f(t.offsetWidth)}),t=setInterval(()=>{let r=i?`.${i(x)}`:`.${x}-dropdown`,n=m.current?.querySelector(r);n&&(clearInterval(t),e.observe(n))},10);return()=>{clearInterval(t),e.disconnect()}}},[x]);let y={...c,style:{...d,margin:0},open:v,getPopupContainer:()=>m.current};return r&&(y=r(y)),t&&(y={...y,[t]:{overflow:{adjustX:!1,adjustY:!1}}}),n.createElement("div",{ref:m,style:{paddingBottom:p,position:"relative",minWidth:h}},n.createElement(e,{...y}))})},2887:(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"}},3830:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"}},4084:(e,t)=>{"use strict";t.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:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"}},4508:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>S});var n=r(5321),o=r(7109),s=r(9018),a=r(7807),c=r(4253),i=r(2256),l=r(8770),d=r(8787),m=r(5114),p=r(6171),u=r(1702),h=r(5258),f=r(7576),v=r(6631),g=r(9650),j=r(8209),x=r(9606),y=r(8740);async function A(){let e=await fetch("/api/prompt");if(!e.ok)throw Error("Failed");return e.json()}async function w(e,t){let r=await fetch("/api/prompt",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:e,content:t})});if(!r.ok)throw Error("Failed");return r.json()}function S(){let e=(0,s.Vr)(),{message:t}=a.A.useApp(),[r,S]=(0,o.useState)(!0),[b,z]=(0,o.useState)([]),[O,E]=(0,o.useState)(!1),[C,T]=(0,o.useState)(null),[P,N]=(0,o.useState)(""),[H,M]=(0,o.useState)(!1),_=async()=>{S(!0);try{z(await A())}catch(r){t.error(e("common.error"))}finally{S(!1)}};(0,o.useEffect)(()=>{_()},[]);let k=async()=>{if(C){M(!0);try{await w(C.customizePath,P),t.success(e("common.success")),E(!1),await _()}catch(r){t.error(e("common.error"))}finally{M(!1)}}},F=async r=>{try{await fetch("/api/prompt",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:r})}),t.success(e("common.success")),await _()}catch(r){t.error(e("common.error"))}};return(0,n.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,n.jsx)("div",{className:"flex items-center justify-between",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"pageTitle",children:e("nav.promptManagement")}),(0,n.jsx)("p",{className:"pageDesc",children:e("prompt.description")})]})}),0!==b.length||r?null:(0,n.jsx)(c.A,{}),(0,n.jsx)(i.A,{gutter:[16,16],children:r?Array.from({length:3}).map((e,t)=>(0,n.jsx)(l.A,{xs:24,sm:12,lg:8,children:(0,n.jsx)(d.A,{loading:!0,size:"small"})},t)):b.map(t=>(0,n.jsx)(l.A,{xs:24,sm:12,lg:8,children:(0,n.jsxs)(d.A,{size:"small",title:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(v.A,{})," ",t.projectName]}),extra:(0,n.jsxs)("span",{style:{display:"flex",gap:4},children:[(0,n.jsx)(m.Ay,{size:"small",type:"text",icon:(0,n.jsx)(g.A,{}),onClick:()=>{T(t),N(t.content||""),E(!0)}}),(0,n.jsx)(p.A,{title:e("models.deleteProviderConfirm"),onConfirm:()=>{F(t.customizePath)},children:(0,n.jsx)(m.Ay,{size:"small",type:"text",danger:!0,icon:(0,n.jsx)(j.A,{})})})]}),children:[(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)",marginBottom:8},children:[(0,n.jsx)(x.A,{})," ",t.projectRoot]}),(0,n.jsxs)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)",marginBottom:8},children:[(0,n.jsx)(y.A,{})," ",t.mtime?new Date(t.mtime).toLocaleString():e("common.never")]}),t.hasFile?(0,n.jsx)(u.A,{color:"blue",children:e("prompt.hasFile")}):(0,n.jsx)(u.A,{color:"default",children:e("prompt.noFile")}),t.hasFile&&t.content&&(0,n.jsxs)("div",{style:{marginTop:8,padding:8,background:"var(--colorBgSecondary)",borderRadius:8,fontSize:12,maxHeight:80,overflow:"hidden",color:"var(--colorTextSecondary)",whiteSpace:"pre-wrap"},children:[t.content.slice(0,200),t.content.length>200?"...":""]})]})},t.projectId))}),0===b.length&&(0,n.jsx)(d.A,{size:"small",children:(0,n.jsx)("span",{style:{color:"var(--colorTextSecondary)"},children:e("prompt.noProjects")})}),(0,n.jsxs)(h.A,{title:"".concat(e("common.edit")," CUSTOMIZE.md — ").concat((null==C?void 0:C.projectName)||""),open:O,width:800,onCancel:()=>E(!1),onOk:()=>{k()},confirmLoading:H,children:[(0,n.jsx)("div",{style:{marginBottom:12,fontSize:12,color:"var(--colorTextSecondary)"},children:null==C?void 0:C.customizePath}),(0,n.jsx)(f.A.TextArea,{value:P,onChange:e=>N(e.target.value),rows:25,style:{fontFamily:"SF Mono, Monaco, Consolas, monospace",fontSize:13}})]})]})}},6631:(e,t,r)=>{"use strict";r.d(t,{A:()=>c});var n=r(7109),o=r(2887),s=r(8483);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 n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}let c=n.forwardRef((e,t)=>n.createElement(s.A,a({},e,{ref:t,icon:o.A})))},7549:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/prompt",function(){return r(4508)}])},8740:(e,t,r)=>{"use strict";r.d(t,{A:()=>c});var n=r(7109),o=r(4084),s=r(8483);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 n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}let c=n.forwardRef((e,t)=>n.createElement(s.A,a({},e,{ref:t,icon:o.A})))},8770:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=r(1916).A},9606:(e,t,r)=>{"use strict";r.d(t,{A:()=>c});var n=r(7109),o=r(3830),s=r(8483);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 n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}let c=n.forwardRef((e,t)=>n.createElement(s.A,a({},e,{ref:t,icon:o.A})))}},e=>{e.O(0,[260,544,425,576,492,636,593,792],()=>e(e.s=7549)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[199],{2290:e=>{e.exports={langIcon:"style_langIcon__TP4OY",dark:"style_dark__b9hWg",sectionTitle:"style_sectionTitle__kFQM6",sectionDesc:"style_sectionDesc__opDGs",metaText:"style_metaText__1_eoU",metaValue:"style_metaValue__uxkOj"}},4521:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>_});var l=t(5321),c=t(9018),i=t(9759),a=t(8787),n=t(1702),d=t(3340),x=t(1278);let r=(0,x.A)("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var m=t(6733),h=t(8300);let o=(0,x.A)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var j=t(2290),N=t.n(j);function _(){let e=(0,c.Vr)("settings"),{theme:s,resolvedTheme:t,setTheme:x}=(0,i.D)(),{locale:j,setLocale:_}=(0,c.x_)(),p=e=>{_(e)},v="system"===s?"system":t,y=e=>"applePill".concat(e?" applePillActive":"");return(0,l.jsxs)("div",{className:"space-y-5 max-w-2xl animateFadeIn",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{className:"pageTitle",children:e("title")}),(0,l.jsx)("p",{className:"pageDesc",children:e("description")})]}),(0,l.jsx)(a.A,{title:(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("div",{className:"statItemIcon ".concat(N().langIcon),children:(0,l.jsx)(d.A,{size:16})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-sm font-semibold ".concat(N().sectionTitle),children:e("language")}),(0,l.jsx)("div",{className:"text-xs ".concat(N().sectionDesc),children:e("languageDesc")})]})]}),children:(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)("button",{className:y("zh-CN"===j),onClick:()=>p("zh-CN"),children:"中文"}),(0,l.jsx)("button",{className:y("en-US"===j),onClick:()=>p("en-US"),children:"English"})]})}),(0,l.jsx)(a.A,{title:(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("div",{className:"statItemIcon",children:(0,l.jsx)(r,{size:16})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-sm font-semibold ".concat(N().sectionTitle),children:e("theme")}),(0,l.jsx)("div",{className:"text-xs ".concat(N().sectionDesc),children:e("themeDesc")})]})]}),children:(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsxs)("button",{className:y("light"===v),onClick:()=>x("light"),children:[(0,l.jsx)(m.A,{size:14}),e("light")]}),(0,l.jsxs)("button",{className:y("dark"===v),onClick:()=>x("dark"),children:[(0,l.jsx)(h.A,{size:14}),e("dark")]}),(0,l.jsxs)("button",{className:y("system"===v),onClick:()=>x("system"),children:[(0,l.jsx)(r,{size:14}),e("system")]})]})}),(0,l.jsx)(a.A,{title:(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("div",{className:"statItemIcon",children:(0,l.jsx)(o,{size:16})}),(0,l.jsx)("span",{className:"text-sm font-semibold ".concat(N().sectionTitle),children:e("about")})]}),children:(0,l.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:N().metaText,children:e("version")}),(0,l.jsx)(n.A,{color:"blue",children:"v0.1.0"})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:N().metaText,children:e("port")}),(0,l.jsx)("span",{className:N().metaValue,children:"17321"})]})]})})]})}},8451:(e,s,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/settings",function(){return t(4521)}])}},e=>{e.O(0,[260,636,593,792],()=>e(e.s=8451)),_N_E=e.O()}]);