@pcircle/memesh 2.6.6 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/README.md +116 -54
  2. package/README.zh-TW.md +198 -33
  3. package/dist/a2a/client/A2AClient.d.ts +7 -1
  4. package/dist/a2a/client/A2AClient.d.ts.map +1 -1
  5. package/dist/a2a/client/A2AClient.js +197 -61
  6. package/dist/a2a/client/A2AClient.js.map +1 -1
  7. package/dist/a2a/constants.d.ts +34 -0
  8. package/dist/a2a/constants.d.ts.map +1 -0
  9. package/dist/a2a/constants.js +34 -0
  10. package/dist/a2a/constants.js.map +1 -0
  11. package/dist/a2a/delegator/MCPTaskDelegator.d.ts +19 -0
  12. package/dist/a2a/delegator/MCPTaskDelegator.d.ts.map +1 -0
  13. package/dist/a2a/delegator/MCPTaskDelegator.js +184 -0
  14. package/dist/a2a/delegator/MCPTaskDelegator.js.map +1 -0
  15. package/dist/a2a/delegator/index.d.ts +3 -0
  16. package/dist/a2a/delegator/index.d.ts.map +1 -0
  17. package/dist/a2a/delegator/index.js +2 -0
  18. package/dist/a2a/delegator/index.js.map +1 -0
  19. package/dist/a2a/delegator/types.d.ts +9 -0
  20. package/dist/a2a/delegator/types.d.ts.map +1 -0
  21. package/dist/a2a/delegator/types.js +2 -0
  22. package/dist/a2a/delegator/types.js.map +1 -0
  23. package/dist/a2a/errors/ErrorCodes.d.ts +26 -0
  24. package/dist/a2a/errors/ErrorCodes.d.ts.map +1 -0
  25. package/dist/a2a/errors/ErrorCodes.js +25 -0
  26. package/dist/a2a/errors/ErrorCodes.js.map +1 -0
  27. package/dist/a2a/errors/ErrorMessages.d.ts +28 -0
  28. package/dist/a2a/errors/ErrorMessages.d.ts.map +1 -0
  29. package/dist/a2a/errors/ErrorMessages.js +51 -0
  30. package/dist/a2a/errors/ErrorMessages.js.map +1 -0
  31. package/dist/a2a/errors/index.d.ts +3 -0
  32. package/dist/a2a/errors/index.d.ts.map +1 -0
  33. package/dist/a2a/errors/index.js +3 -0
  34. package/dist/a2a/errors/index.js.map +1 -0
  35. package/dist/a2a/executor/TaskExecutor.d.ts +6 -4
  36. package/dist/a2a/executor/TaskExecutor.d.ts.map +1 -1
  37. package/dist/a2a/executor/TaskExecutor.js +8 -47
  38. package/dist/a2a/executor/TaskExecutor.js.map +1 -1
  39. package/dist/a2a/jobs/TimeoutChecker.d.ts +49 -0
  40. package/dist/a2a/jobs/TimeoutChecker.d.ts.map +1 -0
  41. package/dist/a2a/jobs/TimeoutChecker.js +176 -0
  42. package/dist/a2a/jobs/TimeoutChecker.js.map +1 -0
  43. package/dist/a2a/metrics/A2AMetrics.d.ts +38 -0
  44. package/dist/a2a/metrics/A2AMetrics.d.ts.map +1 -0
  45. package/dist/a2a/metrics/A2AMetrics.js +142 -0
  46. package/dist/a2a/metrics/A2AMetrics.js.map +1 -0
  47. package/dist/a2a/metrics/index.d.ts +3 -0
  48. package/dist/a2a/metrics/index.d.ts.map +1 -0
  49. package/dist/a2a/metrics/index.js +2 -0
  50. package/dist/a2a/metrics/index.js.map +1 -0
  51. package/dist/a2a/server/A2AServer.d.ts +2 -0
  52. package/dist/a2a/server/A2AServer.d.ts.map +1 -1
  53. package/dist/a2a/server/A2AServer.js +48 -8
  54. package/dist/a2a/server/A2AServer.js.map +1 -1
  55. package/dist/a2a/server/middleware/auth.d.ts +6 -0
  56. package/dist/a2a/server/middleware/auth.d.ts.map +1 -0
  57. package/dist/a2a/server/middleware/auth.js +64 -0
  58. package/dist/a2a/server/middleware/auth.js.map +1 -0
  59. package/dist/a2a/server/middleware/csrf.d.ts +7 -0
  60. package/dist/a2a/server/middleware/csrf.d.ts.map +1 -0
  61. package/dist/a2a/server/middleware/csrf.js +169 -0
  62. package/dist/a2a/server/middleware/csrf.js.map +1 -0
  63. package/dist/a2a/server/middleware/rateLimit.d.ts +9 -0
  64. package/dist/a2a/server/middleware/rateLimit.d.ts.map +1 -0
  65. package/dist/a2a/server/middleware/rateLimit.js +192 -0
  66. package/dist/a2a/server/middleware/rateLimit.js.map +1 -0
  67. package/dist/a2a/server/middleware/resourceProtection.d.ts +17 -0
  68. package/dist/a2a/server/middleware/resourceProtection.d.ts.map +1 -0
  69. package/dist/a2a/server/middleware/resourceProtection.js +258 -0
  70. package/dist/a2a/server/middleware/resourceProtection.js.map +1 -0
  71. package/dist/a2a/server/middleware/timeout.d.ts +4 -0
  72. package/dist/a2a/server/middleware/timeout.d.ts.map +1 -0
  73. package/dist/a2a/server/middleware/timeout.js +56 -0
  74. package/dist/a2a/server/middleware/timeout.js.map +1 -0
  75. package/dist/a2a/server/middleware.d.ts.map +1 -1
  76. package/dist/a2a/server/middleware.js +9 -6
  77. package/dist/a2a/server/middleware.js.map +1 -1
  78. package/dist/a2a/server/routes.d.ts +3 -0
  79. package/dist/a2a/server/routes.d.ts.map +1 -1
  80. package/dist/a2a/server/routes.js +24 -7
  81. package/dist/a2a/server/routes.js.map +1 -1
  82. package/dist/a2a/server/validation/index.d.ts +2 -0
  83. package/dist/a2a/server/validation/index.d.ts.map +1 -0
  84. package/dist/a2a/server/validation/index.js +2 -0
  85. package/dist/a2a/server/validation/index.js.map +1 -0
  86. package/dist/a2a/server/validation/sendMessageSchema.d.ts +112 -0
  87. package/dist/a2a/server/validation/sendMessageSchema.d.ts.map +1 -0
  88. package/dist/a2a/server/validation/sendMessageSchema.js +143 -0
  89. package/dist/a2a/server/validation/sendMessageSchema.js.map +1 -0
  90. package/dist/a2a/storage/AgentRegistry.d.ts +7 -0
  91. package/dist/a2a/storage/AgentRegistry.d.ts.map +1 -1
  92. package/dist/a2a/storage/AgentRegistry.js +95 -38
  93. package/dist/a2a/storage/AgentRegistry.js.map +1 -1
  94. package/dist/a2a/storage/TaskQueue.d.ts +3 -0
  95. package/dist/a2a/storage/TaskQueue.d.ts.map +1 -1
  96. package/dist/a2a/storage/TaskQueue.js +80 -18
  97. package/dist/a2a/storage/TaskQueue.js.map +1 -1
  98. package/dist/a2a/storage/inputValidation.d.ts +18 -0
  99. package/dist/a2a/storage/inputValidation.d.ts.map +1 -0
  100. package/dist/a2a/storage/inputValidation.js +101 -0
  101. package/dist/a2a/storage/inputValidation.js.map +1 -0
  102. package/dist/a2a/storage/schemas.sql +11 -1
  103. package/dist/a2a/types/index.d.ts +1 -0
  104. package/dist/a2a/types/index.d.ts.map +1 -1
  105. package/dist/a2a/types/rateLimit.d.ts +26 -0
  106. package/dist/a2a/types/rateLimit.d.ts.map +1 -0
  107. package/dist/a2a/types/rateLimit.js +2 -0
  108. package/dist/a2a/types/rateLimit.js.map +1 -0
  109. package/dist/a2a/types/task.d.ts +1 -1
  110. package/dist/a2a/types/task.d.ts.map +1 -1
  111. package/dist/agents/E2EHealingAgent.js +1 -1
  112. package/dist/agents/E2EHealingAgent.js.map +1 -1
  113. package/dist/agents/knowledge/storage/KnowledgeGraphStore.d.ts.map +1 -1
  114. package/dist/agents/knowledge/storage/KnowledgeGraphStore.js +5 -3
  115. package/dist/agents/knowledge/storage/KnowledgeGraphStore.js.map +1 -1
  116. package/dist/cli/config.d.ts +36 -0
  117. package/dist/cli/config.d.ts.map +1 -0
  118. package/dist/cli/config.js +398 -0
  119. package/dist/cli/config.js.map +1 -0
  120. package/dist/cli/daemon.d.ts +3 -0
  121. package/dist/cli/daemon.d.ts.map +1 -0
  122. package/dist/cli/daemon.js +413 -0
  123. package/dist/cli/daemon.js.map +1 -0
  124. package/dist/cli/dashboard.d.ts +2 -0
  125. package/dist/cli/dashboard.d.ts.map +1 -0
  126. package/dist/cli/dashboard.js +300 -0
  127. package/dist/cli/dashboard.js.map +1 -0
  128. package/dist/cli/index.d.ts +3 -0
  129. package/dist/cli/index.d.ts.map +1 -0
  130. package/dist/cli/index.js +182 -0
  131. package/dist/cli/index.js.map +1 -0
  132. package/dist/cli/setup-wizard.d.ts +18 -0
  133. package/dist/cli/setup-wizard.d.ts.map +1 -0
  134. package/dist/cli/setup-wizard.js +308 -0
  135. package/dist/cli/setup-wizard.js.map +1 -0
  136. package/dist/cli/stats.d.ts +34 -0
  137. package/dist/cli/stats.d.ts.map +1 -0
  138. package/dist/cli/stats.js +479 -0
  139. package/dist/cli/stats.js.map +1 -0
  140. package/dist/cli/tutorial.d.ts +27 -0
  141. package/dist/cli/tutorial.d.ts.map +1 -0
  142. package/dist/cli/tutorial.js +430 -0
  143. package/dist/cli/tutorial.js.map +1 -0
  144. package/dist/config/index.d.ts.map +1 -1
  145. package/dist/config/index.js +8 -7
  146. package/dist/config/index.js.map +1 -1
  147. package/dist/config/simple-config.js.map +1 -1
  148. package/dist/core/BackgroundExecutor.d.ts +6 -0
  149. package/dist/core/BackgroundExecutor.d.ts.map +1 -1
  150. package/dist/core/BackgroundExecutor.js +152 -44
  151. package/dist/core/BackgroundExecutor.js.map +1 -1
  152. package/dist/core/ClaudeMdRuleExtractor.d.ts.map +1 -1
  153. package/dist/core/ClaudeMdRuleExtractor.js +9 -14
  154. package/dist/core/ClaudeMdRuleExtractor.js.map +1 -1
  155. package/dist/core/MistakePatternManager.d.ts.map +1 -1
  156. package/dist/core/MistakePatternManager.js +29 -3
  157. package/dist/core/MistakePatternManager.js.map +1 -1
  158. package/dist/core/ResourceMonitor.d.ts.map +1 -1
  159. package/dist/core/ResourceMonitor.js +64 -2
  160. package/dist/core/ResourceMonitor.js.map +1 -1
  161. package/dist/core/ResultHandler.d.ts.map +1 -1
  162. package/dist/core/ResultHandler.js +12 -0
  163. package/dist/core/ResultHandler.js.map +1 -1
  164. package/dist/core/SessionContextMonitor.d.ts.map +1 -1
  165. package/dist/core/SessionContextMonitor.js +4 -1
  166. package/dist/core/SessionContextMonitor.js.map +1 -1
  167. package/dist/core/SessionTokenTracker.d.ts.map +1 -1
  168. package/dist/core/SessionTokenTracker.js +58 -2
  169. package/dist/core/SessionTokenTracker.js.map +1 -1
  170. package/dist/db/ConnectionPool.d.ts.map +1 -1
  171. package/dist/db/ConnectionPool.js +111 -37
  172. package/dist/db/ConnectionPool.js.map +1 -1
  173. package/dist/db/QueryCache.d.ts.map +1 -1
  174. package/dist/db/QueryCache.js +8 -5
  175. package/dist/db/QueryCache.js.map +1 -1
  176. package/dist/errors/ErrorClassifier.d.ts +60 -0
  177. package/dist/errors/ErrorClassifier.d.ts.map +1 -0
  178. package/dist/errors/ErrorClassifier.js +443 -0
  179. package/dist/errors/ErrorClassifier.js.map +1 -0
  180. package/dist/errors/index.d.ts +1 -0
  181. package/dist/errors/index.d.ts.map +1 -1
  182. package/dist/errors/index.js +3 -0
  183. package/dist/errors/index.js.map +1 -1
  184. package/dist/evolution/ABTestManager.d.ts.map +1 -1
  185. package/dist/evolution/ABTestManager.js +80 -1
  186. package/dist/evolution/ABTestManager.js.map +1 -1
  187. package/dist/evolution/EvolutionBootstrap.d.ts.map +1 -1
  188. package/dist/evolution/EvolutionBootstrap.js +4 -4
  189. package/dist/evolution/EvolutionBootstrap.js.map +1 -1
  190. package/dist/evolution/FeedbackCollector.d.ts.map +1 -1
  191. package/dist/evolution/FeedbackCollector.js +6 -0
  192. package/dist/evolution/FeedbackCollector.js.map +1 -1
  193. package/dist/evolution/LearningManager.d.ts.map +1 -1
  194. package/dist/evolution/LearningManager.js +16 -0
  195. package/dist/evolution/LearningManager.js.map +1 -1
  196. package/dist/evolution/MultiObjectiveOptimizer.d.ts.map +1 -1
  197. package/dist/evolution/MultiObjectiveOptimizer.js +18 -3
  198. package/dist/evolution/MultiObjectiveOptimizer.js.map +1 -1
  199. package/dist/evolution/PerformanceTracker.d.ts.map +1 -1
  200. package/dist/evolution/PerformanceTracker.js +83 -13
  201. package/dist/evolution/PerformanceTracker.js.map +1 -1
  202. package/dist/evolution/StatisticalAnalyzer.d.ts +1 -0
  203. package/dist/evolution/StatisticalAnalyzer.d.ts.map +1 -1
  204. package/dist/evolution/StatisticalAnalyzer.js +126 -9
  205. package/dist/evolution/StatisticalAnalyzer.js.map +1 -1
  206. package/dist/evolution/instrumentation/withEvolutionTracking.d.ts.map +1 -1
  207. package/dist/evolution/instrumentation/withEvolutionTracking.js +0 -2
  208. package/dist/evolution/instrumentation/withEvolutionTracking.js.map +1 -1
  209. package/dist/evolution/storage/SQLiteStore.d.ts +1 -0
  210. package/dist/evolution/storage/SQLiteStore.d.ts.map +1 -1
  211. package/dist/evolution/storage/SQLiteStore.js +59 -12
  212. package/dist/evolution/storage/SQLiteStore.js.map +1 -1
  213. package/dist/evolution/storage/validation.d.ts +2 -3
  214. package/dist/evolution/storage/validation.d.ts.map +1 -1
  215. package/dist/evolution/storage/validation.js +2 -6
  216. package/dist/evolution/storage/validation.js.map +1 -1
  217. package/dist/hooks/a2a-collaboration.d.ts +30 -0
  218. package/dist/hooks/a2a-collaboration.d.ts.map +1 -0
  219. package/dist/hooks/a2a-collaboration.js +400 -0
  220. package/dist/hooks/a2a-collaboration.js.map +1 -0
  221. package/dist/knowledge-graph/index.d.ts +7 -1
  222. package/dist/knowledge-graph/index.d.ts.map +1 -1
  223. package/dist/knowledge-graph/index.js +335 -52
  224. package/dist/knowledge-graph/index.js.map +1 -1
  225. package/dist/knowledge-graph/types.d.ts +1 -0
  226. package/dist/knowledge-graph/types.d.ts.map +1 -1
  227. package/dist/management/UninstallManager.d.ts.map +1 -1
  228. package/dist/management/UninstallManager.js.map +1 -1
  229. package/dist/mcp/BuddyCommands.d.ts +15 -2
  230. package/dist/mcp/BuddyCommands.d.ts.map +1 -1
  231. package/dist/mcp/BuddyCommands.js +635 -52
  232. package/dist/mcp/BuddyCommands.js.map +1 -1
  233. package/dist/mcp/ServerInitializer.d.ts +7 -1
  234. package/dist/mcp/ServerInitializer.d.ts.map +1 -1
  235. package/dist/mcp/ServerInitializer.js +121 -69
  236. package/dist/mcp/ServerInitializer.js.map +1 -1
  237. package/dist/mcp/ToolDefinitions.d.ts.map +1 -1
  238. package/dist/mcp/ToolDefinitions.js +109 -18
  239. package/dist/mcp/ToolDefinitions.js.map +1 -1
  240. package/dist/mcp/ToolRouter.d.ts +6 -0
  241. package/dist/mcp/ToolRouter.d.ts.map +1 -1
  242. package/dist/mcp/ToolRouter.js +90 -2
  243. package/dist/mcp/ToolRouter.js.map +1 -1
  244. package/dist/mcp/daemon/DaemonBootstrap.d.ts +33 -0
  245. package/dist/mcp/daemon/DaemonBootstrap.d.ts.map +1 -0
  246. package/dist/mcp/daemon/DaemonBootstrap.js +155 -0
  247. package/dist/mcp/daemon/DaemonBootstrap.js.map +1 -0
  248. package/dist/mcp/daemon/DaemonLockManager.d.ts +47 -0
  249. package/dist/mcp/daemon/DaemonLockManager.d.ts.map +1 -0
  250. package/dist/mcp/daemon/DaemonLockManager.js +417 -0
  251. package/dist/mcp/daemon/DaemonLockManager.js.map +1 -0
  252. package/dist/mcp/daemon/DaemonProtocol.d.ts +127 -0
  253. package/dist/mcp/daemon/DaemonProtocol.d.ts.map +1 -0
  254. package/dist/mcp/daemon/DaemonProtocol.js +452 -0
  255. package/dist/mcp/daemon/DaemonProtocol.js.map +1 -0
  256. package/dist/mcp/daemon/DaemonSocketServer.d.ts +71 -0
  257. package/dist/mcp/daemon/DaemonSocketServer.d.ts.map +1 -0
  258. package/dist/mcp/daemon/DaemonSocketServer.js +384 -0
  259. package/dist/mcp/daemon/DaemonSocketServer.js.map +1 -0
  260. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts +67 -0
  261. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts.map +1 -0
  262. package/dist/mcp/daemon/GracefulShutdownCoordinator.js +206 -0
  263. package/dist/mcp/daemon/GracefulShutdownCoordinator.js.map +1 -0
  264. package/dist/mcp/daemon/IpcTransport.d.ts +42 -0
  265. package/dist/mcp/daemon/IpcTransport.d.ts.map +1 -0
  266. package/dist/mcp/daemon/IpcTransport.js +231 -0
  267. package/dist/mcp/daemon/IpcTransport.js.map +1 -0
  268. package/dist/mcp/daemon/StdioProxyClient.d.ts +84 -0
  269. package/dist/mcp/daemon/StdioProxyClient.d.ts.map +1 -0
  270. package/dist/mcp/daemon/StdioProxyClient.js +560 -0
  271. package/dist/mcp/daemon/StdioProxyClient.js.map +1 -0
  272. package/dist/mcp/daemon/VersionManager.d.ts +35 -0
  273. package/dist/mcp/daemon/VersionManager.d.ts.map +1 -0
  274. package/dist/mcp/daemon/VersionManager.js +169 -0
  275. package/dist/mcp/daemon/VersionManager.js.map +1 -0
  276. package/dist/mcp/daemon/index.d.ts +9 -0
  277. package/dist/mcp/daemon/index.d.ts.map +1 -0
  278. package/dist/mcp/daemon/index.js +9 -0
  279. package/dist/mcp/daemon/index.js.map +1 -0
  280. package/dist/mcp/handlers/A2AToolHandlers.d.ts.map +1 -1
  281. package/dist/mcp/handlers/A2AToolHandlers.js +24 -4
  282. package/dist/mcp/handlers/A2AToolHandlers.js.map +1 -1
  283. package/dist/mcp/handlers/ToolHandlers.d.ts.map +1 -1
  284. package/dist/mcp/handlers/ToolHandlers.js.map +1 -1
  285. package/dist/mcp/resources/best-practices.md +1 -1
  286. package/dist/mcp/resources/buddy-do-skill.md +1 -1
  287. package/dist/mcp/resources/examples.md +1 -1
  288. package/dist/mcp/resources/quick-reference.md +1 -1
  289. package/dist/mcp/resources/usage-guide.md +2 -2
  290. package/dist/mcp/schemas/OutputSchemas.d.ts +16 -0
  291. package/dist/mcp/schemas/OutputSchemas.d.ts.map +1 -1
  292. package/dist/mcp/schemas/OutputSchemas.js +12 -0
  293. package/dist/mcp/schemas/OutputSchemas.js.map +1 -1
  294. package/dist/mcp/server-bootstrap.js +245 -29
  295. package/dist/mcp/server-bootstrap.js.map +1 -1
  296. package/dist/mcp/server.d.ts +11 -1
  297. package/dist/mcp/server.d.ts.map +1 -1
  298. package/dist/mcp/server.js +196 -9
  299. package/dist/mcp/server.js.map +1 -1
  300. package/dist/mcp/tools/a2a-list-tasks.d.ts +13 -0
  301. package/dist/mcp/tools/a2a-list-tasks.d.ts.map +1 -0
  302. package/dist/mcp/tools/a2a-list-tasks.js +24 -0
  303. package/dist/mcp/tools/a2a-list-tasks.js.map +1 -0
  304. package/dist/mcp/tools/a2a-report-result.d.ts +35 -0
  305. package/dist/mcp/tools/a2a-report-result.d.ts.map +1 -0
  306. package/dist/mcp/tools/a2a-report-result.js +73 -0
  307. package/dist/mcp/tools/a2a-report-result.js.map +1 -0
  308. package/dist/mcp/tools/buddy-do.d.ts.map +1 -1
  309. package/dist/mcp/tools/buddy-do.js +10 -2
  310. package/dist/mcp/tools/buddy-do.js.map +1 -1
  311. package/dist/mcp/tools/buddy-help.d.ts.map +1 -1
  312. package/dist/mcp/tools/buddy-help.js +6 -14
  313. package/dist/mcp/tools/buddy-help.js.map +1 -1
  314. package/dist/mcp/validation.d.ts +1 -1
  315. package/dist/memory/AutoMemoryRecorder.d.ts +35 -0
  316. package/dist/memory/AutoMemoryRecorder.d.ts.map +1 -0
  317. package/dist/memory/AutoMemoryRecorder.js +164 -0
  318. package/dist/memory/AutoMemoryRecorder.js.map +1 -0
  319. package/dist/memory/AutoTagger.d.ts +9 -0
  320. package/dist/memory/AutoTagger.d.ts.map +1 -0
  321. package/dist/memory/AutoTagger.js +149 -0
  322. package/dist/memory/AutoTagger.js.map +1 -0
  323. package/dist/memory/MistakePatternEngine.d.ts.map +1 -1
  324. package/dist/memory/MistakePatternEngine.js.map +1 -1
  325. package/dist/memory/ProjectMemoryCleanup.js +1 -1
  326. package/dist/memory/SecretManager.d.ts.map +1 -1
  327. package/dist/memory/SecretManager.js +48 -15
  328. package/dist/memory/SecretManager.js.map +1 -1
  329. package/dist/memory/SmartMemoryQuery.d.ts +9 -0
  330. package/dist/memory/SmartMemoryQuery.d.ts.map +1 -0
  331. package/dist/memory/SmartMemoryQuery.js +65 -0
  332. package/dist/memory/SmartMemoryQuery.js.map +1 -0
  333. package/dist/memory/UnifiedMemoryStore.d.ts +1 -0
  334. package/dist/memory/UnifiedMemoryStore.d.ts.map +1 -1
  335. package/dist/memory/UnifiedMemoryStore.js +211 -38
  336. package/dist/memory/UnifiedMemoryStore.js.map +1 -1
  337. package/dist/memory/UserPreferenceEngine.d.ts.map +1 -1
  338. package/dist/memory/UserPreferenceEngine.js +6 -5
  339. package/dist/memory/UserPreferenceEngine.js.map +1 -1
  340. package/dist/memory/types/unified-memory.d.ts +2 -0
  341. package/dist/memory/types/unified-memory.d.ts.map +1 -1
  342. package/dist/memory/types/unified-memory.js +2 -0
  343. package/dist/memory/types/unified-memory.js.map +1 -1
  344. package/dist/orchestrator/AgentRouter.d.ts.map +1 -1
  345. package/dist/orchestrator/AgentRouter.js +5 -4
  346. package/dist/orchestrator/AgentRouter.js.map +1 -1
  347. package/dist/orchestrator/CostTracker.d.ts.map +1 -1
  348. package/dist/orchestrator/CostTracker.js.map +1 -1
  349. package/dist/orchestrator/GlobalResourcePool.d.ts.map +1 -1
  350. package/dist/orchestrator/GlobalResourcePool.js +70 -3
  351. package/dist/orchestrator/GlobalResourcePool.js.map +1 -1
  352. package/dist/ui/AsciiProgressBar.d.ts.map +1 -1
  353. package/dist/ui/AsciiProgressBar.js +0 -1
  354. package/dist/ui/AsciiProgressBar.js.map +1 -1
  355. package/dist/ui/AttributionManager.js +2 -2
  356. package/dist/ui/AttributionManager.js.map +1 -1
  357. package/dist/ui/Dashboard.d.ts.map +1 -1
  358. package/dist/ui/Dashboard.js +2 -2
  359. package/dist/ui/Dashboard.js.map +1 -1
  360. package/dist/ui/MetricsStore.d.ts.map +1 -1
  361. package/dist/ui/MetricsStore.js +2 -2
  362. package/dist/ui/MetricsStore.js.map +1 -1
  363. package/dist/ui/ProgressIndicator.d.ts +35 -0
  364. package/dist/ui/ProgressIndicator.d.ts.map +1 -0
  365. package/dist/ui/ProgressIndicator.js +177 -0
  366. package/dist/ui/ProgressIndicator.js.map +1 -0
  367. package/dist/ui/ResponseFormatter.d.ts +8 -0
  368. package/dist/ui/ResponseFormatter.d.ts.map +1 -1
  369. package/dist/ui/ResponseFormatter.js +220 -35
  370. package/dist/ui/ResponseFormatter.js.map +1 -1
  371. package/dist/ui/design-tokens.d.ts +37 -0
  372. package/dist/ui/design-tokens.d.ts.map +1 -0
  373. package/dist/ui/design-tokens.js +105 -0
  374. package/dist/ui/design-tokens.js.map +1 -0
  375. package/dist/ui/theme.d.ts +14 -4
  376. package/dist/ui/theme.d.ts.map +1 -1
  377. package/dist/ui/theme.js +7 -2
  378. package/dist/ui/theme.js.map +1 -1
  379. package/dist/utils/PathResolver.d.ts.map +1 -1
  380. package/dist/utils/PathResolver.js +3 -2
  381. package/dist/utils/PathResolver.js.map +1 -1
  382. package/dist/utils/SystemResources.d.ts.map +1 -1
  383. package/dist/utils/SystemResources.js +9 -14
  384. package/dist/utils/SystemResources.js.map +1 -1
  385. package/dist/utils/errorHandler.d.ts +6 -0
  386. package/dist/utils/errorHandler.d.ts.map +1 -1
  387. package/dist/utils/errorHandler.js +50 -1
  388. package/dist/utils/errorHandler.js.map +1 -1
  389. package/dist/utils/index.d.ts +19 -0
  390. package/dist/utils/index.d.ts.map +1 -0
  391. package/dist/utils/index.js +17 -0
  392. package/dist/utils/index.js.map +1 -0
  393. package/dist/utils/json.d.ts.map +1 -1
  394. package/dist/utils/json.js +11 -1
  395. package/dist/utils/json.js.map +1 -1
  396. package/dist/utils/logger.d.ts.map +1 -1
  397. package/dist/utils/logger.js +65 -3
  398. package/dist/utils/logger.js.map +1 -1
  399. package/dist/utils/lru-cache.d.ts +7 -0
  400. package/dist/utils/lru-cache.d.ts.map +1 -1
  401. package/dist/utils/lru-cache.js +37 -7
  402. package/dist/utils/lru-cache.js.map +1 -1
  403. package/dist/utils/safeMath.d.ts +11 -0
  404. package/dist/utils/safeMath.d.ts.map +1 -0
  405. package/dist/utils/safeMath.js +92 -0
  406. package/dist/utils/safeMath.js.map +1 -0
  407. package/dist/utils/toonify-adapter.d.ts.map +1 -1
  408. package/dist/utils/toonify-adapter.js.map +1 -1
  409. package/dist/utils/tracing/TraceContext.d.ts +23 -0
  410. package/dist/utils/tracing/TraceContext.d.ts.map +1 -0
  411. package/dist/utils/tracing/TraceContext.js +127 -0
  412. package/dist/utils/tracing/TraceContext.js.map +1 -0
  413. package/dist/utils/tracing/index.d.ts +3 -0
  414. package/dist/utils/tracing/index.d.ts.map +1 -0
  415. package/dist/utils/tracing/index.js +3 -0
  416. package/dist/utils/tracing/index.js.map +1 -0
  417. package/dist/utils/tracing/middleware.d.ts +15 -0
  418. package/dist/utils/tracing/middleware.d.ts.map +1 -0
  419. package/dist/utils/tracing/middleware.js +49 -0
  420. package/dist/utils/tracing/middleware.js.map +1 -0
  421. package/dist/utils/validation.d.ts +12 -0
  422. package/dist/utils/validation.d.ts.map +1 -0
  423. package/dist/utils/validation.js +87 -0
  424. package/dist/utils/validation.js.map +1 -0
  425. package/mcp.json +10 -0
  426. package/package.json +10 -2
  427. package/plugin.json +2 -12
  428. package/scripts/postinstall.js +192 -21
  429. package/README.md.backup +0 -536
  430. package/README.zh-TW.md.backup +0 -446
