autosnippet 3.2.11 → 3.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/README.md +1 -1
  2. package/dashboard/dist/assets/axios-42ANG6Sg.js +6 -0
  3. package/dashboard/dist/assets/framer-motion-CZfOSYpP.js +9 -0
  4. package/dashboard/dist/assets/icons-C1dUryS-.js +1 -0
  5. package/dashboard/dist/assets/index-CKMy5LY6.js +128 -0
  6. package/dashboard/dist/assets/index-D0whuycy.css +1 -0
  7. package/dashboard/dist/assets/vendor-BZEJEVBn.js +3068 -0
  8. package/dashboard/dist/index.html +6 -6
  9. package/dist/lib/bootstrap.d.ts.map +1 -1
  10. package/dist/lib/bootstrap.js +2 -1
  11. package/dist/lib/bootstrap.js.map +1 -1
  12. package/dist/lib/core/ast/ProjectGraph.d.ts.map +1 -1
  13. package/dist/lib/core/ast/ProjectGraph.js.map +1 -1
  14. package/dist/lib/core/ast/lang-go.js.map +1 -1
  15. package/dist/lib/core/ast/lang-java.d.ts.map +1 -1
  16. package/dist/lib/core/ast/lang-java.js.map +1 -1
  17. package/dist/lib/core/ast/lang-kotlin.d.ts.map +1 -1
  18. package/dist/lib/core/ast/lang-kotlin.js.map +1 -1
  19. package/dist/lib/core/ast/lang-python.d.ts.map +1 -1
  20. package/dist/lib/core/ast/lang-python.js +4 -2
  21. package/dist/lib/core/ast/lang-python.js.map +1 -1
  22. package/dist/lib/core/ast/parser-init.d.ts.map +1 -1
  23. package/dist/lib/core/ast/parser-init.js +0 -1
  24. package/dist/lib/core/ast/parser-init.js.map +1 -1
  25. package/dist/lib/core/capability/CapabilityProbe.d.ts.map +1 -1
  26. package/dist/lib/core/capability/CapabilityProbe.js +4 -2
  27. package/dist/lib/core/capability/CapabilityProbe.js.map +1 -1
  28. package/dist/lib/domain/task/TaskIdGenerator.d.ts +2 -1
  29. package/dist/lib/domain/task/TaskIdGenerator.d.ts.map +1 -1
  30. package/dist/lib/domain/task/TaskIdGenerator.js +2 -2
  31. package/dist/lib/domain/task/TaskIdGenerator.js.map +1 -1
  32. package/dist/lib/external/ai/AiProvider.d.ts +1 -1
  33. package/dist/lib/external/ai/providers/ClaudeProvider.js +1 -1
  34. package/dist/lib/external/ai/providers/ClaudeProvider.js.map +1 -1
  35. package/dist/lib/external/ai/providers/GoogleGeminiProvider.d.ts.map +1 -1
  36. package/dist/lib/external/ai/providers/GoogleGeminiProvider.js +2 -2
  37. package/dist/lib/external/ai/providers/GoogleGeminiProvider.js.map +1 -1
  38. package/dist/lib/external/ai/providers/OpenAiProvider.js +1 -1
  39. package/dist/lib/external/ai/providers/OpenAiProvider.js.map +1 -1
  40. package/dist/lib/external/mcp/handlers/bootstrap/ExternalSubmissionTracker.d.ts.map +1 -1
  41. package/dist/lib/external/mcp/handlers/bootstrap/ExternalSubmissionTracker.js +2 -0
  42. package/dist/lib/external/mcp/handlers/bootstrap/ExternalSubmissionTracker.js.map +1 -1
  43. package/dist/lib/external/mcp/handlers/bootstrap/shared/bootstrap-phases.d.ts +1 -0
  44. package/dist/lib/external/mcp/handlers/bootstrap/shared/bootstrap-phases.d.ts.map +1 -1
  45. package/dist/lib/external/mcp/handlers/bootstrap/shared/bootstrap-phases.js +11 -1
  46. package/dist/lib/external/mcp/handlers/bootstrap/shared/bootstrap-phases.js.map +1 -1
  47. package/dist/lib/external/mcp/handlers/bootstrap-external.d.ts +4 -0
  48. package/dist/lib/external/mcp/handlers/bootstrap-external.d.ts.map +1 -1
  49. package/dist/lib/external/mcp/handlers/bootstrap-external.js +19 -2
  50. package/dist/lib/external/mcp/handlers/bootstrap-external.js.map +1 -1
  51. package/dist/lib/external/mcp/handlers/bootstrap-internal.d.ts.map +1 -1
  52. package/dist/lib/external/mcp/handlers/bootstrap-internal.js +2 -1
  53. package/dist/lib/external/mcp/handlers/bootstrap-internal.js.map +1 -1
  54. package/dist/lib/external/mcp/handlers/candidate.d.ts.map +1 -1
  55. package/dist/lib/external/mcp/handlers/candidate.js +2 -1
  56. package/dist/lib/external/mcp/handlers/candidate.js.map +1 -1
  57. package/dist/lib/external/mcp/handlers/consolidated.js +1 -1
  58. package/dist/lib/external/mcp/handlers/consolidated.js.map +1 -1
  59. package/dist/lib/external/mcp/handlers/dimension-complete-external.d.ts.map +1 -1
  60. package/dist/lib/external/mcp/handlers/dimension-complete-external.js +17 -5
  61. package/dist/lib/external/mcp/handlers/dimension-complete-external.js.map +1 -1
  62. package/dist/lib/external/mcp/handlers/guard.d.ts.map +1 -1
  63. package/dist/lib/external/mcp/handlers/guard.js +31 -24
  64. package/dist/lib/external/mcp/handlers/guard.js.map +1 -1
  65. package/dist/lib/external/mcp/handlers/knowledge.d.ts.map +1 -1
  66. package/dist/lib/external/mcp/handlers/knowledge.js +14 -10
  67. package/dist/lib/external/mcp/handlers/knowledge.js.map +1 -1
  68. package/dist/lib/external/mcp/handlers/skill.d.ts +5 -5
  69. package/dist/lib/external/mcp/handlers/skill.d.ts.map +1 -1
  70. package/dist/lib/external/mcp/handlers/skill.js +27 -28
  71. package/dist/lib/external/mcp/handlers/skill.js.map +1 -1
  72. package/dist/lib/external/mcp/handlers/structure.d.ts.map +1 -1
  73. package/dist/lib/external/mcp/handlers/structure.js +10 -7
  74. package/dist/lib/external/mcp/handlers/structure.js.map +1 -1
  75. package/dist/lib/external/mcp/handlers/system.d.ts.map +1 -1
  76. package/dist/lib/external/mcp/handlers/system.js +2 -1
  77. package/dist/lib/external/mcp/handlers/system.js.map +1 -1
  78. package/dist/lib/external/mcp/handlers/task.js +2 -2
  79. package/dist/lib/external/mcp/handlers/task.js.map +1 -1
  80. package/dist/lib/external/mcp/handlers/wiki-external.d.ts.map +1 -1
  81. package/dist/lib/external/mcp/handlers/wiki-external.js +3 -2
  82. package/dist/lib/external/mcp/handlers/wiki-external.js.map +1 -1
  83. package/dist/lib/http/HttpServer.d.ts +2 -2
  84. package/dist/lib/http/HttpServer.js +64 -64
  85. package/dist/lib/http/HttpServer.js.map +1 -1
  86. package/dist/lib/http/middleware/errorHandler.d.ts +1 -5
  87. package/dist/lib/http/middleware/errorHandler.d.ts.map +1 -1
  88. package/dist/lib/http/middleware/errorHandler.js +0 -8
  89. package/dist/lib/http/middleware/errorHandler.js.map +1 -1
  90. package/dist/lib/http/middleware/validate.d.ts +2 -2
  91. package/dist/lib/http/middleware/validate.js +2 -2
  92. package/dist/lib/http/routes/ai.d.ts.map +1 -1
  93. package/dist/lib/http/routes/ai.js +36 -45
  94. package/dist/lib/http/routes/ai.js.map +1 -1
  95. package/dist/lib/http/routes/auth.d.ts.map +1 -1
  96. package/dist/lib/http/routes/auth.js +4 -5
  97. package/dist/lib/http/routes/auth.js.map +1 -1
  98. package/dist/lib/http/routes/candidates.d.ts.map +1 -1
  99. package/dist/lib/http/routes/candidates.js +10 -11
  100. package/dist/lib/http/routes/candidates.js.map +1 -1
  101. package/dist/lib/http/routes/commands.d.ts.map +1 -1
  102. package/dist/lib/http/routes/commands.js +14 -15
  103. package/dist/lib/http/routes/commands.js.map +1 -1
  104. package/dist/lib/http/routes/extract.d.ts.map +1 -1
  105. package/dist/lib/http/routes/extract.js +4 -5
  106. package/dist/lib/http/routes/extract.js.map +1 -1
  107. package/dist/lib/http/routes/guard.d.ts.map +1 -1
  108. package/dist/lib/http/routes/guard.js +4 -5
  109. package/dist/lib/http/routes/guard.js.map +1 -1
  110. package/dist/lib/http/routes/guardRules.d.ts.map +1 -1
  111. package/dist/lib/http/routes/guardRules.js +22 -23
  112. package/dist/lib/http/routes/guardRules.js.map +1 -1
  113. package/dist/lib/http/routes/knowledge.d.ts.map +1 -1
  114. package/dist/lib/http/routes/knowledge.js +24 -25
  115. package/dist/lib/http/routes/knowledge.js.map +1 -1
  116. package/dist/lib/http/routes/modules.d.ts.map +1 -1
  117. package/dist/lib/http/routes/modules.js +26 -27
  118. package/dist/lib/http/routes/modules.js.map +1 -1
  119. package/dist/lib/http/routes/recipes.d.ts.map +1 -1
  120. package/dist/lib/http/routes/recipes.js +6 -9
  121. package/dist/lib/http/routes/recipes.js.map +1 -1
  122. package/dist/lib/http/routes/remote.d.ts.map +1 -1
  123. package/dist/lib/http/routes/remote.js +74 -37
  124. package/dist/lib/http/routes/remote.js.map +1 -1
  125. package/dist/lib/http/routes/search.d.ts.map +1 -1
  126. package/dist/lib/http/routes/search.js +16 -66
  127. package/dist/lib/http/routes/search.js.map +1 -1
  128. package/dist/lib/http/routes/skills.d.ts.map +1 -1
  129. package/dist/lib/http/routes/skills.js +14 -15
  130. package/dist/lib/http/routes/skills.js.map +1 -1
  131. package/dist/lib/http/routes/snippets.d.ts.map +1 -1
  132. package/dist/lib/http/routes/snippets.js +4 -5
  133. package/dist/lib/http/routes/snippets.js.map +1 -1
  134. package/dist/lib/http/routes/task.d.ts.map +1 -1
  135. package/dist/lib/http/routes/task.js +2 -3
  136. package/dist/lib/http/routes/task.js.map +1 -1
  137. package/dist/lib/http/routes/violations.d.ts.map +1 -1
  138. package/dist/lib/http/routes/violations.js +6 -7
  139. package/dist/lib/http/routes/violations.js.map +1 -1
  140. package/dist/lib/http/routes/wiki.d.ts.map +1 -1
  141. package/dist/lib/http/routes/wiki.js +14 -14
  142. package/dist/lib/http/routes/wiki.js.map +1 -1
  143. package/dist/lib/http/utils/sse-sessions.d.ts +1 -1
  144. package/dist/lib/infrastructure/audit/AuditStore.d.ts +2 -1
  145. package/dist/lib/infrastructure/audit/AuditStore.d.ts.map +1 -1
  146. package/dist/lib/infrastructure/audit/AuditStore.js +2 -2
  147. package/dist/lib/infrastructure/audit/AuditStore.js.map +1 -1
  148. package/dist/lib/infrastructure/config/ConfigLoader.d.ts.map +1 -1
  149. package/dist/lib/infrastructure/config/ConfigLoader.js +1 -2
  150. package/dist/lib/infrastructure/config/ConfigLoader.js.map +1 -1
  151. package/dist/lib/infrastructure/database/DatabaseConnection.d.ts.map +1 -1
  152. package/dist/lib/infrastructure/database/DatabaseConnection.js +3 -3
  153. package/dist/lib/infrastructure/database/DatabaseConnection.js.map +1 -1
  154. package/dist/lib/infrastructure/database/drizzle/index.d.ts +2 -0
  155. package/dist/lib/infrastructure/database/drizzle/index.d.ts.map +1 -1
  156. package/dist/lib/infrastructure/database/drizzle/index.js +2 -0
  157. package/dist/lib/infrastructure/database/drizzle/index.js.map +1 -1
  158. package/dist/lib/injection/ServiceContainer.d.ts.map +1 -1
  159. package/dist/lib/injection/ServiceContainer.js +13 -1
  160. package/dist/lib/injection/ServiceContainer.js.map +1 -1
  161. package/dist/lib/injection/modules/AgentModule.d.ts.map +1 -1
  162. package/dist/lib/injection/modules/AgentModule.js +2 -1
  163. package/dist/lib/injection/modules/AgentModule.js.map +1 -1
  164. package/dist/lib/injection/modules/AppModule.d.ts.map +1 -1
  165. package/dist/lib/injection/modules/AppModule.js +13 -6
  166. package/dist/lib/injection/modules/AppModule.js.map +1 -1
  167. package/dist/lib/injection/modules/GuardModule.d.ts.map +1 -1
  168. package/dist/lib/injection/modules/GuardModule.js +7 -3
  169. package/dist/lib/injection/modules/GuardModule.js.map +1 -1
  170. package/dist/lib/injection/modules/InfraModule.d.ts.map +1 -1
  171. package/dist/lib/injection/modules/InfraModule.js +18 -5
  172. package/dist/lib/injection/modules/InfraModule.js.map +1 -1
  173. package/dist/lib/injection/modules/KnowledgeModule.d.ts.map +1 -1
  174. package/dist/lib/injection/modules/KnowledgeModule.js +3 -4
  175. package/dist/lib/injection/modules/KnowledgeModule.js.map +1 -1
  176. package/dist/lib/platform/ios/routes/spm.d.ts.map +1 -1
  177. package/dist/lib/platform/ios/routes/spm.js +16 -17
  178. package/dist/lib/platform/ios/routes/spm.js.map +1 -1
  179. package/dist/lib/platform/ios/spm/PolicyEngine.d.ts.map +1 -1
  180. package/dist/lib/platform/ios/spm/PolicyEngine.js +3 -1
  181. package/dist/lib/platform/ios/spm/PolicyEngine.js.map +1 -1
  182. package/dist/lib/repository/knowledge/KnowledgeRepository.impl.d.ts +2 -1
  183. package/dist/lib/repository/knowledge/KnowledgeRepository.impl.d.ts.map +1 -1
  184. package/dist/lib/repository/knowledge/KnowledgeRepository.impl.js +2 -2
  185. package/dist/lib/repository/knowledge/KnowledgeRepository.impl.js.map +1 -1
  186. package/dist/lib/repository/remote/RemoteCommandRepository.d.ts +2 -1
  187. package/dist/lib/repository/remote/RemoteCommandRepository.d.ts.map +1 -1
  188. package/dist/lib/repository/remote/RemoteCommandRepository.js +2 -2
  189. package/dist/lib/repository/remote/RemoteCommandRepository.js.map +1 -1
  190. package/dist/lib/repository/task/TaskRepository.impl.d.ts +2 -1
  191. package/dist/lib/repository/task/TaskRepository.impl.d.ts.map +1 -1
  192. package/dist/lib/repository/task/TaskRepository.impl.js +2 -2
  193. package/dist/lib/repository/task/TaskRepository.impl.js.map +1 -1
  194. package/dist/lib/repository/token/TokenUsageStore.d.ts +2 -1
  195. package/dist/lib/repository/token/TokenUsageStore.d.ts.map +1 -1
  196. package/dist/lib/repository/token/TokenUsageStore.js +2 -2
  197. package/dist/lib/repository/token/TokenUsageStore.js.map +1 -1
  198. package/dist/lib/service/agent/AgentEventBus.d.ts.map +1 -1
  199. package/dist/lib/service/agent/AgentEventBus.js +10 -10
  200. package/dist/lib/service/agent/AgentEventBus.js.map +1 -1
  201. package/dist/lib/service/agent/IntentClassifier.d.ts +20 -0
  202. package/dist/lib/service/agent/IntentClassifier.d.ts.map +1 -1
  203. package/dist/lib/service/agent/IntentClassifier.js +59 -4
  204. package/dist/lib/service/agent/IntentClassifier.js.map +1 -1
  205. package/dist/lib/service/agent/LarkTransport.d.ts.map +1 -1
  206. package/dist/lib/service/agent/LarkTransport.js +37 -18
  207. package/dist/lib/service/agent/LarkTransport.js.map +1 -1
  208. package/dist/lib/service/agent/context/ExplorationTracker.d.ts.map +1 -1
  209. package/dist/lib/service/agent/context/ExplorationTracker.js +5 -2
  210. package/dist/lib/service/agent/context/ExplorationTracker.js.map +1 -1
  211. package/dist/lib/service/agent/forced-summary.d.ts +4 -2
  212. package/dist/lib/service/agent/forced-summary.d.ts.map +1 -1
  213. package/dist/lib/service/agent/forced-summary.js +78 -11
  214. package/dist/lib/service/agent/forced-summary.js.map +1 -1
  215. package/dist/lib/service/agent/tools/index.d.ts.map +1 -1
  216. package/dist/lib/service/agent/tools/infrastructure.d.ts.map +1 -1
  217. package/dist/lib/service/agent/tools/infrastructure.js +6 -2
  218. package/dist/lib/service/agent/tools/infrastructure.js.map +1 -1
  219. package/dist/lib/service/automation/FileWatcher.d.ts.map +1 -1
  220. package/dist/lib/service/automation/FileWatcher.js +4 -8
  221. package/dist/lib/service/automation/FileWatcher.js.map +1 -1
  222. package/dist/lib/service/automation/handlers/AlinkHandler.d.ts.map +1 -1
  223. package/dist/lib/service/automation/handlers/AlinkHandler.js +4 -2
  224. package/dist/lib/service/automation/handlers/AlinkHandler.js.map +1 -1
  225. package/dist/lib/service/guard/ViolationsStore.d.ts +2 -1
  226. package/dist/lib/service/guard/ViolationsStore.d.ts.map +1 -1
  227. package/dist/lib/service/guard/ViolationsStore.js +2 -2
  228. package/dist/lib/service/guard/ViolationsStore.js.map +1 -1
  229. package/dist/lib/service/skills/SkillAdvisor.d.ts.map +1 -1
  230. package/dist/lib/service/skills/SkillAdvisor.js +3 -1
  231. package/dist/lib/service/skills/SkillAdvisor.js.map +1 -1
  232. package/dist/lib/service/skills/SkillHooks.d.ts +5 -1
  233. package/dist/lib/service/skills/SkillHooks.d.ts.map +1 -1
  234. package/dist/lib/service/skills/SkillHooks.js +5 -4
  235. package/dist/lib/service/skills/SkillHooks.js.map +1 -1
  236. package/dist/lib/shared/UnifiedValidator.d.ts +1 -1
  237. package/dist/lib/shared/UnifiedValidator.d.ts.map +1 -1
  238. package/dist/lib/shared/UnifiedValidator.js +2 -2
  239. package/dist/lib/shared/UnifiedValidator.js.map +1 -1
  240. package/dist/lib/shared/isOwnDevRepo.d.ts.map +1 -1
  241. package/dist/lib/shared/isOwnDevRepo.js +11 -11
  242. package/dist/lib/shared/isOwnDevRepo.js.map +1 -1
  243. package/dist/lib/shared/package-root.d.ts.map +1 -1
  244. package/dist/lib/shared/package-root.js +1 -3
  245. package/dist/lib/shared/package-root.js.map +1 -1
  246. package/dist/lib/shared/resolveProjectRoot.d.ts +26 -0
  247. package/dist/lib/shared/resolveProjectRoot.d.ts.map +1 -0
  248. package/dist/lib/shared/resolveProjectRoot.js +24 -0
  249. package/dist/lib/shared/resolveProjectRoot.js.map +1 -0
  250. package/dist/lib/shared/schemas/http-requests.d.ts +0 -6
  251. package/dist/lib/shared/schemas/http-requests.d.ts.map +1 -1
  252. package/dist/lib/shared/schemas/http-requests.js +0 -6
  253. package/dist/lib/shared/schemas/http-requests.js.map +1 -1
  254. package/dist/lib/shared/schemas/mcp-tools.d.ts +1 -1
  255. package/dist/lib/types/database.d.ts +14 -0
  256. package/dist/lib/types/database.d.ts.map +1 -0
  257. package/dist/lib/types/database.js +2 -0
  258. package/dist/lib/types/database.js.map +1 -0
  259. package/dist/scripts/build-native-ui.js +1 -4
  260. package/dist/scripts/build-native-ui.js.map +1 -1
  261. package/dist/scripts/install-cursor-skill.js +2 -5
  262. package/dist/scripts/install-cursor-skill.js.map +1 -1
  263. package/dist/scripts/install-full.js +1 -4
  264. package/dist/scripts/install-full.js.map +1 -1
  265. package/dist/scripts/install-vscode-copilot.js +1 -4
  266. package/dist/scripts/install-vscode-copilot.js.map +1 -1
  267. package/dist/scripts/release.js +1 -4
  268. package/dist/scripts/release.js.map +1 -1
  269. package/package.json +23 -24
  270. package/scripts/postbuild.mjs +2 -3
  271. package/scripts/{postinstall-safe.js → postinstall-safe.mjs} +1 -4
  272. package/templates/guard-ci.yml +1 -1
  273. package/dashboard/dist/assets/axios-C0Zqfgkc.js +0 -6
  274. package/dashboard/dist/assets/framer-motion-DOATyqla.js +0 -9
  275. package/dashboard/dist/assets/icons-0-btqT36.js +0 -531
  276. package/dashboard/dist/assets/index--XYC2yVO.js +0 -128
  277. package/dashboard/dist/assets/index-DNCrgh_C.css +0 -1
  278. package/dashboard/dist/assets/vendor-Ck-HBmg5.js +0 -3122
