@customize-agent/server 4.60.12 → 4.60.13

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 (140) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +61 -61
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +1 -1
  5. package/.next/server/chunks/1243.js +1 -1
  6. package/.next/server/chunks/1928.js +1 -1
  7. package/.next/server/chunks/1936.js +9 -9
  8. package/.next/server/chunks/2328.js +1 -1
  9. package/.next/server/chunks/4722.js +3 -3
  10. package/.next/server/chunks/6021.js +1 -0
  11. package/.next/server/chunks/6321.js +1 -1
  12. package/.next/server/chunks/6822.js +1 -1
  13. package/.next/server/chunks/8204.js +1 -1
  14. package/.next/server/chunks/9666.js +13 -13
  15. package/.next/server/instrumentation.js.nft.json +1 -1
  16. package/.next/server/middleware-build-manifest.js +1 -1
  17. package/.next/server/pages/404.html +1 -1
  18. package/.next/server/pages/500.html +1 -1
  19. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  20. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  21. package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
  22. package/.next/server/pages/api/documents/canvas/[id].js.nft.json +1 -1
  23. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  24. package/.next/server/pages/api/documents/generate/preview.js.nft.json +1 -1
  25. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  26. package/.next/server/pages/api/documents/generated/[id]/events.js.nft.json +1 -1
  27. package/.next/server/pages/api/documents/generated/[id]/figure/[name].js.nft.json +1 -1
  28. package/.next/server/pages/api/documents/generated/[id]/instruction.js.nft.json +1 -1
  29. package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js.nft.json +1 -1
  30. package/.next/server/pages/api/documents/generated/[id]/nodes.js.nft.json +1 -1
  31. package/.next/server/pages/api/documents/generated/[id]/pause.js.nft.json +1 -1
  32. package/.next/server/pages/api/documents/generated/[id]/preview.js.nft.json +1 -1
  33. package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js +1 -1
  34. package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js.nft.json +1 -1
  35. package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js.nft.json +1 -1
  36. package/.next/server/pages/api/documents/generated/[id]/repair.js.nft.json +1 -1
  37. package/.next/server/pages/api/documents/generated/[id]/report.js.nft.json +1 -1
  38. package/.next/server/pages/api/documents/generated/[id]/resume-generate.js.nft.json +1 -1
  39. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  40. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  41. package/.next/server/pages/api/health.js +1 -1
  42. package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
  43. package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
  44. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
  45. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
  46. package/.next/server/pages/api/kb/files/export.js.nft.json +1 -1
  47. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
  48. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
  49. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
  50. package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
  51. package/.next/server/pages/api/kb/files/source-preview.js.nft.json +1 -1
  52. package/.next/server/pages/api/kb/files.js.nft.json +1 -1
  53. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
  54. package/.next/server/pages/api/kb/material-groups.js.nft.json +1 -1
  55. package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
  56. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
  57. package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
  58. package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
  59. package/.next/server/pages/api/kb/upload/complete.js.nft.json +1 -1
  60. package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
  61. package/.next/server/pages/api/system/reset.js.nft.json +1 -1
  62. package/.next/server/pages/canvas/[id].html +1 -1
  63. package/.next/server/pages/canvas.html +1 -1
  64. package/.next/server/pages/documents.html +1 -1
  65. package/.next/server/pages/guide.html +1 -1
  66. package/.next/server/pages/index.html +1 -1
  67. package/.next/server/pages/knowledge/file-detail.html +1 -1
  68. package/.next/server/pages/knowledge/files.html +1 -1
  69. package/.next/server/pages/knowledge/manage.html +1 -1
  70. package/.next/server/pages/knowledge/source-preview.html +1 -1
  71. package/.next/server/pages/knowledge.html +1 -1
  72. package/.next/server/pages/models.html +1 -1
  73. package/.next/server/pages/overview.html +1 -1
  74. package/.next/server/pages/prompt.html +1 -1
  75. package/.next/server/pages/settings.html +1 -1
  76. package/.next/server/pages/skills/[id]/edit.html +1 -1
  77. package/.next/server/pages/skills/[id]/edit.js.nft.json +1 -1
  78. package/.next/server/pages/skills/[id].html +1 -1
  79. package/.next/server/pages/skills/[id].js.nft.json +1 -1
  80. package/.next/server/pages/skills/new.html +1 -1
  81. package/.next/server/pages/skills/new.js.nft.json +1 -1
  82. package/.next/server/pages/skills.html +1 -1
  83. package/.next/server/pages/system/logs.html +1 -1
  84. package/.next/server/pages-manifest.json +43 -43
  85. package/.next/static/c097c482b89445ecd5af066c8dcae41fe044bfa13f1e971756cbd620b20de70d/_buildManifest.js +1 -0
  86. package/.next/static/chunks/162-36b2a3e6ee7d9717.js +8 -0
  87. package/.next/static/chunks/257-879f095890deadad.js +1 -0
  88. package/.next/static/chunks/313-4b3ff7075e0ff3c3.js +1 -0
  89. package/.next/static/chunks/530-98c3b3fbf3fcd8e3.js +1 -0
  90. package/.next/static/chunks/551-446a9d48add4944f.js +16 -0
  91. package/.next/static/chunks/715-6285c5942e5ec5ea.js +1 -0
  92. package/.next/static/chunks/717-743b697a417dd5ee.js +4 -0
  93. package/.next/static/chunks/748-e13db510f76568b1.js +1 -0
  94. package/.next/static/chunks/795-3edd02531a6d39ae.js +1 -0
  95. package/.next/static/chunks/955-f0542d4dea118b62.js +1 -0
  96. package/.next/static/chunks/{964-569c27befeaff602.js → 964-82cc4701f08f7351.js} +2 -2
  97. package/.next/static/chunks/pages/{_app-28228d95968c4d44.js → _app-4165169ba0fabd04.js} +1 -1
  98. package/.next/static/chunks/pages/canvas/[id]-792d02e3874c19c0.js +1 -0
  99. package/.next/static/chunks/pages/{canvas-ffb08963e5cf9558.js → canvas-e011bb88585d3441.js} +1 -1
  100. package/.next/static/chunks/pages/guide-3185f12fbcb5a6af.js +1 -0
  101. package/.next/static/chunks/pages/knowledge/file-detail-c34e1f995fb8316f.js +1 -0
  102. package/.next/static/chunks/pages/knowledge/source-preview-814c683fc3723177.js +1 -0
  103. package/.next/static/chunks/pages/knowledge-3afd4bc337d44550.js +1 -0
  104. package/.next/static/chunks/pages/models-e07b2e29595effd7.js +1 -0
  105. package/.next/static/chunks/pages/prompt-47a1ac955831dedb.js +1 -0
  106. package/.next/static/chunks/pages/settings-8879d8c90bee2025.js +1 -0
  107. package/.next/static/chunks/pages/skills/[id]/{edit-89bbed9a3a854b04.js → edit-88e2490a4190467b.js} +1 -1
  108. package/.next/static/chunks/pages/skills/[id]-4700cd743c5efe05.js +1 -0
  109. package/.next/static/chunks/pages/skills/{new-124599c772150a1d.js → new-b2204742b055565a.js} +1 -1
  110. package/.next/static/chunks/pages/skills-1f6bcb42cd90abeb.js +1 -0
  111. package/.next/static/chunks/pages/system/logs-8c5dd4d06fa9d8c9.js +1 -0
  112. package/.next/static/css/cb79b8022e718258.css +1 -0
  113. package/package.json +2 -2
  114. package/scripts/half-built-scan.baseline.json +3 -4
  115. package/.next/server/chunks/9399.js +0 -1
  116. package/.next/static/b1bfae7c0251c082ada423097236fed51bd95e3e34a0749ccd55030dbf543f5d/_buildManifest.js +0 -1
  117. package/.next/static/chunks/162-a5be07e04aedf98a.js +0 -8
  118. package/.next/static/chunks/2-434e34e83819f4e4.js +0 -1
  119. package/.next/static/chunks/257-6938c7ab284ab21c.js +0 -1
  120. package/.next/static/chunks/280-3ce590d421b5c47d.js +0 -16
  121. package/.next/static/chunks/324-650dc02536b071bf.js +0 -4
  122. package/.next/static/chunks/425-42f2568bcdd98f4c.js +0 -1
  123. package/.next/static/chunks/530-7e79396d68742829.js +0 -1
  124. package/.next/static/chunks/564-d3426eef3e3e415b.js +0 -4
  125. package/.next/static/chunks/781-a6b83dbcd1a33cab.js +0 -1
  126. package/.next/static/chunks/795-1c1cb3bf1f600e99.js +0 -1
  127. package/.next/static/chunks/819-96247c9054ad9683.js +0 -1
  128. package/.next/static/chunks/pages/canvas/[id]-534b45f39f39630c.js +0 -1
  129. package/.next/static/chunks/pages/guide-82ae330966139191.js +0 -1
  130. package/.next/static/chunks/pages/knowledge/file-detail-dc1807f8ed32cd59.js +0 -1
  131. package/.next/static/chunks/pages/knowledge/source-preview-4309277bf497521c.js +0 -1
  132. package/.next/static/chunks/pages/knowledge-84e386d765ddd311.js +0 -1
  133. package/.next/static/chunks/pages/models-5eee2d09deb081fb.js +0 -1
  134. package/.next/static/chunks/pages/prompt-d75de6a6fead73c9.js +0 -1
  135. package/.next/static/chunks/pages/settings-f6dfff648cf9ac0e.js +0 -1
  136. package/.next/static/chunks/pages/skills/[id]-5130d68546be49cb.js +0 -1
  137. package/.next/static/chunks/pages/skills-476714776be63ce5.js +0 -1
  138. package/.next/static/chunks/pages/system/logs-40edb648d89b0749.js +0 -1
  139. package/.next/static/css/f4f2d386cfeae8e4.css +0 -1
  140. /package/.next/static/{b1bfae7c0251c082ada423097236fed51bd95e3e34a0749ccd55030dbf543f5d → c097c482b89445ecd5af066c8dcae41fe044bfa13f1e971756cbd620b20de70d}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[12],{1611:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"database",theme:"outlined"}},12887:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"}},13067:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0010.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 00-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z"}}]},name:"file-excel",theme:"outlined"}},14569:e=>{e.exports={featureLabel:"style_featureLabel__XFSTX",featureValue:"style_featureValue__I_wMP",filterInput:"style_filterInput__4_Elu",filterSelect:"style_filterSelect__vUBJ9",statusCard:"style_statusCard__H7Mee",statusSummary:"style_statusSummary__7KavF",statusSummaryText:"style_statusSummaryText__Shw3j",statusClearBtn:"style_statusClearBtn__uJ9bE",statusExpandBtn:"style_statusExpandBtn__HhgIj",statusFilters:"style_statusFilters__g_LbG",filterPill:"style_filterPill__1pjFW",filterPillActive:"style_filterPillActive___UZVi",statusPanel:"style_statusPanel__9arTu",statusEmpty:"style_statusEmpty__8LWzH",timelineList:"style_timelineList__dqJrz",timelineItem:"style_timelineItem__dbuL_",timelineStatusIcon:"style_timelineStatusIcon__SkRwb",timelinePercent:"style_timelinePercent__pEyH4",timelineRow:"style_timelineRow__EDOVa",timelineTitle:"style_timelineTitle__Yujr8",timelineClose:"style_timelineClose__Byx_9",timelineDetail:"style_timelineDetail__nALei",timelineDesc:"style_timelineDesc__FMjWE",timelinePath:"style_timelinePath__C9VQI",timelineMeta:"style_timelineMeta__u_pCn",timelineMetaTag:"style_timelineMetaTag__G3jF1",timelineExpandArrow:"style_timelineExpandArrow__xIBdF",timelineExpandArrowOpen:"style_timelineExpandArrowOpen__TWWDC",fileNameCell:"style_fileNameCell__EHsnt",folderName:"style_folderName__VhLXP",folderRow:"style_folderRow__d7k9S",searchResultList:"style_searchResultList__cVKZg",searchResultItem:"style_searchResultItem__boj6D",searchResultHeader:"style_searchResultHeader__meVdJ",searchContent:"style_searchContent__XbUVk",pdfPreviewStrip:"style_pdfPreviewStrip__94_eG"}},26619:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(97109),l=r(1611),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let i=a.forwardRef((e,t)=>a.createElement(n.A,s({},e,{ref:t,icon:l.A})))},26631:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(97109),l=r(12887),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let i=a.forwardRef((e,t)=>a.createElement(n.A,s({},e,{ref:t,icon:l.A})))},30289:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"}},35311:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M456 231a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"more",theme:"outlined"}},45551:(e,t,r)=>{"use strict";r.d(t,{Jm:()=>o,fw:()=>n,je:()=>a.j,mc:()=>c,z3:()=>l});var a=r(96538);function l(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),r=e/Math.pow(1024,t);return"".concat(r.toFixed(+(0!==t))," ").concat(["B","KB","MB","GB","TB"][t])}function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===t?"Never":"从未";let r=Math.floor(Math.floor((Date.now()-e)/1e3)/60),a=Math.floor(r/60),l=Math.floor(a/24);return l>30?new Date(e).toLocaleDateString(t):"en-US"===t?l>0?"".concat(l,"d ago"):a>0?"".concat(a,"h ago"):r>0?"".concat(r,"m ago"):"Just now":l>0?"".concat(l," 天前"):a>0?"".concat(a," 小时前"):r>0?"".concat(r," 分钟前"):"刚刚"}let s={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},i={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function o(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===r?i:s)[e])?t:e}let c={active:"common.statusIndexed",outdated:"common.statusOutdated",error:"common.statusAbnormal",deleted:"common.statusDeleted",disk:"common.statusNotIndexed"}},48893:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 00-12.6 0l-99.8 127.2a7.98 7.98 0 006.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 00-12.7 0zM360 442a40 40 0 1080 0 40 40 0 10-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file-image",theme:"outlined"}},53234:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM496 208H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 244a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"hdd",theme:"outlined"}},54746:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(97109),l=r(71242),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let i=a.forwardRef((e,t)=>a.createElement(n.A,s({},e,{ref:t,icon:l.A})))},56398:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"}},58520:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 00-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 00-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z"}}]},name:"file-word",theme:"outlined"}},58690:(e,t,r)=>{"use strict";function a(e){var t,r,a;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{defaultPageSize:null!=(t=l.pageSize)?t:10,pageSizeOptions:null!=(r=l.pageSizeOptions)?r:[10,20,50,100],showSizeChanger:!0,showTotal:t=>{var r,a;return e(null!=(r=l.totalLabelKey)?r:"common.totalRows",null!=(a=l.totalLabelFallback)?a:"共 {count} 条").replace("{count}",String(t))},hideOnSinglePage:null!=(a=l.hideOnSinglePage)&&a,showQuickJumper:!1}}r.d(t,{B:()=>a})},61825:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(97109),l=r(30289),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let i=a.forwardRef((e,t)=>a.createElement(n.A,s({},e,{ref:t,icon:l.A})))},71242:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"}},74183:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge",function(){return r(84607)}])},76830:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(97109),l=r(56398),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let i=a.forwardRef((e,t)=>a.createElement(n.A,s({},e,{ref:t,icon:l.A})))},84607:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>es});var a=r(65321),l=r(97109),n=r(39507),s=r(43220),i=r.n(s),o=r(86109),c=r(17807),d=r(25258),u=r(11702),h=r(71102),f=r(85114),m=r(7576),p=r(57271),g=r(33442),v=r(38964),x=r(56768),y=r(48893),b=r(88483);function w(){return(w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let j=l.forwardRef((e,t)=>l.createElement(b.A,w({},e,{ref:t,icon:y.A})));var _=r(13067);function A(){return(A=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let k=l.forwardRef((e,t)=>l.createElement(b.A,A({},e,{ref:t,icon:_.A})));var z=r(58520);function C(){return(C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let S=l.forwardRef((e,t)=>l.createElement(b.A,C({},e,{ref:t,icon:z.A})));var M=r(90939);function P(){return(P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let O=l.forwardRef((e,t)=>l.createElement(b.A,P({},e,{ref:t,icon:M.A})));var N=r(53234);function H(){return(H=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let E=l.forwardRef((e,t)=>l.createElement(b.A,H({},e,{ref:t,icon:N.A})));var R=r(61825),F=r(26619),V=r(7225),B=r(26631),T=r(64254),L=r(64629),I=r(58209),D=r(35311);function q(){return(q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let U=l.forwardRef((e,t)=>l.createElement(b.A,q({},e,{ref:t,icon:D.A})));var J=r(30486),Q=r(54746),X=r(58740),W=r(38762),K=r(76830),G=r(39219),$=r(22931),Z=r(6578),Y=r(45551),ee=r(14569),et=r.n(ee),er=r(58690);let ea=["document","spreadsheet","image","cad","code","data","web","diagram","archive","other"],el=/\.(zip|jar|war|apk|tar|gz|tgz|bz2|rar|7z)$/iu,en=/(^|\/)\.DS_Store$|(^|\/)Thumbs\.db$|(^|\/)__MACOSX\/|\.bak$/iu;function es(){let e=(0,n.Vr)("knowledge"),{locale:t}=(0,n.x_)(),{message:r}=c.A.useApp(),[s,y]=(0,l.useState)(!1),[b,w]=(0,l.useState)([]),[_,A]=(0,l.useState)(""),[z,C]=(0,l.useState)(!1),M=(0,l.useCallback)(async()=>{try{w(await (0,Z.Ls)())}catch(t){r.error(e("ignoreRulesLoadFailed"))}},[e]),P=(0,l.useCallback)(()=>{y(!0),A(""),M()},[M]),N=(0,l.useCallback)(async()=>{let t=_.trim();if(t){C(!0);try{await (0,Z.YO)([t]),A(""),await M(),r.success(e("ignoreRulesAdded"))}catch(t){r.error(e("ignoreRulesSaveFailed"))}finally{C(!1)}}},[_,M,e]),H=(0,l.useCallback)(async t=>{C(!0);try{await (0,Z.Pw)(t),await M(),r.success(e("ignoreRulesDeleted"))}catch(t){r.error(e("ignoreRulesSaveFailed"))}finally{C(!1)}},[M,e]),D=(0,o.useRouter)(),q="string"==typeof D.query.category?D.query.category:"",{stats:ee,reload:es}=function(){let[e,t]=(0,l.useState)(null),[r,a]=(0,l.useState)(!1),n=(0,l.useCallback)(async()=>{a(!0);try{t(await (0,Z.hc)())}catch(e){}finally{a(!1)}},[]);return(0,l.useEffect)(()=>{n()},[n]),{stats:e,loading:r,reload:n}}(),[ei,eo]=(0,l.useState)([]),[ec,ed]=(0,l.useState)(!1),[eu,eh]=(0,l.useState)(""),[ef,em]=(0,l.useState)(""),[ep,eg]=(0,l.useState)(q),[ev,ex]=(0,l.useState)(!1),[ey,eb]=(0,l.useState)(!1),[ew,ej]=(0,l.useState)([]),[e_,eA]=(0,l.useState)([]),[ek,ez]=(0,l.useState)([]),[eC,eS]=(0,l.useState)({}),eM=(0,l.useRef)(ep),eP=(0,l.useRef)(new Set),eO=(0,l.useRef)(new Map);(0,l.useEffect)(()=>{eM.current=ep},[ep]),(0,l.useEffect)(()=>{eg("string"==typeof D.query.category?D.query.category:"")},[D.query.category]);let eN=(0,l.useCallback)(async()=>{try{let e=await (0,Z.BO)(),t={};for(let r of e)t[r.category]=r.fileCount;eS(t)}catch(e){}},[]);(0,l.useEffect)(()=>{eN()},[eN]);let eH=(0,l.useCallback)(async(e,t)=>{let r=null!=e?e:eM.current;(null==t?void 0:t.silent)||(ed(!0),eh(""));try{let e=await (0,Z.HT)({category:r||void 0,limit:5e3});eo(e.files||[]),e.initializing&&window.setTimeout(()=>{eH(r,{silent:!0})},3e3)}catch(e){(null==t?void 0:t.silent)||(eo([]),eh(e instanceof Error?e.message:"文件列表加载失败"))}finally{(null==t?void 0:t.silent)||ed(!1)}},[]);(0,l.useEffect)(()=>{eH(ep)},[ep,eH]);let eE=(0,l.useCallback)(async e=>{await eH(void 0,e),es(),eN()},[eN,eH,es]),eR=e=>"document"===e.type?null:{id:e.id,type:e.type,title:e.title,description:e.message,status:e.status,percent:e.percent,filePath:e.filePath,chunkCount:e.chunkCount,textLength:e.textLength,extractionMode:e.extractionMode,error:e.error,createdAt:e.createdAt},eF=(0,l.useCallback)(async()=>{try{let t=await (0,Z.Qx)(),r=t.operations.map(eR).filter(e=>!!e);for(let r of[...eP.current]){var e;let a=t.operations.find(e=>e.id===r);if(!a)continue;let l="".concat(a.status,":").concat(a.stage),n=null!=(e=eO.current.get(r))?e:"";"success"===a.status||"error"===a.status?(eP.current.delete(r),eO.current.delete(r),eE({silent:!0})):l!==n&&(eO.current.set(r,l),eE({silent:!0}))}ej(e=>{let t=new Set(r.map(e=>e.id).filter(Boolean)),a=r.map(t=>{var r;let a=e.find(e=>e.id===t.id);return a?{...a,...t,createdAt:null!=(r=a.createdAt)?r:t.createdAt}:t}),l=e.filter(e=>e.id&&!t.has(e.id)&&"processing"===e.status);return[...a,...l].slice(0,50)})}catch(e){}},[eE]),eV=(0,l.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];ej(r=>{let a=r.findIndex(r=>e.id&&r.id===e.id||t.includes(r.title));if(a>=0){var l;let t=[...r];return t[a]={...r[a],...e,createdAt:null!=(l=r[a].createdAt)?l:e.createdAt},t}return[e,...r].slice(0,50)})},[]);(0,l.useEffect)(()=>{eF()},[eF]);let eB=(0,l.useMemo)(()=>{let e=0,t=0,r=0;for(let a of ew)"processing"===a.status?e++:"success"===a.status?t++:("error"===a.status||"warning"===a.status)&&r++;return{processing:e,success:t,error:r}},[ew]);(0,l.useEffect)(()=>{if(0===eB.processing)return;let e=window.setInterval(()=>{eF()},2e3),t=window.setInterval(()=>{eE({silent:!0})},8e3);return()=>{window.clearInterval(e),window.clearInterval(t)}},[eF,eE,eB.processing]);let eT=async e=>{let t=e.filter(e=>{let t=e.webkitRelativePath||e.name;return e.size>0&&!el.test(e.name)&&!en.test(t)}),a=e.length-t.length;if(a>0&&r.warning("已跳过 ".concat(a," 个空文件、系统文件、备份文件或压缩包")),0===t.length)return;let l=1===t.length?t[0].name:"".concat(t.length," 个文件");ex(!0);let n="".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));eP.current.add(n),eO.current.set(n,""),eV({id:n,type:"upload",title:"上传 ".concat(l),description:"等待上传、解析、切片和入库;同路径文件会更新,其他已有文件不会清除",status:"processing",percent:5});try{await (0,Z.c1)(t,void 0,n,e=>{eV({id:n,type:"upload",title:"上传 ".concat(l),description:"正在上传文件:".concat(e.uploadedFiles,"/").concat(e.totalFiles,",批次 ").concat(e.batchIndex+1,"/").concat(e.totalBatches),status:"processing",percent:Math.min(5,Math.max(1,Math.round(e.uploadedFiles/Math.max(1,e.totalFiles)*5)))})});let e=ef||ep?"当前筛选(".concat([ef?"搜索「".concat(ef,"」"):"",ep?"分类「".concat(ep,"」"):""].filter(Boolean).join(" + "),")不会自动清空——新文件若未出现在列表里,调整筛选即可看到"):"新文件会随解析进度出现在列表里";r.info("文件已上传,正在后台解析、切片和入库;同路径文件会更新,其他已有文件不会清除,可在顶部“后台任务”查看进度。".concat(e)),await eF()}catch(e){if(e instanceof Z.NH){let t=e.failures.slice(0,3).map(e=>"批次 ".concat(e.batchIndex+1,"(").concat(e.files.join("、")).concat(e.files.length<5?"":" 等","):").concat(e.message)).join(";");r.warning("".concat(e.message,",失败文件可重新选择上传")),eV({id:n,type:"upload",title:"部分文件上传失败 ".concat(l),description:t||e.message,status:"warning",percent:100,error:t||e.message})}else{eP.current.delete(n),eO.current.delete(n);let t=e instanceof Error?e.message:"请重试或检查文件格式";r.error(t||"上传失败"),eV({id:n,type:"error",title:"上传失败 ".concat(l),description:t,status:"error",percent:100})}}finally{ex(!1),eE({silent:!0})}},eL=async()=>{eb(!0);let e="reindex-ui-".concat(Date.now());eV({id:e,type:"reindex",title:"重新解析入库",description:"正在提交后台任务",status:"processing",percent:5});try{var t;let a=await (0,Z.H1)(),l=a.operationId||e,n=a.job;r.info(a.alreadyRunning?"已有重新解析任务正在后台执行":"已提交重新解析入库任务,可在顶部“后台任务”查看进度"),eV({id:l,type:"reindex",title:(null==n?void 0:n.title)||"重新解析入库",description:(null==n?void 0:n.message)||"后台将重新扫描文件、解析、切片并重建索引",status:(null==n?void 0:n.status)||"processing",percent:null!=(t=null==n?void 0:n.percent)?t:10,error:null==n?void 0:n.error},["重新解析入库"]);for(let e=0;e<360;e++){let e=await (0,Z.ax)(l).then(e=>e.job).catch(async()=>(await (0,Z.Qx)()).operations.find(e=>e.id===l));if(e){let t="success"===e.status||"error"===e.status;if(eV({id:l,type:"error"===e.status?"error":"reindex",title:"success"===e.status?"重新解析入库完成":"error"===e.status?"重新解析入库失败":e.title,description:e.error||e.message,status:e.status,percent:e.percent,filePath:e.filePath,chunkCount:e.chunkCount,error:e.error}),t){"success"===e.status?r.success(e.message||"重新解析入库完成"):r.error(e.error||e.message||"重新解析入库失败");break}}await new Promise(e=>setTimeout(e,1e3))}await eE(),await eF()}catch(a){let t=a instanceof Error?a.message:"重新解析入库失败";r.error(t),eV({id:e,type:"error",title:"重新解析入库失败",description:t,status:"error",percent:100},["重新解析入库","重新解析入库完成","重新解析入库失败"])}finally{eb(!1)}},eI=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a="file-reindex-ui-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));eV({id:a,type:"reindex",title:"".concat(t?"重新解析文件夹":"重新解析"," ").concat(e),description:t?"正在提交文件夹后台任务":"正在提交单文件后台任务",status:"processing",percent:5,filePath:e});try{var l;let t=await (0,Z.HC)(e),n=t.operationId||a,s=t.job;r.info(t.alreadyRunning?"已有知识库任务正在后台执行":"已提交单文件重新解析任务"),eV({id:n,type:"reindex",title:(null==s?void 0:s.title)||"重新解析 ".concat(e),description:(null==s?void 0:s.message)||"后台将重新解析、分块并入库该文件",status:(null==s?void 0:s.status)||"processing",percent:null!=(l=null==s?void 0:s.percent)?l:10,filePath:(null==s?void 0:s.filePath)||e,chunkCount:null==s?void 0:s.chunkCount,error:null==s?void 0:s.error},["重新解析 ".concat(e)]);for(let t=0;t<240;t++){let t=await (0,Z.ax)(n).then(e=>e.job).catch(async()=>(await (0,Z.Qx)()).operations.find(e=>e.id===n));if(t){let a="success"===t.status||"error"===t.status;if(eV({id:n,type:"error"===t.status?"error":"reindex",title:"success"===t.status?"重新解析完成 ".concat(e):"error"===t.status?"重新解析失败 ".concat(e):t.title,description:t.error||t.message,status:t.status,percent:t.percent,filePath:t.filePath||e,chunkCount:t.chunkCount,error:t.error}),await eH(),a){"success"===t.status?r.success(t.message||"单文件重新解析完成"):r.error(t.error||t.message||"单文件重新解析失败");break}}await new Promise(e=>setTimeout(e,1e3))}await eE(),await eF()}catch(l){let t=l instanceof Error?l.message:"单文件重新解析失败";r.error(t),eV({id:a,type:"error",title:"重新解析失败 ".concat(e),description:t,status:"error",percent:100,filePath:e},["重新解析 ".concat(e)])}},eD=t=>{let a="selected"===t?eY:"filtered"===t?eU.map(e=>e.relativePath):[],l=ei.length;if("all"!==t&&0===a.length||"all"===t&&0===l)return void r.info("没有可删除的文件");let n="all"===t?"删除全部文件 ".concat(l," 个?"):"filtered"===t?"删除当前筛选结果中的文件 ".concat(a.length," 个?"):"删除已选文件 ".concat(a.length," 个?");d.A.confirm({title:n,content:"将同时删除文件、切片、索引和向量记录。此操作不可撤销。",okText:e("common.delete"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{ej(e=>[{type:"delete",title:n,description:"正在批量删除文件和索引",status:"processing",percent:10},...e].slice(0,50));try{var e;let n=null!=(e=("all"===t?await (0,Z.X8)():"selected"===t?await (0,Z.tZ)(eZ,e$):await (0,Z.SJ)(a)).deleted)?e:"all"===t?l:a.length;r.success("已删除 ".concat(n," 个文件")),eA([]),ej(e=>[{type:"delete",title:"批量删除完成",description:"已删除 ".concat(n," 个文件、切片和索引"),status:"success"},...e].slice(0,50)),await eE(),await eF()}catch(t){let e=t instanceof Error&&t.message?t.message:"批量删除失败";r.error(e),ej(t=>[{type:"error",title:"批量删除失败",description:e,status:"error"},...t].slice(0,50))}}})},eq=async()=>{if(0===eZ.length&&0===e$.length)return;let t=r.loading(e("exporting"),0);try{let{blob:t,fileName:a,exported:l,skipped:n}=await (0,Z.G8)({relativePaths:eZ,folderPaths:e$}),s=URL.createObjectURL(t),i=document.createElement("a");i.href=s,i.download=a,document.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(s),n>0?r.warning(e("exportParsedSkipped").replace("{count}",String(n))):r.success(e("exportParsedSuccess").replace("{count}",String(l)))}catch(t){r.error(t instanceof Error&&t.message?t.message:e("exportParsedFailed"))}finally{t()}},eU=(0,l.useMemo)(()=>ef?ei.filter(e=>e.relativePath.toLowerCase().includes(ef.toLowerCase())):ei,[ef,ei]),eJ=(0,l.useMemo)(()=>new Set(eU.map(e=>e.relativePath)),[eU]),eQ=(0,l.useMemo)(()=>ei.filter(e=>"error"===e.status).length,[ei]),eX=(0,l.useMemo)(()=>{let r=ea.filter(e=>"other"!==e),a=Object.keys(eC).filter(e=>!r.includes(e)&&"other"!==e);return[{label:e("allCategories"),value:""},...[...r,...a,"other"].map(e=>{var r;let a=null!=(r=eC[e])?r:0,l=(0,Y.Jm)(e,t);return{label:a>0?"".concat(l," (").concat(a,")"):l,value:e}})]},[eC,t,e]),eW=(0,l.useMemo)(()=>{let e={};for(let r of[...eU].sort((e,t)=>e.relativePath.localeCompare(t.relativePath))){let a=r.relativePath.split("/"),l="";for(let n=0;n<a.length;n++){let s=a[n],i=l;l=l?"".concat(l,"/").concat(s):s;let o=n===a.length-1;if(e[l])o||e[l].isFolder?o&&(e[l].isFolder=!1,e[l].file=r,e[l].fileCount=1,e[l].totalSize=r.fileSize,e[l].totalChunks=r.chunkCount):(e[l].isFolder=!0,e[l].children=[],e[l].fileCount=0,e[l].totalSize=0,e[l].totalChunks=0);else{var t;e[l]={key:l,name:s,isFolder:!o,...o?{file:r,fileCount:1,totalSize:r.fileSize,totalChunks:r.chunkCount}:{children:[],fileCount:0,totalSize:0,totalChunks:0}},i&&(null==(t=e[i])?void 0:t.children)&&e[i].children.push(e[l])}}}let r=e=>{for(let n of e)if(n.children){r(n.children);let e=0,s=0,i=0;for(let r of n.children){var t,a,l;e+=null!=(t=r.fileCount)?t:0,s+=null!=(a=r.totalSize)?a:0,i+=null!=(l=r.totalChunks)?l:0}n.fileCount=e,n.totalSize=s,n.totalChunks=i}},a=e=>e.map(e=>e.children?{...e,children:a(e.children)}:e).filter(e=>{var t,r,a;return!e.isFolder||(null!=(r=e.fileCount)?r:0)>0&&(null!=(a=null==(t=e.children)?void 0:t.length)?a:0)>0}),l=Object.values(e).filter(e=>!e.key.includes("/"));return r(l),a(l)},[eU]),eK=(0,l.useMemo)(()=>{let e=[],t=r=>{for(let a of r)e.push(a.key),a.children&&t(a.children)};return t(eW),e},[eW]),eG=(0,l.useMemo)(()=>new Set([...eJ,...eK]),[eK,eJ]),e$=(0,l.useMemo)(()=>e_.map(String).filter(e=>!eJ.has(e)&&eK.includes(e)),[eK,e_,eJ]),eZ=(0,l.useMemo)(()=>e_.map(String).filter(e=>eJ.has(e)),[e_,eJ]),eY=(0,l.useMemo)(()=>{let e=new Set;for(let t of eZ){let r=ei.find(e=>e.relativePath===t);r&&e.add(r.relativePath)}for(let t of e$){let r="".concat(t,"/");for(let t of ei)t.relativePath.startsWith(r)&&e.add(t.relativePath)}return Array.from(e)},[ei,eZ,e$]),e0=eY.length;(0,l.useEffect)(()=>{eA(e=>e.filter(e=>eG.has(String(e))))},[eG]);let e1=(0,l.useRef)(ef);(0,l.useEffect)(()=>{e1.current!==ef&&(e1.current=ef,ez(ef?eK:[]))},[ef,eK]);let e4=(e,t)=>{ez(r=>e?[...r,t.key]:r.filter(e=>e!==t.key))},e2=[{title:e("fileName"),dataIndex:"name",key:"name",render:(e,t)=>(0,a.jsxs)("span",{className:et().fileNameCell,children:[t.isFolder?(0,a.jsx)("span",{style:{cursor:"pointer"},onClick:e=>{e.stopPropagation(),e4(!ek.includes(t.key),t)},children:(e=>{let t=e.children;return t&&0!==t.length?(0,a.jsx)(T.A,{style:{color:"#fa8c16",fontSize:15}}):(0,a.jsx)(V.A,{style:{color:"#fa8c16",fontSize:15}})})(t)}):(e=>{if(!e)return(0,a.jsx)(x.A,{style:{fontSize:15}});let t=e.category;return"image"===t?(0,a.jsx)(j,{style:{color:"#eb2f96",fontSize:15}}):"spreadsheet"===t?(0,a.jsx)(k,{style:{color:"#52c41a",fontSize:15}}):"document"===t?(0,a.jsx)(S,{style:{color:"#1677ff",fontSize:15}}):"code"===t?(0,a.jsx)(O,{style:{color:"#fa8c16",fontSize:15}}):"archive"===t?(0,a.jsx)(E,{style:{color:"#8c8c8c",fontSize:15}}):"web"===t?(0,a.jsx)(R.A,{style:{color:"#13c2c2",fontSize:15}}):"data"===t?(0,a.jsx)(F.A,{style:{color:"#722ed1",fontSize:15}}):"cad"===t?(0,a.jsx)(V.A,{style:{color:"#fa541c",fontSize:15}}):"diagram"===t?(0,a.jsx)(j,{style:{color:"#a0d911",fontSize:15}}):(0,a.jsx)(B.A,{style:{fontSize:15}})})(t.file),t.isFolder?(0,a.jsx)("span",{className:et().folderName,onClick:e=>{e.stopPropagation(),e4(!ek.includes(t.key),t)},children:t.name}):(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(i(),{className:"min-w-0 max-w-[520px] whitespace-normal break-words leading-relaxed",href:"/knowledge/file-detail?relativePath=".concat(encodeURIComponent(t.key)),children:t.name})})]})},{title:e("fileCategory"),dataIndex:"category",key:"cat",width:110,render:(e,r)=>{var l,n;return r.isFolder?(0,a.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,a.jsx)(u.A,{children:(0,Y.Jm)(null!=(n=null==(l=r.file)?void 0:l.category)?n:"",t)})}},{title:e("fileSize"),dataIndex:"fileSize",key:"size",width:90,render:(e,t)=>{var r,a,l;return(0,Y.z3)(t.isFolder?null!=(a=t.totalSize)?a:0:null!=(l=null==(r=t.file)?void 0:r.fileSize)?l:0)}},{title:e("chunksCount"),dataIndex:"chunkCount",key:"chunks",width:80,render:(e,t)=>{var r,l,n;let s=t.isFolder?null!=(l=t.totalChunks)?l:0:null!=(n=null==(r=t.file)?void 0:r.chunkCount)?n:0;return(0,a.jsx)(u.A,{color:s>1?"green":"orange",children:s})}},{title:e("parsingStatus"),dataIndex:"status",key:"status",width:100,render:(e,t)=>{var r,l,n,s;return t.isFolder?(0,a.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,a.jsx)(u.A,{color:"active"===(s=null==(r=t.file)?void 0:r.status)?"green":"processing"===s||"indexing"===s?"blue":"error"===s?"red":"orange",children:(null==(l=t.file)?void 0:l.errorMessage)||(null==(n=t.file)?void 0:n.status)||"—"})}},{title:e("fileDate"),dataIndex:"mtime",key:"date",width:130,render:(e,r)=>{var l;return r.isFolder?(0,a.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(null==(l=r.file)?void 0:l.mtime)?new Date(r.file.mtime).toLocaleDateString(t):"—"}},{title:e("source"),key:"source",width:100,render:(t,r)=>r.isFolder?(0,a.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,a.jsx)(u.A,{color:"cyan",children:e("fileSource")})},{title:"",key:"act",width:80,align:"center",render:(t,l)=>{var n;return(0,a.jsx)(h.A,{menu:{items:l.isFolder?[{key:"reindex-folder",label:"重新索引文件夹",icon:(0,a.jsx)(L.A,{}),disabled:(null!=(n=l.fileCount)?n:0)===0,onClick:()=>{eI(l.key,!0)}}]:[{key:"reindex",label:e("reindex"),icon:(0,a.jsx)(L.A,{}),onClick:()=>{eI(l.file.relativePath)}},{type:"divider"},{key:"delete",label:e("delete"),icon:(0,a.jsx)(I.A,{}),danger:!0,onClick:()=>{var t;return t=l.file,void d.A.confirm({title:e("delete"),content:e("deleteConfirm"),okText:e("common.confirm"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{ej(e=>[{type:"delete",title:"删除 ".concat(t.relativePath),description:"正在删除文件记录",status:"processing"},...e].slice(0,50));try{await (0,Z.xq)(t.relativePath),r.success("已删除"),ej(e=>[{type:"delete",title:"删除完成 ".concat(t.relativePath),description:"文件和索引记录已移除",status:"success"},...e].slice(0,50)),eA([]),await eE(),await eF()}catch(a){let e=a instanceof Error&&a.message?a.message:"删除失败";r.error(e),ej(r=>[{type:"error",title:"删除失败 ".concat(t.relativePath),description:e,status:"error"},...r].slice(0,50))}}})}}]},trigger:["click"],children:(0,a.jsx)(f.Ay,{type:"text",size:"small",icon:(0,a.jsx)(U,{})})})}}],e3=(0,a.jsxs)("div",{className:"flex flex-1 md:flex-none w-full md:w-auto items-center gap-3",children:[(0,a.jsx)(m.A,{placeholder:e("searchPlaceholder"),prefix:(0,a.jsx)(J.A,{className:"text-[var(--colorTextTertiary)]"}),value:ef,onChange:e=>{em(e.target.value)},allowClear:!0,variant:"borderless",className:"max-w-[420px] flex-1 bg-transparent hover:bg-transparent focus:bg-transparent",style:{borderBottom:"1px solid var(--borderColor)",borderRadius:0,paddingLeft:0,paddingRight:0}}),(0,a.jsx)(p.A,{value:ep||void 0,onChange:e=>{eg(e||"")},placeholder:e("filterCategory"),allowClear:!0,style:{width:170},variant:"borderless",options:eX}),(0,a.jsx)("div",{className:"w-[1px] h-6 bg-[var(--borderColor)] mx-1"}),(0,a.jsx)(h.A,{menu:{items:[{key:"file",label:e("uploadFiles"),icon:(0,a.jsx)(x.A,{}),onClick:()=>{var e;return null==(e=document.getElementById("kb-file-upload-input"))?void 0:e.click()}},{key:"folder",label:e("uploadFolder"),icon:(0,a.jsx)(V.A,{}),onClick:()=>{var e;return null==(e=document.getElementById("kb-folder-upload-input"))?void 0:e.click()}},{type:"divider"},{key:"reindex",label:e("reindexAll"),icon:(0,a.jsx)(L.A,{}),onClick:()=>{eL()},danger:!0}]},trigger:["click"],children:(0,a.jsx)(f.Ay,{type:"primary",icon:(0,a.jsx)(Q.A,{}),loading:ev||ey,className:"rounded-md px-4",children:e("new")})}),(0,a.jsx)("input",{id:"kb-file-upload-input",type:"file",multiple:!0,hidden:!0,accept:".pdf,.doc,.docx,.txt,.md,.csv,.tsv,.xls,.xlsx,.png,.jpg,.jpeg,.webp,.svg,.dwg,.dxf,.step,.stp,.iges,.igs,.js,.ts,.tsx,.jsx,.py,.go,.java,.cs,.cpp,.c,.h,.json,.jsonl,.yaml,.yml,.xml,.html,.htm,.drawio,.dio,.vsdx,.vdx,.puml,.plantuml,.mmd,.mermaid,.excalidraw",onChange:e=>{var t;let r=Array.from(null!=(t=e.target.files)?t:[]);e.target.value="",eT(r)}}),(0,a.jsx)("input",{id:"kb-folder-upload-input",type:"file",multiple:!0,hidden:!0,webkitdirectory:"",onChange:e=>{var t;let r=Array.from(null!=(t=e.target.files)?t:[]);e.target.value="",eT(r)}})]}),e6=[{icon:(0,a.jsx)(x.A,{}),label:e("totalFiles"),value:ee?String(ee.fileCount):"—"},{icon:(0,a.jsx)(F.A,{}),label:e("totalChunks"),value:ee?String(ee.chunkCount):"—"},{icon:(0,a.jsx)(E,{}),label:e("totalSize"),value:ee?(0,Y.z3)(ee.totalSizeBytes):"—"},{icon:(0,a.jsx)(X.A,{}),label:e("lastIndexed"),value:ee?ee.lastIndexedAt?(0,Y.fw)(ee.lastIndexedAt,t):e("common.never"):"—"}];return(0,a.jsxs)("div",{className:"h-[calc(100vh_-_140px)] flex flex-col",children:[(0,a.jsxs)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl border border-[var(--borderColor)] p-6 mb-4 shrink-0 animateFadeIn",children:[(0,a.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-6 pb-6 border-b border-[var(--borderColor)]",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("h1",{className:"text-2xl font-bold tracking-tight text-[var(--colorText)] mb-1 flex items-center gap-2",children:[(0,a.jsx)(F.A,{className:"text-[var(--colorAccent)]"}),e("title")]}),(0,a.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)] m-0",children:e("description")})]}),e3]}),(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-6 pt-6 stagger-1",children:e6.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"w-12 h-12 rounded-xl bg-[var(--colorBgHover)] flex items-center justify-center text-xl text-[var(--colorTextSecondary)]",children:e.icon}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e.label}),(0,a.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none truncate",children:e.value})]})]},e.label))})]}),eu&&(0,a.jsx)("div",{role:"alert",className:"p-4 mb-4 bg-[var(--colorDanger)]/10 text-[var(--colorDanger)] rounded-xl border border-[var(--colorDanger)]/20",children:eu}),(0,a.jsxs)("div",{className:"flex-1 min-h-0 bg-[var(--colorBgContainer)] rounded-2xl border border-[var(--borderColor)] overflow-hidden flex flex-col animateFadeIn stagger-3",style:{opacity:0},children:[(0,a.jsxs)("div",{className:"flex flex-wrap justify-between items-center gap-3 p-4 bg-[var(--colorBgHover)] border-b border-[var(--borderColor)] shrink-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 text-xs text-[var(--colorTextSecondary)] font-medium",children:[(0,a.jsx)("span",{children:e("showingMatchingFiles").replace("{count}",String(eU.length))}),eQ>0&&(0,a.jsxs)(u.A,{color:"red",icon:(0,a.jsx)(W.A,{}),className:"m-0 border-0",children:[e("parsingErrors")," ",eQ]})]}),(0,a.jsxs)(g.A,{size:8,children:[e0>0&&(0,a.jsxs)(f.Ay,{size:"small",icon:(0,a.jsx)(K.A,{}),onClick:()=>void eq(),className:"rounded-lg",children:[e("exportParsed")," (",e0,")"]}),e0>0&&(0,a.jsxs)(f.Ay,{danger:!0,size:"small",icon:(0,a.jsx)(I.A,{}),onClick:()=>eD("selected"),className:"rounded-lg",children:[e("deleteSelected")," (",e0,")"]}),(0,a.jsx)(f.Ay,{danger:!0,size:"small",disabled:0===ei.length,onClick:()=>eD("all"),className:"rounded-lg",children:e("deleteAll")}),(0,a.jsx)(f.Ay,{size:"small",onClick:P,className:"rounded-lg",children:e("ignoreRules")})]})]}),(0,a.jsx)(v.A,{rowKey:"key",columns:e2,dataSource:eW,loading:ec&&!ev&&!ey,size:"middle",className:"flex-1 border-0 tableFillHeight",expandable:{expandedRowKeys:ek,onExpand:e4,expandIcon:e=>{let{expanded:t,onExpand:r,record:l}=e;return l.isFolder?(0,a.jsx)("button",{type:"button",onClick:e=>r(l,e),className:"w-6 h-6 mr-1 inline-flex items-center justify-center align-middle text-[var(--colorTextTertiary)] hover:text-[var(--colorText)] transition-colors bg-transparent border-0 p-0 leading-none",children:t?(0,a.jsx)(G.A,{size:16}):(0,a.jsx)($.A,{size:16})}):null}},locale:{emptyText:eu?"—":ec?e("common.loading"):ef?e("emptySearch"):e("noFiles")},pagination:(0,er.B)(e,{totalLabelKey:"knowledge.topLevelCount",totalLabelFallback:"共 {count} 个顶层项目"}),rowClassName:e=>"hover:bg-[var(--colorBgHover)] transition-colors ".concat(e.isFolder?"font-medium bg-[var(--colorBgSecondary)]/30":""),rowSelection:{selectedRowKeys:e_,onChange:eA,checkStrictly:!1,getCheckboxProps:e=>{var t;return{disabled:!!e.isFolder&&(null!=(t=e.fileCount)?t:0)===0}}}})]}),(0,a.jsxs)(d.A,{title:e("ignoreRules"),open:s,onCancel:()=>y(!1),footer:null,width:560,children:[(0,a.jsx)("p",{className:"text-xs text-[var(--colorTextSecondary)] m-0 mb-3",children:e("ignoreRulesHint")}),(0,a.jsxs)(g.A.Compact,{style:{width:"100%"},className:"mb-3",children:[(0,a.jsx)(m.A,{value:_,onChange:e=>A(e.target.value),onPressEnter:()=>void N(),placeholder:e("ignoreRulesPlaceholder"),"aria-label":e("ignoreRulesAdd")}),(0,a.jsx)(f.Ay,{type:"primary",loading:z,onClick:()=>void N(),children:e("ignoreRulesAdd")})]}),0===b.length?(0,a.jsx)("p",{className:"text-xs text-[var(--colorTextTertiary)] m-0",children:e("ignoreRulesEmpty")}):(0,a.jsx)("ul",{className:"m-0 p-0 list-none flex flex-col gap-2",children:b.map(t=>(0,a.jsxs)("li",{className:"flex items-center justify-between gap-3 rounded-lg border border-[var(--borderColor)] px-3 py-2",children:[(0,a.jsx)("code",{className:"text-xs break-all",children:t}),(0,a.jsx)(f.Ay,{size:"small",danger:!0,type:"text",disabled:z,onClick:()=>void H(t),children:e("ignoreRulesDelete")})]},t))})]})]})}},90939:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"code",theme:"outlined"}},96538:(e,t,r)=>{"use strict";r.d(t,{a:()=>l,j:()=>n});let a={coarse:function(e,t){let r=Math.floor(e/1e3),a=Math.floor(r/86400),l=Math.floor(r%86400/3600),n=Math.floor(r%3600/60),s="en-US"===t;return a>0?s?"".concat(a,"d ").concat(l,"h"):"".concat(a," 天 ").concat(l," 小时"):l>0?s?"".concat(l,"h ").concat(n,"m"):"".concat(l," 小时 ").concat(n," 分"):n>0?s?"".concat(n,"m"):"".concat(n," 分"):s?"Just now":"刚刚"},fine:function(e){let t=Math.round(e/1e3);if(t<60)return"".concat(t," 秒");let r=Math.floor(t/60);return r<60?"".concat(r," 分 ").concat(t%60," 秒"):"".concat(Math.floor(r/60)," 小时 ").concat(r%60," 分")},"fine-decimal":function(e){return e>=6e4?"".concat(Math.floor(e/6e4)," 分 ").concat(Math.round(e%6e4/1e3)," 秒"):"".concat((e/1e3).toFixed(1)," 秒")},metric:function(e){return e<1e3?"".concat(Math.round(e),"ms"):e<6e4?"".concat((e/1e3).toFixed(1),"s"):"".concat((e/6e4).toFixed(1),"min")}};function l(e,t){var r;return a[t.style](function(e,t){let r="s"===t?1e3*e:e;return Number.isFinite(r)&&r>0?r:0}(e,t.unit),null!=(r=t.locale)?r:"zh-CN")}function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return l(e,{unit:"s",style:"coarse",locale:t})}}},e=>{e.O(0,[324,280,665,576,499,338,964,636,593,792],()=>e(e.s=74183)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[46],{69:(e,a)=>{"use strict";a.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"}},5450:(e,a)=>{"use strict";a.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"}},13114:(e,a,l)=>{"use strict";l.d(a,{A:()=>c});var r=l(97109),s=l(5450),o=l(88483);function t(){return(t=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var l=arguments[a];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let c=r.forwardRef((e,a)=>r.createElement(o.A,t({},e,{ref:a,icon:s.A})))},29071:(e,a,l)=>{"use strict";l.d(a,{A:()=>c});var r=l(97109),s=l(78847),o=l(88483);function t(){return(t=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var l=arguments[a];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let c=r.forwardRef((e,a)=>r.createElement(o.A,t({},e,{ref:a,icon:s.A})))},30289:(e,a)=>{"use strict";a.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"}},54746:(e,a,l)=>{"use strict";l.d(a,{A:()=>c});var r=l(97109),s=l(71242),o=l(88483);function t(){return(t=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var l=arguments[a];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let c=r.forwardRef((e,a)=>r.createElement(o.A,t({},e,{ref:a,icon:s.A})))},61825:(e,a,l)=>{"use strict";l.d(a,{A:()=>c});var r=l(97109),s=l(30289),o=l(88483);function t(){return(t=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var l=arguments[a];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let c=r.forwardRef((e,a)=>r.createElement(o.A,t({},e,{ref:a,icon:s.A})))},71242:(e,a)=>{"use strict";a.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"}},77305:(e,a,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/models",function(){return l(98841)}])},78847:(e,a)=>{"use strict";a.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"}},85310:(e,a,l)=>{"use strict";l.d(a,{Zk:()=>o,dh:()=>t,wD:()=>s});var r=l(65321);l(97109);let s="rounded-xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] hover:shadow-[var(--shadowSurfaceHover)] transition-shadow";function o(e){let{title:a,count:l,description:s,extra:o,className:t,children:c}=e;return(0,r.jsxs)("section",{className:"rounded-2xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] p-6 animateFadeIn ".concat(null!=t?t:""),children:[(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start justify-between gap-3 mb-5",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide flex items-center gap-2 m-0",children:[a,void 0!==l&&(0,r.jsx)("span",{className:"text-[var(--colorTextTertiary)] font-normal text-sm",children:l})]}),s&&(0,r.jsx)("p",{className:"text-xs text-[var(--colorTextTertiary)] mt-1.5 mb-0 leading-relaxed max-w-3xl",children:s})]}),o]}),c]})}function t(e){let{children:a}=e;return(0,r.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:a})}},93360:(e,a,l)=>{"use strict";l.d(a,{z:()=>n});var r=l(65321);l(97109);var s=l(48399),o=l(33442);let{Title:t,Text:c}=s.A;function n(e){let{title:a,description:l,extra:s,bottomContent:n}=e;return(0,r.jsxs)("div",{className:"mb-6 animateFadeIn",children:[(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(t,{level:4,style:{margin:0,fontWeight:700,letterSpacing:"-0.01em"},children:a}),l&&(0,r.jsx)(c,{type:"secondary",className:"mt-1 block text-sm",children:l})]}),s&&(0,r.jsx)(o.A,{className:"w-full sm:w-auto overflow-x-auto pb-1 sm:pb-0",size:"middle",wrap:!1,children:s})]}),n&&(0,r.jsx)("div",{className:"mt-4",children:n})]})}},98841:(e,a,l)=>{"use strict";l.r(a),l.d(a,{default:()=>q});var r=l(65321),s=l(97109),o=l(39507),t=l(93360),c=l(17807),n=l(88762),i=l(85114),d=l(84253),m=l(88278),x=l(33442),p=l(32965),h=l(11702),v=l(57271),u=l(7576),g=l(48318),b=l(34052),j=l(63455),f=l(56985),y=l(44534),A=l(54746),w=l(29071),N=l(59188),C=l(4216),S=l(13114),k=l(99650),z=l(58209),E=l(69),P=l(88483);function T(){return(T=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var l=arguments[a];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let B=s.forwardRef((e,a)=>s.createElement(P.A,T({},e,{ref:a,icon:E.A})));var H=l(61825),K=l(6578),O=l(85310),I=l(82238);let M=[{labelKey:"models.openAICompatible",value:"openai"},{labelKey:"models.anthropic",value:"anthropic"},{labelKey:"models.google",value:"google"},{labelKey:"models.ollama",value:"ollama"},{labelKey:"models.openRouter",value:"openrouter"}],L=[{key:"imageGeneration",labelKey:"models.imageGeneration"},{key:"imageUnderstanding",labelKey:"models.imageUnderstanding"},{key:"fileUnderstanding",labelKey:"models.fileUnderstanding"},{key:"audio",labelKey:"models.audioCapability"},{key:"video",labelKey:"models.videoCapability"}],U="••••••••",_=e=>e.includes("•");function q(){let e=(0,o.Vr)(),{message:a}=c.A.useApp(),[l,E]=(0,s.useState)(!0),[P,T]=(0,s.useState)([]),[q,F]=(0,s.useState)(null),[R,D]=(0,s.useState)(!1),[V,Z]=(0,s.useState)(null),[G,X]=(0,s.useState)(!1),[W,J]=(0,s.useState)(!1),[Q,Y]=(0,s.useState)(null),[$,ee]=(0,s.useState)(null),[ea,el]=(0,s.useState)({}),[er,es]=(0,s.useState)(!1),[eo,et]=(0,s.useState)(!1),[ec,en]=(0,s.useState)(""),[ei,ed]=(0,s.useState)(""),[em,ex]=(0,s.useState)(""),[ep,eh]=(0,s.useState)(""),[ev,eu]=(0,s.useState)(""),[eg,eb]=(0,s.useState)("openai"),[ej,ef]=(0,s.useState)(!1),[ey,eA]=(0,s.useState)({}),[ew,eN]=(0,s.useState)(!1),[eC,eS]=(0,s.useState)(!1),[ek,ez]=(0,s.useState)([]),eE=async()=>{E(!0);try{let e=[],a=(a,l,r)=>l.catch(()=>(e.push(a),r)),[l,r,s]=await Promise.all([a("模型供应商",(0,K.Z3)(),null),a("生成模型",(0,K.zr)(),null),a("嵌入配置",(0,K.II)(),null)]);ez(e),l&&T(l),r&&F(r),s&&Z(s)}catch(l){a.error(e("common.error"))}finally{E(!1)}};(0,s.useEffect)(()=>{eE()},[]);let eP=ek.includes("模型供应商"),eT=ek.includes("生成模型"),eB=async e=>{var a,l,r,s;et(!0),en(e.name),ed(e.name),ex(null!=(r=null==q||null==(a=q.list.find(a=>a.provider===e.name))?void 0:a.name)?r:e.name),eh(""),eu(e.baseUrl||""),ef(!0===e.directEndpoint),eb(e.protocol||e.detectedProtocol||"openai"),eA(e.capabilities||{}),eN(!!(null==(l=e.capabilities)?void 0:l.webSearch));try{let a=await (0,K.Bh)(e.name);eh(a.apiKey?U:""),eu(a.baseUrl||""),eA(a.capabilities||{}),ef(!0===a.directEndpoint),eN(!!(null==(s=a.capabilities)?void 0:s.webSearch))}catch(e){}es(!0)},eH=async()=>{if(ei.trim()){eS(!0);try{let l=eo&&_(ep)?void 0:ep||void 0,r={...ey,webSearch:ew};await (0,K._m)(ei.trim(),{modelName:em.trim()||ei.trim(),oldName:eo?ec:void 0,apiKey:l,baseUrl:ev||void 0,protocol:eg,directEndpoint:ej,capabilities:r}),es(!1),await eE(),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}finally{eS(!1)}}},eK=async l=>{try{await (0,K.h1)(l),await eE(),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}},eO=async l=>{ee(l);try{let r=await (0,K.bZ)(l);el(e=>({...e,[l]:r.success}));let s=r.success?e("models.connected"):"".concat(e("models.connectionFailed")).concat(r.message?":".concat(r.message):"").concat(r.requestId?" (".concat(r.requestId,")"):"");a[r.success?"success":"error"](s)}catch(r){el(e=>({...e,[l]:!1})),a.error(r instanceof Error?r.message:e("models.connectionFailed"))}finally{ee(null)}},eI=async l=>{if(R)return!1;D(!0);try{let e=await (0,K.aP)(l);return F(e.models),!0}catch(l){return a.error(l instanceof Error?l.message:e("common.error")),!1}finally{D(!1)}},eM=async e=>{if(!q)return;let a=q.list.find(a=>a.provider===e),l=null!=a?a:{provider:e,name:e};await eI({active:{provider:l.provider,name:l.name},list:a?q.list:[...q.list,l]})},eL=async()=>{if(V){X(!0);try{let l=await (0,K.dd)(V);Z(l),Y(null),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}finally{X(!1)}}},eU=async()=>{J(!0);try{let l=await (0,K.u6)();Y(l.success),a[l.success?"success":"error"](l.message||(l.success?e("models.connected"):e("models.connectionFailed")))}catch(e){Y(!1)}finally{J(!1)}};return l?(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)(n.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,r.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,r.jsx)(n.A,{active:!0,paragraph:{rows:6}})}),(0,r.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,r.jsx)(n.A,{active:!0,paragraph:{rows:4}})}),(0,r.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,r.jsx)(n.A,{active:!0,paragraph:{rows:3}})})]}):(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)(I.X,{failures:ek}),(0,r.jsx)(t.z,{title:e("models.title"),description:e("models.description"),extra:(0,r.jsx)(i.Ay,{type:"primary",icon:(0,r.jsx)(A.A,{}),onClick:()=>{et(!1),en(""),ed(""),ex(""),eh(""),eu(""),eb("openai"),ef(!1),eA({}),eN(!1),es(!0)},children:e("models.addProvider")})}),(0,r.jsx)(O.Zk,{title:e("models.modelList"),count:eP?void 0:P.length,description:e("models.modelListDesc"),children:eP?(0,r.jsx)("div",{className:"py-10 rounded-xl border border-dashed border-[var(--borderColorStrong)] bg-[var(--colorBgHover)] text-center",children:(0,r.jsx)("span",{className:"text-sm text-[var(--colorTextTertiary)]",children:"—"})}):0===P.length?(0,r.jsx)("div",{className:"py-10 rounded-xl border border-dashed border-[var(--borderColorStrong)] bg-[var(--colorBgHover)]",children:(0,r.jsx)(d.A,{image:d.A.PRESENTED_IMAGE_SIMPLE,description:(0,r.jsx)("span",{className:"text-[var(--colorTextTertiary)] text-sm",children:e("models.noProviders")})})}):(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:P.map(a=>{var l,s,o;let t=null==q?void 0:q.list.find(e=>e.provider===a.name),c=null!=(o=null==t?void 0:t.name)?o:a.name,n=(null==q||null==(l=q.active)?void 0:l.provider)===a.name&&q.active.name===c;return(0,r.jsxs)("div",{role:"group","aria-label":a.name,className:"group p-5 ".concat(O.wD," flex flex-col"),children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)(m.Ay,{name:"generation-model-service",checked:n,disabled:eT||!q||R,onChange:()=>{eM(a.name)},children:(0,r.jsx)("span",{className:"font-bold text-base text-[var(--colorText)]",children:a.name})}),c!==a.name&&(0,r.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)] mt-1 break-all",children:c}),(0,r.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] flex items-center gap-1 uppercase tracking-wider font-semibold",children:[(0,r.jsx)(w.A,{})," ",a.protocol||a.detectedProtocol||"openai"]})]}),(0,r.jsxs)(x.A,{size:0,className:"-mr-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",children:[(0,r.jsx)(i.Ay,{type:"text",size:"small",loading:$===a.name,title:e("models.testConnection"),"aria-label":e("models.testConnection"),onClick:e=>{e.stopPropagation(),eO(a.name)},icon:!0===ea[a.name]?(0,r.jsx)(N.A,{className:"text-[var(--colorOk)]"}):!1===ea[a.name]?(0,r.jsx)(C.A,{className:"text-[var(--colorDanger)]"}):(0,r.jsx)(S.A,{className:"text-[var(--colorTextSecondary)]"})}),(0,r.jsx)(i.Ay,{type:"text",size:"small",title:e("common.edit"),icon:(0,r.jsx)(k.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:e=>{e.stopPropagation(),eB(a)}}),(0,r.jsx)(p.A,{title:e("models.deleteProviderConfirm"),onConfirm:e=>{null==e||e.stopPropagation(),eK(a.name)},onCancel:e=>null==e?void 0:e.stopPropagation(),children:(0,r.jsx)(i.Ay,{type:"text",size:"small",danger:!0,title:e("common.delete"),icon:(0,r.jsx)(z.A,{}),onClick:e=>e.stopPropagation()})})]})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(B,{})," ",e("models.apiKey")]}),(0,r.jsx)("span",{className:"font-mono text-[var(--colorTextTertiary)]",children:a.hasApiKey?U:e("models.none")})]}),a.baseUrl&&(0,r.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(H.A,{})," URL"]}),(0,r.jsx)("span",{className:"truncate max-w-[120px] font-mono text-[var(--colorTextTertiary)]",title:a.baseUrl,children:a.baseUrl.replace(/^https?:\/\//,"")})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1 mt-2",children:[L.filter(e=>{var l;return null==(l=a.capabilities)?void 0:l[e.key]}).map(a=>(0,r.jsx)(h.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] bg-[var(--colorBrand)]/5 text-[var(--colorBrand)] leading-[18px]",children:e(a.labelKey)},a.key)),(null==(s=a.capabilities)?void 0:s.webSearch)&&(0,r.jsx)(h.A,{color:"green",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e("models.webEnhancement")})]})]})]},a.name)})})}),(0,r.jsx)(O.Zk,{title:e("models.embeddingConfig"),description:e("models.embeddingConfigDesc"),extra:(0,r.jsxs)(x.A,{size:6,children:[V?(0,r.jsx)(h.A,{color:"blue",bordered:!1,className:"m-0",children:"transformers-local"===V.provider?e("models.localEmbedding"):e("models.openAICompatible")}):(0,r.jsx)(h.A,{bordered:!1,className:"m-0",children:"—"}),!0===Q&&(0,r.jsx)(h.A,{color:"success",bordered:!1,className:"m-0",icon:(0,r.jsx)(N.A,{}),children:e("models.connected")}),!1===Q&&(0,r.jsx)(h.A,{color:"error",bordered:!1,className:"m-0",icon:(0,r.jsx)(C.A,{}),children:e("models.connectionFailed")})]}),children:V?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(O.dh,{children:e("models.embeddingProvider")}),(0,r.jsx)(v.A,{value:V.provider,className:"w-full h-10",variant:"borderless",style:{background:"var(--colorBgHover)",borderRadius:"8px"},options:[{label:e("models.localRecommended"),value:"transformers-local"},{label:e("models.externalAdvanced"),value:"openai-compatible"}],onChange:e=>Z(a=>a?{...a,provider:e,model:"transformers-local"===e?a.model||"BAAI/bge-small-zh-v1.5":a.model,dimensions:"transformers-local"===e?512:a.dimensions||1024}:a)})]}),"openai-compatible"===V.provider&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(O.dh,{children:e("models.baseUrl")}),(0,r.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:V.baseUrl,onChange:e=>Z(a=>a?{...a,baseUrl:e.target.value}:a),placeholder:"http://localhost:11434/v1"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(O.dh,{children:e("models.model")}),(0,r.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:V.model,onChange:e=>Z(a=>a?{...a,model:e.target.value}:a),placeholder:"bge-m3"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(O.dh,{children:e("models.apiKey")}),(0,r.jsx)(u.A.Password,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:V.apiKey,onFocus:()=>{V.apiKey&&_(V.apiKey)&&Z(e=>e?{...e,apiKey:""}:e)},onChange:e=>Z(a=>a?{...a,apiKey:e.target.value}:a),placeholder:e("models.optional")})]})]}),"transformers-local"===V.provider&&(0,r.jsxs)("div",{children:[(0,r.jsx)(O.dh,{children:e("models.model")}),(0,r.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",disabled:!0,value:V.model,placeholder:"BAAI/bge-small-zh-v1.5"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(O.dh,{children:e("models.dimensions")}),(0,r.jsx)(g.A,{className:"w-full h-10 px-2 bg-[var(--colorBgHover)] border-transparent flex items-center",min:1,value:V.dimensions,onChange:e=>Z(a=>a?{...a,dimensions:Number(e||("transformers-local"===a.provider?512:1024))}:a)})]})]}),(0,r.jsxs)("div",{className:"mt-6 flex flex-wrap gap-3",children:[(0,r.jsx)(i.Ay,{type:"primary",className:"h-10 px-6 font-medium shadow-none",loading:G,onClick:()=>{eL()},children:e("models.saveEmbedding")}),(0,r.jsx)(i.Ay,{className:"h-10 px-6 font-medium shadow-none bg-[var(--colorBgHover)] border-transparent hover:border-[var(--borderColorStrong)]",loading:W,onClick:()=>{eU()},children:e("models.testEmbedding")})]})]}):(0,r.jsx)("div",{className:"text-sm text-[var(--colorTextTertiary)]",children:"—"})}),(0,r.jsx)(b.A,{title:eo?e("models.editProvider"):e("models.addProvider"),open:er,onClose:()=>es(!1),size:"large",styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,r.jsx)(x.A,{children:(0,r.jsx)(i.Ay,{type:"primary",loading:eC,onClick:()=>{eH()},children:e("common.save")})}),children:(0,r.jsxs)(j.A,{layout:"vertical",children:[(0,r.jsx)(j.A.Item,{label:e("models.providerName"),children:(0,r.jsx)(u.A,{value:ei,onChange:e=>ed(e.target.value),placeholder:e("models.providerNamePlaceholder")})}),(0,r.jsx)(j.A.Item,{label:e("models.modelIdentifier"),help:e("models.modelIdentifierHint"),children:(0,r.jsx)(u.A,{value:em,onChange:e=>ex(e.target.value),placeholder:ei||e("models.modelIdentifierPlaceholder")})}),(0,r.jsx)(j.A.Item,{label:e("models.apiKey"),help:eo?e("models.apiKeyEditHint"):void 0,children:(0,r.jsx)(u.A.Password,{value:ep,onFocus:()=>{eo&&_(ep)&&eh("")},onChange:e=>eh(e.target.value),placeholder:eo?e("models.apiKeyEditPlaceholder"):"sk-..."})}),(0,r.jsx)(j.A.Item,{label:e("models.baseUrl"),children:(0,r.jsx)(u.A,{value:ev,onChange:e=>eu(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,r.jsx)(j.A.Item,{label:e("models.protocol"),children:(0,r.jsx)(v.A,{value:eg,onChange:eb,options:M.map(a=>({label:e(a.labelKey),value:a.value}))})}),(0,r.jsx)(j.A.Item,{label:e("models.directEndpoint"),children:(0,r.jsx)(f.A,{checked:ej,onChange:e=>ef(e.target.checked),children:e("models.directEndpointDesc")})}),(0,r.jsxs)(j.A.Item,{label:e("models.webEnhancement"),children:[(0,r.jsx)(y.A,{checked:ew,onChange:eN}),(0,r.jsx)("span",{className:"ml-3 text-xs text-[var(--colorTextSecondary)]",children:e("models.webEnhancementDesc")})]}),(0,r.jsx)(j.A.Item,{label:e("models.capabilities"),children:(0,r.jsx)(f.A.Group,{value:L.filter(e=>ey[e.key]).map(e=>e.key),options:L.map(a=>({label:e(a.labelKey),value:a.key})),onChange:e=>eA(Object.fromEntries(L.map(a=>[a.key,e.includes(a.key)])))})})]})})]})}}},e=>{e.O(0,[324,280,576,338,864,318,636,593,792],()=>e(e.s=77305)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[26],{27549:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/prompt",function(){return r(69583)}])},45551:(e,t,r)=>{"use strict";r.d(t,{Jm:()=>i,fw:()=>l,je:()=>a.j,mc:()=>c,z3:()=>o});var a=r(96538);function o(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),r=e/Math.pow(1024,t);return"".concat(r.toFixed(+(0!==t))," ").concat(["B","KB","MB","GB","TB"][t])}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===t?"Never":"从未";let r=Math.floor(Math.floor((Date.now()-e)/1e3)/60),a=Math.floor(r/60),o=Math.floor(a/24);return o>30?new Date(e).toLocaleDateString(t):"en-US"===t?o>0?"".concat(o,"d ago"):a>0?"".concat(a,"h ago"):r>0?"".concat(r,"m ago"):"Just now":o>0?"".concat(o," 天前"):a>0?"".concat(a," 小时前"):r>0?"".concat(r," 分钟前"):"刚刚"}let s={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},n={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function i(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===r?n:s)[e])?t:e}let c={active:"common.statusIndexed",outdated:"common.statusOutdated",error:"common.statusAbnormal",deleted:"common.statusDeleted",disk:"common.statusNotIndexed"}},58690:(e,t,r)=>{"use strict";function a(e){var t,r,a;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{defaultPageSize:null!=(t=o.pageSize)?t:10,pageSizeOptions:null!=(r=o.pageSizeOptions)?r:[10,20,50,100],showSizeChanger:!0,showTotal:t=>{var r,a;return e(null!=(r=o.totalLabelKey)?r:"common.totalRows",null!=(a=o.totalLabelFallback)?a:"共 {count} 条").replace("{count}",String(t))},hideOnSinglePage:null!=(a=o.hideOnSinglePage)&&a,showQuickJumper:!1}}r.d(t,{B:()=>a})},69583:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>eo});var a=r(65321),o=r(97109),l=r(39507),s=r(45551),n=r(58690),i=r(6578),c=r(17807),d=r(33442),m=r(11702),p=r(85114),x=r(32965),u=r(56985),h=r(88762),g=r(45759),f=r(7576),v=r(57271),j=r(49292),y=r(84253),w=r(38964),b=r(34052),N=r(42700),S=r(55122),A=r(93360),C=r(82238);function T(e){let{idPrefix:t="prompt-writing-guide"}=e,r=(0,l.Vr)();return(0,a.jsxs)("aside",{"aria-labelledby":"".concat(t,"-title"),className:"mb-3 shrink-0 rounded-xl border border-[var(--borderColor)] bg-[var(--colorBgHover)] px-3 py-2.5 text-xs leading-relaxed",children:[(0,a.jsx)("div",{id:"".concat(t,"-title"),className:"font-semibold text-[var(--colorText)]",children:r("prompt.writingGuideTitle")}),(0,a.jsx)("p",{id:"".concat(t,"-intro"),className:"mt-1 text-[var(--colorTextSecondary)]",children:r("prompt.writingGuideIntro")}),(0,a.jsx)("p",{className:"mt-1 text-[var(--colorTextSecondary)]",children:r("prompt.writingGuideParameters")}),(0,a.jsxs)("details",{className:"mt-2",children:[(0,a.jsx)("summary",{className:"cursor-pointer text-[var(--colorAccent)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",children:r("prompt.writingGuideDetails")}),(0,a.jsxs)("div",{className:"mt-3 max-h-[320px] overflow-y-auto pr-1 text-[var(--colorTextSecondary)]",children:[(0,a.jsx)("div",{className:"font-semibold text-[var(--colorText)]",children:r("prompt.writingGuideNeedsTitle")}),(0,a.jsxs)("ul",{className:"mt-1 list-disc space-y-1 pl-4",children:[(0,a.jsx)("li",{children:r("prompt.writingGuidePurpose")}),(0,a.jsx)("li",{children:r("prompt.writingGuideStructure")}),(0,a.jsx)("li",{children:r("prompt.writingGuideEngineering")}),(0,a.jsx)("li",{children:r("prompt.writingGuideStyle")})]}),(0,a.jsx)("div",{className:"mt-3 font-semibold text-[var(--colorText)]",children:r("prompt.writingGuideManagedTitle")}),(0,a.jsx)("p",{className:"mt-1",children:r("prompt.writingGuideManaged")}),(0,a.jsx)("p",{className:"mt-1",children:r("prompt.writingGuideAvoid")}),(0,a.jsx)("div",{className:"mt-3 font-semibold text-[var(--colorText)]",children:r("prompt.writingGuideExampleTitle")}),(0,a.jsx)("p",{className:"mt-1",children:r("prompt.writingGuideExampleHint")}),(0,a.jsx)("pre",{className:"mt-2 whitespace-pre-wrap break-words rounded-lg border border-[var(--borderColor)] bg-[var(--colorBgContainer)] p-2.5 font-mono text-[11px] text-[var(--colorText)]",children:r("prompt.writingGuideExample")}),(0,a.jsx)("p",{className:"mt-2",children:r("prompt.writingGuideOneOutline")})]})]})]})}var z=r(99650),F=r(81668),E=r(58209),k=r(26631),P=r(7225),O=r(96091),B=r(54746),M=r(30486),D=r(46082),I=r(42758),G=r(7851),R=r(84742),_=r(24810),J=r(7492);async function L(){let e=await fetch("/api/prompt");if(!e.ok)throw Error("Failed");return e.json()}async function U(e,t,r){let a=await fetch("/api/prompt",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:e,content:t,name:r})});if(!a.ok)throw Error("Failed");return a.json()}async function K(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"previewRules",content:e})});return t.ok&&(await t.json()).preview||null}async function H(e,t){let r=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"createCustom",name:e,content:t})});if(!r.ok)throw Error("Failed");return r.json()}async function X(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"select",selectedIds:e})});if(!t.ok)throw Error("Failed");return t.json()}async function $(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"import",...e&&"object"==typeof e?e:{prompts:[]}})});if(!t.ok)throw Error(await t.text());return t.json()}async function q(){return W("",!1,60)}async function V(e){let t=await fetch("/api/kb/files/detail?relativePath=".concat(encodeURIComponent(e)));if(!t.ok)throw Error("Failed");return((await t.json()).chunks||[]).map(e=>e.content||"").filter(Boolean).join("\n\n").slice(0,12e3)}async function W(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30;return(await (0,i.nU)({limit:r,...e.trim()?{query:e.trim()}:{},...t?{}:{includeContent:!1}})).files||[]}async function Q(e,t){let r=await fetch("/api/prompt/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!r.ok){let e=await r.text();try{let r=JSON.parse(e);throw Error(r.error||r.message||e||t)}catch(r){throw Error(e||t)}}return r.json()}function Y(e,t){let r=new Blob([JSON.stringify(t,null,2)],{type:"application/json;charset=utf-8"}),a=URL.createObjectURL(r),o=document.createElement("a");o.href=a,o.download=e,o.click(),URL.revokeObjectURL(a)}function Z(e,t,r){return e?"customize-agent:prompt-chat:".concat(e.id,":").concat(e.customizePath||e.projectName):"customize-agent:prompt-chat:draft:".concat(r||t||"new")}function ee(e){let t=Date.parse(e);return Number.isNaN(t)?"-":new Date(t).toLocaleString()}function et(e){return{type:"customize-agent.prompts",version:1,exportedAt:new Date().toISOString(),prompts:e.map(e=>({name:e.projectName,content:e.content||"",selected:e.selected,source:"custom"}))}}function er(e){return e.trim().replace(/[\\/:*?"<>|]/g,"-").slice(0,80)||"untitled"}function ea(e){let t=e.match(/(^|\s)@([^\s@]*)$/);return t?t[2]:null}function eo(){let e=(0,l.Vr)(),{message:t}=c.A.useApp(),[r,i]=(0,o.useState)(!0),[eo,el]=(0,o.useState)([]),[es,en]=(0,o.useState)(!1),[ei,ec]=(0,o.useState)(null),[ed,em]=(0,o.useState)(""),[ep,ex]=(0,o.useState)(""),[eu,eh]=(0,o.useState)(!1),[eg,ef]=(0,o.useState)(!1),[ev,ej]=(0,o.useState)("all"),[ey,ew]=(0,o.useState)("mtime"),[eb,eN]=(0,o.useState)("list"),[eS,eA]=(0,o.useState)(""),[eC,eT]=(0,o.useState)(!1),[ez,eF]=(0,o.useState)([]),[eE,ek]=(0,o.useState)(""),[eP,eO]=(0,o.useState)(""),[eB,eM]=(0,o.useState)(!1),[eD,eI]=(0,o.useState)([]),[eG,eR]=(0,o.useState)([]),[e_,eJ]=(0,o.useState)([]),[eL,eU]=(0,o.useState)(!1),[eK,eH]=(0,o.useState)(!1),[eX,e$]=(0,o.useState)(!1),[eq,eV]=(0,o.useState)(null),[eW,eQ]=(0,o.useState)(!1),[eY,eZ]=(0,o.useState)([]),[e0,e1]=(0,o.useState)(!1),[e2,e3]=(0,o.useState)(!1);(0,o.useEffect)(()=>{if(!es||!ed.trim()){eV(null),eQ(!1);return}eQ(!0);let e=setTimeout(()=>{K(ed).then(e=>{eV(e),eQ(!1)})},500);return()=>clearTimeout(e)},[ed,es]);let e4=(0,o.useRef)(null),e5=ea(eP),e6=async()=>{i(!0);try{let e,t=[],r=await (e=L(),e.catch(()=>(t.push("提示词列表"),null)));eZ(t),r&&el(r)}catch(r){t.error(e("common.error"))}finally{i(!1)}};(0,o.useEffect)(()=>{e6()},[]),(0,o.useEffect)(()=>{let e=window.localStorage.getItem("customize-agent:prompt-view-mode");("list"===e||"card"===e)&&eN(e)},[]),(0,o.useEffect)(()=>{window.localStorage.setItem("customize-agent:prompt-view-mode",eb)},[eb]),(0,o.useEffect)(()=>{let e=e4.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),eE&&window.localStorage.setItem(eE,JSON.stringify(ez.slice(-30)))},[ez,eB,eE]),(0,o.useEffect)(()=>{es||e1(!1)},[es]),(0,o.useEffect)(()=>{!es||eD.length>0||eL||e0||(eU(!0),q().then(e=>{eI(e),e1(!1)}).catch(()=>e1(!0)).finally(()=>eU(!1)))},[es,eD.length,eL,e0]),(0,o.useEffect)(()=>{let e=null==e5?void 0:e5.trim();if(!es||!e){eR([]),eH(!1),e3(!1);return}let t=!1;eH(!0);let r=window.setTimeout(()=>{W(e).then(e=>{t||(eR(e),e3(!1))}).catch(()=>{t||(eR([]),e3(!0))}).finally(()=>{t||eH(!1)})},250);return()=>{t=!0,window.clearTimeout(r)}},[es,e5]);let e9=eY.includes("提示词列表"),e8=e=>e9?"—":String(e),e7={selected:eo.filter(e=>e.selected).length,unselected:eo.filter(e=>!e.selected).length,hasFile:eo.filter(e=>e.hasFile).length,missingFile:eo.filter(e=>!e.hasFile).length},te=eo.filter(e=>{var t;return("selected"!==ev||!!e.selected)&&("unselected"!==ev||!e.selected)&&("hasFile"!==ev||!!e.hasFile)&&("missingFile"!==ev||!e.hasFile)&&(!eS.trim()||(t=eS.trim(),!!"".concat(e.projectName,"\n").concat(e.projectRoot||"","\n").concat(e.customizePath||"","\n").concat(e.content||"").toLowerCase().includes(t.toLowerCase())))}).sort((e,t)=>"name"===ey?e.projectName.localeCompare(t.projectName):"selected"===ey&&Number(t.selected)-Number(e.selected)||Date.parse(t.mtime||"")-Date.parse(e.mtime||"")),tt=te.filter(e=>e.selected).length,tr=te.length>0&&te.every(e=>e.selected),ta=(null==e5?void 0:e5.trim())?eG:eD,to=(e,t,r)=>{let a=Z(e,t,r);ek(a),eF(function(e){try{let t=JSON.parse(window.localStorage.getItem(e)||"[]");return Array.isArray(t)?t.filter(e=>("user"===e.role||"assistant"===e.role)&&"string"==typeof e.content).slice(-30):[]}catch(e){return[]}}(a)),eO(""),eM(!1),eJ([]),e$(!1)},tl=async()=>{if(!ep.trim())return void t.error(e("prompt.nameRequired"));eh(!0);try{if(ei)await U(ei.customizePath,ed,ep.trim()),t.success(e("common.success"));else{let r=await H(ep.trim(),ed||"# ".concat(ep.trim(),"\n"));!function(e,t){if(!e||!t||e===t)return;let r=window.localStorage.getItem(e);r&&!window.localStorage.getItem(t)&&window.localStorage.setItem(t,r)}(eE,Z({id:r.id,projectId:r.id,projectName:ep.trim(),customizePath:r.id,content:ed,mtime:"",hasFile:!0,isCurrent:!1,selected:!1,source:"custom"},ep.trim())),t.success(e("common.success"))}en(!1),await e6()}catch(r){t.error(e("common.error"))}finally{eh(!1)}},ts=async e=>{let t=Array.from(new Set([...e_,...eD.filter(t=>e.includes("@".concat(t.relativePath))).map(e=>e.relativePath)])).slice(0,3),r=[];for(let e of t){let t=await V(e);t&&r.push({relativePath:e,content:t})}return r},tn=async()=>{let r=eP.trim();if(!r||eB)return;let a=[...ez,{role:"user",content:r}];eF(a),eO(""),e$(!1),eM(!0);try{let t=await ts(r),o=await Q({name:ep||(null==ei?void 0:ei.projectName)||e("prompt.untitled"),content:ed,message:r,history:ez,references:t},e("prompt.chatFailed"));eF([...a,{role:"assistant",content:o.content||e("prompt.chatEmptyReply")}])}catch(r){t.error(r instanceof Error?r.message:e("prompt.chatFailed")),eF(a)}finally{eM(!1)}},ti=async(r,a)=>{let o=a?Array.from(new Set([...eo.filter(e=>e.selected).map(e=>e.id),r.id])):eo.filter(e=>e.selected&&e.id!==r.id).map(e=>e.id);try{await X(o),el(e=>e.map(e=>({...e,selected:o.includes(e.id)})))}catch(r){t.error(e("common.error"))}},tc=async r=>{let a=eo.filter(e=>e.selected).map(e=>e.id),o=te.map(e=>e.id),l=r?Array.from(new Set([...a,...o])):a.filter(e=>!o.includes(e));try{await X(l),el(e=>e.map(e=>({...e,selected:l.includes(e.id)}))),t.success(e("common.success"))}catch(r){t.error(e("common.error"))}},td=async r=>{try{if(!(await fetch("/api/prompt",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:r.customizePath})})).ok)throw Error("Failed");t.success(e("common.success")),await e6()}catch(r){t.error(e("common.error"))}},tm=async r=>{if(r){eT(!0);try{let a=await r.text(),o=JSON.parse(a),l=await $(o);t.success(e("prompt.importedCount").replace("{count}",String(l.imported))),await e6()}catch(r){t.error(e("prompt.importFailed"))}finally{eT(!1)}}},tp=t=>(0,a.jsx)(d.A,{size:4,wrap:!0,children:!t.hasFile&&(0,a.jsx)(m.A,{style:{margin:0},children:e("prompt.missingFileStatus")})}),tx=r=>(0,a.jsxs)(d.A,{size:0,onClick:e=>e.stopPropagation(),children:[(0,a.jsx)(p.Ay,{size:"small",type:"text",icon:(0,a.jsx)(z.A,{}),title:e("common.edit"),onClick:()=>{ec(r),ef(!1),ex(r.projectName),em(r.content||""),to(r,r.projectName),en(!0)}}),(0,a.jsx)(p.Ay,{size:"small",type:"text",icon:(0,a.jsx)(F.A,{}),title:e("prompt.exportOne"),onClick:()=>{Y("customize-prompt-".concat(er(r.projectName),"-").concat(new Date().toISOString().slice(0,10),".json"),et([r])),t.success(e("prompt.exportedCount").replace("{count}","1"))}}),(0,a.jsx)(x.A,{title:e("prompt.deleteCustomConfirm"),onConfirm:()=>{td(r)},children:(0,a.jsx)(p.Ay,{size:"small",type:"text",danger:!0,icon:(0,a.jsx)(E.A,{}),title:e("common.delete")})})]}),tu=[{title:e("prompt.promptName"),dataIndex:"projectName",render:(e,t)=>(0,a.jsxs)(d.A,{size:8,className:"min-w-0",children:[(0,a.jsx)(k.A,{className:t.isCurrent?"text-[var(--colorOk)] text-lg":"text-[var(--colorTextSecondary)] text-lg"}),(0,a.jsx)("span",{className:"font-semibold text-[var(--colorText)]",children:e}),tp(t)]})},{title:e("prompt.columnSource"),width:170,render:()=>(0,a.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)] inline-flex items-center gap-1.5",children:[(0,a.jsx)(P.A,{}),e("prompt.localPrompt")]})},{title:e("prompt.columnMtime"),width:210,render:(e,t)=>(0,a.jsx)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:ee(t.mtime)})},{title:e("prompt.columnActions"),width:140,render:(e,t)=>(0,a.jsx)("div",{onClick:e=>e.stopPropagation(),children:tx(t)})}];return r?(0,a.jsxs)("div",{className:"space-y-12",children:[(0,a.jsx)(h.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:Array.from({length:4}).map((e,t)=>(0,a.jsx)("div",{className:"p-4 border border-[var(--borderColor)]",children:(0,a.jsx)(h.A,{active:!0,paragraph:{rows:4}})},t))})]}):(0,a.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,a.jsx)(C.X,{failures:eY}),(0,a.jsx)(A.z,{title:e("nav.promptManagement"),description:e("prompt.description"),extra:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.A,{accept:"application/json,.json",showUploadList:!1,beforeUpload:e=>(tm(e),!1),children:(0,a.jsx)(p.Ay,{icon:(0,a.jsx)(O.A,{}),loading:eC,className:"rounded-lg",children:e("prompt.import")})}),(0,a.jsx)(p.Ay,{icon:(0,a.jsx)(F.A,{}),disabled:0===eo.length,onClick:()=>(()=>{let r=eo.filter(e=>e.selected);if(0===r.length)return void t.warning(e("prompt.exportNoneSelected"));let a=new Date().toISOString().slice(0,10);r.forEach((e,t)=>{window.setTimeout(()=>{Y("customize-prompt-".concat(er(e.projectName),"-").concat(a,".json"),et([e]))},250*t)}),t.success(e("prompt.exportedCount").replace("{count}",String(r.length)))})(),className:"rounded-lg",children:e("prompt.exportOne")}),(0,a.jsx)(p.Ay,{type:"primary",icon:(0,a.jsx)(B.A,{}),onClick:()=>(()=>{let e="new:".concat(Date.now());ec(null),ef(!0),ex(""),em(""),to(null,"new",e),en(!0)})(),className:"shadow-none rounded-lg",children:e("prompt.createPrompt")})]})}),(0,a.jsx)(T,{idPrefix:"prompt-page-guide"}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3 bg-[var(--colorBgContainer)] border border-[var(--borderColor)] p-3 rounded-2xl",children:[(0,a.jsx)(f.A,{prefix:(0,a.jsx)(M.A,{className:"text-[var(--colorTextTertiary)]"}),allowClear:!0,placeholder:e("prompt.searchPrompt"),value:eS,onChange:e=>eA(e.target.value),style:{width:260},className:"rounded-lg"}),(0,a.jsx)("div",{className:"h-6 w-[1px] bg-[var(--borderColor)] mx-1","aria-hidden":!0}),(0,a.jsx)(v.A,{value:ev,onChange:ej,style:{width:130},className:"rounded-lg",options:[{label:e("prompt.promptStatus"),value:"all"},{label:"".concat(e("prompt.selected")," (").concat(e8(e7.selected),")"),value:"selected"},{label:"".concat(e("prompt.unselected")," (").concat(e8(e7.unselected),")"),value:"unselected"},{label:"".concat(e("prompt.hasFileStatus")," (").concat(e8(e7.hasFile),")"),value:"hasFile"},{label:"".concat(e("prompt.missingFileStatus")," (").concat(e8(e7.missingFile),")"),value:"missingFile"}]}),(0,a.jsx)(v.A,{value:ey,onChange:ew,style:{width:140},className:"rounded-lg",options:[{label:e("prompt.sortByMtime"),value:"mtime"},{label:e("prompt.sortByName"),value:"name"},{label:e("prompt.sortBySelected"),value:"selected"}]}),(0,a.jsx)("div",{className:"flex-1 min-w-4"}),(0,a.jsx)(j.A,{value:eb,onChange:e=>eN(e),options:[{label:(0,a.jsx)(D.A,{}),value:"list"},{label:(0,a.jsx)(I.A,{}),value:"card"}],className:"bg-[var(--colorBgHover)] p-1 rounded-lg"})]}),(0,a.jsxs)("div",{className:"min-w-0 rounded-2xl border border-[var(--borderColor)] bg-[var(--colorBgContainer)] overflow-hidden",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 flex-wrap px-4 py-3 border-b border-[var(--borderColor)]",children:[(0,a.jsx)("span",{className:"text-sm text-[var(--colorTextSecondary)]",children:e("prompt.shownCount").replace("{count}",e8(te.length))}),(0,a.jsx)("div",{className:"h-4 w-[1px] bg-[var(--borderColor)] mx-1","aria-hidden":!0}),(0,a.jsx)("span",{className:"font-semibold text-sm",children:e("prompt.selectedCount").replace("{count}",String(tt))}),(0,a.jsx)("div",{className:"flex-1 min-w-4"}),(0,a.jsx)(p.Ay,{size:"small",disabled:0===te.length,onClick:()=>{tc(!tr)},children:tr?e("prompt.cancelSelectAll"):e("prompt.selectAll")})]}),0===te.length?(0,a.jsx)("div",{className:"py-24 text-center",children:e9?(0,a.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"—"}):(0,a.jsx)(y.A,{image:y.A.PRESENTED_IMAGE_SIMPLE,description:(0,a.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:eS||"all"!==ev?e("prompt.noMatchDesc"):e("prompt.noPromptInGroup")})})}):"list"===eb?(0,a.jsx)(w.A,{rowKey:"id",dataSource:te,columns:tu,pagination:(0,n.B)(e),rowSelection:{selectedRowKeys:eo.filter(e=>e.selected).map(e=>e.id),onSelect:(e,t)=>{ti(e,t)},onSelectAll:e=>{tc(e)}},className:"custom-table"}):(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5 p-4",children:te.map(t=>(0,a.jsxs)("div",{className:"flex flex-col p-5 rounded-2xl border border-[var(--borderColor)] bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] hover:shadow-md transition-all",children:[(0,a.jsx)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:(0,a.jsxs)("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[(0,a.jsx)(u.A,{checked:t.selected,onChange:e=>{ti(t,e.target.checked)}}),(0,a.jsx)(k.A,{className:t.isCurrent?"text-[var(--colorOk)] text-lg":"text-[var(--colorTextSecondary)] text-lg"}),(0,a.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate mb-1",children:t.projectName})]})}),(0,a.jsx)("div",{className:"mb-3",children:tp(t)}),(0,a.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] truncate flex items-center gap-1.5 mb-4 bg-[var(--colorFillAlter)] p-1.5 rounded inline-flex self-start",children:[(0,a.jsx)(P.A,{}),e("prompt.localPrompt")]}),(0,a.jsxs)("div",{className:"mt-auto pt-4 flex justify-between items-center",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-[var(--colorTextTertiary)] bg-[var(--colorFillSecondary)] px-2 py-1 rounded",children:ee(t.mtime)}),tx(t)]})]},t.id))})]}),(0,a.jsxs)(b.A,{title:(0,a.jsx)("span",{className:"truncate",children:eg?e("prompt.createPrompt"):e("prompt.customPrompt")}),open:es,onClose:()=>en(!1),styles:{body:{padding:"24px 32px",display:"grid",gridTemplateRows:"minmax(320px, 1fr) 420px",gap:24,height:"100%"},header:{borderBottom:"1px solid var(--colorBorderSecondary)",padding:"16px 32px"}},extra:(0,a.jsx)(d.A,{children:(0,a.jsx)(p.Ay,{type:"primary",loading:eu,onClick:()=>{tl()},children:e("common.save")})}),children:[(0,a.jsxs)("div",{className:"min-h-0 flex flex-col overflow-y-auto",children:[eg||null!==ei?(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)] mb-1.5",children:e("prompt.promptName")}),(0,a.jsx)(f.A,{size:"large",placeholder:e("prompt.promptName"),value:ep,onChange:e=>ex(e.target.value),className:"font-medium"})]}):null,(0,a.jsx)(f.A.TextArea,{"aria-describedby":"prompt-page-guide-intro",value:ed,onChange:e=>em(e.target.value),className:"flex-1 shrink-0 min-h-[140px] resize-none font-mono text-[13px]"}),(0,a.jsxs)("div",{className:"mt-3 rounded-xl border border-[var(--borderColor)] bg-[var(--colorBgContainer)] px-4 py-3 max-h-[190px] overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,a.jsxs)(d.A,{size:6,children:[(0,a.jsx)(G.A,{className:"text-[var(--colorAccent)]"}),(0,a.jsx)("span",{className:"font-semibold text-xs",children:e("prompt.rulePreviewTitle")})]}),eW&&(0,a.jsx)(N.A,{size:"small"})]}),eq?eq.recognized?(0,a.jsx)("div",{className:"flex flex-col gap-1",children:eq.summary.map((e,t)=>(0,a.jsxs)("div",{className:"text-xs text-[var(--colorText)] flex gap-1.5 leading-relaxed",children:[(0,a.jsx)(R.A,{className:"text-[var(--colorSuccess)] mt-1"}),(0,a.jsx)("span",{children:e})]},t))}):(0,a.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:e("prompt.rulePreviewNone")}):(0,a.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:ed.trim()?e("prompt.rulePreviewAnalyzing"):e("prompt.rulePreviewHint")})]})]}),(0,a.jsxs)("div",{className:"min-h-0 rounded-xl border border-[var(--borderColor)] bg-[var(--colorBgContainer)] flex flex-col overflow-hidden",children:[(0,a.jsxs)("div",{className:"px-3 py-2.5 border-b border-[var(--borderColor)] flex items-center justify-between gap-2",children:[(0,a.jsxs)(d.A,{size:6,children:[(0,a.jsx)(_.A,{className:"text-[var(--colorAccent)]"}),(0,a.jsx)("span",{className:"font-semibold",children:e("prompt.aiPromptAssistant")})]}),(0,a.jsxs)(d.A,{size:6,children:[ez.length>0&&(0,a.jsx)(p.Ay,{size:"small",onClick:()=>eF([]),children:e("prompt.clearHistory")}),eB?(0,a.jsx)(m.A,{color:"processing",className:"m-0",children:e("prompt.generating")}):(0,a.jsx)(m.A,{color:"blue",className:"m-0",children:e("prompt.canConverse")})]})]}),(0,a.jsx)("div",{ref:e4,className:"flex-1 min-h-0 overflow-y-auto p-3.5 bg-[var(--colorFillAlter)]",children:0!==ez.length||eB?(0,a.jsxs)("div",{className:"flex flex-col gap-3 w-full",children:[ez.map((r,o)=>{let l="user"===r.role;return(0,a.jsx)("div",{className:"flex ".concat(l?"justify-end":"justify-start"),children:(0,a.jsxs)("div",{className:"max-w-[78%] px-3 py-2.5 rounded-xl border border-[var(--borderColor)] whitespace-pre-wrap leading-relaxed text-[13px] transition-colors ".concat(l?"bg-[var(--colorFillSecondary)]":"bg-[var(--colorBgContainer)]"),children:[r.content,!l&&(0,a.jsx)("div",{className:"flex justify-end mt-2",children:(0,a.jsx)(p.Ay,{size:"small",type:"primary",onClick:()=>{em(r.content),t.success(e("prompt.appliedToEditor"))},children:e("prompt.apply")})})]})},"".concat(r.role,"-").concat(o))}),eB&&(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsxs)("div",{className:"px-3 py-2.5 rounded-xl bg-[var(--colorBgContainer)] border border-[var(--borderColor)] text-[var(--colorTextSecondary)] text-[13px]",children:[(0,a.jsx)(N.A,{size:"small",className:"mr-2"}),e("prompt.aiAnalyzing")]})})]}):(0,a.jsx)(y.A,{image:y.A.PRESENTED_IMAGE_SIMPLE,description:e("prompt.mentionRecallHint")})}),(0,a.jsx)(S.A,{className:"!m-0"}),(0,a.jsxs)("div",{className:"p-3",children:[e_.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1 mb-2",children:e_.map(e=>(0,a.jsxs)(m.A,{closable:!0,onClose:()=>eJ(t=>t.filter(t=>t!==e)),className:"m-0 max-w-[360px] overflow-hidden text-ellipsis",children:["@",e]},e))}),eX&&(0,a.jsxs)("div",{className:"max-h-[260px] overflow-y-auto mb-2 rounded-xl border border-[var(--borderColor)] bg-[var(--colorBgElevated)] shadow-lg",children:[(0,a.jsxs)("div",{className:"sticky top-0 z-[1] px-3 py-2.5 border-b border-[var(--borderColor)] bg-[var(--colorBgElevated)] flex justify-between gap-3 items-center",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[var(--colorText)] text-[13px] font-bold",children:e("prompt.recallKbFiles")}),(0,a.jsx)("div",{className:"text-[var(--colorTextSecondary)] text-[11px]",children:e("prompt.recallLimitHint")})]}),(0,a.jsx)(m.A,{color:e5?"blue":"default",className:"m-0 max-w-[240px] overflow-hidden text-ellipsis",children:e5?"@".concat(e5):e("prompt.inputAtKeyword")})]}),(e0||e2)&&(0,a.jsx)("div",{className:"p-2.5",children:(0,a.jsx)(C.X,{failures:[...e0?["知识库文件清单"]:[],...e2?["知识库检索"]:[]]})}),e0?null:eL?(0,a.jsxs)("div",{className:"p-3.5 text-[var(--colorTextSecondary)] text-xs",children:[(0,a.jsx)(N.A,{size:"small",className:"mr-2"}),e("prompt.loadingKbFiles")]}):0===eD.length?(0,a.jsx)("div",{className:"p-3.5 text-[var(--colorTextSecondary)] text-xs",children:e("prompt.noRecallableKbFiles")}):0===ta.length?(0,a.jsx)("div",{className:"p-3.5 text-[var(--colorTextSecondary)] text-xs",children:eK?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.A,{size:"small",className:"mr-2"}),e("prompt.searchingKbContent")]}):e2?null:e("prompt.noMatchingKbFiles")}):(0,a.jsxs)(a.Fragment,{children:[eK&&(0,a.jsxs)("div",{className:"px-3 py-2 text-[var(--colorTextSecondary)] text-xs border-b border-[var(--borderColor)]",children:[(0,a.jsx)(N.A,{size:"small",className:"mr-2"}),e("prompt.continueSearchingKb")]}),ta.slice(0,30).map(t=>(0,a.jsxs)("div",{onMouseDown:e=>{var r;e.preventDefault(),r=t.relativePath,eJ(e=>e.includes(r)?e:[...e,r]),eO(e=>e.replace(/(^|\s)@([^\s@]*)$/,"$1@".concat(r," "))),e$(!1)},className:"px-3 py-2.5 cursor-pointer border-b border-[var(--borderColor)] text-xs grid grid-cols-[22px_minmax(0,1fr)_auto] gap-2.5 items-center hover:bg-[var(--colorBgHover)] transition-colors",children:[(0,a.jsx)("div",{className:"w-[22px] h-[22px] rounded-lg bg-[var(--colorFillSecondary)] flex items-center justify-center",children:(0,a.jsx)(k.A,{className:"text-[var(--colorAccent)]"})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-[var(--colorText)] truncate font-bold",children:t.relativePath}),(0,a.jsxs)("div",{className:"text-[var(--colorTextSecondary)] text-[11px] truncate",children:[t.category||e("prompt.unclassified")," \xb7 ",t.format||e("prompt.unknownFormat"),"number"==typeof t.score?" \xb7 score ".concat(t.score.toFixed(2)):""]})]}),(0,a.jsxs)(d.A,{size:4,children:[(0,a.jsx)(m.A,{color:"content"===t.matchedBy?"purple":"disk"===t.matchedBy?"orange":"blue",className:"m-0",children:"content"===t.matchedBy?e("prompt.contentMatch"):"disk"===t.matchedBy?e("prompt.diskFile"):e("prompt.fileMatch")}),(0,a.jsx)(m.A,{className:"m-0",children:e(s.mc[t.status]||"common.unknown")})]})]},t.relativePath))]})]}),(0,a.jsxs)("div",{className:"flex gap-2 items-end",children:[(0,a.jsx)(f.A.TextArea,{value:eP,onChange:e=>{let t=e.target.value;eO(t),e$(null!==ea(t))},onFocus:()=>e$(null!==ea(eP)),onPressEnter:e=>{e.shiftKey||(e.preventDefault(),tn())},disabled:eB,placeholder:e("prompt.mentionRecallPlaceholder"),autoSize:{minRows:1,maxRows:5},className:"flex-1 min-w-0 text-[13px] leading-relaxed"}),(0,a.jsx)(p.Ay,{type:"primary",icon:(0,a.jsx)(J.A,{}),loading:eB,disabled:!eP.trim(),onClick:()=>{tn()},className:"shrink-0",children:e("prompt.send")})]})]})]})]})]})}},93360:(e,t,r)=>{"use strict";r.d(t,{z:()=>i});var a=r(65321);r(97109);var o=r(48399),l=r(33442);let{Title:s,Text:n}=o.A;function i(e){let{title:t,description:r,extra:o,bottomContent:i}=e;return(0,a.jsxs)("div",{className:"mb-6 animateFadeIn",children:[(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(s,{level:4,style:{margin:0,fontWeight:700,letterSpacing:"-0.01em"},children:t}),r&&(0,a.jsx)(n,{type:"secondary",className:"mt-1 block text-sm",children:r})]}),o&&(0,a.jsx)(l.A,{className:"w-full sm:w-auto overflow-x-auto pb-1 sm:pb-0",size:"middle",wrap:!1,children:o})]}),i&&(0,a.jsx)("div",{className:"mt-4",children:i})]})}},96538:(e,t,r)=>{"use strict";r.d(t,{a:()=>o,j:()=>l});let a={coarse:function(e,t){let r=Math.floor(e/1e3),a=Math.floor(r/86400),o=Math.floor(r%86400/3600),l=Math.floor(r%3600/60),s="en-US"===t;return a>0?s?"".concat(a,"d ").concat(o,"h"):"".concat(a," 天 ").concat(o," 小时"):o>0?s?"".concat(o,"h ").concat(l,"m"):"".concat(o," 小时 ").concat(l," 分"):l>0?s?"".concat(l,"m"):"".concat(l," 分"):s?"Just now":"刚刚"},fine:function(e){let t=Math.round(e/1e3);if(t<60)return"".concat(t," 秒");let r=Math.floor(t/60);return r<60?"".concat(r," 分 ").concat(t%60," 秒"):"".concat(Math.floor(r/60)," 小时 ").concat(r%60," 分")},"fine-decimal":function(e){return e>=6e4?"".concat(Math.floor(e/6e4)," 分 ").concat(Math.round(e%6e4/1e3)," 秒"):"".concat((e/1e3).toFixed(1)," 秒")},metric:function(e){return e<1e3?"".concat(Math.round(e),"ms"):e<6e4?"".concat((e/1e3).toFixed(1),"s"):"".concat((e/6e4).toFixed(1),"min")}};function o(e,t){var r;return a[t.style](function(e,t){let r="s"===t?1e3*e:e;return Number.isFinite(r)&&r>0?r:0}(e,t.unit),null!=(r=t.locale)?r:"zh-CN")}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return o(e,{unit:"s",style:"coarse",locale:t})}}},e=>{e.O(0,[324,280,665,576,499,338,964,711,636,593,792],()=>e(e.s=27549)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[199],{49078:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>S});var r=t(65321),a=t(97109),l=t(43220),o=t.n(l),c=t(39507),n=t(49759),i=t(17807),d=t(88762),x=t(99605),m=t(85114),h=t(25258),v=t(73340),u=t(1278);let g=(0,u.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 p=t(56733),j=t(38300);let y=(0,u.A)("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);var N=t(87824);let f=(0,u.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"}]]),k=(0,u.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var b=t(6578),w=t(85310),T=t(82238);function S(){var e,s,t,l;let u=(0,c.Vr)("settings"),{theme:S,resolvedTheme:C,setTheme:D}=(0,n.D)(),{locale:A,setLocale:z}=(0,c.x_)(),{message:M}=i.A.useApp(),[_,F]=(0,a.useState)(null),[B,P]=(0,a.useState)(null),[I,E]=(0,a.useState)(null),[Z,O]=(0,a.useState)(!0),[V,q]=(0,a.useState)(!1),[K,X]=(0,a.useState)(!1),[H,L]=(0,a.useState)([]);(0,a.useEffect)(()=>{O(!0);let e=[],s=(s,t,r)=>t.catch(()=>(e.push(s),r));Promise.all([s("系统统计",(0,b.FC)(),null),s("服务健康",(0,b.le)(),null),s("嵌入配置",(0,b.II)(),null)]).then(s=>{let[t,r,a]=s;L(e),t&&F(t),r&&P(r),a&&E(a)}).finally(()=>O(!1))},[]);let U=async()=>{X(!0);try{await (0,b.NI)(),M.success("已清除全部数据,即将刷新"),window.setTimeout(()=>window.location.reload(),800)}catch(e){M.error(e instanceof Error?e.message:"清除失败,请重试")}finally{X(!1),q(!1)}},W="system"===S?"system":C,G=e=>"flex items-center gap-2 px-4 py-2 text-sm font-medium rounded-xl border transition-colors ".concat(e?"bg-[var(--colorText)] text-[var(--colorBg)] border-transparent":"bg-transparent text-[var(--colorTextSecondary)] border-[var(--borderColor)] hover:border-[var(--colorTextTertiary)]"),J=e=>{let{label:s,value:t,mono:a,tone:l}=e;return(0,r.jsxs)("div",{className:"p-4 ".concat(w.wD),children:[(0,r.jsx)("div",{className:"text-[10px] text-[var(--colorTextTertiary)] uppercase tracking-wider mb-2",children:s}),(0,r.jsx)("div",{className:"text-sm ".concat(a?"font-mono":"font-semibold"," ").concat(null!=l?l:"text-[var(--colorText)]"," truncate"),title:"string"==typeof t?t:void 0,children:t})]})};return Z?(0,r.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,r.jsx)(d.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,r.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:Array.from({length:4}).map((e,s)=>(0,r.jsx)("div",{className:"p-6 rounded-2xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)]",children:(0,r.jsx)(d.A,{active:!0,paragraph:{rows:4}})},s))})]}):(0,r.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,r.jsx)(T.X,{failures:H}),(0,r.jsxs)("div",{className:"pb-6 border-b border-[var(--borderColor)]",children:[(0,r.jsx)("h1",{className:"text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2",children:u("title")}),(0,r.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)]",children:u("description")})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,r.jsx)(w.Zk,{title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v.A,{size:18,className:"text-[var(--colorTextTertiary)]"}),u("language")]}),description:u("languageDesc"),children:(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsx)("button",{className:G("zh-CN"===A),onClick:()=>z("zh-CN"),children:"中文"}),(0,r.jsx)("button",{className:G("en-US"===A),onClick:()=>z("en-US"),children:"English"})]})}),(0,r.jsx)(w.Zk,{title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g,{size:18,className:"text-[var(--colorTextTertiary)]"}),u("theme")]}),description:u("themeDesc"),children:(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsxs)("button",{className:G("light"===W),onClick:()=>D("light"),children:[(0,r.jsx)(p.A,{size:14}),u("light")]}),(0,r.jsxs)("button",{className:G("dark"===W),onClick:()=>D("dark"),children:[(0,r.jsx)(j.A,{size:14}),u("dark")]}),(0,r.jsxs)("button",{className:G("system"===W),onClick:()=>D("system"),children:[(0,r.jsx)(g,{size:14}),u("system")]})]})}),(0,r.jsx)(w.Zk,{title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(y,{size:18,className:"text-[var(--colorTextTertiary)]"}),u("serverStatus")]}),description:u("serverStatusDesc"),children:(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,r.jsx)(J,{label:u("status"),value:B?"ok"===B.status?u("healthy"):u("unknown"):"—",tone:B?"ok"===B.status?"text-[var(--colorOk)]":"text-[var(--colorDanger)]":void 0}),(0,r.jsx)(J,{label:u("uptime"),value:B?(e=>{let s=Math.floor(e/86400),t=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return s>0?"".concat(s," ").concat(u("days")," ").concat(t," ").concat(u("hours")):t>0?"".concat(t," ").concat(u("hours")," ").concat(r," ").concat(u("minutes")):"".concat(r," ").concat(u("minutes"))})(B.uptime):"—"}),(0,r.jsxs)("div",{className:"col-span-2 p-4 ".concat(w.wD," flex items-center gap-5"),children:[(0,r.jsx)(x.A,{type:"dashboard",percent:null!=(e=null==_?void 0:_.cpu.usagePercent)?e:0,size:48,strokeColor:(null!=(s=null==_?void 0:_.cpu.usagePercent)?s:0)>80?"var(--colorDanger)":"var(--colorText)",strokeWidth:12,showInfo:!1}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[10px] text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:u("cpu")}),(0,r.jsxs)("div",{className:"font-mono text-[var(--colorText)]",children:[_?"".concat(_.cpu.usagePercent.toFixed(1),"%"):"—"," ",(0,r.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)] ml-1",children:["(",_?_.cpu.cores:"—"," ",u("cores"),")"]})]})]})]}),(0,r.jsxs)("div",{className:"col-span-2 p-4 ".concat(w.wD," flex items-center gap-5"),children:[(0,r.jsx)(x.A,{type:"dashboard",percent:null!=(t=null==_?void 0:_.memory.usagePercent)?t:0,size:48,strokeColor:(null!=(l=null==_?void 0:_.memory.usagePercent)?l:0)>80?"var(--colorDanger)":"var(--colorTextSecondary)",strokeWidth:12,showInfo:!1}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[10px] text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:u("memory")}),(0,r.jsxs)("div",{className:"font-mono text-[var(--colorText)]",children:[_?"".concat(_.memory.usedMB," MB"):"—"," ",(0,r.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)] ml-1",children:["/ ",_?_.memory.totalMB:"—"," MB"]})]})]})]})]})}),(0,r.jsx)(w.Zk,{title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(N.A,{size:18,className:"text-[var(--colorTextTertiary)]"}),u("embeddingConfig")]}),description:u("embeddingConfigDesc"),children:(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,r.jsx)("div",{className:"col-span-2",children:(0,r.jsx)(J,{label:u("provider"),value:(null==I?void 0:I.provider)||"—",mono:!0})}),(0,r.jsx)("div",{className:"col-span-2",children:(0,r.jsx)(J,{label:u("model"),value:(null==I?void 0:I.model)||"—",mono:!0})}),(0,r.jsx)(J,{label:u("apiKey"),value:I?I.hasApiKey?u("configured"):u("none"):"—",tone:(null==I?void 0:I.hasApiKey)?"text-[var(--colorOk)]":"text-[var(--colorTextSecondary)]"}),(0,r.jsx)(J,{label:u("dimensions"),value:(null==I?void 0:I.dimensions)?"".concat(I.dimensions):"—",mono:!0})]})})]}),(0,r.jsxs)(w.Zk,{title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f,{size:18,className:"text-[var(--colorTextTertiary)]"}),u("localData")]}),description:u("localDataDesc"),children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[(0,r.jsx)(J,{label:u("directory"),value:"~/.customize-agent/",mono:!0}),(0,r.jsx)(J,{label:u("knowledgeBase"),value:u("localVectors")}),(0,r.jsx)(J,{label:u("tasks"),value:_?_.tasks.total.toLocaleString():"—",mono:!0}),(0,r.jsx)(J,{label:u("tokens"),value:_?_.tokens.total.toLocaleString():"—",mono:!0})]}),(0,r.jsxs)("div",{className:"mt-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl bg-[var(--colorFillAlter)] px-4 py-3",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-[var(--colorText)]",children:u("diagnostics")}),(0,r.jsx)("div",{className:"text-xs text-[var(--colorTextTertiary)] mt-0.5",children:u("diagnosticsDesc")})]}),(0,r.jsxs)(o(),{href:"/system/logs",className:"shrink-0 text-sm font-medium text-[var(--colorPrimary)] hover:underline",children:[u("openDiagnostics")," ›"]})]}),(0,r.jsxs)("div",{className:"mt-3 flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl border border-[var(--colorDanger)]/30 bg-[var(--colorDanger)]/5 px-4 py-3",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-[var(--colorDanger)]",children:"清除全部数据"}),(0,r.jsx)("div",{className:"text-xs text-[var(--colorTextTertiary)] mt-0.5",children:"删除知识库上传文件、生成记录、提示词、配置、状态与日志,不可恢复"})]}),(0,r.jsx)(m.Ay,{danger:!0,size:"small",icon:(0,r.jsx)(k,{size:14}),onClick:()=>q(!0),children:"清除全部数据"})]})]}),(0,r.jsx)(h.A,{title:"清除全部数据",open:V,onCancel:()=>q(!1),okText:K?"清除中…":"确认清除",cancelText:"取消",okButtonProps:{danger:!0,disabled:K},onOk:()=>{U()},children:(0,r.jsxs)("div",{className:"text-sm text-[var(--colorTextSecondary)]",children:[(0,r.jsxs)("div",{children:["将删除存储根 ",(0,r.jsx)("code",{children:"~/.customize-agent"})," 下的全部内容:知识库上传文件、生成记录、提示词、模型/嵌入配置、状态与日志。"]}),(0,r.jsx)("div",{className:"mt-2 text-[var(--colorDanger)]",children:"此操作不可恢复,请确认已备份需要保留的资料。"})]})})]})}},58451:(e,s,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/settings",function(){return t(49078)}])},85310:(e,s,t)=>{"use strict";t.d(s,{Zk:()=>l,dh:()=>o,wD:()=>a});var r=t(65321);t(97109);let a="rounded-xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] hover:shadow-[var(--shadowSurfaceHover)] transition-shadow";function l(e){let{title:s,count:t,description:a,extra:l,className:o,children:c}=e;return(0,r.jsxs)("section",{className:"rounded-2xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] p-6 animateFadeIn ".concat(null!=o?o:""),children:[(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start justify-between gap-3 mb-5",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide flex items-center gap-2 m-0",children:[s,void 0!==t&&(0,r.jsx)("span",{className:"text-[var(--colorTextTertiary)] font-normal text-sm",children:t})]}),a&&(0,r.jsx)("p",{className:"text-xs text-[var(--colorTextTertiary)] mt-1.5 mb-0 leading-relaxed max-w-3xl",children:a})]}),l]}),c]})}function o(e){let{children:s}=e;return(0,r.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:s})}}},e=>{e.O(0,[636,593,792],()=>e(e.s=58451)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[388],{71922:(e,l,s)=>{"use strict";s.r(l),s.d(l,{default:()=>w});var a=s(65321),i=s(86109),n=s(43220),c=s.n(n),r=s(88762),t=s(85493),d=s(84253),o=s(85114),x=s(99650),m=s(97109),h=s(62561),p=s(48399),j=s(68787),u=s(11702),v=s(33442),b=s(14524),y=s(35071);let{Text:N}=p.A;function g(e){let{label:l,children:s}=e;return(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-xs text-[var(--colorTextTertiary)] mb-1",children:l}),(0,a.jsx)("div",{className:"text-sm font-medium text-[var(--colorText)] break-words",children:s})]})}function f(e){var l,s,i,n,c;let{skill:r,options:t,labelMap:d}=e,o=e=>{var l;return null!=(l=d.get(e))?l:e},x=e=>{var l,s;return null!=(s=null==t||null==(l=t.processCards.find(l=>l.value===e))?void 0:l.label)?s:e},m=r.chapterChecklist,h=m?[{label:"章内检索词",values:null!=(l=m.queries)?l:[]},{label:"必含事实",values:null!=(s=m.requiredFacts)?s:[]},{label:"要求成表的小节",values:null!=(i=m.tableSections)?i:[]},{label:"表格形态要求",values:null!=(n=m.tableRequirements)?n:[]},{label:"钉住的证据文件",values:null!=(c=m.pinnedEvidenceFilePaths)?c:[]}].filter(e=>e.values.length>0):[];return(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(j.A,{className:"rounded-2xl border-[var(--borderColor)]",children:(0,a.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-3 xl:grid-cols-4 gap-x-6 gap-y-4",children:[(0,a.jsx)(g,{label:"技能 ID",children:(0,a.jsx)(N,{code:!0,className:"text-xs",children:r.id})}),(0,a.jsxs)(g,{label:"来源",children:[r.builtIn?(0,a.jsx)(u.A,{color:"gold",className:"m-0",children:"内置"}):(0,a.jsx)(u.A,{className:"m-0",children:"用户"}),(0,a.jsxs)(N,{type:"secondary",className:"text-xs ml-2",children:["技能格式 v",r.version]})]}),(0,a.jsx)(g,{label:"状态",children:(0,a.jsx)(u.A,{color:r.enabled?"green":"default",className:"m-0 border-0",children:r.enabled?"已启用":"已停用"})}),(0,a.jsx)(g,{label:"章域",children:(0,a.jsx)(u.A,{color:"blue",className:"m-0",children:o(r.match.chapterDomain)})}),(0,a.jsx)(g,{label:"适用工程类型",children:0===r.match.projectTypes.length?(0,a.jsx)(N,{type:"secondary",className:"text-xs",children:"全类型(不限定工程类型)"}):(0,a.jsx)(v.A,{size:4,wrap:!0,children:r.match.projectTypes.map(e=>(0,a.jsx)(u.A,{className:"m-0",children:o(e)},e))})}),(0,a.jsx)(g,{label:"文档名称建议",children:r.outputTitle?(0,a.jsx)("span",{children:r.outputTitle}):(0,a.jsx)(N,{type:"secondary",className:"text-xs",children:"未声明(不对文档名称表态)"})}),(0,a.jsx)(g,{label:"章职责",children:(null==m?void 0:m.purpose)?(0,a.jsx)("span",{children:m.purpose}):(0,a.jsx)(N,{type:"secondary",className:"text-xs",children:"未声明"})}),(0,a.jsx)(g,{label:"提供内容",children:(0,a.jsxs)(v.A,{size:4,wrap:!0,children:[(0,a.jsxs)(u.A,{className:"m-0",children:[r.structure.length," 个专业主题"]}),(0,a.jsxs)(u.A,{color:"green",className:"m-0",children:[r.acceptance.reduce((e,l)=>e+l.items.length,0)," 条核对提示"]})]})})]})}),(0,a.jsxs)("div",{className:"grid grid-cols-1 xl:grid-cols-2 gap-4 items-start",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(b.PZ,{title:"相关专业主题",description:"本条技能提供的专业内容主题。",hint:"".concat(r.structure.length," 项"),children:0===r.structure.length?(0,a.jsx)(N,{type:"secondary",className:"text-xs",children:"未声明专业主题"}):(0,a.jsx)("ol",{className:"m-0 pl-5 text-sm leading-7",children:r.structure.map((e,l)=>{var s;return(0,a.jsxs)("li",{children:[e.title,(0,a.jsx)(N,{type:"secondary",className:"text-xs ml-2",children:(null==(s=e.required)?void 0:s.join(";"))||"按具体对象组织内容"})]},"".concat(e.title,"-").concat(l))})})}),(0,a.jsxs)(b.PZ,{title:"匹配条件",description:"这条技能在什么章域、工程类型与章节标题下被选用。",children:[(0,a.jsx)(b.RU,{label:"小节标题关键词",children:(0,a.jsx)(b.n$,{empty:"未限定小节标题关键词",items:r.match.sectionKeywords.map(e=>(0,a.jsx)(u.A,{className:"m-0 border-0 bg-[var(--colorFillSecondary)]",children:e},e))})}),(0,a.jsx)(b.RU,{label:"小节标题匹配表达式",children:r.match.sectionRegex?(0,a.jsx)(N,{code:!0,className:"text-xs",children:r.match.sectionRegex}):void 0})]}),(0,a.jsx)(b.PZ,{title:"工艺知识引用",description:"写作时可加载的专业参考(按工艺卡名称显示)。",children:(0,a.jsx)(b.n$,{empty:"未声明知识引用",items:r.knowledge.map((e,l)=>{var s,i,n,c;let r=(null!=(s=e.ids)?s:[]).map(x).join("、");return(0,a.jsxs)(u.A,{className:"mb-1",children:[(i=e.kind,null!=(c=null==t||null==(n=t.knowledgeKinds.find(e=>e.value===i))?void 0:n.label)?c:i),r?" \xb7 ".concat(r):"",e.note?"(".concat(e.note,")"):""]},"".concat(e.kind,"-").concat(l))})})}),t&&t.isolationRules.length>0&&(0,a.jsx)(b.PZ,{title:"资料与采用边界",description:"以下边界由软件统一执行,技能不能扩大或豁免。",children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:t.isolationRules.map(e=>(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-baseline gap-1 sm:gap-2",children:[(0,a.jsx)(N,{className:"text-sm shrink-0",children:e.label}),(0,a.jsx)(N,{type:"secondary",className:"text-xs",children:e.note})]},e.id))})})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(b.PZ,{title:"所需项目资料",description:"本次任务要先查证的项目事实;标为必需而查不到时会被上游拦下。",children:(0,a.jsx)(b.n$,{empty:"未声明必需事实",items:r.requires.map(e=>(0,a.jsxs)(u.A,{color:e.required?"red":"default",className:"mb-1",children:[e.key," \xb7 ",o(e.source),e.required?" \xb7 必需":" \xb7 可选"]},e.key))})}),(0,a.jsx)(b.PZ,{title:"文档业务提示",description:"给本次规划的章级候选内容与资料检索提示。",children:0===h.length?(0,a.jsx)(N,{type:"secondary",className:"text-xs",children:"未声明章级清单"}):h.map(e=>(0,a.jsx)(b.RU,{label:e.label,children:(0,a.jsx)(b.n$,{items:e.values.map(e=>(0,a.jsx)(u.A,{className:"m-0 border-0 bg-[var(--colorFillSecondary)]",children:e},e))})},e.label))}),(0,a.jsx)(b.PZ,{title:"禁写项",description:"这条技能明确要求避免的内容或表达。",children:(0,a.jsx)(b.n$,{empty:"没有禁写项",items:r.forbidden.map(e=>(0,a.jsx)(u.A,{color:"red",className:"m-0 border-0",children:(0,y.Oz)(e)},(0,y.Oz)(e)))})}),(0,a.jsx)(b.PZ,{title:"专业写作核对提示",description:"按本任务对象和工况选用,不是数量要求或验收通过证明。",children:0===r.acceptance.flatMap(e=>e.items).length?(0,a.jsx)(N,{type:"secondary",className:"text-xs",children:"没有核对提示"}):(0,a.jsx)("ul",{className:"m-0 pl-5 text-sm leading-7",children:r.acceptance.flatMap(e=>e.items).map(e=>(0,a.jsx)("li",{children:e},e))})}),(0,a.jsx)(b.PZ,{title:"表达示例",description:"示例供理解专业表达,不能作为本项目事实。",children:(0,a.jsx)(b.RU,{label:"是否带示例",children:r.examples?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(u.A,{color:"green",className:"m-0 border-0",children:"带正例/反例"}),(0,a.jsx)(N,{type:"secondary",className:"text-xs ml-2",children:"本编辑器保留原示例。"})]}):void 0})})]})]})]})}var A=s(33061);function k(e){let{skillId:l}=e,s=(0,A.G)(),i=(0,m.useMemo)(()=>l?s.skills.find(e=>e.id===l):void 0,[s.skills,l]),n=(0,m.useMemo)(()=>{var e,l,a,i,n,c;return new Map([...null!=(i=null==(e=s.options)?void 0:e.chapterDomains)?i:[],...null!=(n=null==(l=s.options)?void 0:l.projectTypes)?n:[],...null!=(c=null==(a=s.options)?void 0:a.factSources)?c:[]].map(e=>[e.value,e.label]))},[s.options]),p=!l,j=!s.loading&&!s.failed&&!!s.options&&!i;return p||s.loading?(0,a.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,a.jsx)(r.A,{active:!0,title:!0,paragraph:{rows:2}}),(0,a.jsx)(r.A,{active:!0,paragraph:{rows:10}})]}):s.failed?(0,a.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,a.jsx)(h.e,{title:"技能预览"}),(0,a.jsx)(t.A,{type:"error",showIcon:!0,message:"技能库读取失败",description:"".concat(s.failed,';这不是"技能不存在",请核对服务端状态后重试。')})]}):j||!i?(0,a.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,a.jsx)(h.e,{title:"技能预览"}),(0,a.jsx)(d.A,{description:"技能库里没有「".concat(l,"」这条技能(可能已被删除或改名)"),children:(0,a.jsx)(c(),{href:"/skills",children:(0,a.jsx)(o.Ay,{type:"primary",children:"返回技能库"})})})]}):(0,a.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,a.jsx)(h.e,{title:"技能预览 \xb7 ".concat(i.displayName),description:"只读查看这条技能声明了什么;要改内容进编辑页,保存前会做字段与引用校验。",extra:(0,a.jsx)(c(),{href:"/skills/".concat(encodeURIComponent(i.id),"/edit"),children:(0,a.jsx)(o.Ay,{type:"primary",icon:(0,a.jsx)(x.A,{}),disabled:i.builtIn,title:i.builtIn?y.F:void 0,children:"编辑"})})}),i.builtIn&&(0,a.jsx)(t.A,{type:"info",showIcon:!0,message:y.F}),(0,a.jsx)(f,{skill:i,options:s.options,labelMap:n})]})}function w(){let e=(0,i.useRouter)(),l="string"==typeof e.query.id?e.query.id:void 0;return(0,a.jsx)(k,{skillId:l})}},95195:(e,l,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/skills/[id]",function(){return s(71922)}])}},e=>{e.O(0,[665,569,787,564,2,636,593,792],()=>e(e.s=95195)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[950],{25981:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/skills",function(){return n(81828)}])},33061:(e,t,n)=>{"use strict";n.d(t,{G:()=>s});var i=n(97109),l=n(35071);function s(){let[e,t]=(0,i.useState)([]),[n,s]=(0,i.useState)(),[r,a]=(0,i.useState)([]),[c,o]=(0,i.useState)(!0),[d,u]=(0,i.useState)(""),p=(0,i.useCallback)(async()=>{o(!0);let e=await (0,l.SS)("/api/skills");if(e.ok){var n;t(e.data.skills),s(e.data.options),a(null!=(n=e.data.invalid)?n:[]),u("")}else u(e.message);o(!1)},[]);return(0,i.useEffect)(()=>{p()},[p]),{skills:e,options:n,invalid:r,loading:c,failed:d,reload:p,applySkills:t}}},35071:(e,t,n)=>{"use strict";n.d(t,{F:()=>s,Ie:()=>o,Oz:()=>a,RW:()=>p,SS:()=>l,eT:()=>i,m6:()=>c});let i={"Content-Type":"application/json"};async function l(e,t){try{let i,l=await fetch(e,t),s=await l.text();try{i=s?JSON.parse(s):void 0}catch(e){i=void 0}if(!l.ok){var n;let e=null!=i?i:{};return{ok:!1,status:l.status,message:null!=(n=e.error)?n:"HTTP ".concat(l.status),issues:Array.isArray(e.errors)?e.errors:[]}}return{ok:!0,data:i}}catch(e){return{ok:!1,status:0,message:e instanceof Error?e.message:"网络请求失败",issues:[]}}}let s="内置技能只读,随应用版本更新。可新建用户技能进行配置。";function r(e){return[...new Set((null!=e?e:[]).map(e=>e.trim()).filter(e=>e.length>0))]}function a(e){return"string"==typeof e?e:e.phrase}function c(e){return{id:e.id,enabled:e.enabled,match:{chapterDomain:e.match.chapterDomain,projectTypes:[...e.match.projectTypes],sectionKeywords:[...e.match.sectionKeywords],...e.match.sectionRegex?{sectionRegex:e.match.sectionRegex}:{}},requires:e.requires.map(e=>({...e})),structure:e.structure.map(e=>{var t;return{title:e.title,required:[...null!=(t=e.required)?t:[]]}}),forbidden:e.forbidden.map(a),knowledge:e.knowledge.map(e=>({kind:e.kind,...e.ids?{ids:[...e.ids]}:{},...e.note?{note:e.note}:{}})),acceptance:e.acceptance.map(e=>({kind:"llmChecklist",checklistItems:[...e.items]})),...void 0!==e.outputTitle?{outputTitle:e.outputTitle}:{},...e.chapterChecklist?{chapterChecklist:{...e.chapterChecklist,...e.chapterChecklist.sections?{sections:[...e.chapterChecklist.sections]}:{}}}:{}}}function o(){return{id:"skill-".concat(Date.now()),enabled:!0,match:{projectTypes:[],sectionKeywords:[]},requires:[{source:"boq",required:!1}],structure:[{}],forbidden:[],knowledge:[],acceptance:[{kind:"llmChecklist",checklistItems:[]}]}}function d(e){var t;return(null!=(t=e.ids)?t:[]).length>0}function u(e){var t;return(null!=(t=e.checklistItems)?t:[]).length>0}function p(e,t,n){var i,l,s,a,c,o,p,m,h,g;let k={chapterDomain:null==(i=e.match)?void 0:i.chapterDomain,projectTypes:[...null!=(o=null==(l=e.match)?void 0:l.projectTypes)?o:[]],sectionKeywords:r(null==(s=e.match)?void 0:s.sectionKeywords),...(null==(c=e.match)||null==(a=c.sectionRegex)?void 0:a.trim())?{sectionRegex:e.match.sectionRegex.trim()}:{}},v=(null!=(p=e.requires)?p:[]).filter(e=>{var t;return(null!=(t=e.key)?t:"").trim().length>0}).map(e=>{var t;return{key:(null!=(t=e.key)?t:"").trim(),source:e.source,required:!0===e.required}}),x=(null!=(m=e.structure)?m:[]).filter(e=>{var t;return(null!=(t=e.title)?t:"").trim().length>0}).map(e=>{var t;return{title:(null!=(t=e.title)?t:"").trim(),required:r(e.required)}}),y=(null!=(h=e.knowledge)?h:[]).filter(d).map(e=>{var t;return{kind:"processCard",ids:r(e.ids),...(null==(t=e.note)?void 0:t.trim())?{note:e.note.trim()}:{}}}),j=(null!=(g=e.acceptance)?g:[]).filter(u).map(e=>({kind:"llmChecklist",items:r(e.checklistItems),nonDeterministic:!0}));return{id:e.id.trim(),version:t,source:"user",enabled:!1!==e.enabled,match:k,requires:v,structure:x,forbidden:r(e.forbidden),knowledge:y,acceptance:j,...function(e){var t,n,i,l;let s=null!=(l=null==(t=e.outputTitle)?void 0:t.trim())?l:"",a=e.chapterChecklist,c={sections:r(null==a?void 0:a.sections),queries:r(null==a?void 0:a.queries),requiredFacts:r(null==a?void 0:a.requiredFacts),tableSections:r(null==a?void 0:a.tableSections),tableRequirements:r(null==a?void 0:a.tableRequirements),pinnedEvidenceFilePaths:r(null==a?void 0:a.pinnedEvidenceFilePaths)},o=!!(null==a||null==(n=a.purpose)?void 0:n.trim())||Object.values(c).some(e=>e.length>0);return{...s?{outputTitle:s}:{},...o?{chapterChecklist:{...(null==a||null==(i=a.purpose)?void 0:i.trim())?{purpose:a.purpose.trim()}:{},...Object.fromEntries(Object.entries(c).filter(e=>{let[,t]=e;return t.length>0}))}}:{}}}(e),...n?{examples:n}:{}}}},58690:(e,t,n)=>{"use strict";function i(e){var t,n,i;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{defaultPageSize:null!=(t=l.pageSize)?t:10,pageSizeOptions:null!=(n=l.pageSizeOptions)?n:[10,20,50,100],showSizeChanger:!0,showTotal:t=>{var n,i;return e(null!=(n=l.totalLabelKey)?n:"common.totalRows",null!=(i=l.totalLabelFallback)?i:"共 {count} 条").replace("{count}",String(t))},hideOnSinglePage:null!=(i=l.hideOnSinglePage)&&i,showQuickJumper:!1}}n.d(t,{B:()=>i})},81828:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>q});var i=n(65321),l=n(97109),s=n(86109),r=n(48399),a=n(17807),c=n(68787),o=n(33442),d=n(85114),u=n(85493),p=n(42700),m=n(84253),h=n(38964),g=n(11702),k=n(44534),v=n(32965),x=n(7851),y=n(54746),j=n(8263),f=n(99650),b=n(58209),w=n(39507),A=n(58690),S=n(33061),C=n(35071);let{Paragraph:T,Text:I}=r.A;function q(){let{message:e}=a.A.useApp(),t=(0,w.Vr)(),n=(0,s.useRouter)(),r=(0,S.G)(),{skills:q,options:N}=r,R=(0,l.useMemo)(()=>{var e,t,n;return new Map([...null!=(e=null==N?void 0:N.chapterDomains)?e:[],...null!=(t=null==N?void 0:N.projectTypes)?t:[],...null!=(n=null==N?void 0:N.factSources)?n:[]].map(e=>[e.value,e.label]))},[N]),z=async(t,n)=>{var i,l;let s=await (0,C.SS)("/api/skills/".concat(encodeURIComponent(t.id)),{method:"PUT",headers:C.eT,body:JSON.stringify({...t,enabled:n})});if(!s.ok)return void e.error("切换启用状态失败:".concat(s.message));i=s.data,r.applySkills(i.skills),(null==(l=i.warnings)?void 0:l.length)&&e.warning("已保存,但有 ".concat(i.warnings.length," 条提示:").concat(i.warnings.map(e=>e.message).join(";")))},E=async n=>{let i=await (0,C.SS)("/api/skills/".concat(encodeURIComponent(n.id)),{method:"DELETE"});if(!i.ok)return void e.error("删除失败:".concat(i.message));r.applySkills(i.data.skills),e.success(t("common.success"))},O=e=>{n.push("/skills/".concat(encodeURIComponent(e.id)))};return(0,i.jsx)("div",{className:"space-y-6 animateFadeIn",children:(0,i.jsxs)(c.A,{title:(0,i.jsxs)(o.A,{children:[(0,i.jsx)(x.A,{}),t("nav.skills")]}),className:"rounded-2xl mb-6",extra:(0,i.jsx)(d.Ay,{type:"primary",icon:(0,i.jsx)(y.A,{}),onClick:()=>{n.push("/skills/new")},disabled:!N,className:"rounded-xl",children:"新建技能"}),children:[(0,i.jsx)(T,{type:"secondary",className:"!mb-4",children:"技能提供专业主题、资料需求、工艺知识和写作核对提示,按章域、工程类型与具体对象选用。 本次任务的实际章节职责由主控规划确定。保存时会校验技能字段与工艺卡引用。"}),r.invalid.length>0&&(0,i.jsx)(u.A,{type:"warning",className:"mb-4",showIcon:!0,message:"技能库有 ".concat(r.invalid.length," 个无法读取的文件(不影响其余技能)"),description:(0,i.jsx)("div",{className:"text-xs",children:r.invalid.map(e=>(0,i.jsxs)("div",{children:[e.file,":",e.reason]},e.file))})}),r.failed&&!r.loading&&(0,i.jsx)(u.A,{type:"error",showIcon:!0,className:"mb-4",message:"技能库读取失败",description:"".concat(r.failed,';这不是"技能库为空",请核对服务端状态后重试。')}),r.loading?(0,i.jsx)("div",{className:"py-10 text-center",children:(0,i.jsx)(p.A,{})}):0===q.length?r.failed?null:(0,i.jsx)(m.A,{description:"技能库为空"}):(0,i.jsx)(h.A,{dataSource:q,rowKey:"id",pagination:(0,A.B)(t),onRow:e=>({onClick:()=>O(e),style:{cursor:"pointer"}}),columns:[{title:"技能",dataIndex:"displayName",render:e=>(0,i.jsx)(I,{strong:!0,children:e})},{title:"章域",width:140,render:(e,t)=>{var n;return(0,i.jsx)(g.A,{color:"blue",children:null!=(n=R.get(t.match.chapterDomain))?n:t.match.chapterDomain})}},{title:"工程类型",width:180,render:(e,t)=>0===t.match.projectTypes.length?(0,i.jsx)(I,{type:"secondary",className:"text-xs",children:"全类型"}):(0,i.jsx)(o.A,{size:4,wrap:!0,children:t.match.projectTypes.map(e=>{var t;return(0,i.jsx)(g.A,{children:null!=(t=R.get(e))?t:e},e)})})},{title:"主题 / 专业提示",width:180,render:(e,t)=>(0,i.jsxs)(o.A,{size:4,children:[(0,i.jsxs)(g.A,{children:[t.structure.length," 个主题"]}),(0,i.jsxs)(g.A,{color:"green",children:[t.acceptance.length," 组提示"]})]})},{title:"来源",width:100,render:(e,t)=>t.builtIn?(0,i.jsx)(g.A,{color:"gold",title:C.F,children:"内置"}):(0,i.jsx)(g.A,{children:"用户"})},{title:"启用",width:90,render:(e,t)=>(0,i.jsx)("div",{onClick:e=>e.stopPropagation(),className:"inline-flex",children:(0,i.jsx)(k.A,{size:"small",checked:t.enabled,disabled:t.builtIn,title:t.builtIn?C.F:void 0,onChange:e=>{z(t,e)}})})},{title:"操作",width:150,render:(e,l)=>(0,i.jsxs)(o.A,{size:0,onClick:e=>e.stopPropagation(),children:[(0,i.jsx)(d.Ay,{size:"small",type:"text",icon:(0,i.jsx)(j.A,{}),title:"预览",onClick:()=>O(l)}),(0,i.jsx)(d.Ay,{size:"small",type:"text",icon:(0,i.jsx)(f.A,{}),disabled:l.builtIn,title:l.builtIn?C.F:t("common.edit"),onClick:()=>{n.push("/skills/".concat(encodeURIComponent(l.id),"/edit"))}}),(0,i.jsx)(v.A,{title:"确认删除该技能?",onConfirm:()=>{E(l)},disabled:l.builtIn,children:(0,i.jsx)(d.Ay,{size:"small",type:"text",danger:!0,icon:(0,i.jsx)(b.A,{}),disabled:l.builtIn,title:l.builtIn?C.F:t("common.delete")})})]})}]})]})})}}},e=>{e.O(0,[324,280,665,569,499,787,338,964,425,636,593,792],()=>e(e.s=25981)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[979],{9137:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>C});var a=r(9750),s=r(97109),o=r(42644),l=r(10252),n=r(74567),c=r(48921),i=r(98379),d=r(3638),x=r(632),g=r(34475),m=r(52093),p=r(60815),u=r(5741);let h=null,f=e=>e(),v=[],b={};function w(){let{getContainer:e,duration:t,rtl:r,maxCount:a,top:s,stack:o}=b,l=e?.()||document.body;return{getContainer:()=>l,duration:t,rtl:r,maxCount:a,top:s,stack:o}}let y=s.forwardRef((e,t)=>{let{messageConfig:r,sync:a}=e,{getPrefixCls:o}=(0,s.useContext)(n.QO),c=b.prefixCls||o("message"),i=(0,s.useContext)(l.B),[d,x]=(0,p.y)({...r,prefixCls:c,...i.message});return s.useImperativeHandle(t,()=>{let e={...d};return Object.keys(e).forEach(t=>{e[t]=(...e)=>(a(),d[t].apply(d,e))}),{instance:e,sync:a}}),x}),j=s.forwardRef((e,t)=>{let[r,a]=s.useState(w),o=()=>{a(w)};s.useEffect(o,[]);let l=(0,c.cr)(),n=l.getRootPrefixCls(),i=l.getIconPrefixCls(),d=l.getTheme(),x=s.createElement(y,{ref:t,sync:o,messageConfig:r});return s.createElement(c.Ay,{prefixCls:n,iconPrefixCls:i,theme:d},l.holderRender?l.holderRender(x):x)}),N=()=>{if(!h){let e=document.createDocumentFragment(),t={fragment:e};h=t,f(()=>{(0,o.XX)(s.createElement(j,{ref:e=>{let{instance:r,sync:a}=e||{};Promise.resolve().then(()=>{!t.instance&&r&&(t.instance=r,t.sync=a,N())})}}),e)});return}h.instance&&(v.forEach(e=>{let{type:t,skipped:r}=e;if(!r)switch(t){case"open":f(()=>{let t=h.instance.open({...b,...e.config});t?.then(e.resolve),e.setCloseFn(t)});break;case"destroy":f(()=>{h?.instance.destroy(e.key)});break;default:f(()=>{var r;let s=(r=h.instance)[t].apply(r,(0,a.A)(e.args));s?.then(e.resolve),e.setCloseFn(s)})}}),v=[])},A={open:function(e){let t=(0,u.E)(t=>{let r,a={type:"open",config:e,resolve:t,setCloseFn:e=>{r=e}};return v.push(a),()=>{r?f(()=>{r()}):a.skipped=!0}});return N(),t},destroy:e=>{v.push({type:"destroy",key:e}),N()},config:function(e){b={...b,...e},f(()=>{h?.sync?.()})},useMessage:p.A,_InternalPanelDoNotUseOrYouWillBeFired:g.Ay,_InternalListDoNotUseOrYouWillBeFired:e=>{let{items:t,classNames:r,style:a}=e,{getPrefixCls:o}=(0,n.TP)("message"),l=o("message"),c=(0,x.A)(l),[p,u]=(0,m.A)(l,c),h=`${l}-notice`,f=t.map(e=>{let{content:t,duration:r,key:a,type:s}=e,o=s?`${h}-icon-${s}`:void 0;return{key:a,duration:r,icon:(0,g.HC)(s),title:t,className:`${h}-${s}`,classNames:{wrapper:`${l}-${s}`,icon:o}}});return s.createElement(i.qb,{prefixCls:l,placement:"top",configList:f,className:(0,d.$)(p,u,c),classNames:{...r,wrapper:r?.wrapper,title:r?.title},style:a,stack:!1})}};["success","info","warning","error","loading"].forEach(e=>{A[e]=(...t)=>(function(e,t){(0,c.cr)();let r=(0,u.E)(r=>{let a,s={type:e,args:t,resolve:r,setCloseFn:e=>{a=e}};return v.push(s),()=>{a?f(()=>{a()}):s.skipped=!0}});return N(),r})(e,t)});let C=A},12446:(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:"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},name:"info-circle",theme:"outlined"}},14995:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"}},29606:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>S});var a=r(65321),s=r(97109),o=r(43220),l=r.n(o),n=r(48399),c=r(9137),i=r(11702),d=r(88762),x=r(85114),g=r(7576),m=r(32965),p=r(38964),u=r(84253),h=r(47210),f=r(30486),v=r(99811),b=r(58209),w=r(12446),y=r(88483);function j(){return(j=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let N=s.forwardRef((e,t)=>s.createElement(y.A,j({},e,{ref:t,icon:w.A})));var A=r(39507),C=r(6578),k=r(58690);let{Text:T}=n.A;function S(){let e=(0,A.Vr)(),[t,r]=(0,s.useState)([]),[o,n]=(0,s.useState)(!0),[w,y]=(0,s.useState)(""),j=async()=>{n(!0);try{r((await (0,C.oH)(500)).logs)}catch(e){c.Ay.error(e instanceof Error?e.message:"加载日志失败")}finally{n(!1)}};(0,s.useEffect)(()=>{j()},[]);let S=(0,s.useMemo)(()=>{let e=w.trim().toLowerCase();return e?t.filter(t=>[t.id,t.level,t.source,t.functionName,t.message,t.stack].filter(Boolean).some(t=>String(t).toLowerCase().includes(e))):t},[w,t]),O=[{title:e("logs.time"),dataIndex:"createdAt",width:160,render:e=>(0,a.jsx)("span",{className:"text-xs text-[var(--colorTextSecondary)] font-mono",children:new Date(e).toLocaleString()})},{title:e("logs.level"),dataIndex:"level",width:80,render:e=>(0,a.jsx)(i.A,{color:"error"===e?"error":"warn"===e?"warning":"blue",className:"m-0 text-[10px] uppercase tracking-wider border-0",children:e})},{title:e("logs.source"),dataIndex:"source",width:220,render:e=>(0,a.jsx)("span",{className:"text-xs font-mono text-[var(--colorTextSecondary)] break-all",children:e})},{title:e("logs.message"),dataIndex:"message",render:e=>(0,a.jsx)("div",{className:"text-sm text-[var(--colorText)] max-w-3xl whitespace-normal break-words leading-relaxed",title:e,children:e})},{title:e("logs.requestId"),dataIndex:"id",width:120,render:e=>(0,a.jsx)(T,{copyable:!0,className:"text-[10px] font-mono text-[var(--colorTextTertiary)]",children:e.slice(0,8)})}];return o&&0===t.length?(0,a.jsxs)("div",{className:"space-y-8 animateFadeIn",children:[(0,a.jsx)(d.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,a.jsx)(d.A,{active:!0,paragraph:{rows:12}})]}):(0,a.jsxs)("div",{className:"h-[calc(100vh_-_140px)] flex flex-col",children:[(0,a.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4 pb-4 border-b border-[var(--borderColor)] shrink-0 animateFadeIn",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-bold tracking-tight text-[var(--colorText)] mb-1",children:e("nav.systemLogs")}),(0,a.jsx)("p",{className:"text-xs text-[var(--colorTextSecondary)]",children:e("logs.monitorSystem")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(l(),{href:"/settings",children:(0,a.jsx)(x.Ay,{icon:(0,a.jsx)(h.A,{}),className:"shadow-none",children:e("logs.backToSettings")})}),(0,a.jsx)(g.A,{placeholder:e("logs.searchLogs"),prefix:(0,a.jsx)(f.A,{className:"text-[var(--colorTextTertiary)]"}),value:w,onChange:e=>y(e.target.value),allowClear:!0,className:"w-[260px] bg-[var(--colorBgHover)] border-transparent"}),(0,a.jsx)(x.Ay,{icon:(0,a.jsx)(v.A,{}),loading:o,onClick:()=>void j(),className:"shadow-none",children:e("logs.refresh")}),(0,a.jsx)(m.A,{title:e("logs.clearConfirm"),onConfirm:()=>{(async()=>{let t=await (0,C.hH)();c.Ay.success(e("logs.clearedFiles").replace("{count}",String(t.deleted))),await j()})()},children:(0,a.jsx)(x.Ay,{danger:!0,icon:(0,a.jsx)(b.A,{}),className:"shadow-none border-transparent",children:e("logs.clear")})})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 py-3 px-1 text-xs text-[var(--colorTextTertiary)] shrink-0 animateFadeIn stagger-1",children:[(0,a.jsx)(N,{})," ",e("logs.logStorageInfo")," ",(0,a.jsx)("code",{className:"bg-[var(--colorBgHover)] px-1 rounded",children:"~/.customize-agent/logs/errors.jsonl"}),". ",e("logs.maxLoaded")]}),(0,a.jsx)("div",{className:"flex-1 overflow-hidden bg-[var(--colorBg)] rounded-lg animateFadeIn stagger-2",children:(0,a.jsx)(p.A,{rowKey:"id",loading:o,dataSource:S,columns:O,size:"middle",className:"h-full modern-table tableFillHeight",locale:{emptyText:(0,a.jsx)(u.A,{description:e("logs.noLogsFound"),className:"py-20"})},pagination:(0,k.B)(e),rowClassName:"hover:bg-[var(--colorBgHover)] transition-colors cursor-pointer",expandable:{expandedRowRender:t=>(0,a.jsxs)("div",{className:"flex flex-col gap-4 p-4 bg-[var(--colorBgHover)]/50 border-t border-[var(--borderColor)]",children:[t.functionName&&(0,a.jsxs)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:[(0,a.jsx)("span",{className:"font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mr-2",children:e("logs.function")}),(0,a.jsx)("code",{className:"font-mono bg-[var(--colorBgElevated)] px-2 py-1 rounded",children:t.functionName})]}),t.request&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.requestContext")}),(0,a.jsx)("pre",{className:"text-xs font-mono bg-[var(--colorBgElevated)] p-3 rounded-md border border-[var(--borderColor)] whitespace-pre-wrap break-all m-0 text-[var(--colorTextSecondary)]",children:JSON.stringify(t.request,null,2)})]}),void 0!==t.meta&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.metadata")}),(0,a.jsx)("pre",{className:"text-xs font-mono bg-[var(--colorBgElevated)] p-3 rounded-md border border-[var(--borderColor)] whitespace-pre-wrap break-all m-0 text-[var(--colorTextSecondary)]",children:JSON.stringify(t.meta,null,2)})]}),t.stack&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.stackTrace")}),(0,a.jsx)("pre",{className:"text-[11px] font-mono bg-[#1e1e1e] text-[#d4d4d4] p-3 rounded-md overflow-x-auto m-0 leading-relaxed",children:t.stack})]})]})}})})]})}},39214:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/system/logs",function(){return r(29606)}])},47210:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});var a=r(97109),s=r(58970),o=r(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let n=a.forwardRef((e,t)=>a.createElement(o.A,l({},e,{ref:t,icon:s.A})))},58690:(e,t,r)=>{"use strict";function a(e){var t,r,a;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{defaultPageSize:null!=(t=s.pageSize)?t:10,pageSizeOptions:null!=(r=s.pageSizeOptions)?r:[10,20,50,100],showSizeChanger:!0,showTotal:t=>{var r,a;return e(null!=(r=s.totalLabelKey)?r:"common.totalRows",null!=(a=s.totalLabelFallback)?a:"共 {count} 条").replace("{count}",String(t))},hideOnSinglePage:null!=(a=s.hideOnSinglePage)&&a,showQuickJumper:!1}}r.d(t,{B:()=>a})},58970:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"arrow-left",theme:"outlined"}},99811:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});var a=r(97109),s=r(14995),o=r(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}let n=a.forwardRef((e,t)=>a.createElement(o.A,l({},e,{ref:t,icon:s.A})))}},e=>{e.O(0,[324,280,665,576,499,338,964,636,593,792],()=>e(e.s=39214)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-1{top:var(--spacing)}.top-3{top:calc(var(--spacing) * 3)}.top-5{top:calc(var(--spacing) * 5)}.left-0{left:0}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.col-span-2{grid-column:span 2/span 2}.row-1{grid-row:1}.row-17{grid-row:17}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.\!m-0{margin:0!important}.m-0{margin:0}.m-10{margin:calc(var(--spacing) * 10)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.\!my-3{margin-block:calc(var(--spacing) * 3)!important}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-4{margin-right:calc(var(--spacing) * 4)}.\!mb-0{margin-bottom:0!important}.\!mb-4{margin-bottom:calc(var(--spacing) * 4)!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[22px\]{height:22px}.h-\[calc\(100vh-140px\)\],.h-\[calc\(100vh_-_140px\)\]{height:calc(100vh - 140px)}.h-auto{height:auto}.h-full{height:100%}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-\[190px\]{max-height:190px}.max-h-\[260px\]{max-height:260px}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0}.min-h-\[66px\]{min-height:66px}.min-h-\[140px\]{min-height:140px}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-\[1px\]{width:1px}.w-\[22px\]{width:22px}.w-\[260px\]{width:260px}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[78\%\]{max-width:78%}.max-w-\[120px\]{max-width:120px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[360px\]{max-width:360px}.max-w-\[420px\]{max-width:420px}.max-w-\[520px\]{max-width:520px}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-64{min-width:calc(var(--spacing) * 64)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-0{flex-basis:0}.basis-9{flex-basis:calc(var(--spacing) * 9)}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[22px_minmax\(0\,1fr\)_auto\]{grid-template-columns:22px minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--borderColor\)\]{border-color:var(--borderColor)}.border-\[var\(--borderColorStrong\)\]{border-color:var(--borderColorStrong)}.border-\[var\(--canvasSectionBorder\)\]{border-color:var(--canvasSectionBorder)}.border-\[var\(--colorBorderSecondary\)\]{border-color:var(--colorBorderSecondary)}.border-\[var\(--colorDanger\)\]\/20{border-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--colorDanger\)\]\/20{border-color:color-mix(in oklab,var(--colorDanger) 20%,transparent)}}.border-\[var\(--colorDanger\)\]\/30{border-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--colorDanger\)\]\/30{border-color:color-mix(in oklab,var(--colorDanger) 30%,transparent)}}.border-\[var\(--colorWarning\)\]{border-color:var(--colorWarning)}.border-\[…\]{border-color:…}.border-blue-200{border-color:var(--color-blue-200)}.border-transparent{border-color:#0000}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[var\(--borderColor\)\]{background-color:var(--borderColor)}.bg-\[var\(--colorAccent\)\]{background-color:var(--colorAccent)}.bg-\[var\(--colorBg\)\]{background-color:var(--colorBg)}.bg-\[var\(--colorBgContainer\)\]{background-color:var(--colorBgContainer)}.bg-\[var\(--colorBgElevated\)\]{background-color:var(--colorBgElevated)}.bg-\[var\(--colorBgHover\)\],.bg-\[var\(--colorBgHover\)\]\/50{background-color:var(--colorBgHover)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBgHover\)\]\/50{background-color:color-mix(in oklab,var(--colorBgHover) 50%,transparent)}}.bg-\[var\(--colorBgSecondary\)\]\/30{background-color:var(--colorBgSecondary)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBgSecondary\)\]\/30{background-color:color-mix(in oklab,var(--colorBgSecondary) 30%,transparent)}}.bg-\[var\(--colorBgSelected\)\]{background-color:var(--colorBgSelected)}.bg-\[var\(--colorBorderSecondary\)\]{background-color:var(--colorBorderSecondary)}.bg-\[var\(--colorBrand\)\]\/5{background-color:var(--colorBrand)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBrand\)\]\/5{background-color:color-mix(in oklab,var(--colorBrand) 5%,transparent)}}.bg-\[var\(--colorBrand\)\]\/10{background-color:var(--colorBrand)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBrand\)\]\/10{background-color:color-mix(in oklab,var(--colorBrand) 10%,transparent)}}.bg-\[var\(--colorDanger\)\],.bg-\[var\(--colorDanger\)\]\/5{background-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorDanger\)\]\/5{background-color:color-mix(in oklab,var(--colorDanger) 5%,transparent)}}.bg-\[var\(--colorDanger\)\]\/10{background-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorDanger\)\]\/10{background-color:color-mix(in oklab,var(--colorDanger) 10%,transparent)}}.bg-\[var\(--colorFillAlter\)\]{background-color:var(--colorFillAlter)}.bg-\[var\(--colorFillQuaternary\)\]{background-color:var(--colorFillQuaternary)}.bg-\[var\(--colorFillSecondary\)\]{background-color:var(--colorFillSecondary)}.bg-\[var\(--colorOk\)\]{background-color:var(--colorOk)}.bg-\[var\(--colorText\)\]{background-color:var(--colorText)}.bg-\[var\(--colorTextTertiary\)\]{background-color:var(--colorTextTertiary)}.bg-\[var\(--colorWarning\)\]{background-color:var(--colorWarning)}.bg-\[var\(--colorWarningBg\)\]{background-color:var(--colorWarningBg)}.bg-black{background-color:var(--color-black)}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/50{background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pr-1{padding-right:var(--spacing)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#d4d4d4\]{color:#d4d4d4}.text-\[var\(--colorAccent\)\]{color:var(--colorAccent)}.text-\[var\(--colorBg\)\]{color:var(--colorBg)}.text-\[var\(--colorBrand\)\]{color:var(--colorBrand)}.text-\[var\(--colorDanger\)\]{color:var(--colorDanger)}.text-\[var\(--colorError\)\]{color:var(--colorError)}.text-\[var\(--colorInfo\)\]{color:var(--colorInfo)}.text-\[var\(--colorOk\)\]{color:var(--colorOk)}.text-\[var\(--colorPrimary\)\]{color:var(--colorPrimary)}.text-\[var\(--colorSuccess\)\]{color:var(--colorSuccess)}.text-\[var\(--colorText\)\]{color:var(--colorText)}.text-\[var\(--colorTextSecondary\)\]{color:var(--colorTextSecondary)}.text-\[var\(--colorTextTertiary\)\]{color:var(--colorTextTertiary)}.text-\[var\(--colorWarn\)\]{color:var(--colorWarn)}.text-\[var\(--colorWarning\)\]{color:var(--colorWarning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[var\(--shadowSurface\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadowSurface\)\]{--tw-shadow:var(--shadowSurface)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.block-7{block-size:calc(var(--spacing) * 7)}.block-9{block-size:calc(var(--spacing) * 9)}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.even\:bg-\[var\(--colorFillAlter\)\]:nth-child(2n){background-color:var(--colorFillAlter)}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-\[var\(--borderColorStrong\)\]:hover{border-color:var(--borderColorStrong)}.hover\:border-\[var\(--colorTextTertiary\)\]:hover{border-color:var(--colorTextTertiary)}.hover\:bg-\[var\(--colorBgContainer\)\]:hover{background-color:var(--colorBgContainer)}.hover\:bg-\[var\(--colorBgHover\)\]:hover{background-color:var(--colorBgHover)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-\[var\(--colorText\)\]:hover{color:var(--colorText)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[var\(--shadowSurfaceHover\)\]:hover{--tw-shadow:var(--shadowSurfaceHover)}.hover\:shadow-\[var\(--shadowSurfaceHover\)\]:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}}.focus\:bg-\[var\(--colorBgContainer\)\]:focus{background-color:var(--colorBgContainer)}.focus\:bg-transparent:focus{background-color:#0000}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}@media (min-width:40rem){.sm\:w-44{width:calc(var(--spacing) * 44)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[132px_minmax\(0\,1fr\)\]{grid-template-columns:132px minmax(0,1fr)}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:pt-0\.5{padding-top:calc(var(--spacing) * .5)}.sm\:pt-1{padding-top:var(--spacing)}.sm\:pb-0{padding-bottom:0}}@media (min-width:48rem){.md\:w-auto{width:auto}.md\:flex-none{flex:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-white{background-color:var(--color-white)}.dark\:text-black{color:var(--color-black)}}}:root{--mainInnerPadY:32px;--mainInnerPadX:clamp(24px,4vw,48px)}@media (max-width:900px){:root{--mainInnerPadY:20px;--mainInnerPadX:20px}}@media (max-width:640px){:root{--mainInnerPadY:12px;--mainInnerPadX:12px}}.canvasRoot{flex:1;min-height:0;position:relative;overflow:hidden}.mainInner.mainInnerCanvas{flex-direction:column;padding:0;display:flex}.canvasStage{background:var(--canvasBg);-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}:root{--colorBg:#fff;--colorBgElevated:#fff;--colorBgSecondary:#fbfbfc;--colorBgHover:#f6f6f7;--colorBgSelected:#eff6ff;--colorText:#171717;--colorTextSecondary:#737373;--colorTextTertiary:#a3a3a3;--colorBrand:#06c;--colorBrandHover:#0052a3;--colorBrand2:#171717;--colorDanger:#e11d48;--colorOk:#16a34a;--colorWarn:#f59e0b;--colorInfo:#2563eb;--colorPrimary:#007aff;--colorAccent:#007aff;--colorSuccess:#34c759;--colorWarning:#ff9500;--colorError:#ff3b30;--colorBgContainer:#fff;--colorFillAlter:#00000004;--colorFillSecondary:#00000008;--colorFillTertiary:#00000006;--colorFillQuaternary:#00000004;--colorBorderSecondary:#3c3c431f;--colorTextQuaternary:#3c3c432e;--colorWarningBg:#fff8e6;--colorSuccessBg:#e8f9ee;--colorInfoBg:#e8f2ff;--colorErrorBg:#ffeceb;--glassBg:#ffffffd9;--glassBlur:saturate(180%) blur(16px);--borderColor:#00000014;--borderColorStrong:#00000026;--borderColorSelected:#3b82f6;--borderSoft:#0000000f;--textSecondary:#737373;--surfaceElevated:#fff;--shadowSoft:0 0 4px #00000008,0 0 12px #0000000a;--shadowCard:0 0 4px #0000000d,0 0 16px #0000000d;--shadowButton:0 1px 2px #0000000d;--shadowSurface:0 0 4px #0000000d,0 0 12px #0000000b;--shadowSurfaceHover:0 0 6px #00000012,0 0 18px #0000000f;--radiusSm:6px;--radiusMd:10px;--radiusLg:14px;--radiusPill:9999px;--sidebarWidth:260px;--fontSans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--canvasBg:transparent;--canvasGridDot:#00000017;--canvasNodeBg:#fff;--canvasNodeBorder:#0000001a;--canvasNodeShadow:0 1px 2px #0000000d,0 2px 8px #0000000a;--canvasNodeSelected:#007aff;--canvasNodeAffected:#ff9500;--canvasEdge:#3c3c4359;--canvasEdgeActive:#007aff;--canvasEdgeWarn:#ff9500;--canvasEdgeAffected:#ff3b30;--canvasSectionBg:#fff9;--canvasFloatBg:#ffffffd1;--canvasPanelBg:#fffffff5;--canvasSectionBorder:#00000014;--canvasBubbleBg:#fffffff7;--canvasBubbleBorder:#0000001a;--canvasBubbleText:#1c1c1e;--canvasBubbleShadow:0 2px 8px #00000024}.dark{--colorBg:#000;--colorBgElevated:#0a0a0a;--colorBgSecondary:#121212;--colorBgHover:#1a1a1a;--colorBgSelected:#3b82f626;--colorText:#ededed;--colorTextSecondary:#a3a3a3;--colorTextTertiary:#737373;--colorBrand:#3b82f6;--colorBrandHover:#60a5fa;--colorBrand2:#d4d4d4;--colorDanger:#f43f5e;--colorOk:#22c55e;--colorWarn:#fbbf24;--colorInfo:#3b82f6;--colorPrimary:#0a84ff;--colorAccent:#0a84ff;--colorSuccess:#30d158;--colorWarning:#ff9f0a;--colorError:#ff453a;--colorBgContainer:#2c2c2ec7;--colorFillAlter:#ffffff08;--colorFillSecondary:#ffffff0f;--colorFillTertiary:#ffffff0a;--colorFillQuaternary:#ffffff08;--colorBorderSecondary:#ffffff1a;--colorTextQuaternary:#ebebf53d;--colorWarningBg:#ff9f0a1f;--colorSuccessBg:#30d1581f;--colorInfoBg:#0a84ff1f;--colorErrorBg:#ff453a1f;--glassBg:#000000d9;--borderColor:#ffffff1f;--borderColorStrong:#fff3;--borderColorSelected:#60a5fa;--borderSoft:#ffffff14;--textSecondary:#a3a3a3;--surfaceElevated:#1c1c1e;--shadowSoft:0 0 4px #00000047,0 0 12px #0006;--shadowCard:0 0 4px #0000005c,0 0 16px #0006;--shadowButton:0 1px 2px #0000004d;--shadowSurface:0 0 4px #0000005c,0 0 12px #0000004d;--shadowSurfaceHover:0 0 6px #00000070,0 0 18px #0000005c;--canvasBg:transparent;--canvasGridDot:#ffffff1a;--canvasNodeBg:#1c1c1e;--canvasNodeBorder:#ffffff24;--canvasNodeShadow:0 1px 2px #0006,0 2px 10px #00000059;--canvasNodeSelected:#0a84ff;--canvasNodeAffected:#ff9f0a;--canvasEdge:#ebebf552;--canvasEdgeActive:#0a84ff;--canvasEdgeWarn:#ff9f0a;--canvasEdgeAffected:#ff453a;--canvasSectionBg:#1c1c1e99;--canvasFloatBg:#1c1c1ed1;--canvasPanelBg:#1c1c1ef5;--canvasSectionBorder:#ffffff1a;--canvasBubbleBg:#2c2c2ef5;--canvasBubbleBorder:#ffffff29;--canvasBubbleText:#f2f2f7;--canvasBubbleShadow:0 2px 10px #00000080}.canvasInputBar,.canvasToolbar{pointer-events:auto;z-index:2;position:absolute}.canvasInputPanel,.canvasToolbar{border:1px solid var(--canvasSectionBorder);background:var(--canvasFloatBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;box-shadow:0 6px 24px #00000014}.canvasToolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;top:12px}.canvasInputBar,.canvasToolbar{display:flex;left:12px;right:12px}.canvasInputBar{flex-direction:column;bottom:12px}.canvasInputPanel{padding:8px 12px}.canvasToolbar.canvasToolbarCollapsed{border-radius:999px;width:max-content;padding:4px;right:auto}.canvasToolbarBubble{color:var(--colorText);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:14px;transition:background .15s;display:inline-flex}.canvasToolbarBubble:hover{background:var(--colorBgHover)}.canvasToolbarBubble:focus-visible{outline:2px solid var(--colorAccent);outline-offset:1px}.canvasToolbar:not(.canvasToolbarCollapsed){animation:canvasPanelIn .16s ease-out}.canvasInputBar.canvasInputBarCollapsed{left:50%;right:auto;transform:translate(-50%)}.canvasInputPanel{animation:canvasPanelIn .18s ease-out}.canvasInputPanel.isLeaving{animation:canvasPanelOut .2s ease-in forwards}.canvasInputHandleRow{justify-content:center;margin-bottom:4px;display:flex}.canvasInputHandle{width:44px;height:18px;color:var(--colorTextTertiary);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.canvasInputHandle:hover{background:var(--colorBgHover);color:var(--colorText)}.canvasInputHandle:focus-visible{outline:2px solid var(--colorAccent);outline-offset:1px}.canvasInputHandle.isCollapsed{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);height:30px;color:var(--colorTextSecondary);box-shadow:0 6px 24px #0000001f}.canvasInputHandle.isCollapsed:hover{color:var(--colorText);transform:scale(1.06)}@keyframes canvasPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes canvasPanelOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(10px)}}.nodeInfoLayer{z-index:4;border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 32px #0000001f,0 2px 6px #0000000f}.nodeInfoHeader{border-bottom:1px solid var(--colorBorderSecondary);align-items:center;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.nodeInfoHeaderIcon{color:var(--colorTextSecondary);display:inline-flex}.nodeInfoClose{color:var(--colorTextTertiary)}.nodeInfoClose:hover{color:var(--colorText)}.nodeInfoActions{background:var(--colorFillQuaternary,var(--colorFillAlter));border-radius:8px;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:8px;display:flex}.nodeInfoPanel{width:min(460px,92vw);min-height:0;max-height:100%;padding:12px 14px;overflow:auto}.nodeInfoPanel .ant-descriptions-item-label{white-space:nowrap;width:92px;color:var(--colorTextSecondary)}.nodeInfoPanel .ant-tabs-nav{margin-bottom:12px}.nodeInfoRepair{border:1px solid var(--canvasNodeAffected);background:var(--colorWarningBg);border-radius:10px;margin-bottom:8px;padding:8px 10px}.nodeInfoRepairRun{border-top:1px dashed var(--colorSplit);flex-direction:column;gap:6px;padding-top:8px;display:flex}.nodeInfoRepairResult{background:var(--colorFillQuaternary);border-radius:6px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.canvasRecordsBall{pointer-events:auto}.canvasRecordsBallBtn{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);color:var(--colorText);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;font-size:18px;transition:transform .12s;display:flex;position:relative;box-shadow:0 6px 24px #0000001f}.canvasRecordsBallBtn:hover{transform:scale(1.06)}.canvasRecordsBallBtn:active{cursor:grabbing}.canvasRecordsBallBadge{background:var(--colorAccent);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:18px;height:18px;padding:0 4px;font-size:10px;line-height:18px;position:absolute;top:-2px;right:-2px}.canvasRecordsBallBadge.isZero{background:var(--colorFillTertiary);color:var(--colorTextSecondary)}.canvasRecordsPanel{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;overflow:hidden;box-shadow:0 10px 32px #0000001f,0 2px 6px #0000000f}.canvasRecordsLink{color:var(--colorAccent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.canvasRecordsLink:hover{text-decoration:underline}.canvasRecordsDelete{width:24px;height:24px;color:var(--colorTextTertiary);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:inline-flex}.canvasRecordsDelete:focus-visible,.canvasRecordsPanel>div>div:hover .canvasRecordsDelete{opacity:1}.canvasRecordsDelete:hover{color:var(--colorDanger);background:var(--colorBgHover)}.canvasRecordsDelete.isDisabled{cursor:not-allowed;opacity:0}.canvasRecordsPanel>div>div:hover .canvasRecordsDelete.isDisabled{opacity:.35}.canvasRecordsPanel>div>div:hover .canvasRecordsDelete.isDisabled:hover{color:var(--colorTextTertiary);background:0 0}.canvasRecordsDanger{border:1px solid var(--colorDanger);color:var(--colorDanger);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:3px 10px;font-size:12px;display:inline-flex}.canvasRecordsDanger:disabled{opacity:.4;cursor:not-allowed}.canvasRecordsDanger:not(:disabled):hover{background:var(--colorDanger);color:#fff}.canvasEdgeLayer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvasEdge{fill:none;stroke:var(--canvasEdge);stroke-width:1.4px}.canvasEdgeActive{stroke:var(--canvasEdgeActive);stroke-width:2px}.canvasEdgeWarn{stroke:var(--canvasEdgeWarn);stroke-width:1.8px;stroke-dasharray:5 4}.canvasEdgeAffected{stroke:var(--canvasEdgeAffected);stroke-width:2.2px}.canvasEdgeFlow{fill:none;stroke:var(--canvasEdgeActive);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:7 11;opacity:.85;animation:canvasEdgeFlow 1.1s linear infinite}@keyframes canvasEdgeFlow{0%{stroke-dashoffset:18px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.canvasEdgeFlow{stroke-dashoffset:0;animation:none}}.canvasAgentChip,.canvasAgentsChips{align-items:center}.canvasAgentChip{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);color:inherit;font:inherit;cursor:pointer;border-radius:999px;gap:4px;padding:1px 7px 1px 6px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.canvasAgentChip:hover{border-color:var(--canvasNodeSelected);box-shadow:0 0 0 2px var(--canvasNodeSelected)}.canvasAgentRole{border-radius:4px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 2px;font-size:10px;line-height:1;display:inline-flex}.canvasAgentRole[data-role=main]{background:var(--colorPrimary);color:#fff}.canvasAgentRole[data-role=sub]{background:var(--canvasSectionBorder);color:var(--colorTextSecondary)}.canvasAgentChipMain{border-color:var(--colorPrimary)}.canvasAgentAvatar{border:1.5px solid var(--canvasEdge);background:var(--canvasNodeBg);width:22px;height:22px;color:var(--colorTextSecondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.canvasAgentAvatarGlyph{font-size:12px;line-height:1;display:inline-flex}.canvasAgentAvatar[data-status=running]{border-color:var(--colorPrimary);color:var(--colorPrimary);animation:canvasAgentAvatarPulse 1.6s ease-in-out infinite}.canvasAgentAvatar[data-status=repairing]{border-color:var(--colorWarning);color:var(--colorWarning)}.canvasAgentAvatar[data-status=completed]{border-color:var(--colorSuccess);color:var(--colorSuccess)}@keyframes canvasAgentAvatarPulse{0%,to{box-shadow:0 0 #007aff59}50%{box-shadow:0 0 0 4px #007aff00}}@media (prefers-reduced-motion:reduce){.canvasAgentAvatar[data-status=running]{animation:none}}.canvasAgentIcon{color:var(--colorTextSecondary);display:inline-flex}.canvasAgentIcon[data-status=running]{color:var(--colorPrimary);animation:canvasNodePulse 1.6s ease-in-out infinite}.canvasAgentIcon[data-status=repairing]{color:var(--colorWarning)}.canvasAgentIcon[data-status=completed]{color:var(--colorSuccess)}.canvasAgentDetail{flex-direction:column;gap:6px;width:306px;display:flex}.canvasAgentDetailHead{align-items:center;gap:6px;display:flex}.canvasAgentDetailRow{align-items:baseline;gap:8px;display:flex}.canvasAgentDetailRow>:first-child{flex:0 0 46px}.canvasAgentDetailRow>:last-child{word-break:break-word;flex:1;min-width:0}.canvasAgentLocate{border:1px solid var(--canvasSectionBorder);color:var(--colorPrimary);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;margin-top:2px;padding:3px 10px;font-size:12px}.canvasAgentLocate:hover{background:var(--colorBgHover)}.canvasBubbleLayer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvasBubble{offset-distance:0;will-change:offset-distance,opacity;animation-name:canvasBubbleFly;animation-timing-function:cubic-bezier(.33,0,.67,1);animation-fill-mode:forwards;position:absolute;top:0;left:0}@keyframes canvasBubbleFly{0%{offset-distance:0;opacity:0}14%{opacity:1}80%{offset-distance:100%;opacity:1}to{offset-distance:100%;opacity:0}}.canvasBubbleStatic{offset-distance:55%;opacity:1;animation:none}.canvasBubbleBody{border:1px solid var(--canvasBubbleBorder);background:var(--canvasBubbleBg);max-width:220px;box-shadow:var(--canvasBubbleShadow);color:var(--canvasBubbleText);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;line-height:16px;display:inline-flex;transform:translate(-50%,-50%)}.canvasBubble[data-kind=dispatch] .canvasBubbleBody{border-color:var(--canvasEdgeActive)}.canvasBubble[data-kind=report] .canvasBubbleBody{border-color:var(--canvasEdge)}.canvasBubbleText{text-overflow:ellipsis;overflow:hidden}.canvasNode{border:1px solid var(--canvasNodeBorder);background:var(--canvasNodeBg);box-shadow:var(--canvasNodeShadow);cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;transition:box-shadow .15s,border-color .15s;display:flex;position:absolute}.canvasNode:hover{border-color:var(--canvasNodeSelected)}@keyframes canvasNodeFlash{0%,to{box-shadow:var(--canvasNodeShadow)}50%{box-shadow:0 0 0 4px var(--canvasNodeSelected),var(--canvasNodeShadow)}}.canvasNodeFlashed{animation:canvasNodeFlash .6s ease-in-out 2}.canvasNodeSelected{border-color:var(--canvasNodeSelected);box-shadow:0 0 0 2px var(--canvasNodeSelected),var(--canvasNodeShadow)}.canvasNodeAffected{border-color:var(--canvasNodeAffected);box-shadow:0 0 0 2px var(--canvasNodeAffected)}.canvasNodeHeader{align-items:center;gap:6px;min-width:0;display:flex}.canvasNodeIcon{color:var(--colorTextSecondary);display:inline-flex}.canvasNodeIcon[data-status=running]{color:var(--colorPrimary);animation:canvasNodePulse 1.6s ease-in-out infinite}.canvasNodeIcon[data-status=blocked],.canvasNodeIcon[data-status=failed]{color:var(--colorError)}.canvasNodeIcon[data-status=paused],.canvasNodeIcon[data-status=repairing]{color:var(--colorWarning)}.canvasNodeMeta{gap:2px}.canvasNodeMeta,.canvasNodeMetrics{align-items:center;min-width:0;display:flex}.canvasNodeMetrics{white-space:nowrap;flex-shrink:0;gap:8px;overflow:hidden}.canvasNodeMetrics>.ant-typography{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}@keyframes canvasNodePulse{0%,to{opacity:1}50%{opacity:.35}}@media (max-width:1024px){.nodeInfoPanel{width:92vw}}.deliverablePreview{width:100%}.deliverablePreviewStack{flex-direction:column;gap:10px;width:100%;display:flex}.deliverablePreviewMeta{border-bottom:1px solid var(--colorBorderSecondary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;display:flex}.deliverablePreviewPaper{border:1px solid var(--colorBorderSecondary);background:var(--colorBgContainer);border-radius:10px;width:100%;margin:0 auto;padding:28px 32px;box-shadow:0 1px 2px #00000008,0 8px 24px #0000000a}.deliverablePreviewBody{color:var(--colorText);text-align:justify;text-justify:inter-ideograph;overflow-wrap:anywhere;word-break:break-word;font-size:15px;line-height:1.9}.deliverablePreviewBody h1,.deliverablePreviewBody h2,.deliverablePreviewBody h3,.deliverablePreviewBody h4,.deliverablePreviewBody h5,.deliverablePreviewBody h6{text-align:left;margin:1.6em 0 .6em;font-weight:700;line-height:1.4}.deliverablePreviewBody h1{border-bottom:2px solid var(--colorBorder);padding-bottom:8px;font-size:1.6em}.deliverablePreviewBody h2{border-bottom:1px solid var(--colorBorderSecondary);padding-bottom:6px;font-size:1.35em}.deliverablePreviewBody h3{font-size:1.15em}.deliverablePreviewBody h4{font-size:1.02em}.deliverablePreviewBody h5,.deliverablePreviewBody h6{color:var(--colorTextSecondary);font-size:1em}.deliverablePreviewBody>:first-child{margin-top:0}.deliverablePreviewBody p{margin:.9em 0}.deliverablePreviewBody ol,.deliverablePreviewBody ul{margin:.9em 0;padding-left:1.8em}.deliverablePreviewBody ul{list-style:outside}.deliverablePreviewBody ol{list-style:decimal}.deliverablePreviewBody li{margin:.35em 0}.deliverablePreviewBody li::marker{color:var(--colorTextTertiary)}.deliverablePreviewBody li>ol,.deliverablePreviewBody li>ul{margin:.35em 0}.deliverablePreviewBody blockquote{border-left:3px solid var(--colorPrimaryBorder,var(--colorBorder));background:var(--colorFillQuaternary,var(--colorFillAlter));color:var(--colorTextSecondary);border-radius:0 6px 6px 0;margin:1em 0;padding:.6em 1.1em}.deliverablePreviewBody hr{border:none;border-top:1px solid var(--colorBorderSecondary);margin:1.8em 0}.deliverablePreviewBody a{color:var(--colorPrimary);text-underline-offset:2px;text-decoration:underline}.deliverablePreviewBody img{border-radius:6px;max-width:100%;height:auto}.deliverablePreviewBody strong{font-weight:600}.deliverablePreviewBody table{border-collapse:collapse;text-align:left;width:100%;margin:1.1em 0;font-size:13.5px}.deliverablePreviewBody td,.deliverablePreviewBody th{border:1px solid var(--colorBorderSecondary);vertical-align:top;padding:8px 10px}.deliverablePreviewBody th{background:var(--colorFillAlter);border-bottom:2px solid var(--colorBorder);white-space:nowrap;font-weight:600}.deliverablePreviewBody tbody tr:nth-child(2n) td{background:var(--colorFillQuaternary,transparent)}.deliverablePreviewBody code{background:var(--colorFillSecondary);font-family:var(--fontMono,ui-monospace,SFMono-Regular,Menlo,monospace);border-radius:4px;padding:.15em .4em;font-size:.9em}.deliverablePreviewBody pre{background:var(--colorFillAlter);text-align:left;border-radius:8px;margin:1em 0;padding:12px 14px;overflow-x:auto}.deliverablePreviewBody pre code{background:0 0;padding:0;font-size:12.5px}.deliverablePreviewEnd{border-top:1px dashed var(--colorBorderSecondary);flex-direction:column;gap:4px;width:100%;margin-top:28px;padding-top:14px;display:flex}*,:after,:before{box-sizing:border-box}html{font-family:var(--fontSans);background:var(--colorBg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.appShellPlaceholder,body{background:var(--colorBg);min-height:100vh}body{font-family:var(--fontSans);color:var(--colorText);margin:0}.ant-drawer-content-wrapper{min-width:320px;width:30%!important}a{color:inherit;text-decoration:none}*{scrollbar-width:thin;scrollbar-color:var(--borderColorStrong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--borderColorStrong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--colorTextTertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animateFadeIn{animation:fadeIn .4s cubic-bezier(.2,.8,.2,1) forwards}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.space-y-8>*+*{margin-top:32px}.space-y-6>*+*{margin-top:24px}.space-y-5>*+*{margin-top:20px}#nprogress{pointer-events:none}#nprogress .bar{background:var(--colorBrand);z-index:1031;width:100%;height:3px;position:fixed;top:0;left:0}#nprogress .peg{width:100px;height:100%;box-shadow:0 0 10px var(--colorBrand),0 0 5px var(--colorBrand);opacity:1;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px)}@media (max-width:1024px){:root{--sidebarWidth:200px}}@media (max-width:860px){:root{--sidebarWidth:72px}.sidebarLogo{justify-content:center;padding:16px}.sidebarItem span:not(.sidebarChevron),.sidebarLogoTitle{display:none}.sidebarItem{justify-content:center;padding:11px}.sidebarSubmenu{padding-left:0}.sidebarSubItem{padding-left:11px}.mainInner{padding:var(--mainInnerPadY) var(--mainInnerPadX);padding-bottom:calc(var(--mainInnerPadY) + env(safe-area-inset-bottom,0px))}.topbar{margin:10px 12px 0;padding:10px 16px}}@media (max-width:640px){.sidebar{top:6px;left:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px))}.mainContent{margin-left:72px}.mainInner{padding:var(--mainInnerPadY) var(--mainInnerPadX);padding-bottom:calc(var(--mainInnerPadY) + env(safe-area-inset-bottom,0px))}.topbar{border-radius:16px;margin:8px 8px 0;padding:8px 12px}}:root{--pageStickyTop:68px}.skillStickyHeader{top:var(--pageStickyTop);z-index:5;background:linear-gradient(to bottom,var(--colorBg) 82%,transparent);padding-bottom:12px;position:sticky}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebarWidth);display:flex;flex-direction:column;z-index:20;background:var(--colorBgSecondary);border-right:none;box-shadow:2px 0 8px rgba(0,0,0,.02);overflow:hidden;transition:width .3s cubic-bezier(.2,.8,.2,1),transform .3s ease}.sidebarCollapsedSelf{width:72px}.sidebarLogoRow{gap:4px;padding-right:8px}.sidebarLogo,.sidebarLogoRow{display:flex;align-items:center}.sidebarLogo{gap:12px;padding:24px 20px 20px;height:68px;overflow:hidden}.sidebarCollapsedSelf .sidebarLogo{justify-content:center;padding:24px 0 20px}.sidebarCollapsedSelf .sidebarLogoRow{padding-right:0}.sidebarCollapsedSelf .sidebarChevron,.sidebarCollapsedSelf .sidebarLabel,.sidebarCollapsedSelf .sidebarLogoTitle{display:none}.sidebarCollapsedSelf .sidebarItem{justify-content:center;padding:10px}.sidebarLogoTitle{font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;opacity:1;transition:opacity .2s ease;color:var(--colorText)}.sidebarNav{flex:1;overflow-y:auto;overflow-x:hidden;flex-direction:column;gap:2px}.sidebarItem,.sidebarNav{padding:8px 12px;display:flex}.sidebarItem{align-items:center;gap:10px;border-radius:var(--radiusSm);font-size:13.5px;font-weight:500;color:var(--colorTextSecondary);transition:all .15s ease;cursor:pointer;white-space:nowrap}.sidebarLabel{transition:opacity .2s ease}.sidebarItem:hover{background:var(--colorBgHover);color:var(--colorText)}.sidebarItemActive,.sidebarItemActive:hover{background:var(--colorBgElevated);color:var(--colorText);box-shadow:none}.dark .sidebarItemActive,.dark .sidebarItemActive:hover{box-shadow:none}.sidebarCollapseBtn{width:32px;height:32px;flex-shrink:0;border-radius:var(--radiusSm);border:1px solid transparent;background:transparent;color:var(--colorTextSecondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebarCollapseBtn:hover{background:var(--colorBgHover);color:var(--colorText)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 32px;background:var(--glassBg);backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur);border-bottom:none;box-shadow:0 1px 3px rgba(0,0,0,.02)}.topbarBtn{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:var(--radiusSm);border:1px solid transparent;background:transparent;color:var(--colorTextSecondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.topbarBtn:hover{background:var(--colorBgHover);color:var(--colorText)}.mainContent{margin-left:var(--sidebarWidth);flex:1;display:flex;flex-direction:column;min-height:100vh;background:var(--colorBg);transition:margin-left .3s cubic-bezier(.2,.8,.2,1)}.sidebarCollapsed .mainContent{margin-left:68px}.mainInner{flex:1;padding:var(--mainInnerPadY,32px) var(--mainInnerPadX,clamp(24px,4vw,48px));padding-bottom:calc(var(--mainInnerPadY, 32px) + env(safe-area-inset-bottom, 0px));width:100%;min-width:0;overflow-x:clip;transition:opacity .2s ease}.mainInner.pageTransitioning{opacity:.5;pointer-events:none}.ant-card{background:var(--colorBgContainer)!important;border:none!important;border-radius:20px!important;box-shadow:var(--shadowSurface)!important;margin-bottom:0!important}.ant-card-head{border-bottom:none!important;padding:0 24px!important;min-height:auto!important;margin-bottom:16px}.ant-card-small>.ant-card-head{padding:0 12px!important}.ant-card-head-title{font-size:16px!important;font-weight:600!important;padding:0!important}.tableFillHeight,.tableFillHeight>.ant-spin,.tableFillHeight>.ant-spin>.ant-spin-container{display:flex;flex-direction:column;min-height:0}.tableFillHeight>.ant-spin,.tableFillHeight>.ant-spin>.ant-spin-container{flex:1}.tableFillHeight .ant-table{flex:1 1 auto;min-height:0}.tableFillHeight .ant-table-container{display:flex;flex-direction:column;height:100%;min-height:0}.tableFillHeight .ant-table-body{max-height:none!important}.tableFillHeight .ant-table-body,.tableFillHeight .ant-table-content{flex:1;min-height:0;overflow:auto!important}.tableFillHeight .ant-table-pagination.ant-pagination{margin:auto 16px 12px!important}.ant-modal-content{background:var(--colorBgElevated)!important;border:1px solid var(--borderColor)!important;border-radius:var(--radiusLg)!important;box-shadow:var(--shadowCard)!important;padding:24px!important}.ant-modal-header{background:transparent!important;margin-bottom:24px!important}.ant-input,.ant-input-number,.ant-input-password,.ant-select-selector{border:1px solid transparent!important;background:var(--colorBgHover)!important;border-radius:var(--radiusSm)!important;box-shadow:none!important;transition:all .2s ease!important}.ant-input-focused,.ant-input-number-focused,.ant-input-number:focus,.ant-input-number:hover,.ant-input-password:focus,.ant-input-password:hover,.ant-input:focus,.ant-input:hover,.ant-select-focused .ant-select-selector,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--borderColorStrong)!important;background:transparent!important;box-shadow:none!important}.ant-input-affix-wrapper-outlined:focus,.ant-input-affix-wrapper-outlined:focus-within,.ant-input-number-outlined:focus,.ant-input-number-outlined:focus-within,.ant-input-outlined:focus,.ant-input-outlined:focus-within,.ant-select-outlined.ant-select-focused .ant-select-selector{box-shadow:none!important;outline:none!important;border-color:var(--borderColorStrong)!important}.modern-table .ant-table{background:transparent!important;border:none!important;border-radius:0!important}.modern-table .ant-table-container{border:none!important}.modern-table .ant-table-thead>tr>th{background:var(--colorBgSecondary)!important;border:none!important;font-size:11px!important;font-weight:600!important;color:var(--colorTextSecondary)!important;text-transform:uppercase;letter-spacing:.05em;padding:14px 16px!important}.modern-table .ant-table-thead>tr>th:first-child{border-top-left-radius:var(--radiusMd)!important;border-bottom-left-radius:var(--radiusMd)!important}.modern-table .ant-table-thead>tr>th:last-child{border-top-right-radius:var(--radiusMd)!important;border-bottom-right-radius:var(--radiusMd)!important}.modern-table .ant-table-thead>tr>th:before{display:none!important}.modern-table .ant-table-tbody>tr>td{border:none!important;background:transparent!important;padding:18px 16px!important;font-size:14px}.modern-table .ant-table-tbody>tr:last-child>td{border-bottom:none!important}.modern-table .ant-table-tbody>tr:hover>td{background:var(--colorBgHover)!important}.modern-table .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--colorBgSelected)!important;border:0!important;box-shadow:none!important;outline:0!important}.ant-btn-default{border-color:var(--borderColor)!important;background:transparent!important;box-shadow:none!important}.ant-btn-default:hover{background:var(--colorBgHover)!important;border-color:var(--borderColorStrong)!important;color:var(--colorText)!important}.ant-btn-primary{background:var(--colorText)!important;color:var(--colorBg)!important;box-shadow:none!important;border:none!important}.ant-btn-primary:hover{background:var(--colorTextSecondary)!important;color:var(--colorBg)!important}.ant-row{row-gap:24px}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-input-password,.ant-input-search .ant-input,.ant-input-search .ant-input-group-addon .ant-btn,.ant-mentions,.ant-picker,.ant-select-selector{min-height:34px;border:1px solid var(--borderColor)!important;background:var(--colorBgSecondary)!important;border-radius:var(--radiusSm)!important;box-shadow:none!important;outline:none!important}.ant-input-affix-wrapper>input.ant-input,.ant-input-affix-wrapper>textarea.ant-input,.ant-input-number .ant-input-number-input,.ant-input-password>input.ant-input,.ant-input-search .ant-input-affix-wrapper>input.ant-input{min-height:auto;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper:hover,.ant-input-focused,.ant-input-number-focused,.ant-input-number:hover,.ant-input-password:hover,.ant-input:focus,.ant-input:hover,.ant-picker-focused,.ant-picker:hover,.ant-select-focused .ant-select-selector,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--colorBrand)!important;background:var(--colorBgElevated)!important;box-shadow:none!important;outline:none!important}.ant-btn:focus-visible,.ant-input-affix-wrapper:focus-visible,.ant-input:focus-visible,.ant-picker:focus-visible,.ant-select-selector:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none!important;box-shadow:none!important}.ant-input-group-wrapper .ant-input-wrapper,.ant-input-search .ant-input-group{display:flex;align-items:stretch}.ant-input-search .ant-input,.ant-input-search .ant-input-affix-wrapper{border-start-end-radius:0!important;border-end-end-radius:0!important}.ant-input-search .ant-input-group-addon .ant-btn{border-start-start-radius:0!important;border-end-start-radius:0!important;border-left:0!important}.ant-input-affix-wrapper{padding-inline-start:11px!important;padding-inline-end:11px!important}.ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:8px!important;color:var(--colorTextTertiary)!important}.ant-input-affix-wrapper .ant-input-suffix{margin-inline-start:8px!important}.ant-input-affix-wrapper>input.ant-input{padding-inline-start:0!important}.ant-table-wrapper,.ant-table-wrapper .ant-spin-container,.ant-table-wrapper .ant-spin-nested-loading,.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-body,.ant-table-wrapper .ant-table-container,.ant-table-wrapper .ant-table-content{background:transparent!important;border:0!important;box-shadow:none!important}.ant-table-wrapper .ant-table-cell:before,.ant-table-wrapper .ant-table-container:after,.ant-table-wrapper .ant-table-container:before{display:none!important}.ant-table-wrapper .ant-table-thead>tr>th{height:auto!important;padding:10px 12px!important;border:0!important;background:var(--colorBgSecondary)!important;color:var(--colorTextSecondary)!important;font-size:12px!important;font-weight:600!important;line-height:1.45!important;vertical-align:middle!important}.ant-table-wrapper .ant-table-tbody>tr>td{height:auto!important;min-height:0!important;padding:11px 12px!important;border:0!important;background:transparent!important;color:var(--colorText)!important;line-height:1.5!important;vertical-align:middle!important;overflow:visible!important;white-space:normal;word-break:break-word}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td,.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--colorBgHover)!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--colorBgSelected)!important}.ant-table-wrapper .ant-table-expanded-row>td,.ant-table-wrapper .ant-table-placeholder>td{background:transparent!important}.ant-table-wrapper .ant-table-cell .ant-btn,.ant-table-wrapper .ant-table-cell .ant-space,.ant-table-wrapper .ant-table-cell .ant-tag{vertical-align:middle}.ant-table-wrapper .ant-table-selection-column .ant-checkbox-wrapper{vertical-align:middle;align-items:center}.ant-table-wrapper .ant-table-cell .ant-checkbox{line-height:1}.ant-table-wrapper .ant-table-cell .ant-typography,.ant-table-wrapper .ant-table-cell div,.ant-table-wrapper .ant-table-cell p,.ant-table-wrapper .ant-table-cell span{max-height:none;line-height:inherit}.ant-table-wrapper .ant-table-cell-ellipsis{white-space:normal!important}.ant-table-wrapper .ant-table-cell-ellipsis .ant-table-cell-content{display:block;overflow:visible;text-overflow:clip;white-space:normal}.ant-alert-description,.ant-alert-message,.ant-breadcrumb-link,.ant-btn,.ant-dropdown-menu-title-content,.ant-menu-title-content,.ant-select-selection-item,.ant-tabs-tab-btn,.ant-tag{display:inline-flex;align-items:center;gap:6px;min-width:0}.ant-btn{justify-content:center;line-height:1.2!important}.ant-btn .anticon,.ant-btn svg,.ant-menu-item svg,.ant-menu-item-icon,.ant-tabs-tab .anticon,.ant-tabs-tab svg,.ant-tag .anticon,.ant-tag svg,.anticon,.sidebarItem svg,.topbarBtn svg{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;vertical-align:-.125em}.ant-space{align-items:center}.ant-alert+.ant-card,.ant-card+.ant-alert,.ant-card+.ant-card{margin-top:16px!important}.ant-card-head{margin-bottom:16px!important}.ant-card .ant-typography,.ant-card ol,.ant-card p,.ant-card ul{line-height:1.65}.ant-card .ant-typography:last-child,.ant-card ol:last-child,.ant-card p:last-child,.ant-card ul:last-child{margin-bottom:0!important}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{margin:0 0 18px!important;padding:0 2px!important}.ant-tabs .ant-tabs-tab{padding:10px 12px!important;margin:0 4px 0 0!important}.ant-tabs .ant-tabs-content-holder{padding-top:2px}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab{border-radius:var(--radiusSm) var(--radiusSm) 0 0!important}.ant-form-item{margin-bottom:16px!important}.ant-form-item-row{row-gap:8px!important}.ant-descriptions-small .ant-descriptions-item-content,.ant-descriptions-small .ant-descriptions-item-label{padding-top:12px!important;padding-bottom:12px!important}.ant-form-item-label>label{align-items:center;height:auto!important;color:var(--colorText)!important;font-weight:500}.ant-form-item-explain,.ant-form-item-extra{margin-top:6px;font-size:12px}.ant-collapse-header,.ant-descriptions-item,.ant-list-item{align-items:center!important}.ant-table-wrapper.modern-table,.ant-table-wrapper.modern-table *,.modern-table.ant-table-wrapper,.modern-table.ant-table-wrapper *{border-color:transparent!important}.modern-table .ant-table,.modern-table .ant-table-body,.modern-table .ant-table-container,.modern-table .ant-table-content,.modern-table .ant-table-header,.modern-table .ant-table-tbody,.modern-table .ant-table-thead,.modern-table table{border:0!important;box-shadow:none!important;outline:0!important}.modern-table .ant-table-expanded-row>td,.modern-table .ant-table-selection-column,.modern-table .ant-table-tbody>tr>td,.modern-table .ant-table-thead>tr>th{height:auto!important;min-height:0!important;border:0!important;border-inline-end:0!important;border-bottom:0!important;box-shadow:none!important;outline:0!important;line-height:1.55!important;vertical-align:middle!important}.modern-table .ant-table-tbody>tr>td{padding:10px 12px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.modern-table .ant-table-thead>tr>th{padding:9px 12px!important;border-radius:0!important}.modern-table .ant-table-cell-ellipsis,.modern-table .truncate{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;max-height:none!important}.modern-table .ant-table-row-expand-icon-cell,.modern-table .ant-table-selection-column{text-align:center!important;vertical-align:middle!important;white-space:nowrap!important}.modern-table .ant-table-cell .anticon,.modern-table .ant-table-cell svg,.modern-table .ant-table-row-expand-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important}.modern-table .ant-table-expanded-row-fixed,.modern-table .ant-table-expanded-row>td>div{border:0!important}.modern-table .ant-table-tbody>tr{height:auto!important;min-height:44px!important}.modern-table .ant-table-cell{height:auto!important;max-height:none!important;overflow:visible!important}.modern-table .ant-table-cell .ant-tag,.modern-table .ant-table-cell .ant-typography,.modern-table .ant-table-cell a,.modern-table .ant-table-cell button,.modern-table .ant-table-cell>*{max-height:none!important;overflow:visible!important;line-height:1.45!important}.modern-table .ant-table-body{overflow-y:auto!important;overflow-x:hidden!important}[class*=Card]:not(.ant-card),[class*=card]:not(.ant-card){box-shadow:none!important}.group:hover,.hover\:border-\[var\(--borderColorStrong\)\]:hover,.hover\:border-\[var\(--colorBrand\)\]:hover{border-color:transparent!important;box-shadow:none!important}.active,.ant-list-item-selected,.ant-list-item.active,.ant-menu-item-selected,.ant-menu-submenu-selected>.ant-menu-submenu-title,.ant-segmented-item-selected,.ant-select-item-option-selected,.ant-table-row-selected>td,.ant-tabs-tab-active,.ant-tabs-tab.ant-tabs-tab-active,.ant-tree-node-selected,.selected,[aria-selected=true],[data-selected=true]{border-color:transparent!important;box-shadow:none!important;outline:0!important}