@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
@@ -5,8 +5,17 @@ import { fileURLToPath } from 'url';
5
5
  import { v4 as uuidv4 } from 'uuid';
6
6
  import { logger } from '../../utils/logger.js';
7
7
  import { getDataPath } from '../../utils/PathResolver.js';
8
+ import { validateArraySize, validateTaskStates, validateTaskPriorities, validatePositiveInteger, validateISOTimestamp, } from './inputValidation.js';
8
9
  const __filename = fileURLToPath(import.meta.url);
9
10
  const __dirname = dirname(__filename);
11
+ function assertPlaceholderParamMatch(query, params, context) {
12
+ const stripped = query.replace(/'[^']*'|"[^"]*"/g, '');
13
+ const placeholderCount = (stripped.match(/\?/g) || []).length;
14
+ if (placeholderCount !== params.length) {
15
+ throw new Error(`[TaskQueue] Placeholder/parameter count mismatch in ${context}: ` +
16
+ `query has ${placeholderCount} placeholder(s) but ${params.length} parameter(s) were provided`);
17
+ }
18
+ }
10
19
  function safeJsonParse(jsonString) {
11
20
  if (!jsonString)
12
21
  return null;
@@ -23,9 +32,28 @@ function safeJsonParse(jsonString) {
23
32
  }
24
33
  export class TaskQueue {
25
34
  db;
35
+ preparedStatements;
36
+ isClosed = false;
26
37
  constructor(agentId, dbPath) {
27
38
  const path = dbPath || getDataPath(`a2a-tasks-${agentId}.db`);
28
39
  this.db = new Database(path);
40
+ this.preparedStatements = new Map();
41
+ const BUSY_TIMEOUT_BOUNDS = { min: 1000, max: 60000, default: 5000 };
42
+ let busyTimeoutMs = parseInt(process.env.DB_BUSY_TIMEOUT_MS || String(BUSY_TIMEOUT_BOUNDS.default), 10);
43
+ if (Number.isNaN(busyTimeoutMs)) {
44
+ logger.warn(`[TaskQueue] Invalid (NaN) DB_BUSY_TIMEOUT_MS, using default ${BUSY_TIMEOUT_BOUNDS.default}ms`);
45
+ busyTimeoutMs = BUSY_TIMEOUT_BOUNDS.default;
46
+ }
47
+ else if (busyTimeoutMs < BUSY_TIMEOUT_BOUNDS.min) {
48
+ logger.warn(`[TaskQueue] DB_BUSY_TIMEOUT_MS (${busyTimeoutMs}ms) below minimum, clamping to ${BUSY_TIMEOUT_BOUNDS.min}ms`);
49
+ busyTimeoutMs = BUSY_TIMEOUT_BOUNDS.min;
50
+ }
51
+ else if (busyTimeoutMs > BUSY_TIMEOUT_BOUNDS.max) {
52
+ logger.warn(`[TaskQueue] DB_BUSY_TIMEOUT_MS (${busyTimeoutMs}ms) exceeds maximum, clamping to ${BUSY_TIMEOUT_BOUNDS.max}ms`);
53
+ busyTimeoutMs = BUSY_TIMEOUT_BOUNDS.max;
54
+ }
55
+ this.db.pragma(`busy_timeout = ${busyTimeoutMs}`);
56
+ this.db.pragma('journal_mode = WAL');
29
57
  this.initializeSchema();
30
58
  }
31
59
  initializeSchema() {
@@ -33,6 +61,14 @@ export class TaskQueue {
33
61
  const schema = readFileSync(schemaPath, 'utf-8');
34
62
  this.db.exec(schema);
35
63
  }
64
+ getStatement(key, sql) {
65
+ let stmt = this.preparedStatements.get(key);
66
+ if (!stmt) {
67
+ stmt = this.db.prepare(sql);
68
+ this.preparedStatements.set(key, stmt);
69
+ }
70
+ return stmt;
71
+ }
36
72
  createTask(params) {
37
73
  const now = new Date().toISOString();
38
74
  const taskId = uuidv4();
@@ -49,10 +85,8 @@ export class TaskQueue {
49
85
  artifacts: [],
50
86
  metadata: params.metadata,
51
87
  };
52
- const stmt = this.db.prepare(`
53
- INSERT INTO tasks (id, state, name, description, priority, session_id, created_at, updated_at, metadata)
54
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
55
- `);
88
+ const stmt = this.getStatement('insertTask', `INSERT INTO tasks (id, state, name, description, priority, session_id, created_at, updated_at, metadata)
89
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);
56
90
  stmt.run(task.id, task.state, task.name || null, task.description || null, task.priority, task.sessionId || null, task.createdAt, task.updatedAt, task.metadata ? JSON.stringify(task.metadata) : null);
57
91
  if (params.initialMessage) {
58
92
  this.addMessage({
@@ -65,15 +99,31 @@ export class TaskQueue {
65
99
  return task;
66
100
  }
67
101
  getTask(taskId) {
68
- const stmt = this.db.prepare(`
69
- SELECT * FROM tasks WHERE id = ?
70
- `);
102
+ const stmt = this.getStatement('getTask', 'SELECT * FROM tasks WHERE id = ?');
71
103
  const row = stmt.get(taskId);
72
104
  if (!row)
73
105
  return null;
74
106
  return this.rowToTask(row);
75
107
  }
76
108
  listTasks(filter) {
109
+ if (filter?.state) {
110
+ const states = Array.isArray(filter.state) ? filter.state : [filter.state];
111
+ validateArraySize(states, 'state filter');
112
+ validateTaskStates(states);
113
+ }
114
+ if (filter?.priority) {
115
+ const priorities = Array.isArray(filter.priority)
116
+ ? filter.priority
117
+ : [filter.priority];
118
+ validateArraySize(priorities, 'priority filter');
119
+ validateTaskPriorities(priorities);
120
+ }
121
+ if (filter?.limit !== undefined) {
122
+ validatePositiveInteger(filter.limit, 'limit', 10000);
123
+ }
124
+ if (filter?.offset !== undefined) {
125
+ validatePositiveInteger(filter.offset, 'offset');
126
+ }
77
127
  let query = `
78
128
  SELECT
79
129
  t.*,
@@ -95,7 +145,9 @@ export class TaskQueue {
95
145
  const params = [];
96
146
  if (filter?.state) {
97
147
  if (Array.isArray(filter.state)) {
98
- query += ` AND t.state IN (${filter.state.map(() => '?').join(',')})`;
148
+ const stateCount = filter.state.length;
149
+ const statePlaceholders = Array(stateCount).fill('?').join(',');
150
+ query += ` AND t.state IN (${statePlaceholders})`;
99
151
  params.push(...filter.state);
100
152
  }
101
153
  else {
@@ -105,7 +157,9 @@ export class TaskQueue {
105
157
  }
106
158
  if (filter?.priority) {
107
159
  if (Array.isArray(filter.priority)) {
108
- query += ` AND t.priority IN (${filter.priority.map(() => '?').join(',')})`;
160
+ const priorityCount = filter.priority.length;
161
+ const priorityPlaceholders = Array(priorityCount).fill('?').join(',');
162
+ query += ` AND t.priority IN (${priorityPlaceholders})`;
109
163
  params.push(...filter.priority);
110
164
  }
111
165
  else {
@@ -113,11 +167,13 @@ export class TaskQueue {
113
167
  params.push(filter.priority);
114
168
  }
115
169
  }
116
- if (filter?.createdAfter) {
170
+ if (filter?.createdAfter !== undefined) {
171
+ validateISOTimestamp(filter.createdAfter, 'createdAfter');
117
172
  query += ' AND t.created_at >= ?';
118
173
  params.push(filter.createdAfter);
119
174
  }
120
- if (filter?.createdBefore) {
175
+ if (filter?.createdBefore !== undefined) {
176
+ validateISOTimestamp(filter.createdBefore, 'createdBefore');
121
177
  query += ' AND t.created_at <= ?';
122
178
  params.push(filter.createdBefore);
123
179
  }
@@ -134,6 +190,7 @@ export class TaskQueue {
134
190
  query += ' OFFSET ?';
135
191
  params.push(filter.offset);
136
192
  }
193
+ assertPlaceholderParamMatch(query, params, 'listTasks');
137
194
  const stmt = this.db.prepare(query);
138
195
  const rows = stmt.all(...params);
139
196
  return rows.map((row) => ({
@@ -150,7 +207,7 @@ export class TaskQueue {
150
207
  updateTaskStatus(taskId, params) {
151
208
  const updates = [];
152
209
  const values = [];
153
- if (params.state) {
210
+ if (params.state !== undefined) {
154
211
  updates.push('state = ?');
155
212
  values.push(params.state);
156
213
  }
@@ -162,20 +219,20 @@ export class TaskQueue {
162
219
  updates.push('description = ?');
163
220
  values.push(params.description);
164
221
  }
165
- if (params.priority) {
222
+ if (params.priority !== undefined) {
166
223
  updates.push('priority = ?');
167
224
  values.push(params.priority);
168
225
  }
169
- if (params.metadata) {
226
+ if (params.metadata !== undefined) {
170
227
  updates.push('metadata = ?');
171
- values.push(JSON.stringify(params.metadata));
228
+ values.push(params.metadata ? JSON.stringify(params.metadata) : null);
172
229
  }
173
230
  updates.push('updated_at = ?');
174
231
  values.push(new Date().toISOString());
175
232
  values.push(taskId);
176
- const stmt = this.db.prepare(`
177
- UPDATE tasks SET ${updates.join(', ')} WHERE id = ?
178
- `);
233
+ const updateQuery = `UPDATE tasks SET ${updates.join(', ')} WHERE id = ?`;
234
+ assertPlaceholderParamMatch(updateQuery, values, 'updateTaskStatus');
235
+ const stmt = this.db.prepare(updateQuery);
179
236
  const result = stmt.run(...values);
180
237
  return result.changes > 0;
181
238
  }
@@ -255,6 +312,11 @@ export class TaskQueue {
255
312
  });
256
313
  }
257
314
  close() {
315
+ if (this.isClosed) {
316
+ return;
317
+ }
318
+ this.isClosed = true;
319
+ this.preparedStatements.clear();
258
320
  this.db.close();
259
321
  }
260
322
  rowToTask(row) {
@@ -1 +1 @@
1
- {"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../src/a2a/storage/TaskQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../src/a2a/storage/TaskQueue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { TaskState, TaskPriority } from '../types/index.js';
2
+ export declare function validateArraySize<T>(array: T[], fieldName: string, maxSize?: number): void;
3
+ export declare function validateTaskStates(states: string[]): asserts states is TaskState[];
4
+ export declare function validateTaskPriorities(priorities: string[]): asserts priorities is TaskPriority[];
5
+ export declare function validatePositiveInteger(value: number, fieldName: string, max?: number): void;
6
+ export declare function validateISOTimestamp(value: string, fieldName: string): void;
7
+ //# sourceMappingURL=inputValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputValidation.d.ts","sourceRoot":"","sources":["../../../src/a2a/storage/inputValidation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuCjE,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAA8B,GACtC,IAAI,CAUN;AAQD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAYlF;AAQD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,UAAU,IAAI,YAAY,EAAE,CAYtC;AAUD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAgC,GACpC,IAAI,CAUN;AASD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA6B3E"}
@@ -0,0 +1,91 @@
1
+ import { ValidationError } from '../../errors/index.js';
2
+ const MAX_FILTER_ARRAY_SIZE = 100;
3
+ const VALID_TASK_STATES = [
4
+ 'SUBMITTED',
5
+ 'WORKING',
6
+ 'INPUT_REQUIRED',
7
+ 'COMPLETED',
8
+ 'FAILED',
9
+ 'CANCELED',
10
+ 'REJECTED',
11
+ 'TIMEOUT',
12
+ ];
13
+ const VALID_TASK_PRIORITIES = [
14
+ 'low',
15
+ 'normal',
16
+ 'high',
17
+ 'urgent',
18
+ ];
19
+ export function validateArraySize(array, fieldName, maxSize = MAX_FILTER_ARRAY_SIZE) {
20
+ if (array.length > maxSize) {
21
+ throw new ValidationError(`Too many items in ${fieldName}`, {
22
+ field: fieldName,
23
+ providedCount: array.length,
24
+ maxAllowed: maxSize,
25
+ severity: 'HIGH',
26
+ reason: 'DoS prevention: Excessive array size can cause performance degradation',
27
+ });
28
+ }
29
+ }
30
+ export function validateTaskStates(states) {
31
+ for (const state of states) {
32
+ if (!VALID_TASK_STATES.includes(state)) {
33
+ throw new ValidationError('Invalid task state', {
34
+ field: 'state',
35
+ providedState: state,
36
+ validStates: VALID_TASK_STATES,
37
+ severity: 'HIGH',
38
+ reason: 'SQL injection prevention: Only known enum values are allowed',
39
+ });
40
+ }
41
+ }
42
+ }
43
+ export function validateTaskPriorities(priorities) {
44
+ for (const priority of priorities) {
45
+ if (!VALID_TASK_PRIORITIES.includes(priority)) {
46
+ throw new ValidationError('Invalid task priority', {
47
+ field: 'priority',
48
+ providedPriority: priority,
49
+ validPriorities: VALID_TASK_PRIORITIES,
50
+ severity: 'HIGH',
51
+ reason: 'SQL injection prevention: Only known enum values are allowed',
52
+ });
53
+ }
54
+ }
55
+ }
56
+ export function validatePositiveInteger(value, fieldName, max = Number.MAX_SAFE_INTEGER) {
57
+ if (!Number.isInteger(value) || value < 0 || value > max) {
58
+ throw new ValidationError(`Invalid ${fieldName}`, {
59
+ field: fieldName,
60
+ providedValue: value,
61
+ constraints: { min: 0, max },
62
+ severity: 'MEDIUM',
63
+ reason: 'Only positive integers are allowed',
64
+ });
65
+ }
66
+ }
67
+ export function validateISOTimestamp(value, fieldName) {
68
+ const date = new Date(value);
69
+ if (Number.isNaN(date.getTime())) {
70
+ throw new ValidationError(`Invalid ${fieldName}`, {
71
+ field: fieldName,
72
+ providedValue: value,
73
+ severity: 'MEDIUM',
74
+ reason: 'Must be a valid ISO 8601 timestamp string',
75
+ });
76
+ }
77
+ const timestamp = date.getTime();
78
+ const now = Date.now();
79
+ const oneHundredYears = 100 * 365 * 24 * 60 * 60 * 1000;
80
+ if (timestamp < 0 || timestamp > now + oneHundredYears) {
81
+ throw new ValidationError(`Invalid ${fieldName}`, {
82
+ field: fieldName,
83
+ providedValue: value,
84
+ timestamp,
85
+ constraints: { min: 0, max: now + oneHundredYears },
86
+ severity: 'MEDIUM',
87
+ reason: 'Timestamp must be a reasonable date (not before epoch or too far in future)',
88
+ });
89
+ }
90
+ }
91
+ //# sourceMappingURL=inputValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputValidation.js","sourceRoot":"","sources":["../../../src/a2a/storage/inputValidation.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  -- Tasks table
5
5
  CREATE TABLE IF NOT EXISTS tasks (
6
6
  id TEXT PRIMARY KEY,
7
- state TEXT NOT NULL CHECK(state IN ('SUBMITTED', 'WORKING', 'INPUT_REQUIRED', 'COMPLETED', 'FAILED', 'CANCELED', 'REJECTED')),
7
+ state TEXT NOT NULL CHECK(state IN ('SUBMITTED', 'WORKING', 'INPUT_REQUIRED', 'COMPLETED', 'FAILED', 'CANCELED', 'REJECTED', 'TIMEOUT')),
8
8
  name TEXT,
9
9
  description TEXT,
10
10
  priority TEXT CHECK(priority IN ('low', 'normal', 'high', 'urgent')) DEFAULT 'normal',
@@ -19,6 +19,16 @@ CREATE INDEX IF NOT EXISTS idx_tasks_state ON tasks(state);
19
19
  CREATE INDEX IF NOT EXISTS idx_tasks_created_at ON tasks(created_at);
20
20
  CREATE INDEX IF NOT EXISTS idx_tasks_session_id ON tasks(session_id);
21
21
 
22
+ -- PERFORMANCE OPTIMIZATION: Composite indexes for common query patterns
23
+ -- Used by listTasks() with state + priority filters
24
+ CREATE INDEX IF NOT EXISTS idx_tasks_state_priority ON tasks(state, priority);
25
+ -- Used by listTasks() with state + created_at for sorting
26
+ CREATE INDEX IF NOT EXISTS idx_tasks_state_created_at ON tasks(state, created_at DESC);
27
+ -- Used by listTasks() with session_id + state
28
+ CREATE INDEX IF NOT EXISTS idx_tasks_session_state ON tasks(session_id, state);
29
+ -- Used by listTasks() with priority + created_at
30
+ CREATE INDEX IF NOT EXISTS idx_tasks_priority_created_at ON tasks(priority, created_at DESC);
31
+
22
32
  -- Messages table
23
33
  CREATE TABLE IF NOT EXISTS messages (
24
34
  id TEXT PRIMARY KEY,
@@ -2,4 +2,5 @@ export type { ServiceResponse, ServiceError, SendMessageRequest, SendMessageResp
2
2
  export type { Task, TaskState, TaskPriority, TaskStatus, TaskFilter, CreateTaskParams, UpdateTaskParams, Artifact, } from './task.js';
3
3
  export type { Message, Role, AddMessageParams, MessageCreated, } from './message.js';
4
4
  export type { AgentCard, AgentCapabilities, Skill, SkillParameter, SkillExample, AgentEndpoints, AgentRegistryEntry, RegisterAgentParams, } from './agent-card.js';
5
+ export type { RateLimitConfig, TokenBucket, RateLimitError, RateLimitStats, } from './rateLimit.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,GACT,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,GACT,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface RateLimitConfig {
2
+ maxRequests: number;
3
+ windowMs: number;
4
+ }
5
+ export interface TokenBucket {
6
+ tokens: number;
7
+ maxTokens: number;
8
+ lastRefill: number;
9
+ refillRate: number;
10
+ }
11
+ export interface RateLimitError {
12
+ success: false;
13
+ error: {
14
+ code: 'RATE_LIMIT_EXCEEDED';
15
+ message: string;
16
+ retryAfter: number;
17
+ };
18
+ }
19
+ export interface RateLimitStats {
20
+ agentId: string;
21
+ endpoint: string;
22
+ limitExceeded: number;
23
+ totalRequests: number;
24
+ lastLimitHit?: number;
25
+ }
26
+ //# sourceMappingURL=rateLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/rateLimit.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAE9B,WAAW,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,WAAW;IAE1B,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,qBAAqB,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAKD,MAAM,WAAW,cAAc;IAE7B,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rateLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../src/a2a/types/rateLimit.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import type { MessagePart } from './protocol.js';
2
- export type TaskState = 'SUBMITTED' | 'WORKING' | 'INPUT_REQUIRED' | 'COMPLETED' | 'FAILED' | 'CANCELED' | 'REJECTED';
2
+ export type TaskState = 'SUBMITTED' | 'WORKING' | 'INPUT_REQUIRED' | 'COMPLETED' | 'FAILED' | 'CANCELED' | 'REJECTED' | 'TIMEOUT';
3
3
  export type TaskPriority = 'low' | 'normal' | 'high' | 'urgent';
4
4
  export interface Task {
5
5
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/a2a/types/task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ interface MCPServerConfig {
2
+ command: string;
3
+ args: string[];
4
+ env?: Record<string, string>;
5
+ }
6
+ interface ClaudeCodeConfig {
7
+ mcpServers?: {
8
+ [key: string]: MCPServerConfig;
9
+ };
10
+ [key: string]: any;
11
+ }
12
+ interface ValidationResult {
13
+ valid: boolean;
14
+ errors: string[];
15
+ warnings: string[];
16
+ config?: ClaudeCodeConfig;
17
+ }
18
+ export declare class ConfigManager {
19
+ static getConfigPath(): string;
20
+ static getConfigPathDescription(): string;
21
+ static readConfig(): Promise<ClaudeCodeConfig | null>;
22
+ static writeConfig(config: ClaudeCodeConfig): Promise<boolean>;
23
+ static validateConfig(): Promise<ValidationResult>;
24
+ static generateDefaultConfig(): ClaudeCodeConfig;
25
+ private static findMemeshPath;
26
+ static highlightJSON(obj: any): string;
27
+ static openInEditor(): Promise<boolean>;
28
+ private static getDefaultEditor;
29
+ static backupConfig(): Promise<string | null>;
30
+ }
31
+ export declare function showConfig(): Promise<void>;
32
+ export declare function validateConfig(): Promise<void>;
33
+ export declare function editConfig(): Promise<void>;
34
+ export declare function resetConfig(): Promise<void>;
35
+ export {};
36
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AA0BA,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAKD,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;KAChC,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAKD,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAKD,qBAAa,aAAa;IAIxB,MAAM,CAAC,aAAa,IAAI,MAAM;IAsB9B,MAAM,CAAC,wBAAwB,IAAI,MAAM;WAe5B,UAAU,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;WAmB9C,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;WAoBvD,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAuExD,MAAM,CAAC,qBAAqB,IAAI,gBAAgB;IAkBhD,OAAO,CAAC,MAAM,CAAC,cAAc;IAuB7B,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;WAmCzB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAkC7C,OAAO,CAAC,MAAM,CAAC,gBAAgB;WAelB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAkBpD;AAKD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAiEhD;AAKD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAwFpD;AAKD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAgEhD;AAKD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA4EjD"}