@@ -8,10 +8,51 @@ export class ResourceMonitor {
8
8
  activeIntervals = new Set();
9
9
  disposed = false;
10
10
  constructor(maxBackgroundAgents = 6, thresholds) {
11
+ if (!Number.isFinite(maxBackgroundAgents)) {
12
+ throw new ValidationError('Max background agents must be finite', {
13
+ providedValue: maxBackgroundAgents,
14
+ });
15
+ }
16
+ if (!Number.isSafeInteger(maxBackgroundAgents)) {
17
+ throw new ValidationError('Max background agents must be safe integer', {
18
+ providedValue: maxBackgroundAgents,
19
+ max: Number.MAX_SAFE_INTEGER,
20
+ });
21
+ }
22
+ if (maxBackgroundAgents < 1) {
23
+ throw new ValidationError('Max background agents must be >= 1', {
24
+ providedValue: maxBackgroundAgents,
25
+ min: 1,
26
+ });
27
+ }
28
+ const maxCPU = thresholds?.maxCPU ?? 70;
29
+ if (!Number.isFinite(maxCPU)) {
30
+ throw new ValidationError('Max CPU must be finite', {
31
+ providedValue: maxCPU,
32
+ });
33
+ }
34
+ if (maxCPU < 0 || maxCPU > 100) {
35
+ throw new ValidationError('Max CPU must be 0-100', {
36
+ providedValue: maxCPU,
37
+ range: [0, 100],
38
+ });
39
+ }
40
+ const maxMemory = thresholds?.maxMemory ?? 8192;
41
+ if (!Number.isFinite(maxMemory)) {
42
+ throw new ValidationError('Max memory must be finite', {
43
+ providedValue: maxMemory,
44
+ });
45
+ }
46
+ if (maxMemory < 0) {
47
+ throw new ValidationError('Max memory must be non-negative', {
48
+ providedValue: maxMemory,
49
+ min: 0,
50
+ });
51
+ }
11
52
  this.maxBackgroundAgents = maxBackgroundAgents;
12
53
  this.thresholds = {
13
- maxCPU: thresholds?.maxCPU ?? 70,
14
- maxMemory: thresholds?.maxMemory ?? 8192,
54
+ maxCPU,
55
+ maxMemory,
15
56
  };
16
57
  }
17
58
  getCurrentResources() {
@@ -106,6 +147,11 @@ export class ResourceMonitor {
106
147
  return this.activeBackgroundCount;
107
148
  }
108
149
  setMaxCPU(percentage) {
150
+ if (!Number.isFinite(percentage)) {
151
+ throw new ValidationError('CPU percentage must be finite', {
152
+ value: percentage,
153
+ });
154
+ }
109
155
  if (percentage < 0 || percentage > 100) {
110
156
  throw new ValidationError('CPU percentage must be between 0 and 100', {
111
157
  value: percentage,
@@ -116,6 +162,11 @@ export class ResourceMonitor {
116
162
  this.thresholds.maxCPU = percentage;
117
163
  }
118
164
  setMaxMemory(megabytes) {
165
+ if (!Number.isFinite(megabytes)) {
166
+ throw new ValidationError('Memory must be finite', {
167
+ value: megabytes,
168
+ });
169
+ }
119
170
  if (megabytes < 0) {
120
171
  throw new ValidationError('Memory must be positive', {
121
172
  value: megabytes,
@@ -125,6 +176,17 @@ export class ResourceMonitor {
125
176
  this.thresholds.maxMemory = megabytes;
126
177
  }
127
178
  setMaxBackgroundAgents(count) {
179
+ if (!Number.isFinite(count)) {
180
+ throw new ValidationError('Max agents must be finite', {
181
+ value: count,
182
+ });
183
+ }
184
+ if (!Number.isSafeInteger(count)) {
185
+ throw new ValidationError('Max agents must be safe integer', {
186
+ value: count,
187
+ max: Number.MAX_SAFE_INTEGER,
188
+ });
189
+ }
128
190
  if (count < 1) {
129
191
  throw new ValidationError('Max background agents must be at least 1', {
130
192
  value: count,
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceMonitor.js","sourceRoot":"","sources":["../../src/core/ResourceMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceMonitor.js","sourceRoot":"","sources":["../../src/core/ResourceMonitor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResultHandler.d.ts","sourceRoot":"","sources":["../../src/core/ResultHandler.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB5C,qBAAa,aAAa;IA8BxB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IA+C5D,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAoCtD,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAmB3C,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,qBAAqB;CAyB9B"}
1
+ {"version":3,"file":"ResultHandler.d.ts","sourceRoot":"","sources":["../../src/core/ResultHandler.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB5C,qBAAa,aAAa;IA8BxB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IA2D5D,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IA6CtD,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IA4B3C,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,qBAAqB;CAyB9B"}
@@ -2,6 +2,10 @@ import { logger } from '../utils/logger.js';
2
2
  import { looksLikeSensitive, hashValue } from '../telemetry/sanitization.js';
3
3
  export class ResultHandler {
4
4
  handleCompleted(task, result) {
5
+ if (task.status === 'completed' || task.status === 'failed' || task.status === 'cancelled') {
6
+ logger.debug(`BackgroundExecutor: Task ${task.taskId} already in terminal state '${task.status}', skipping completion update`);
7
+ return;
8
+ }
5
9
  task.status = 'completed';
6
10
  task.endTime = new Date();
7
11
  task.result = result;
@@ -15,6 +19,10 @@ export class ResultHandler {
15
19
  }, task.taskId, 'onComplete');
16
20
  }
17
21
  handleFailed(task, error) {
22
+ if (task.status === 'completed' || task.status === 'failed' || task.status === 'cancelled') {
23
+ logger.debug(`BackgroundExecutor: Task ${task.taskId} already in terminal state '${task.status}', skipping failure update`);
24
+ return;
25
+ }
18
26
  task.status = 'failed';
19
27
  task.endTime = new Date();
20
28
  task.error = error;
@@ -24,6 +32,10 @@ export class ResultHandler {
24
32
  }, task.taskId, 'onError');
25
33
  }
26
34
  handleCancelled(task) {
35
+ if (task.status === 'completed' || task.status === 'failed' || task.status === 'cancelled') {
36
+ logger.debug(`BackgroundExecutor: Task ${task.taskId} already in terminal state '${task.status}', skipping cancellation update`);
37
+ return;
38
+ }
27
39
  task.status = 'cancelled';
28
40
  task.endTime = new Date();
29
41
  logger.info(`BackgroundExecutor: Task ${task.taskId} cancelled`);
@@ -1 +1 @@
1
- {"version":3,"file":"ResultHandler.js","sourceRoot":"","sources":["../../src/core/ResultHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResultHandler.js","sourceRoot":"","sources":["../../src/core/ResultHandler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SessionContextMonitor.d.ts","sourceRoot":"","sources":["../../src/core/SessionContextMonitor.ts"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AA0BpE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AA6BrE,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,cAAc,CAAC;AAmCnB,MAAM,WAAW,cAAc;IAE7B,IAAI,EAAE,WAAW,CAAC;IAElB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAEvC,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAmCD,MAAM,WAAW,qBAAqB;IAEpC,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAEjD,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqDD,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,mBAAmB,CAAC;IAE5B,oBAAoB,EAAE,MAAM,CAAC;IAE7B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAE3B,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAEzC,SAAS,EAAE,IAAI,CAAC;CACjB;AAwDD,qBAAa,qBAAqB;IA4CpB,OAAO,CAAC,YAAY;IA1ChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAGrD,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,eAAe,CAAqB;gBAiCxB,YAAY,EAAE,mBAAmB;IAkErD,kBAAkB,IAAI,aAAa;IAiJnC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoEvC,OAAO,CAAC,uBAAuB;IA8F/B,OAAO,CAAC,eAAe;IAgEvB,QAAQ;;;;;CAOT"}
1
+ {"version":3,"file":"SessionContextMonitor.d.ts","sourceRoot":"","sources":["../../src/core/SessionContextMonitor.ts"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AA0BpE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AA6BrE,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,cAAc,CAAC;AAmCnB,MAAM,WAAW,cAAc;IAE7B,IAAI,EAAE,WAAW,CAAC;IAElB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAEvC,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAmCD,MAAM,WAAW,qBAAqB;IAEpC,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAEjD,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqDD,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,mBAAmB,CAAC;IAE5B,oBAAoB,EAAE,MAAM,CAAC;IAE7B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAE3B,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAEzC,SAAS,EAAE,IAAI,CAAC;CACjB;AAwDD,qBAAa,qBAAqB;IA4CpB,OAAO,CAAC,YAAY;IA1ChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAGrD,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,eAAe,CAAqB;gBAiCxB,YAAY,EAAE,mBAAmB;IAkErD,kBAAkB,IAAI,aAAa;IAiJnC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoEvC,OAAO,CAAC,uBAAuB;IAoG/B,OAAO,CAAC,eAAe;IAgEvB,QAAQ;;;;;CAOT"}
@@ -113,11 +113,14 @@ export class SessionContextMonitor {
113
113
  }
114
114
  const recent = this.qualityHistory.slice(-3);
115
115
  const previous = this.qualityHistory.slice(-6, -3);
116
- if (previous.length === 0) {
116
+ if (previous.length === 0 || recent.length === 0) {
117
117
  return null;
118
118
  }
119
119
  const recentAvg = recent.reduce((a, b) => a + b, 0) / recent.length;
120
120
  const previousAvg = previous.reduce((a, b) => a + b, 0) / previous.length;
121
+ if (!Number.isFinite(recentAvg) || !Number.isFinite(previousAvg)) {
122
+ return null;
123
+ }
121
124
  if (previousAvg === 0) {
122
125
  return null;
123
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SessionContextMonitor.js","sourceRoot":"","sources":["../../src/core/SessionContextMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionContextMonitor.js","sourceRoot":"","sources":["../../src/core/SessionContextMonitor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SessionTokenTracker.d.ts","sourceRoot":"","sources":["../../src/core/SessionTokenTracker.ts"],"names":[],"mappings":"AA+DA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAKD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;CACxC;AAKD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAKD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAwCD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,mBAAmB,CAA0B;gBAEzC,MAAM,EAAE,yBAAyB;IA6C7C,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAkCpC,cAAc,IAAI,MAAM;IAuBxB,kBAAkB,IAAI,MAAM;IAQ5B,eAAe,IAAI,gBAAgB,EAAE;IA0BrC,QAAQ,IAAI,YAAY;IAcxB,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"SessionTokenTracker.d.ts","sourceRoot":"","sources":["../../src/core/SessionTokenTracker.ts"],"names":[],"mappings":"AA+DA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAKD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;CACxC;AAKD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAKD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAwCD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,mBAAmB,CAA0B;gBAEzC,MAAM,EAAE,yBAAyB;IA8E7C,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAqEpC,cAAc,IAAI,MAAM;IAuBxB,kBAAkB,IAAI,MAAM;IAW5B,eAAe,IAAI,gBAAgB,EAAE;IA0BrC,QAAQ,IAAI,YAAY;IAcxB,KAAK,IAAI,IAAI;CAKd"}
@@ -6,12 +6,38 @@ export class SessionTokenTracker {
6
6
  usageHistory = [];
7
7
  triggeredThresholds = new Set();
8
8
  constructor(config) {
9
+ if (!Number.isFinite(config.tokenLimit)) {
10
+ throw new ValidationError('Token limit must be finite number', {
11
+ providedValue: config.tokenLimit,
12
+ });
13
+ }
9
14
  if (config.tokenLimit <= 0) {
10
15
  throw new ValidationError('Token limit must be positive', {
11
16
  providedValue: config.tokenLimit,
12
17
  expectedCondition: 'positive number (> 0)',
13
18
  });
14
19
  }
20
+ if (config.tokenLimit > Number.MAX_SAFE_INTEGER) {
21
+ throw new ValidationError('Token limit exceeds safe integer', {
22
+ providedValue: config.tokenLimit,
23
+ max: Number.MAX_SAFE_INTEGER,
24
+ });
25
+ }
26
+ if (config.thresholds) {
27
+ for (const threshold of config.thresholds) {
28
+ if (!Number.isFinite(threshold.percentage)) {
29
+ throw new ValidationError('Threshold percentage must be finite', {
30
+ providedValue: threshold.percentage,
31
+ });
32
+ }
33
+ if (threshold.percentage < 0 || threshold.percentage > 100) {
34
+ throw new ValidationError('Threshold percentage must be 0-100', {
35
+ providedValue: threshold.percentage,
36
+ range: [0, 100],
37
+ });
38
+ }
39
+ }
40
+ }
15
41
  this.tokenLimit = config.tokenLimit;
16
42
  this.thresholds = config.thresholds || [
17
43
  { percentage: 80, level: 'warning' },
@@ -19,6 +45,16 @@ export class SessionTokenTracker {
19
45
  ];
20
46
  }
21
47
  recordUsage(usage) {
48
+ if (!Number.isFinite(usage.inputTokens)) {
49
+ throw new ValidationError('Input tokens must be finite', {
50
+ providedValue: usage.inputTokens,
51
+ });
52
+ }
53
+ if (!Number.isFinite(usage.outputTokens)) {
54
+ throw new ValidationError('Output tokens must be finite', {
55
+ providedValue: usage.outputTokens,
56
+ });
57
+ }
22
58
  if (usage.inputTokens < 0 || usage.outputTokens < 0) {
23
59
  throw new ValidationError('Token counts must be non-negative', {
24
60
  inputTokens: usage.inputTokens,
@@ -27,7 +63,24 @@ export class SessionTokenTracker {
27
63
  });
28
64
  }
29
65
  const total = usage.inputTokens + usage.outputTokens;
30
- this.totalTokens += total;
66
+ if (!Number.isSafeInteger(total)) {
67
+ throw new ValidationError('Token sum exceeds safe integer', {
68
+ inputTokens: usage.inputTokens,
69
+ outputTokens: usage.outputTokens,
70
+ total,
71
+ max: Number.MAX_SAFE_INTEGER,
72
+ });
73
+ }
74
+ const newTotal = this.totalTokens + total;
75
+ if (!Number.isSafeInteger(newTotal)) {
76
+ throw new ValidationError('Total tokens would exceed safe integer', {
77
+ currentTotal: this.totalTokens,
78
+ addingTokens: total,
79
+ newTotal,
80
+ max: Number.MAX_SAFE_INTEGER,
81
+ });
82
+ }
83
+ this.totalTokens = newTotal;
31
84
  this.usageHistory.push({
32
85
  ...usage,
33
86
  timestamp: usage.timestamp || new Date(),
@@ -37,7 +90,10 @@ export class SessionTokenTracker {
37
90
  return this.totalTokens;
38
91
  }
39
92
  getUsagePercentage() {
40
- return (this.totalTokens / this.tokenLimit) * 100;
93
+ if (this.tokenLimit <= 0)
94
+ return 0;
95
+ const percentage = (this.totalTokens / this.tokenLimit) * 100;
96
+ return Number.isFinite(percentage) ? percentage : 0;
41
97
  }
42
98
  checkThresholds() {
43
99
  const percentage = this.getUsagePercentage();
@@ -1 +1 @@
1
- {"version":3,"file":"SessionTokenTracker.js","sourceRoot":"","sources":["../../src/core/SessionTokenTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionTokenTracker.js","sourceRoot":"","sources":["../../src/core/SessionTokenTracker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionPool.d.ts","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"AAkDA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQnD,MAAM,WAAW,qBAAqB;IAcpC,cAAc,EAAE,MAAM,CAAC;IAUvB,iBAAiB,EAAE,MAAM,CAAC;IAU1B,WAAW,EAAE,MAAM,CAAC;IASpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAQD,MAAM,WAAW,SAAS;IAMxB,KAAK,EAAE,MAAM,CAAC;IAOd,MAAM,EAAE,MAAM,CAAC;IAOf,IAAI,EAAE,MAAM,CAAC;IAQb,OAAO,EAAE,MAAM,CAAC;IAOhB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAuCD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAIhB;IAGR,OAAO,CAAC,KAAK,CAKX;IAEF,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAK;gBA+BvD,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM,EAC5C,aAAa,CAAC,EAAE,OAAO;IAsCzB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,gBAAgB;YAwDV,yBAAyB;IAkDvC,OAAO,CAAC,iBAAiB;YAgBX,kBAAkB;IAuE1B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAsC7B,gBAAgB;IA8D9B,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI;IAkEpC,QAAQ,IAAI,SAAS;IAqBrB,OAAO,CAAC,gBAAgB;YA8DV,kBAAkB;YAsFlB,eAAe;IAyEvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD/B,SAAS,IAAI,OAAO;CAGrB"}
1
+ {"version":3,"file":"ConnectionPool.d.ts","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"AAkDA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQnD,MAAM,WAAW,qBAAqB;IAcpC,cAAc,EAAE,MAAM,CAAC;IAUvB,iBAAiB,EAAE,MAAM,CAAC;IAU1B,WAAW,EAAE,MAAM,CAAC;IASpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAQD,MAAM,WAAW,SAAS;IAMxB,KAAK,EAAE,MAAM,CAAC;IAOd,MAAM,EAAE,MAAM,CAAC;IAOf,IAAI,EAAE,MAAM,CAAC;IAQb,OAAO,EAAE,MAAM,CAAC;IAOhB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAgFD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAIhB;IAGR,OAAO,CAAC,KAAK,CAKX;IAEF,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAK;gBA+BvD,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM,EAC5C,aAAa,CAAC,EAAE,OAAO;IA0HzB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,gBAAgB;YAwDV,yBAAyB;IAkDvC,OAAO,CAAC,iBAAiB;YAgBX,kBAAkB;IAuE1B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAsC7B,gBAAgB;IA8D9B,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI;IAmEpC,QAAQ,IAAI,SAAS;IAqBrB,OAAO,CAAC,gBAAgB;YA8DV,kBAAkB;YAgHlB,eAAe;IAyEvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD/B,SAAS,IAAI,OAAO;CAGrB"}
@@ -1,5 +1,11 @@
1
1
  import Database from 'better-sqlite3';
2
2
  import { logger } from '../utils/logger.js';
3
+ const MAX_SAFE_CONNECTIONS = 100;
4
+ const MAX_SAFE_TIMEOUT_MS = 10 * 60 * 1000;
5
+ const MIN_CONNECTION_TIMEOUT_MS = 1000;
6
+ const MIN_IDLE_TIMEOUT_MS = 5000;
7
+ const MIN_HEALTH_CHECK_INTERVAL_MS = 5000;
8
+ const MAX_HEALTH_CHECK_INTERVAL_MS = 10 * 60 * 1000;
3
9
  export class ConnectionPool {
4
10
  dbPath;
5
11
  options;
@@ -29,6 +35,62 @@ export class ConnectionPool {
29
35
  if (this.options.maxConnections < 1) {
30
36
  throw new Error('maxConnections must be at least 1');
31
37
  }
38
+ if (this.options.maxConnections > MAX_SAFE_CONNECTIONS) {
39
+ logger.warn(`[ConnectionPool] maxConnections (${this.options.maxConnections}) exceeds safe limit (${MAX_SAFE_CONNECTIONS}). ` +
40
+ `Clamping to ${MAX_SAFE_CONNECTIONS} to prevent file descriptor exhaustion.`, {
41
+ requested: this.options.maxConnections,
42
+ clamped: MAX_SAFE_CONNECTIONS,
43
+ });
44
+ this.options.maxConnections = MAX_SAFE_CONNECTIONS;
45
+ }
46
+ if (this.options.connectionTimeout < MIN_CONNECTION_TIMEOUT_MS) {
47
+ logger.warn(`[ConnectionPool] connectionTimeout (${this.options.connectionTimeout}ms) below safe minimum (${MIN_CONNECTION_TIMEOUT_MS}ms). ` +
48
+ `Clamping to ${MIN_CONNECTION_TIMEOUT_MS}ms.`, {
49
+ requested: this.options.connectionTimeout,
50
+ clamped: MIN_CONNECTION_TIMEOUT_MS,
51
+ });
52
+ this.options.connectionTimeout = MIN_CONNECTION_TIMEOUT_MS;
53
+ }
54
+ if (this.options.connectionTimeout > MAX_SAFE_TIMEOUT_MS) {
55
+ logger.warn(`[ConnectionPool] connectionTimeout (${this.options.connectionTimeout}ms) exceeds safe limit (${MAX_SAFE_TIMEOUT_MS}ms). ` +
56
+ `Clamping to ${MAX_SAFE_TIMEOUT_MS}ms.`, {
57
+ requested: this.options.connectionTimeout,
58
+ clamped: MAX_SAFE_TIMEOUT_MS,
59
+ });
60
+ this.options.connectionTimeout = MAX_SAFE_TIMEOUT_MS;
61
+ }
62
+ if (this.options.idleTimeout < MIN_IDLE_TIMEOUT_MS) {
63
+ logger.warn(`[ConnectionPool] idleTimeout (${this.options.idleTimeout}ms) below safe minimum (${MIN_IDLE_TIMEOUT_MS}ms). ` +
64
+ `Clamping to ${MIN_IDLE_TIMEOUT_MS}ms.`, {
65
+ requested: this.options.idleTimeout,
66
+ clamped: MIN_IDLE_TIMEOUT_MS,
67
+ });
68
+ this.options.idleTimeout = MIN_IDLE_TIMEOUT_MS;
69
+ }
70
+ if (this.options.idleTimeout > MAX_SAFE_TIMEOUT_MS) {
71
+ logger.warn(`[ConnectionPool] idleTimeout (${this.options.idleTimeout}ms) exceeds safe limit (${MAX_SAFE_TIMEOUT_MS}ms). ` +
72
+ `Clamping to ${MAX_SAFE_TIMEOUT_MS}ms.`, {
73
+ requested: this.options.idleTimeout,
74
+ clamped: MAX_SAFE_TIMEOUT_MS,
75
+ });
76
+ this.options.idleTimeout = MAX_SAFE_TIMEOUT_MS;
77
+ }
78
+ if (this.options.healthCheckInterval < MIN_HEALTH_CHECK_INTERVAL_MS) {
79
+ logger.warn(`[ConnectionPool] healthCheckInterval (${this.options.healthCheckInterval}ms) below safe minimum (${MIN_HEALTH_CHECK_INTERVAL_MS}ms). ` +
80
+ `Clamping to ${MIN_HEALTH_CHECK_INTERVAL_MS}ms to prevent tight polling loop.`, {
81
+ requested: this.options.healthCheckInterval,
82
+ clamped: MIN_HEALTH_CHECK_INTERVAL_MS,
83
+ });
84
+ this.options.healthCheckInterval = MIN_HEALTH_CHECK_INTERVAL_MS;
85
+ }
86
+ if (this.options.healthCheckInterval > MAX_HEALTH_CHECK_INTERVAL_MS) {
87
+ logger.warn(`[ConnectionPool] healthCheckInterval (${this.options.healthCheckInterval}ms) exceeds safe limit (${MAX_HEALTH_CHECK_INTERVAL_MS}ms). ` +
88
+ `Clamping to ${MAX_HEALTH_CHECK_INTERVAL_MS}ms to ensure stale connections are detected.`, {
89
+ requested: this.options.healthCheckInterval,
90
+ clamped: MAX_HEALTH_CHECK_INTERVAL_MS,
91
+ });
92
+ this.options.healthCheckInterval = MAX_HEALTH_CHECK_INTERVAL_MS;
93
+ }
32
94
  logger.info('Initializing connection pool', {
33
95
  dbPath: this.dbPath,
34
96
  maxConnections: this.options.maxConnections,
@@ -229,13 +291,13 @@ export class ConnectionPool {
229
291
  logger.error('Attempted to release unknown connection - ignoring');
230
292
  return;
231
293
  }
232
- metadata.lastReleased = Date.now();
233
- this.stats.totalReleased++;
234
294
  const availableIndex = this.available.indexOf(metadata);
235
295
  if (availableIndex !== -1) {
236
296
  logger.warn('Connection already released - ignoring duplicate release');
237
297
  return;
238
298
  }
299
+ metadata.lastReleased = Date.now();
300
+ this.stats.totalReleased++;
239
301
  const waiting = this.waiting.shift();
240
302
  if (waiting) {
241
303
  clearTimeout(waiting.timeoutId);
@@ -306,48 +368,60 @@ export class ConnectionPool {
306
368
  }
307
369
  const now = Date.now();
308
370
  let recycledCount = 0;
371
+ const staleConnections = [];
309
372
  for (let i = this.available.length - 1; i >= 0; i--) {
310
373
  const metadata = this.available[i];
311
374
  const idleTime = now - metadata.lastReleased;
312
375
  if (idleTime > this.options.idleTimeout) {
313
- logger.debug('Recycling idle connection', {
314
- idleTime,
315
- usageCount: metadata.usageCount,
316
- });
317
- this.available.splice(i, 1);
318
- try {
319
- metadata.db.close();
320
- }
321
- catch (error) {
322
- logger.error('Error closing stale connection:', error);
323
- const poolIndex = this.pool.indexOf(metadata);
324
- if (poolIndex !== -1) {
325
- this.pool.splice(poolIndex, 1);
326
- logger.warn('[ConnectionPool] Removed zombie connection from pool', {
327
- poolSize: this.pool.length,
328
- targetSize: this.options.maxConnections,
329
- });
330
- }
376
+ staleConnections.push({ metadata, availableIndex: i, idleTime });
377
+ }
378
+ }
379
+ for (const { metadata, idleTime } of staleConnections) {
380
+ logger.debug('Recycling idle connection', {
381
+ idleTime,
382
+ usageCount: metadata.usageCount,
383
+ });
384
+ const currentAvailableIndex = this.available.indexOf(metadata);
385
+ if (currentAvailableIndex !== -1) {
386
+ this.available.splice(currentAvailableIndex, 1);
387
+ }
388
+ let removedFromPool = false;
389
+ let poolIndex = this.pool.indexOf(metadata);
390
+ try {
391
+ metadata.db.close();
392
+ }
393
+ catch (error) {
394
+ logger.error('Error closing stale connection:', error);
395
+ if (poolIndex !== -1) {
396
+ this.pool.splice(poolIndex, 1);
397
+ removedFromPool = true;
398
+ logger.warn('[ConnectionPool] Removed zombie connection from pool', {
399
+ poolSize: this.pool.length,
400
+ targetSize: this.options.maxConnections,
401
+ });
331
402
  }
332
- try {
333
- const newDb = await this.createConnectionWithRetry('health check');
334
- const newMetadata = {
335
- db: newDb,
336
- lastAcquired: 0,
337
- lastReleased: now,
338
- usageCount: 0,
339
- };
340
- const poolIndex = this.pool.indexOf(metadata);
341
- if (poolIndex !== -1) {
342
- this.pool[poolIndex] = newMetadata;
343
- }
344
- this.available.push(newMetadata);
345
- recycledCount++;
346
- this.stats.totalRecycled++;
403
+ }
404
+ try {
405
+ const newDb = await this.createConnectionWithRetry('health check');
406
+ const newMetadata = {
407
+ db: newDb,
408
+ lastAcquired: 0,
409
+ lastReleased: now,
410
+ usageCount: 0,
411
+ };
412
+ poolIndex = this.pool.indexOf(metadata);
413
+ if (poolIndex !== -1) {
414
+ this.pool[poolIndex] = newMetadata;
347
415
  }
348
- catch (error) {
349
- logger.error('Failed to create replacement connection:', error);
416
+ else if (removedFromPool || this.pool.length < this.options.maxConnections) {
417
+ this.pool.push(newMetadata);
350
418
  }
419
+ this.available.push(newMetadata);
420
+ recycledCount++;
421
+ this.stats.totalRecycled++;
422
+ }
423
+ catch (error) {
424
+ logger.error('Failed to create replacement connection:', error);
351
425
  }
352
426
  }
353
427
  if (recycledCount > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionPool.js","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConnectionPool.js","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"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"}