@pcircle/memesh 2.6.6 → 2.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +92 -31
  2. package/README.zh-TW.md +89 -28
  3. package/dist/a2a/client/A2AClient.d.ts +5 -1
  4. package/dist/a2a/client/A2AClient.d.ts.map +1 -1
  5. package/dist/a2a/client/A2AClient.js +161 -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 +24 -0
  24. package/dist/a2a/errors/ErrorCodes.d.ts.map +1 -0
  25. package/dist/a2a/errors/ErrorCodes.js +23 -0
  26. package/dist/a2a/errors/ErrorCodes.js.map +1 -0
  27. package/dist/a2a/errors/ErrorMessages.d.ts +26 -0
  28. package/dist/a2a/errors/ErrorMessages.d.ts.map +1 -0
  29. package/dist/a2a/errors/ErrorMessages.js +49 -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 +162 -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 +44 -7
  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 +143 -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 +240 -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 +36 -0
  74. package/dist/a2a/server/middleware/timeout.js.map +1 -0
  75. package/dist/a2a/storage/TaskQueue.d.ts +3 -0
  76. package/dist/a2a/storage/TaskQueue.d.ts.map +1 -1
  77. package/dist/a2a/storage/TaskQueue.js +80 -18
  78. package/dist/a2a/storage/TaskQueue.js.map +1 -1
  79. package/dist/a2a/storage/inputValidation.d.ts +7 -0
  80. package/dist/a2a/storage/inputValidation.d.ts.map +1 -0
  81. package/dist/a2a/storage/inputValidation.js +91 -0
  82. package/dist/a2a/storage/inputValidation.js.map +1 -0
  83. package/dist/a2a/storage/schemas.sql +11 -1
  84. package/dist/a2a/types/index.d.ts +1 -0
  85. package/dist/a2a/types/index.d.ts.map +1 -1
  86. package/dist/a2a/types/rateLimit.d.ts +26 -0
  87. package/dist/a2a/types/rateLimit.d.ts.map +1 -0
  88. package/dist/a2a/types/rateLimit.js +2 -0
  89. package/dist/a2a/types/rateLimit.js.map +1 -0
  90. package/dist/a2a/types/task.d.ts +1 -1
  91. package/dist/a2a/types/task.d.ts.map +1 -1
  92. package/dist/cli/config.d.ts +36 -0
  93. package/dist/cli/config.d.ts.map +1 -0
  94. package/dist/cli/config.js +398 -0
  95. package/dist/cli/config.js.map +1 -0
  96. package/dist/cli/daemon.d.ts +3 -0
  97. package/dist/cli/daemon.d.ts.map +1 -0
  98. package/dist/cli/daemon.js +413 -0
  99. package/dist/cli/daemon.js.map +1 -0
  100. package/dist/cli/dashboard.d.ts +2 -0
  101. package/dist/cli/dashboard.d.ts.map +1 -0
  102. package/dist/cli/dashboard.js +300 -0
  103. package/dist/cli/dashboard.js.map +1 -0
  104. package/dist/cli/index.d.ts +3 -0
  105. package/dist/cli/index.d.ts.map +1 -0
  106. package/dist/cli/index.js +182 -0
  107. package/dist/cli/index.js.map +1 -0
  108. package/dist/cli/setup-wizard.d.ts +18 -0
  109. package/dist/cli/setup-wizard.d.ts.map +1 -0
  110. package/dist/cli/setup-wizard.js +308 -0
  111. package/dist/cli/setup-wizard.js.map +1 -0
  112. package/dist/cli/stats.d.ts +34 -0
  113. package/dist/cli/stats.d.ts.map +1 -0
  114. package/dist/cli/stats.js +480 -0
  115. package/dist/cli/stats.js.map +1 -0
  116. package/dist/cli/tutorial.d.ts +27 -0
  117. package/dist/cli/tutorial.d.ts.map +1 -0
  118. package/dist/cli/tutorial.js +430 -0
  119. package/dist/cli/tutorial.js.map +1 -0
  120. package/dist/config/index.d.ts.map +1 -1
  121. package/dist/config/index.js +8 -7
  122. package/dist/config/index.js.map +1 -1
  123. package/dist/core/BackgroundExecutor.d.ts +6 -0
  124. package/dist/core/BackgroundExecutor.d.ts.map +1 -1
  125. package/dist/core/BackgroundExecutor.js +152 -44
  126. package/dist/core/BackgroundExecutor.js.map +1 -1
  127. package/dist/core/ClaudeMdRuleExtractor.d.ts.map +1 -1
  128. package/dist/core/ClaudeMdRuleExtractor.js +9 -14
  129. package/dist/core/ClaudeMdRuleExtractor.js.map +1 -1
  130. package/dist/core/MistakePatternManager.d.ts.map +1 -1
  131. package/dist/core/MistakePatternManager.js +29 -3
  132. package/dist/core/MistakePatternManager.js.map +1 -1
  133. package/dist/core/ResourceMonitor.d.ts.map +1 -1
  134. package/dist/core/ResourceMonitor.js +64 -2
  135. package/dist/core/ResourceMonitor.js.map +1 -1
  136. package/dist/core/ResultHandler.d.ts.map +1 -1
  137. package/dist/core/ResultHandler.js +12 -0
  138. package/dist/core/ResultHandler.js.map +1 -1
  139. package/dist/core/SessionContextMonitor.d.ts.map +1 -1
  140. package/dist/core/SessionContextMonitor.js +4 -1
  141. package/dist/core/SessionContextMonitor.js.map +1 -1
  142. package/dist/core/SessionTokenTracker.d.ts.map +1 -1
  143. package/dist/core/SessionTokenTracker.js +58 -2
  144. package/dist/core/SessionTokenTracker.js.map +1 -1
  145. package/dist/db/ConnectionPool.d.ts.map +1 -1
  146. package/dist/db/ConnectionPool.js +111 -37
  147. package/dist/db/ConnectionPool.js.map +1 -1
  148. package/dist/db/QueryCache.d.ts.map +1 -1
  149. package/dist/db/QueryCache.js +8 -5
  150. package/dist/db/QueryCache.js.map +1 -1
  151. package/dist/errors/ErrorClassifier.d.ts +60 -0
  152. package/dist/errors/ErrorClassifier.d.ts.map +1 -0
  153. package/dist/errors/ErrorClassifier.js +443 -0
  154. package/dist/errors/ErrorClassifier.js.map +1 -0
  155. package/dist/errors/index.d.ts +1 -0
  156. package/dist/errors/index.d.ts.map +1 -1
  157. package/dist/errors/index.js +3 -0
  158. package/dist/errors/index.js.map +1 -1
  159. package/dist/evolution/ABTestManager.d.ts.map +1 -1
  160. package/dist/evolution/ABTestManager.js +80 -1
  161. package/dist/evolution/ABTestManager.js.map +1 -1
  162. package/dist/evolution/FeedbackCollector.d.ts.map +1 -1
  163. package/dist/evolution/FeedbackCollector.js +6 -0
  164. package/dist/evolution/FeedbackCollector.js.map +1 -1
  165. package/dist/evolution/LearningManager.d.ts.map +1 -1
  166. package/dist/evolution/LearningManager.js +16 -0
  167. package/dist/evolution/LearningManager.js.map +1 -1
  168. package/dist/evolution/MultiObjectiveOptimizer.d.ts.map +1 -1
  169. package/dist/evolution/MultiObjectiveOptimizer.js +18 -3
  170. package/dist/evolution/MultiObjectiveOptimizer.js.map +1 -1
  171. package/dist/evolution/PerformanceTracker.d.ts.map +1 -1
  172. package/dist/evolution/PerformanceTracker.js +83 -13
  173. package/dist/evolution/PerformanceTracker.js.map +1 -1
  174. package/dist/evolution/StatisticalAnalyzer.d.ts +1 -0
  175. package/dist/evolution/StatisticalAnalyzer.d.ts.map +1 -1
  176. package/dist/evolution/StatisticalAnalyzer.js +126 -9
  177. package/dist/evolution/StatisticalAnalyzer.js.map +1 -1
  178. package/dist/evolution/storage/SQLiteStore.d.ts +1 -0
  179. package/dist/evolution/storage/SQLiteStore.d.ts.map +1 -1
  180. package/dist/evolution/storage/SQLiteStore.js +59 -12
  181. package/dist/evolution/storage/SQLiteStore.js.map +1 -1
  182. package/dist/evolution/storage/validation.d.ts +2 -3
  183. package/dist/evolution/storage/validation.d.ts.map +1 -1
  184. package/dist/evolution/storage/validation.js +2 -6
  185. package/dist/evolution/storage/validation.js.map +1 -1
  186. package/dist/knowledge-graph/index.d.ts +5 -1
  187. package/dist/knowledge-graph/index.d.ts.map +1 -1
  188. package/dist/knowledge-graph/index.js +167 -43
  189. package/dist/knowledge-graph/index.js.map +1 -1
  190. package/dist/knowledge-graph/types.d.ts +1 -0
  191. package/dist/knowledge-graph/types.d.ts.map +1 -1
  192. package/dist/mcp/BuddyCommands.d.ts +11 -2
  193. package/dist/mcp/BuddyCommands.d.ts.map +1 -1
  194. package/dist/mcp/BuddyCommands.js +200 -50
  195. package/dist/mcp/BuddyCommands.js.map +1 -1
  196. package/dist/mcp/ServerInitializer.d.ts +7 -1
  197. package/dist/mcp/ServerInitializer.d.ts.map +1 -1
  198. package/dist/mcp/ServerInitializer.js +121 -69
  199. package/dist/mcp/ServerInitializer.js.map +1 -1
  200. package/dist/mcp/ToolDefinitions.d.ts.map +1 -1
  201. package/dist/mcp/ToolDefinitions.js +57 -11
  202. package/dist/mcp/ToolDefinitions.js.map +1 -1
  203. package/dist/mcp/ToolRouter.d.ts +6 -0
  204. package/dist/mcp/ToolRouter.d.ts.map +1 -1
  205. package/dist/mcp/ToolRouter.js +90 -2
  206. package/dist/mcp/ToolRouter.js.map +1 -1
  207. package/dist/mcp/daemon/DaemonBootstrap.d.ts +33 -0
  208. package/dist/mcp/daemon/DaemonBootstrap.d.ts.map +1 -0
  209. package/dist/mcp/daemon/DaemonBootstrap.js +155 -0
  210. package/dist/mcp/daemon/DaemonBootstrap.js.map +1 -0
  211. package/dist/mcp/daemon/DaemonLockManager.d.ts +47 -0
  212. package/dist/mcp/daemon/DaemonLockManager.d.ts.map +1 -0
  213. package/dist/mcp/daemon/DaemonLockManager.js +417 -0
  214. package/dist/mcp/daemon/DaemonLockManager.js.map +1 -0
  215. package/dist/mcp/daemon/DaemonProtocol.d.ts +127 -0
  216. package/dist/mcp/daemon/DaemonProtocol.d.ts.map +1 -0
  217. package/dist/mcp/daemon/DaemonProtocol.js +452 -0
  218. package/dist/mcp/daemon/DaemonProtocol.js.map +1 -0
  219. package/dist/mcp/daemon/DaemonSocketServer.d.ts +71 -0
  220. package/dist/mcp/daemon/DaemonSocketServer.d.ts.map +1 -0
  221. package/dist/mcp/daemon/DaemonSocketServer.js +384 -0
  222. package/dist/mcp/daemon/DaemonSocketServer.js.map +1 -0
  223. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts +67 -0
  224. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts.map +1 -0
  225. package/dist/mcp/daemon/GracefulShutdownCoordinator.js +206 -0
  226. package/dist/mcp/daemon/GracefulShutdownCoordinator.js.map +1 -0
  227. package/dist/mcp/daemon/IpcTransport.d.ts +42 -0
  228. package/dist/mcp/daemon/IpcTransport.d.ts.map +1 -0
  229. package/dist/mcp/daemon/IpcTransport.js +231 -0
  230. package/dist/mcp/daemon/IpcTransport.js.map +1 -0
  231. package/dist/mcp/daemon/StdioProxyClient.d.ts +84 -0
  232. package/dist/mcp/daemon/StdioProxyClient.d.ts.map +1 -0
  233. package/dist/mcp/daemon/StdioProxyClient.js +560 -0
  234. package/dist/mcp/daemon/StdioProxyClient.js.map +1 -0
  235. package/dist/mcp/daemon/VersionManager.d.ts +35 -0
  236. package/dist/mcp/daemon/VersionManager.d.ts.map +1 -0
  237. package/dist/mcp/daemon/VersionManager.js +169 -0
  238. package/dist/mcp/daemon/VersionManager.js.map +1 -0
  239. package/dist/mcp/daemon/index.d.ts +9 -0
  240. package/dist/mcp/daemon/index.d.ts.map +1 -0
  241. package/dist/mcp/daemon/index.js +9 -0
  242. package/dist/mcp/daemon/index.js.map +1 -0
  243. package/dist/mcp/handlers/A2AToolHandlers.d.ts.map +1 -1
  244. package/dist/mcp/handlers/A2AToolHandlers.js +24 -4
  245. package/dist/mcp/handlers/A2AToolHandlers.js.map +1 -1
  246. package/dist/mcp/resources/buddy-do-skill.md +1 -1
  247. package/dist/mcp/schemas/OutputSchemas.d.ts +16 -0
  248. package/dist/mcp/schemas/OutputSchemas.d.ts.map +1 -1
  249. package/dist/mcp/schemas/OutputSchemas.js +12 -0
  250. package/dist/mcp/schemas/OutputSchemas.js.map +1 -1
  251. package/dist/mcp/server-bootstrap.js +178 -27
  252. package/dist/mcp/server-bootstrap.js.map +1 -1
  253. package/dist/mcp/server.d.ts +10 -1
  254. package/dist/mcp/server.d.ts.map +1 -1
  255. package/dist/mcp/server.js +108 -9
  256. package/dist/mcp/server.js.map +1 -1
  257. package/dist/mcp/tools/a2a-list-tasks.d.ts +13 -0
  258. package/dist/mcp/tools/a2a-list-tasks.d.ts.map +1 -0
  259. package/dist/mcp/tools/a2a-list-tasks.js +24 -0
  260. package/dist/mcp/tools/a2a-list-tasks.js.map +1 -0
  261. package/dist/mcp/tools/a2a-report-result.d.ts +35 -0
  262. package/dist/mcp/tools/a2a-report-result.d.ts.map +1 -0
  263. package/dist/mcp/tools/a2a-report-result.js +73 -0
  264. package/dist/mcp/tools/a2a-report-result.js.map +1 -0
  265. package/dist/mcp/tools/buddy-do.d.ts.map +1 -1
  266. package/dist/mcp/tools/buddy-do.js.map +1 -1
  267. package/dist/mcp/tools/buddy-help.d.ts.map +1 -1
  268. package/dist/mcp/tools/buddy-help.js +6 -14
  269. package/dist/mcp/tools/buddy-help.js.map +1 -1
  270. package/dist/mcp/validation.d.ts +1 -1
  271. package/dist/memory/AutoMemoryRecorder.d.ts +35 -0
  272. package/dist/memory/AutoMemoryRecorder.d.ts.map +1 -0
  273. package/dist/memory/AutoMemoryRecorder.js +164 -0
  274. package/dist/memory/AutoMemoryRecorder.js.map +1 -0
  275. package/dist/memory/AutoTagger.d.ts +9 -0
  276. package/dist/memory/AutoTagger.d.ts.map +1 -0
  277. package/dist/memory/AutoTagger.js +148 -0
  278. package/dist/memory/AutoTagger.js.map +1 -0
  279. package/dist/memory/SecretManager.d.ts.map +1 -1
  280. package/dist/memory/SecretManager.js +47 -14
  281. package/dist/memory/SecretManager.js.map +1 -1
  282. package/dist/memory/SmartMemoryQuery.d.ts +9 -0
  283. package/dist/memory/SmartMemoryQuery.d.ts.map +1 -0
  284. package/dist/memory/SmartMemoryQuery.js +65 -0
  285. package/dist/memory/SmartMemoryQuery.js.map +1 -0
  286. package/dist/memory/UnifiedMemoryStore.d.ts +1 -0
  287. package/dist/memory/UnifiedMemoryStore.d.ts.map +1 -1
  288. package/dist/memory/UnifiedMemoryStore.js +211 -38
  289. package/dist/memory/UnifiedMemoryStore.js.map +1 -1
  290. package/dist/memory/UserPreferenceEngine.d.ts.map +1 -1
  291. package/dist/memory/UserPreferenceEngine.js +5 -4
  292. package/dist/memory/UserPreferenceEngine.js.map +1 -1
  293. package/dist/memory/types/unified-memory.d.ts +2 -0
  294. package/dist/memory/types/unified-memory.d.ts.map +1 -1
  295. package/dist/memory/types/unified-memory.js +2 -0
  296. package/dist/memory/types/unified-memory.js.map +1 -1
  297. package/dist/orchestrator/AgentRouter.d.ts.map +1 -1
  298. package/dist/orchestrator/AgentRouter.js +5 -4
  299. package/dist/orchestrator/AgentRouter.js.map +1 -1
  300. package/dist/orchestrator/GlobalResourcePool.d.ts.map +1 -1
  301. package/dist/orchestrator/GlobalResourcePool.js +70 -0
  302. package/dist/orchestrator/GlobalResourcePool.js.map +1 -1
  303. package/dist/ui/AttributionManager.js +2 -2
  304. package/dist/ui/AttributionManager.js.map +1 -1
  305. package/dist/ui/ProgressIndicator.d.ts +35 -0
  306. package/dist/ui/ProgressIndicator.d.ts.map +1 -0
  307. package/dist/ui/ProgressIndicator.js +177 -0
  308. package/dist/ui/ProgressIndicator.js.map +1 -0
  309. package/dist/ui/ResponseFormatter.d.ts +8 -0
  310. package/dist/ui/ResponseFormatter.d.ts.map +1 -1
  311. package/dist/ui/ResponseFormatter.js +220 -35
  312. package/dist/ui/ResponseFormatter.js.map +1 -1
  313. package/dist/ui/design-tokens.d.ts +37 -0
  314. package/dist/ui/design-tokens.d.ts.map +1 -0
  315. package/dist/ui/design-tokens.js +105 -0
  316. package/dist/ui/design-tokens.js.map +1 -0
  317. package/dist/ui/theme.d.ts +14 -4
  318. package/dist/ui/theme.d.ts.map +1 -1
  319. package/dist/ui/theme.js +7 -2
  320. package/dist/ui/theme.js.map +1 -1
  321. package/dist/utils/PathResolver.d.ts.map +1 -1
  322. package/dist/utils/PathResolver.js +3 -2
  323. package/dist/utils/PathResolver.js.map +1 -1
  324. package/dist/utils/SystemResources.d.ts.map +1 -1
  325. package/dist/utils/SystemResources.js +9 -11
  326. package/dist/utils/SystemResources.js.map +1 -1
  327. package/dist/utils/errorHandler.d.ts +6 -0
  328. package/dist/utils/errorHandler.d.ts.map +1 -1
  329. package/dist/utils/errorHandler.js +50 -1
  330. package/dist/utils/errorHandler.js.map +1 -1
  331. package/dist/utils/index.d.ts +19 -0
  332. package/dist/utils/index.d.ts.map +1 -0
  333. package/dist/utils/index.js +17 -0
  334. package/dist/utils/index.js.map +1 -0
  335. package/dist/utils/json.d.ts.map +1 -1
  336. package/dist/utils/json.js +11 -1
  337. package/dist/utils/json.js.map +1 -1
  338. package/dist/utils/logger.d.ts.map +1 -1
  339. package/dist/utils/logger.js +65 -3
  340. package/dist/utils/logger.js.map +1 -1
  341. package/dist/utils/lru-cache.d.ts +7 -0
  342. package/dist/utils/lru-cache.d.ts.map +1 -1
  343. package/dist/utils/lru-cache.js +37 -7
  344. package/dist/utils/lru-cache.js.map +1 -1
  345. package/dist/utils/safeMath.d.ts +11 -0
  346. package/dist/utils/safeMath.d.ts.map +1 -0
  347. package/dist/utils/safeMath.js +92 -0
  348. package/dist/utils/safeMath.js.map +1 -0
  349. package/dist/utils/tracing/TraceContext.d.ts +23 -0
  350. package/dist/utils/tracing/TraceContext.d.ts.map +1 -0
  351. package/dist/utils/tracing/TraceContext.js +127 -0
  352. package/dist/utils/tracing/TraceContext.js.map +1 -0
  353. package/dist/utils/tracing/index.d.ts +3 -0
  354. package/dist/utils/tracing/index.d.ts.map +1 -0
  355. package/dist/utils/tracing/index.js +3 -0
  356. package/dist/utils/tracing/index.js.map +1 -0
  357. package/dist/utils/tracing/middleware.d.ts +15 -0
  358. package/dist/utils/tracing/middleware.d.ts.map +1 -0
  359. package/dist/utils/tracing/middleware.js +49 -0
  360. package/dist/utils/tracing/middleware.js.map +1 -0
  361. package/dist/utils/validation.d.ts +12 -0
  362. package/dist/utils/validation.d.ts.map +1 -0
  363. package/dist/utils/validation.js +87 -0
  364. package/dist/utils/validation.js.map +1 -0
  365. package/mcp.json +9 -0
  366. package/package.json +10 -2
  367. package/plugin.json +2 -12
  368. package/scripts/postinstall.js +191 -21
  369. package/README.md.backup +0 -536
  370. package/README.zh-TW.md.backup +0 -446
