@customize-agent/server 3.0.13 → 3.0.15

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 (208) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +210 -193
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +14 -0
  5. package/.next/routes-manifest.json +29 -14
  6. package/.next/server/chunks/3328.js +128 -0
  7. package/.next/server/chunks/3445.js +109 -61
  8. package/.next/server/chunks/{5076.js → 774.js} +25 -25
  9. package/.next/server/chunks/8204.js +1 -1
  10. package/.next/server/chunks/8645.js +1 -0
  11. package/.next/server/chunks/9199.js +2 -2
  12. package/.next/server/chunks/9270.js +1 -1
  13. package/.next/server/chunks/9301.js +2 -2
  14. package/.next/server/middleware-build-manifest.js +1 -1
  15. package/.next/server/pages/404.html +1 -1
  16. package/.next/server/pages/500.html +1 -1
  17. package/.next/server/pages/_app.js +1 -1
  18. package/.next/server/pages/_app.js.nft.json +1 -1
  19. package/.next/server/pages/_document.js +1 -1
  20. package/.next/server/pages/_document.js.nft.json +1 -1
  21. package/.next/server/pages/_error.js +1 -1
  22. package/.next/server/pages/_error.js.nft.json +1 -1
  23. package/.next/server/pages/api/assets/generated/preview.js +1 -0
  24. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -0
  25. package/.next/server/pages/api/assets/generated.js +1 -0
  26. package/.next/server/pages/api/assets/generated.js.nft.json +1 -0
  27. package/.next/server/pages/api/config/providers/[provider].js +1 -1
  28. package/.next/server/pages/api/config/providers.js +1 -1
  29. package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
  30. package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
  31. package/.next/server/pages/api/documents/export.js +14 -1
  32. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  33. package/.next/server/pages/api/documents/generate.js +1 -1
  34. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  35. package/.next/server/pages/api/documents/generated/[id].js +1 -0
  36. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -0
  37. package/.next/server/pages/api/documents/generated.js +1 -0
  38. package/.next/server/pages/api/documents/generated.js.nft.json +1 -0
  39. package/.next/server/pages/api/documents/roles.js +1 -1
  40. package/.next/server/pages/api/documents/specs.js +1 -1
  41. package/.next/server/pages/api/documents/templates.js +1 -1
  42. package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
  43. package/.next/server/pages/api/kb/categories.js +1 -56
  44. package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
  45. package/.next/server/pages/api/kb/duplicates.js +1 -56
  46. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
  47. package/.next/server/pages/api/kb/files/detail.js +3 -56
  48. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
  49. package/.next/server/pages/api/kb/files/open.js +1 -56
  50. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
  51. package/.next/server/pages/api/kb/files/preview-pdf-page.js +1 -56
  52. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
  53. package/.next/server/pages/api/kb/files/reindex.js +1 -56
  54. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
  55. package/.next/server/pages/api/kb/files.js +1 -56
  56. package/.next/server/pages/api/kb/files.js.nft.json +1 -1
  57. package/.next/server/pages/api/kb/ignore.js +1 -56
  58. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
  59. package/.next/server/pages/api/kb/operations.js +1 -56
  60. package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
  61. package/.next/server/pages/api/kb/reindex.js +1 -56
  62. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
  63. package/.next/server/pages/api/kb/search.js +1 -56
  64. package/.next/server/pages/api/kb/search.js.nft.json +1 -1
  65. package/.next/server/pages/api/kb/stats.js +1 -56
  66. package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
  67. package/.next/server/pages/api/kb/tags.js +1 -56
  68. package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
  69. package/.next/server/pages/api/kb/upload.js +1 -56
  70. package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
  71. package/.next/server/pages/api/prompt.js +1 -1
  72. package/.next/server/pages/asset-library.html +1 -0
  73. package/.next/server/pages/asset-library.js.nft.json +1 -0
  74. package/.next/server/pages/context/long-term.html +1 -1
  75. package/.next/server/pages/context/long-term.js.nft.json +1 -1
  76. package/.next/server/pages/context/short-term.html +1 -1
  77. package/.next/server/pages/context/short-term.js.nft.json +1 -1
  78. package/.next/server/pages/document-roles.html +1 -1
  79. package/.next/server/pages/document-roles.js.nft.json +1 -1
  80. package/.next/server/pages/document-specs.html +1 -1
  81. package/.next/server/pages/document-specs.js.nft.json +1 -1
  82. package/.next/server/pages/documents.html +1 -1
  83. package/.next/server/pages/documents.js.nft.json +1 -1
  84. package/.next/server/pages/guide.html +1 -1
  85. package/.next/server/pages/guide.js.nft.json +1 -1
  86. package/.next/server/pages/index.html +1 -1
  87. package/.next/server/pages/index.js.nft.json +1 -1
  88. package/.next/server/pages/knowledge/file-detail.html +1 -1
  89. package/.next/server/pages/knowledge/file-detail.js.nft.json +1 -1
  90. package/.next/server/pages/knowledge/files.html +1 -1
  91. package/.next/server/pages/knowledge/files.js.nft.json +1 -1
  92. package/.next/server/pages/knowledge/manage.html +1 -1
  93. package/.next/server/pages/knowledge/manage.js.nft.json +1 -1
  94. package/.next/server/pages/knowledge/search.html +1 -1
  95. package/.next/server/pages/knowledge/search.js.nft.json +1 -1
  96. package/.next/server/pages/knowledge.html +1 -1
  97. package/.next/server/pages/knowledge.js.nft.json +1 -1
  98. package/.next/server/pages/models.html +1 -1
  99. package/.next/server/pages/models.js.nft.json +1 -1
  100. package/.next/server/pages/overview.html +1 -1
  101. package/.next/server/pages/overview.js.nft.json +1 -1
  102. package/.next/server/pages/prompt.html +1 -1
  103. package/.next/server/pages/prompt.js.nft.json +1 -1
  104. package/.next/server/pages/settings.html +1 -1
  105. package/.next/server/pages/settings.js.nft.json +1 -1
  106. package/.next/server/pages-manifest.json +27 -22
  107. package/.next/static/chunks/15-4683808cb8db7005.js +4 -0
  108. package/.next/static/chunks/167-d4f384b289ecb70c.js +1 -0
  109. package/.next/static/chunks/174-51b6d64f21e9b976.js +10 -0
  110. package/.next/static/chunks/183-8da0232dd30cdc81.js +1 -0
  111. package/.next/static/chunks/20-8968ee2d4013a5b8.js +1 -0
  112. package/.next/static/chunks/224-9a7074031493793b.js +1 -0
  113. package/.next/static/chunks/232-813af4932a145fdc.js +6 -0
  114. package/.next/static/chunks/257-e4ebae17a8ee8412.js +1 -0
  115. package/.next/static/chunks/260-cec84dc6c353e104.js +28 -0
  116. package/.next/static/chunks/271-39045be4cdbd6af1.js +16 -0
  117. package/.next/static/chunks/292-f0a2c92861c304e6.js +16 -0
  118. package/.next/static/chunks/350-8c5e13c0577a38c3.js +1 -0
  119. package/.next/static/chunks/382-6ab5f41cd91edad0.js +25 -0
  120. package/.next/static/chunks/400-1fa1899b7c3f0bb4.js +78 -0
  121. package/.next/static/chunks/576-fd55b302cb0c9a48.js +4 -0
  122. package/.next/static/chunks/577-5b2691f0c8f17187.js +1 -0
  123. package/.next/static/chunks/617-68a9e848c380f9c3.js +1 -0
  124. package/.next/static/chunks/628-27424ba8ca9ca8ce.js +1 -0
  125. package/.next/static/chunks/700-5d29b0475311f590.js +1 -0
  126. package/.next/static/chunks/80-96429163e5c103a8.js +1 -0
  127. package/.next/static/chunks/858-5e6982e2b239d4b7.js +1 -0
  128. package/.next/static/chunks/881-a1eb917222b66f09.js +4 -0
  129. package/.next/static/chunks/935-daa0026982d7fa8d.js +1 -0
  130. package/.next/static/chunks/951-8ecf8af33ab36369.js +1 -0
  131. package/.next/static/chunks/969-5d5ff5a3ed74f52b.js +11 -0
  132. package/.next/static/chunks/985-4b4a3ed36ada16eb.js +4 -0
  133. package/.next/static/chunks/framework-161be364fd69a7ce.js +1 -0
  134. package/.next/static/chunks/main-ed4abb3bb200c815.js +1 -0
  135. package/.next/static/chunks/pages/_app-b1f31c6bbc0bb7b1.js +140 -0
  136. package/.next/static/chunks/pages/{_error-18decb9cd478883d.js → _error-282257fbdcc167b4.js} +1 -1
  137. package/.next/static/chunks/pages/asset-library-0f607b74fa016470.js +1 -0
  138. package/.next/static/chunks/pages/context/long-term-09e23b06634b08d9.js +1 -0
  139. package/.next/static/chunks/pages/context/short-term-2f5fd8531e87b5bd.js +1 -0
  140. package/.next/static/chunks/pages/document-roles-077fc7159c88e89e.js +1 -0
  141. package/.next/static/chunks/pages/document-specs-fb5b8a89cff6d1e3.js +1 -0
  142. package/.next/static/chunks/pages/documents-38320ae2fd50be35.js +1 -0
  143. package/.next/static/chunks/pages/guide-acf32d66a6df6e5a.js +1 -0
  144. package/.next/static/chunks/pages/index-c5e0758e6b31deee.js +1 -0
  145. package/.next/static/chunks/pages/knowledge/file-detail-ad1dc61c1413db0c.js +1 -0
  146. package/.next/static/chunks/pages/knowledge/files-896c058f2da5e907.js +1 -0
  147. package/.next/static/chunks/pages/knowledge/manage-6da10158f75718cf.js +1 -0
  148. package/.next/static/chunks/pages/knowledge/search-3fd704d2afa1af3e.js +1 -0
  149. package/.next/static/chunks/pages/knowledge-905248d8dcb15453.js +1 -0
  150. package/.next/static/chunks/pages/models-7bdf24068811ae91.js +1 -0
  151. package/.next/static/chunks/pages/overview-572bba4876e617f5.js +1 -0
  152. package/.next/static/chunks/pages/prompt-c9bc7884a44d3767.js +1 -0
  153. package/.next/static/chunks/pages/settings-68f0d05bf95d12da.js +1 -0
  154. package/.next/static/css/9af88fe8ee791d26.css +1 -0
  155. package/.next/static/customize-agent-dashboard/_buildManifest.js +1 -0
  156. package/README.md +18 -0
  157. package/next.config.ts +15 -6
  158. package/package.json +5 -5
  159. package/public/favicon.ico +1 -0
  160. package/.next/server/chunks/2583.js +0 -1
  161. package/.next/server/chunks/6352.js +0 -1
  162. package/.next/static/chunks/15-289cb38b53bafa4a.js +0 -4
  163. package/.next/static/chunks/167-9f45623d7ea7ab43.js +0 -1
  164. package/.next/static/chunks/174-e7df14600b457a5c.js +0 -10
  165. package/.next/static/chunks/201-b16b4788042ed1aa.js +0 -1
  166. package/.next/static/chunks/227-442963c7b630eade.js +0 -1
  167. package/.next/static/chunks/257-ba16dfe16a27f417.js +0 -1
  168. package/.next/static/chunks/260-7a7a65a3ca8539ba.js +0 -28
  169. package/.next/static/chunks/292-c2888a94068fae74.js +0 -16
  170. package/.next/static/chunks/382-dd7535429e16931b.js +0 -25
  171. package/.next/static/chunks/400-f06f00619f22421e.js +0 -78
  172. package/.next/static/chunks/446-0591221372df7d49.js +0 -4
  173. package/.next/static/chunks/455-e31becaaf948f868.js +0 -6
  174. package/.next/static/chunks/492-62671486700ed3f9.js +0 -1
  175. package/.next/static/chunks/517-f43787133528ba48.js +0 -1
  176. package/.next/static/chunks/668-662b7bc81e4ad48f.js +0 -4
  177. package/.next/static/chunks/730-727fe4b055c78dc2.js +0 -1
  178. package/.next/static/chunks/740-2bcba39d841f2b16.js +0 -16
  179. package/.next/static/chunks/746-120983153bceeea6.js +0 -1
  180. package/.next/static/chunks/804-e654a1589d9adc65.js +0 -11
  181. package/.next/static/chunks/846-fed995f7c83fc6c3.js +0 -1
  182. package/.next/static/chunks/851-1190cb42a0630eef.js +0 -1
  183. package/.next/static/chunks/891-b6a172e1df7ab8c1.js +0 -1
  184. package/.next/static/chunks/958-66e2dcf301fb3c3f.js +0 -1
  185. package/.next/static/chunks/969-8843874536e7fd83.js +0 -1
  186. package/.next/static/chunks/992-ea93dfa182a02a8e.js +0 -1
  187. package/.next/static/chunks/framework-b5223c1542334872.js +0 -1
  188. package/.next/static/chunks/main-1a03005b3754c708.js +0 -1
  189. package/.next/static/chunks/pages/_app-725afbb7d3371a13.js +0 -140
  190. package/.next/static/chunks/pages/context/long-term-dba1d735f2b5e12b.js +0 -1
  191. package/.next/static/chunks/pages/context/short-term-7cc72881b42b74fb.js +0 -1
  192. package/.next/static/chunks/pages/document-roles-0f24b162cfd49513.js +0 -1
  193. package/.next/static/chunks/pages/document-specs-991368925b27ceda.js +0 -1
  194. package/.next/static/chunks/pages/documents-93e638518deec9b5.js +0 -1
  195. package/.next/static/chunks/pages/guide-414134ce66270eb0.js +0 -1
  196. package/.next/static/chunks/pages/index-505bd438c95ec0e8.js +0 -1
  197. package/.next/static/chunks/pages/knowledge/file-detail-793d12234ccddac1.js +0 -1
  198. package/.next/static/chunks/pages/knowledge/files-1662e995b81e79aa.js +0 -1
  199. package/.next/static/chunks/pages/knowledge/manage-64ad6cdce068edb1.js +0 -1
  200. package/.next/static/chunks/pages/knowledge/search-fe148477dfe05966.js +0 -1
  201. package/.next/static/chunks/pages/knowledge-81fd1e907a6fcb84.js +0 -1
  202. package/.next/static/chunks/pages/models-0fb086e70387dde1.js +0 -1
  203. package/.next/static/chunks/pages/overview-db5df4f0bec2a77c.js +0 -1
  204. package/.next/static/chunks/pages/prompt-aa556d7a438117f1.js +0 -1
  205. package/.next/static/chunks/pages/settings-88f50b9cafc389e0.js +0 -1
  206. package/.next/static/css/5237c5e3358f3282.css +0 -1
  207. package/.next/static/yL_ilPc9XJWtNmN2W4Njc/_buildManifest.js +0 -1
  208. /package/.next/static/{yL_ilPc9XJWtNmN2W4Njc → customize-agent-dashboard}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[414],{6578:(e,n,t)=>{"use strict";async function o(e,n){let t=await fetch(e,n);if(!t.ok){let e=await t.text(),n=e||"HTTP ".concat(t.status);try{let t=JSON.parse(e);n=t.error||t.message||n}catch(e){}throw Error(n)}return t.json()}async function a(e){let n=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return o("/api/kb/stats".concat(n))}async function i(e){var n,t;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!=(n=e.page)?n:1)),(null==e?void 0:e.limit)&&a.set("limit",String(null!=(t=e.limit)?t:50)),o("/api/kb/files?".concat(a))}async function c(e,n){let t=new URLSearchParams({relativePath:e});return n&&t.set("projectRoot",n),o("/api/kb/files/detail?".concat(t))}async function r(e,n){return o("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function s(e,n,t){return o("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:n,projectRoot:t})})}async function l(e){return new Promise((n,t)=>{let o=new FileReader;o.onload=()=>{let e=o.result,t=e.indexOf(",");n(t>=0?e.slice(t+1):e)},o.onerror=t,o.readAsDataURL(e)})}async function d(e,n,t){return o("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:await Promise.all(e.map(async e=>({fileName:e.name,fileData:await l(e),relativePath:e.webkitRelativePath||void 0}))),projectRoot:n,uploadId:t})})}async function u(e){return o("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function p(e){let n=new URLSearchParams({limit:"50"});return e&&n.set("projectRoot",e),o("/api/kb/operations?".concat(n))}async function y(e){let n=new URLSearchParams;return e&&n.set("projectRoot",e),o("/api/kb/operations?".concat(n),{method:"DELETE"})}async function f(e,n){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function h(e,n){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePaths:e,projectRoot:n})})}async function m(e){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({all:!0,projectRoot:e})})}async function g(e){return o("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function b(){return o("/api/kb/features")}async function S(e,n){var t,a,i,c,r;let s=new URLSearchParams({q:e});return(null==n?void 0:n.projectRoot)&&s.set("projectRoot",n.projectRoot),(null==n?void 0:n.category)&&s.set("category",n.category),(null==n?void 0:n.limit)&&s.set("limit",String(null!=(r=n.limit)?r:20)),(null==n||null==(t=n.weights)?void 0:t.keyword)!=null&&s.set("keywordWeight",String(n.weights.keyword)),(null==n||null==(a=n.weights)?void 0:a.vector)!=null&&s.set("vectorWeight",String(n.weights.vector)),(null==n||null==(i=n.weights)?void 0:i.rewrite)!=null&&s.set("rewriteWeight",String(n.weights.rewrite)),(null==n||null==(c=n.weights)?void 0:c.hybridBonus)!=null&&s.set("hybridBonus",String(n.weights.hybridBonus)),o("/api/kb/search?".concat(s))}async function w(){return o("/api/prompt")}async function k(e){return o("/api/documents/roles".concat(e?"?type=".concat(e):""))}async function T(e){return o("/api/documents/roles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function j(e,n){return o("/api/documents/roles?type=".concat(e,"&id=").concat(encodeURIComponent(n)),{method:"DELETE"})}async function x(e){return o("/api/documents/roles?mode=config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function v(e){return o("/api/documents/roles?mode=config&id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function C(){return o("/api/documents/specs")}async function E(e){return o("/api/documents/specs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function O(e){return o("/api/documents/specs?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function N(){return o("/api/documents/templates")}async function P(e){return o("/api/documents/templates",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function A(e){return o("/api/documents/templates?templateId=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function R(e){return o("/api/documents/templates",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:e})})}async function J(e){return o("/api/documents/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function U(){return o("/api/documents/generated")}async function D(e){return o("/api/documents/generated/".concat(encodeURIComponent(e)))}async function I(e,n){return o("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function z(){return o("/api/assets/generated")}async function L(e){return o("/api/assets/generated?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function _(e){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"index"})})}async function B(e,n){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"open",target:n})})}async function H(e){return o("/api/documents/chapter/regenerate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function M(e,n){return o("/api/documents/drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,id:n})})}async function V(e){let n=await fetch("/api/documents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok)throw Error(await n.text());return n.blob()}async function W(){return o("/api/config/providers")}async function F(e,n){return o("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...n})})}async function X(e){return o("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function Q(){return o("/api/config/models")}async function q(e){return o("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function K(){return o("/api/config/embedding")}async function Z(e){return o("/api/config/embedding",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function G(){return o("/api/config/embedding/healthCheck",{method:"POST"})}async function $(e){return o("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function Y(){return o("/api/system/stats")}async function ee(e,n){let t=n?"?type=".concat(e,"&search=").concat(encodeURIComponent(n)):"?type=".concat(e);return o("/api/context".concat(t))}async function en(e){return o("/api/context?type=".concat(e,"&stats=1"))}async function et(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function eo(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function ea(e){return o("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function ei(e,n){return o("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...n})})}async function ec(e){return o("/api/config/providers/".concat(encodeURIComponent(e)))}t.d(n,{Af:()=>M,Bh:()=>ec,Dl:()=>N,E:()=>eo,EK:()=>E,ER:()=>O,FC:()=>Y,FV:()=>j,H1:()=>g,H7:()=>y,HC:()=>r,HT:()=>i,II:()=>K,JU:()=>L,NR:()=>x,OX:()=>J,PH:()=>et,QT:()=>u,Qx:()=>p,R1:()=>H,SJ:()=>h,UE:()=>V,VW:()=>b,W2:()=>S,X8:()=>m,Z3:()=>W,_m:()=>F,a6:()=>I,aP:()=>q,bV:()=>R,bZ:()=>$,c1:()=>d,cQ:()=>U,dd:()=>Z,dg:()=>T,dw:()=>v,dx:()=>w,f$:()=>z,h0:()=>A,h1:()=>X,hc:()=>a,hn:()=>ee,l2:()=>P,lv:()=>k,mx:()=>C,oS:()=>B,p:()=>en,tn:()=>s,u6:()=>G,uc:()=>_,v7:()=>D,xC:()=>c,xq:()=>f,xw:()=>ea,zo:()=>ei,zr:()=>Q})},45551:(e,n,t)=>{"use strict";function o(e){if(0===e)return"0 B";let n=Math.floor(Math.log(e)/Math.log(1024)),t=e/Math.pow(1024,n);return"".concat(t.toFixed(+(0!==n))," ").concat(["B","KB","MB","GB","TB"][n])}function a(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===n?"Never":"从未";let t=Math.floor(Math.floor((Date.now()-e)/1e3)/60),o=Math.floor(t/60),a=Math.floor(o/24);return a>30?new Date(e).toLocaleDateString(n):"en-US"===n?a>0?"".concat(a,"d ago"):o>0?"".concat(o,"h ago"):t>0?"".concat(t,"m ago"):"Just now":a>0?"".concat(a," 天前"):o>0?"".concat(o," 小时前"):t>0?"".concat(t," 分钟前"):"刚刚"}t.d(n,{Jm:()=>r,fw:()=>a,z3:()=>o});let i={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},c={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function r(e){var n;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(n=("en-US"===t?c:i)[e])?n:e}},50423:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>E});var o=t(65321),a=t(97109),i=t(34986),c=t(13014),r=t(17807),s=t(33442),l=t(85114),d=t(2256),u=t(38770),p=t(68787),y=t(54849),f=t(49292),h=t(59400),m=t(11702),g=t(29606),b=t(30486),S=t(99811),w=t(56768),k=t(26619),T=t(93314),j=t(58740),x=t(6578),v=t(45551);let C=["document","spreadsheet","image","cad","code","data","web","diagram","archive","other"];function E(){var e,n,t;let E=(0,c.Vr)(),{locale:O}=(0,c.x_)(),N=(0,i.useRouter)(),{stats:P,loading:A,reload:R}=function(){let[e,n]=(0,a.useState)(null),[t,o]=(0,a.useState)(!1),i=(0,a.useCallback)(async()=>{o(!0);try{n(await (0,x.hc)())}catch(e){}finally{o(!1)}},[]);return(0,a.useEffect)(()=>{i()},[i]),{stats:e,loading:t,reload:i}}(),J=function(){let[e,n]=(0,a.useState)(null);return(0,a.useEffect)(()=>{(0,x.VW)().then(n).catch(()=>{})},[]),e}(),{reindexing:U,reindex:D}=function(){let[e,n]=(0,a.useState)(!1);return{reindexing:e,reindex:(0,a.useCallback)(async()=>{n(!0);try{return await (0,x.H1)(),!0}catch(e){return!1}finally{n(!1)}},[])}}(),[I,z]=(0,a.useState)("document"),[L,_]=(0,a.useState)({count:0,totalSize:0}),{message:B}=r.A.useApp(),H=(0,a.useCallback)(async e=>{try{let n=await (0,x.HT)({category:e,limit:1e4}),t=0;if(Array.isArray(n.files))for(let e of n.files)t+=e.fileSize||0;_({count:n.total||0,totalSize:t})}catch(e){_({count:0,totalSize:0})}},[]);(0,a.useEffect)(()=>{H(I)},[I,H]);let M=async()=>{await D()?await Promise.all([R(),H(I)]):B.error(E("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:E("knowledge.manageTitle")}),(0,o.jsx)("p",{className:"pageDesc",children:E("knowledge.manageDesc")})]}),(0,o.jsxs)(s.A,{children:[(0,o.jsx)(l.Ay,{icon:(0,o.jsx)(g.A,{}),onClick:()=>N.push("/knowledge/files"),children:E("knowledge.files")}),(0,o.jsx)(l.Ay,{icon:(0,o.jsx)(b.A,{}),onClick:()=>N.push("/knowledge/search"),children:E("knowledge.search")}),(0,o.jsx)(l.Ay,{icon:(0,o.jsx)(S.A,{}),loading:U,onClick:()=>{M()},children:E("knowledge.reindex")})]})]}),(0,o.jsx)(d.A,{gutter:[16,16],children:[{icon:(0,o.jsx)(w.A,{}),label:E("knowledge.totalFiles"),value:null!=(e=null==P?void 0:P.fileCount)?e:0},{icon:(0,o.jsx)(k.A,{}),label:E("knowledge.totalChunks"),value:null!=(n=null==P?void 0:P.chunkCount)?n:0},{icon:(0,o.jsx)(T.A,{}),label:E("knowledge.totalSize"),value:(0,v.z3)(null!=(t=null==P?void 0:P.totalSizeBytes)?t:0)},{icon:(0,o.jsx)(j.A,{}),label:E("knowledge.lastIndexed"),value:(null==P?void 0:P.lastIndexedAt)?(0,v.fw)(P.lastIndexedAt,O):E("common.never")}].map((e,n)=>(0,o.jsx)(u.A,{xs:12,sm:6,children:(0,o.jsx)(p.A,{size:"small",loading:A&&!P,children:(0,o.jsx)(y.A,{title:e.label,value:e.value,prefix:e.icon})})},n))}),(0,o.jsxs)(p.A,{title:E("knowledge.categories"),size:"small",children:[(0,o.jsx)(f.A,{value:I,onChange:e=>z(String(e)),options:C.map(e=>({label:(0,v.Jm)(e,O),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)(y.A,{title:E("knowledge.fileCount"),value:L.count,prefix:(0,o.jsx)(w.A,{})})}),(0,o.jsx)(u.A,{xs:12,sm:8,children:(0,o.jsx)(y.A,{title:E("knowledge.totalSize"),value:(0,v.z3)(L.totalSize),prefix:(0,o.jsx)(T.A,{})})})]})]}),J&&(0,o.jsx)(p.A,{title:E("knowledge.features"),size:"small",children:(0,o.jsx)(h.A,{dataSource:[{key:"vectorStore",label:"Vector Store",desc:E("knowledge.featureVectorStoreDesc"),value:J.vectorStore},{key:"embedding",label:"Embedding",desc:E("knowledge.featureEmbeddingDesc"),value:J.embeddingProvider},{key:"dedup",label:E("knowledge.featureDedup"),desc:E("knowledge.featureDedupDesc"),value:J.dedupEngine},{key:"chunker",label:E("knowledge.featureChunker"),desc:E("knowledge.featureChunkerDesc"),value:J.chunker}],columns:[{title:E("knowledge.featureName"),dataIndex:"label",key:"label",width:120},{title:E("knowledge.featureDesc"),dataIndex:"desc",key:"desc"},{title:E("knowledge.featureValue"),dataIndex:"value",key:"value",render:e=>(0,o.jsx)(m.A,{color:"blue",children:e})}],pagination:!1,size:"small"})})]})}},54178:(e,n,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/manage",function(){return t(50423)}])}},e=>{e.O(0,[260,167,382,628,271,700,174,985,400,577,935,636,593,792],()=>e(e.s=54178)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[207],{838:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"}},4184:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>S});var s=n(65321),r=n(43220),a=n.n(r),o=n(97109),i=n(35292),c=n(68787),l=n(33442),d=n(7576),u=n(85114),p=n(94992),h=n(76506),y=n(11702),m=n(85493),f=n(42700),g=n(84253),j=n(30486),b=n(6578),x=n(14569),w=n.n(x);let{Paragraph:v}=i.A;function _(e){return"number"==typeof e?e.toFixed(2):"-"}function S(){var e,t,n;let[r,i]=(0,o.useState)(""),[x,S]=(0,o.useState)(!1),[T,C]=(0,o.useState)([]),[O,P]=(0,o.useState)(),[E,k]=(0,o.useState)(),[N,R]=(0,o.useState)(""),[A,I]=(0,o.useState)({keyword:1,vector:.9,rewrite:.72,hybridBonus:.35}),U=async()=>{let e=r.trim();if(e){S(!0),R("");try{let t=await (0,b.W2)(e,{limit:10,weights:A});C(t.results),P(t.queryTimeMs),k(t.debug)}catch(e){C([]),R(e instanceof Error?e.message:"搜索失败")}finally{S(!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)(c.A,{size:"small",children:(0,s.jsxs)(l.A.Compact,{className:"w-full",children:[(0,s.jsx)(d.A,{value:r,onChange:e=>i(e.target.value),onPressEnter:()=>{U()},placeholder:"输入要搜索的知识库内容"}),(0,s.jsx)(u.Ay,{type:"primary",icon:(0,s.jsx)(j.A,{}),loading:x,onClick:()=>{U()},children:"搜索"})]})}),(0,s.jsx)(c.A,{size:"small",title:"召回权重调节",children:(0,s.jsxs)(l.A,{wrap:!0,children:[(0,s.jsxs)("span",{children:["Keyword ",(0,s.jsx)(p.A,{min:0,max:5,step:.1,value:A.keyword,onChange:e=>I(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:A.vector,onChange:e=>I(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:A.rewrite,onChange:e=>I(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:A.hybridBonus,onChange:e=>I(t=>({...t,hybridBonus:Number(null!=e?e:.35)}))})]})]})}),E&&(0,s.jsx)(c.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:E.originalQuery}),(0,s.jsx)(h.A.Item,{label:"Reranker",children:E.reranker}),(0,s.jsx)(h.A.Item,{label:"查询改写",span:2,children:(0,s.jsx)(l.A,{wrap:!0,children:null==(e=E.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)(l.A,{wrap:!0,children:Object.entries(null!=(t=E.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)(l.A,{wrap:!0,children:Object.entries(null!=(n=E.weights)?n:{}).map(e=>{let[t,n]=e;return(0,s.jsxs)(y.A,{children:[t,": ",n]},t)})})})]})}),(0,s.jsxs)(c.A,{size:"small",title:"搜索结果",extra:"number"==typeof O?"".concat(O," ms"):void 0,children:[N?(0,s.jsx)(m.A,{type:"error",showIcon:!0,message:"搜索失败",description:N,className:"mb-4"}):null,x?(0,s.jsx)(f.A,{}):0===T.length?(0,s.jsx)(g.A,{description:"暂无结果"}):(0,s.jsx)("div",{className:w().searchResultList,children:T.map(e=>{var t,n,o,i,c,d;return(0,s.jsxs)("div",{className:w().searchResultItem,children:[(0,s.jsxs)("div",{className:w().searchResultHeader,children:[(0,s.jsxs)(l.A,{size:8,wrap:!0,children:[(0,s.jsx)(y.A,{color:"hybrid"===e.source?"purple":"vector"===e.source?"blue":"green",children:null!=(d=e.source)?d:"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:_(e.score)})]}),(0,s.jsxs)("div",{className:w().statusPath,children:[(0,s.jsx)(a(),{href:"/knowledge/file-detail?relativePath=".concat(encodeURIComponent(e.filePath)),children:e.filePath}),"number"==typeof e.chunkIndex?" #".concat(e.chunkIndex):""]}),(0,s.jsx)(v,{ellipsis:{rows:6,expandable:!0,symbol:"展开"},className:w().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:w().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:w().statusMeta,children:[(0,s.jsxs)("span",{children:["keyword ",(0,s.jsx)("b",{children:_(null==(t=e.scoreDetails)?void 0:t.keywordScore)})]}),(0,s.jsxs)("span",{children:["bm25 ",(0,s.jsx)("b",{children:_(null==(n=e.scoreDetails)?void 0:n.bm25Score)})]}),(0,s.jsxs)("span",{children:["vector ",(0,s.jsx)("b",{children:_(null==(o=e.scoreDetails)?void 0:o.vectorScore)})]}),(0,s.jsxs)("span",{children:["rerank ",(0,s.jsx)("b",{children:_(null==(i=e.scoreDetails)?void 0:i.rerankBoost)})]}),(0,s.jsxs)("span",{children:["hybrid ",(0,s.jsx)("b",{children:_(null==(c=e.scoreDetails)?void 0:c.hybridScore)})]})]})]},e.id)})})]})]})}},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 a(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 o(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),s("/api/kb/files/detail?".concat(n))}async function i(e,t){return s("/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 s("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function l(e){return 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)})}async function d(e,t,n){return s("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:await Promise.all(e.map(async e=>({fileName:e.name,fileData:await l(e),relativePath:e.webkitRelativePath||void 0}))),projectRoot:t,uploadId:n})})}async function u(e){return s("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function p(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),s("/api/kb/operations?".concat(t))}async function h(e){let t=new URLSearchParams;return e&&t.set("projectRoot",e),s("/api/kb/operations?".concat(t),{method:"DELETE"})}async function y(e,t){return s("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function m(e,t){return s("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePaths:e,projectRoot:t})})}async function f(e){return s("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({all:!0,projectRoot:e})})}async function g(e){return s("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function j(){return s("/api/kb/features")}async function b(e,t){var n,r,a,o,i;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!=(i=t.limit)?i:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&c.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(r=t.weights)?void 0:r.vector)!=null&&c.set("vectorWeight",String(t.weights.vector)),(null==t||null==(a=t.weights)?void 0:a.rewrite)!=null&&c.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(o=t.weights)?void 0:o.hybridBonus)!=null&&c.set("hybridBonus",String(t.weights.hybridBonus)),s("/api/kb/search?".concat(c))}async function x(){return s("/api/prompt")}async function w(e){return s("/api/documents/roles".concat(e?"?type=".concat(e):""))}async function v(e){return s("/api/documents/roles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function _(e,t){return s("/api/documents/roles?type=".concat(e,"&id=").concat(encodeURIComponent(t)),{method:"DELETE"})}async function S(e){return s("/api/documents/roles?mode=config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function T(e){return s("/api/documents/roles?mode=config&id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function C(){return s("/api/documents/specs")}async function O(e){return s("/api/documents/specs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function P(e){return s("/api/documents/specs?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function E(){return s("/api/documents/templates")}async function k(e){return s("/api/documents/templates",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function N(e){return s("/api/documents/templates?templateId=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function R(e){return s("/api/documents/templates",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:e})})}async function A(e){return s("/api/documents/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function I(){return s("/api/documents/generated")}async function U(e){return s("/api/documents/generated/".concat(encodeURIComponent(e)))}async function J(e,t){return s("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async function L(){return s("/api/assets/generated")}async function D(e){return s("/api/assets/generated?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function H(e){return s("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"index"})})}async function B(e,t){return s("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"open",target:t})})}async function z(e){return s("/api/documents/chapter/regenerate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function V(e,t){return s("/api/documents/drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,id:t})})}async function X(e){let t=await fetch("/api/documents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error(await t.text());return t.blob()}async function F(){return s("/api/config/providers")}async function M(e,t){return s("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function W(e){return s("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function K(){return s("/api/config/models")}async function Q(e){return s("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function q(){return s("/api/config/embedding")}async function Z(e){return s("/api/config/embedding",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function $(){return s("/api/config/embedding/healthCheck",{method:"POST"})}async function G(e){return s("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function Y(){return s("/api/system/stats")}async function ee(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return s("/api/context".concat(n))}async function et(e){return s("/api/context?type=".concat(e,"&stats=1"))}async function en(e){return s("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function es(e){return s("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function er(e){return s("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function ea(e,t){return s("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function eo(e){return s("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Af:()=>V,Bh:()=>eo,Dl:()=>E,E:()=>es,EK:()=>O,ER:()=>P,FC:()=>Y,FV:()=>_,H1:()=>g,H7:()=>h,HC:()=>i,HT:()=>a,II:()=>q,JU:()=>D,NR:()=>S,OX:()=>A,PH:()=>en,QT:()=>u,Qx:()=>p,R1:()=>z,SJ:()=>m,UE:()=>X,VW:()=>j,W2:()=>b,X8:()=>f,Z3:()=>F,_m:()=>M,a6:()=>J,aP:()=>Q,bV:()=>R,bZ:()=>G,c1:()=>d,cQ:()=>I,dd:()=>Z,dg:()=>v,dw:()=>T,dx:()=>x,f$:()=>L,h0:()=>N,h1:()=>W,hc:()=>r,hn:()=>ee,l2:()=>k,lv:()=>w,mx:()=>C,oS:()=>B,p:()=>et,tn:()=>c,u6:()=>$,uc:()=>H,v7:()=>U,xC:()=>o,xq:()=>y,xw:()=>er,zo:()=>ea,zr:()=>K})},9208:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/search",function(){return n(4184)}])},14569:e=>{e.exports={featureLabel:"style_featureLabel__XFSTX",featureValue:"style_featureValue__I_wMP",filterInput:"style_filterInput__4_Elu",filterSelect:"style_filterSelect__vUBJ9",statusPanel:"style_statusPanel__9arTu",statusPanelHeader:"style_statusPanelHeader__nKv1I",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"}},60470:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var s=n(97109),r=n(838),a=n(88483);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e}).apply(this,arguments)}let i=s.forwardRef((e,t)=>s.createElement(a.A,o({},e,{ref:t,icon:r.A})))},63214:(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"}},84190:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var s=n(97109),r=n(63214),a=n(88483);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e}).apply(this,arguments)}let i=s.forwardRef((e,t)=>s.createElement(a.A,o({},e,{ref:t,icon:r.A})))}},e=>{e.O(0,[260,167,382,628,576,700,292,20,350,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],{29735:(e,n,u)=>{"use strict";u.r(n),u.d(n,{default:()=>l});var _=u(97109),t=u(86109);function l(){let e=(0,t.useRouter)();return(0,_.useEffect)(()=>{e.replace("/knowledge/manage")},[e]),null}},74183:(e,n,u)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge",function(){return u(29735)}])}},e=>{e.O(0,[636,593,792],()=>e(e.s=74183)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[46],{69:(e,n)=>{"use strict";n.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"}},2256:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});let a=t(25341).A},5450:(e,n)=>{"use strict";n.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"}},6578:(e,n,t)=>{"use strict";async function a(e,n){let t=await fetch(e,n);if(!t.ok){let e=await t.text(),n=e||"HTTP ".concat(t.status);try{let t=JSON.parse(e);n=t.error||t.message||n}catch(e){}throw Error(n)}return t.json()}async function o(e){let n=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return a("/api/kb/stats".concat(n))}async function s(e){var n,t;let o=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&o.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&o.set("category",e.category),(null==e?void 0:e.page)&&o.set("page",String(null!=(n=e.page)?n:1)),(null==e?void 0:e.limit)&&o.set("limit",String(null!=(t=e.limit)?t:50)),a("/api/kb/files?".concat(o))}async function i(e,n){let t=new URLSearchParams({relativePath:e});return n&&t.set("projectRoot",n),a("/api/kb/files/detail?".concat(t))}async function c(e,n){return a("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function l(e,n,t){return a("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:n,projectRoot:t})})}async function r(e){return new Promise((n,t)=>{let a=new FileReader;a.onload=()=>{let e=a.result,t=e.indexOf(",");n(t>=0?e.slice(t+1):e)},a.onerror=t,a.readAsDataURL(e)})}async function d(e,n,t){return a("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:await Promise.all(e.map(async e=>({fileName:e.name,fileData:await r(e),relativePath:e.webkitRelativePath||void 0}))),projectRoot:n,uploadId:t})})}async function m(e){return a("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function p(e){let n=new URLSearchParams({limit:"50"});return e&&n.set("projectRoot",e),a("/api/kb/operations?".concat(n))}async function u(e){let n=new URLSearchParams;return e&&n.set("projectRoot",e),a("/api/kb/operations?".concat(n),{method:"DELETE"})}async function h(e,n){return a("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function y(e,n){return a("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePaths:e,projectRoot:n})})}async function f(e){return a("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({all:!0,projectRoot:e})})}async function g(e){return a("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function v(){return a("/api/kb/features")}async function b(e,n){var t,o,s,i,c;let l=new URLSearchParams({q:e});return(null==n?void 0:n.projectRoot)&&l.set("projectRoot",n.projectRoot),(null==n?void 0:n.category)&&l.set("category",n.category),(null==n?void 0:n.limit)&&l.set("limit",String(null!=(c=n.limit)?c:20)),(null==n||null==(t=n.weights)?void 0:t.keyword)!=null&&l.set("keywordWeight",String(n.weights.keyword)),(null==n||null==(o=n.weights)?void 0:o.vector)!=null&&l.set("vectorWeight",String(n.weights.vector)),(null==n||null==(s=n.weights)?void 0:s.rewrite)!=null&&l.set("rewriteWeight",String(n.weights.rewrite)),(null==n||null==(i=n.weights)?void 0:i.hybridBonus)!=null&&l.set("hybridBonus",String(n.weights.hybridBonus)),a("/api/kb/search?".concat(l))}async function j(){return a("/api/prompt")}async function x(e){return a("/api/documents/roles".concat(e?"?type=".concat(e):""))}async function A(e){return a("/api/documents/roles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function C(e,n){return a("/api/documents/roles?type=".concat(e,"&id=").concat(encodeURIComponent(n)),{method:"DELETE"})}async function S(e){return a("/api/documents/roles?mode=config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function w(e){return a("/api/documents/roles?mode=config&id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function O(){return a("/api/documents/specs")}async function T(e){return a("/api/documents/specs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function N(e){return a("/api/documents/specs?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function P(){return a("/api/documents/templates")}async function k(e){return a("/api/documents/templates",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function E(e){return a("/api/documents/templates?templateId=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function R(e){return a("/api/documents/templates",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:e})})}async function U(e){return a("/api/documents/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function _(){return a("/api/documents/generated")}async function I(e){return a("/api/documents/generated/".concat(encodeURIComponent(e)))}async function z(e,n){return a("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function L(){return a("/api/assets/generated")}async function J(e){return a("/api/assets/generated?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function M(e){return a("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"index"})})}async function D(e,n){return a("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"open",target:n})})}async function K(e){return a("/api/documents/chapter/regenerate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function H(e,n){return a("/api/documents/drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,id:n})})}async function V(e){let n=await fetch("/api/documents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok)throw Error(await n.text());return n.blob()}async function B(){return a("/api/config/providers")}async function F(e,n){return a("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...n})})}async function G(e){return a("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function W(){return a("/api/config/models")}async function X(e){return a("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function Z(){return a("/api/config/embedding")}async function q(e){return a("/api/config/embedding",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function Q(){return a("/api/config/embedding/healthCheck",{method:"POST"})}async function Y(e){return a("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function $(){return a("/api/system/stats")}async function ee(e,n){let t=n?"?type=".concat(e,"&search=").concat(encodeURIComponent(n)):"?type=".concat(e);return a("/api/context".concat(t))}async function en(e){return a("/api/context?type=".concat(e,"&stats=1"))}async function et(e){return a("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function ea(e){return a("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function eo(e){return a("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function es(e,n){return a("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...n})})}async function ei(e){return a("/api/config/providers/".concat(encodeURIComponent(e)))}t.d(n,{Af:()=>H,Bh:()=>ei,Dl:()=>P,E:()=>ea,EK:()=>T,ER:()=>N,FC:()=>$,FV:()=>C,H1:()=>g,H7:()=>u,HC:()=>c,HT:()=>s,II:()=>Z,JU:()=>J,NR:()=>S,OX:()=>U,PH:()=>et,QT:()=>m,Qx:()=>p,R1:()=>K,SJ:()=>y,UE:()=>V,VW:()=>v,W2:()=>b,X8:()=>f,Z3:()=>B,_m:()=>F,a6:()=>z,aP:()=>X,bV:()=>R,bZ:()=>Y,c1:()=>d,cQ:()=>_,dd:()=>q,dg:()=>A,dw:()=>w,dx:()=>j,f$:()=>L,h0:()=>E,h1:()=>G,hc:()=>o,hn:()=>ee,l2:()=>k,lv:()=>x,mx:()=>O,oS:()=>D,p:()=>en,tn:()=>l,u6:()=>Q,uc:()=>M,v7:()=>I,xC:()=>i,xq:()=>h,xw:()=>eo,zo:()=>es,zr:()=>W})},13114:(e,n,t)=>{"use strict";t.d(n,{A:()=>c});var a=t(97109),o=t(5450),s=t(88483);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let c=a.forwardRef((e,n)=>a.createElement(s.A,i({},e,{ref:n,icon:o.A})))},15527:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>K});var a=t(65321),o=t(97109),s=t(13014),i=t(17807),c=t(85114),l=t(68787),r=t(2256),d=t(38770),m=t(33442),p=t(26171),u=t(11702),h=t(85493),y=t(63455),f=t(57271),g=t(7576),v=t(94992),b=t(25258),j=t(56985),x=t(54746),A=t(29071),C=t(59188),S=t(4216),w=t(13114),O=t(99650),T=t(58209),N=t(69),P=t(88483);function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let E=o.forwardRef((e,n)=>o.createElement(P.A,k({},e,{ref:n,icon:N.A})));var R=t(30289);function U(){return(U=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let _=o.forwardRef((e,n)=>o.createElement(P.A,U({},e,{ref:n,icon:R.A})));var I=t(6578),z=t(42323),L=t.n(z);let J=[{label:"OpenAI 兼容",value:"openai"},{label:"Anthropic",value:"anthropic"},{label:"Google",value:"google"},{label:"Ollama",value:"ollama"},{label:"OpenRouter",value:"openrouter"}],M=[{key:"reader",labelKey:"models.tierReader",descKey:"models.tierReaderDesc"},{key:"reasoning",labelKey:"models.tierReasoning",descKey:"models.tierReasoningDesc"},{key:"action",labelKey:"models.tierAction",descKey:"models.tierActionDesc"}],D=[{key:"imageGeneration",label:"图片生成"},{key:"imageUnderstanding",label:"图片理解"},{key:"fileUnderstanding",label:"文件理解"},{key:"audio",label:"音频能力"},{key:"video",label:"视频能力"}];function K(){let e=(0,s.Vr)(),{message:n}=i.A.useApp(),t=[{label:e("models.embeddingProviderHash"),value:"hash"},{label:e("models.embeddingProviderOpenAI"),value:"openai-compatible"}],[N,P]=(0,o.useState)(!0),[k,R]=(0,o.useState)([]),[U,z]=(0,o.useState)(null),[K,H]=(0,o.useState)({provider:"hash",dimensions:384}),[V,B]=(0,o.useState)(!1),[F,G]=(0,o.useState)(!1),[W,X]=(0,o.useState)(null),[Z,q]=(0,o.useState)(!1),[Q,Y]=(0,o.useState)(""),[$,ee]=(0,o.useState)(""),[en,et]=(0,o.useState)(""),[ea,eo]=(0,o.useState)("openai"),[es,ei]=(0,o.useState)({}),[ec,el]=(0,o.useState)(!1),[er,ed]=(0,o.useState)(!1),[em,ep]=(0,o.useState)(""),[eu,eh]=(0,o.useState)(""),[ey,ef]=(0,o.useState)(""),[eg,ev]=(0,o.useState)(""),[eb,ej]=(0,o.useState)("openai"),[ex,eA]=(0,o.useState)({}),[eC,eS]=(0,o.useState)(!1),[ew,eO]=(0,o.useState)(null),[eT,eN]=(0,o.useState)({}),eP=async()=>{P(!0);try{let[e,n,t]=await Promise.all([(0,I.Z3)().catch(()=>[]),(0,I.zr)().catch(()=>null),(0,I.II)().catch(()=>({provider:"hash",dimensions:384}))]);R(e),z(n),H(t)}catch(t){n.error(e("common.error"))}finally{P(!1)}};(0,o.useEffect)(()=>{eP()},[]);let ek=async()=>{if(Q.trim()){el(!0);try{await (0,I._m)(Q.trim(),{apiKey:$||void 0,baseUrl:en||void 0,protocol:ea,capabilities:es}),q(!1),Y(""),ee(""),et(""),eo("openai"),ei({}),await eP(),n.success(e("common.success"))}catch(t){n.error(e("common.error"))}finally{el(!1)}}},eE=async t=>{try{await (0,I.h1)(t),await eP(),n.success(e("common.success"))}catch(t){n.error(e("common.error"))}},eR=async e=>{ep(e.name),eh(e.name),ef("");try{let n=await (0,I.Bh)(e.name);ef(n.apiKey?"••••••••":""),ev(n.baseUrl||""),ej(n.protocol||n.detectedProtocol||"openai"),eA(n.capabilities||{})}catch(n){ev(e.baseUrl||""),ej(e.protocol||e.detectedProtocol||"openai"),eA(e.capabilities||{})}ed(!0)},eU=async()=>{if(eu.trim()){eS(!0);try{let t=ey.includes("•")?void 0:ey||void 0;await (0,I._m)(eu.trim(),{oldName:em,apiKey:t,baseUrl:eg||void 0,protocol:eb,capabilities:ex}),ed(!1),ep(""),eh(""),ef(""),ev(""),ej("openai"),eA({}),await eP(),n.success(e("common.success"))}catch(t){n.error(e("common.error"))}finally{eS(!1)}}},e_=async t=>{eO(t);try{let a=await (0,I.bZ)(t);eN(e=>({...e,[t]:a.success})),n[a.success?"success":"error"](a.success?e("models.connected"):e("models.connectionFailed"))}catch(e){eN(e=>({...e,[t]:!1}))}finally{eO(null)}},eI=async()=>{B(!0);try{let t=await (0,I.dd)(K);H(t),X(null),n.success(e("common.success"))}catch(t){n.error(e("common.error"))}finally{B(!1)}},ez=async()=>{G(!0);try{let t=await (0,I.u6)();X(t.success),n[t.success?"success":"error"](t.message||(t.success?e("models.connected"):e("models.connectionFailed")))}catch(t){X(!1),n.error(e("common.error"))}finally{G(!1)}},eL=async(t,a)=>{if(!U)return;let o={...U},s=o[t];if(!a){s.active="",z(o);try{await (0,I.aP)(o)}catch(t){n.error(e("common.error"))}return}let i=a.indexOf(":"),c=i>=0?a.slice(0,i):a,l=i>=0?a.slice(i+1):a;s.active=l,s.list.some(e=>e.name===l&&e.provider===c)||s.list.push({name:l,provider:c}),z(o);try{await (0,I.aP)(o)}catch(t){n.error(e("common.error"))}};return(0,a.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"pageTitle",children:e("models.title")}),(0,a.jsx)("p",{className:"pageDesc",children:e("models.description")})]}),(0,a.jsx)(c.Ay,{type:"primary",icon:(0,a.jsx)(x.A,{}),onClick:()=>q(!0),children:e("models.addModel")})]}),(0,a.jsx)(l.A,{title:e("models.modelList"),size:"small",loading:N,children:0===k.length?(0,a.jsx)("span",{className:L().cardMeta,children:e("models.noProviders")}):(0,a.jsx)(r.A,{gutter:[12,12],align:"stretch",children:k.map(n=>(0,a.jsx)(d.A,{xs:24,sm:12,lg:8,xl:6,className:L().providerGrid,children:(0,a.jsxs)(l.A,{size:"small",className:L().providerCard,children:[(0,a.jsxs)("div",{className:L().cardAction,children:[(0,a.jsxs)("div",{className:L().cardMain,children:[(0,a.jsx)("div",{className:L().cardName,title:n.name,children:n.name}),(0,a.jsxs)("div",{className:L().cardMeta,children:[(0,a.jsx)(A.A,{})," ",n.protocol||n.detectedProtocol||"openai"]})]}),(0,a.jsxs)(m.A,{size:2,wrap:!1,children:[(0,a.jsx)(c.Ay,{size:"small",type:"text",loading:ew===n.name,onClick:()=>{e_(n.name)},icon:!0===eT[n.name]?(0,a.jsx)(C.A,{className:"text-[var(--colorOk)]"}):!1===eT[n.name]?(0,a.jsx)(S.A,{className:"text-[var(--colorDanger)]"}):(0,a.jsx)(w.A,{})}),(0,a.jsx)(c.Ay,{size:"small",type:"text",icon:(0,a.jsx)(O.A,{}),onClick:()=>{eR(n)}}),(0,a.jsx)(p.A,{title:e("models.deleteProviderConfirm"),onConfirm:()=>{eE(n.name)},children:(0,a.jsx)(c.Ay,{size:"small",type:"text",danger:!0,icon:(0,a.jsx)(T.A,{})})})]})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,a.jsxs)("span",{className:"".concat(L().cardMeta," text-xs"),children:[(0,a.jsx)(E,{})," ",n.hasApiKey?"••••••••":"—"]}),n.baseUrl&&(0,a.jsxs)("span",{className:"".concat(L().cardMeta," ").concat(L().urlLine," text-xs"),title:n.baseUrl,children:[(0,a.jsx)(_,{})," ",n.baseUrl]}),(0,a.jsx)(m.A,{size:[4,4],wrap:!0,children:D.filter(e=>{var t;return null==(t=n.capabilities)?void 0:t[e.key]}).map(e=>(0,a.jsx)(u.A,{color:"purple",children:e.label},e.key))})]})]})},n.name))})}),(0,a.jsxs)(l.A,{title:e("models.embeddingConfig"),size:"small",loading:N,children:[(0,a.jsx)(h.A,{className:"mb-4",type:"info",showIcon:!0,message:e("models.embeddingHint")}),(0,a.jsxs)(y.A,{layout:"vertical",size:"middle",children:[(0,a.jsxs)(r.A,{gutter:[12,12],children:[(0,a.jsx)(d.A,{xs:24,lg:8,children:(0,a.jsx)(y.A.Item,{label:e("models.embeddingProvider"),children:(0,a.jsx)(f.A,{value:K.provider,options:t,onChange:e=>H(n=>({...n,provider:e,dimensions:"hash"===e?384:n.dimensions||1024}))})})}),"openai-compatible"===K.provider&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(d.A,{xs:24,lg:8,children:(0,a.jsx)(y.A.Item,{label:"Base URL",children:(0,a.jsx)(g.A,{value:K.baseUrl,onChange:e=>H(n=>({...n,baseUrl:e.target.value})),placeholder:"http://localhost:11434/v1"})})}),(0,a.jsx)(d.A,{xs:24,lg:8,children:(0,a.jsx)(y.A.Item,{label:e("models.model"),children:(0,a.jsx)(g.A,{value:K.model,onChange:e=>H(n=>({...n,model:e.target.value})),placeholder:"bge-m3"})})}),(0,a.jsx)(d.A,{xs:24,lg:8,children:(0,a.jsx)(y.A.Item,{label:e("models.apiKey"),help:K.hasApiKey?e("models.embeddingApiKeyHint"):void 0,children:(0,a.jsx)(g.A.Password,{value:K.apiKey,onFocus:()=>{var e;(null==(e=K.apiKey)?void 0:e.includes("•"))&&H(e=>({...e,apiKey:""}))},onChange:e=>H(n=>({...n,apiKey:e.target.value})),placeholder:e("models.optional")})})})]}),(0,a.jsx)(d.A,{xs:24,lg:8,children:(0,a.jsx)(y.A.Item,{label:e("models.dimensions"),children:(0,a.jsx)(v.A,{className:"w-full",min:1,value:K.dimensions,onChange:e=>H(n=>({...n,dimensions:Number(e||("hash"===n.provider?384:1024))}))})})}),(0,a.jsx)(d.A,{xs:24,lg:8,children:(0,a.jsx)(y.A.Item,{label:e("models.status"),children:(0,a.jsxs)(m.A,{children:[(0,a.jsx)(u.A,{color:"hash"===K.provider?"default":"blue",children:"hash"===K.provider?e("models.localHash"):e("models.openAICompatible")}),!0===W&&(0,a.jsx)(u.A,{color:"success",children:e("models.connected")}),!1===W&&(0,a.jsx)(u.A,{color:"error",children:e("models.connectionFailed")})]})})})]}),(0,a.jsxs)(m.A,{children:[(0,a.jsx)(c.Ay,{type:"primary",loading:V,onClick:()=>{eI()},children:e("models.saveEmbedding")}),(0,a.jsx)(c.Ay,{icon:(0,a.jsx)(w.A,{}),loading:F,onClick:()=>{ez()},children:e("models.testEmbedding")})]})]})]}),U&&(0,a.jsx)(l.A,{title:e("models.modelTiers"),size:"small",children:(0,a.jsx)(r.A,{gutter:[12,12],children:M.map(t=>{var o;let{key:s,labelKey:i,descKey:c}=t,r=U[s],m=r.list.map(e=>({label:"".concat(e.provider," / ").concat(e.name),value:"".concat(e.provider,":").concat(e.name)})),p=k.filter(e=>!r.list.some(n=>n.provider===e.name)).map(e=>({label:"".concat(e.name," / ").concat(e.name),value:"".concat(e.name,":").concat(e.name)}));return(0,a.jsx)(d.A,{xs:24,lg:8,children:(0,a.jsxs)(l.A,{size:"small",title:e(i),children:[(0,a.jsx)("span",{className:L().tierDesc,children:e(c)}),(0,a.jsx)(f.A,{value:r.active?"".concat((null==(o=r.list.find(e=>e.name===r.active))?void 0:o.provider)||"",":").concat(r.active):void 0,onChange:e=>{eL(s,e)},allowClear:!0,placeholder:e("models.selectModelPlaceholder"),className:"w-full",options:[...m,...p]}),r.list.length>0&&(0,a.jsx)("div",{className:L().modelTags,children:r.list.map(t=>(0,a.jsxs)(u.A,{color:t.name===r.active?"blue":void 0,closable:!0,onClose:()=>{var a,o;let i={...U},c=i[s];c.list=c.list.filter(e=>e.name!==t.name||e.provider!==t.provider),c.active===t.name&&(c.active=null!=(o=null==(a=c.list[0])?void 0:a.name)?o:""),z(i),(0,I.aP)(i).catch(()=>n.error(e("common.error")))},children:[t.provider,"/",t.name]},"".concat(t.provider,":").concat(t.name)))})]})},s)})})}),(0,a.jsx)(b.A,{maskClosable:!1,title:e("models.addModel"),open:Z,onCancel:()=>{q(!1),Y(""),ee(""),et(""),eo("openai")},onOk:()=>{ek()},confirmLoading:ec,children:(0,a.jsxs)(y.A,{layout:"vertical",size:"middle",children:[(0,a.jsx)(y.A.Item,{label:e("models.modelName"),children:(0,a.jsx)(g.A,{value:Q,onChange:e=>Y(e.target.value),placeholder:e("models.modelNamePlaceholder")})}),(0,a.jsx)(y.A.Item,{label:e("models.apiKey"),children:(0,a.jsx)(g.A.Password,{value:$,onChange:e=>ee(e.target.value),placeholder:"sk-..."})}),(0,a.jsx)(y.A.Item,{label:e("models.baseUrl"),children:(0,a.jsx)(g.A,{value:en,onChange:e=>et(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,a.jsx)(y.A.Item,{label:e("models.protocol"),children:(0,a.jsx)(f.A,{value:ea,onChange:eo,options:J})}),(0,a.jsx)(y.A.Item,{label:"多模态能力",children:(0,a.jsx)(j.A.Group,{value:D.filter(e=>es[e.key]).map(e=>e.key),options:D.map(e=>({label:e.label,value:e.key})),onChange:e=>ei(Object.fromEntries(D.map(n=>[n.key,e.includes(n.key)])))})})]})}),(0,a.jsx)(b.A,{maskClosable:!1,title:e("models.editModel"),open:er,onCancel:()=>{ed(!1),ep(""),eh(""),ef(""),ev(""),ej("openai")},onOk:()=>{eU()},confirmLoading:eC,children:(0,a.jsxs)(y.A,{layout:"vertical",size:"middle",children:[(0,a.jsx)(y.A.Item,{label:e("models.modelName"),children:(0,a.jsx)(g.A,{value:eu,onChange:e=>eh(e.target.value),placeholder:e("models.modelNamePlaceholder")})}),(0,a.jsx)(y.A.Item,{label:e("models.apiKey"),help:e("models.apiKeyEditHint"),children:(0,a.jsx)(g.A.Password,{value:ey,onFocus:()=>{ey.includes("•")&&ef("")},onCopy:e=>e.preventDefault(),onChange:e=>ef(e.target.value),placeholder:e("models.apiKeyEditPlaceholder")})}),(0,a.jsx)(y.A.Item,{label:e("models.baseUrl"),children:(0,a.jsx)(g.A,{value:eg,onChange:e=>ev(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,a.jsx)(y.A.Item,{label:e("models.protocol"),children:(0,a.jsx)(f.A,{value:eb,onChange:ej,options:J})}),(0,a.jsx)(y.A.Item,{label:"多模态能力",children:(0,a.jsx)(j.A.Group,{value:D.filter(e=>ex[e.key]).map(e=>e.key),options:D.map(e=>({label:e.label,value:e.key})),onChange:e=>eA(Object.fromEntries(D.map(n=>[n.key,e.includes(n.key)])))})})]})})]})}},29071:(e,n,t)=>{"use strict";t.d(n,{A:()=>c});var a=t(97109),o=t(78847),s=t(88483);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let c=a.forwardRef((e,n)=>a.createElement(s.A,i({},e,{ref:n,icon:o.A})))},30289:(e,n)=>{"use strict";n.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"}},38770:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});let a=t(51916).A},42323:e=>{e.exports={cardMeta:"style_cardMeta__6KOa3",cardName:"style_cardName__WcLAf",cardAction:"style_cardAction__XUfPD",cardMain:"style_cardMain__qI1jU",providerCard:"style_providerCard__tLKGs",providerGrid:"style_providerGrid__Gx5GR",urlLine:"style_urlLine__DuMYs",tierDesc:"style_tierDesc__wOd6p",modelTags:"style_modelTags__nmMVj"}},77305:(e,n,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/models",function(){return t(15527)}])},78847:(e,n)=>{"use strict";n.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"}}},e=>{e.O(0,[260,167,382,628,271,576,183,985,232,20,636,593,792],()=>e(e.s=77305)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[449],{6578:(e,n,t)=>{"use strict";async function o(e,n){let t=await fetch(e,n);if(!t.ok){let e=await t.text(),n=e||"HTTP ".concat(t.status);try{let t=JSON.parse(e);n=t.error||t.message||n}catch(e){}throw Error(n)}return t.json()}async function i(e){let n=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return o("/api/kb/stats".concat(n))}async function s(e){var n,t;let i=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&i.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&i.set("category",e.category),(null==e?void 0:e.page)&&i.set("page",String(null!=(n=e.page)?n:1)),(null==e?void 0:e.limit)&&i.set("limit",String(null!=(t=e.limit)?t:50)),o("/api/kb/files?".concat(i))}async function r(e,n){let t=new URLSearchParams({relativePath:e});return n&&t.set("projectRoot",n),o("/api/kb/files/detail?".concat(t))}async function a(e,n){return o("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function c(e,n,t){return o("/api/kb/files/open",{method:"POST",body:JSON.stringify({relativePath:e,target:n,projectRoot:t})})}async function l(e){return new Promise((n,t)=>{let o=new FileReader;o.onload=()=>{let e=o.result,t=e.indexOf(",");n(t>=0?e.slice(t+1):e)},o.onerror=t,o.readAsDataURL(e)})}async function d(e,n,t){return o("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:await Promise.all(e.map(async e=>({fileName:e.name,fileData:await l(e),relativePath:e.webkitRelativePath||void 0}))),projectRoot:n,uploadId:t})})}async function u(e){return o("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function p(e){let n=new URLSearchParams({limit:"50"});return e&&n.set("projectRoot",e),o("/api/kb/operations?".concat(n))}async function y(e){let n=new URLSearchParams;return e&&n.set("projectRoot",e),o("/api/kb/operations?".concat(n),{method:"DELETE"})}async function m(e,n){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function h(e,n){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePaths:e,projectRoot:n})})}async function f(e){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({all:!0,projectRoot:e})})}async function g(e){return o("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function v(){return o("/api/kb/features")}async function x(e,n){var t,i,s,r,a;let c=new URLSearchParams({q:e});return(null==n?void 0:n.projectRoot)&&c.set("projectRoot",n.projectRoot),(null==n?void 0:n.category)&&c.set("category",n.category),(null==n?void 0:n.limit)&&c.set("limit",String(null!=(a=n.limit)?a:20)),(null==n||null==(t=n.weights)?void 0:t.keyword)!=null&&c.set("keywordWeight",String(n.weights.keyword)),(null==n||null==(i=n.weights)?void 0:i.vector)!=null&&c.set("vectorWeight",String(n.weights.vector)),(null==n||null==(s=n.weights)?void 0:s.rewrite)!=null&&c.set("rewriteWeight",String(n.weights.rewrite)),(null==n||null==(r=n.weights)?void 0:r.hybridBonus)!=null&&c.set("hybridBonus",String(n.weights.hybridBonus)),o("/api/kb/search?".concat(c))}async function j(){return o("/api/prompt")}async function T(e){return o("/api/documents/roles".concat(e?"?type=".concat(e):""))}async function S(e){return o("/api/documents/roles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function w(e,n){return o("/api/documents/roles?type=".concat(e,"&id=").concat(encodeURIComponent(n)),{method:"DELETE"})}async function b(e){return o("/api/documents/roles?mode=config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function C(e){return o("/api/documents/roles?mode=config&id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function k(){return o("/api/documents/specs")}async function A(e){return o("/api/documents/specs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function O(e){return o("/api/documents/specs?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function E(){return o("/api/documents/templates")}async function P(e){return o("/api/documents/templates",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function N(e){return o("/api/documents/templates?templateId=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function R(e){return o("/api/documents/templates",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:e})})}async function U(e){return o("/api/documents/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function J(){return o("/api/documents/generated")}async function D(e){return o("/api/documents/generated/".concat(encodeURIComponent(e)))}async function I(e,n){return o("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function L(){return o("/api/assets/generated")}async function z(e){return o("/api/assets/generated?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function _(e){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"index"})})}async function B(e,n){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"open",target:n})})}async function F(e){return o("/api/documents/chapter/regenerate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function M(e,n){return o("/api/documents/drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,id:n})})}async function H(e){let n=await fetch("/api/documents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok)throw Error(await n.text());return n.blob()}async function W(){return o("/api/config/providers")}async function V(e,n){return o("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...n})})}async function X(e){return o("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function q(){return o("/api/config/models")}async function Q(e){return o("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function Z(){return o("/api/config/embedding")}async function K(e){return o("/api/config/embedding",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function $(){return o("/api/config/embedding/healthCheck",{method:"POST"})}async function G(e){return o("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function Y(){return o("/api/system/stats")}async function ee(e,n){let t=n?"?type=".concat(e,"&search=").concat(encodeURIComponent(n)):"?type=".concat(e);return o("/api/context".concat(t))}async function en(e){return o("/api/context?type=".concat(e,"&stats=1"))}async function et(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function eo(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function ei(e){return o("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function es(e,n){return o("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...n})})}async function er(e){return o("/api/config/providers/".concat(encodeURIComponent(e)))}t.d(n,{Af:()=>M,Bh:()=>er,Dl:()=>E,E:()=>eo,EK:()=>A,ER:()=>O,FC:()=>Y,FV:()=>w,H1:()=>g,H7:()=>y,HC:()=>a,HT:()=>s,II:()=>Z,JU:()=>z,NR:()=>b,OX:()=>U,PH:()=>et,QT:()=>u,Qx:()=>p,R1:()=>F,SJ:()=>h,UE:()=>H,VW:()=>v,W2:()=>x,X8:()=>f,Z3:()=>W,_m:()=>V,a6:()=>I,aP:()=>Q,bV:()=>R,bZ:()=>G,c1:()=>d,cQ:()=>J,dd:()=>K,dg:()=>S,dw:()=>C,dx:()=>j,f$:()=>L,h0:()=>N,h1:()=>X,hc:()=>i,hn:()=>ee,l2:()=>P,lv:()=>T,mx:()=>k,oS:()=>B,p:()=>en,tn:()=>c,u6:()=>$,uc:()=>_,v7:()=>D,xC:()=>r,xq:()=>m,xw:()=>ei,zo:()=>es,zr:()=>q})},27795:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>b});var o=t(65321),i=t(97109),s=t(13014),r=t(85114),a=t(2256),c=t(38770),l=t(68787),d=t(99605),u=t(54849),p=t(33442),y=t(11702),m=t(86109),h=t(99811),f=t(520),g=t(93314),v=t(13114),x=t(29071),j=t(26631),T=t(84742),S=t(38762),w=t(6578);function b(){var e,n,t,b,C,k,A,O,E,P,N,R;let U=(0,s.Vr)(),J=(0,m.useRouter)(),[D,I]=(0,i.useState)(null),[L,z]=(0,i.useState)(!0),[_,B]=(0,i.useState)(0),F=(0,i.useCallback)(async()=>{z(!0);try{let[e,n]=await Promise.all([(0,w.FC)(),(0,w.Z3)().catch(()=>[])]);I(e),B(Array.isArray(n)?n.length:0)}catch(e){}finally{z(!1)}},[]);(0,i.useEffect)(()=>{F();let e=setInterval(()=>{F()},1e4);return()=>clearInterval(e)},[F]);let M=(null!=(n=null==D?void 0:D.cpu.usagePercent)?n:0)>80?"var(--colorDanger)":(null!=(t=null==D?void 0:D.cpu.usagePercent)?t:0)>50?"var(--colorWarning)":"var(--colorOk)",H=(null!=(b=null==D?void 0:D.memory.usagePercent)?b:0)>80?"var(--colorDanger)":(null!=(C=null==D?void 0:D.memory.usagePercent)?C:0)>50?"var(--colorWarning)":"var(--colorOk)",W=(null==D?void 0:D.tasks.total)?Math.round(D.tasks.success/D.tasks.total*100):0,V=null==D||null==(e=D.models)?void 0:e[0];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:U("overview.title")}),(0,o.jsx)("p",{className:"pageDesc",children:U("overview.description")})]}),(0,o.jsx)(r.Ay,{icon:(0,o.jsx)(h.A,{spin:L}),loading:L,onClick:()=>{F()},children:U("common.retry")})]}),(0,o.jsxs)(a.A,{gutter:[16,16],children:[(0,o.jsx)(c.A,{xs:24,sm:12,children:(0,o.jsx)(l.A,{size:"small",title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f.A,{})," CPU"]}),children:(0,o.jsxs)("div",{style:{textAlign:"center"},children:[(0,o.jsx)(d.A,{type:"circle",percent:null!=(k=null==D?void 0:D.cpu.usagePercent)?k:0,size:120,strokeColor:M,format:e=>"".concat(null==e?void 0:e.toFixed(1),"%")}),(0,o.jsxs)("div",{className:"text-xs mt-2",style:{color:"var(--colorTextSecondary)"},children:[null!=(A=null==D?void 0:D.cpu.cores)?A:0," ",U("overview.cores")]})]})})}),(0,o.jsx)(c.A,{xs:24,sm:12,children:(0,o.jsx)(l.A,{size:"small",title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(g.A,{})," ",U("overview.memory")]}),children:(0,o.jsxs)("div",{style:{textAlign:"center"},children:[(0,o.jsx)(d.A,{type:"circle",percent:null!=(O=null==D?void 0:D.memory.usagePercent)?O:0,size:120,strokeColor:H,format:e=>"".concat(e,"%")}),(0,o.jsxs)("div",{className:"text-xs mt-2",style:{color:"var(--colorTextSecondary)"},children:[null!=(E=null==D?void 0:D.memory.processMB)?E:0," MB / ",null!=(P=null==D?void 0:D.memory.totalMB)?P:0," MB"]})]})})})]}),(0,o.jsxs)(a.A,{gutter:[16,16],children:[(0,o.jsx)(c.A,{xs:12,sm:6,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:U("overview.providersCount"),value:_,prefix:(0,o.jsx)(v.A,{})})})}),(0,o.jsx)(c.A,{xs:12,sm:6,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:U("overview.tokensUsed"),value:null!=(N=null==D?void 0:D.tokens.total)?N:0,prefix:(0,o.jsx)(x.A,{})})})}),(0,o.jsx)(c.A,{xs:12,sm:6,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:U("overview.tasksTotal"),value:null!=(R=null==D?void 0:D.tasks.total)?R:0,prefix:(0,o.jsx)(j.A,{})})})}),(0,o.jsx)(c.A,{xs:12,sm:6,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:U("overview.successRate"),value:W,suffix:"%",prefix:W>80?(0,o.jsx)(T.A,{style:{color:"var(--colorOk)"}}):(0,o.jsx)(S.A,{style:{color:"var(--colorDanger)"}})})})})]}),(0,o.jsxs)(a.A,{gutter:[16,16],children:[(0,o.jsx)(c.A,{xs:24,sm:12,children:(0,o.jsx)(l.A,{size:"small",title:U("overview.topModel"),children:V?(0,o.jsxs)("div",{className:"flex items-center gap-4",children:[(0,o.jsx)(v.A,{style:{fontSize:24,color:"var(--colorAccent)"}}),(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{className:"font-semibold",children:V.model}),(0,o.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:12},children:["@",V.provider," — ",V.count," ",U("overview.calls")]})]})]}):(0,o.jsx)("span",{style:{color:"var(--colorTextSecondary)"},children:U("common.noData")})})}),(0,o.jsx)(c.A,{xs:24,sm:12,children:(0,o.jsx)(l.A,{size:"small",title:U("overview.taskTypes"),children:(null==D?void 0:D.tasks.types)&&Object.keys(D.tasks.types).length>0?(0,o.jsx)(p.A,{wrap:!0,children:Object.entries(D.tasks.types).map(e=>{let[n,t]=e;return(0,o.jsxs)(y.A,{children:[n.slice(0,30),": ",t]},n)})}):(0,o.jsx)("span",{style:{color:"var(--colorTextSecondary)"},children:U("common.noData")})})})]}),(0,o.jsx)(l.A,{title:U("overview.quickActions"),size:"small",children:(0,o.jsxs)(p.A,{wrap:!0,children:[(0,o.jsx)(r.Ay,{onClick:()=>{J.push("/knowledge/manage")},children:U("overview.goToKnowledge")}),(0,o.jsx)(r.Ay,{onClick:()=>{J.push("/models")},children:U("overview.goToModels")}),(0,o.jsx)(r.Ay,{onClick:()=>{J.push("/settings")},children:U("overview.goToSettings")}),(0,o.jsx)(r.Ay,{onClick:()=>{J.push("/prompt")},children:U("nav.promptManagement")}),(0,o.jsx)(r.Ay,{onClick:()=>{J.push("/context/long-term")},children:U("nav.contextEngineering")})]})})]})}},53139:(e,n,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/overview",function(){return t(27795)}])}},e=>{e.O(0,[260,167,15,577,224,636,593,792],()=>e(e.s=53139)),_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:()=>o});let o=r(25341).A},12887:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"}},23830:(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"}},25258:(e,t,r)=>{"use strict";r.d(t,{A:()=>v});var o=r(51541),n=r(61848),s=r(1249),c=r(97109),a=r(72658),i=r(3638),l=r(92162),d=r(82725),p=r(74567),u=r(632),h=r(49517),m=r(79412),f=r(19527);let y=(0,d.U)(e=>{let{prefixCls:t,className:r,closeIcon:o,closable:n,type:s,title:d,children:y,footer:j,classNames:x,styles:A,...v}=e,{getPrefixCls:g}=c.useContext(p.QO),{className:w,style:b,classNames:S,styles:C}=(0,p.TP)("modal"),O=g(),z=t||g("modal"),E=(0,u.A)(O),[T,k]=(0,f.Ay)(z,E),[N,P]=(0,l.AV)([S,x],[C,A],{props:e}),F=`${z}-confirm`,M={};return M=s?{closable:n??!1,title:"",footer:"",children:c.createElement(h.k,{...e,prefixCls:z,confirmPrefixCls:F,rootPrefixCls:O,content:y})}:{closable:n??!0,title:d,footer:null!==j&&c.createElement(m.w,{...e}),children:y},c.createElement(a.Z,{prefixCls:z,className:(0,i.$)(T,`${z}-pure-panel`,s&&F,s&&`${F}-${s}`,r,w,k,E,N.root),style:{...b,...P.root},...v,closeIcon:(0,m.O)(z,o),closable:n,classNames:N,styles:P,...M})});var j=r(99739);function x(e){return(0,o.Ay)((0,o.fp)(e))}let A=s.A;A.useModal=j.A,A.info=function(e){return(0,o.Ay)((0,o.$D)(e))},A.success=function(e){return(0,o.Ay)((0,o.Ej)(e))},A.error=function(e){return(0,o.Ay)((0,o.jT)(e))},A.warning=x,A.warn=x,A.confirm=function(e){return(0,o.Ay)((0,o.lr)(e))},A.destroyAll=function(){for(;n.A.length;){let e=n.A.pop();e&&e()}},A.config=o.FB,A._InternalPanelDoNotUseOrYouWillBeFired=y;let v=A},26631:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var o=r(97109),n=r(12887),s=r(88483);function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}let a=o.forwardRef((e,t)=>o.createElement(s.A,c({},e,{ref:t,icon:n.A})))},27549:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/prompt",function(){return r(34508)}])},29606:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var o=r(97109),n=r(23830),s=r(88483);function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}let a=o.forwardRef((e,t)=>o.createElement(s.A,c({},e,{ref:t,icon:n.A})))},34084:(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"}},34508:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>T});var o=r(65321),n=r(97109),s=r(13014),c=r(17807),a=r(85114),i=r(68787),l=r(11702),d=r(84253),p=r(2256),u=r(38770),h=r(56985),m=r(26171),f=r(33442),y=r(25258),j=r(7576),x=r(54746),A=r(29606),v=r(26631),g=r(99650),w=r(58209),b=r(58740);async function S(){let e=await fetch("/api/prompt");if(!e.ok)throw Error("Failed");return e.json()}async function C(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()}async function O(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create",projectRoot:e,content:"# CUSTOMIZE\n"})});if(!t.ok)throw Error("Failed");return t.json()}async function z(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"自定义提示词",t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"createCustom",name:e,content:"# ".concat(e,"\n")})});if(!t.ok)throw Error("Failed");return t.json()}async function E(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"select",selectedIds:e})});if(!t.ok)throw Error("Failed");return t.json()}function T(){var e;let t=(0,s.Vr)(),{message:r}=c.A.useApp(),[T,k]=(0,n.useState)(!0),[N,P]=(0,n.useState)([]),[F,M]=(0,n.useState)(!1),[R,_]=(0,n.useState)(null),[H,B]=(0,n.useState)(""),[I,V]=(0,n.useState)(!1),$=async()=>{k(!0);try{P(await S())}catch(e){r.error(t("common.error"))}finally{k(!1)}};(0,n.useEffect)(()=>{$()},[]);let L=async()=>{if(R){V(!0);try{await C(R.customizePath,H),r.success(t("common.success")),M(!1),await $()}catch(e){r.error(t("common.error"))}finally{V(!1)}}},W=async e=>{try{if(null==e?void 0:e.projectRoot)await O(e.projectRoot);else{var o;let e=null==(o=window.prompt("请输入自定义提示词名称","自定义提示词"))?void 0:o.trim();if(!e)return;await z(e)}r.success(t("common.success")),await $()}catch(e){r.error(t("common.error"))}},D=async(e,o)=>{let n=o?Array.from(new Set([...N.filter(e=>e.selected).map(e=>e.id),e.id])):N.filter(t=>t.selected&&t.id!==e.id).map(e=>e.id);try{await E(n),P(e=>e.map(e=>({...e,selected:n.includes(e.id)})))}catch(e){r.error(t("common.error"))}},J=async e=>{try{if(!(await fetch("/api/prompt",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e.projectId,filePath:e.customizePath})})).ok)throw Error("Failed");r.success(t("common.success")),await $()}catch(e){r.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("nav.promptManagement")}),(0,o.jsx)("p",{className:"pageDesc",children:t("prompt.description")})]}),(0,o.jsx)(a.Ay,{type:"primary",icon:(0,o.jsx)(x.A,{}),onClick:()=>{W()},children:"创建提示词"})]}),N.find(e=>e.isCurrent)&&(0,o.jsx)(i.A,{size:"small",children:(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[(0,o.jsx)(l.A,{color:"green",style:{width:"fit-content"},children:"当前工作项目"}),(0,o.jsxs)("span",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:[(0,o.jsx)(A.A,{})," ",null==(e=N.find(e=>e.isCurrent))?void 0:e.projectRoot]})]})}),0!==N.length||T?null:(0,o.jsx)(d.A,{}),(0,o.jsx)(p.A,{gutter:[16,16],children:T?Array.from({length:3}).map((e,t)=>(0,o.jsx)(u.A,{xs:24,sm:12,lg:8,children:(0,o.jsx)(i.A,{loading:!0,size:"small"})},t)):N.map(e=>(0,o.jsx)(u.A,{xs:24,sm:12,lg:8,children:(0,o.jsxs)(i.A,{size:"small",title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(v.A,{})," ",e.projectName]}),extra:(0,o.jsxs)("span",{style:{display:"flex",gap:4},children:[e.hasFile&&(0,o.jsx)(h.A,{checked:e.selected,onChange:t=>{D(e,t.target.checked)},children:"选中"}),!e.hasFile&&e.projectRoot&&(0,o.jsx)(a.Ay,{size:"small",type:"text",icon:(0,o.jsx)(x.A,{}),onClick:()=>{W(e)}}),e.hasFile&&(0,o.jsx)(a.Ay,{size:"small",type:"text",icon:(0,o.jsx)(g.A,{}),onClick:()=>{_(e),B(e.content||""),M(!0)}}),(0,o.jsx)(m.A,{title:"custom"===e.source?"删除自定义提示词?":"删除项目记录及其提示词文件?",disabled:e.id.startsWith("builtin:"),onConfirm:()=>{J(e)},children:(0,o.jsx)(a.Ay,{size:"small",type:"text",danger:!0,icon:(0,o.jsx)(w.A,{}),disabled:e.id.startsWith("builtin:")})})]}),children:[e.projectRoot&&(0,o.jsxs)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)",marginBottom:8},children:[(0,o.jsx)(A.A,{})," ",e.projectRoot]}),(0,o.jsxs)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)",marginBottom:8},children:[(0,o.jsx)(b.A,{})," ",e.mtime?new Date(e.mtime).toLocaleString():t("common.never")]}),(0,o.jsxs)(f.A,{wrap:!0,children:[e.isCurrent&&(0,o.jsx)(l.A,{color:"green",children:"当前项目"}),e.selected&&(0,o.jsx)(l.A,{color:"purple",children:"已选中"}),e.id.startsWith("builtin:")?(0,o.jsx)(l.A,{color:"gold",children:"内置"}):"custom"===e.source&&(0,o.jsx)(l.A,{color:"cyan",children:"自定义"}),e.hasFile?(0,o.jsx)(l.A,{color:"blue",children:t("prompt.hasFile")}):(0,o.jsx)(l.A,{color:"default",children:t("prompt.noFile")})]}),e.hasFile&&e.content&&(0,o.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:[e.content.slice(0,200),e.content.length>200?"...":""]})]})},e.id))}),0===N.length&&(0,o.jsx)(i.A,{size:"small",children:(0,o.jsx)("span",{style:{color:"var(--colorTextSecondary)"},children:t("prompt.noProjects")})}),(0,o.jsxs)(y.A,{maskClosable:!1,title:"".concat(t("common.edit")," — ").concat((null==R?void 0:R.projectName)||""),open:F,width:800,onCancel:()=>M(!1),onOk:()=>{L()},confirmLoading:I,children:[(0,o.jsx)("div",{style:{marginBottom:12,fontSize:12,color:"var(--colorTextSecondary)"},children:null==R?void 0:R.customizePath}),(0,o.jsx)(j.A.TextArea,{value:H,onChange:e=>B(e.target.value),rows:25,style:{fontFamily:"SF Mono, Monaco, Consolas, monospace",fontSize:13}})]})]})}},38770:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});let o=r(51916).A},58740:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var o=r(97109),n=r(34084),s=r(88483);function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}let a=o.forwardRef((e,t)=>o.createElement(s.A,c({},e,{ref:t,icon:n.A})))},82725:(e,t,r)=>{"use strict";r.d(t,{A:()=>i,U:()=>a});var o=r(97109),n=r(42644),s=r(48921),c=r(74567);function a(e){return t=>o.createElement(s.Ay,{theme:{token:{motion:!1,zIndexPopupBase:0}}},o.createElement(e,{...t}))}let i=(e,t,r,s,i)=>a(a=>{let{prefixCls:l,style:d}=a,p=o.useRef(null),[u,h]=o.useState(0),[m,f]=o.useState(0),[y,j]=(0,n.PW)(!1,a.open),{getPrefixCls:x}=o.useContext(c.QO),A=x(s||"select",l);o.useEffect(()=>{if(j(!0),"undefined"!=typeof ResizeObserver){let e=new ResizeObserver(e=>{let t=e[0].target;h(t.offsetHeight+8),f(t.offsetWidth)}),t=setInterval(()=>{let r=i?`.${i(A)}`:`.${A}-dropdown`,o=p.current?.querySelector(r);o&&(clearInterval(t),e.observe(o))},10);return()=>{clearInterval(t),e.disconnect()}}},[A]);let v={...a,style:{...d,margin:0},open:y,getPopupContainer:()=>p.current};return r&&(v=r(v)),t&&(v={...v,[t]:{overflow:{adjustX:!1,adjustY:!1}}}),o.createElement("div",{ref:p,style:{paddingBottom:u,position:"relative",minWidth:m}},o.createElement(e,{...v}))})}},e=>{e.O(0,[260,167,382,628,576,183,985,636,593,792],()=>e(e.s=27549)),_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"}},24521:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>_});var l=t(65321),c=t(13014),i=t(49759),a=t(68787),n=t(11702),d=t(73340),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(56733),h=t(38300);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"})]})]})})]})}},58451:(e,s,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/settings",function(){return t(24521)}])}},e=>{e.O(0,[260,636,593,792],()=>e(e.s=58451)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ :root{--colorBg:#f5f5f7;--colorBgElevated:#ffffff;--colorBgSecondary:rgba(255,255,255,0.64);--colorText:#1d1d1f;--colorTextSecondary:#6e6e73;--colorTextTertiary:#aeaeb2;--colorBrand:#007aff;--colorBrandHover:#0a84ff;--colorBrand2:#5856d6;--colorDanger:#ff3b30;--colorOk:#34c759;--colorWarn:#ff9500;--glassBg:rgba(255,255,255,0.72);--glassBlur:saturate(180%) blur(22px);--borderColor:rgba(60,60,67,0.16);--borderColorStrong:rgba(60,60,67,0.26);--shadowSoft:0 8px 24px rgba(0,0,0,0.06);--shadowCard:0 18px 45px rgba(0,0,0,0.08);--shadowButton:0 4px 14px rgba(0,122,255,0.25);--radiusSm:10px;--radiusMd:14px;--radiusLg:20px;--radiusPill:100px;--sidebarWidth:240px;--fontSans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif}.dark{--colorBg:#1c1c1e;--colorBgElevated:#2c2c2e;--colorBgSecondary:rgba(255,255,255,0.08);--colorText:#f5f5f7;--colorTextSecondary:#98989d;--colorTextTertiary:#6e6e73;--colorBrand:#0a84ff;--colorBrandHover:#409cff;--colorBrand2:#5e5ce6;--colorDanger:#ff453a;--colorOk:#30d158;--colorWarn:#ff9f0a;--glassBg:rgba(28,28,30,0.72);--borderColor:rgba(255,255,255,0.12);--borderColorStrong:rgba(255,255,255,0.2);--shadowSoft:0 8px 24px rgba(0,0,0,0.24);--shadowCard:0 18px 45px rgba(0,0,0,0.32);--shadowButton:0 4px 14px rgba(10,132,255,0.3)}*,:after,:before{box-sizing:border-box}html{font-family:var(--fontSans);background:var(--colorBg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.appShellPlaceholder{min-height:100vh;background:var(--colorBg)}body{margin:0;min-height:100vh;font-family:var(--fontSans);color:var(--colorText);background:radial-gradient(circle at 15% 0,rgba(0,122,255,.07),transparent 28rem),radial-gradient(circle at 85% 8%,rgba(88,86,214,.05),transparent 26rem),linear-gradient(180deg,rgba(251,251,253,1) 0,var(--colorBg) 100%)}.dark body{background:radial-gradient(circle at 15% 0,rgba(10,132,255,.06),transparent 28rem),radial-gradient(circle at 85% 8%,rgba(94,92,230,.04),transparent 26rem),linear-gradient(180deg,rgba(28,28,30,.98) 0,var(--colorBg) 100%)}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--borderColor);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--borderColorStrong)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animateFadeIn{animation:fadeIn .3s ease-out}.flex{display:flex}.inline-block{display:inline-block}.block{display:block}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:2px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.space-y-2>*+*{margin-top:8px}.space-y-5>*+*{margin-top:20px}.space-y-6>*+*{margin-top:24px}.mt-2{margin-top:8px}.mb-4{margin-bottom:16px}.py-16{padding-top:64px;padding-bottom:64px}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-2xl{max-width:672px}.max-w-\[400px\]{max-width:400px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs{font-size:12px;line-height:1.4}.text-sm{font-size:14px;line-height:1.45}.font-semibold{font-weight:600}.text-\[var\(--colorOk\)\]{color:var(--colorOk)}.text-\[var\(--colorDanger\)\]{color:var(--colorDanger)}.routeProgress{position:fixed;top:0;left:var(--sidebarWidth);right:0;height:3px;z-index:1000;background:linear-gradient(90deg,var(--colorPrimary),var(--colorAccent));animation:routeProgress .9s ease-in-out infinite}.routeLoadingCard{margin-bottom:16px;border:1px solid var(--borderSoft);border-radius:16px;padding:14px 16px;color:var(--textSecondary);background:var(--surfaceElevated)}@keyframes routeProgress{0%{transform:scaleX(.15);transform-origin:left;opacity:.65}50%{transform:scaleX(.7);transform-origin:left;opacity:1}to{transform:scaleX(1);transform-origin:left;opacity:.35}}@media (max-width:1024px){:root{--sidebarWidth:200px}}@media (max-width:860px){:root{--sidebarWidth:72px}.sidebarLogo{padding:16px;justify-content:center}.sidebarFooter,.sidebarItem span:not(.sidebarChevron),.sidebarLogoSub,.sidebarLogoTitle{display:none}.sidebarItem{justify-content:center;padding:11px}.sidebarSubmenu{padding-left:0}.sidebarSubItem{padding-left:11px}.mainInner{padding:20px}.topbar{padding:10px 16px;margin:10px 12px 0}}@media (max-width:640px){.sidebar{left:6px;top:6px;bottom:6px}.mainContent{margin-left:72px}.mainInner{padding:12px}.topbar{margin:8px 8px 0;padding:8px 12px;border-radius:16px}}.sidebar{position:fixed;left:12px;top:12px;bottom:12px;width:calc(var(--sidebarWidth) - 16px);display:flex;flex-direction:column;z-index:20;background:linear-gradient(180deg,color-mix(in srgb,var(--glassBg) 92%,white 8%),var(--glassBg));border:1px solid color-mix(in srgb,var(--borderColor) 58%,transparent);border-radius:24px;backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur);box-shadow:var(--shadowCard),inset 0 1px 0 rgba(255,255,255,.5);overflow:hidden;transition:width .22s ease,transform .22s ease}.sidebarCollapsedSelf{width:64px}.sidebarLogo{display:flex;align-items:center;gap:12px;padding:18px 18px 16px;border-bottom:1px solid color-mix(in srgb,var(--borderColor) 48%,transparent)}.sidebarLogoTitle{font-size:15px;font-weight:800;letter-spacing:-.035em;line-height:1.15}.logoGradient{background:linear-gradient(135deg,#007aff,#5856d6 50%,#af52de);-webkit-background-clip:text;background-clip:text}.dark .logoGradient,.logoGradient{-webkit-text-fill-color:transparent}.dark .logoGradient{background:linear-gradient(135deg,#0a84ff,#5e5ce6 50%,#bf5af2);-webkit-background-clip:text;background-clip:text}.sidebarLogoSub{margin-top:3px;font-size:10.5px;letter-spacing:.02em;color:var(--colorTextSecondary)}.sidebarCollapseBtn{margin:10px 12px 4px;height:34px;border-radius:14px;border:1px solid var(--borderColor);background:color-mix(in srgb,var(--glassBg) 86%,white 14%);color:var(--colorTextSecondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s ease}.sidebarCollapseBtn:hover{color:var(--colorText);border-color:color-mix(in srgb,var(--colorBrand) 42%,var(--borderColor));box-shadow:0 8px 18px rgba(0,122,255,.12)}.sidebarCollapsedSelf .sidebarLogo{justify-content:center;padding:16px 8px}.sidebarCollapsedSelf .sidebarChevron,.sidebarCollapsedSelf .sidebarFooter,.sidebarCollapsedSelf .sidebarItem span:not(.sidebarChevron),.sidebarCollapsedSelf .sidebarLogoSub,.sidebarCollapsedSelf .sidebarLogoTitle{display:none}.sidebarCollapsedSelf .sidebarItem{justify-content:center;padding:11px}.sidebarCollapsedSelf .sidebarCollapseBtn{margin:10px}.sidebarNav{flex:1;padding:16px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebarItem{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;font-size:14px;font-weight:500;color:var(--colorTextSecondary);transition:all .15s ease;cursor:pointer}.sidebarItem:hover{background:color-mix(in srgb,var(--colorBrand) 10%,transparent);color:var(--colorText);transform:translateX(2px)}.dark .sidebarItem:hover{background:color-mix(in srgb,var(--colorBrand) 16%,transparent)}.sidebarItemActive,.sidebarItemActive:hover{background:linear-gradient(180deg,var(--colorBrandHover),var(--colorBrand));color:#ffffff;box-shadow:0 8px 22px rgba(0,122,255,.22);transform:none}.dark .sidebarItemActive,.dark .sidebarItemActive:hover{background:linear-gradient(180deg,var(--colorBrandHover),var(--colorBrand));color:#ffffff;box-shadow:0 8px 24px rgba(10,132,255,.28)}.sidebarFooter{padding:16px 20px;border-top:1px solid var(--borderColor);font-size:11px;color:var(--colorTextSecondary)}.sidebarParent{justify-content:flex-start}.sidebarChevron{margin-left:auto;display:flex;align-items:center;opacity:.5}.sidebarSubmenu{padding-left:16px;display:flex;flex-direction:column;gap:2px}.sidebarSubItem{padding-left:16px;font-size:13px}.topbar{position:sticky;top:14px;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:14px 24px 0;padding:10px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--glassBg) 92%,white 8%),var(--glassBg));border:1px solid var(--borderColor);border-radius:22px;box-shadow:var(--shadowSoft),inset 0 1px 0 rgba(255,255,255,.42);backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur)}.topbarBtn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radiusMd);border:1px solid var(--borderColor);background:rgba(255,255,255,.88);color:var(--colorTextSecondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.dark .topbarBtn{background:rgba(255,255,255,.08)}.topbarBtn:hover{border-color:rgba(0,122,255,.35);color:var(--colorText);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,122,255,.1),inset 0 0 0 1px rgba(255,255,255,.25)}.mainContent{margin-left:var(--sidebarWidth);flex:1;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .22s ease}.sidebarCollapsed .mainContent{margin-left:88px}.mainInner{flex:1;padding:clamp(16px,2.5vw,40px);width:100%;overflow-x:hidden}.applePill{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radiusMd);font-size:13px;font-weight:600;border:1px solid var(--borderColor);cursor:pointer;transition:all .15s ease;background:rgba(255,255,255,.88);color:var(--colorTextSecondary);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.dark .applePill{background:rgba(255,255,255,.08)}.applePill:hover{border-color:rgba(0,122,255,.35);color:var(--colorText)}.applePillActive{background:#1d1d1f;color:#ffffff;border-color:transparent;box-shadow:none}.dark .applePillActive{background:rgba(255,255,255,.9);color:#1c1c1e}.applePillActive:hover{border-color:transparent;color:#ffffff}.dark .applePillActive:hover{color:#1c1c1e}.statItem{gap:12px;padding:4px}.statItem,.statItemIcon{display:flex;align-items:center}.statItemIcon{width:40px;height:40px;border-radius:10px;flex-shrink:0;justify-content:center;background:rgba(0,122,255,.08);color:var(--colorBrand)}.statItemValue{font-size:24px;font-weight:700;line-height:1.1;color:var(--colorText)}.statItemLabel{font-size:12px;color:var(--colorTextSecondary);margin-top:1px}.pageTitle{font-size:22px;font-weight:700;letter-spacing:-.015em;color:var(--colorText);margin:0}.pageDesc{margin-top:4px;font-size:14px;color:var(--colorTextSecondary)}.ant-card{background:linear-gradient(180deg,color-mix(in srgb,var(--glassBg) 92%,white 8%),var(--glassBg))!important;border:1px solid color-mix(in srgb,var(--borderColor) 46%,transparent)!important;border-radius:24px!important;box-shadow:var(--shadowSoft),inset 0 1px 0 rgba(255,255,255,.38)!important;backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ant-card:hover{border-color:color-mix(in srgb,var(--colorBrand) 14%,var(--borderColor))!important;box-shadow:var(--shadowCard),inset 0 1px 0 rgba(255,255,255,.5)!important;transform:translateY(-1px)}.ant-card .ant-card-head{border-bottom-color:var(--borderColor)!important}.ant-modal-content{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radiusLg)!important}.ant-table-wrapper .ant-table{border-radius:16px;overflow:hidden}.ant-table-thead>tr>th{font-size:12px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.05em}.ant-table-cell{font-size:13px}.ant-btn-primary{box-shadow:var(--shadowButton)!important}.ant-spin-dot-item{background-color:var(--colorBrand)!important}.ant-tag{border-radius:var(--radiusPill)!important;font-size:12px!important}
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(s,e,t,c,a,n,i,d,u,f,b,o,r,k,h,g,l,j,m,p,_,w,x,I,v){return{__rewrites:{afterFiles:[],beforeFiles:[{has:j,source:"/_next/static/:buildId/_buildManifest.js",destination:"/_next/static/customize-agent-dashboard/_buildManifest.js"},{has:j,source:"/_next/static/:buildId/_ssgManifest.js",destination:"/_next/static/customize-agent-dashboard/_ssgManifest.js"}],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:p,bitArray:[]},__routerFilterDynamic:{numItems:k,errorRate:1e-4,numBits:k,numHashes:p,bitArray:[]},"/":["static/chunks/pages/index-c5e0758e6b31deee.js"],"/_error":["static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":[s,e,t,c,a,n,d,u,o,h,"static/chunks/881-a1eb917222b66f09.js","static/chunks/pages/asset-library-0f607b74fa016470.js"],"/context/long-term":[s,e,t,c,a,i,n,d,u,f,b,r,_,"static/chunks/pages/context/long-term-09e23b06634b08d9.js"],"/context/short-term":[s,e,t,c,a,i,n,d,u,f,b,r,_,"static/chunks/pages/context/short-term-2f5fd8531e87b5bd.js"],"/document-roles":[s,e,t,c,a,i,n,d,u,b,h,"static/chunks/pages/document-roles-077fc7159c88e89e.js"],"/document-specs":[s,e,t,c,a,i,n,d,u,b,h,g,"static/chunks/pages/document-specs-fb5b8a89cff6d1e3.js"],"/documents":[s,e,t,c,a,i,n,d,u,b,o,h,w,"static/chunks/617-68a9e848c380f9c3.js","static/chunks/pages/documents-38320ae2fd50be35.js"],"/guide":[s,e,t,o,w,"static/chunks/969-5d5ff5a3ed74f52b.js","static/chunks/pages/guide-acf32d66a6df6e5a.js"],"/knowledge":["static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":[s,e,t,c,a,i,n,d,f,r,o,x,"static/chunks/80-96429163e5c103a8.js",l,"static/chunks/pages/knowledge/file-detail-ad1dc61c1413db0c.js"],"/knowledge/files":[s,e,t,c,a,i,n,d,f,r,I,l,"static/chunks/pages/knowledge/files-896c058f2da5e907.js"],"/knowledge/manage":[s,e,t,c,a,n,d,f,r,v,"static/chunks/935-daa0026982d7fa8d.js","static/chunks/pages/knowledge/manage-6da10158f75718cf.js"],"/knowledge/search":[s,e,t,c,i,n,o,g,x,l,"static/chunks/pages/knowledge/search-3fd704d2afa1af3e.js"],"/models":[s,e,t,c,a,i,u,f,b,g,"static/css/0e153583d22cc52e.css","static/chunks/pages/models-7bdf24068811ae91.js"],"/overview":[s,e,I,v,"static/chunks/224-9a7074031493793b.js","static/chunks/pages/overview-572bba4876e617f5.js"],"/prompt":[s,e,t,c,i,u,f,"static/chunks/pages/prompt-c9bc7884a44d3767.js"],"/settings":[s,"static/css/82b6ddff0ef364fe.css","static/chunks/pages/settings-68f0d05bf95d12da.js"],sortedPages:["/","/_app","/_error","/asset-library","/context/long-term","/context/short-term","/document-roles","/document-specs","/documents","/guide","/knowledge","/knowledge/file-detail","/knowledge/files","/knowledge/manage","/knowledge/search","/models","/overview","/prompt","/settings"]}}("static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/700-5d29b0475311f590.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/232-813af4932a145fdc.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/400-1fa1899b7c3f0bb4.js",0,"static/chunks/951-8ecf8af33ab36369.js","static/chunks/20-8968ee2d4013a5b8.js","static/css/d284a7454d6f6b06.css",void 0,1e-4,NaN,"static/chunks/257-e4ebae17a8ee8412.js","static/chunks/858-5e6982e2b239d4b7.js","static/chunks/350-8c5e13c0577a38c3.js","static/chunks/15-4683808cb8db7005.js","static/chunks/577-5b2691f0c8f17187.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
package/README.md CHANGED
@@ -9,6 +9,8 @@ Customize Agent Web 管理控制台,基于 Next.js。该包随 CLI 一起安
9
9
  - 知识库文件上传、搜索、管理和统计页面
10
10
  - Provider 与模型配置页面
11
11
  - Prompt 管理页面
12
+ - 生成编辑、生成资源管理和多格式导出页面
13
+ - 基于文档规范包、文件角色、提示词角色的动态 schema 生成流程
12
14
  - 短期/长期上下文管理页面
13
15
  - 系统统计与健康检查 API
14
16
 
@@ -50,6 +52,9 @@ CLI 启动时会:
50
52
  | 知识库搜索 | `/knowledge/search` |
51
53
  | 模型配置 | `/models` |
52
54
  | Prompt 管理 | `/prompt` |
55
+ | 生成编辑 | `/documents` |
56
+ | 生成资源 | `/asset-library` |
57
+ | 学习说明 | `/guide` |
53
58
  | 设置 | `/settings` |
54
59
  | 短期上下文 | `/context/short-term` |
55
60
  | 长期上下文 | `/context/long-term` |
@@ -90,6 +95,11 @@ CLI 启动时会:
90
95
  | `DELETE /api/context` | 删除上下文 |
91
96
  | `GET /api/system/stats` | 系统统计 |
92
97
  | `GET/POST /api/prompt` | Prompt 管理 |
98
+ | `POST /api/documents/generate` | 创建后台文档生成任务,返回 `documentId/taskId` |
99
+ | `GET/PUT/DELETE /api/documents/generated/:id` | 生成记录轮询、更新和删除 |
100
+ | `POST /api/documents/export` | 按 `documentId` 或 Markdown 导出 Markdown/HTML/DOCX/PDF |
101
+ | `GET/POST/DELETE /api/assets/generated` | 生成资源列表、手动入库、打开和删除 |
102
+ | `GET /api/assets/generated/preview` | 生成图片资源预览 |
93
103
 
94
104
  ## 环境变量
95
105
 
@@ -117,6 +127,14 @@ Web API 需要知道当前用户项目根目录。解析优先级:
117
127
 
118
128
  内部目录如 `~/.customize-agent`、`apps/server`、`apps/cli` 会被过滤,避免 Web 控制台错误管理自身包目录。
119
129
 
130
+ 生成编辑页创建的文档记录、草稿、导出来源和生成资源统一保存在:
131
+
132
+ ```text
133
+ ~/.customize-agent/projects/{projectId}/generatedDocuments
134
+ ```
135
+
136
+ 其中 `index.json` 保存生成记录索引,`drafts/` 保存文档详情,`assets.json` 保存生成资源元数据,`assets/` 保存本地化生成资源。生成资源默认不进入知识库索引,必须由用户在生成资源页手动加入。
137
+
120
138
  ## 发布注意事项
121
139
 
122
140
  本包发布到 npm 时需要包含生产启动所需的 Next.js 构建产物:
package/next.config.ts CHANGED
@@ -16,6 +16,9 @@ const serverExternalPackages = [
16
16
  ];
17
17
 
18
18
  const nextConfig: NextConfig = {
19
+ generateBuildId() {
20
+ return 'customize-agent-dashboard';
21
+ },
19
22
  eslint: {
20
23
  ignoreDuringBuilds: true,
21
24
  },
@@ -32,15 +35,21 @@ const nextConfig: NextConfig = {
32
35
  async headers() {
33
36
  return [
34
37
  {
35
- source: '/:path((?!_next/static).*)',
36
- headers: [{ key: 'Cache-Control', value: 'no-store, max-age=0' }],
37
- },
38
- {
39
- source: '/_next/static/:buildId(_[^/]+)/(.*Manifest.js)',
40
- headers: [{ key: 'Cache-Control', value: 'no-store, max-age=0' }],
38
+ source: '/((?!_next/static|_next/image|favicon.ico).*)',
39
+ headers: [
40
+ { key: 'Cache-Control', value: 'no-store, must-revalidate' },
41
+ ],
41
42
  },
42
43
  ];
43
44
  },
45
+ async rewrites() {
46
+ return {
47
+ beforeFiles: [
48
+ { source: '/_next/static/:buildId/_buildManifest.js', destination: '/_next/static/customize-agent-dashboard/_buildManifest.js' },
49
+ { source: '/_next/static/:buildId/_ssgManifest.js', destination: '/_next/static/customize-agent-dashboard/_ssgManifest.js' },
50
+ ],
51
+ };
52
+ },
44
53
  async redirects() {
45
54
  return [
46
55
  { source: '/', destination: '/overview', permanent: false },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customize-agent/server",
3
- "version": "3.0.13",
3
+ "version": "3.0.15",
4
4
  "description": "Customize Agent Web 管理控制台",
5
5
  "exports": {
6
6
  "./package.json": "./package.json"
@@ -46,9 +46,9 @@
46
46
  "react-dom": "^19.0.0",
47
47
  "tesseract.js": "^7.0.0",
48
48
  "xlsx": "^0.18.5",
49
- "@customize-agent/knowledge": "^3.0.9",
50
- "@customize-agent/runtime": "^3.0.5",
51
- "@customize-agent/llm": "^3.0.3"
49
+ "@customize-agent/llm": "^3.0.3",
50
+ "@customize-agent/knowledge": "^3.0.10",
51
+ "@customize-agent/runtime": "^3.0.5"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@tailwindcss/postcss": "^4.3.2",
@@ -63,7 +63,7 @@
63
63
  },
64
64
  "scripts": {
65
65
  "dev": "next dev -p 17321",
66
- "build": "next build && node -e \"require('fs').rmSync('.next/cache', { recursive: true, force: true })\"",
66
+ "build": "node -e \"require('fs').rmSync('.next', { recursive: true, force: true })\" && next build && node -e \"require('fs').rmSync('.next/cache', { recursive: true, force: true })\"",
67
67
  "start": "next start -p 17321",
68
68
  "lint": "eslint src/"
69
69
  }
@@ -0,0 +1 @@
1
+ customize-agent favicon
@@ -1 +0,0 @@
1
- exports.id=2583,exports.ids=[2583],exports.modules={6936:(a,b)=>{"use strict";function c(a){return"/api"===a||!!(null==a?void 0:a.startsWith("/api/"))}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isAPIRoute",{enumerable:!0,get:function(){return c}})},9897:(a,b,c)=>{"use strict";a.exports=c(3999).vendored.contexts.HeadManagerContext},14061:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{createKey:function(){return R},default:function(){return U},matchesMiddleware:function(){return J}});let d=c(2403),e=c(12742),f=c(56001),g=c(63935),h=c(94532),i=e._(c(71702)),j=c(9612),k=c(57241),l=d._(c(78661)),m=c(8423),n=c(8844),o=c(97238),p=c(43438),q=c(16889),r=c(82865);c(88123);let s=c(84495),t=c(56902),u=c(67305),v=c(18884),w=c(72141),x=c(5652),y=c(79348),z=c(6936),A=c(13712),B=c(26975),C=c(89704),D=c(56402);c(84580);let E=c(35987),F=c(37018),G=c(91831),H=c(47274);function I(){return Object.assign(Object.defineProperty(Error("Route Cancelled"),"__NEXT_ERROR_CODE",{value:"E315",enumerable:!1,configurable:!0}),{cancelled:!0})}async function J(a){let b=await Promise.resolve(a.router.pageLoader.getMiddleware());if(!b)return!1;let{pathname:c}=(0,s.parsePath)(a.asPath),d=(0,x.hasBasePath)(c)?(0,v.removeBasePath)(c):c,e=(0,w.addBasePath)((0,t.addLocale)(d,a.locale));return b.some(a=>new RegExp(a.regexp).test(e))}function K(a){let b=(0,m.getLocationOrigin)();return a.startsWith(b)?a.substring(b.length):a}function L(a,b,c){let[d,e]=(0,y.resolveHref)(a,b,!0),f=(0,m.getLocationOrigin)(),g=d.startsWith(f),h=e&&e.startsWith(f);d=K(d),e=e?K(e):e;let i=g?d:(0,w.addBasePath)(d),j=c?K((0,y.resolveHref)(a,c)):e||d;return{url:i,as:h?j:(0,w.addBasePath)(j)}}function M(a,b){let c=(0,f.removeTrailingSlash)((0,j.denormalizePagePath)(a));return"/404"===c||"/_error"===c?a:(b.includes(c)||b.some(b=>{if((0,n.isDynamicRoute)(b)&&(0,q.getRouteRegex)(b).re.test(c))return a=b,!0}),(0,f.removeTrailingSlash)(a))}async function N(a){if(!await J(a)||!a.fetchData)return null;let b=await a.fetchData(),c=await function(a,b,c){let d={basePath:c.router.basePath,i18n:{locales:c.router.locales},trailingSlash:!1},e=b.headers.get("x-nextjs-rewrite"),h=e||b.headers.get("x-nextjs-matched-path"),i=b.headers.get(H.MATCHED_PATH_HEADER);if(!i||h||i.includes("__next_data_catchall")||i.includes("/_error")||i.includes("/404")||(h=i),h){if(h.startsWith("/")){let b=(0,o.parseRelativeUrl)(h),i=(0,A.getNextPathnameInfo)(b.pathname,{nextConfig:d,parseData:!0}),j=(0,f.removeTrailingSlash)(i.pathname);return Promise.all([c.router.pageLoader.getPageList(),(0,g.getClientBuildManifest)()]).then(f=>{let[g,{__rewrites:h}]=f,l=(0,t.addLocale)(i.pathname,i.locale);if((0,n.isDynamicRoute)(l)||!e&&g.includes((0,k.normalizeLocalePath)((0,v.removeBasePath)(l),c.router.locales).pathname)){let c=(0,A.getNextPathnameInfo)((0,o.parseRelativeUrl)(a).pathname,{nextConfig:d,parseData:!0});b.pathname=l=(0,w.addBasePath)(c.pathname)}if(!g.includes(j)){let a=M(j,g);a!==j&&(j=a)}let m=g.includes(j)?j:M((0,k.normalizeLocalePath)((0,v.removeBasePath)(b.pathname),c.router.locales).pathname,g);if((0,n.isDynamicRoute)(m)){let a=(0,p.getRouteMatcher)((0,q.getRouteRegex)(m))(l);Object.assign(b.query,a||{})}return{type:"rewrite",parsedAs:b,resolvedHref:m}})}let b=(0,s.parsePath)(a);return Promise.resolve({type:"redirect-external",destination:""+(0,B.formatNextPathnameInfo)({...(0,A.getNextPathnameInfo)(b.pathname,{nextConfig:d,parseData:!0}),defaultLocale:c.router.defaultLocale,buildId:""})+b.query+b.hash})}let j=b.headers.get("x-nextjs-redirect");if(j){if(j.startsWith("/")){let a=(0,s.parsePath)(j),b=(0,B.formatNextPathnameInfo)({...(0,A.getNextPathnameInfo)(a.pathname,{nextConfig:d,parseData:!0}),defaultLocale:c.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+b+a.query+a.hash,newUrl:""+b+a.query+a.hash})}return Promise.resolve({type:"redirect-external",destination:j})}return Promise.resolve({type:"next"})}(b.dataHref,b.response,a);return{dataHref:b.dataHref,json:b.json,response:b.response,text:b.text,cacheKey:b.cacheKey,effect:c}}let O=Symbol("SSG_DATA_NOT_FOUND");function P(a){try{return JSON.parse(a)}catch(a){return null}}function Q(a){let{dataHref:b,inflightCache:c,isPrefetch:d,hasMiddleware:e,isServerRender:f,parseJSON:h,persistCache:i,isBackground:j,unstable_skipClientCache:k}=a,{href:l}=new URL(b,window.location.href),m=a=>{var j;return(function a(b,c,d){return fetch(b,{credentials:"same-origin",method:d.method||"GET",headers:Object.assign({},d.headers,{"x-nextjs-data":"1"})}).then(e=>!e.ok&&c>1&&e.status>=500?a(b,c-1,d):e)})(b,f?3:1,{headers:Object.assign({},d?{purpose:"prefetch"}:{},d&&e?{"x-middleware-prefetch":"1"}:{},{}),method:null!=(j=null==a?void 0:a.method)?j:"GET"}).then(c=>c.ok&&(null==a?void 0:a.method)==="HEAD"?{dataHref:b,response:c,text:"",json:{},cacheKey:l}:c.text().then(a=>{if(!c.ok){if(e&&[301,302,307,308].includes(c.status))return{dataHref:b,response:c,text:a,json:{},cacheKey:l};if(404===c.status){var d;if(null==(d=P(a))?void 0:d.notFound)return{dataHref:b,json:{notFound:O},response:c,text:a,cacheKey:l}}let h=Object.defineProperty(Error("Failed to load static props"),"__NEXT_ERROR_CODE",{value:"E124",enumerable:!1,configurable:!0});throw f||(0,g.markAssetError)(h),h}return{dataHref:b,json:h?P(a):null,response:c,text:a,cacheKey:l}})).then(a=>(i&&"no-cache"!==a.response.headers.get("x-middleware-cache")||delete c[l],a)).catch(a=>{throw k||delete c[l],("Failed to fetch"===a.message||"NetworkError when attempting to fetch resource."===a.message||"Load failed"===a.message)&&(0,g.markAssetError)(a),a})};return k&&i?m({}).then(a=>("no-cache"!==a.response.headers.get("x-middleware-cache")&&(c[l]=Promise.resolve(a)),a)):void 0!==c[l]?c[l]:c[l]=m(j?{method:"HEAD"}:{})}function R(){return Math.random().toString(36).slice(2,10)}function S(a){let{url:b,router:c}=a;if(b===(0,w.addBasePath)((0,t.addLocale)(c.asPath,c.locale)))throw Object.defineProperty(Error("Invariant: attempted to hard navigate to the same URL "+b+" "+location.href),"__NEXT_ERROR_CODE",{value:"E282",enumerable:!1,configurable:!0});window.location.href=b}let T=a=>{let{route:b,router:c}=a,d=!1,e=c.clc=()=>{d=!0};return()=>{if(d){let a=Object.defineProperty(Error('Abort fetching component for route: "'+b+'"'),"__NEXT_ERROR_CODE",{value:"E483",enumerable:!1,configurable:!0});throw a.cancelled=!0,a}e===c.clc&&(c.clc=null)}};class U{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(a,b,c){return void 0===c&&(c={}),{url:a,as:b}=L(this,a,b),this.change("pushState",a,b,c)}replace(a,b,c){return void 0===c&&(c={}),{url:a,as:b}=L(this,a,b),this.change("replaceState",a,b,c)}async _bfl(a,b,d,e){{if(!this._bfl_s&&!this._bfl_d){let b,f,{BloomFilter:h}=c(40404);try{({__routerFilterStatic:b,__routerFilterDynamic:f}=await (0,g.getClientBuildManifest)())}catch(b){if(console.error(b),e)return!0;return S({url:(0,w.addBasePath)((0,t.addLocale)(a,d||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}(null==b?void 0:b.numHashes)&&(this._bfl_s=new h(b.numItems,b.errorRate),this._bfl_s.import(b)),(null==f?void 0:f.numHashes)&&(this._bfl_d=new h(f.numItems,f.errorRate),this._bfl_d.import(f))}let k=!1,l=!1;for(let{as:c,allowMatchCurrent:g}of[{as:a},{as:b}])if(c){let b=(0,f.removeTrailingSlash)(new URL(c,"http://n").pathname),m=(0,w.addBasePath)((0,t.addLocale)(b,d||this.locale));if(g||b!==(0,f.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var h,i,j;for(let a of(k=k||!!(null==(h=this._bfl_s)?void 0:h.contains(b))||!!(null==(i=this._bfl_s)?void 0:i.contains(m)),[b,m])){let b=a.split("/");for(let a=0;!l&&a<b.length+1;a++){let c=b.slice(0,a).join("/");if(c&&(null==(j=this._bfl_d)?void 0:j.contains(c))){l=!0;break}}}if(k||l){if(e)return!0;return S({url:(0,w.addBasePath)((0,t.addLocale)(a,d||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}}}}return!1}async change(a,b,c,d,e){var j,k,l,y,z,A,B,G,H;let K,N;if(!(0,D.isLocalURL)(b))return S({url:b,router:this}),!1;let P=1===d._h;P||d.shallow||await this._bfl(c,void 0,d.locale);let Q=P||d._shouldResolveHref||(0,s.parsePath)(b).pathname===(0,s.parsePath)(c).pathname,R={...this.state},T=!0!==this.isReady;this.isReady=!0;let V=this.isSsr;if(P||(this.isSsr=!1),P&&this.clc)return!1;let W=R.locale;m.ST&&performance.mark("routeChange");let{shallow:X=!1,scroll:Y=!0}=d,Z={shallow:X};this._inFlightRoute&&this.clc&&(V||U.events.emit("routeChangeError",I(),this._inFlightRoute,Z),this.clc(),this.clc=null),c=(0,w.addBasePath)((0,t.addLocale)((0,x.hasBasePath)(c)?(0,v.removeBasePath)(c):c,d.locale,this.defaultLocale));let $=(0,u.removeLocale)((0,x.hasBasePath)(c)?(0,v.removeBasePath)(c):c,R.locale);this._inFlightRoute=c;let _=W!==R.locale;if(!P&&this.onlyAHashChange($)&&!_){R.asPath=$,U.events.emit("hashChangeStart",c,Z),this.changeState(a,b,c,{...d,scroll:!1}),Y&&this.scrollToHash($);try{await this.set(R,this.components[R.route],null)}catch(a){throw(0,i.default)(a)&&a.cancelled&&U.events.emit("routeChangeError",a,$,Z),a}return U.events.emit("hashChangeComplete",c,Z),!0}let aa=(0,o.parseRelativeUrl)(b),{pathname:ab,query:ac}=aa;try{[K,{__rewrites:N}]=await Promise.all([this.pageLoader.getPageList(),(0,g.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(a){return S({url:c,router:this}),!1}this.urlIsNew($)||_||(a="replaceState");let ad=c;ab=ab?(0,f.removeTrailingSlash)((0,v.removeBasePath)(ab)):ab;let ae=(0,f.removeTrailingSlash)(ab),af=c.startsWith("/")&&(0,o.parseRelativeUrl)(c).pathname;if(null==(j=this.components[ab])?void 0:j.__appRouter)return S({url:c,router:this}),new Promise(()=>{});let ag=!!(af&&ae!==af&&(!(0,n.isDynamicRoute)(ae)||!(0,p.getRouteMatcher)((0,q.getRouteRegex)(ae))(af))),ah=!d.shallow&&await J({asPath:c,locale:R.locale,router:this});if(P&&ah&&(Q=!1),Q&&"/_error"!==ab&&(d._shouldResolveHref=!0,aa.pathname=M(ab,K),aa.pathname!==ab&&(ab=aa.pathname,aa.pathname=(0,w.addBasePath)(ab),ah||(b=(0,r.formatWithValidation)(aa)))),!(0,D.isLocalURL)(c))return S({url:c,router:this}),!1;ad=(0,u.removeLocale)((0,v.removeBasePath)(ad),R.locale),ae=(0,f.removeTrailingSlash)(ab);let ai=!1;if((0,n.isDynamicRoute)(ae)){let a=(0,o.parseRelativeUrl)(ad),d=a.pathname,e=(0,q.getRouteRegex)(ae);ai=(0,p.getRouteMatcher)(e)(d);let f=ae===d,g=f?(0,F.interpolateAs)(ae,d,ac):{};if(ai&&(!f||g.result))f?c=(0,r.formatWithValidation)(Object.assign({},a,{pathname:g.result,query:(0,E.omit)(ac,g.params)})):Object.assign(ac,ai);else{let a=Object.keys(e.groups).filter(a=>!ac[a]&&!e.groups[a].optional);if(a.length>0&&!ah)throw Object.defineProperty(Error((f?"The provided `href` ("+b+") value is missing query values ("+a.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+d+") is incompatible with the `href` value ("+ae+"). ")+"Read more: https://nextjs.org/docs/messages/"+(f?"href-interpolation-failed":"incompatible-href-as")),"__NEXT_ERROR_CODE",{value:"E344",enumerable:!1,configurable:!0})}}P||U.events.emit("routeChangeStart",c,Z);let aj="/404"===this.pathname||"/_error"===this.pathname;try{let f=await this.getRouteInfo({route:ae,pathname:ab,query:ac,as:c,resolvedAs:ad,routeProps:Z,locale:R.locale,isPreview:R.isPreview,hasMiddleware:ah,unstable_skipClientCache:d.unstable_skipClientCache,isQueryUpdating:P&&!this.isFallback,isMiddlewareRewrite:ag});if(P||d.shallow||await this._bfl(c,"resolvedAs"in f?f.resolvedAs:void 0,R.locale),"route"in f&&ah){ae=ab=f.route||ae,Z.shallow||(ac=Object.assign({},f.query||{},ac));let a=(0,x.hasBasePath)(aa.pathname)?(0,v.removeBasePath)(aa.pathname):aa.pathname;if(ai&&ab!==a&&Object.keys(ai).forEach(a=>{ai&&ac[a]===ai[a]&&delete ac[a]}),(0,n.isDynamicRoute)(ab)){let a=!Z.shallow&&f.resolvedAs?f.resolvedAs:(0,w.addBasePath)((0,t.addLocale)(new URL(c,location.href).pathname,R.locale),!0);(0,x.hasBasePath)(a)&&(a=(0,v.removeBasePath)(a));let b=(0,q.getRouteRegex)(ab),d=(0,p.getRouteMatcher)(b)(new URL(a,location.href).pathname);d&&Object.assign(ac,d)}}if("type"in f)if("redirect-internal"===f.type)return this.change(a,f.newUrl,f.newAs,d);else return S({url:f.destination,router:this}),new Promise(()=>{});let g=f.Component;if(g&&g.unstable_scriptLoader&&[].concat(g.unstable_scriptLoader()).forEach(a=>{(0,h.handleClientScriptLoad)(a.props)}),(f.__N_SSG||f.__N_SSP)&&f.props){if(f.props.pageProps&&f.props.pageProps.__N_REDIRECT){d.locale=!1;let b=f.props.pageProps.__N_REDIRECT;if(b.startsWith("/")&&!1!==f.props.pageProps.__N_REDIRECT_BASE_PATH){let c=(0,o.parseRelativeUrl)(b);c.pathname=M(c.pathname,K);let{url:e,as:f}=L(this,b,b);return this.change(a,e,f,d)}return S({url:b,router:this}),new Promise(()=>{})}if(R.isPreview=!!f.props.__N_PREVIEW,f.props.notFound===O){let a;try{await this.fetchComponent("/404"),a="/404"}catch(b){a="/_error"}if(f=await this.getRouteInfo({route:a,pathname:a,query:ac,as:c,resolvedAs:ad,routeProps:{shallow:!1},locale:R.locale,isPreview:R.isPreview,isNotFound:!0}),"type"in f)throw Object.defineProperty(Error("Unexpected middleware effect on /404"),"__NEXT_ERROR_CODE",{value:"E158",enumerable:!1,configurable:!0})}}P&&"/_error"===this.pathname&&(null==(l=self.__NEXT_DATA__.props)||null==(k=l.pageProps)?void 0:k.statusCode)===500&&(null==(y=f.props)?void 0:y.pageProps)&&(f.props.pageProps.statusCode=500);let j=d.shallow&&R.route===(null!=(z=f.route)?z:ae),m=null!=(A=d.scroll)?A:!P&&!j,r=null!=e?e:m?{x:0,y:0}:null,s={...R,route:ae,pathname:ab,query:ac,asPath:$,isFallback:!1};if(P&&aj){if(f=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:ac,as:c,resolvedAs:ad,routeProps:{shallow:!1},locale:R.locale,isPreview:R.isPreview,isQueryUpdating:P&&!this.isFallback}),"type"in f)throw Object.defineProperty(Error("Unexpected middleware effect on "+this.pathname),"__NEXT_ERROR_CODE",{value:"E225",enumerable:!1,configurable:!0});"/_error"===this.pathname&&(null==(G=self.__NEXT_DATA__.props)||null==(B=G.pageProps)?void 0:B.statusCode)===500&&(null==(H=f.props)?void 0:H.pageProps)&&(f.props.pageProps.statusCode=500);try{await this.set(s,f,r)}catch(a){throw(0,i.default)(a)&&a.cancelled&&U.events.emit("routeChangeError",a,$,Z),a}return!0}if(U.events.emit("beforeHistoryChange",c,Z),this.changeState(a,b,c,d),!(P&&!r&&!T&&!_&&(0,C.compareRouterStates)(s,this.state))){try{await this.set(s,f,r)}catch(a){if(a.cancelled)f.error=f.error||a;else throw a}if(f.error)throw P||U.events.emit("routeChangeError",f.error,$,Z),f.error;P||U.events.emit("routeChangeComplete",c,Z),m&&/#.+$/.test(c)&&this.scrollToHash(c)}return!0}catch(a){if((0,i.default)(a)&&a.cancelled)return!1;throw a}}changeState(a,b,c,d){void 0===d&&(d={}),("pushState"!==a||(0,m.getURL)()!==c)&&(this._shallow=d.shallow,window.history[a]({url:b,as:c,options:d,__N:!0,key:this._key="pushState"!==a?this._key:R()},"",c))}async handleRouteInfoError(a,b,c,d,e,f){if(a.cancelled)throw a;if((0,g.isAssetError)(a)||f)throw U.events.emit("routeChangeError",a,d,e),S({url:d,router:this}),I();console.error(a);try{let d,{page:e,styleSheets:f}=await this.fetchComponent("/_error"),g={props:d,Component:e,styleSheets:f,err:a,error:a};if(!g.props)try{g.props=await this.getInitialProps(e,{err:a,pathname:b,query:c})}catch(a){console.error("Error in error page `getInitialProps`: ",a),g.props={}}return g}catch(a){return this.handleRouteInfoError((0,i.default)(a)?a:Object.defineProperty(Error(a+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),b,c,d,e,!0)}}async getRouteInfo(a){let{route:b,pathname:c,query:d,as:e,resolvedAs:g,routeProps:h,locale:j,hasMiddleware:l,isPreview:m,unstable_skipClientCache:n,isQueryUpdating:o,isMiddlewareRewrite:p,isNotFound:q}=a,s=b;try{var t,u,w,x;let a=this.components[s];if(h.shallow&&a&&this.route===s)return a;let b=T({route:s,router:this});l&&(a=void 0);let i=!a||"initial"in a?void 0:a,y={dataHref:this.pageLoader.getDataHref({href:(0,r.formatWithValidation)({pathname:c,query:d}),skipInterpolation:!0,asPath:q?"/404":g,locale:j}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:o?this.sbc:this.sdc,persistCache:!m,isPrefetch:!1,unstable_skipClientCache:n,isBackground:o},A=o&&!p?null:await N({fetchData:()=>Q(y),asPath:q?"/404":g,locale:j,router:this}).catch(a=>{if(o)return null;throw a});if(A&&("/_error"===c||"/404"===c)&&(A.effect=void 0),o&&(A?A.json=self.__NEXT_DATA__.props:A={json:self.__NEXT_DATA__.props}),b(),(null==A||null==(t=A.effect)?void 0:t.type)==="redirect-internal"||(null==A||null==(u=A.effect)?void 0:u.type)==="redirect-external")return A.effect;if((null==A||null==(w=A.effect)?void 0:w.type)==="rewrite"){let b=(0,f.removeTrailingSlash)(A.effect.resolvedHref),e=await this.pageLoader.getPageList();if((!o||e.includes(b))&&(s=b,c=A.effect.resolvedHref,d={...d,...A.effect.parsedAs.query},g=(0,v.removeBasePath)((0,k.normalizeLocalePath)(A.effect.parsedAs.pathname,this.locales).pathname),a=this.components[s],h.shallow&&a&&this.route===s&&!l))return{...a,route:s}}if((0,z.isAPIRoute)(s))return S({url:e,router:this}),new Promise(()=>{});let B=i||await this.fetchComponent(s).then(a=>({Component:a.page,styleSheets:a.styleSheets,__N_SSG:a.mod.__N_SSG,__N_SSP:a.mod.__N_SSP})),C=null==A||null==(x=A.response)?void 0:x.headers.get("x-middleware-skip"),D=B.__N_SSG||B.__N_SSP;C&&(null==A?void 0:A.dataHref)&&delete this.sdc[A.dataHref];let{props:E,cacheKey:F}=await this._getData(async()=>{if(D){if((null==A?void 0:A.json)&&!C)return{cacheKey:A.cacheKey,props:A.json};let a=(null==A?void 0:A.dataHref)?A.dataHref:this.pageLoader.getDataHref({href:(0,r.formatWithValidation)({pathname:c,query:d}),asPath:g,locale:j}),b=await Q({dataHref:a,isServerRender:this.isSsr,parseJSON:!0,inflightCache:C?{}:this.sdc,persistCache:!m,isPrefetch:!1,unstable_skipClientCache:n});return{cacheKey:b.cacheKey,props:b.json||{}}}return{headers:{},props:await this.getInitialProps(B.Component,{pathname:c,query:d,asPath:e,locale:j,locales:this.locales,defaultLocale:this.defaultLocale})}});return B.__N_SSP&&y.dataHref&&F&&delete this.sdc[F],this.isPreview||!B.__N_SSG||o||Q(Object.assign({},y,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),E.pageProps=Object.assign({},E.pageProps),B.props=E,B.route=s,B.query=d,B.resolvedAs=g,this.components[s]=B,B}catch(a){return this.handleRouteInfoError((0,i.getProperError)(a),c,d,e,h)}}set(a,b,c){return this.state=a,this.sub(b,this.components["/_app"].Component,c)}beforePopState(a){this._bps=a}onlyAHashChange(a){if(!this.asPath)return!1;let[b,c]=this.asPath.split("#",2),[d,e]=a.split("#",2);return!!e&&b===d&&c===e||b===d&&c!==e}scrollToHash(a){let[,b=""]=a.split("#",2);(0,G.disableSmoothScrollDuringRouteTransition)(()=>{if(""===b||"top"===b)return void window.scrollTo(0,0);let a=decodeURIComponent(b),c=document.getElementById(a);if(c)return void c.scrollIntoView();let d=document.getElementsByName(a)[0];d&&d.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(a)})}urlIsNew(a){return this.asPath!==a}async prefetch(a,b,c){void 0===b&&(b=a),void 0===c&&(c={});let d=(0,o.parseRelativeUrl)(a),e=d.pathname,{pathname:g,query:h}=d,i=g,j=await this.pageLoader.getPageList(),k=b,l=void 0!==c.locale?c.locale||void 0:this.locale,m=await J({asPath:b,locale:l,router:this});d.pathname=M(d.pathname,j),(0,n.isDynamicRoute)(d.pathname)&&(g=d.pathname,d.pathname=g,Object.assign(h,(0,p.getRouteMatcher)((0,q.getRouteRegex)(d.pathname))((0,s.parsePath)(b).pathname)||{}),m||(a=(0,r.formatWithValidation)(d)));let t=await N({fetchData:()=>Q({dataHref:this.pageLoader.getDataHref({href:(0,r.formatWithValidation)({pathname:i,query:h}),skipInterpolation:!0,asPath:k,locale:l}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:b,locale:l,router:this});if((null==t?void 0:t.effect.type)==="rewrite"&&(d.pathname=t.effect.resolvedHref,g=t.effect.resolvedHref,h={...h,...t.effect.parsedAs.query},k=t.effect.parsedAs.pathname,a=(0,r.formatWithValidation)(d)),(null==t?void 0:t.effect.type)==="redirect-external")return;let u=(0,f.removeTrailingSlash)(g);await this._bfl(b,k,c.locale,!0)&&(this.components[e]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(u).then(b=>!!b&&Q({dataHref:(null==t?void 0:t.json)?null==t?void 0:t.dataHref:this.pageLoader.getDataHref({href:a,asPath:k,locale:l}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:c.unstable_skipClientCache||c.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[c.priority?"loadPage":"prefetch"](u)])}async fetchComponent(a){let b=T({route:a,router:this});try{let c=await this.pageLoader.loadPage(a);return b(),c}catch(a){throw b(),a}}_getData(a){let b=!1,c=()=>{b=!0};return this.clc=c,a().then(a=>{if(c===this.clc&&(this.clc=null),b){let a=Object.defineProperty(Error("Loading initial props cancelled"),"__NEXT_ERROR_CODE",{value:"E405",enumerable:!1,configurable:!0});throw a.cancelled=!0,a}return a})}getInitialProps(a,b){let{Component:c}=this.components["/_app"],d=this._wrapApp(c);return b.AppTree=d,(0,m.loadGetInitialProps)(c,{AppTree:d,Component:a,router:this,ctx:b})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(a,b,c,{initialProps:d,pageLoader:e,App:g,wrapApp:h,Component:i,err:j,subscription:k,isFallback:l,locale:p,locales:q,defaultLocale:s,domainLocales:t,isPreview:u}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=R(),this.onPopState=a=>{let b,{isFirstPopStateEvent:c}=this;this.isFirstPopStateEvent=!1;let d=a.state;if(!d){let{pathname:a,query:b}=this;this.changeState("replaceState",(0,r.formatWithValidation)({pathname:(0,w.addBasePath)(a),query:b}),(0,m.getURL)());return}if(d.__NA)return void window.location.reload();if(!d.__N||c&&this.locale===d.options.locale&&d.as===this.asPath)return;let{url:e,as:f,options:g,key:h}=d;this._key=h;let{pathname:i}=(0,o.parseRelativeUrl)(e);(!this.isSsr||f!==(0,w.addBasePath)(this.asPath)||i!==(0,w.addBasePath)(this.pathname))&&(!this._bps||this._bps(d))&&this.change("replaceState",e,f,Object.assign({},g,{shallow:g.shallow&&this._shallow,locale:g.locale||this.defaultLocale,_h:0}),b)};let v=(0,f.removeTrailingSlash)(a);this.components={},"/_error"!==a&&(this.components[v]={Component:i,initial:!0,props:d,err:j,__N_SSG:d&&d.__N_SSG,__N_SSP:d&&d.__N_SSP}),this.components["/_app"]={Component:g,styleSheets:[]},this.events=U.events,this.pageLoader=e;let x=(0,n.isDynamicRoute)(a)&&self.__NEXT_DATA__.autoExport;this.basePath="",this.sub=k,this.clc=null,this._wrapApp=h,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!x&&!self.location.search),this.state={route:v,pathname:a,query:b,asPath:x?a:c,isPreview:!!u,locale:void 0,isFallback:l},this._initialMatchesMiddlewarePromise=Promise.resolve(!1)}}U.events=(0,l.default)()},18884:(a,b,c)=>{"use strict";function d(a){return a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeBasePath",{enumerable:!0,get:function(){return d}}),c(5652),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},21364:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"setAttributesFromProps",{enumerable:!0,get:function(){return f}});let c={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},d=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function e(a){return["async","defer","noModule"].includes(a)}function f(a,b){for(let[f,g]of Object.entries(b)){if(!b.hasOwnProperty(f)||d.includes(f)||void 0===g)continue;let h=c[f]||f.toLowerCase();"SCRIPT"===a.tagName&&e(h)?a[h]=!!g:a.setAttribute(h,String(g)),(!1===g||"SCRIPT"===a.tagName&&e(h)&&(!g||"false"===g))&&(a.setAttribute(h,""),a.removeAttribute(h))}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},28032:(a,b,c)=>{(()=>{var b={154:(a,b,c)=>{var d=c(781),e=["write","end","destroy"],f=["resume","pause"],g=["data","close"],h=Array.prototype.slice;function i(a,b){if(a.forEach)return a.forEach(b);for(var c=0;c<a.length;c++)b(a[c],c)}a.exports=function(a,b){var c=new d,j=!1;return i(e,function(b){c[b]=function(){return a[b].apply(a,arguments)}}),i(f,function(a){c[a]=function(){c.emit(a);var d=b[a];if(d)return d.apply(b,arguments);b.emit(a)}}),i(g,function(a){b.on(a,function(){var b=h.call(arguments);b.unshift(a),c.emit.apply(c,b)})}),b.on("end",function(){if(!j){j=!0;var a=h.call(arguments);a.unshift("end"),c.emit.apply(c,a)}}),a.on("drain",function(){c.emit("drain")}),a.on("error",k),b.on("error",k),c.writable=a.writable,c.readable=b.readable,c;function k(a){c.emit("error",a)}}},349:(a,b,c)=>{"use strict";let d=c(147),e=c(781),f=c(796),g=c(154),h=c(530),i=a=>Object.assign({level:9},a);a.exports=(a,b)=>a?h(f.gzip)(a,i(b)).then(a=>a.length).catch(a=>0):Promise.resolve(0),a.exports.sync=(a,b)=>f.gzipSync(a,i(b)).length,a.exports.stream=a=>{let b=new e.PassThrough,c=new e.PassThrough,d=g(b,c),h=0,j=f.createGzip(i(a)).on("data",a=>{h+=a.length}).on("error",()=>{d.gzipSize=0}).on("end",()=>{d.gzipSize=h,d.emit("gzip-size",h),c.end()});return b.pipe(j),b.pipe(c,{end:!1}),d},a.exports.file=(b,c)=>new Promise((e,f)=>{let g=d.createReadStream(b);g.on("error",f);let h=g.pipe(a.exports.stream(c));h.on("error",f),h.on("gzip-size",e)}),a.exports.fileSync=(b,c)=>a.exports.sync(d.readFileSync(b),c)},530:a=>{"use strict";let b=(a,b)=>function(...c){return new b.promiseModule((d,e)=>{b.multiArgs?c.push((...a)=>{b.errorFirst?a[0]?e(a):(a.shift(),d(a)):d(a)}):b.errorFirst?c.push((a,b)=>{a?e(a):d(b)}):c.push(d),a.apply(this,c)})};a.exports=(a,c)=>{let d;c=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},c);let e=typeof a;if(null===a||"object"!==e&&"function"!==e)throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${null===a?"null":e}\``);let f=a=>{let b=b=>"string"==typeof b?a===b:b.test(a);return c.include?c.include.some(b):!c.exclude.some(b)};for(let g in d="function"===e?function(...d){return c.excludeMain?a(...d):b(a,c).apply(this,d)}:Object.create(Object.getPrototypeOf(a)),a){let e=a[g];d[g]="function"==typeof e&&f(g)?b(e,c):e}return d}},147:a=>{"use strict";a.exports=c(29021)},781:a=>{"use strict";a.exports=c(27910)},796:a=>{"use strict";a.exports=c(74075)}},d={};function e(a){var c=d[a];if(void 0!==c)return c.exports;var f=d[a]={exports:{}},g=!0;try{b[a](f,f.exports,e),g=!1}finally{g&&delete d[a]}return f.exports}e.ab=__dirname+"/",a.exports=e(349)})()},32538:(a,b)=>{"use strict";function c(a,b){return void 0===b&&(b=""),("/"===a?"/index":/^\/index(\/|$)/.test(a)?"/index"+a:a)+b}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return c}})},32784:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}}),c(2403);let d=c(8732);c(82015);let e=c(50749);function f(a){function b(b){return(0,d.jsx)(a,{router:(0,e.useRouter)(),...b})}return b.getInitialProps=a.getInitialProps,b.origGetInitialProps=a.origGetInitialProps,b}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},37808:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"warnOnce",{enumerable:!0,get:function(){return c}});let c=a=>{}},40375:(a,b)=>{"use strict";let c;function d(a){return(null==c?void 0:c.createScriptURL(a))||a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return d}}),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},40404:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"BloomFilter",{enumerable:!0,get:function(){return d}});class d{static from(a,b){void 0===b&&(b=1e-4);let c=new d(a.length,b);for(let b of a)c.add(b);return c}export(){let a={numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray};if(this.errorRate<1e-4){let b=JSON.stringify(a),d=c(28032).sync(b);d>1024&&console.warn("Creating filter with error rate less than 0.1% (0.001) can increase the size dramatically proceed with caution. Received error rate "+this.errorRate+" resulted in size "+b.length+" bytes, "+d+" bytes (gzip)")}return a}import(a){this.numItems=a.numItems,this.errorRate=a.errorRate,this.numBits=a.numBits,this.numHashes=a.numHashes,this.bitArray=a.bitArray}add(a){this.getHashValues(a).forEach(a=>{this.bitArray[a]=1})}contains(a){return this.getHashValues(a).every(a=>this.bitArray[a])}getHashValues(a){let b=[];for(let c=1;c<=this.numHashes;c++){let d=function(a){let b=0;for(let c=0;c<a.length;c++)b=Math.imul(b^a.charCodeAt(c),0x5bd1e995),b^=b>>>13,b=Math.imul(b,0x5bd1e995);return b>>>0}(""+a+c)%this.numBits;b.push(d)}return b}constructor(a,b=1e-4){this.numItems=a,this.errorRate=b,this.numBits=Math.ceil(-(a*Math.log(b))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/a*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},42583:(a,b,c)=>{a.exports=c(50749)},50749:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{Router:function(){return f.default},createRouter:function(){return p},default:function(){return n},makePublicRouterInstance:function(){return q},useRouter:function(){return o},withRouter:function(){return i.default}});let d=c(2403),e=d._(c(82015)),f=d._(c(14061)),g=c(28062),h=d._(c(71702)),i=d._(c(32784)),j={router:null,readyCallbacks:[],ready(a){if(this.router)return a()}},k=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],l=["push","replace","reload","back","prefetch","beforePopState"];function m(){if(!j.router)throw Object.defineProperty(Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return j.router}Object.defineProperty(j,"events",{get:()=>f.default.events}),k.forEach(a=>{Object.defineProperty(j,a,{get:()=>m()[a]})}),l.forEach(a=>{j[a]=function(){for(var b=arguments.length,c=Array(b),d=0;d<b;d++)c[d]=arguments[d];return m()[a](...c)}}),["routeChangeStart","beforeHistoryChange","routeChangeComplete","routeChangeError","hashChangeStart","hashChangeComplete"].forEach(a=>{j.ready(()=>{f.default.events.on(a,function(){for(var b=arguments.length,c=Array(b),d=0;d<b;d++)c[d]=arguments[d];let e="on"+a.charAt(0).toUpperCase()+a.substring(1);if(j[e])try{j[e](...c)}catch(a){console.error("Error when running the Router event: "+e),console.error((0,h.default)(a)?a.message+"\n"+a.stack:a+"")}})})});let n=j;function o(){let a=e.default.useContext(g.RouterContext);if(!a)throw Object.defineProperty(Error("NextRouter was not mounted. https://nextjs.org/docs/messages/next-router-not-mounted"),"__NEXT_ERROR_CODE",{value:"E509",enumerable:!1,configurable:!0});return a}function p(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return j.router=new f.default(...b),j.readyCallbacks.forEach(a=>a()),j.readyCallbacks=[],j.router}function q(a){let b={};for(let c of k){if("object"==typeof a[c]){b[c]=Object.assign(Array.isArray(a[c])?[]:{},a[c]);continue}b[c]=a[c]}return b.events=f.default.events,l.forEach(c=>{b[c]=function(){for(var b=arguments.length,d=Array(b),e=0;e<b;e++)d[e]=arguments[e];return a[c](...d)}}),b}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},63935:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{createRouteLoader:function(){return q},getClientBuildManifest:function(){return o},isAssetError:function(){return k},markAssetError:function(){return j}}),c(2403),c(32538);let d=c(40375),e=c(27160),f=c(93865),g=c(95825);function h(a,b,c){let d,e=b.get(a);if(e)return"future"in e?e.future:Promise.resolve(e);let f=new Promise(a=>{d=a});return b.set(a,{resolve:d,future:f}),c?c().then(a=>(d(a),a)).catch(c=>{throw b.delete(a),c}):f}let i=Symbol("ASSET_LOAD_ERROR");function j(a){return Object.defineProperty(a,i,{})}function k(a){return a&&i in a}let l=function(a){try{return a=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||a.relList.supports("prefetch")}catch(a){return!1}}(),m=()=>(0,f.getDeploymentIdQueryOrEmptyString)();function n(a,b,c){return new Promise((d,f)=>{let g=!1;a.then(a=>{g=!0,d(a)}).catch(f),(0,e.requestIdleCallback)(()=>setTimeout(()=>{g||f(c)},b))})}function o(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):n(new Promise(a=>{let b=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{a(self.__BUILD_MANIFEST),b&&b()}}),3800,j(Object.defineProperty(Error("Failed to load client build manifest"),"__NEXT_ERROR_CODE",{value:"E273",enumerable:!1,configurable:!0})))}function p(a,b){return o().then(c=>{if(!(b in c))throw j(Object.defineProperty(Error("Failed to lookup route: "+b),"__NEXT_ERROR_CODE",{value:"E446",enumerable:!1,configurable:!0}));let e=c[b].map(b=>a+"/_next/"+(0,g.encodeURIPath)(b));return{scripts:e.filter(a=>a.endsWith(".js")).map(a=>(0,d.__unsafeCreateTrustedScriptURL)(a)+m()),css:e.filter(a=>a.endsWith(".css")).map(a=>a+m())}})}function q(a){let b=new Map,c=new Map,d=new Map,f=new Map;function g(a){{var b;let d=c.get(a.toString());return d?d:document.querySelector('script[src^="'+a+'"]')?Promise.resolve():(c.set(a.toString(),d=new Promise((c,d)=>{(b=document.createElement("script")).onload=c,b.onerror=()=>d(j(Object.defineProperty(Error("Failed to load script: "+a),"__NEXT_ERROR_CODE",{value:"E74",enumerable:!1,configurable:!0}))),b.crossOrigin=void 0,b.src=a,document.body.appendChild(b)})),d)}}function i(a){let b=d.get(a);return b||d.set(a,b=fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw Object.defineProperty(Error("Failed to load stylesheet: "+a),"__NEXT_ERROR_CODE",{value:"E189",enumerable:!1,configurable:!0});return b.text().then(b=>({href:a,content:b}))}).catch(a=>{throw j(a)})),b}return{whenEntrypoint:a=>h(a,b),onEntrypoint(a,c){(c?Promise.resolve().then(()=>c()).then(a=>({component:a&&a.default||a,exports:a}),a=>({error:a})):Promise.resolve(void 0)).then(c=>{let d=b.get(a);d&&"resolve"in d?c&&(b.set(a,c),d.resolve(c)):(c?b.set(a,c):b.delete(a),f.delete(a))})},loadRoute(c,d){return h(c,f,()=>{let e;return n(p(a,c).then(a=>{let{scripts:d,css:e}=a;return Promise.all([b.has(c)?[]:Promise.all(d.map(g)),Promise.all(e.map(i))])}).then(a=>this.whenEntrypoint(c).then(b=>({entrypoint:b,styles:a[1]}))),3800,j(Object.defineProperty(Error("Route did not complete loading: "+c),"__NEXT_ERROR_CODE",{value:"E12",enumerable:!1,configurable:!0}))).then(a=>{let{entrypoint:b,styles:c}=a,d=Object.assign({styles:c},b);return"error"in b?b:d}).catch(a=>{if(d)throw a;return{error:a}}).finally(()=>null==e?void 0:e())})},prefetch(b){let c;return(c=navigator.connection)&&(c.saveData||/2g/.test(c.effectiveType))?Promise.resolve():p(a,b).then(a=>Promise.all(l?a.scripts.map(a=>{var b,c,d;return b=a.toString(),c="script",new Promise((a,e)=>{let f='\n link[rel="prefetch"][href^="'+b+'"],\n link[rel="preload"][href^="'+b+'"],\n script[src^="'+b+'"]';if(document.querySelector(f))return a();d=document.createElement("link"),c&&(d.as=c),d.rel="prefetch",d.crossOrigin=void 0,d.onload=a,d.onerror=()=>e(j(Object.defineProperty(Error("Failed to prefetch: "+b),"__NEXT_ERROR_CODE",{value:"E268",enumerable:!1,configurable:!0}))),d.href=b,document.head.appendChild(d)})}):[])).then(()=>{(0,e.requestIdleCallback)(()=>this.loadRoute(b,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},67305:(a,b,c)=>{"use strict";function d(a,b){return a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeLocale",{enumerable:!0,get:function(){return d}}),c(84495),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},78661:(a,b)=>{"use strict";function c(){let a=Object.create(null);return{on(b,c){(a[b]||(a[b]=[])).push(c)},off(b,c){a[b]&&a[b].splice(a[b].indexOf(c)>>>0,1)},emit(b){for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];(a[b]||[]).slice().map(a=>{a(...d)})}}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return c}})},88123:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}});let c=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c]};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},89704:(a,b)=>{"use strict";function c(a,b){let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d=c.length;d--;){let e=c[d];if("query"===e){let c=Object.keys(a.query);if(c.length!==Object.keys(b.query).length)return!1;for(let d=c.length;d--;){let e=c[d];if(!b.query.hasOwnProperty(e)||a.query[e]!==b.query[e])return!1}}else if(!b.hasOwnProperty(e)||a[e]!==b[e])return!1}return!0}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"compareRouterStates",{enumerable:!0,get:function(){return c}})},91831:(a,b,c)=>{"use strict";function d(a,b){if(void 0===b&&(b={}),b.onlyHashChange)return void a();let c=document.documentElement;c.dataset.scrollBehavior;let d=c.style.scrollBehavior;c.style.scrollBehavior="auto",b.dontForceLayout||c.getClientRects(),a(),c.style.scrollBehavior=d}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return d}}),c(37808)},93865:(a,b)=>{"use strict";function c(){return""}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return c}})},94532:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return s},handleClientScriptLoad:function(){return p},initScriptLoader:function(){return q}});let d=c(2403),e=c(12742),f=c(8732),g=d._(c(22326)),h=e._(c(82015)),i=c(9897),j=c(21364),k=c(27160),l=c(5982),m=new Map,n=new Set,o=a=>{let{src:b,id:c,onLoad:d=()=>{},onReady:e=null,dangerouslySetInnerHTML:f,children:h="",strategy:i="afterInteractive",onError:k,stylesheets:l}=a,o=c||b;if(o&&n.has(o))return;if(m.has(b)){n.add(o),m.get(b).then(d,k);return}let p=()=>{e&&e(),n.add(o)},q=document.createElement("script"),r=new Promise((a,b)=>{q.addEventListener("load",function(b){a(),d&&d.call(this,b),p()}),q.addEventListener("error",function(a){b(a)})}).catch(function(a){k&&k(a)});f?(q.innerHTML=f.__html||"",p()):h?(q.textContent="string"==typeof h?h:Array.isArray(h)?h.join(""):"",p()):b&&(q.src=b,m.set(b,r)),(0,j.setAttributesFromProps)(q,a),"worker"===i&&q.setAttribute("type","text/partytown"),q.setAttribute("data-nscript",i),l&&(a=>{if(g.default.preinit)return a.forEach(a=>{g.default.preinit(a,{as:"style"})})})(l),document.body.appendChild(q)};function p(a){let{strategy:b="afterInteractive"}=a;"lazyOnload"===b?window.addEventListener("load",()=>{(0,k.requestIdleCallback)(()=>o(a))}):o(a)}function q(a){a.forEach(p),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(a=>{let b=a.id||a.getAttribute("src");n.add(b)})}function r(a){let{id:b,src:c="",onLoad:d=()=>{},onReady:e=null,strategy:j="afterInteractive",onError:m,stylesheets:p,...q}=a,{updateScripts:r,scripts:s,getIsSsr:t,appDir:u,nonce:v}=(0,h.useContext)(i.HeadManagerContext);v=q.nonce||v;let w=(0,h.useRef)(!1);(0,h.useEffect)(()=>{let a=b||c;w.current||(e&&a&&n.has(a)&&e(),w.current=!0)},[e,b,c]);let x=(0,h.useRef)(!1);if((0,h.useEffect)(()=>{if(!x.current){if("afterInteractive"===j)o(a);else"lazyOnload"===j&&("complete"===document.readyState?(0,k.requestIdleCallback)(()=>o(a)):window.addEventListener("load",()=>{(0,k.requestIdleCallback)(()=>o(a))}));x.current=!0}},[a,j]),("beforeInteractive"===j||"worker"===j)&&(r?(s[j]=(s[j]||[]).concat([{id:b,src:c,onLoad:d,onReady:e,onError:m,...q,nonce:v}]),r(s)):t&&t()?n.add(b||c):t&&!t()&&o({...a,nonce:v})),u){if(p&&p.forEach(a=>{g.default.preinit(a,{as:"style"})}),"beforeInteractive"===j)if(!c)return q.dangerouslySetInnerHTML&&(q.children=q.dangerouslySetInnerHTML.__html,delete q.dangerouslySetInnerHTML),(0,f.jsx)("script",{nonce:v,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+(0,l.htmlEscapeJsonString)(JSON.stringify([0,{...q,id:b}]))+")"}});else return g.default.preload(c,q.integrity?{as:"script",integrity:q.integrity,nonce:v,crossOrigin:q.crossOrigin}:{as:"script",nonce:v,crossOrigin:q.crossOrigin}),(0,f.jsx)("script",{nonce:v,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+(0,l.htmlEscapeJsonString)(JSON.stringify([c,{...q,id:b}]))+")"}});"afterInteractive"===j&&c&&g.default.preload(c,q.integrity?{as:"script",integrity:q.integrity,nonce:v,crossOrigin:q.crossOrigin}:{as:"script",nonce:v,crossOrigin:q.crossOrigin})}return null}Object.defineProperty(r,"__nextScript",{value:!0});let s=r;("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},97238:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseRelativeUrl",{enumerable:!0,get:function(){return e}}),c(8423);let d=c(98975);function e(a,b,c){void 0===c&&(c=!0);let e=new URL("http://n"),f=b?new URL(b,e):a.startsWith(".")?new URL("http://n"):e,{pathname:g,searchParams:h,search:i,hash:j,href:k,origin:l}=new URL(a,f);if(l!==e.origin)throw Object.defineProperty(Error("invariant: invalid relative URL, router received "+a),"__NEXT_ERROR_CODE",{value:"E159",enumerable:!1,configurable:!0});return{pathname:g,query:c?(0,d.searchParamsToUrlQuery)(h):void 0,search:i,hash:j,href:k.slice(l.length),slashes:void 0}}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=6352,exports.ids=[6352],exports.modules={3999:(a,b,c)=>{a.exports=c(40361)},8423:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DecodeError:function(){return o},MiddlewareNotFoundError:function(){return s},MissingStaticPage:function(){return r},NormalizeError:function(){return p},PageNotFoundError:function(){return q},SP:function(){return m},ST:function(){return n},WEB_VITALS:function(){return c},execOnce:function(){return d},getDisplayName:function(){return i},getLocationOrigin:function(){return g},getURL:function(){return h},isAbsoluteUrl:function(){return f},isResSent:function(){return j},loadGetInitialProps:function(){return l},normalizeRepeatedSlashes:function(){return k},stringifyError:function(){return t}});let c=["CLS","FCP","FID","INP","LCP","TTFB"];function d(a){let b,c=!1;return function(){for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return c||(c=!0,b=a(...e)),b}}let e=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,f=a=>e.test(a);function g(){let{protocol:a,hostname:b,port:c}=window.location;return a+"//"+b+(c?":"+c:"")}function h(){let{href:a}=window.location,b=g();return a.substring(b.length)}function i(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function j(a){return a.finished||a.headersSent}function k(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?"?"+b.slice(1).join("?"):"")}async function l(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await l(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&j(c))return d;if(!d)throw Object.defineProperty(Error('"'+i(a)+'.getInitialProps()" should resolve to an object. But found "'+d+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d}let m="undefined"!=typeof performance,n=m&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class o extends Error{}class p extends Error{}class q extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+a}}class r extends Error{constructor(a,b){super(),this.message="Failed to load static file for page: "+a+" "+b}}class s extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function t(a){return JSON.stringify({message:a.message,stack:a.stack})}},8844:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(59411),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b){return(void 0===b&&(b=!0),(0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},41659:(a,b)=>{function c(a){return"("===a[0]&&a.endsWith(")")}function d(a){return a.startsWith("@")&&"@children"!==a}function e(a,b){if(a.includes(f)){let a=JSON.stringify(b);return"{}"!==a?f+"?"+a:f}return a}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DEFAULT_SEGMENT_KEY:function(){return g},PAGE_SEGMENT_KEY:function(){return f},addSearchParamsIfPageSegment:function(){return e},isGroupSegment:function(){return c},isParallelRouteSegment:function(){return d}});let f="__PAGE__",g="__DEFAULT__"},44185:(a,b)=>{function c(a){return a.startsWith("/")?a:"/"+a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},59411:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERCEPTION_ROUTE_MARKERS:function(){return e},extractInterceptionRouteInformation:function(){return g},isInterceptionRouteAppPath:function(){return f}});let d=c(73849),e=["(..)(..)","(.)","(..)","(...)"];function f(a){return void 0!==a.split("/").find(a=>e.find(b=>a.startsWith(b)))}function g(a){let b,c,f;for(let d of a.split("/"))if(c=e.find(a=>d.startsWith(a))){[b,f]=a.split(c,2);break}if(!b||!c||!f)throw Object.defineProperty(Error("Invalid interception route: "+a+". Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,d.normalizeAppPath)(b),c){case"(.)":f="/"===b?"/"+f:b+"/"+f;break;case"(..)":if("/"===b)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});f=b.split("/").slice(0,-1).concat(f).join("/");break;case"(...)":f="/"+f;break;case"(..)(..)":let g=b.split("/");if(g.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});f=g.slice(0,-2).concat(f).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:f}}},60782:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return e},getSortedRoutes:function(){return d}});class c{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a){void 0===a&&(a="/");let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(""+a+b+"/")).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(a+"["+this.slugName+"]/")),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot define a route with the same specificity as a optional catch-all route ("'+b+'" and "'+b+"[[..."+this.optionalRestSlugName+']]").'),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(a+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(a+"[[..."+this.optionalRestSlugName+"]]/")),c}_insert(a,b,d){if(0===a.length){this.placeholder=!1;return}if(d)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let e=a[0];if(e.startsWith("[")&&e.endsWith("]")){let c=e.slice(1,-1),g=!1;if(c.startsWith("[")&&c.endsWith("]")&&(c=c.slice(1,-1),g=!0),c.startsWith("…"))throw Object.defineProperty(Error("Detected a three-dot character ('…') at ('"+c+"'). Did you mean ('...')?"),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(c.startsWith("...")&&(c=c.substring(3),d=!0),c.startsWith("[")||c.endsWith("]"))throw Object.defineProperty(Error("Segment names may not start or end with extra brackets ('"+c+"')."),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(c.startsWith("."))throw Object.defineProperty(Error("Segment names may not start with erroneous periods ('"+c+"')."),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error("You cannot use different slug names for the same dynamic path ('"+a+"' !== '"+c+"')."),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error('You cannot have the same slug name "'+c+'" repeat within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===e.replace(/\W/g,""))throw Object.defineProperty(Error('You cannot have the slug names "'+a+'" and "'+c+'" differ only by non-word symbols within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(d)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+a[0]+'" ).'),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,c),this.optionalRestSlugName=c,e="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+a[0]+'").'),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,c),this.restSlugName=c,e="[...]"}else{if(g)throw Object.defineProperty(Error('Optional route parameters are not yet supported ("'+a[0]+'").'),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,c),this.slugName=c,e="[]"}}this.children.has(e)||this.children.set(e,new c),this.children.get(e)._insert(a.slice(1),b,d)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function d(a){let b=new c;return a.forEach(a=>b.insert(a)),b.smoosh()}function e(a,b){let c={},e=[];for(let d=0;d<a.length;d++){let f=b(a[d]);c[f]=d,e[d]=f}return d(e).map(b=>a[c[b]])}},73849:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(44185),e=c(41659);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},81352:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return d.getSortedRouteObjects},getSortedRoutes:function(){return d.getSortedRoutes},isDynamicRoute:function(){return e.isDynamicRoute}});let d=c(60782),e=c(8844)}};