@@ -277,7 +277,7 @@ export class HttpServer {
277
277
  });
278
278
  });
279
279
  // 404 处理(使用 app.all 确保 layer.route 存在,mountDashboard 依赖此属性定位并重排路由栈)
280
- this.app.all('*', (req, res) => {
280
+ this.app.all('{*path}', (req, res) => {
281
281
  res.status(404).json({
282
282
  success: false,
283
283
  error: {
@@ -304,86 +304,86 @@ export class HttpServer {
304
304
  * 启动服务器
305
305
  */
306
306
  async start() {
307
- return new Promise((resolve, reject) => {
308
- try {
309
- this.server = this.app.listen(this.config.port, this.config.host, () => {
310
- this.logger.info('HTTP Server started', {
311
- host: this.config.host,
312
- port: this.config.port,
313
- url: `http://${this.config.host}:${this.config.port}`,
314
- timestamp: new Date().toISOString(),
315
- });
316
- // 初始化 WebSocket 服务(使用 HTTP 服务器实例)
317
- try {
318
- this.realtimeService = initRealtimeService(this.server);
319
- this.logger.info('Realtime service initialized');
320
- }
321
- catch (error) {
322
- this.logger.warn('Failed to initialize realtime service', {
323
- error: error.message,
324
- });
325
- }
326
- resolve(this.server);
307
+ const { promise, resolve, reject } = Promise.withResolvers();
308
+ try {
309
+ this.server = this.app.listen(this.config.port, this.config.host, () => {
310
+ this.logger.info('HTTP Server started', {
311
+ host: this.config.host,
312
+ port: this.config.port,
313
+ url: `http://${this.config.host}:${this.config.port}`,
314
+ timestamp: new Date().toISOString(),
327
315
  });
328
- this.server.on('error', (error) => {
329
- this.logger.error('HTTP Server error', {
316
+ // 初始化 WebSocket 服务(使用 HTTP 服务器实例)
317
+ try {
318
+ this.realtimeService = initRealtimeService(this.server);
319
+ this.logger.info('Realtime service initialized');
320
+ }
321
+ catch (error) {
322
+ this.logger.warn('Failed to initialize realtime service', {
330
323
  error: error.message,
331
- code: error.code,
332
- timestamp: new Date().toISOString(),
333
324
  });
334
- reject(error);
335
- });
336
- }
337
- catch (error) {
338
- this.logger.error('Failed to start HTTP Server', {
325
+ }
326
+ resolve(this.server);
327
+ });
328
+ this.server.on('error', (error) => {
329
+ this.logger.error('HTTP Server error', {
339
330
  error: error.message,
331
+ code: error.code,
340
332
  timestamp: new Date().toISOString(),
341
333
  });
342
334
  reject(error);
343
- }
344
- });
335
+ });
336
+ }
337
+ catch (error) {
338
+ this.logger.error('Failed to start HTTP Server', {
339
+ error: error.message,
340
+ timestamp: new Date().toISOString(),
341
+ });
342
+ reject(error);
343
+ }
344
+ return promise;
345
345
  }
346
346
  /**
347
347
  * 停止服务器
348
348
  */
349
349
  async stop() {
350
- return new Promise((resolve, reject) => {
351
- if (!this.server) {
352
- return resolve(undefined);
353
- }
354
- // 停止性能监控
355
- if (this.performanceMonitor) {
356
- this.performanceMonitor.shutdown();
357
- }
358
- // 停止错误追踪
359
- if (this.errorTracker) {
360
- this.errorTracker.shutdown();
350
+ const { promise, resolve, reject } = Promise.withResolvers();
351
+ if (!this.server) {
352
+ return resolve(undefined);
353
+ }
354
+ // 停止性能监控
355
+ if (this.performanceMonitor) {
356
+ this.performanceMonitor.shutdown();
357
+ }
358
+ // 停止错误追踪
359
+ if (this.errorTracker) {
360
+ this.errorTracker.shutdown();
361
+ }
362
+ // 关闭 WebSocket 连接
363
+ if (this.realtimeService && typeof this.realtimeService.shutdown === 'function') {
364
+ try {
365
+ this.realtimeService.shutdown();
361
366
  }
362
- // 关闭 WebSocket 连接
363
- if (this.realtimeService && typeof this.realtimeService.shutdown === 'function') {
364
- try {
365
- this.realtimeService.shutdown();
366
- }
367
- catch (err) {
368
- this.logger.warn('Error shutting down realtime service', {
369
- error: err.message,
370
- });
371
- }
367
+ catch (err) {
368
+ this.logger.warn('Error shutting down realtime service', {
369
+ error: err.message,
370
+ });
372
371
  }
373
- this.server.close((error) => {
374
- if (error) {
375
- this.logger.error('Error stopping HTTP Server', {
376
- error: error.message,
377
- timestamp: new Date().toISOString(),
378
- });
379
- return reject(error);
380
- }
381
- this.logger.info('HTTP Server stopped', {
372
+ }
373
+ this.server.close((error) => {
374
+ if (error) {
375
+ this.logger.error('Error stopping HTTP Server', {
376
+ error: error.message,
382
377
  timestamp: new Date().toISOString(),
383
378
  });
384
- resolve(undefined);
379
+ return reject(error);
380
+ }
381
+ this.logger.info('HTTP Server stopped', {
382
+ timestamp: new Date().toISOString(),
385
383
  });
384
+ resolve(undefined);
386
385
  });
386
+ return promise;
387
387
  }
388
388
  /**
389
389
  * 获取 Express 应用实例
@@ -414,7 +414,7 @@ export class HttpServer {
414
414
  // 注入 express.static 托管 dist 目录
415
415
  this.app.use(express.static(distDir));
416
416
  // SPA fallback: 非 API / 非 socket.io 请求返回 index.html
417
- this.app.get('*', (req, res, next) => {
417
+ this.app.get('{*path}', (req, res, next) => {
418
418
  if (req.path.startsWith('/api') || req.path.startsWith('/socket.io')) {
419
419
  return next();
420
420
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.js","sourceRoot":"","sources":["../../../lib/http/HttpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpServer.js","sourceRoot":"","sources":["../../../lib/http/HttpServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAA6E,MAAM,SAAS,CAAC;AACpG,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,MAAM,MAAM,qCAAqC,CAAC;AACzD,OAAO,EAAqB,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAiB1C,MAAM,OAAO,UAAU;IACrB,GAAG,CAAc;IACjB,YAAY,CAAU;IACtB,eAAe,CAAyB;IACxC,MAAM,CAAmB;IACzB,YAAY,CAAsB;IAClC,MAAM,CAAY;IAClB,kBAAkB,CAAoE;IACtF,eAAe,CAAiC;IAChD,MAAM,CAAgB;IACtB,YAAY,SAAoC,EAAE;QAChD,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW;YAChC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,KAAK,KAAK;YACnD,SAAS,EAAE,QAAQ;YACnB,GAAG,MAAM;SACU,CAAC;QAEtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,aAAa;QACb,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhC,iDAAiD;QACjD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM;QACN,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,KAAK;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,OAAO;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC/C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC;YACH,kBAAkB;YAClB,IAAI,CAAC,YAAY,GAAG,MAAM,gBAAgB,CAAC;gBACzC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAE9C,UAAU;YACV,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,GAAG,sBAAsB,EAAE,CAAC;gBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAEpD,UAAU;gBACV,IAAI,CAAC,YAAY,GAAG,gBAAgB,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACjD,KAAK,EAAG,KAAe,CAAC,OAAO;gBAC/B,KAAK,EAAG,KAAe,CAAC,KAAK;aAC9B,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe;QACb,iBAAiB;QACjB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,MAAM,CAAC;YACL,qBAAqB,EAAE;gBACrB,UAAU,EAAE;oBACV,UAAU,EAAE,CAAC,QAAQ,CAAC;oBACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;oBACxC,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC;oBACjD,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;oBACpC,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;oBACrC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;oBACtC,SAAS,EAAE,CAAC,QAAQ,CAAC;oBACrB,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;aACF;SACF,CAAC,CACH,CAAC;QAEF,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzC,cAAc;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE9C,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEpE,cAAc;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG;YACrC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YAC7D,cAAc,EAAE;gBACd,QAAQ;gBACR,kBAAkB;gBAClB,cAAc;gBACd,QAAQ;gBACR,eAAe;gBACf,WAAW;aACZ;YACD,WAAW,EAAE,IAAI;SAClB,CAAC,CACH,CAAC;QAEF,0BAA0B;QAC1B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,IAAI,EAAE,CAAC;YACjE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;gBACzC,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;gBACjC,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAEhF,0BAA0B;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAElC,wCAAwC;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC/D,MAAM,aAAa,GACjB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAClC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClF,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,0CAA0C;YACjH,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;gBACtD,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,WAAW;QACX,MAAM,SAAS,GAAG,SAAS,CAAC;QAE5B,aAAa;QACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;YACzD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,SAAS,EAAE,YAAY,CAAC,CAAC;QAElD,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,OAAO,EAAE,UAAU,CAAC,CAAC;QAE9C,SAAS;QACT,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,aAAa,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;YACtE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC;YAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,IAAI,WAAW,CAAC;YAC7C,MAAM,IAAI,GACR,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM;gBACjF,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACvF,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aACvC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEhD,SAAS;QACT,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEpD,2CAA2C;QAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,OAAO,EAAE,UAAU,CAAC,CAAC;QAE9C,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,SAAS,EAAE,YAAY,CAAC,CAAC;QAElD,aAAa;QACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,WAAW,EAAE,aAAa,CAAC,CAAC;QAErD,QAAQ;QACR,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE1C,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,UAAU,EAAE,aAAa,CAAC,CAAC;QAEpD,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,WAAW,EAAE,cAAc,CAAC,CAAC;QAEtD,YAAY;QACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,SAAS,EAAE,YAAY,CAAC,CAAC;QAElD,0BAA0B;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAE1D,iBAAiB;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,MAAM,EAAE,SAAS,CAAC,CAAC;QAE5C,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,UAAU,EAAE,aAAa,CAAC,CAAC;QAEpD,SAAS;QACT,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAE1D,cAAc;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,YAAY,EAAE,eAAe,CAAC,CAAC;QAExD,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,UAAU,EAAE,aAAa,CAAC,CAAC;QAEpD,UAAU;QACV,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,OAAO,EAAE,UAAU,CAAC,CAAC;QAE9C,iCAAiC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,SAAS,EAAE,YAAY,CAAC,CAAC;QAElD,oCAAoC;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;YACjD,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,GAAG,SAAS,SAAS;aAC9B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oEAAoE;QACpE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;YACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,oBAAoB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE;iBAC7D;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,wBAAwB;QACxB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAiC,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC7D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBACtC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtB,GAAG,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBACrD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,IAAI,CAAC;oBACH,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAO,CAGtD,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;wBACxD,KAAK,EAAG,KAAe,CAAC,OAAO;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;gBACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;oBACrC,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC/C,KAAK,EAAG,KAAe,CAAC,OAAO;gBAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAED,SAAS;QACT,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QACrC,CAAC;QAED,SAAS;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAChF,IAAI,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YAClC,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;oBACvD,KAAK,EAAG,GAAa,CAAC,OAAO;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBAC9C,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACtC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,OAAe;QAC5B,wCAAwC;QACxC,MAAM,MAAM,GAAmB,IAAI,CAAC,GAAwD;aACzF,OAAO,CAAC,KAAK,CAAC;QACjB,iCAAiC;QACjC,MAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC9B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAEtC,oDAAoD;QACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1E,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrE,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;YACD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED,eAAe,UAAU,CAAC"}
@@ -1,16 +1,12 @@
1
1
  /**
2
2
  * 错误处理中间件
3
3
  */
4
- import type { ErrorRequestHandler, NextFunction, Request, RequestHandler, Response } from 'express';
4
+ import type { ErrorRequestHandler } from 'express';
5
5
  /** Minimal logger interface (compatible with winston.Logger) */
6
6
  interface AppLogger {
7
7
  error(message: string, meta?: Record<string, unknown>): void;
8
8
  }
9
9
  export declare function errorHandler(logger: AppLogger): ErrorRequestHandler;
10
- /**
11
- * 异步路由错误包装
12
- */
13
- export declare function asyncHandler(fn: (req: Request, res: Response, next: NextFunction) => void | Promise<void>): RequestHandler;
14
10
  /**
15
11
  * 将领域错误转换为 HTTP 错误
16
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../../lib/http/middleware/errorHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQpG,gEAAgE;AAChE,UAAU,SAAS;IACjB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,mBAAmB,CA2BnE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5E,cAAc,CAIhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;EAyC1C"}
1
+ {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../../lib/http/middleware/errorHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAmD,MAAM,SAAS,CAAC;AAQpG,gEAAgE;AAChE,UAAU,SAAS;IACjB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,mBAAmB,CA2BnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;EAyC1C"}
@@ -28,14 +28,6 @@ export function errorHandler(logger) {
28
28
  });
29
29
  };
30
30
  }
31
- /**
32
- * 异步路由错误包装
33
- */
34
- export function asyncHandler(fn) {
35
- return (req, res, next) => {
36
- Promise.resolve(fn(req, res, next)).catch(next);
37
- };
38
- }
39
31
  /**
40
32
  * 将领域错误转换为 HTTP 错误
41
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../../lib/http/middleware/errorHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAOtC,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,uBAAuB,CAAC;QAEzD,OAAO;QACP,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE;YAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM;YACN,IAAI;YACJ,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO;QACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI;gBACJ,OAAO;gBACP,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;aAClF;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,EAA6E;IAE7E,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,SAAS;IACT,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,uBAAuB;KAClD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../../lib/http/middleware/errorHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAOtC,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,uBAAuB,CAAC;QAEzD,OAAO;QACP,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE;YAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM;YACN,IAAI;YACJ,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO;QACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI;gBACJ,OAAO;gBACP,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;aAClF;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,SAAS;IACT,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,uBAAuB;KAClD,CAAC;AACJ,CAAC"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * 用法:
5
5
  * import { validate, validateQuery } from '../middleware/validate.js';
6
- * router.post('/batch-enable', validate(BatchEnableBody), asyncHandler(...));
7
- * router.get('/search', validateQuery(SearchQuery), asyncHandler(...));
6
+ * router.post('/batch-enable', validate(BatchEnableBody), async (req, res) => { ... });
7
+ * router.get('/search', validateQuery(SearchQuery), async (req, res) => { ... });
8
8
  *
9
9
  * 校验通过后:
10
10
  * - req.body / req.query 被替换为 Zod parse 后的数据(已应用 defaults + coercion)
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * 用法:
5
5
  * import { validate, validateQuery } from '../middleware/validate.js';
6
- * router.post('/batch-enable', validate(BatchEnableBody), asyncHandler(...));
7
- * router.get('/search', validateQuery(SearchQuery), asyncHandler(...));
6
+ * router.post('/batch-enable', validate(BatchEnableBody), async (req, res) => { ... });
7
+ * router.get('/search', validateQuery(SearchQuery), async (req, res) => { ... });
8
8
  *
9
9
  * 校验通过后:
10
10
  * - req.body / req.query 被替换为 Zod parse 后的数据(已应用 defaults + coercion)
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../../lib/http/routes/ai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoCH,QAAA,MAAM,MAAM,4CAAmB,CAAC;AA02BhC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../../lib/http/routes/ai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH,QAAA,MAAM,MAAM,4CAAmB,CAAC;AAs0BhC,eAAe,MAAM,CAAC"}
@@ -7,6 +7,7 @@ import { join } from 'node:path';
7
7
  import express from 'express';
8
8
  import { createProvider } from '../../external/ai/AiFactory.js';
9
9
  import Logger from '../../infrastructure/logging/Logger.js';
10
+ import { getRealtimeService } from '../../infrastructure/realtime/RealtimeService.js';
10
11
  import { getServiceContainer } from '../../injection/ServiceContainer.js';
11
12
  import { AgentMessage, Channel } from '../../service/agent/AgentMessage.js';
12
13
  import { ConversationStore } from '../../service/agent/ConversationStore.js';
@@ -14,8 +15,8 @@ import { buildProjectBriefing } from '../../service/agent/core/ChatAgentPrompts.
14
15
  import { taskCheckAndSubmit, taskDiscoverAllRelations, taskFullEnrich, taskGuardFullScan, taskQualityAudit, } from '../../service/agent/domain/ChatAgentTasks.js';
15
16
  import { PRESETS } from '../../service/agent/presets.js';
16
17
  import { ValidationError } from '../../shared/errors/index.js';
18
+ import { resolveProjectRoot } from '../../shared/resolveProjectRoot.js';
17
19
  import { AiChatBody, AiConfigBody, AiEnvConfigBody, AiFormatUsageGuideBody, AiLangBody, AiStreamBody, AiSummarizeBody, AiTaskBody, AiToolBody, AiTranslateBody, } from '../../shared/schemas/http-requests.js';
18
- import { asyncHandler } from '../middleware/errorHandler.js';
19
20
  import { validate } from '../middleware/validate.js';
20
21
  import { createStreamSession, getStreamSession } from '../utils/sse-sessions.js';
21
22
  const router = express.Router();
@@ -31,26 +32,26 @@ function getContainer() {
31
32
  * GET /api/v1/ai/lang
32
33
  * 获取当前默认 UI 语言(由系统环境变量初始化,前端可覆盖)
33
34
  */
34
- router.get('/lang', asyncHandler(async (req, res) => {
35
+ router.get('/lang', async (req, res) => {
35
36
  const container = getContainer();
36
37
  res.json({ success: true, data: { lang: container.getLang() || 'zh' } });
37
- }));
38
+ });
38
39
  /**
39
40
  * POST /api/v1/ai/lang
40
41
  * 更新默认 UI 语言(前端切语言时同步到服务端)
41
42
  */
42
- router.post('/lang', validate(AiLangBody), asyncHandler(async (req, res) => {
43
+ router.post('/lang', validate(AiLangBody), async (req, res) => {
43
44
  const { lang } = req.body;
44
45
  const container = getContainer();
45
46
  container.setLang(lang);
46
47
  logger.info(`UI language preference updated to "${lang}"`);
47
48
  res.json({ success: true, data: { lang } });
48
- }));
49
+ });
49
50
  /**
50
51
  * GET /api/v1/ai/providers
51
52
  * 获取可用的 AI 提供商列表
52
53
  */
53
- router.get('/providers', asyncHandler(async (req, res) => {
54
+ router.get('/providers', async (req, res) => {
54
55
  // API Key 环境变量映射(与 AiFactory.autoDetectProvider 保持一致)
55
56
  const KEY_ENVS = {
56
57
  google: 'ASD_GOOGLE_API_KEY',
@@ -72,12 +73,12 @@ router.get('/providers', asyncHandler(async (req, res) => {
72
73
  : true, // ollama / mock 不需要 key,始终可用
73
74
  }));
74
75
  res.json({ success: true, data: providers });
75
- }));
76
+ });
76
77
  /**
77
78
  * GET /api/v1/ai/config
78
79
  * 获取当前 AI 配置
79
80
  */
80
- router.get('/config', asyncHandler(async (req, res) => {
81
+ router.get('/config', async (req, res) => {
81
82
  const container = getServiceContainer();
82
83
  const p = container.singletons?.aiProvider;
83
84
  res.json({
@@ -87,12 +88,12 @@ router.get('/config', asyncHandler(async (req, res) => {
87
88
  model: p?.model || '',
88
89
  },
89
90
  });
90
- }));
91
+ });
91
92
  /**
92
93
  * POST /api/v1/ai/config
93
94
  * 更新 AI 配置(切换提供商/模型)
94
95
  */
95
- router.post('/config', validate(AiConfigBody), asyncHandler(async (req, res) => {
96
+ router.post('/config', validate(AiConfigBody), async (req, res) => {
96
97
  const { provider, model } = req.body;
97
98
  // 创建新的 provider 实例验证配置有效
98
99
  let newProvider;
@@ -125,12 +126,12 @@ router.post('/config', validate(AiConfigBody), asyncHandler(async (req, res) =>
125
126
  name: newProvider.name,
126
127
  },
127
128
  });
128
- }));
129
+ });
129
130
  /**
130
131
  * POST /api/v1/ai/summarize
131
132
  * AI 摘要生成
132
133
  */
133
- router.post('/summarize', validate(AiSummarizeBody), asyncHandler(async (req, res) => {
134
+ router.post('/summarize', validate(AiSummarizeBody), async (req, res) => {
134
135
  const { code, language } = req.body;
135
136
  const container = getContainer();
136
137
  const factory = container.get('agentFactory');
@@ -143,12 +144,12 @@ router.post('/summarize', validate(AiSummarizeBody), asyncHandler(async (req, re
143
144
  throw new ValidationError(result.error);
144
145
  }
145
146
  res.json({ success: true, data: result });
146
- }));
147
+ });
147
148
  /**
148
149
  * POST /api/v1/ai/translate
149
150
  * AI 翻译(中文 → 英文)
150
151
  */
151
- router.post('/translate', validate(AiTranslateBody), asyncHandler(async (req, res) => {
152
+ router.post('/translate', validate(AiTranslateBody), async (req, res) => {
152
153
  const { summary, usageGuide } = req.body;
153
154
  if (!summary && !usageGuide) {
154
155
  return void res.json({
@@ -181,7 +182,7 @@ router.post('/translate', validate(AiTranslateBody), asyncHandler(async (req, re
181
182
  warning: `Translation failed: ${err.message}`,
182
183
  });
183
184
  }
184
- }));
185
+ });
185
186
  /**
186
187
  * POST /api/v1/ai/chat
187
188
  * AI 对话(RAG 模式,结合项目知识库)
@@ -194,7 +195,7 @@ router.post('/translate', validate(AiTranslateBody), asyncHandler(async (req, re
194
195
  * - SSE 流式最终回答 (text:start/delta/end)
195
196
  * - MemoryCoordinator 记忆提取
196
197
  */
197
- router.post('/chat', validate(AiChatBody), asyncHandler(async (req, res) => {
198
+ router.post('/chat', validate(AiChatBody), async (req, res) => {
198
199
  const { prompt, history, lang, conversationId } = req.body;
199
200
  const container = getContainer();
200
201
  const factory = container.get('agentFactory');
@@ -203,7 +204,7 @@ router.post('/chat', validate(AiChatBody), asyncHandler(async (req, res) => {
203
204
  let effectiveHistory = history;
204
205
  let effectiveConvId = conversationId || null;
205
206
  try {
206
- const projectRoot = container.get('projectRoot') || process.cwd();
207
+ const projectRoot = resolveProjectRoot(container);
207
208
  convStore = new ConversationStore(projectRoot);
208
209
  if (effectiveConvId) {
209
210
  effectiveHistory = convStore.load(effectiveConvId);
@@ -261,16 +262,6 @@ router.post('/chat', validate(AiChatBody), asyncHandler(async (req, res) => {
261
262
  /* 静默降级 */
262
263
  }
263
264
  }
264
- // ── MemoryCoordinator: 提取记忆 ──
265
- try {
266
- const memoryCoordinator = container.get('memoryCoordinator');
267
- if (memoryCoordinator) {
268
- memoryCoordinator.extractFromConversation?.(prompt, result.reply, 'user');
269
- }
270
- }
271
- catch {
272
- /* 静默降级 */
273
- }
274
265
  // ── Token 用量持久化 ──
275
266
  try {
276
267
  const tokenStore = container.get('tokenUsageStore');
@@ -289,7 +280,7 @@ router.post('/chat', validate(AiChatBody), asyncHandler(async (req, res) => {
289
280
  });
290
281
  // 通知前端 token 用量变化
291
282
  try {
292
- const realtime = container.get('realtimeService');
283
+ const realtime = getRealtimeService();
293
284
  realtime?.broadcastTokenUsageUpdated?.();
294
285
  }
295
286
  catch {
@@ -310,19 +301,19 @@ router.post('/chat', validate(AiChatBody), asyncHandler(async (req, res) => {
310
301
  tokenUsage: result.tokenUsage || null,
311
302
  },
312
303
  });
313
- }));
304
+ });
314
305
  /**
315
306
  * POST /api/v1/ai/agent/tool
316
307
  * 程序化直接调用 Agent 工具(跳过 ReAct 循环)
317
308
  * Body: { tool: string, params: object }
318
309
  */
319
- router.post('/agent/tool', validate(AiToolBody), asyncHandler(async (req, res) => {
310
+ router.post('/agent/tool', validate(AiToolBody), async (req, res) => {
320
311
  const { tool, params } = req.body;
321
312
  const container = getContainer();
322
313
  const factory = container.get('agentFactory');
323
314
  const result = await factory.invokeAgent(tool, params);
324
315
  res.json({ success: true, data: result });
325
- }));
316
+ });
326
317
  /**
327
318
  * POST /api/v1/ai/agent/task
328
319
  * 执行预定义任务流(查重提交 / 批量关系发现 / 批量补全)
@@ -339,7 +330,7 @@ const DAG_TASK_HANDLERS = {
339
330
  quality_audit: taskQualityAudit,
340
331
  guard_full_scan: taskGuardFullScan,
341
332
  };
342
- router.post('/agent/task', validate(AiTaskBody), asyncHandler(async (req, res) => {
333
+ router.post('/agent/task', validate(AiTaskBody), async (req, res) => {
343
334
  const { task, params } = req.body;
344
335
  const container = getContainer();
345
336
  const factory = container.get('agentFactory');
@@ -359,12 +350,12 @@ router.post('/agent/task', validate(AiTaskBody), asyncHandler(async (req, res) =
359
350
  // 回退到 Agent 工具执行
360
351
  const result = await factory.invokeAgent(task, params);
361
352
  res.json({ success: true, data: result });
362
- }));
353
+ });
363
354
  /**
364
355
  * GET /api/v1/ai/agent/capabilities
365
356
  * 获取 Agent 能力清单(工具列表 + 任务列表)
366
357
  */
367
- router.get('/agent/capabilities', asyncHandler(async (req, res) => {
358
+ router.get('/agent/capabilities', async (req, res) => {
368
359
  const container = getContainer();
369
360
  const toolRegistry = container.get('toolRegistry');
370
361
  const tools = toolRegistry.getToolSchemas();
@@ -388,13 +379,13 @@ router.get('/agent/capabilities', asyncHandler(async (req, res) => {
388
379
  ],
389
380
  },
390
381
  });
391
- }));
382
+ });
392
383
  /**
393
384
  * POST /api/v1/ai/format-usage-guide
394
385
  * 格式化 usageGuide 文本(纯文本处理,不涉及 AI 调用)
395
386
  * 注:虽非 AI 功能,但前端从 /ai/ 路径调用,保留以维持 API 兼容
396
387
  */
397
- router.post('/format-usage-guide', validate(AiFormatUsageGuideBody), asyncHandler(async (req, res) => {
388
+ router.post('/format-usage-guide', validate(AiFormatUsageGuideBody), async (req, res) => {
398
389
  const { text } = req.body;
399
390
  if (!text) {
400
391
  return void res.json({ success: true, data: { formatted: '' } });
@@ -406,7 +397,7 @@ router.post('/format-usage-guide', validate(AiFormatUsageGuideBody), asyncHandle
406
397
  // 确保代码块格式
407
398
  formatted = formatted.replace(/```(\w+)?\n/g, '\n```$1\n');
408
399
  res.json({ success: true, data: { formatted } });
409
- }));
400
+ });
410
401
  // ═══════════════════════════════════════════════════════
411
402
  // .env LLM 配置读写
412
403
  // ═══════════════════════════════════════════════════════
@@ -476,18 +467,18 @@ function parseLlmEnv(envPath) {
476
467
  * GET /api/v1/ai/env-config
477
468
  * 读取用户项目 .env 中的 LLM 配置
478
469
  */
479
- router.get('/env-config', asyncHandler(async (req, res) => {
470
+ router.get('/env-config', async (req, res) => {
480
471
  const envPath = _getProjectEnvPath();
481
472
  const result = parseLlmEnv(envPath);
482
473
  res.json({ success: true, data: result });
483
- }));
474
+ });
484
475
  /**
485
476
  * POST /api/v1/ai/env-config
486
477
  * 写入 / 更新用户项目 .env 中的 LLM 配置
487
478
  *
488
479
  * Body: { provider, model, apiKey, proxy? }
489
480
  */
490
- router.post('/env-config', validate(AiEnvConfigBody), asyncHandler(async (req, res) => {
481
+ router.post('/env-config', validate(AiEnvConfigBody), async (req, res) => {
491
482
  const { provider, model, apiKey, proxy } = req.body;
492
483
  const envPath = _getProjectEnvPath();
493
484
  let content = existsSync(envPath) ? readFileSync(envPath, 'utf8') : '';
@@ -559,7 +550,7 @@ router.post('/env-config', validate(AiEnvConfigBody), asyncHandler(async (req, r
559
550
  }
560
551
  const result = parseLlmEnv(envPath);
561
552
  res.json({ success: true, data: result });
562
- }));
553
+ });
563
554
  // ═══════════════════════════════════════════════════════
564
555
  // SSE Streaming — 流式对话(Session + EventSource 架构)
565
556
  // ═══════════════════════════════════════════════════════
@@ -583,7 +574,7 @@ router.post('/env-config', validate(AiEnvConfigBody), asyncHandler(async (req, r
583
574
  * Body: { prompt: string, history?: Array<{role,content}> }
584
575
  * Response: { success: true, sessionId: string }
585
576
  */
586
- router.post('/chat/stream', validate(AiStreamBody), asyncHandler(async (req, res) => {
577
+ router.post('/chat/stream', validate(AiStreamBody), async (req, res) => {
587
578
  const { prompt, history, lang } = req.body;
588
579
  const container = getContainer();
589
580
  const factory = container.get('agentFactory');
@@ -659,7 +650,7 @@ router.post('/chat/stream', validate(AiStreamBody), asyncHandler(async (req, res
659
650
  });
660
651
  session.error(err.message, 'RUNTIME_ERROR');
661
652
  });
662
- }));
653
+ });
663
654
  /**
664
655
  * GET /api/v1/ai/chat/events/:sessionId
665
656
  * EventSource SSE 端点 — 消费指定 session 的实时事件
@@ -735,7 +726,7 @@ router.get('/chat/events/:sessionId', (req, res) => {
735
726
  * GET /api/v1/ai/token-usage
736
727
  * 近 7 日 Token 消耗报告(按日 + 按来源 + 总计)
737
728
  */
738
- router.get('/token-usage', asyncHandler(async (req, res) => {
729
+ router.get('/token-usage', async (req, res) => {
739
730
  const container = getServiceContainer();
740
731
  let tokenStore;
741
732
  try {
@@ -759,6 +750,6 @@ router.get('/token-usage', asyncHandler(async (req, res) => {
759
750
  }
760
751
  const report = tokenStore.getLast7DaysReport();
761
752
  res.json({ success: true, data: report });
762
- }));
753
+ });
763
754
  export default router;
764
755
  //# sourceMappingURL=ai.js.map