@@ -0,0 +1,452 @@
1
+ import { logger } from '../../utils/logger.js';
2
+ export const PROTOCOL_VERSION = 1;
3
+ export var MessageType;
4
+ (function (MessageType) {
5
+ MessageType["HANDSHAKE"] = "handshake";
6
+ MessageType["HANDSHAKE_ACK"] = "handshake_ack";
7
+ MessageType["HEARTBEAT"] = "heartbeat";
8
+ MessageType["HEARTBEAT_ACK"] = "heartbeat_ack";
9
+ MessageType["DISCONNECT"] = "disconnect";
10
+ MessageType["MCP_REQUEST"] = "mcp_request";
11
+ MessageType["MCP_RESPONSE"] = "mcp_response";
12
+ MessageType["MCP_NOTIFICATION"] = "mcp_notification";
13
+ MessageType["REQUEST_UPGRADE"] = "request_upgrade";
14
+ MessageType["UPGRADE_PENDING"] = "upgrade_pending";
15
+ MessageType["UPGRADE_ABORT"] = "upgrade_abort";
16
+ MessageType["SHUTDOWN"] = "shutdown";
17
+ MessageType["ERROR"] = "error";
18
+ })(MessageType || (MessageType = {}));
19
+ export function createHandshake(clientId, clientVersion, capabilities = []) {
20
+ return {
21
+ type: MessageType.HANDSHAKE,
22
+ timestamp: Date.now(),
23
+ clientId,
24
+ clientVersion,
25
+ protocolVersion: PROTOCOL_VERSION,
26
+ capabilities,
27
+ pid: process.pid,
28
+ };
29
+ }
30
+ export function createHandshakeAck(success, daemonVersion, assignedClientId, upgradeRecommended = false, error) {
31
+ return {
32
+ type: MessageType.HANDSHAKE_ACK,
33
+ timestamp: Date.now(),
34
+ success,
35
+ daemonVersion,
36
+ protocolVersion: PROTOCOL_VERSION,
37
+ upgradeRecommended,
38
+ assignedClientId,
39
+ error,
40
+ };
41
+ }
42
+ export function createMcpRequest(requestId, clientId, payload) {
43
+ return {
44
+ type: MessageType.MCP_REQUEST,
45
+ timestamp: Date.now(),
46
+ requestId,
47
+ clientId,
48
+ payload,
49
+ };
50
+ }
51
+ export function createMcpResponse(requestId, clientId, payload) {
52
+ return {
53
+ type: MessageType.MCP_RESPONSE,
54
+ timestamp: Date.now(),
55
+ requestId,
56
+ clientId,
57
+ payload,
58
+ };
59
+ }
60
+ export function createError(code, message, details, requestId, clientId) {
61
+ return {
62
+ type: MessageType.ERROR,
63
+ timestamp: Date.now(),
64
+ code,
65
+ message,
66
+ details,
67
+ requestId,
68
+ clientId,
69
+ };
70
+ }
71
+ export function createShutdown(reason, gracePeriod = 5000) {
72
+ return {
73
+ type: MessageType.SHUTDOWN,
74
+ timestamp: Date.now(),
75
+ reason,
76
+ gracePeriod,
77
+ };
78
+ }
79
+ export function isObject(value) {
80
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
81
+ }
82
+ function isValidMessageType(value) {
83
+ return Object.values(MessageType).includes(value);
84
+ }
85
+ function hasValidBaseFields(msg) {
86
+ return (isValidMessageType(msg.type) &&
87
+ typeof msg.timestamp === 'number' &&
88
+ Number.isFinite(msg.timestamp));
89
+ }
90
+ function logValidationFailure(messageType, reason, data) {
91
+ logger.debug(`[DaemonProtocol] Validation failed for ${messageType}: ${reason}`, {
92
+ ...(data !== undefined ? { data } : {}),
93
+ });
94
+ }
95
+ export function validateHandshakeMessage(msg) {
96
+ if (msg.type !== MessageType.HANDSHAKE) {
97
+ logValidationFailure('HANDSHAKE', 'incorrect type', msg.type);
98
+ return false;
99
+ }
100
+ if (typeof msg.clientId !== 'string') {
101
+ logValidationFailure('HANDSHAKE', 'clientId must be string', msg.clientId);
102
+ return false;
103
+ }
104
+ if (typeof msg.clientVersion !== 'string') {
105
+ logValidationFailure('HANDSHAKE', 'clientVersion must be string', msg.clientVersion);
106
+ return false;
107
+ }
108
+ if (typeof msg.protocolVersion !== 'number' ||
109
+ !Number.isInteger(msg.protocolVersion)) {
110
+ logValidationFailure('HANDSHAKE', 'protocolVersion must be integer', msg.protocolVersion);
111
+ return false;
112
+ }
113
+ if (msg.protocolVersion < 1 || msg.protocolVersion > 100) {
114
+ logValidationFailure('HANDSHAKE', 'protocolVersion must be between 1 and 100', msg.protocolVersion);
115
+ return false;
116
+ }
117
+ if (!Array.isArray(msg.capabilities)) {
118
+ logValidationFailure('HANDSHAKE', 'capabilities must be array', msg.capabilities);
119
+ return false;
120
+ }
121
+ if (!msg.capabilities.every((cap) => typeof cap === 'string')) {
122
+ logValidationFailure('HANDSHAKE', 'all capabilities must be strings', msg.capabilities);
123
+ return false;
124
+ }
125
+ if (typeof msg.pid !== 'number' || !Number.isInteger(msg.pid)) {
126
+ logValidationFailure('HANDSHAKE', 'pid must be integer', msg.pid);
127
+ return false;
128
+ }
129
+ if (msg.pid <= 0) {
130
+ logValidationFailure('HANDSHAKE', 'pid must be positive (> 0)', msg.pid);
131
+ return false;
132
+ }
133
+ return true;
134
+ }
135
+ export function validateHandshakeAckMessage(msg) {
136
+ if (msg.type !== MessageType.HANDSHAKE_ACK) {
137
+ logValidationFailure('HANDSHAKE_ACK', 'incorrect type', msg.type);
138
+ return false;
139
+ }
140
+ if (typeof msg.success !== 'boolean') {
141
+ logValidationFailure('HANDSHAKE_ACK', 'success must be boolean', msg.success);
142
+ return false;
143
+ }
144
+ if (typeof msg.daemonVersion !== 'string') {
145
+ logValidationFailure('HANDSHAKE_ACK', 'daemonVersion must be string', msg.daemonVersion);
146
+ return false;
147
+ }
148
+ if (typeof msg.protocolVersion !== 'number' ||
149
+ !Number.isInteger(msg.protocolVersion)) {
150
+ logValidationFailure('HANDSHAKE_ACK', 'protocolVersion must be integer', msg.protocolVersion);
151
+ return false;
152
+ }
153
+ if (msg.protocolVersion < 1 || msg.protocolVersion > 100) {
154
+ logValidationFailure('HANDSHAKE_ACK', 'protocolVersion must be between 1 and 100', msg.protocolVersion);
155
+ return false;
156
+ }
157
+ if (typeof msg.upgradeRecommended !== 'boolean') {
158
+ logValidationFailure('HANDSHAKE_ACK', 'upgradeRecommended must be boolean', msg.upgradeRecommended);
159
+ return false;
160
+ }
161
+ if (typeof msg.assignedClientId !== 'string') {
162
+ logValidationFailure('HANDSHAKE_ACK', 'assignedClientId must be string', msg.assignedClientId);
163
+ return false;
164
+ }
165
+ if (msg.error !== undefined && typeof msg.error !== 'string') {
166
+ logValidationFailure('HANDSHAKE_ACK', 'error must be string if present', msg.error);
167
+ return false;
168
+ }
169
+ return true;
170
+ }
171
+ export function validateHeartbeatMessage(msg) {
172
+ if (msg.type !== MessageType.HEARTBEAT) {
173
+ logValidationFailure('HEARTBEAT', 'incorrect type', msg.type);
174
+ return false;
175
+ }
176
+ if (typeof msg.clientId !== 'string') {
177
+ logValidationFailure('HEARTBEAT', 'clientId must be string', msg.clientId);
178
+ return false;
179
+ }
180
+ return true;
181
+ }
182
+ export function validateHeartbeatAckMessage(msg) {
183
+ if (msg.type !== MessageType.HEARTBEAT_ACK) {
184
+ logValidationFailure('HEARTBEAT_ACK', 'incorrect type', msg.type);
185
+ return false;
186
+ }
187
+ if (typeof msg.clientId !== 'string') {
188
+ logValidationFailure('HEARTBEAT_ACK', 'clientId must be string', msg.clientId);
189
+ return false;
190
+ }
191
+ if (!isObject(msg.stats)) {
192
+ logValidationFailure('HEARTBEAT_ACK', 'stats must be object', msg.stats);
193
+ return false;
194
+ }
195
+ const stats = msg.stats;
196
+ if (typeof stats.clientCount !== 'number' || !Number.isFinite(stats.clientCount)) {
197
+ logValidationFailure('HEARTBEAT_ACK', 'stats.clientCount must be number', stats.clientCount);
198
+ return false;
199
+ }
200
+ if (typeof stats.uptime !== 'number' || !Number.isFinite(stats.uptime)) {
201
+ logValidationFailure('HEARTBEAT_ACK', 'stats.uptime must be number', stats.uptime);
202
+ return false;
203
+ }
204
+ if (typeof stats.requestsProcessed !== 'number' ||
205
+ !Number.isFinite(stats.requestsProcessed)) {
206
+ logValidationFailure('HEARTBEAT_ACK', 'stats.requestsProcessed must be number', stats.requestsProcessed);
207
+ return false;
208
+ }
209
+ return true;
210
+ }
211
+ export function validateDisconnectMessage(msg) {
212
+ if (msg.type !== MessageType.DISCONNECT) {
213
+ logValidationFailure('DISCONNECT', 'incorrect type', msg.type);
214
+ return false;
215
+ }
216
+ if (typeof msg.clientId !== 'string') {
217
+ logValidationFailure('DISCONNECT', 'clientId must be string', msg.clientId);
218
+ return false;
219
+ }
220
+ const validReasons = ['normal', 'error', 'timeout', 'upgrade'];
221
+ if (!validReasons.includes(msg.reason)) {
222
+ logValidationFailure('DISCONNECT', `reason must be one of: ${validReasons.join(', ')}`, msg.reason);
223
+ return false;
224
+ }
225
+ return true;
226
+ }
227
+ export function validateMcpRequestMessage(msg) {
228
+ if (msg.type !== MessageType.MCP_REQUEST) {
229
+ logValidationFailure('MCP_REQUEST', 'incorrect type', msg.type);
230
+ return false;
231
+ }
232
+ if (typeof msg.requestId !== 'string') {
233
+ logValidationFailure('MCP_REQUEST', 'requestId must be string', msg.requestId);
234
+ return false;
235
+ }
236
+ if (typeof msg.clientId !== 'string') {
237
+ logValidationFailure('MCP_REQUEST', 'clientId must be string', msg.clientId);
238
+ return false;
239
+ }
240
+ if (!('payload' in msg)) {
241
+ logValidationFailure('MCP_REQUEST', 'payload field is required');
242
+ return false;
243
+ }
244
+ return true;
245
+ }
246
+ export function validateMcpResponseMessage(msg) {
247
+ if (msg.type !== MessageType.MCP_RESPONSE) {
248
+ logValidationFailure('MCP_RESPONSE', 'incorrect type', msg.type);
249
+ return false;
250
+ }
251
+ if (typeof msg.requestId !== 'string') {
252
+ logValidationFailure('MCP_RESPONSE', 'requestId must be string', msg.requestId);
253
+ return false;
254
+ }
255
+ if (typeof msg.clientId !== 'string') {
256
+ logValidationFailure('MCP_RESPONSE', 'clientId must be string', msg.clientId);
257
+ return false;
258
+ }
259
+ if (!('payload' in msg)) {
260
+ logValidationFailure('MCP_RESPONSE', 'payload field is required');
261
+ return false;
262
+ }
263
+ return true;
264
+ }
265
+ export function validateMcpNotificationMessage(msg) {
266
+ if (msg.type !== MessageType.MCP_NOTIFICATION) {
267
+ logValidationFailure('MCP_NOTIFICATION', 'incorrect type', msg.type);
268
+ return false;
269
+ }
270
+ if (typeof msg.clientId !== 'string') {
271
+ logValidationFailure('MCP_NOTIFICATION', 'clientId must be string', msg.clientId);
272
+ return false;
273
+ }
274
+ if (!('payload' in msg)) {
275
+ logValidationFailure('MCP_NOTIFICATION', 'payload field is required');
276
+ return false;
277
+ }
278
+ return true;
279
+ }
280
+ export function validateRequestUpgradeMessage(msg) {
281
+ if (msg.type !== MessageType.REQUEST_UPGRADE) {
282
+ logValidationFailure('REQUEST_UPGRADE', 'incorrect type', msg.type);
283
+ return false;
284
+ }
285
+ if (typeof msg.clientId !== 'string') {
286
+ logValidationFailure('REQUEST_UPGRADE', 'clientId must be string', msg.clientId);
287
+ return false;
288
+ }
289
+ if (typeof msg.newVersion !== 'string') {
290
+ logValidationFailure('REQUEST_UPGRADE', 'newVersion must be string', msg.newVersion);
291
+ return false;
292
+ }
293
+ const validReasons = ['version_mismatch', 'user_requested', 'health_check_failed'];
294
+ if (!validReasons.includes(msg.reason)) {
295
+ logValidationFailure('REQUEST_UPGRADE', `reason must be one of: ${validReasons.join(', ')}`, msg.reason);
296
+ return false;
297
+ }
298
+ return true;
299
+ }
300
+ export function validateUpgradePendingMessage(msg) {
301
+ if (msg.type !== MessageType.UPGRADE_PENDING) {
302
+ logValidationFailure('UPGRADE_PENDING', 'incorrect type', msg.type);
303
+ return false;
304
+ }
305
+ if (typeof msg.newVersion !== 'string') {
306
+ logValidationFailure('UPGRADE_PENDING', 'newVersion must be string', msg.newVersion);
307
+ return false;
308
+ }
309
+ if (typeof msg.estimatedShutdownTime !== 'number' ||
310
+ !Number.isFinite(msg.estimatedShutdownTime)) {
311
+ logValidationFailure('UPGRADE_PENDING', 'estimatedShutdownTime must be number', msg.estimatedShutdownTime);
312
+ return false;
313
+ }
314
+ if (typeof msg.initiatorClientId !== 'string') {
315
+ logValidationFailure('UPGRADE_PENDING', 'initiatorClientId must be string', msg.initiatorClientId);
316
+ return false;
317
+ }
318
+ return true;
319
+ }
320
+ export function validateUpgradeAbortMessage(msg) {
321
+ if (msg.type !== MessageType.UPGRADE_ABORT) {
322
+ logValidationFailure('UPGRADE_ABORT', 'incorrect type', msg.type);
323
+ return false;
324
+ }
325
+ if (typeof msg.reason !== 'string') {
326
+ logValidationFailure('UPGRADE_ABORT', 'reason must be string', msg.reason);
327
+ return false;
328
+ }
329
+ return true;
330
+ }
331
+ export function validateShutdownMessage(msg) {
332
+ if (msg.type !== MessageType.SHUTDOWN) {
333
+ logValidationFailure('SHUTDOWN', 'incorrect type', msg.type);
334
+ return false;
335
+ }
336
+ const validReasons = ['upgrade', 'user_requested', 'idle_timeout', 'error'];
337
+ if (!validReasons.includes(msg.reason)) {
338
+ logValidationFailure('SHUTDOWN', `reason must be one of: ${validReasons.join(', ')}`, msg.reason);
339
+ return false;
340
+ }
341
+ if (typeof msg.gracePeriod !== 'number' ||
342
+ !Number.isFinite(msg.gracePeriod)) {
343
+ logValidationFailure('SHUTDOWN', 'gracePeriod must be number', msg.gracePeriod);
344
+ return false;
345
+ }
346
+ return true;
347
+ }
348
+ export function validateErrorMessage(msg) {
349
+ if (msg.type !== MessageType.ERROR) {
350
+ logValidationFailure('ERROR', 'incorrect type', msg.type);
351
+ return false;
352
+ }
353
+ if (typeof msg.code !== 'string') {
354
+ logValidationFailure('ERROR', 'code must be string', msg.code);
355
+ return false;
356
+ }
357
+ if (typeof msg.message !== 'string') {
358
+ logValidationFailure('ERROR', 'message must be string', msg.message);
359
+ return false;
360
+ }
361
+ if (msg.requestId !== undefined && typeof msg.requestId !== 'string') {
362
+ logValidationFailure('ERROR', 'requestId must be string if present', msg.requestId);
363
+ return false;
364
+ }
365
+ if (msg.clientId !== undefined && typeof msg.clientId !== 'string') {
366
+ logValidationFailure('ERROR', 'clientId must be string if present', msg.clientId);
367
+ return false;
368
+ }
369
+ return true;
370
+ }
371
+ export function validateMessage(msg) {
372
+ if (!hasValidBaseFields(msg)) {
373
+ logValidationFailure('BaseMessage', 'invalid base fields (type or timestamp)');
374
+ return null;
375
+ }
376
+ switch (msg.type) {
377
+ case MessageType.HANDSHAKE:
378
+ return validateHandshakeMessage(msg)
379
+ ? msg
380
+ : null;
381
+ case MessageType.HANDSHAKE_ACK:
382
+ return validateHandshakeAckMessage(msg)
383
+ ? msg
384
+ : null;
385
+ case MessageType.HEARTBEAT:
386
+ return validateHeartbeatMessage(msg)
387
+ ? msg
388
+ : null;
389
+ case MessageType.HEARTBEAT_ACK:
390
+ return validateHeartbeatAckMessage(msg)
391
+ ? msg
392
+ : null;
393
+ case MessageType.DISCONNECT:
394
+ return validateDisconnectMessage(msg)
395
+ ? msg
396
+ : null;
397
+ case MessageType.MCP_REQUEST:
398
+ return validateMcpRequestMessage(msg)
399
+ ? msg
400
+ : null;
401
+ case MessageType.MCP_RESPONSE:
402
+ return validateMcpResponseMessage(msg)
403
+ ? msg
404
+ : null;
405
+ case MessageType.MCP_NOTIFICATION:
406
+ return validateMcpNotificationMessage(msg)
407
+ ? msg
408
+ : null;
409
+ case MessageType.REQUEST_UPGRADE:
410
+ return validateRequestUpgradeMessage(msg)
411
+ ? msg
412
+ : null;
413
+ case MessageType.UPGRADE_PENDING:
414
+ return validateUpgradePendingMessage(msg)
415
+ ? msg
416
+ : null;
417
+ case MessageType.UPGRADE_ABORT:
418
+ return validateUpgradeAbortMessage(msg)
419
+ ? msg
420
+ : null;
421
+ case MessageType.SHUTDOWN:
422
+ return validateShutdownMessage(msg)
423
+ ? msg
424
+ : null;
425
+ case MessageType.ERROR:
426
+ return validateErrorMessage(msg)
427
+ ? msg
428
+ : null;
429
+ default:
430
+ logValidationFailure('Unknown', `unrecognized message type: ${msg.type}`);
431
+ return null;
432
+ }
433
+ }
434
+ export function parseMessage(data) {
435
+ try {
436
+ const parsed = JSON.parse(data);
437
+ if (!isObject(parsed)) {
438
+ logValidationFailure('parseMessage', 'parsed data is not an object');
439
+ return null;
440
+ }
441
+ return validateMessage(parsed);
442
+ }
443
+ catch (error) {
444
+ logValidationFailure('parseMessage', 'JSON parse error', error instanceof Error ? error.message : String(error));
445
+ return null;
446
+ }
447
+ }
448
+ export function serializeMessage(message) {
449
+ return JSON.stringify(message) + '\n';
450
+ }
451
+ export const MESSAGE_DELIMITER = '\n';
452
+ //# sourceMappingURL=DaemonProtocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonProtocol.js","sourceRoot":"","sources":["../../../src/mcp/daemon/DaemonProtocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { EventEmitter } from 'events';
2
+ import { IpcTransport } from './IpcTransport.js';
3
+ import { type RequestUpgradeMessage } from './DaemonProtocol.js';
4
+ export declare const ErrorCodes: {
5
+ readonly INVALID_MESSAGE: "INVALID_MESSAGE";
6
+ readonly HANDSHAKE_REQUIRED: "HANDSHAKE_REQUIRED";
7
+ readonly UNKNOWN_MESSAGE_TYPE: "UNKNOWN_MESSAGE_TYPE";
8
+ readonly NO_HANDLER: "NO_HANDLER";
9
+ readonly HANDLER_ERROR: "HANDLER_ERROR";
10
+ readonly BUFFER_OVERFLOW: "BUFFER_OVERFLOW";
11
+ readonly HANDSHAKE_TIMEOUT: "HANDSHAKE_TIMEOUT";
12
+ };
13
+ export interface ClientInfo {
14
+ clientId: string;
15
+ version: string;
16
+ protocolVersion: number;
17
+ capabilities: string[];
18
+ pid: number;
19
+ connectedAt: number;
20
+ lastActivity: number;
21
+ handshakeComplete: boolean;
22
+ }
23
+ export interface DaemonSocketServerConfig {
24
+ transport: IpcTransport;
25
+ version: string;
26
+ heartbeatInterval?: number;
27
+ heartbeatTimeout?: number;
28
+ maxBufferSize?: number;
29
+ handshakeTimeout?: number;
30
+ }
31
+ export type McpHandler = (request: unknown) => Promise<unknown>;
32
+ export interface DaemonSocketServerEvents {
33
+ client_connect: (client: ClientInfo) => void;
34
+ client_disconnect: (clientId: string) => void;
35
+ upgrade_requested: (request: RequestUpgradeMessage) => void;
36
+ }
37
+ export declare class DaemonSocketServer extends EventEmitter {
38
+ private config;
39
+ private server;
40
+ private clients;
41
+ private mcpHandler;
42
+ private startTime;
43
+ private requestsProcessed;
44
+ private isRunning;
45
+ private heartbeatCheckInterval;
46
+ constructor(config: DaemonSocketServerConfig);
47
+ start(): Promise<void>;
48
+ stop(): Promise<void>;
49
+ getClientCount(): number;
50
+ getClients(): ClientInfo[];
51
+ disconnectClient(clientId: string): void;
52
+ setMcpHandler(handler: McpHandler): void;
53
+ on<K extends keyof DaemonSocketServerEvents>(event: K, listener: DaemonSocketServerEvents[K]): this;
54
+ emit<K extends keyof DaemonSocketServerEvents>(event: K, ...args: Parameters<DaemonSocketServerEvents[K]>): boolean;
55
+ private handleConnection;
56
+ private handleData;
57
+ private handleMessage;
58
+ private handleHandshake;
59
+ private handleHeartbeat;
60
+ private handleMcpRequest;
61
+ private handleDisconnectMessage;
62
+ private handleUpgradeRequest;
63
+ private handleDisconnect;
64
+ private clearHandshakeTimer;
65
+ private sendMessage;
66
+ private sendError;
67
+ private updateLockClientCount;
68
+ private startHeartbeatCheck;
69
+ private stopHeartbeatCheck;
70
+ }
71
+ //# sourceMappingURL=DaemonSocketServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonSocketServer.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/DaemonSocketServer.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAeL,KAAK,qBAAqB,EAE3B,MAAM,qBAAqB,CAAC;AAQ7B,eAAO,MAAM,UAAU;;;;;;;;CAeb,CAAC;AAWX,MAAM,WAAW,UAAU;IAEzB,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,MAAM,CAAC;IAGhB,eAAe,EAAE,MAAM,CAAC;IAGxB,YAAY,EAAE,MAAM,EAAE,CAAC;IAGvB,GAAG,EAAE,MAAM,CAAC;IAGZ,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAmBD,MAAM,WAAW,wBAAwB;IAEvC,SAAS,EAAE,YAAY,CAAC;IAGxB,OAAO,EAAE,MAAM,CAAC;IAGhB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAKD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAKhE,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,iBAAiB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC7D;AAKD,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,sBAAsB,CAA+B;gBAEjD,MAAM,EAAE,wBAAwB;IAetC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD3B,cAAc,IAAI,MAAM;IAoBxB,UAAU,IAAI,UAAU,EAAE;IA2B1B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAaxC,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAKxC,EAAE,CAAC,CAAC,SAAS,MAAM,wBAAwB,EACzC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACpC,IAAI;IAIP,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAC3C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAC/C,OAAO;IAWV,OAAO,CAAC,gBAAgB;IAmExB,OAAO,CAAC,UAAU;IAmElB,OAAO,CAAC,aAAa;IAoErB,OAAO,CAAC,eAAe;IAoEvB,OAAO,CAAC,eAAe;YAkBT,gBAAgB;IAwC9B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,SAAS;YAeH,qBAAqB;IAanC,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,kBAAkB;CAM3B"}