claude-code-workflow 7.2.6 → 7.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -1
  2. package/ccw/dist/core/routes/codexlens/config-handlers.js +4 -0
  3. package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -1
  4. package/ccw/dist/mcp-server/index.js +85 -8
  5. package/ccw/dist/mcp-server/index.js.map +1 -1
  6. package/ccw/dist/tools/smart-search.d.ts +72 -1
  7. package/ccw/dist/tools/smart-search.d.ts.map +1 -1
  8. package/ccw/dist/tools/smart-search.js +726 -117
  9. package/ccw/dist/tools/smart-search.js.map +1 -1
  10. package/ccw/frontend/dist/assets/{AlertDialog-BMFUcfv_.js → AlertDialog-CSZq4WHZ.js} +2 -2
  11. package/ccw/frontend/dist/assets/{AlertDialog-BMFUcfv_.js.map → AlertDialog-CSZq4WHZ.js.map} +1 -1
  12. package/ccw/frontend/dist/assets/{AnalysisPage-Bxa333tD.js → AnalysisPage-DVDvLHqI.js} +2 -2
  13. package/ccw/frontend/dist/assets/{AnalysisPage-Bxa333tD.js.map → AnalysisPage-DVDvLHqI.js.map} +1 -1
  14. package/ccw/frontend/dist/assets/{ApiSettingsPage-BFVU-wcR.js → ApiSettingsPage-D69j8mI6.js} +2 -2
  15. package/ccw/frontend/dist/assets/{ApiSettingsPage-BFVU-wcR.js.map → ApiSettingsPage-D69j8mI6.js.map} +1 -1
  16. package/ccw/frontend/dist/assets/{CliModeToggle-MDoFAJPL.js → CliModeToggle-fF9xHeGR.js} +2 -2
  17. package/ccw/frontend/dist/assets/{CliModeToggle-MDoFAJPL.js.map → CliModeToggle-fF9xHeGR.js.map} +1 -1
  18. package/ccw/frontend/dist/assets/{CliSessionSharePage-DkRmLiNN.js → CliSessionSharePage-Ce8tOQNx.js} +2 -2
  19. package/ccw/frontend/dist/assets/{CliSessionSharePage-DkRmLiNN.js.map → CliSessionSharePage-Ce8tOQNx.js.map} +1 -1
  20. package/ccw/frontend/dist/assets/{CliViewerPage-DN8jWddy.js → CliViewerPage-Bsp1zmfD.js} +2 -2
  21. package/ccw/frontend/dist/assets/{CliViewerPage-DN8jWddy.js.map → CliViewerPage-Bsp1zmfD.js.map} +1 -1
  22. package/ccw/frontend/dist/assets/{CodexLensManagerPage-Du_VAJtC.js → CodexLensManagerPage-DUMzbrr9.js} +9 -9
  23. package/ccw/frontend/dist/assets/CodexLensManagerPage-DUMzbrr9.js.map +1 -0
  24. package/ccw/frontend/dist/assets/{Collapsible-CF5bSyzt.js → Collapsible-I5pixbHb.js} +2 -2
  25. package/ccw/frontend/dist/assets/{Collapsible-CF5bSyzt.js.map → Collapsible-I5pixbHb.js.map} +1 -1
  26. package/ccw/frontend/dist/assets/{CommandsManagerPage-Bm_P9I76.js → CommandsManagerPage-BH2xukdx.js} +2 -2
  27. package/ccw/frontend/dist/assets/{CommandsManagerPage-Bm_P9I76.js.map → CommandsManagerPage-BH2xukdx.js.map} +1 -1
  28. package/ccw/frontend/dist/assets/{DeepWikiPage-2YIlfWhz.js → DeepWikiPage-D41ccWzY.js} +2 -2
  29. package/ccw/frontend/dist/assets/{DeepWikiPage-2YIlfWhz.js.map → DeepWikiPage-D41ccWzY.js.map} +1 -1
  30. package/ccw/frontend/dist/assets/{EndpointsPage-CMVNz5PY.js → EndpointsPage-5a8jfEWN.js} +2 -2
  31. package/ccw/frontend/dist/assets/{EndpointsPage-CMVNz5PY.js.map → EndpointsPage-5a8jfEWN.js.map} +1 -1
  32. package/ccw/frontend/dist/assets/{ExplorerPage-C-KFz8YU.js → ExplorerPage-YCqIOu1v.js} +2 -2
  33. package/ccw/frontend/dist/assets/{ExplorerPage-C-KFz8YU.js.map → ExplorerPage-YCqIOu1v.js.map} +1 -1
  34. package/ccw/frontend/dist/assets/{FixSessionPage-CdKND69l.js → FixSessionPage-wK1s4kbo.js} +2 -2
  35. package/ccw/frontend/dist/assets/{FixSessionPage-CdKND69l.js.map → FixSessionPage-wK1s4kbo.js.map} +1 -1
  36. package/ccw/frontend/dist/assets/{FloatingFileBrowser-Bf4iqOSd.js → FloatingFileBrowser-B1U6uk_5.js} +2 -2
  37. package/ccw/frontend/dist/assets/{FloatingFileBrowser-Bf4iqOSd.js.map → FloatingFileBrowser-B1U6uk_5.js.map} +1 -1
  38. package/ccw/frontend/dist/assets/{FloatingPanel-CJbvABPb.js → FloatingPanel-D51p5jNy.js} +2 -2
  39. package/ccw/frontend/dist/assets/{FloatingPanel-CJbvABPb.js.map → FloatingPanel-D51p5jNy.js.map} +1 -1
  40. package/ccw/frontend/dist/assets/{GraphExplorerPage-DPoozRTR.js → GraphExplorerPage-DpIWrpWH.js} +2 -2
  41. package/ccw/frontend/dist/assets/{GraphExplorerPage-DPoozRTR.js.map → GraphExplorerPage-DpIWrpWH.js.map} +1 -1
  42. package/ccw/frontend/dist/assets/{HistoryPage-DOMa9gJX.js → HistoryPage-C09lyJGN.js} +2 -2
  43. package/ccw/frontend/dist/assets/{HistoryPage-DOMa9gJX.js.map → HistoryPage-C09lyJGN.js.map} +1 -1
  44. package/ccw/frontend/dist/assets/{HookManagerPage-Cfn2UEyy.js → HookManagerPage-CFBe8F_G.js} +2 -2
  45. package/ccw/frontend/dist/assets/{HookManagerPage-Cfn2UEyy.js.map → HookManagerPage-CFBe8F_G.js.map} +1 -1
  46. package/ccw/frontend/dist/assets/{InstallationsPage-qngOxLvm.js → InstallationsPage-qt7NxnsB.js} +2 -2
  47. package/ccw/frontend/dist/assets/{InstallationsPage-qngOxLvm.js.map → InstallationsPage-qt7NxnsB.js.map} +1 -1
  48. package/ccw/frontend/dist/assets/{IssueHubPage-Cvf7tH8p.js → IssueHubPage-CHol1-Ap.js} +2 -2
  49. package/ccw/frontend/dist/assets/{IssueHubPage-Cvf7tH8p.js.map → IssueHubPage-CHol1-Ap.js.map} +1 -1
  50. package/ccw/frontend/dist/assets/{LiteTasksPage-D20smVCY.js → LiteTasksPage-jH00SLnZ.js} +2 -2
  51. package/ccw/frontend/dist/assets/{LiteTasksPage-D20smVCY.js.map → LiteTasksPage-jH00SLnZ.js.map} +1 -1
  52. package/ccw/frontend/dist/assets/{McpManagerPage-Bld27yu4.js → McpManagerPage-BS-HgeQJ.js} +11 -11
  53. package/ccw/frontend/dist/assets/McpManagerPage-BS-HgeQJ.js.map +1 -0
  54. package/ccw/frontend/dist/assets/{MemoryPage-DmknNdBh.js → MemoryPage-1UahrmRX.js} +2 -2
  55. package/ccw/frontend/dist/assets/{MemoryPage-DmknNdBh.js.map → MemoryPage-1UahrmRX.js.map} +1 -1
  56. package/ccw/frontend/dist/assets/{NotFoundPage-DdwPN1xU.js → NotFoundPage-5FVm_IkS.js} +2 -2
  57. package/ccw/frontend/dist/assets/{NotFoundPage-DdwPN1xU.js.map → NotFoundPage-5FVm_IkS.js.map} +1 -1
  58. package/ccw/frontend/dist/assets/{OrchestratorPage-CgDdmvBg.js → OrchestratorPage-ThBG24Gg.js} +2 -2
  59. package/ccw/frontend/dist/assets/{OrchestratorPage-CgDdmvBg.js.map → OrchestratorPage-ThBG24Gg.js.map} +1 -1
  60. package/ccw/frontend/dist/assets/{ProjectOverviewPage-9Ze9quxh.js → ProjectOverviewPage-CrmW0IxI.js} +2 -2
  61. package/ccw/frontend/dist/assets/{ProjectOverviewPage-9Ze9quxh.js.map → ProjectOverviewPage-CrmW0IxI.js.map} +1 -1
  62. package/ccw/frontend/dist/assets/{PromptHistoryPage-YRkBppOx.js → PromptHistoryPage-1cCGwS3s.js} +2 -2
  63. package/ccw/frontend/dist/assets/{PromptHistoryPage-YRkBppOx.js.map → PromptHistoryPage-1cCGwS3s.js.map} +1 -1
  64. package/ccw/frontend/dist/assets/{ReviewSessionPage-DSaeHw83.js → ReviewSessionPage-DxiEc9HK.js} +2 -2
  65. package/ccw/frontend/dist/assets/{ReviewSessionPage-DSaeHw83.js.map → ReviewSessionPage-DxiEc9HK.js.map} +1 -1
  66. package/ccw/frontend/dist/assets/{RulesManagerPage-BpGwS_jB.js → RulesManagerPage-BpplliZF.js} +2 -2
  67. package/ccw/frontend/dist/assets/{RulesManagerPage-BpGwS_jB.js.map → RulesManagerPage-BpplliZF.js.map} +1 -1
  68. package/ccw/frontend/dist/assets/{SessionDetailPage-B_YHME7k.js → SessionDetailPage-crDIiysh.js} +2 -2
  69. package/ccw/frontend/dist/assets/{SessionDetailPage-B_YHME7k.js.map → SessionDetailPage-crDIiysh.js.map} +1 -1
  70. package/ccw/frontend/dist/assets/{SessionsPage-bW6kEEib.js → SessionsPage-DThweYY8.js} +2 -2
  71. package/ccw/frontend/dist/assets/{SessionsPage-bW6kEEib.js.map → SessionsPage-DThweYY8.js.map} +1 -1
  72. package/ccw/frontend/dist/assets/{SettingsPage-CSwUd2Bw.js → SettingsPage-OCdOz5-z.js} +4 -4
  73. package/ccw/frontend/dist/assets/{SettingsPage-CSwUd2Bw.js.map → SettingsPage-OCdOz5-z.js.map} +1 -1
  74. package/ccw/frontend/dist/assets/{SkillsManagerPage-CyqKvFUi.js → SkillsManagerPage-BJd3bK1G.js} +2 -2
  75. package/ccw/frontend/dist/assets/{SkillsManagerPage-CyqKvFUi.js.map → SkillsManagerPage-BJd3bK1G.js.map} +1 -1
  76. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DHqQNW_y.js → SpecsSettingsPage-BAWL2cpO.js} +2 -2
  77. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DHqQNW_y.js.map → SpecsSettingsPage-BAWL2cpO.js.map} +1 -1
  78. package/ccw/frontend/dist/assets/{Switch-s_-xzEWF.js → Switch-w0I3JCcC.js} +2 -2
  79. package/ccw/frontend/dist/assets/{Switch-s_-xzEWF.js.map → Switch-w0I3JCcC.js.map} +1 -1
  80. package/ccw/frontend/dist/assets/{TabsNavigation-CU50UxOb.js → TabsNavigation-jhUge9YV.js} +2 -2
  81. package/ccw/frontend/dist/assets/{TabsNavigation-CU50UxOb.js.map → TabsNavigation-jhUge9YV.js.map} +1 -1
  82. package/ccw/frontend/dist/assets/{TaskDrawer-128XISsA.js → TaskDrawer-APWpZulm.js} +2 -2
  83. package/ccw/frontend/dist/assets/{TaskDrawer-128XISsA.js.map → TaskDrawer-APWpZulm.js.map} +1 -1
  84. package/ccw/frontend/dist/assets/{TeamPage-Bg_KII8B.js → TeamPage-8OnLsAfJ.js} +2 -2
  85. package/ccw/frontend/dist/assets/{TeamPage-Bg_KII8B.js.map → TeamPage-8OnLsAfJ.js.map} +1 -1
  86. package/ccw/frontend/dist/assets/{TerminalDashboardPage-CQ9K2zwB.js → TerminalDashboardPage-Be1hcN4p.js} +2 -2
  87. package/ccw/frontend/dist/assets/{TerminalDashboardPage-CQ9K2zwB.js.map → TerminalDashboardPage-Be1hcN4p.js.map} +1 -1
  88. package/ccw/frontend/dist/assets/{archive--nR2vYUk.js → archive-Bo1tC9yo.js} +2 -2
  89. package/ccw/frontend/dist/assets/{archive--nR2vYUk.js.map → archive-Bo1tC9yo.js.map} +1 -1
  90. package/ccw/frontend/dist/assets/{archive-restore-CZ7graO0.js → archive-restore-DYx41yLJ.js} +2 -2
  91. package/ccw/frontend/dist/assets/{archive-restore-CZ7graO0.js.map → archive-restore-DYx41yLJ.js.map} +1 -1
  92. package/ccw/frontend/dist/assets/{arrow-right-ChKhpVhq.js → arrow-right-C6pOqWF1.js} +2 -2
  93. package/ccw/frontend/dist/assets/{arrow-right-ChKhpVhq.js.map → arrow-right-C6pOqWF1.js.map} +1 -1
  94. package/ccw/frontend/dist/assets/{bookmark-plus-X-JcgObI.js → bookmark-plus-4Qpa6hMJ.js} +2 -2
  95. package/ccw/frontend/dist/assets/{bookmark-plus-X-JcgObI.js.map → bookmark-plus-4Qpa6hMJ.js.map} +1 -1
  96. package/ccw/frontend/dist/assets/{bot-C3uo7Fkg.js → bot-HXJTmx8r.js} +2 -2
  97. package/ccw/frontend/dist/assets/{bot-C3uo7Fkg.js.map → bot-HXJTmx8r.js.map} +1 -1
  98. package/ccw/frontend/dist/assets/{braces-5wZupwrA.js → braces-Dj2IdY7I.js} +2 -2
  99. package/ccw/frontend/dist/assets/{braces-5wZupwrA.js.map → braces-Dj2IdY7I.js.map} +1 -1
  100. package/ccw/frontend/dist/assets/{circle-stop-DZ5hLKjQ.js → circle-stop-M29TJKHc.js} +2 -2
  101. package/ccw/frontend/dist/assets/{circle-stop-DZ5hLKjQ.js.map → circle-stop-M29TJKHc.js.map} +1 -1
  102. package/ccw/frontend/dist/assets/{cpu-Dc8IS79i.js → cpu-DX15mzMT.js} +2 -2
  103. package/ccw/frontend/dist/assets/{cpu-Dc8IS79i.js.map → cpu-DX15mzMT.js.map} +1 -1
  104. package/ccw/frontend/dist/assets/{ellipsis-vertical-B4pqbrsR.js → ellipsis-vertical-Fs6bysWx.js} +2 -2
  105. package/ccw/frontend/dist/assets/{ellipsis-vertical-B4pqbrsR.js.map → ellipsis-vertical-Fs6bysWx.js.map} +1 -1
  106. package/ccw/frontend/dist/assets/{eye-BwniwXnu.js → eye-D6BRlJ1r.js} +2 -2
  107. package/ccw/frontend/dist/assets/{eye-BwniwXnu.js.map → eye-D6BRlJ1r.js.map} +1 -1
  108. package/ccw/frontend/dist/assets/{eye-off-BWntEdln.js → eye-off-DjbIj5iN.js} +2 -2
  109. package/ccw/frontend/dist/assets/{eye-off-BWntEdln.js.map → eye-off-DjbIj5iN.js.map} +1 -1
  110. package/ccw/frontend/dist/assets/{file-json-BDcmkaVn.js → file-json-kg4Lid-H.js} +2 -2
  111. package/ccw/frontend/dist/assets/{file-json-BDcmkaVn.js.map → file-json-kg4Lid-H.js.map} +1 -1
  112. package/ccw/frontend/dist/assets/{file-text-DsqI3R_g.js → file-text-BMy5pXNV.js} +2 -2
  113. package/ccw/frontend/dist/assets/{file-text-DsqI3R_g.js.map → file-text-BMy5pXNV.js.map} +1 -1
  114. package/ccw/frontend/dist/assets/{filter-CQMcD8RT.js → filter-BTN-lUUb.js} +2 -2
  115. package/ccw/frontend/dist/assets/{filter-CQMcD8RT.js.map → filter-BTN-lUUb.js.map} +1 -1
  116. package/ccw/frontend/dist/assets/{folder-jX77-MUi.js → folder-ChYtty7V.js} +2 -2
  117. package/ccw/frontend/dist/assets/{folder-jX77-MUi.js.map → folder-ChYtty7V.js.map} +1 -1
  118. package/ccw/frontend/dist/assets/{gauge-yQjRXM3o.js → gauge-C0VJbjRb.js} +2 -2
  119. package/ccw/frontend/dist/assets/{gauge-yQjRXM3o.js.map → gauge-C0VJbjRb.js.map} +1 -1
  120. package/ccw/frontend/dist/assets/{globe-BecpCHYI.js → globe-DbNfDXnv.js} +2 -2
  121. package/ccw/frontend/dist/assets/{globe-BecpCHYI.js.map → globe-DbNfDXnv.js.map} +1 -1
  122. package/ccw/frontend/dist/assets/{grid-3x3-BrvzDFqU.js → grid-3x3-xWcpBNxo.js} +2 -2
  123. package/ccw/frontend/dist/assets/{grid-3x3-BrvzDFqU.js.map → grid-3x3-xWcpBNxo.js.map} +1 -1
  124. package/ccw/frontend/dist/assets/{hard-drive-B0cynodE.js → hard-drive-BTACzgUO.js} +2 -2
  125. package/ccw/frontend/dist/assets/{hard-drive-B0cynodE.js.map → hard-drive-BTACzgUO.js.map} +1 -1
  126. package/ccw/frontend/dist/assets/{hash-xOrTLxBg.js → hash-B0dYlmyB.js} +2 -2
  127. package/ccw/frontend/dist/assets/{hash-xOrTLxBg.js.map → hash-B0dYlmyB.js.map} +1 -1
  128. package/ccw/frontend/dist/assets/{history-BzXwj8RL.js → history-CRRLu6ck.js} +2 -2
  129. package/ccw/frontend/dist/assets/{history-BzXwj8RL.js.map → history-CRRLu6ck.js.map} +1 -1
  130. package/ccw/frontend/dist/assets/{index-BNZGm_Ur.js → index-BJIIo0B3.js} +2 -2
  131. package/ccw/frontend/dist/assets/{index-BNZGm_Ur.js.map → index-BJIIo0B3.js.map} +1 -1
  132. package/ccw/frontend/dist/assets/{index-osmL8__2.js → index-BP-D3Wv6.js} +2 -2
  133. package/ccw/frontend/dist/assets/{index-osmL8__2.js.map → index-BP-D3Wv6.js.map} +1 -1
  134. package/ccw/frontend/dist/assets/{index-DflI9CwB.js → index-B_QzEioU.js} +2 -2
  135. package/ccw/frontend/dist/assets/{index-DflI9CwB.js.map → index-B_QzEioU.js.map} +1 -1
  136. package/ccw/frontend/dist/assets/{index-B9aFbBPN.js → index-BpoRYgiq.js} +2 -2
  137. package/ccw/frontend/dist/assets/{index-B9aFbBPN.js.map → index-BpoRYgiq.js.map} +1 -1
  138. package/ccw/frontend/dist/assets/{index-Dy0tUf1F.js → index-CeESlrZb.js} +8 -8
  139. package/ccw/frontend/dist/assets/{index-Dy0tUf1F.js.map → index-CeESlrZb.js.map} +1 -1
  140. package/ccw/frontend/dist/assets/{index-D3uMibtZ.js → index-DzTbMyaS.js} +4 -4
  141. package/ccw/frontend/dist/assets/{index-D3uMibtZ.js.map → index-DzTbMyaS.js.map} +1 -1
  142. package/ccw/frontend/dist/assets/{layout-grid-CWFZqQWu.js → layout-grid-ZN26YcTM.js} +2 -2
  143. package/ccw/frontend/dist/assets/{layout-grid-CWFZqQWu.js.map → layout-grid-ZN26YcTM.js.map} +1 -1
  144. package/ccw/frontend/dist/assets/{lightbulb-BRLgsWe3.js → lightbulb-BHrwx9j6.js} +2 -2
  145. package/ccw/frontend/dist/assets/{lightbulb-BRLgsWe3.js.map → lightbulb-BHrwx9j6.js.map} +1 -1
  146. package/ccw/frontend/dist/assets/{link-2-BpKdq14u.js → link-2-zZRu2j4G.js} +2 -2
  147. package/ccw/frontend/dist/assets/{link-2-BpKdq14u.js.map → link-2-zZRu2j4G.js.map} +1 -1
  148. package/ccw/frontend/dist/assets/{link-BxUCReDi.js → link-8lz-HgnZ.js} +2 -2
  149. package/ccw/frontend/dist/assets/{link-BxUCReDi.js.map → link-8lz-HgnZ.js.map} +1 -1
  150. package/ccw/frontend/dist/assets/{list-Ce9EsAg8.js → list-DlablIjt.js} +2 -2
  151. package/ccw/frontend/dist/assets/{list-Ce9EsAg8.js.map → list-DlablIjt.js.map} +1 -1
  152. package/ccw/frontend/dist/assets/{map-pin-CxzQV1hS.js → map-pin-JAsCUplr.js} +2 -2
  153. package/ccw/frontend/dist/assets/{map-pin-CxzQV1hS.js.map → map-pin-JAsCUplr.js.map} +1 -1
  154. package/ccw/frontend/dist/assets/{messages-square-Dyodk79r.js → messages-square-D0iSFb2Y.js} +2 -2
  155. package/ccw/frontend/dist/assets/{messages-square-Dyodk79r.js.map → messages-square-D0iSFb2Y.js.map} +1 -1
  156. package/ccw/frontend/dist/assets/{minimize-2-s0009UK9.js → minimize-2-BJmkU9CE.js} +2 -2
  157. package/ccw/frontend/dist/assets/{minimize-2-s0009UK9.js.map → minimize-2-BJmkU9CE.js.map} +1 -1
  158. package/ccw/frontend/dist/assets/{package-C69biuJL.js → package-DYrbBCxk.js} +2 -2
  159. package/ccw/frontend/dist/assets/{package-C69biuJL.js.map → package-DYrbBCxk.js.map} +1 -1
  160. package/ccw/frontend/dist/assets/{plug-DERl-wQd.js → plug-VG7-23M-.js} +2 -2
  161. package/ccw/frontend/dist/assets/{plug-DERl-wQd.js.map → plug-VG7-23M-.js.map} +1 -1
  162. package/ccw/frontend/dist/assets/{power-CdvaDgTh.js → power-zPFYNx7u.js} +2 -2
  163. package/ccw/frontend/dist/assets/{power-CdvaDgTh.js.map → power-zPFYNx7u.js.map} +1 -1
  164. package/ccw/frontend/dist/assets/{save-C_Uot2e4.js → save-D4XQY9i9.js} +2 -2
  165. package/ccw/frontend/dist/assets/{save-C_Uot2e4.js.map → save-D4XQY9i9.js.map} +1 -1
  166. package/ccw/frontend/dist/assets/{send-R1XtAXeP.js → send-ClSnDjj-.js} +2 -2
  167. package/ccw/frontend/dist/assets/{send-R1XtAXeP.js.map → send-ClSnDjj-.js.map} +1 -1
  168. package/ccw/frontend/dist/assets/{square-check-big-Cyqi4INj.js → square-check-big-Bffh_MFc.js} +2 -2
  169. package/ccw/frontend/dist/assets/{square-check-big-Cyqi4INj.js.map → square-check-big-Bffh_MFc.js.map} +1 -1
  170. package/ccw/frontend/dist/assets/{square-pen-BmLNjUUw.js → square-pen-DsOvAvME.js} +2 -2
  171. package/ccw/frontend/dist/assets/{square-pen-BmLNjUUw.js.map → square-pen-DsOvAvME.js.map} +1 -1
  172. package/ccw/frontend/dist/assets/{star-CakKtIYu.js → star-TLJjvoy2.js} +2 -2
  173. package/ccw/frontend/dist/assets/{star-CakKtIYu.js.map → star-TLJjvoy2.js.map} +1 -1
  174. package/ccw/frontend/dist/assets/{style-DdNmehyz.js → style-BXKXgpOY.js} +2 -2
  175. package/ccw/frontend/dist/assets/{style-DdNmehyz.js.map → style-BXKXgpOY.js.map} +1 -1
  176. package/ccw/frontend/dist/assets/{target-CUvfwM3S.js → target-FDuAB6SF.js} +2 -2
  177. package/ccw/frontend/dist/assets/{target-CUvfwM3S.js.map → target-FDuAB6SF.js.map} +1 -1
  178. package/ccw/frontend/dist/assets/{test-tube-BVwrOGiZ.js → test-tube-B9vj-Im8.js} +2 -2
  179. package/ccw/frontend/dist/assets/{test-tube-BVwrOGiZ.js.map → test-tube-B9vj-Im8.js.map} +1 -1
  180. package/ccw/frontend/dist/assets/{upload-CY1NwcDw.js → upload-CHgTrVN5.js} +2 -2
  181. package/ccw/frontend/dist/assets/{upload-CY1NwcDw.js.map → upload-CHgTrVN5.js.map} +1 -1
  182. package/ccw/frontend/dist/assets/{useApiSettings-9JuzUfPE.js → useApiSettings-XsHrqf-L.js} +2 -2
  183. package/ccw/frontend/dist/assets/{useApiSettings-9JuzUfPE.js.map → useApiSettings-XsHrqf-L.js.map} +1 -1
  184. package/ccw/frontend/dist/assets/{useCli-Bb7Zo-OI.js → useCli-DOlWtux5.js} +2 -2
  185. package/ccw/frontend/dist/assets/{useCli-Bb7Zo-OI.js.map → useCli-DOlWtux5.js.map} +1 -1
  186. package/ccw/frontend/dist/assets/{useCommands-BUu-hUYI.js → useCommands-DazCajiX.js} +2 -2
  187. package/ccw/frontend/dist/assets/{useCommands-BUu-hUYI.js.map → useCommands-DazCajiX.js.map} +1 -1
  188. package/ccw/frontend/dist/assets/{useDebounce-CptXgLBn.js → useDebounce-Cah-bua6.js} +2 -2
  189. package/ccw/frontend/dist/assets/{useDebounce-CptXgLBn.js.map → useDebounce-Cah-bua6.js.map} +1 -1
  190. package/ccw/frontend/dist/assets/{useFileExplorer-B7dN8VT1.js → useFileExplorer-B9SCPhhl.js} +2 -2
  191. package/ccw/frontend/dist/assets/{useFileExplorer-B7dN8VT1.js.map → useFileExplorer-B9SCPhhl.js.map} +1 -1
  192. package/ccw/frontend/dist/assets/{useLocale-D6USNXOr.js → useLocale-CmG6pxZe.js} +2 -2
  193. package/ccw/frontend/dist/assets/{useLocale-D6USNXOr.js.map → useLocale-CmG6pxZe.js.map} +1 -1
  194. package/ccw/frontend/dist/assets/{useSkills-r8yfiQ-u.js → useSkills-DvEJ0JOv.js} +3 -3
  195. package/ccw/frontend/dist/assets/{useSkills-r8yfiQ-u.js.map → useSkills-DvEJ0JOv.js.map} +1 -1
  196. package/ccw/frontend/dist/assets/{useSystemSettings-BVWDQLMy.js → useSystemSettings-BDpwSa04.js} +2 -2
  197. package/ccw/frontend/dist/assets/{useSystemSettings-BVWDQLMy.js.map → useSystemSettings-BDpwSa04.js.map} +1 -1
  198. package/ccw/frontend/dist/assets/{wand-sparkles-Zdaej5bR.js → wand-sparkles-T2KGCRiy.js} +2 -2
  199. package/ccw/frontend/dist/assets/{wand-sparkles-Zdaej5bR.js.map → wand-sparkles-T2KGCRiy.js.map} +1 -1
  200. package/ccw/frontend/dist/index.html +1 -1
  201. package/codex-lens/src/codexlens/cli/commands.py +12 -1
  202. package/codex-lens/src/codexlens/config.py +12 -0
  203. package/codex-lens/src/codexlens/env_config.py +1 -0
  204. package/package.json +1 -1
  205. package/ccw/frontend/dist/assets/CodexLensManagerPage-Du_VAJtC.js.map +0 -1
  206. package/ccw/frontend/dist/assets/McpManagerPage-Bld27yu4.js.map +0 -1
@@ -6,11 +6,11 @@ const l={toggleNavigation:"切换导航菜单",refreshWorkspace:"刷新工作区
6
6
  API_KEY=your_key
7
7
  DEBUG=true`,envHint:"每行输入一个键=值对",scope:"作用域",enabled:"启用此服务器",transportType:"传输类型",transportStdio:"STDIO (本地进程)",transportHttp:"HTTP (远程服务器)",transportHint:"STDIO 运行本地命令,HTTP 连接到远程 MCP 服务器",http:{url:"服务器地址",urlPlaceholder:"https://api.example.com/mcp",urlHint:"MCP 服务器的 HTTP 端点地址",bearerToken:"Bearer Token 环境变量",bearerTokenPlaceholder:"MY_API_TOKEN",bearerTokenHint:"包含 Bearer Token 的环境变量名称,用于 Authorization 请求头",headers:"自定义请求头",headersHint:"添加用于认证或配置的自定义请求头。启用 '环境变量' 可引用环境变量。",headerName:"请求头名称",headerValue:"请求头值",isEnvVar:"环境变量",addHeader:"添加请求头"}},mode:{form:"表单模式",json:"JSON 模式"},json:{label:"JSON 配置",placeholder:"粘贴 MCP 服务器 JSON 配置...",hint:"粘贴完整的 MCP 服务器配置 JSON,然后点击解析按钮",example:"示例格式",parse:"解析 JSON",parseSuccess:"JSON 解析成功",parseSuccessDesc:"配置已填充到表单中,请检查并保存",parseError:"JSON 解析失败:{error}"},templates:{"npx-stdio":"NPX STDIO","python-stdio":"Python STDIO","sse-server":"SSE 服务器"},validation:{nameRequired:"服务器名称不能为空",nameExists:"已存在同名服务器",commandRequired:"命令不能为空",urlRequired:"服务器地址不能为空",urlInvalid:"请输入有效的 URL 地址"},actions:{save:"保存",saving:"保存中...",cancel:"取消"}},Ii={title:"CCW MCP 服务器",description:"用于 CCW 文件操作和内存管理的特殊内置 MCP 服务器",status:{installed:"已安装",notInstalled:"未安装",special:"内置"},tools:{label:"可用工具",hint:"请先安装 CCW MCP 后再选择工具",core:"核心",write_file:{name:"write_file",desc:"写入或创建新文件"},edit_file:{name:"edit_file",desc:"编辑或替换文件内容"},read_file:{name:"read_file",desc:"读取单个文件内容"},read_many_files:{name:"read_many_files",desc:"批量读取多个文件或目录,支持 glob 过滤和内容搜索"},core_memory:{name:"core_memory",desc:"管理核心内存条目"},ask_question:{name:"ask_question",desc:"通过 A2UI 界面发起交互式问答"},smart_search:{name:"smart_search",desc:"智能代码搜索,支持模糊和语义搜索模式"},team_msg:{name:"team_msg",desc:"Agent Team 持久化消息总线,用于团队协作通信"}},paths:{label:"路径配置",projectRoot:"项目根目录",projectRootPlaceholder:"例如:D:\\Projects\\MyProject",allowedDirs:"允许的目录",allowedDirsPlaceholder:"目录1,目录2,目录3",allowedDirsHint:"逗号分隔的允许目录列表",enableSandbox:"启用沙箱(仅允许修改工作空间下的文件)"},actions:{enableAll:"全部启用",disableAll:"全部禁用",install:"安装 CCW MCP",installCodex:"安装到 Codex",installing:"安装中...",uninstall:"卸载",uninstalling:"卸载中...",uninstallConfirm:"确定要卸载 CCW MCP 吗?",uninstallScopeConfirm:"确定要从{scope}移除 CCW MCP 吗?",saveConfig:"保存配置",saving:"保存中..."},feedback:{saveSuccess:"配置已保存",saveError:"保存配置失败"},scope:{global:"全局",project:"项目",addScope:"安装到其他作用域",installToProject:"同时安装到项目",installToGlobal:"同时安装到全局",uninstallFrom:"按作用域卸载",uninstallGlobal:"从全局移除",uninstallProject:"从项目移除"},codexNote:"需要全局安装:npm install -g claude-code-workflow"},Di={badge:"冲突",title:"作用域冲突",description:"此服务器同时存在于项目和全局作用域。运行时使用{scope}版本。",resolution:"建议从其中一个作用域移除该服务器。"},Li={title:"推荐服务器",description:"一键快速安装热门 MCP 服务器",servers:{ace:{name:"ACE 工具",description:"高级代码搜索和上下文引擎,用于智能代码发现",command:"mcp__ace-tool__search_context",install:"安装 ACE",installing:"安装中..."},chrome:{name:"Chrome 开发者工具",description:"浏览器自动化和调试工具,用于 Web 开发",command:"mcp__chrome-devtools",install:"安装 Chrome",installing:"安装中..."},exa:{name:"Exa 搜索",description:"AI 驱动的网络搜索,支持实时抓取",command:"mcp__exa__search",install:"安装 Exa",installing:"安装中..."}},actions:{install:"安装",installing:"安装中...",installed:"已安装",viewAll:"查看全部服务器"}},$i={label:"配置格式",format:"配置格式",mcpJson:".mcp.json",claudeJson:".claude.json",switchWarning:"切换配置格式不会迁移现有服务器。您需要在新格式中重新配置服务器。",switchConfirm:"切换配置格式",switchCancel:"保持当前格式"},Ti={title:"模板",description:"可重用的 MCP 服务器配置模板",searchPlaceholder:"按名称或描述搜索模板...",filter:{allCategories:"所有类别"},actions:{install:"安装模板",delete:"删除模板",saveAsTemplate:"保存为模板"},loading:"正在加载模板...",empty:{title:"未找到模板",message:"创建您的第一个模板或从社区安装模板",createFirst:"创建第一个模板"},saveDialog:{title:"保存为模板",name:"模板名称",namePlaceholder:"例如:我的 Python MCP 服务器",category:"类别",categoryPlaceholder:"选择一个类别",description:"描述",descriptionPlaceholder:"简要描述此模板的用途...",validation:{nameRequired:"模板名称不能为空"},save:"保存模板",cancel:"取消"},deleteDialog:{title:"删除模板",message:'确定要删除模板 "{name}" 吗?此操作无法撤销。',delete:"删除",deleting:"删除中...",cancel:"取消"},categories:{stdio:"STDIO",sse:"SSE",language:"语言",official:"官方",custom:"自定义"},feedback:{installSuccess:"模板安装成功",installError:"模板安装失败",deleteSuccess:"模板删除成功",deleteError:"模板删除失败",saveSuccess:"模板保存成功",saveError:"模板保存失败"}},Ai={button:"跨 CLI 复制",title:"在 CLI 之间复制 MCP 服务器",selectServers:"选择要从 {source} 复制的服务器",selectServersHint:"选择要复制的服务器。配置将转换为目标 CLI 格式。",noServers:"当前配置中没有可用的服务器",selectedCount:"已选择 {count} 个服务器",copying:"复制中...",copyButton:"复制到 {target}"},Mi={title:"MCP 服务器同步",description:"在 Claude 和 Codex 之间同步 MCP 服务器配置",claudeColumn:"Claude 服务器",codexColumn:"Codex 服务器",selectedCount:"已选: {count} / 总计: {total}",selectAll:"全选",clearAll:"清空",copyToCodex:"→ 复制到 Codex ({count})",copyFromCodex:"← 从 Codex 复制 ({count})",noServers:"没有可用的服务器",codexLoadError:"加载 Codex 服务器失败",copySuccess:"成功复制 {count} 个服务器",copyPartial:"成功 {copied} 个,失败 {failed} 个",syncInProgress:"同步中..."},Ei={title:"项目概览",description:"查看所有项目的 MCP 服务器配置"},Fi={title:"跨项目导入",description:"从其他项目导入 MCP 服务器配置"},Hi={title:"所有项目",name:"项目名称",servers:"服务器",lastModified:"最后修改",actions:"操作",current:"当前",openNewWindow:"在新窗口中打开",empty:"未找到项目",summary:"显示 {count} 个项目"},Ni={title:"其他项目",description:"从您的其他项目发现并导入 MCP 服务器",selectProject:"选择一个项目",selectProjectPlaceholder:"选择一个项目...",noProjects:"没有其他可用的项目",noServers:"在 {project} 中未找到 MCP 服务器",import:"导入",hint:"导入的服务器将添加到您的当前项目配置中"},Ui={title:"安装命令",cliCommand:"CLI 命令",cliCommandHint:"在终端中运行此命令以安装服务器",jsonConfig:"JSON 配置",jsonConfigHint:"将此添加到您的 {filename} 文件中",envVars:"环境变量",steps:"安装步骤",step1:"在您的终端中运行上面的 CLI 命令",step2:"或将 JSON 配置手动添加到您的配置文件中",step3:"重启您的 CLI 以加载新服务器"},Ri="项配置",Oi="无需配置",ji="重新配置",Gi={install:"安装",installing:"安装中...",installSuccess:"服务器安装成功",installError:"服务器安装失败",validation:"验证错误",requiredFields:"请填写所有必填字段",scope:"安装范围","scope.global":"全局(所有项目)","scope.project":"项目(仅当前项目)"},Wi={name:"Exa 搜索",desc:"AI 驱动的网络搜索,支持实时抓取",field:{apiKey:"API 密钥","apiKey.desc":"您的 Exa API 密钥(可选,部分功能可能需要)"}},qi={label:"企业版",tooltip:"企业版 MCP 服务器"},Ki={settings:{personalSpecDefaults:"个人规范默认设置",personalSpecDefaultsDesc:"这些设置将在创建新的个人规范时应用",defaultReadMode:"默认读取模式",selectReadMode:"选择读取模式",defaultReadModeHelp:"新创建的个人规范的默认读取模式",autoEnable:"自动启用新规范",autoEnableDescription:"自动启用新创建的个人规范",specStatistics:"规范统计",totalSpecs:"总计: {count} 个规范文件",required:"必读",readMode:{required:"必读",optional:"可选"},dimension:{specs:"项目规范",personal:"个人规范"},devProgressInjection:"开发进度注入",devProgressInjectionDesc:"控制如何将 project-tech.json 中的开发进度注入到 AI 上下文中",enableDevProgress:"启用注入",enableDevProgressDesc:"在 AI 上下文中包含开发历史",maxEntries:"每类别最大条目数",maxEntriesDesc:"每个类别包含的最大条目数 (1-50)",includeCategories:"包含类别",categoriesDesc:"点击切换类别包含状态",devProgressStats:"共 {total} 条记录来自 {sessions} 个会话,最后更新: {date}",devProgressStatsNoDate:"共 {total} 条记录来自 {sessions} 个会话"},injection:{saveSuccess:"设置保存成功",saveError:"保存设置失败: {error}",loadError:"加载统计数据失败"}},Bi={title:ri,description:di,tabs:pi,mode:mi,scope:ui,status:gi,stats:hi,command:yi,args:fi,env:vi,codex:bi,windows:Ci,filters:Pi,actions:Si,deleteConfirm:wi,emptyState:ki,dialog:xi,ccw:Ii,conflict:Di,recommended:Li,configType:$i,templates:Ti,crossCli:Ai,sync:Mi,projects:Ei,crossProject:Fi,allProjects:Hi,otherProjects:Ni,installCmd:Ui,configRequired:Ri,noConfigNeeded:Oi,reconfigure:ji,wizard:Gi,"ace-tool":{name:"ACE 工具",desc:"高级代码搜索和上下文引擎,用于智能代码发现",field:{baseUrl:"服务器地址","baseUrl.desc":"ACE MCP 中继服务器端点",token:"API 令牌","token.desc":"用于认证的 ACE API 令牌"}},"chrome-devtools":{name:"Chrome 开发者工具",desc:"浏览器自动化和调试工具,用于 Web 开发"},exa:Wi,enterprise:qi,specs:Ki},_i="CodexLens",Ji="语义代码搜索引擎",Vi="引导安装",zi="安装中...",Qi="卸载",Yi="卸载中...",Xi="确定要卸载 CodexLens 吗?此操作无法撤销。",Zi="确认卸载",ea="CodexLens 尚未安装",ta="即将推出",sa={overview:"概览",settings:"设置",models:"模型",search:"搜索",advanced:"高级"},oa={status:{installation:"安装状态",ready:"就绪",notReady:"未就绪",version:"版本",indexPath:"索引路径",indexCount:"索引数量"},notInstalled:{title:"CodexLens 未安装",message:"请先安装 CodexLens 以使用语义代码搜索功能。"},actions:{title:"快速操作",ftsFull:"FTS 全量",ftsFullDesc:"重建全文索引",ftsIncremental:"FTS 增量",ftsIncrementalDesc:"增量更新全文索引",vectorFull:"向量全量",vectorFullDesc:"重建向量索引",vectorIncremental:"向量增量",vectorIncrementalDesc:"增量更新向量索引"},venv:{title:"Python 虚拟环境详情",pythonVersion:"Python 版本",venvPath:"虚拟环境路径",lastCheck:"最后检查时间"}},na={operationComplete:"索引操作完成",operationFailed:"索引操作失败",noProject:"未选择项目",noProjectDesc:"请打开一个项目以执行索引操作。",starting:"正在启动索引操作...",cancelFailed:"取消操作失败",unknownError:"发生未知错误",complete:"完成",failed:"失败",cancelled:"已取消",inProgress:"进行中"},ia={installTitle:"安装语义搜索",installDescription:"安装 FastEmbed 和语义搜索依赖,支持 GPU 加速。",installInfo:"GPU 加速需要兼容的硬件。CPU 模式在所有系统上都可用,但速度较慢。",gpu:{cpu:"CPU 模式",cpuDesc:"通用兼容,处理较慢。适用于所有系统。",directml:"DirectML(Windows GPU)",directmlDesc:"最适合带 AMD/Intel GPU 的 Windows 系统。推荐大多数用户使用。",cuda:"CUDA(NVIDIA GPU)",cudaDesc:"NVIDIA GPU 性能最佳。需要 CUDA 工具包。"},recommended:"推荐",install:"安装",installing:"安装中...",installSuccess:"安装完成",installSuccessDesc:"语义搜索已成功安装,使用 {mode} 模式",installFailed:"安装失败",unknownError:"发生未知错误"},aa={currentCount:"当前索引数量",currentWorkers:"当前工作线程",currentBatchSize:"当前批次大小",configTitle:"基本配置",indexDir:{label:"索引目录",placeholder:"~/.codexlens/indexes",hint:"存储代码索引的目录路径"},maxWorkers:{label:"最大工作线程",hint:"API 并发处理线程数 (1-32)"},batchSize:{label:"批次大小",hint:"每次批量处理的文件数量 (1-64)"},validation:{indexDirRequired:"索引目录不能为空",maxWorkersRange:"工作线程数必须在 1-32 之间",batchSizeRange:"批次大小必须在 1-64 之间"},save:"保存",saving:"保存中...",reset:"重置",saveSuccess:"配置已保存",saveFailed:"保存失败",configUpdated:"配置更新成功",saveError:"保存配置时出错",unknownError:"发生未知错误"},la={title:"GPU 设置",status:"GPU 状态",enabled:"已启用",available:"可用",unavailable:"不可用",supported:"您的系统支持 GPU 加速",notSupported:"您的系统不支持 GPU 加速",detect:"检测",detectSuccess:"GPU 检测完成",detectFailed:"GPU 检测失败",detectComplete:"检测到 {count} 个 GPU 设备",detectError:"检测 GPU 时出错",select:"选择",selected:"已选择",active:"当前",selectSuccess:"GPU 已选择",selectFailed:"GPU 选择失败",gpuSelected:"GPU 设备已启用",selectError:"选择 GPU 时出错",reset:"重置",resetSuccess:"GPU 已重置",resetFailed:"GPU 重置失败",gpuReset:"GPU 已禁用,将使用 CPU",resetError:"重置 GPU 时出错",unknownError:"发生未知错误",noDevices:"未检测到 GPU 设备",notAvailable:"GPU 功能不可用",unknownDevice:"未知设备",type:"类型",discrete:"独立显卡",integrated:"集成显卡",driver:"驱动版本",memory:"显存"},ca={warningTitle:"敏感操作警告",warningMessage:"修改环境变量可能影响 CodexLens 的正常运行。请确保您了解每个变量的作用。",loadError:"加载环境变量失败",loadErrorDesc:"无法获取环境配置。请检查 CodexLens 是否正确安装。",currentVars:"当前环境变量",settingsVars:"设置变量",customVars:"自定义变量",envEditor:"环境变量编辑器",envFile:"文件",envContent:"环境变量内容",envPlaceholder:`# 注释行以 # 开头
8
8
  KEY=value
9
- ANOTHER_KEY="another value"`,envHint:"每行一个变量,格式:KEY=value。注释行以 # 开头",save:"保存",saving:"保存中...",reset:"重置",saveSuccess:"环境变量已保存",saveFailed:"保存失败",envUpdated:"环境变量更新成功,重启服务后生效",saveError:"保存环境变量时出错",unknownError:"发生未知错误",validation:{invalidKeys:"无效的变量名: {keys}"},helpTitle:"格式说明",helpComment:"注释行以 # 开头",helpFormat:"变量格式:KEY=value",helpQuotes:"包含空格的值建议使用引号",helpRestart:"修改后需要重启服务才能生效"},ra="已下载模型",da="无已配置模型",pa="无已下载模型",ma={title:"模型管理",searchPlaceholder:"搜索模型...",downloading:"下载中...",status:{downloaded:"已下载",available:"可用"},types:{embedding:"嵌入模型",reranker:"重排序模型"},filters:{label:"筛选",all:"全部"},actions:{download:"下载",delete:"删除",cancel:"取消"},custom:{title:"自定义模型",placeholder:"HuggingFace 模型名称 (如: BAAI/bge-small-zh-v1.5)",description:"从 HuggingFace 下载自定义模型。请确保模型名称正确。"},deleteConfirm:"确定要删除模型 {modelName} 吗?",notInstalled:{title:"CodexLens 未安装",description:"请先安装 CodexLens 以使用模型管理功能。"},error:{title:"加载模型失败",description:"无法获取模型列表。请检查 CodexLens 是否正确安装。"},empty:{title:"没有找到模型",description:"当前没有可用模型。请从列表中下载模型。",filtered:"没有匹配的模型",filteredDesc:"尝试调整搜索或筛选条件"}},ua={type:"搜索类型",content:"内容搜索",files:"文件搜索",symbol:"符号搜索",semantic:"语义搜索 (LSP)",mode:"模式","mode.semantic":"语义(默认)","mode.exact":"精确(FTS)","mode.fuzzy":"模糊",semanticMode:"搜索模式","semanticMode.fusion":"融合搜索","semanticMode.vector":"向量搜索","semanticMode.structural":"结构搜索",fusionStrategy:"融合策略","fusionStrategy.rrf":"RRF(默认)","fusionStrategy.dense_rerank":"Dense Rerank","fusionStrategy.binary":"Binary","fusionStrategy.hybrid":"Hybrid","fusionStrategy.staged":"Staged",stagedStage2Mode:"Stage 2 扩展","stagedStage2Mode.precomputed":"预计算 (graph_neighbors)","stagedStage2Mode.realtime":"实时 (LSP)","stagedStage2Mode.static_global_graph":"静态全局图",lspStatus:"LSP 状态",lspAvailable:"语义搜索可用",lspUnavailable:"语义搜索不可用",lspNoVector:"需要先建立向量索引",lspNoSemantic:"需要先安装语义依赖",query:"查询",queryPlaceholder:"输入搜索查询...",button:"搜索",searching:"搜索中...",results:"结果",resultsCount:"个结果",notInstalled:{title:"CodexLens 未安装",description:"请先安装 CodexLens 以使用语义代码搜索功能。"}},ga={title:"重排序配置",description:"配置重排序后端、模型和提供商,用于搜索结果排序。",backend:"后端",backendHint:"重排序推理后端",model:"模型",modelHint:"重排序模型名称或 LiteLLM 端点",provider:"API 提供商",providerHint:"重排序服务的 API 提供商",apiKeyStatus:"API 密钥",apiKeySet:"已配置",apiKeyNotSet:"未配置",configSource:"配置来源",save:"保存重排序配置",saving:"保存中...",saveSuccess:"重排序配置已保存",saveFailed:"保存重排序配置失败",noBackends:"无可用后端",noModels:"无可用模型",noProviders:"无可用提供商",litellmModels:"LiteLLM 模型",selectBackend:"选择后端...",selectModel:"选择模型...",selectProvider:"选择提供商..."},ha={embedding:"嵌入模型",reranker:"重排序",concurrency:"并发",cascade:"级联搜索",indexing:"索引与解析",chunking:"分块"},ya={backend:"后端",model:"模型",useGpu:"使用 GPU",highAvailability:"高可用",loadBalanceStrategy:"负载均衡策略",rateLimitCooldown:"限流冷却时间",enabled:"启用",topKResults:"Top K 结果数",maxWorkers:"最大工作线程",batchSize:"批次大小",dynamicBatchSize:"动态批次大小",batchSizeUtilization:"利用率因子",batchSizeMax:"最大批次大小",charsPerToken:"每 Token 字符数",searchStrategy:"搜索策略",coarseK:"粗筛 K 值",fineK:"精筛 K 值",stagedStage2Mode:"Stage-2 模式",stagedClusteringStrategy:"聚类策略",stagedClusteringMinSize:"最小聚类大小",enableStagedRerank:"启用重排序",useAstGrep:"使用 ast-grep",staticGraphEnabled:"启用静态图",staticGraphRelationshipTypes:"关系类型",stripComments:"去除注释",stripDocstrings:"去除文档字符串",testFilePenalty:"测试文件惩罚",docstringWeight:"文档字符串权重"},fa={title:"安装 CodexLens",description:"设置 Python 虚拟环境并安装 CodexLens 包。",checklist:"将要安装的内容",pythonVenv:"Python 虚拟环境",pythonVenvDesc:"CodexLens 的隔离 Python 环境",codexlensPackage:"CodexLens 包",codexlensPackageDesc:"核心语义代码搜索引擎",sqliteFts:"SQLite FTS5",sqliteFtsDesc:"用于快速代码查找的全文搜索扩展",location:"安装位置",locationPath:"~/.codexlens/venv",timeEstimate:"安装可能需要 1-3 分钟,取决于网络速度。",stage:{creatingVenv:"正在创建 Python 虚拟环境...",installingPip:"正在安装 pip 依赖...",installingPackage:"正在安装 CodexLens 包...",settingUpDeps:"正在设置依赖项...",finalizing:"正在完成安装...",complete:"安装完成!"},installNow:"立即安装",installing:"安装中..."},va={title:"CCW 工具注册表",loading:"加载工具中...",error:"加载工具失败",errorDesc:"无法获取 CCW 工具列表。请检查服务器是否正在运行。",emptyDesc:"当前没有已注册的工具。",totalCount:"{count} 个工具",codexLensSection:"CodexLens 工具",otherSection:"其他工具"},ba={title:"文件监听器",status:{running:"运行中",stopped:"已停止"},eventsProcessed:"已处理事件",uptime:"运行时间",start:"启动监听",starting:"启动中...",stop:"停止监听",stopping:"停止中...",started:"文件监听器已启动",stopped:"文件监听器已停止"},Ca={title:"LSP 服务器",status:{running:"运行中",stopped:"已停止"},projects:"项目数",embeddings:"嵌入模型",modes:"模式",semanticAvailable:"语义搜索",available:"可用",unavailable:"不可用",start:"启动服务",starting:"启动中...",stop:"停止服务",stopping:"停止中...",restart:"重启",restarting:"重启中...",started:"LSP 服务器已启动",stopped:"LSP 服务器已停止",restarted:"LSP 服务器已重启"},Pa={title:_i,description:Ji,bootstrap:Vi,bootstrapping:zi,uninstall:Qi,uninstalling:Yi,confirmUninstall:Xi,confirmUninstallTitle:Zi,notInstalled:ea,comingSoon:ta,tabs:sa,overview:oa,index:na,semantic:ia,settings:aa,gpu:la,advanced:ca,downloadedModels:ra,noConfiguredModels:da,noLocalModels:pa,models:ma,search:ua,reranker:ga,envGroup:ha,envField:ya,install:fa,mcp:va,watcher:ba,lsp:Ca},Sa="API 设置",wa="管理 LiteLLM 提供商、端点、缓存设置和模型池",ka={providers:"提供商",endpoints:"端点",cache:"缓存",modelPools:"模型池",cliSettings:"CLI 设置"},xa={title:"提供商",description:"描述",stats:{total:"总提供商数",enabled:"已启用"},actions:{add:"添加提供商",edit:"编辑提供商",delete:"删除提供商",test:"测试连接",multiKeySettings:"多密钥设置",syncToCodexLens:"同步到 CodexLens",manageModels:"管理模型",addModel:"添加模型",showDisabled:"显示已禁用",hideDisabled:"隐藏已禁用"},deleteConfirm:'确定要删除提供商 "{name}" 吗?',emptyState:{title:"未找到提供商",message:"添加提供商以配置 API 凭据和模型。"},apiFormat:"API 格式",openaiCompatible:"OpenAI 兼容",customFormat:"自定义格式",apiFormatHint:"大多数提供商使用 OpenAI 兼容格式",displayName:"显示名称",apiKey:"API 密钥",useEnvVar:"使用环境变量(例如:${OPENAI_API_KEY})",apiBaseUrl:"API 基础 URL",preview:"预览",enableProvider:"启用此提供商",advancedSettings:"高级设置",timeout:"超时",timeoutHint:"请求超时时间(秒)(默认:300)",maxRetries:"最大重试次数",organization:"组织",organizationHint:"OpenAI 特定的组织 ID",apiVersion:"API 版本",apiVersionHint:"Azure 特定的 API 版本(例如:2024-02-01)",rpm:"RPM",tpm:"TPM",unlimited:"无限制",proxy:"代理 URL",customHeaders:"自定义请求头",customHeadersHint:'JSON 格式,例如:{"X-Custom": "value"}',testConnection:"测试连接",connectionSuccess:"连接成功",connectionFailed:"连接失败",addProviderFirst:"请先添加提供商",saveProviderFirst:"请先保存提供商",llmModels:"LLM 模型",embeddingModels:"嵌入模型",rerankerModels:"重排序模型",noModels:"此提供商未配置模型",selectProvider:"选择提供商",selectProviderHint:"选择提供商以查看和管理其模型",modelSettings:"模型设置",deleteModel:"删除模型",multiKeySettings:"多密钥设置",keyLabel:"密钥标签",keyValue:"密钥值",keyWeight:"权重",routingStrategy:"路由策略",healthCheck:"健康检查",healthStatus:"健康状态",lastCheck:"最后检查",lastError:"最后错误",lastLatency:"延迟",cooldown:"冷却",consecutiveFailures:"失败次数",inCooldown:"冷却中",healthy:"健康",unhealthy:"不健康",unknown:"未知",justNow:"刚刚",minutesAgo:"分钟前",hoursAgo:"小时前",daysAgo:"天前",seconds:"秒",testKey:"测试密钥",addKey:"添加密钥",enableKey:"启用",disableKey:"禁用",deleteKey:"删除密钥",simpleShuffle:"简单随机",weighted:"加权",latencyBased:"基于延迟",costBased:"基于成本",leastBusy:"最少繁忙",enableHealthCheck:"启用健康检查",checkInterval:"检查间隔(秒)",cooldownPeriod:"冷却周期(秒)",failureThreshold:"失败阈值",addLlmModel:"添加 LLM 模型",addEmbeddingModel:"添加嵌入模型",addRerankerModel:"添加重排序模型",selectFromPresets:"从预设选择",customModel:"自定义模型...",modelId:"模型 ID",modelName:"模型名称",modelSeries:"模型系列",contextWindow:"上下文窗口",capabilities:"功能",streaming:"流式传输",functionCalling:"函数调用",vision:"视觉",embeddingMaxTokens:"最大令牌数",rerankerTopK:"Top K",rerankerTopKHint:"返回的结果数量",embeddingDimensions:"维度",optional:"可选",modelIdExists:"模型 ID 已存在",useModelTreeToManage:"使用提供商卡片管理模型",endpointPreview:"端点预览",modelBaseUrlOverride:"基础 URL 覆盖",modelBaseUrlHint:"为此模型覆盖基础 URL",basicInfo:"基本信息",endpointSettings:"端点设置",apiBaseUpdated:"基础 URL 已更新",showAll:"显示全部",saveError:"保存提供商失败",deleteError:"删除提供商失败",toggleError:"切换提供商状态失败",testError:"测试提供商失败"},Ia={title:"端点",description:"配置带有缓存策略的自定义 API 端点",stats:{totalEndpoints:"总端点数",cachedEndpoints:"已缓存端点"},actions:{add:"添加端点",edit:"编辑端点",delete:"删除端点",enable:"启用",disable:"禁用"},deleteConfirm:'确定要删除端点 "{id}" 吗?',emptyState:{title:"未找到端点",message:"添加端点以配置自定义 API 映射。"},endpointId:"端点 ID",endpointIdHint:"唯一的 CLI 标识符(例如:my-gpt4o)",name:"名称",provider:"提供商",model:"模型",noModelsConfigured:"此提供商未配置模型",selectModel:"选择模型...",cacheStrategy:"缓存策略",enableContextCaching:"启用上下文缓存",cacheTTL:"缓存 TTL(分钟)",cacheMaxSize:"最大大小(KB)",filePatterns:"模式数",autoCachePatterns:"自动缓存模式",filePatternsHint:"逗号分隔的 glob 模式(例如:*.md,*.ts)",enabled:"已启用",disabled:"已禁用",noEndpoints:"未配置端点",noEndpointsHint:"添加端点以创建带有缓存的自定义 API 映射。",providerBased:"基于提供商",direct:"直接",off:"关闭",showDisabled:"显示已禁用",showAll:"显示全部",basicInfo:"基本信息",saveError:"保存端点失败",deleteError:"删除端点失败",toggleError:"切换端点状态失败"},Da={title:"缓存",description:"管理全局缓存设置和查看缓存统计信息",settings:{title:"缓存设置",globalCache:"全局缓存",enableGlobalCaching:"启用全局缓存",cacheDirectory:"缓存目录",maxSize:"最大总大小(MB)",cacheUsage:"缓存使用",cacheEntries:"缓存条目",cacheSize:"缓存大小",used:"已使用",total:"总计",actions:{clearCache:"清除缓存"},confirmClearCache:"确定要清除缓存吗?这将删除所有缓存条目。"},statistics:{title:"缓存统计",cachedEntries:"已缓存条目",storageUsed:"已用存储",totalSize:"总大小"},actions:{clear:"清除缓存",confirmClear:"确定要清除缓存吗?"},messages:{cacheCleared:"缓存已清除",cacheSettingsUpdated:"缓存设置已更新"}},La={title:"模型池",description:"配置模型池以实现高可用性和负载均衡",stats:{total:"总池数",enabled:"已启用"},actions:{add:"添加模型池",edit:"编辑模型池",delete:"删除模型池",autoDiscover:"自动发现"},deleteConfirm:'确定要删除模型池 "{name}" 吗?',emptyState:{title:"未找到模型池",message:"添加模型池以启用高可用性和负载均衡。"},modelType:"模型类型",embedding:"嵌入",llm:"LLM",reranker:"重排序",targetModel:"目标模型",selectTargetModel:"选择目标模型...",strategy:"策略",roundRobin:"轮询",latencyAware:"延迟感知",weightedRandom:"加权随机",poolEnabled:"池已启用",autoDiscover:"自动发现提供商",excludedProviders:"排除的提供商",defaultCooldown:"默认冷却时间(秒)",defaultConcurrent:"默认并发数",discoveredProviders:"已发现的提供商",excludeProvider:"排除",includeProvider:"包含",noProvidersFound:"未找到提供此模型的提供商",poolSaved:"模型池已保存",embeddingPoolDesc:"配置模型池以实现跨多个提供商的高可用性和负载均衡",embeddingPool:"嵌入池",discovered:"已发现",providers:"提供商"},$a={title:"CLI 设置",description:"配置 CLI 工具设置和模式",modalDescription:"为不同的端点配置 Claude CLI 包装器设置",stats:{total:"总设置数",enabled:"已启用"},actions:{add:"添加 CLI 设置",edit:"编辑 CLI 设置",delete:"删除 CLI 设置"},deleteConfirm:'确定要删除 CLI 设置 "{name}" 吗?',emptyState:{title:"未找到 CLI 设置",message:"添加 CLI 设置以配置工具特定选项。"},searchPlaceholder:"按名称或描述搜索...",mode:"模式",providerBased:"基于提供商",direct:"直接",authToken:"认证令牌",baseUrl:"基础 URL",model:"模型",namePlaceholder:"例如:production-claude",descriptionPlaceholder:"此配置的可选描述",selectProvider:"选择提供商",includeCoAuthoredBy:"在提交中包含 co-authored-by",coAuthoredBy:"共同创作",availableModels:"可用模型",availableModelsPlaceholder:"输入模型名称并按回车",availableModelsHint:"显示在 CLI 下拉菜单中的模型。点击 × 删除。",nameFormatHint:"仅限字母、数字、连字符和下划线。用作:ccw cli --tool [名称]",nameTooLong:"名称必须在 {max} 个字符以内",configJson:"配置(JSON)",configJsonPlaceholder:`{
9
+ ANOTHER_KEY="another value"`,envHint:"每行一个变量,格式:KEY=value。注释行以 # 开头",save:"保存",saving:"保存中...",reset:"重置",saveSuccess:"环境变量已保存",saveFailed:"保存失败",envUpdated:"环境变量更新成功,重启服务后生效",saveError:"保存环境变量时出错",unknownError:"发生未知错误",validation:{invalidKeys:"无效的变量名: {keys}"},helpTitle:"格式说明",helpComment:"注释行以 # 开头",helpFormat:"变量格式:KEY=value",helpQuotes:"包含空格的值建议使用引号",helpRestart:"修改后需要重启服务才能生效"},ra="已下载模型",da="无已配置模型",pa="无已下载模型",ma={title:"模型管理",searchPlaceholder:"搜索模型...",downloading:"下载中...",status:{downloaded:"已下载",available:"可用"},types:{embedding:"嵌入模型",reranker:"重排序模型"},filters:{label:"筛选",all:"全部"},actions:{download:"下载",delete:"删除",cancel:"取消"},custom:{title:"自定义模型",placeholder:"HuggingFace 模型名称 (如: BAAI/bge-small-zh-v1.5)",description:"从 HuggingFace 下载自定义模型。请确保模型名称正确。"},deleteConfirm:"确定要删除模型 {modelName} 吗?",notInstalled:{title:"CodexLens 未安装",description:"请先安装 CodexLens 以使用模型管理功能。"},error:{title:"加载模型失败",description:"无法获取模型列表。请检查 CodexLens 是否正确安装。"},empty:{title:"没有找到模型",description:"当前没有可用模型。请从列表中下载模型。",filtered:"没有匹配的模型",filteredDesc:"尝试调整搜索或筛选条件"}},ua={type:"搜索类型",content:"内容搜索",files:"文件搜索",symbol:"符号搜索",semantic:"语义搜索 (LSP)",mode:"模式","mode.semantic":"语义(默认)","mode.exact":"精确(FTS)","mode.fuzzy":"模糊",semanticMode:"搜索模式","semanticMode.fusion":"融合搜索","semanticMode.vector":"向量搜索","semanticMode.structural":"结构搜索",fusionStrategy:"融合策略","fusionStrategy.rrf":"RRF(默认)","fusionStrategy.dense_rerank":"Dense Rerank","fusionStrategy.binary":"Binary","fusionStrategy.hybrid":"Hybrid","fusionStrategy.staged":"Staged",stagedStage2Mode:"Stage 2 扩展","stagedStage2Mode.precomputed":"预计算 (graph_neighbors)","stagedStage2Mode.realtime":"实时 (LSP)","stagedStage2Mode.static_global_graph":"静态全局图",lspStatus:"LSP 状态",lspAvailable:"语义搜索可用",lspUnavailable:"语义搜索不可用",lspNoVector:"需要先建立向量索引",lspNoSemantic:"需要先安装语义依赖",query:"查询",queryPlaceholder:"输入搜索查询...",button:"搜索",searching:"搜索中...",results:"结果",resultsCount:"个结果",notInstalled:{title:"CodexLens 未安装",description:"请先安装 CodexLens 以使用语义代码搜索功能。"}},ga={title:"重排序配置",description:"配置重排序后端、模型和提供商,用于搜索结果排序。",backend:"后端",backendHint:"重排序推理后端",model:"模型",modelHint:"重排序模型名称或 LiteLLM 端点",provider:"API 提供商",providerHint:"重排序服务的 API 提供商",apiKeyStatus:"API 密钥",apiKeySet:"已配置",apiKeyNotSet:"未配置",configSource:"配置来源",save:"保存重排序配置",saving:"保存中...",saveSuccess:"重排序配置已保存",saveFailed:"保存重排序配置失败",noBackends:"无可用后端",noModels:"无可用模型",noProviders:"无可用提供商",litellmModels:"LiteLLM 模型",selectBackend:"选择后端...",selectModel:"选择模型...",selectProvider:"选择提供商..."},ha={embedding:"嵌入模型",reranker:"重排序",concurrency:"并发",cascade:"级联搜索",indexing:"索引与解析",chunking:"分块"},ya={backend:"后端",model:"模型",autoEmbedMissing:"缺失向量时自动构建",useGpu:"使用 GPU",highAvailability:"高可用",loadBalanceStrategy:"负载均衡策略",rateLimitCooldown:"限流冷却时间",enabled:"启用",topKResults:"Top K 结果数",maxWorkers:"最大工作线程",batchSize:"批次大小",dynamicBatchSize:"动态批次大小",batchSizeUtilization:"利用率因子",batchSizeMax:"最大批次大小",charsPerToken:"每 Token 字符数",searchStrategy:"搜索策略",coarseK:"粗筛 K 值",fineK:"精筛 K 值",stagedStage2Mode:"Stage-2 模式",stagedClusteringStrategy:"聚类策略",stagedClusteringMinSize:"最小聚类大小",enableStagedRerank:"启用重排序",useAstGrep:"使用 ast-grep",staticGraphEnabled:"启用静态图",staticGraphRelationshipTypes:"关系类型",stripComments:"去除注释",stripDocstrings:"去除文档字符串",testFilePenalty:"测试文件惩罚",docstringWeight:"文档字符串权重"},fa={title:"安装 CodexLens",description:"设置 Python 虚拟环境并安装 CodexLens 包。",checklist:"将要安装的内容",pythonVenv:"Python 虚拟环境",pythonVenvDesc:"CodexLens 的隔离 Python 环境",codexlensPackage:"CodexLens 包",codexlensPackageDesc:"核心语义代码搜索引擎",sqliteFts:"SQLite FTS5",sqliteFtsDesc:"用于快速代码查找的全文搜索扩展",location:"安装位置",locationPath:"~/.codexlens/venv",timeEstimate:"安装可能需要 1-3 分钟,取决于网络速度。",stage:{creatingVenv:"正在创建 Python 虚拟环境...",installingPip:"正在安装 pip 依赖...",installingPackage:"正在安装 CodexLens 包...",settingUpDeps:"正在设置依赖项...",finalizing:"正在完成安装...",complete:"安装完成!"},installNow:"立即安装",installing:"安装中..."},va={title:"CCW 工具注册表",loading:"加载工具中...",error:"加载工具失败",errorDesc:"无法获取 CCW 工具列表。请检查服务器是否正在运行。",emptyDesc:"当前没有已注册的工具。",totalCount:"{count} 个工具",codexLensSection:"CodexLens 工具",otherSection:"其他工具"},ba={title:"文件监听器",status:{running:"运行中",stopped:"已停止"},eventsProcessed:"已处理事件",uptime:"运行时间",start:"启动监听",starting:"启动中...",stop:"停止监听",stopping:"停止中...",started:"文件监听器已启动",stopped:"文件监听器已停止"},Ca={title:"LSP 服务器",status:{running:"运行中",stopped:"已停止"},projects:"项目数",embeddings:"嵌入模型",modes:"模式",semanticAvailable:"语义搜索",available:"可用",unavailable:"不可用",start:"启动服务",starting:"启动中...",stop:"停止服务",stopping:"停止中...",restart:"重启",restarting:"重启中...",started:"LSP 服务器已启动",stopped:"LSP 服务器已停止",restarted:"LSP 服务器已重启"},Pa={title:_i,description:Ji,bootstrap:Vi,bootstrapping:zi,uninstall:Qi,uninstalling:Yi,confirmUninstall:Xi,confirmUninstallTitle:Zi,notInstalled:ea,comingSoon:ta,tabs:sa,overview:oa,index:na,semantic:ia,settings:aa,gpu:la,advanced:ca,downloadedModels:ra,noConfiguredModels:da,noLocalModels:pa,models:ma,search:ua,reranker:ga,envGroup:ha,envField:ya,install:fa,mcp:va,watcher:ba,lsp:Ca},Sa="API 设置",wa="管理 LiteLLM 提供商、端点、缓存设置和模型池",ka={providers:"提供商",endpoints:"端点",cache:"缓存",modelPools:"模型池",cliSettings:"CLI 设置"},xa={title:"提供商",description:"描述",stats:{total:"总提供商数",enabled:"已启用"},actions:{add:"添加提供商",edit:"编辑提供商",delete:"删除提供商",test:"测试连接",multiKeySettings:"多密钥设置",syncToCodexLens:"同步到 CodexLens",manageModels:"管理模型",addModel:"添加模型",showDisabled:"显示已禁用",hideDisabled:"隐藏已禁用"},deleteConfirm:'确定要删除提供商 "{name}" 吗?',emptyState:{title:"未找到提供商",message:"添加提供商以配置 API 凭据和模型。"},apiFormat:"API 格式",openaiCompatible:"OpenAI 兼容",customFormat:"自定义格式",apiFormatHint:"大多数提供商使用 OpenAI 兼容格式",displayName:"显示名称",apiKey:"API 密钥",useEnvVar:"使用环境变量(例如:${OPENAI_API_KEY})",apiBaseUrl:"API 基础 URL",preview:"预览",enableProvider:"启用此提供商",advancedSettings:"高级设置",timeout:"超时",timeoutHint:"请求超时时间(秒)(默认:300)",maxRetries:"最大重试次数",organization:"组织",organizationHint:"OpenAI 特定的组织 ID",apiVersion:"API 版本",apiVersionHint:"Azure 特定的 API 版本(例如:2024-02-01)",rpm:"RPM",tpm:"TPM",unlimited:"无限制",proxy:"代理 URL",customHeaders:"自定义请求头",customHeadersHint:'JSON 格式,例如:{"X-Custom": "value"}',testConnection:"测试连接",connectionSuccess:"连接成功",connectionFailed:"连接失败",addProviderFirst:"请先添加提供商",saveProviderFirst:"请先保存提供商",llmModels:"LLM 模型",embeddingModels:"嵌入模型",rerankerModels:"重排序模型",noModels:"此提供商未配置模型",selectProvider:"选择提供商",selectProviderHint:"选择提供商以查看和管理其模型",modelSettings:"模型设置",deleteModel:"删除模型",multiKeySettings:"多密钥设置",keyLabel:"密钥标签",keyValue:"密钥值",keyWeight:"权重",routingStrategy:"路由策略",healthCheck:"健康检查",healthStatus:"健康状态",lastCheck:"最后检查",lastError:"最后错误",lastLatency:"延迟",cooldown:"冷却",consecutiveFailures:"失败次数",inCooldown:"冷却中",healthy:"健康",unhealthy:"不健康",unknown:"未知",justNow:"刚刚",minutesAgo:"分钟前",hoursAgo:"小时前",daysAgo:"天前",seconds:"秒",testKey:"测试密钥",addKey:"添加密钥",enableKey:"启用",disableKey:"禁用",deleteKey:"删除密钥",simpleShuffle:"简单随机",weighted:"加权",latencyBased:"基于延迟",costBased:"基于成本",leastBusy:"最少繁忙",enableHealthCheck:"启用健康检查",checkInterval:"检查间隔(秒)",cooldownPeriod:"冷却周期(秒)",failureThreshold:"失败阈值",addLlmModel:"添加 LLM 模型",addEmbeddingModel:"添加嵌入模型",addRerankerModel:"添加重排序模型",selectFromPresets:"从预设选择",customModel:"自定义模型...",modelId:"模型 ID",modelName:"模型名称",modelSeries:"模型系列",contextWindow:"上下文窗口",capabilities:"功能",streaming:"流式传输",functionCalling:"函数调用",vision:"视觉",embeddingMaxTokens:"最大令牌数",rerankerTopK:"Top K",rerankerTopKHint:"返回的结果数量",embeddingDimensions:"维度",optional:"可选",modelIdExists:"模型 ID 已存在",useModelTreeToManage:"使用提供商卡片管理模型",endpointPreview:"端点预览",modelBaseUrlOverride:"基础 URL 覆盖",modelBaseUrlHint:"为此模型覆盖基础 URL",basicInfo:"基本信息",endpointSettings:"端点设置",apiBaseUpdated:"基础 URL 已更新",showAll:"显示全部",saveError:"保存提供商失败",deleteError:"删除提供商失败",toggleError:"切换提供商状态失败",testError:"测试提供商失败"},Ia={title:"端点",description:"配置带有缓存策略的自定义 API 端点",stats:{totalEndpoints:"总端点数",cachedEndpoints:"已缓存端点"},actions:{add:"添加端点",edit:"编辑端点",delete:"删除端点",enable:"启用",disable:"禁用"},deleteConfirm:'确定要删除端点 "{id}" 吗?',emptyState:{title:"未找到端点",message:"添加端点以配置自定义 API 映射。"},endpointId:"端点 ID",endpointIdHint:"唯一的 CLI 标识符(例如:my-gpt4o)",name:"名称",provider:"提供商",model:"模型",noModelsConfigured:"此提供商未配置模型",selectModel:"选择模型...",cacheStrategy:"缓存策略",enableContextCaching:"启用上下文缓存",cacheTTL:"缓存 TTL(分钟)",cacheMaxSize:"最大大小(KB)",filePatterns:"模式数",autoCachePatterns:"自动缓存模式",filePatternsHint:"逗号分隔的 glob 模式(例如:*.md,*.ts)",enabled:"已启用",disabled:"已禁用",noEndpoints:"未配置端点",noEndpointsHint:"添加端点以创建带有缓存的自定义 API 映射。",providerBased:"基于提供商",direct:"直接",off:"关闭",showDisabled:"显示已禁用",showAll:"显示全部",basicInfo:"基本信息",saveError:"保存端点失败",deleteError:"删除端点失败",toggleError:"切换端点状态失败"},Da={title:"缓存",description:"管理全局缓存设置和查看缓存统计信息",settings:{title:"缓存设置",globalCache:"全局缓存",enableGlobalCaching:"启用全局缓存",cacheDirectory:"缓存目录",maxSize:"最大总大小(MB)",cacheUsage:"缓存使用",cacheEntries:"缓存条目",cacheSize:"缓存大小",used:"已使用",total:"总计",actions:{clearCache:"清除缓存"},confirmClearCache:"确定要清除缓存吗?这将删除所有缓存条目。"},statistics:{title:"缓存统计",cachedEntries:"已缓存条目",storageUsed:"已用存储",totalSize:"总大小"},actions:{clear:"清除缓存",confirmClear:"确定要清除缓存吗?"},messages:{cacheCleared:"缓存已清除",cacheSettingsUpdated:"缓存设置已更新"}},La={title:"模型池",description:"配置模型池以实现高可用性和负载均衡",stats:{total:"总池数",enabled:"已启用"},actions:{add:"添加模型池",edit:"编辑模型池",delete:"删除模型池",autoDiscover:"自动发现"},deleteConfirm:'确定要删除模型池 "{name}" 吗?',emptyState:{title:"未找到模型池",message:"添加模型池以启用高可用性和负载均衡。"},modelType:"模型类型",embedding:"嵌入",llm:"LLM",reranker:"重排序",targetModel:"目标模型",selectTargetModel:"选择目标模型...",strategy:"策略",roundRobin:"轮询",latencyAware:"延迟感知",weightedRandom:"加权随机",poolEnabled:"池已启用",autoDiscover:"自动发现提供商",excludedProviders:"排除的提供商",defaultCooldown:"默认冷却时间(秒)",defaultConcurrent:"默认并发数",discoveredProviders:"已发现的提供商",excludeProvider:"排除",includeProvider:"包含",noProvidersFound:"未找到提供此模型的提供商",poolSaved:"模型池已保存",embeddingPoolDesc:"配置模型池以实现跨多个提供商的高可用性和负载均衡",embeddingPool:"嵌入池",discovered:"已发现",providers:"提供商"},$a={title:"CLI 设置",description:"配置 CLI 工具设置和模式",modalDescription:"为不同的端点配置 Claude CLI 包装器设置",stats:{total:"总设置数",enabled:"已启用"},actions:{add:"添加 CLI 设置",edit:"编辑 CLI 设置",delete:"删除 CLI 设置"},deleteConfirm:'确定要删除 CLI 设置 "{name}" 吗?',emptyState:{title:"未找到 CLI 设置",message:"添加 CLI 设置以配置工具特定选项。"},searchPlaceholder:"按名称或描述搜索...",mode:"模式",providerBased:"基于提供商",direct:"直接",authToken:"认证令牌",baseUrl:"基础 URL",model:"模型",namePlaceholder:"例如:production-claude",descriptionPlaceholder:"此配置的可选描述",selectProvider:"选择提供商",includeCoAuthoredBy:"在提交中包含 co-authored-by",coAuthoredBy:"共同创作",availableModels:"可用模型",availableModelsPlaceholder:"输入模型名称并按回车",availableModelsHint:"显示在 CLI 下拉菜单中的模型。点击 × 删除。",nameFormatHint:"仅限字母、数字、连字符和下划线。用作:ccw cli --tool [名称]",nameTooLong:"名称必须在 {max} 个字符以内",configJson:"配置(JSON)",configJsonPlaceholder:`{
10
10
  "env": {
11
11
  "CUSTOM_VAR": "value"
12
12
  }
13
13
  }`,configJsonHint:"JSON 格式的额外配置。将与上述表单字段合并。",invalidJson:"无效的 JSON",configMustBeObject:"配置必须是一个 JSON 对象",settingsFile:"配置文件路径",settingsFilePlaceholder:"例如:/path/to/settings.json",settingsFileHint:"外部 Claude CLI 配置文件路径(通过 --settings 参数传递)",tags:"标签",tagsDescription:"CLI 工具路由和自动选择标签(例如:分析、Debug)",addTag:"添加标签",tagInputPlaceholder:"输入标签...",predefinedTags:"常用标签",removeTag:"删除标签",noTags:"未添加标签",validation:{providerRequired:"请选择提供商",authOrBaseUrlRequired:"请输入认证令牌或基础 URL"},saveError:"保存 CLI 设置失败",deleteError:"删除 CLI 设置失败",toggleError:"切换 CLI 设置状态失败"},Ta={title:"CCW-LiteLLM 包",description:"管理 ccw-litellm Python 包安装",systemPythonMismatch:"检测到 ccw-litellm 已安装在系统 Python 中,但未安装到 CodexLens 虚拟环境(~/.codexlens/venv)里,所以这里显示未安装。点击“安装”即可安装到虚拟环境中。",status:{installed:"已安装",notInstalled:"未安装",version:"版本"},actions:{install:"安装",uninstall:"卸载",refreshStatus:"刷新状态"},messages:{installSuccess:"ccw-litellm 安装成功",installFailed:"ccw-litellm 安装失败",uninstallSuccess:"ccw-litellm 卸载成功",uninstallFailed:"ccw-litellm 卸载失败"},install:{title:"安装 CCW-LiteLLM",description:"将 ccw-litellm 安装到 CodexLens Python 虚拟环境中以支持嵌入功能。",checklist:"将要安装的内容",codexlensVenv:"CodexLens 虚拟环境",codexlensVenvDesc:"确保 CodexLens Python 虚拟环境就绪",litellmPackage:"ccw-litellm 包",litellmPackageDesc:"基于 LiteLLM 的嵌入客户端,支持多提供商",embeddingSupport:"嵌入支持",embeddingSupportDesc:"启用 LiteLLM 嵌入后端用于语义搜索",location:"安装位置",locationPath:"~/.codexlens/venv",timeEstimate:"安装可能需要 1-3 分钟,取决于网络速度。",installNow:"立即安装",installing:"安装中...",stage:{checkingVenv:"正在检查 CodexLens 虚拟环境...",detectingPackage:"正在检测 ccw-litellm 包来源...",installingDeps:"正在安装依赖项...",installingPackage:"正在安装 ccw-litellm 包...",verifying:"正在验证安装...",complete:"安装完成!"}}},Aa={save:"保存",cancel:"取消",confirm:"确认",delete:"删除",edit:"编辑",add:"添加",close:"关闭",loading:"加载中...",saving:"保存中...",error:"错误",success:"成功",warning:"警告",optional:"可选",enabled:"已启用",disabled:"已禁用",searchPlaceholder:"搜索...",noResults:"未找到结果",actions:"操作",name:"名称",description:"描述",type:"类型",status:"状态",provider:"提供商",enableThis:"启用此",showAll:"显示全部",validation:{nameRequired:"名称为必填项"}},Ma={settingsSaved:"设置保存成功",settingsDeleted:"设置删除成功",providerSaved:"提供商保存成功",providerDeleted:"提供商删除成功",providerUpdated:"提供商更新成功",endpointSaved:"端点保存成功",endpointDeleted:"端点删除成功",confirmDeleteProvider:"确定要删除此提供商吗?",confirmDeleteEndpoint:"确定要删除此端点吗?",confirmClearCache:"确定要清除缓存吗?",invalidJsonHeaders:"自定义请求头的 JSON 格式无效",failedToLoad:"加载数据失败",noProviders:"无提供商",noProvidersHint:"添加提供商以开始配置 API。",noEndpoints:"无端点",noEndpointsHint:"添加端点以创建自定义 API 映射。",configSynced:"配置已同步到 YAML 文件"},Ea={title:Sa,description:wa,tabs:ka,providers:xa,endpoints:Ia,cache:Da,modelPools:La,cliSettings:$a,ccwLitellm:Ta,common:Aa,messages:Ma},Fa={colorScheme:"颜色主题",themeMode:"明暗模式",customHue:"自定义色调"},Ha={blue:"经典蓝",green:"深邃绿",orange:"活力橙",purple:"优雅紫",custom:"自定义"},Na={light:"浅色",dark:"深色"},Ua={colorScheme:"选择{name}主题",themeMode:"选择{name}模式"},Ra="当前主题: {name}",Oa="色调: {value}°",ja="预览",Ga="保存自定义主题",Wa="重置为预设",qa={title:"渐变效果",off:"关闭",standard:"标准",enhanced:"增强",hoverGlow:"启用悬停光晕效果",bgAnimation:"启用背景渐变动画"},Ka={contrastWarning:"部分颜色组合可能不符合 WCAG AA 对比度要求:",fixSuggestion:"建议修复: 将{target}从 {original} 调整为 {suggested} (对比度: {ratio}:1)",applyFix:"应用修复",dismiss:"忽略"},Ba={label:"动效偏好",system:"跟随系统",reduce:"减少动效",enable:"启用动效"},_a={title:"主题槽位",default:"默认",custom1:"自定义 1",custom2:"自定义 2",copy:"复制槽位",rename:"重命名",delete:"删除",undoDelete:"槽位已删除,是否撤销?",undo:"撤销",limitReached:"最多只能创建 {limit} 个主题槽位",deleteConfirm:"确定删除此主题槽位?",cannotDeleteDefault:"无法删除默认槽位",renameEmpty:"槽位名称不能为空",copyOf:"{name}的副本",active:"使用中"},Ja={label:"风格档位",soft:"柔和",standard:"标准",highContrast:"高对比",softDesc:"降低饱和度,柔和色彩",standardDesc:"默认均衡外观",highContrastDesc:"增强可读性,色彩更鲜明"},Va={title:"背景图片",mode:{gradientOnly:"仅渐变",imageOnly:"仅图片",imageGradient:"图片+渐变"},searchPlaceholder:"搜索 Unsplash 图片...",customUrlPlaceholder:"自定义图片 URL...",apply:"应用",removeImage:"移除",effects:"视觉效果",blur:"模糊",darken:"暗化",saturation:"饱和度",frostedGlass:"内容区毛玻璃效果",grain:"噪点纹理叠加",vignette:"暗角效果",searchError:"搜索图片失败,请检查 Unsplash API 是否已配置。",noResults:"未找到图片",prev:"上一页",next:"下一页",loadFailed:"图片加载失败,已回退到渐变模式",upload:"上传本地图片",uploading:"上传中...",uploadError:"上传失败",fileTooLarge:"文件过大(最大 10MB)",invalidType:"仅支持 JPG、PNG、WebP、GIF"},za={label:"主题分享",copyCode:"复制主题代码",copied:"主题代码已复制到剪贴板",import:"导入主题",paste:"在此粘贴主题代码...",preview:"导入预览",apply:"应用主题",cancel:"取消",invalidCode:"无效的主题代码,请检查后重试。",incompatibleVersion:"此主题代码来自不兼容的版本,无法导入。",versionWarning:"此主题代码来自不同版本,部分设置可能不准确。",importSuccess:"主题导入成功",noSlotAvailable:"没有可用的主题槽位,请先删除一个自定义槽位。"},Qa={title:Fa,colorScheme:Ha,themeMode:Na,select:Ua,current:Ra,hueValue:Oa,preview:ja,"preview.background":"背景","preview.surface":"卡片","preview.accent":"强调色",save:Ga,reset:Wa,gradient:qa,accessibility:Ka,motion:Ba,slot:_a,styleTier:Ja,background:Va,share:za},Ya={title:"执行监控",subtitle:"查看实时执行状态和历史记录"},Xa={openCliViewer:"CLI 监控"},Za={title:"当前执行",noExecution:"当前没有正在执行的工作流",expand:"展开",collapse:"收起"},el={title:"统计数据",totalExecutions:"总执行次数",successRate:"成功率",avgDuration:"平均时长",nodeSuccessRate:"节点成功率"},tl={title:"执行历史",empty:"暂无执行历史",tabs:{byWorkflow:"按工作流",timeline:"时间线",list:"列表视图"}},sl={workflow:"工作流",status:"状态",dateRange:"日期范围",all:"所有工作流",allStatus:"所有状态"},ol={status:{pending:"待执行",running:"执行中",paused:"已暂停",completed:"已完成",failed:"已失败"},duration:"时长",startedAt:"开始时间",completedAt:"完成时间",nodes:"节点",progress:"进度",logs:"日志",viewDetails:"查看详情"},nl={page:Ya,actions:Xa,currentExecution:Za,stats:el,history:tl,filters:sl,execution:ol},il="钩子管理器",al="管理自动化工作流的 CLI 钩子",ll="所有工具",cl={SessionStart:"会话开始",UserPromptSubmit:"用户提交提示",PreToolUse:"工具使用前",PostToolUse:"工具使用后",Stop:"停止",Notification:"通知",SubagentStart:"子代理启动",SubagentStop:"子代理停止",PreCompact:"压缩前",SessionEnd:"会话结束",PostToolUseFailure:"工具使用失败后",PermissionRequest:"权限请求"},rl={name:"钩子名称",namePlaceholder:"my-hook",description:"描述",descriptionPlaceholder:"这个钩子是做什么的?",trigger:"触发事件",matcher:"工具匹配器",matcherPlaceholder:"例如:Write|Edit(可选)",matcherHelp:"用于匹配工具名称的正则表达式。留空以匹配所有工具。",command:"命令",commandPlaceholder:"echo 'Hello World'",commandHelp:"要执行的 Shell 命令。可以使用环境变量,如 $CLAUDE_TOOL_NAME。"},dl={nameRequired:"钩子名称为必填项",nameInvalid:"钩子名称只能包含字母、数字、连字符和下划线",triggerRequired:"触发事件为必填项",commandRequired:"命令为必填项"},pl={add:"添加钩子",addFirst:"创建您的第一个钩子",edit:"编辑",delete:"删除",deleteConfirm:'确定要删除钩子 "{hookName}" 吗?',enable:"启用",disable:"禁用",expand:"展开详情",collapse:"折叠详情",expandAll:"全部展开",collapseAll:"全部折叠"},ml={createTitle:"创建钩子",editTitle:'编辑钩子 "{hookName}"'},ul={total:"共 {count} 个",enabled:"{count} 个已启用",count:"{enabled}/{total} 个钩子"},gl={searchPlaceholder:"按名称、描述或触发事件搜索钩子..."},hl={title:"未找到钩子",description:"创建您的第一个钩子以自动化 CLI 工作流",noHooksInEvent:"此事件未配置钩子"},yl={title:"快速安装模板"},fl={title:"快速安装模板",description:"常见钩子模式的一键安装",categories:{notification:"通知",indexing:"索引",automation:"自动化",utility:"实用工具"},templates:{"session-start-notify":{name:"会话启动通知",description:"当新工作流会话创建时通知仪表盘"},"session-state-watch":{name:"会话状态监控",description:"监控会话元数据文件变更 (workflow-session.json)"},"stop-notify":{name:"停止通知",description:"Claude 完成响应时通知仪表盘"},"auto-format-on-write":{name:"写入后自动格式化",description:"Claude 写入或编辑文件后自动格式化"},"auto-lint-on-write":{name:"写入后自动检查",description:"Claude 写入或编辑文件后自动执行 lint 检查"},"block-sensitive-files":{name:"阻止敏感文件修改",description:"阻止修改敏感文件(.env、密钥、凭证)"},"git-auto-stage":{name:"Git 自动暂存",description:"Claude 完成响应时自动暂存所有已修改文件"},"post-edit-index":{name:"编辑后索引",description:"文件修改时通知索引服务"},"session-end-summary":{name:"会话结束摘要",description:"会话结束时发送摘要到仪表盘"},"project-state-inject":{name:"项目状态注入",description:"会话启动时注入项目约束和最近开发历史"},"memory-v2-extract":{name:"Memory V2 提取",description:"会话结束时触发第一阶段提取(空闲期后)"},"memory-v2-auto-consolidate":{name:"Memory V2 自动合并",description:"提取作业完成后触发第二阶段合并"},"memory-sync-dashboard":{name:"Memory 同步仪表盘",description:"变更时同步 Memory V2 状态到仪表盘"},"memory-auto-compress":{name:"自动内存压缩",description:"当条目超过阈值时自动压缩内存"},"memory-preview-extract":{name:"内存预览与提取",description:"预览提取队列并提取符合条件的会话"},"memory-status-check":{name:"内存状态检查",description:"检查内存提取和合并状态"}},actions:{install:"安装",installed:"已安装"}},vl={title:"钩子向导",launch:"向导",sectionTitle:"钩子向导",sectionDescription:"通过引导式分步向导创建钩子",platform:{detected:"检测到的平台",compatible:"兼容",incompatible:"不兼容",compatibilityError:"此钩子与您的平台不兼容",compatibilityWarning:"某些功能可能在您的平台上无法正常工作"},steps:{triggerEvent:"此钩子将触发于",review:{title:"检查配置",description:"创建前检查您的钩子配置",hookType:"钩子类型",trigger:"触发事件",platform:"平台",commandPreview:"命令预览",installTo:"安装到",scopeProject:"项目",scopeGlobal:"全局"}},navigation:{previous:"上一步",next:"下一步",create:"创建钩子",creating:"创建中..."},memoryUpdate:{title:"记忆更新向导",description:"配置钩子以在会话结束时更新 CLAUDE.md",shortDescription:"自动更新 CLAUDE.md",cliTool:"CLI 工具",cliToolHelp:"用于生成 CLAUDE.md 的 CLI 工具",threshold:"阈值(路径数)",thresholdHelp:"触发批量更新的路径数量(1-20)",timeout:"超时时间(秒)",timeoutHelp:"超过此时间自动刷新队列(60-1800)"},dangerProtection:{title:"危险操作保护向导",description:"配置危险操作的确认钩子",shortDescription:"确认危险操作",selectProtections:"选择要启用的保护类型",selectedProtections:"已选保护",options:{bashConfirm:"危险命令",bashConfirmDesc:"执行 rm -rf、shutdown、kill、format 等命令前确认",fileProtection:"敏感文件",fileProtectionDesc:"阻止修改 .env、.git/、密钥等敏感文件",gitDestructive:"Git 操作",gitDestructiveDesc:"强制推送、硬重置、删除分支前确认",networkConfirm:"网络访问",networkConfirmDesc:"执行 curl、wget、ssh、WebFetch 请求前确认",systemPaths:"系统路径",systemPathsDesc:"阻止/确认对 /etc、/usr、C:\\Windows 的操作",permissionChange:"权限变更",permissionChangeDesc:"执行 chmod、chown、icacls 操作前确认"}},skillContext:{title:"SKILL 上下文向导",description:"配置钩子以根据提示关键词加载 SKILL",shortDescription:"根据关键词自动加载 SKILL",loadingSkills:"正在加载可用的技能...",selectSkill:"选择技能",addPair:"添加技能配置",keywordMappings:"关键词映射",keywordsPlaceholder:"react,workflow,api",mode:"检测模式",modeKeyword:"关键词匹配",modeKeywordDesc:"检测到关键词时加载对应 SKILL",modeAuto:"自动检测",modeAutoDesc:"自动检测并按名称加载 SKILL",autoDescription:"自动检测模式将扫描用户提示中的 SKILL 名称,并自动加载匹配的上下文。所有可用技能如下所示。"}},bl={title:il,description:al,allTools:ll,trigger:cl,form:rl,validation:dl,actions:pl,dialog:ml,stats:ul,filters:gl,empty:hl,quickTemplates:yl,templates:fl,wizards:vl},Cl="代码索引",Pl="管理代码搜索索引以实现更快的导航和代码发现",Sl={status:"状态",actions:"操作",settings:"设置"},wl={idle:"空闲",building:"构建中",completed:"就绪",failed:"失败"},kl={rebuild:"重建索引",rebuildFull:"完全重建",cancel:"取消"},xl={totalFiles:"总文件数",totalFilesDesc:"索引中的文件数",lastUpdated:"最后更新",lastUpdatedDesc:"上次构建索引的时间",buildTime:"构建时间",buildTimeDesc:"上次构建所花费的时间",never:"从未索引"},Il={justNow:"刚刚",minutesAgo:"{value}分钟前",hoursAgo:"{value}小时前",daysAgo:"{value}天前"},Dl={rebuildFailed:"索引重建失败",loadFailed:"加载索引状态失败"},Ll={autoRebuild:"自动重建",autoRebuildDesc:"代码更改时自动重建索引",rebuildInterval:"重建间隔",rebuildIntervalDesc:"检查代码更改的频率"},$l={title:Cl,description:Pl,sections:Sl,status:wl,actions:kl,stats:xl,time:Il,errors:Dl,settings:Ll},Tl="规则管理器",Al="管理 Claude Code 记忆规则和配置",Ml={error:"错误",warning:"警告",info:"信息"},El={project:"项目",user:"用户"},Fl={edit:"编辑",delete:"删除",create:"创建规则",update:"更新规则",toggle:"切换启用状态",enable:"启用规则",disable:"禁用规则"},Hl={all:"全部",enabled:"已启用",disabled:"已禁用",location:"位置",category:"类别"},Nl="搜索规则...",Ul={title:"未找到规则",message:"没有规则匹配当前的筛选条件。",createFirst:"创建您的第一个规则以开始使用"},Rl={pattern:"模式",subdirectory:"目录"},Ol={addTitle:"创建新规则",editTitle:"编辑规则: {name}",deleteTitle:"删除规则",deleteConfirm:"确定要删除此规则吗?此操作无法撤销。",description:"配置 Claude Code 记忆规则以指导 AI 行为",form:{name:"规则名称",namePlaceholder:"例如:代码风格指南",description:"描述",descriptionPlaceholder:"简要描述此规则的作用",category:"类别",severity:"严重程度",fileName:"文件名",fileNamePlaceholder:"rule-name.md",location:"位置",subdirectory:"子目录(可选)",subdirectoryPlaceholder:"例如:coding/security",pattern:"文件模式(可选)",patternPlaceholder:"例如:src/**/*.ts",content:"规则内容",contentPlaceholder:"以 markdown 格式输入规则内容...",enabled:"已启用"},validation:{nameRequired:"规则名称为必填项",fileNameRequired:"文件名为必填项",fileNameMd:"文件名必须以 .md 结尾",locationRequired:"位置为必填项",contentRequired:"规则内容为必填项"},actions:{saving:"保存中..."}},jl={creating:"创建中...",updating:"更新中...",deleting:"删除中..."},Gl={title:Tl,description:Al,severity:Ml,location:El,actions:Fl,filters:Hl,searchPlaceholder:Nl,emptyState:Ul,card:Rl,dialog:Ol,status:jl},Wl="提示历史",ql="查看和分析您的提示历史记录,获取 AI 洞察",Kl="搜索提示...",Bl="按意图筛选",_l="按项目筛选",Jl={all:"所有意图",intent:"意图","bug-fix":"修复",feature:"功能",refactor:"重构",document:"文档",analyze:"分析"},Vl={all:"所有项目",project:"项目"},zl={totalCount:"总提示数",totalCountDesc:"所有存储的提示",avgLength:"平均长度",avgLengthDesc:"平均字符数",topIntent:"主要意图",topIntentDesc:"最常用的类别",noIntent:"无",avgQuality:"平均质量",avgQualityDesc:"质量分数分布"},Ql={high:"高",medium:"中",low:"低",none:"无"},Yl={untitled:"未命名提示",used:"已使用 {count} 次"},Xl={ungrouped:"未分组",session:"会话: {session}"},Zl={copy:"复制提示",copied:"已复制!",delete:"删除",expand:"展开",collapse:"收起"},ec={title:"AI 洞察",analyze:"分析",analyzing:"正在分析提示...",selectTool:"选择工具",confidence:"置信度",empty:{title:"暂无洞察",message:"运行分析以获取关于您提示模式的 AI 驱动洞察和改进建议。"},sections:{insights:"洞察",patterns:"检测到的模式",suggestions:"建议"}},tc={loading:"加载洞察历史...",patterns:"模式",suggestions:"建议",prompts:"提示",empty:{title:"暂无分析历史",message:"运行分析以查看历史洞察和模式。"}},sc={title:"洞察详情",patterns:"发现的模式",suggestions:"建议",promptsAnalyzed:"个提示已分析",noContent:"此洞察暂无模式或建议。",deleting:"删除中..."},oc={types:{refactor:"重构",optimize:"优化",fix:"修复",document:"文档"},effort:"工作量"},nc={deleteTitle:"删除提示",deleteConfirm:"确定要删除此提示吗?此操作无法撤销。",batchDeleteTitle:"批量删除提示",batchDeleteConfirm:"确定要删除 {count} 个选中的提示吗?此操作无法撤销。"},ic={selected:"已选 {count} 个",selectAll:"全选",clearSelection:"清除选择",deleteSelected:"删除选中"},ac={title:"未找到提示",message:"没有提示匹配当前筛选条件。",noPrompts:"暂无提示",createFirst:"创建您的第一个提示以开始构建历史记录"},lc={title:Wl,description:ql,searchPlaceholder:Kl,filterByIntent:Bl,filterByProject:_l,intents:Jl,projects:Vl,stats:zl,quality:Ql,card:Yl,timeline:Xl,actions:Zl,insights:ec,insightsHistory:tc,insightDetail:sc,suggestions:oc,dialog:nc,batch:ic,emptyState:ac},cc="文件浏览器",rc="浏览和搜索项目文件",dc={tree:"树形",list:"列表",compact:"紧凑"},pc={name:"名称",size:"大小",modified:"修改时间",type:"类型"},mc={loading:"正在加载文件树...",stats:"{files} 个项目",empty:"未找到文件",error:"加载文件树失败"},uc={loading:"正在加载文件内容...",errorTitle:"加载文件错误",emptyTitle:"未选择文件",emptyMessage:"从树形视图中选择一个文件以预览其内容",binaryTitle:"二进制文件",binaryMessage:"此文件类型无法预览",tooLargeTitle:"文件过大",tooLargeMessage:"文件超过预览限制 {size}",copy:"复制到剪贴板",lastModified:"最后修改: {time}"},gc={searchPlaceholder:"搜索文件...",selectRoot:"选择目录",rootDirectory:"根目录",noRoots:"没有可用目录",viewMode:"视图模式",sortBy:"排序方式",moreOptions:"更多选项",options:"选项",showHidden:"显示隐藏文件",expandAll:"全部展开",collapseAll:"全部折叠"},hc={loadFailed:"加载文件树失败",loadFileFailed:"加载文件内容失败",searchFailed:"搜索失败",networkError:"发生网络错误"},yc={hasClaudeMd:"包含 CLAUDE.md 上下文",gitRoot:"Git 仓库根目录",workspace:"工作区目录"},fc={title:cc,description:rc,viewMode:dc,sortOrder:pc,tree:mc,preview:uc,toolbar:gc,errors:hc,context:yc},vc="图浏览器",bc="可视化代码依赖关系",Cc={title:"筛选",nodeTypes:"节点类型",edgeTypes:"边类型",selectNodeTypes:"选择节点类型",selectEdgeTypes:"选择边类型",searchPlaceholder:"搜索节点...",showOnlyIssues:"仅显示问题",showIsolatedNodes:"显示孤立节点",minComplexity:"最小复杂度",maxDepth:"最大深度",reset:"重置"},Pc={component:"组件",module:"模块",function:"函数",class:"类",interface:"接口",variable:"变量",file:"文件",folder:"文件夹",dependency:"依赖",api:"API",database:"数据库",service:"服务",hook:"钩子",utility:"工具",unknown:"未知"},Sc={imports:"导入",exports:"导出",extends:"继承",implements:"实现",uses:"使用",dependsOn:"依赖",calls:"调用",instantiates:"实例化",contains:"包含",relatedTo:"相关",dataFlow:"数据流",event:"事件",unknown:"未知"},wc={fitView:"适应屏幕",refresh:"刷新",resetFilters:"重置筛选",export:"导出",settings:"设置",zoomIn:"放大",zoomOut:"缩小"},kc={title:"图例",nodeTypes:"节点类型",edgeTypes:"边类型",component:"组件",module:"模块",class:"类",function:"函数",variable:"变量",imports:"导入(实线)",calls:"调用(绿色线)",extends:"继承(虚线)"},xc={title:"图浏览器",nodeDetails:"节点详情",hasIssues:"存在问题",filePath:"文件路径",lineNumber:"行号",category:"类别",lineCount:"代码行数",documentation:"文档说明",tags:"标签",issues:"问题",instructions:"点击节点查看详情。使用工具栏筛选节点和边。"},Ic={nodes:"节点",edges:"边",loading:"加载图中...",updating:"更新中...",filtered:"显示 {count} / {total} 个节点"},Dc={loading:"加载图失败:{message}",empty:"没有可用的图数据",unknown:"发生未知错误"},Lc="没有可用的图数据。尝试调整筛选器或刷新页面。",$c={title:vc,description:bc,filters:Cc,nodeTypes:Pc,edgeTypes:Sc,actions:wc,legend:kc,sidebar:xc,status:Ic,error:Dc,empty:Lc},Tc="通知",Ac="全部已读",Mc="清空全部",Ec="显示更多",Fc="收起",Hc="暂无通知",Nc="通知将显示在这里",Uc={title:Tc,markAllRead:Ac,clearAll:Mc,showMore:Ec,showLess:Fc,empty:Hc,emptyHint:Nc},Rc="通知",Oc="关闭通知",jc="暂无通知",Gc="通知将显示在这里",Wc="全部已读",qc="清空全部",Kc="显示更多",Bc="收起",_c="系统通知",Jc="为重要事件显示浏览器原生通知",Vc="刚刚",zc="{0}分钟前",Qc="{0}小时前",Yc="{0}天前",Xc="1分钟前",Zc="1小时前",er="1天前",tr={system:"系统",websocket:"WebSocket",cli:"命令行",workflow:"工作流",user:"用户",external:"外部"},sr={low:"低",medium:"中",high:"高",critical:"紧急"},or={image:"图片",code:"代码",file:"文件",data:"数据",download:"下载"},nr={loading:"加载中...",success:"完成",retry:"重试"},ir={today:"今天",yesterday:"昨天",atTime:"{0}"},ar="标为已读",lr="标为未读",cr="已读",rr="未读",dr={title:Rc,close:Oc,empty:jc,emptyHint:Gc,markAllRead:Wc,clearAll:qc,showMore:Kc,showLess:Bc,systemNotifications:_c,systemNotificationsDesc:Jc,justNow:Vc,minutesAgo:zc,hoursAgo:Qc,daysAgo:Yc,oneMinuteAgo:Xc,oneHourAgo:Zc,oneDayAgo:er,sources:tr,priorities:sr,attachments:or,actions:nr,timestamps:ir,markAsRead:ar,markAsUnread:lr,read:cr,unread:rr},pr={noWorkspace:"未选择工作空间",recentPaths:"最近的项目",noRecentPaths:"没有最近的项目",current:"当前",browse:"浏览文件夹...",browseHint:"从计算机选择文件夹",manualPath:"手动输入...",removePath:"从最近记录中移除",ariaLabel:"工作空间选择器",dialog:{title:"选择项目文件夹",placeholder:"输入项目路径...",help:"您的项目目录路径",selectCurrent:"选择此文件夹",parentDir:"上级目录",loading:"加载中...",emptyDir:"空目录",accessDenied:"无法访问此目录"}},mr={switch:"切换工作空间",switchFailed:"切换工作空间失败",switchSuccess:"成功切换到 {path}"},ur={pathRequired:"项目路径不能为空",invalidPath:"无效的项目路径:{path}"},gr={switching:"正在切换工作空间...",refreshing:"正在刷新最近路径..."},hr={selector:pr,actions:mr,validation:ur,notifications:gr},yr="帮助中心",fr="获取 CCW 平台的完整文档、指南和支持资源",vr="完整文档",br={title:"命令概览",description:"了解可视化拖放式工作流编辑器"},Cr={title:"工作流概览",description:"浏览 40+ 命令,适用于工作流、问题、CLI 和内存"},Pr={title:"快速开始",description:"在几分钟内上手 CCW",guide:"入门指南",faq:"常见问题"},Sr="开始使用",wr="查看全部",kr={title:"搜索文档",description:"查找特定主题或命令的详细文档和示例",button:"搜索文档"},xr={title:"需要帮助?",description:"访问我们的文档、教程和社区支持资源",documentation:"文档",tutorials:"教程"},Ir={title:yr,description:fr,fullDocs:vr,commandsOverview:br,workflowsOverview:Cr,quickStart:Pr,getStarted:Sr,viewAll:wr,searchDocs:kr,support:xr},Dr={title:"CLI 查看器",subtitle:"{count, plural, =0 {暂无活动会话} other {# 个活动会话}}"},Lr={title:"布局",single:"单窗格",splitH:"水平分割",splitV:"垂直分割",grid:"2x2 网格"},$r={empty:"未选择执行",selectExecution:"选择执行",loading:"正在加载 {executionId} 的输出...",close:"关闭",maximize:"最大化",minimize:"最小化"},Tr={refresh:"刷新",clearAll:"清空所有",settings:"设置",back:"返回",addExecution:"添加",running:"运行中",executions:"执行",executionsList:"最近执行",fullscreen:"全屏",exitFullscreen:"退出全屏"},Ar={title:"暂无 CLI 执行",description:"从侧边栏选择一个执行或启动新的 CLI 会话以在此查看输出。",action:"查看执行列表"},Mr={noTabs:"暂无标签页",addTab:"添加标签页",closeTab:"关闭标签页",pinTab:"固定标签页",unpinTab:"取消固定"},Er={selectExecution:"选择执行",searchExecutions:"搜索执行...",noExecutions:"暂无可用执行",noMatchingExecutions:"未找到匹配的执行",alreadyOpen:"已打开",executionCount:"{available}/{total} 个执行可用"},Fr={splitHorizontal:"水平分割",splitVertical:"垂直分割",closePane:"关闭窗格"},Hr="暂无活动标签页",Nr="选择一个标签页或启动新的 CLI 执行",Ur="未找到执行",Rr="等待输出...",Or="暂无输出",jr={page:Dr,layout:Lr,pane:$r,toolbar:Tr,emptyState:Ar,tabs:Mr,picker:Er,paneActions:Fr,noActiveTab:Hr,selectOrCreate:Nr,executionNotFound:Ur,waitingForOutput:Rr,noOutput:Or},Gr="团队执行",Wr="可视化 Agent 团队的执行状态和消息流",qr="选择团队",Kr="请选择一个团队",Br="成员",_r="消息",Jr="已用时间",Vr="自动刷新",zr="按类型筛选",Qr="所有类型",Yr="阶段",Xr={active:"活跃",completed:"已完成",archived:"已归档"},Zr={active:"活跃",archived:"已归档",all:"全部"},ed="搜索团队...",td={members:"成员",messages:"消息",lastActivity:"最近活动",created:"创建时间"},sd={viewDetails:"查看详情",archive:"归档",unarchive:"取消归档",delete:"删除团队"},od={deleteTeam:"删除团队",deleteConfirm:"此操作不可撤销。这将永久删除该团队及其所有消息。",cancel:"取消",deleting:"删除中..."},nd={backToList:"返回团队列表"},id={pipeline:"流水线",artifacts:"产物",messages:"消息"},ad={loadFailed:"加载团队数据失败"},ld={title:"团队产物",plan:"计划",impl:"实现",test:"测试",review:"审查",noArtifacts:"暂无产物",viewFile:"查看文件",noRef:"内联数据"},cd={noTeams:"暂无团队",noTeamsDescription:"使用 /team:coordinate 创建团队以开始协作",noMatching:"没有匹配的团队",noMatchingDescription:"尝试调整搜索条件或筛选条件"},rd={title:"暂无活跃团队",description:"使用 /team:coordinate 创建团队以开始协作",noMessages:"暂无消息",noMessagesHint:"团队刚刚创建,等待第一条消息"},dd={title:"Pipeline 进度",plan:"计划",impl:"实现",test:"测试",review:"审查",completed:"已完成",inProgress:"进行中",pending:"待处理",blocked:"已阻塞",skipped:"已跳过",noStages:"此会话未定义流水线阶段"},pd={phase:"阶段",step:"步骤",gap:"差距迭代"},md={title:"团队成员",active:"活跃",idle:"空闲",lastAction:"最后动作",messageCount:"消息数",lastSeen:"最后活跃",ago:"前"},ud={title:"消息时间线",loadMore:"加载更多",showing:"显示 {showing} / {total} 条消息",filterFrom:"发送方",filterTo:"接收方",filterType:"消息类型",clearFilters:"清除筛选",expandData:"展开数据",collapseData:"折叠数据",noRef:"无引用"},gd={plan_ready:"计划就绪",plan_approved:"计划批准",plan_revision:"计划修订",task_unblocked:"任务解锁",impl_complete:"实现完成",impl_progress:"实现进度",test_result:"测试结果",review_result:"审查结果",fix_required:"需要修复",error:"错误",shutdown:"关闭",message:"消息"},hd={title:Gr,description:Wr,selectTeam:qr,noTeamSelected:Kr,members:Br,messages:_r,elapsed:Jr,autoRefresh:Vr,filterByType:zr,filterAll:Qr,stage:Yr,status:Xr,filters:Zr,searchPlaceholder:ed,card:td,actions:sd,dialog:od,detail:nd,tabs:id,error:ad,artifacts:ld,emptyState:cd,empty:rd,pipeline:dd,coordinates:pd,membersPanel:md,timeline:ud,messageType:gd},yd={title:"终端仪表板"},fd={sessions:"会话",workflow:"工作流",terminal:"终端工作台"},vd={title:"仪表板 KPI",activeSessions:"活跃会话",queueSize:"队列大小",alertCount:"告警数",errorCount:"错误数",idleCount:"空闲数"},bd={title:"检查器",noSelection:"选择一个项目以查看详情",associationChain:"关联链路"},Cd={queueTab:"队列",inspectorTab:"检查器",collapse:"折叠面板",expand:"展开面板"},Pd={createGroup:"新建分组",groupNamePrompt:"输入分组名称",defaultGroupName:"未命名分组",emptyGroup:"此分组暂无会话",noGroups:"暂无会话分组",sessionCount:"{count} 个会话",dragHint:"拖拽会话至其他分组"},Sd={title:"代理",noAgents:"暂无活跃代理",stepLabel:"步骤 {current}/{total}",statusRunning:"运行中",statusCompleted:"已完成",statusFailed:"已失败",statusPaused:"已暂停",statusPending:"等待中"},wd={title:"问题",sendToQueue:"发送到队列",addToQueue:"入队",addToQueueHint:"将选中的问题添加到执行队列",addedToQueue:"已入队!",addToQueueFailed:"添加到队列失败",queueModeHint:"队列项的执行模式",noIssues:"暂无问题",noIssuesDesc:"发现问题时将在此显示",error:"加载问题失败"},kd={title:"队列",noItems:"队列为空",noItemsDesc:"将问题发送到队列以启动工作流",error:"加载队列失败",order:"#{order}",dependsOn:"依赖: {deps}",blockedBy:"阻塞于: {deps}",status:{pending:"等待中",queued:"排队中",ready:"就绪",blocked:"已阻塞",executing:"执行中",completed:"已完成",failed:"已失败",cancelled:"已取消",skipped:"已跳过"},scheduler:{start:"启动",pause:"暂停",stop:"停止",status:{idle:"空闲",running:"运行中",paused:"已暂停",stopping:"停止中",completed:"已完成",failed:"已失败"},progress:"{percent}%",concurrency:"并发数",concurrencyLabel:"上限",stopConfirmTitle:"停止队列?",stopConfirmMessage:"执行中的任务将继续完成,但不会启动新任务。待处理项将保留在队列中。"}},xd={sessions:"会话",issues:"问题",queue:"队列",inspector:"检查器",files:"文件",layoutSingle:"单窗格",layoutSplitH:"左右分割",layoutSplitV:"上下分割",layoutGrid:"2x2 网格",launchCli:"新建会话",launchCliHint:"点击配置并创建新的 CLI 会话",fullscreen:"全屏",orchestrator:"编排器",scheduler:"调度器",executionMonitor:"执行监控"},Id={sessionPool:"会话池",noSessions:"无活跃会话"},Dd={noPlans:"没有活跃的编排任务",noPlansHint:"从编排器运行流程后,进度将显示在这里"},Ld={title:"创建 CLI 会话",description:"配置工具、模型、模式、Shell 与工作目录。",tag:"会话名称",tagPlaceholder:"例如:gemini-143052",tagHint:"自动生成格式:{工具}-{时间}。用于会话分组显示。",regenerateTag:"重新生成名称",tool:"工具",model:"模型",modelAuto:"自动",mode:"模式",modeDefault:"默认",modeYolo:"Yolo",shell:"Shell",workingDir:"工作目录",workingDirPlaceholder:"例如:/path/to/project",browse:"浏览",errors:{workingDirRequired:"工作目录不能为空。",createFailed:"创建会话失败。"}},$d={title:"文件浏览器",open:"打开文件浏览器",selected:"已选文件",noSelection:"未选择文件",copyPath:"复制路径",copied:"已复制",insertPath:"插入到终端",loading:"加载中...",loadFailed:"加载文件树失败",showHidden:"显示/隐藏过滤文件"},Td={title:"文件",refresh:"刷新",collapse:"折叠",noProject:"未打开项目",openProjectHint:"打开项目以浏览文件"},Ad={types:{workflowSession:"工作流",liteSession:"Lite",claudeMd:"CLAUDE.md",ccwConfig:"配置",issue:"问题"}},Md={selectSession:"选择会话",selectSessionHint:"从下拉菜单中选择终端会话",sessionNotFound:"会话已不存在",sessionNotFoundHint:"该会话可能已关闭或服务器已重启,请选择其他会话。",splitHorizontal:"向右分割",splitVertical:"向下分割",clearTerminal:"清屏",closePane:"关闭窗格",closeSession:"关闭会话",linkedIssue:"关联问题",restart:"重启会话",pause:"暂停会话",resume:"恢复会话",backToTerminal:"返回终端",closeConfirmTitle:"关闭窗格?",closeConfirmMessage:"会话仍将保留,可从会话树中恢复。",closeConfirmAction:"关闭窗格"},Ed={noTabs:"暂无终端会话"},Fd={noTerminal:"未选择终端",noTerminalHint:"从标签栏选择会话或创建新会话",issuePreview:"问题预览",issuePreviewHint:"选择终端会话或将此问题发送到队列以开始工作"},Hd={sessionTree:"会话分组将在此显示",agentList:"Agent 列表将在此显示",issuePanel:"问题面板将在此显示",queuePanel:"队列面板将在此显示",terminalWorkbench:"终端工作台将在此显示",kpiBar:"KPI 指标将在此显示",inspector:"检查器详情将在此显示"},Nd={page:yd,columns:fd,kpi:vd,inspector:bd,bottomPanel:Cd,sessionTree:Pd,agentList:Sd,issuePanel:wd,queuePanel:kd,toolbar:xd,schedulerPanel:Id,orchestratorPanel:Dd,cliConfig:Ld,fileBrowser:$d,fileSidebar:Td,artifacts:Ad,pane:Md,tabBar:Ed,workbench:Fd,placeholder:Hd},Ud="技能中心",Rd="发现并安装社区共享的技能",Od="链接",jd="主页",Gd="许可证",Wd={remote:"远程",local:"本地"},qd={installed:"已安装",updateAvailable:"有更新"},Kd={remote:"远程",local:"本地",installed:"已安装"},Bd={remote:"远程技能",remoteDesc:"来自社区",local:"本地技能",localDesc:"本地共享",installed:"已安装",installedDesc:"使用中的技能",updates:"更新",updatesDesc:"有新版本可用"},_d={placeholder:"搜索技能..."},Jd={allCategories:"全部分类"},Vd={refresh:"刷新",install:"安装",installing:"安装中...",update:"更新",uninstall:"卸载",viewDetails:"查看详情"},zd={tags:"标签",updated:"更新于: {date}"},Qd={success:"技能 '{name}' 安装成功",error:"安装技能失败: {error}"},Yd={success:"技能 '{name}' 已卸载",error:"卸载技能失败: {error}"},Xd={success:"技能列表已刷新"},Zd={comingSoon:"详情视图即将推出"},ep={loadFailed:"加载技能失败。请检查网络连接。"},tp={remote:{title:"暂无远程技能",description:"远程技能仓库为空或无法访问。"},local:{title:"暂无本地技能",description:"将技能添加到 ~/.ccw/skill-hub/local/ 即可共享。"},installed:{title:"暂无已安装技能",description:"从远程或本地标签页安装技能以使用它们。"}},sp="安装信息",op="安装到",np="安装时间",ip="最新版本",ap={title:Ud,description:Rd,links:Od,homepage:jd,license:Gd,source:Wd,status:qd,tabs:Kd,stats:Bd,search:_d,filter:Jd,actions:Vd,card:zd,install:Qd,uninstall:Yd,refresh:Xd,details:Zd,error:ep,empty:tp,installationInfo:sp,installedTo:op,installedAt:np,latestVersion:ip},lp="原生会话",cp={total:"总 Token 数",input:"输入 Token",output:"输出 Token",cached:"缓存 Token"},rp={turnNumber:"第 {number} 轮",tokens:{input:"输入: {count}",output:"输出: {count}",cached:"缓存: {count}"},toolCall:{completed:"已完成",running:"运行中",error:"错误",noData:"无数据"}},dp={latest:"最新",thoughts:"思考过程",toolCalls:"工具调用"},pp={input:"输入",output:"输出"},mp={startTime:"开始时间",workingDir:"工作目录",projectHash:"项目哈希",turns:"轮次"},up="总 Token",gp="加载会话中...",hp="加载会话失败",yp="无会话数据",fp={copied:"已复制!",copySessionId:"复制会话 ID",exportJson:"导出 JSON"},vp={title:lp,tokens:cp,timeline:rp,turn:dp,toolCall:pp,meta:mp,tokenSummary:up,loading:gp,error:hp,empty:yp,footer:fp},bp="规范设置",Cp="管理规范注入、钩子和系统设置",Pp="项目规范",Sp="个人",wp="钩子",kp="注入控制",xp="设置",Ip="搜索规范...",Dp="重建索引",Lp="加载中...",$p="未找到规范。请在 .ccw/ 目录中创建规范文件。",Tp="必读",Ap={specs:"项目规范",personal:"个人规范",roadmap:"路线图",changelog:"变更日志"},Mp={all:"全部",global:"全局",project:"项目"},Ep="按范围筛选:",Fp="工作流阶段:",Hp={all:"全部",general:"通用",exploration:"探索",planning:"规划",execution:"执行"},Np="推荐钩子",Up="一键安装系统预设的规范注入钩子",Rp="安装所有推荐钩子",Op="安装所有钩子",jp="已安装所有钩子",Gp="已安装",Wp="管理钩子",qp="事件",Kp="范围",Bp="安装",_p="已安装",Jp="安装中...",Vp="已安装钩子",zp="管理已安装的钩子配置",Qp="搜索钩子...",Yp="未安装钩子。请安装上方的推荐钩子。",Xp={view:"查看内容",edit:"编辑",delete:"删除",reset:"重置",save:"保存",saving:"保存中..."},Zp={enabled:"已启用",disabled:"已禁用"},em={required:"必读",optional:"选读"},tm={critical:"关键",high:"高",medium:"中",low:"低"},sm={edit:"编辑规范",toggle:"切换状态",delete:"删除规范",deleteConfirm:"确定要删除此规范吗?",title:"规范标题",keywords:"关键词",keywordsPlaceholder:"输入关键词,用逗号分隔",readMode:"读取模式",priority:"优先级",file:"文件路径"},om={install:"安装",uninstall:"卸载",edit:"编辑钩子",toggle:"切换状态",delete:"删除钩子",enabled:"已启用",disabled:"已禁用",installed:"已安装",notInstalled:"未安装",scope:{global:"全局",project:"项目"},event:{SessionStart:"会话开始",UserPromptSubmit:"提示词提交",SessionEnd:"会话结束"},name:"钩子名称",eventLabel:"触发事件",command:"执行命令",scopeLabel:"作用域",timeout:"超时时间(ms)",failMode:"失败模式",failModeContinue:"继续",failModeBlock:"阻止",failModeWarn:"警告"},nm={installSuccess:"钩子安装成功",installError:"钩子安装失败",installAllSuccess:"所有钩子安装成功"},im={hookEvents:"选择钩子触发的事件类型",hookScope:"全局钩子应用于所有项目,项目钩子仅当前项目",hookCommand:"执行的命令,可使用环境变量",hookTimeout:"命令执行的超时时间",hookFailMode:"命令执行失败时的处理方式"},am={cancel:"取消",save:"保存",delete:"删除",edit:"编辑",reset:"重置",confirm:"确认",close:"关闭"},lm={edit:"编辑",view:"查看",metadata:"元数据",markdownContent:"Markdown 内容",noContent:"无可用内容",editHint:"编辑完整的 markdown 内容包括 frontmatter。对 frontmatter 的更改将反映在规范元数据中。",placeholder:`# 规范标题
14
14
 
15
15
  内容在这里...`},cm={title:"注入控制",statusTitle:"当前注入状态",settingsTitle:"注入控制设置",settingsDescription:"配置如何将规范内容注入到 AI 上下文中。",currentLength:"当前长度",maxLength:"最大注入长度(字符)",maxLengthHelp:"推荐值:4000-10000。过大会消耗过多上下文,过小可能截断重要规范。",warnThreshold:"警告阈值",warnThresholdLabel:"警告阈值(字符)",warnThresholdHelp:"当注入长度超过此值时显示警告。",percentage:"使用率",truncateOnExceed:"超出时截断",truncateHelp:"当内容超出最大长度时自动截断。",overLimit:"已超出限制",overLimitDescription:"当前注入内容已超出最大长度限制 {max} 字符,超出部分将被截断。",warning:"接近限制",normal:"正常",characters:"字符",chars:"字符",lines:"行",maxLimit:"最大",quickPresets:"快速预设:",statsInfo:"统计信息",requiredLength:"必读规范长度:",matchedLength:"关键词匹配长度:",remaining:"剩余空间:",loadError:"加载统计数据失败",saveSuccess:"设置已保存",saveError:"保存设置失败",filesList:"注入文件列表",files:"个文件",noFiles:"没有匹配此命令的文件",loadingPreview:"加载预览中...",commandPreview:"命令注入预览",commandPreviewDesc:"预览不同 CLI 命令将注入的内容"},rm={default:{label:"全部类别",description:"加载所有必读规范,不进行类别过滤"},exploration:{label:"探索",description:"代码探索、分析、调试相关规范"},planning:{label:"规划",description:"任务规划、需求相关规范"},execution:{label:"执行",description:"实现、测试、部署相关规范"},general:{label:"通用",description:"适用于所有阶段的规范"}},dm={title:"全局设置",description:"配置个人规范默认值和系统设置",personalSpecDefaults:"个人规范默认值",personalSpecDefaultsDesc:"创建新的个人规范时将应用这些设置",defaultReadMode:"默认读取模式",defaultReadModeHelp:"新创建的个人规范的默认读取模式",selectReadMode:"选择读取模式",autoEnable:"自动启用新规范",autoEnableDescription:"新创建的个人规范默认设置为必读(readMode=required),自动加入注入上下文",specStatistics:"规范统计",totalSpecs:"总计:{count} 个规范文件",devProgressInjection:"开发进度注入",devProgressInjectionDesc:"控制如何将 project-tech.json 中的开发进度注入到 AI 上下文中",enableDevProgress:"启用注入",enableDevProgressDesc:"在 AI 上下文中包含开发历史记录",maxEntries:"每类最大条目数",maxEntriesDesc:"每个类别包含的最大条目数 (1-50)",includeCategories:"包含的类别",categoriesDesc:"点击切换类别包含状态",devProgressStats:"共 {total} 条记录,来自 {sessions} 个会话,最后更新:{date}",devProgressStatsNoDate:"共 {total} 条记录,来自 {sessions} 个会话"},pm={feature:"新功能",enhancement:"增强",bugfix:"修复",refactor:"重构",docs:"文档"},mm={cancel:"取消",save:"保存",close:"关闭",editSpec:"编辑规范",editHook:"编辑钩子",confirmDelete:"确认删除",specTitle:"规范标题",keywords:"关键词",readMode:"读取模式",priority:"优先级",hookName:"钩子名称",hookEvent:"触发事件",hookCommand:"执行命令",hookScope:"作用域",hookTimeout:"超时时间(ms)",hookFailMode:"失败模式",editTitle:"编辑规范:{title}",editDescription:"修改规范元数据和设置。"},um={readMode:"读取模式",priority:"优先级",keywords:"关键词",keywordsPlaceholder:"输入关键词,按回车或逗号添加",title:"标题",titlePlaceholder:"输入规范标题",addKeyword:"添加关键词",keywordsHint:"关键词有助于将选读规范匹配到相关任务",fileInfo:"文件:{file}",saving:"保存中..."},gm={titleRequired:"标题为必填项"},hm={pageTitle:bp,pageDescription:Cp,tabProjectSpecs:Pp,tabPersonalSpecs:Sp,tabHooks:wp,tabInjection:kp,tabSettings:xp,searchPlaceholder:Ip,rebuildIndex:Dp,loading:Lp,noSpecs:$p,required:Tp,dimension:Ap,scope:Mp,filterByScope:Ep,filterByCategory:Fp,category:Hp,recommendedHooks:Np,recommendedHooksDesc:Up,installAll:Rp,installAllHooks:Op,allHooksInstalled:jp,hooksInstalled:Gp,manageHooks:Wp,hookEvent:qp,hookScope:Kp,install:Bp,installed:_p,installing:Jp,installedHooks:Vp,installedHooksDesc:zp,searchHooks:Qp,noHooks:Yp,actions:Xp,status:Zp,readMode:em,priority:tm,spec:sm,hook:om,hooks:nm,hints:im,common:am,content:lm,injection:cm,commandPreview:rm,settings:dm,devCategory:pm,dialog:mm,form:um,validation:gm},ym="DeepWiki",fm="代码文档深度链接系统",vm={documents:"文档",index:"符号索引",stats:"统计"},bm={title:"已索引文件",search:"搜索文件...",noResults:"没有匹配的文件",empty:"暂无已索引文件"},Cm={toc:"符号",empty:{title:"选择文件",message:"从列表中选择文件以查看文档"},error:{title:"加载文档失败"},copyLink:"复制深度链接到 {name}",linkCopied:"链接已复制"},Pm={search:"搜索符号...",noResults:"未找到符号",placeholder:"输入搜索词查找符号"},Sm={available:"数据库已连接",unavailable:"数据库不可用",files:"文件",symbols:"符号",docs:"文档",needingDocs:"待生成",howTo:{title:"文档索引",description:"DeepWiki 自动索引代码中的符号和文档。当前为只读模式。"}},wm={refresh:"刷新"},km={title:ym,description:fm,tabs:vm,files:bm,viewer:Cm,index:Pm,stats:Sm,actions:wm};function e(n,i=""){const s={};for(const o in n){const a=i?`${i}.${o}`:o,t=n[o];typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.assign(s,e(t,a)):typeof t=="string"&&(s[a]=t)}return s}const xm={...e(F,"common"),...e(W,"navigation"),...e(ee,"sessions"),...e(Se,"issues"),...e(Ne,"home"),...e(nt,"orchestrator"),...e(ht,"loops"),...e(Lt,"commands"),...e(Wt,"memory"),...e(is,"settings"),...e(ys,"fixSession"),...e(As,"history"),...e(oo,"liteTasks"),...e(go,"projectOverview"),...e(Ho,"reviewSession"),...e(_o,"sessionDetail"),...e(yn,"skills"),...e(xn,"cli-manager"),...e(ci,"cliMonitor"),...e(Bi,"mcp"),...e(Pa,"codexlens"),...e(Ea,"apiSettings"),...e(Qa,"theme"),...e(bl,"cliHooks"),...e(nl,"executionMonitor"),...e($l,"index"),...e(Gl,"rules"),...e(lc,"prompts"),...e(fc,"explorer"),...e($c,"graph"),...e(Uc,"notificationPanel"),...e(dr,"notifications"),...e(hr,"workspace"),...e(Ir,"help"),...e(jr,"cliViewer"),...e(hd,"team"),...e(Nd,"terminalDashboard"),...e(ap,"skillHub"),...e(vp,"nativeSession"),...e(hm,"specs"),...e(km,"deepwiki")};export{xm as default};
16
- //# sourceMappingURL=index-B9aFbBPN.js.map
16
+ //# sourceMappingURL=index-BpoRYgiq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-B9aFbBPN.js","sources":["../../src/locales/zh/index.ts"],"sourcesContent":["/**\r\n * Chinese (Simplified) translations\r\n * Consolidated exports for all Chinese translation files\r\n */\r\n\r\nimport common from './common.json';\r\nimport navigation from './navigation.json';\r\nimport sessions from './sessions.json';\r\nimport issues from './issues.json';\r\nimport home from './home.json';\r\nimport orchestrator from './orchestrator.json';\r\nimport loops from './loops.json';\r\nimport commands from './commands.json';\r\nimport memory from './memory.json';\r\nimport settings from './settings.json';\r\nimport fixSession from './fix-session.json';\r\nimport history from './history.json';\r\nimport liteTasks from './lite-tasks.json';\r\nimport projectOverview from './project-overview.json';\r\nimport reviewSession from './review-session.json';\r\nimport sessionDetail from './session-detail.json';\r\nimport skills from './skills.json';\r\nimport cliManager from './cli-manager.json';\r\nimport cliMonitor from './cli-monitor.json';\r\nimport mcpManager from './mcp-manager.json';\r\nimport codexlens from './codexlens.json';\r\nimport apiSettings from './api-settings.json';\r\nimport theme from './theme.json';\r\nimport executionMonitor from './execution-monitor.json';\r\nimport cliHooks from './cli-hooks.json';\r\nimport index from './index.json';\r\nimport rules from './rules.json';\r\nimport prompts from './prompts.json';\r\nimport explorer from './explorer.json';\r\nimport graph from './graph.json';\r\nimport notification from './notification.json';\r\nimport notifications from './notifications.json';\r\nimport workspace from './workspace.json';\r\nimport help from './help.json';\r\nimport cliViewer from './cli-viewer.json';\r\nimport team from './team.json';\r\nimport terminalDashboard from './terminal-dashboard.json';\r\nimport skillHub from './skill-hub.json';\r\nimport nativeSession from './native-session.json';\r\nimport specs from './specs.json';\r\nimport deepwiki from './deepwiki.json';\r\n\r\n/**\r\n * Flattens nested JSON object to dot-separated keys\r\n * e.g., { actions: { save: 'Save' } } => { 'actions.save': 'Save' }\r\n */\r\nfunction flattenMessages(obj: Record<string, unknown>, prefix = ''): Record<string, string> {\r\n const result: Record<string, string> = {};\r\n\r\n for (const key in obj) {\r\n const fullKey = prefix ? `${prefix}.${key}` : key;\r\n const value = obj[key];\r\n\r\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\r\n Object.assign(result, flattenMessages(value as Record<string, unknown>, fullKey));\r\n } else if (typeof value === 'string') {\r\n result[fullKey] = value;\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Consolidated and flattened Chinese messages\r\n */\r\nexport default {\r\n ...flattenMessages(common, 'common'),\r\n ...flattenMessages(navigation, 'navigation'),\r\n ...flattenMessages(sessions, 'sessions'),\r\n ...flattenMessages(issues, 'issues'),\r\n ...flattenMessages(home, 'home'),\r\n ...flattenMessages(orchestrator, 'orchestrator'),\r\n ...flattenMessages(loops, 'loops'),\r\n ...flattenMessages(commands, 'commands'),\r\n ...flattenMessages(memory, 'memory'),\r\n ...flattenMessages(settings, 'settings'),\r\n ...flattenMessages(fixSession, 'fixSession'),\r\n ...flattenMessages(history, 'history'),\r\n ...flattenMessages(liteTasks, 'liteTasks'),\r\n ...flattenMessages(projectOverview, 'projectOverview'),\r\n ...flattenMessages(reviewSession, 'reviewSession'),\r\n ...flattenMessages(sessionDetail, 'sessionDetail'),\r\n ...flattenMessages(skills, 'skills'),\r\n ...flattenMessages(cliManager, 'cli-manager'),\r\n ...flattenMessages(cliMonitor, 'cliMonitor'),\r\n ...flattenMessages(mcpManager, 'mcp'),\r\n ...flattenMessages(codexlens, 'codexlens'),\r\n ...flattenMessages(apiSettings, 'apiSettings'),\r\n ...flattenMessages(theme, 'theme'),\r\n ...flattenMessages(cliHooks, 'cliHooks'),\r\n ...flattenMessages(executionMonitor, 'executionMonitor'),\r\n ...flattenMessages(index, 'index'),\r\n ...flattenMessages(rules, 'rules'),\r\n ...flattenMessages(prompts, 'prompts'),\r\n ...flattenMessages(explorer, 'explorer'),\r\n ...flattenMessages(graph, 'graph'),\r\n ...flattenMessages(notification, 'notificationPanel'),\r\n ...flattenMessages(notifications, 'notifications'),\r\n ...flattenMessages(workspace, 'workspace'),\r\n ...flattenMessages(help, 'help'),\r\n ...flattenMessages(cliViewer, 'cliViewer'),\r\n ...flattenMessages(team, 'team'),\r\n ...flattenMessages(terminalDashboard, 'terminalDashboard'),\r\n ...flattenMessages(skillHub, 'skillHub'),\r\n ...flattenMessages(nativeSession, 'nativeSession'),\r\n ...flattenMessages(specs, 'specs'),\r\n ...flattenMessages(deepwiki, 'deepwiki'),\r\n} as Record<string, string>;\r\n"],"names":["flattenMessages","obj","prefix","result","key","fullKey","value","index","common","navigation","sessions","issues","home","orchestrator","loops","commands","memory","settings","fixSession","history","liteTasks","projectOverview","reviewSession","sessionDetail","skills","cliManager","cliMonitor","mcpManager","codexlens","apiSettings","theme","cliHooks","executionMonitor","rules","prompts","explorer","graph","notification","notifications","workspace","help","cliViewer","team","terminalDashboard","skillHub","nativeSession","specs","deepwiki"],"mappings":";;;;;;;;;;;;;;itHAmDA,SAASA,EAAgBC,EAA8BC,EAAS,GAA4B,CAC1F,MAAMC,EAAiC,CAAA,EAEvC,UAAWC,KAAOH,EAAK,CACrB,MAAMI,EAAUH,EAAS,GAAGA,CAAM,IAAIE,CAAG,GAAKA,EACxCE,EAAQL,EAAIG,CAAG,EAEjB,OAAOE,GAAU,UAAYA,IAAU,MAAQ,CAAC,MAAM,QAAQA,CAAK,EACrE,OAAO,OAAOH,EAAQH,EAAgBM,EAAkCD,CAAO,CAAC,EACvE,OAAOC,GAAU,WAC1BH,EAAOE,CAAO,EAAIC,EAEtB,CAEA,OAAOH,CACT,CAKA,MAAAI,GAAe,CACb,GAAGP,EAAgBQ,EAAQ,QAAQ,EACnC,GAAGR,EAAgBS,EAAY,YAAY,EAC3C,GAAGT,EAAgBU,GAAU,UAAU,EACvC,GAAGV,EAAgBW,GAAQ,QAAQ,EACnC,GAAGX,EAAgBY,GAAM,MAAM,EAC/B,GAAGZ,EAAgBa,GAAc,cAAc,EAC/C,GAAGb,EAAgBc,GAAO,OAAO,EACjC,GAAGd,EAAgBe,GAAU,UAAU,EACvC,GAAGf,EAAgBgB,GAAQ,QAAQ,EACnC,GAAGhB,EAAgBiB,GAAU,UAAU,EACvC,GAAGjB,EAAgBkB,GAAY,YAAY,EAC3C,GAAGlB,EAAgBmB,GAAS,SAAS,EACrC,GAAGnB,EAAgBoB,GAAW,WAAW,EACzC,GAAGpB,EAAgBqB,GAAiB,iBAAiB,EACrD,GAAGrB,EAAgBsB,GAAe,eAAe,EACjD,GAAGtB,EAAgBuB,GAAe,eAAe,EACjD,GAAGvB,EAAgBwB,GAAQ,QAAQ,EACnC,GAAGxB,EAAgByB,GAAY,aAAa,EAC5C,GAAGzB,EAAgB0B,GAAY,YAAY,EAC3C,GAAG1B,EAAgB2B,GAAY,KAAK,EACpC,GAAG3B,EAAgB4B,GAAW,WAAW,EACzC,GAAG5B,EAAgB6B,GAAa,aAAa,EAC7C,GAAG7B,EAAgB8B,GAAO,OAAO,EACjC,GAAG9B,EAAgB+B,GAAU,UAAU,EACvC,GAAG/B,EAAgBgC,GAAkB,kBAAkB,EACvD,GAAGhC,EAAgBO,GAAO,OAAO,EACjC,GAAGP,EAAgBiC,GAAO,OAAO,EACjC,GAAGjC,EAAgBkC,GAAS,SAAS,EACrC,GAAGlC,EAAgBmC,GAAU,UAAU,EACvC,GAAGnC,EAAgBoC,GAAO,OAAO,EACjC,GAAGpC,EAAgBqC,GAAc,mBAAmB,EACpD,GAAGrC,EAAgBsC,GAAe,eAAe,EACjD,GAAGtC,EAAgBuC,GAAW,WAAW,EACzC,GAAGvC,EAAgBwC,GAAM,MAAM,EAC/B,GAAGxC,EAAgByC,GAAW,WAAW,EACzC,GAAGzC,EAAgB0C,GAAM,MAAM,EAC/B,GAAG1C,EAAgB2C,GAAmB,mBAAmB,EACzD,GAAG3C,EAAgB4C,GAAU,UAAU,EACvC,GAAG5C,EAAgB6C,GAAe,eAAe,EACjD,GAAG7C,EAAgB8C,GAAO,OAAO,EACjC,GAAG9C,EAAgB+C,GAAU,UAAU,CACzC"}
1
+ {"version":3,"file":"index-BpoRYgiq.js","sources":["../../src/locales/zh/index.ts"],"sourcesContent":["/**\r\n * Chinese (Simplified) translations\r\n * Consolidated exports for all Chinese translation files\r\n */\r\n\r\nimport common from './common.json';\r\nimport navigation from './navigation.json';\r\nimport sessions from './sessions.json';\r\nimport issues from './issues.json';\r\nimport home from './home.json';\r\nimport orchestrator from './orchestrator.json';\r\nimport loops from './loops.json';\r\nimport commands from './commands.json';\r\nimport memory from './memory.json';\r\nimport settings from './settings.json';\r\nimport fixSession from './fix-session.json';\r\nimport history from './history.json';\r\nimport liteTasks from './lite-tasks.json';\r\nimport projectOverview from './project-overview.json';\r\nimport reviewSession from './review-session.json';\r\nimport sessionDetail from './session-detail.json';\r\nimport skills from './skills.json';\r\nimport cliManager from './cli-manager.json';\r\nimport cliMonitor from './cli-monitor.json';\r\nimport mcpManager from './mcp-manager.json';\r\nimport codexlens from './codexlens.json';\r\nimport apiSettings from './api-settings.json';\r\nimport theme from './theme.json';\r\nimport executionMonitor from './execution-monitor.json';\r\nimport cliHooks from './cli-hooks.json';\r\nimport index from './index.json';\r\nimport rules from './rules.json';\r\nimport prompts from './prompts.json';\r\nimport explorer from './explorer.json';\r\nimport graph from './graph.json';\r\nimport notification from './notification.json';\r\nimport notifications from './notifications.json';\r\nimport workspace from './workspace.json';\r\nimport help from './help.json';\r\nimport cliViewer from './cli-viewer.json';\r\nimport team from './team.json';\r\nimport terminalDashboard from './terminal-dashboard.json';\r\nimport skillHub from './skill-hub.json';\r\nimport nativeSession from './native-session.json';\r\nimport specs from './specs.json';\r\nimport deepwiki from './deepwiki.json';\r\n\r\n/**\r\n * Flattens nested JSON object to dot-separated keys\r\n * e.g., { actions: { save: 'Save' } } => { 'actions.save': 'Save' }\r\n */\r\nfunction flattenMessages(obj: Record<string, unknown>, prefix = ''): Record<string, string> {\r\n const result: Record<string, string> = {};\r\n\r\n for (const key in obj) {\r\n const fullKey = prefix ? `${prefix}.${key}` : key;\r\n const value = obj[key];\r\n\r\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\r\n Object.assign(result, flattenMessages(value as Record<string, unknown>, fullKey));\r\n } else if (typeof value === 'string') {\r\n result[fullKey] = value;\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Consolidated and flattened Chinese messages\r\n */\r\nexport default {\r\n ...flattenMessages(common, 'common'),\r\n ...flattenMessages(navigation, 'navigation'),\r\n ...flattenMessages(sessions, 'sessions'),\r\n ...flattenMessages(issues, 'issues'),\r\n ...flattenMessages(home, 'home'),\r\n ...flattenMessages(orchestrator, 'orchestrator'),\r\n ...flattenMessages(loops, 'loops'),\r\n ...flattenMessages(commands, 'commands'),\r\n ...flattenMessages(memory, 'memory'),\r\n ...flattenMessages(settings, 'settings'),\r\n ...flattenMessages(fixSession, 'fixSession'),\r\n ...flattenMessages(history, 'history'),\r\n ...flattenMessages(liteTasks, 'liteTasks'),\r\n ...flattenMessages(projectOverview, 'projectOverview'),\r\n ...flattenMessages(reviewSession, 'reviewSession'),\r\n ...flattenMessages(sessionDetail, 'sessionDetail'),\r\n ...flattenMessages(skills, 'skills'),\r\n ...flattenMessages(cliManager, 'cli-manager'),\r\n ...flattenMessages(cliMonitor, 'cliMonitor'),\r\n ...flattenMessages(mcpManager, 'mcp'),\r\n ...flattenMessages(codexlens, 'codexlens'),\r\n ...flattenMessages(apiSettings, 'apiSettings'),\r\n ...flattenMessages(theme, 'theme'),\r\n ...flattenMessages(cliHooks, 'cliHooks'),\r\n ...flattenMessages(executionMonitor, 'executionMonitor'),\r\n ...flattenMessages(index, 'index'),\r\n ...flattenMessages(rules, 'rules'),\r\n ...flattenMessages(prompts, 'prompts'),\r\n ...flattenMessages(explorer, 'explorer'),\r\n ...flattenMessages(graph, 'graph'),\r\n ...flattenMessages(notification, 'notificationPanel'),\r\n ...flattenMessages(notifications, 'notifications'),\r\n ...flattenMessages(workspace, 'workspace'),\r\n ...flattenMessages(help, 'help'),\r\n ...flattenMessages(cliViewer, 'cliViewer'),\r\n ...flattenMessages(team, 'team'),\r\n ...flattenMessages(terminalDashboard, 'terminalDashboard'),\r\n ...flattenMessages(skillHub, 'skillHub'),\r\n ...flattenMessages(nativeSession, 'nativeSession'),\r\n ...flattenMessages(specs, 'specs'),\r\n ...flattenMessages(deepwiki, 'deepwiki'),\r\n} as Record<string, string>;\r\n"],"names":["flattenMessages","obj","prefix","result","key","fullKey","value","index","common","navigation","sessions","issues","home","orchestrator","loops","commands","memory","settings","fixSession","history","liteTasks","projectOverview","reviewSession","sessionDetail","skills","cliManager","cliMonitor","mcpManager","codexlens","apiSettings","theme","cliHooks","executionMonitor","rules","prompts","explorer","graph","notification","notifications","workspace","help","cliViewer","team","terminalDashboard","skillHub","nativeSession","specs","deepwiki"],"mappings":";;;;;;;;;;;;;;itHAmDA,SAASA,EAAgBC,EAA8BC,EAAS,GAA4B,CAC1F,MAAMC,EAAiC,CAAA,EAEvC,UAAWC,KAAOH,EAAK,CACrB,MAAMI,EAAUH,EAAS,GAAGA,CAAM,IAAIE,CAAG,GAAKA,EACxCE,EAAQL,EAAIG,CAAG,EAEjB,OAAOE,GAAU,UAAYA,IAAU,MAAQ,CAAC,MAAM,QAAQA,CAAK,EACrE,OAAO,OAAOH,EAAQH,EAAgBM,EAAkCD,CAAO,CAAC,EACvE,OAAOC,GAAU,WAC1BH,EAAOE,CAAO,EAAIC,EAEtB,CAEA,OAAOH,CACT,CAKA,MAAAI,GAAe,CACb,GAAGP,EAAgBQ,EAAQ,QAAQ,EACnC,GAAGR,EAAgBS,EAAY,YAAY,EAC3C,GAAGT,EAAgBU,GAAU,UAAU,EACvC,GAAGV,EAAgBW,GAAQ,QAAQ,EACnC,GAAGX,EAAgBY,GAAM,MAAM,EAC/B,GAAGZ,EAAgBa,GAAc,cAAc,EAC/C,GAAGb,EAAgBc,GAAO,OAAO,EACjC,GAAGd,EAAgBe,GAAU,UAAU,EACvC,GAAGf,EAAgBgB,GAAQ,QAAQ,EACnC,GAAGhB,EAAgBiB,GAAU,UAAU,EACvC,GAAGjB,EAAgBkB,GAAY,YAAY,EAC3C,GAAGlB,EAAgBmB,GAAS,SAAS,EACrC,GAAGnB,EAAgBoB,GAAW,WAAW,EACzC,GAAGpB,EAAgBqB,GAAiB,iBAAiB,EACrD,GAAGrB,EAAgBsB,GAAe,eAAe,EACjD,GAAGtB,EAAgBuB,GAAe,eAAe,EACjD,GAAGvB,EAAgBwB,GAAQ,QAAQ,EACnC,GAAGxB,EAAgByB,GAAY,aAAa,EAC5C,GAAGzB,EAAgB0B,GAAY,YAAY,EAC3C,GAAG1B,EAAgB2B,GAAY,KAAK,EACpC,GAAG3B,EAAgB4B,GAAW,WAAW,EACzC,GAAG5B,EAAgB6B,GAAa,aAAa,EAC7C,GAAG7B,EAAgB8B,GAAO,OAAO,EACjC,GAAG9B,EAAgB+B,GAAU,UAAU,EACvC,GAAG/B,EAAgBgC,GAAkB,kBAAkB,EACvD,GAAGhC,EAAgBO,GAAO,OAAO,EACjC,GAAGP,EAAgBiC,GAAO,OAAO,EACjC,GAAGjC,EAAgBkC,GAAS,SAAS,EACrC,GAAGlC,EAAgBmC,GAAU,UAAU,EACvC,GAAGnC,EAAgBoC,GAAO,OAAO,EACjC,GAAGpC,EAAgBqC,GAAc,mBAAmB,EACpD,GAAGrC,EAAgBsC,GAAe,eAAe,EACjD,GAAGtC,EAAgBuC,GAAW,WAAW,EACzC,GAAGvC,EAAgBwC,GAAM,MAAM,EAC/B,GAAGxC,EAAgByC,GAAW,WAAW,EACzC,GAAGzC,EAAgB0C,GAAM,MAAM,EAC/B,GAAG1C,EAAgB2C,GAAmB,mBAAmB,EACzD,GAAG3C,EAAgB4C,GAAU,UAAU,EACvC,GAAG5C,EAAgB6C,GAAe,eAAe,EACjD,GAAG7C,EAAgB8C,GAAO,OAAO,EACjC,GAAG9C,EAAgB+C,GAAU,UAAU,CACzC"}