agent-world 0.11.1 → 0.12.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 (267) hide show
  1. package/README.md +17 -7
  2. package/dist/cli/commands.d.ts +109 -0
  3. package/dist/cli/commands.js +2024 -0
  4. package/dist/cli/display.d.ts +124 -0
  5. package/dist/cli/display.js +381 -0
  6. package/dist/cli/hitl.d.ts +33 -0
  7. package/dist/cli/hitl.js +81 -0
  8. package/dist/cli/index.d.ts +2 -0
  9. package/dist/cli/stream.d.ts +41 -0
  10. package/dist/cli/stream.js +222 -0
  11. package/dist/core/activity-tracker.d.ts +16 -0
  12. package/dist/core/activity-tracker.d.ts.map +1 -0
  13. package/dist/core/activity-tracker.js +91 -0
  14. package/dist/core/activity-tracker.js.map +1 -0
  15. package/dist/core/ai-commands.d.ts +16 -0
  16. package/dist/core/ai-commands.d.ts.map +1 -0
  17. package/dist/core/ai-commands.js +24 -0
  18. package/dist/core/ai-commands.js.map +1 -0
  19. package/dist/core/ai-sdk-patch.d.ts +24 -0
  20. package/dist/core/ai-sdk-patch.d.ts.map +1 -0
  21. package/dist/core/ai-sdk-patch.js +169 -0
  22. package/dist/core/ai-sdk-patch.js.map +1 -0
  23. package/dist/core/anthropic-direct.d.ts +52 -0
  24. package/dist/core/anthropic-direct.d.ts.map +1 -0
  25. package/dist/core/anthropic-direct.js +301 -0
  26. package/dist/core/anthropic-direct.js.map +1 -0
  27. package/dist/core/approval-cache.d.ts +104 -0
  28. package/dist/core/approval-cache.d.ts.map +1 -0
  29. package/dist/core/approval-cache.js +150 -0
  30. package/dist/core/approval-cache.js.map +1 -0
  31. package/dist/core/chat-constants.d.ts +20 -0
  32. package/dist/core/chat-constants.d.ts.map +1 -0
  33. package/dist/core/chat-constants.js +22 -0
  34. package/dist/core/chat-constants.js.map +1 -0
  35. package/dist/core/create-agent-tool.d.ts +66 -0
  36. package/dist/core/create-agent-tool.d.ts.map +1 -0
  37. package/dist/core/create-agent-tool.js +212 -0
  38. package/dist/core/create-agent-tool.js.map +1 -0
  39. package/dist/core/events/approval-checker.d.ts +61 -0
  40. package/dist/core/events/approval-checker.d.ts.map +1 -0
  41. package/dist/core/events/approval-checker.js +226 -0
  42. package/dist/core/events/approval-checker.js.map +1 -0
  43. package/dist/core/events/index.d.ts +25 -0
  44. package/dist/core/events/index.d.ts.map +1 -0
  45. package/dist/core/events/index.js +30 -0
  46. package/dist/core/events/index.js.map +1 -0
  47. package/dist/core/events/memory-manager.d.ts +73 -0
  48. package/dist/core/events/memory-manager.d.ts.map +1 -0
  49. package/dist/core/events/memory-manager.js +1218 -0
  50. package/dist/core/events/memory-manager.js.map +1 -0
  51. package/dist/core/events/mention-logic.d.ts +39 -0
  52. package/dist/core/events/mention-logic.d.ts.map +1 -0
  53. package/dist/core/events/mention-logic.js +163 -0
  54. package/dist/core/events/mention-logic.js.map +1 -0
  55. package/dist/core/events/orchestrator.d.ts +69 -0
  56. package/dist/core/events/orchestrator.d.ts.map +1 -0
  57. package/dist/core/events/orchestrator.js +883 -0
  58. package/dist/core/events/orchestrator.js.map +1 -0
  59. package/dist/core/events/persistence.d.ts +41 -0
  60. package/dist/core/events/persistence.d.ts.map +1 -0
  61. package/dist/core/events/persistence.js +296 -0
  62. package/dist/core/events/persistence.js.map +1 -0
  63. package/dist/core/events/publishers.d.ts +81 -0
  64. package/dist/core/events/publishers.d.ts.map +1 -0
  65. package/dist/core/events/publishers.js +272 -0
  66. package/dist/core/events/publishers.js.map +1 -0
  67. package/dist/core/events/subscribers.d.ts +45 -0
  68. package/dist/core/events/subscribers.d.ts.map +1 -0
  69. package/dist/core/events/subscribers.js +288 -0
  70. package/dist/core/events/subscribers.js.map +1 -0
  71. package/dist/core/events/tool-bridge-logging.d.ts +28 -0
  72. package/dist/core/events/tool-bridge-logging.d.ts.map +1 -0
  73. package/dist/core/events/tool-bridge-logging.js +94 -0
  74. package/dist/core/events/tool-bridge-logging.js.map +1 -0
  75. package/dist/core/events-metadata.d.ts +72 -0
  76. package/dist/core/events-metadata.d.ts.map +1 -0
  77. package/dist/core/events-metadata.js +167 -0
  78. package/dist/core/events-metadata.js.map +1 -0
  79. package/dist/core/events.d.ts +186 -0
  80. package/dist/core/events.d.ts.map +1 -0
  81. package/dist/core/events.js +1248 -0
  82. package/dist/core/events.js.map +1 -0
  83. package/dist/core/export.d.ts +106 -0
  84. package/dist/core/export.d.ts.map +1 -0
  85. package/dist/core/export.js +705 -0
  86. package/dist/core/export.js.map +1 -0
  87. package/dist/core/file-tools.d.ts +114 -0
  88. package/dist/core/file-tools.d.ts.map +1 -0
  89. package/dist/core/file-tools.js +370 -0
  90. package/dist/core/file-tools.js.map +1 -0
  91. package/dist/core/google-direct.d.ts +58 -0
  92. package/dist/core/google-direct.d.ts.map +1 -0
  93. package/dist/core/google-direct.js +298 -0
  94. package/dist/core/google-direct.js.map +1 -0
  95. package/dist/core/hitl.d.ts +54 -0
  96. package/dist/core/hitl.d.ts.map +1 -0
  97. package/dist/core/hitl.js +153 -0
  98. package/dist/core/hitl.js.map +1 -0
  99. package/dist/core/index.d.ts +59 -0
  100. package/dist/core/index.d.ts.map +1 -0
  101. package/dist/core/index.js +70 -0
  102. package/dist/core/index.js.map +1 -0
  103. package/dist/core/llm-config.d.ts +128 -0
  104. package/dist/core/llm-config.d.ts.map +1 -0
  105. package/dist/core/llm-config.js +164 -0
  106. package/dist/core/llm-config.js.map +1 -0
  107. package/dist/core/llm-manager.d.ts +163 -0
  108. package/dist/core/llm-manager.d.ts.map +1 -0
  109. package/dist/core/llm-manager.js +669 -0
  110. package/dist/core/llm-manager.js.map +1 -0
  111. package/dist/core/load-skill-tool.d.ts +55 -0
  112. package/dist/core/load-skill-tool.d.ts.map +1 -0
  113. package/dist/core/load-skill-tool.js +468 -0
  114. package/dist/core/load-skill-tool.js.map +1 -0
  115. package/dist/core/logger.d.ts +88 -0
  116. package/dist/core/logger.d.ts.map +1 -0
  117. package/dist/core/logger.js +358 -0
  118. package/dist/core/logger.js.map +1 -0
  119. package/dist/core/managers.d.ts +131 -0
  120. package/dist/core/managers.d.ts.map +1 -0
  121. package/dist/core/managers.js +1223 -0
  122. package/dist/core/managers.js.map +1 -0
  123. package/dist/core/mcp-server-registry.d.ts +304 -0
  124. package/dist/core/mcp-server-registry.d.ts.map +1 -0
  125. package/dist/core/mcp-server-registry.js +1769 -0
  126. package/dist/core/mcp-server-registry.js.map +1 -0
  127. package/dist/core/mcp-tools.d.ts +56 -0
  128. package/dist/core/mcp-tools.d.ts.map +1 -0
  129. package/dist/core/mcp-tools.js +186 -0
  130. package/dist/core/mcp-tools.js.map +1 -0
  131. package/dist/core/message-prep.d.ts +81 -0
  132. package/dist/core/message-prep.d.ts.map +1 -0
  133. package/dist/core/message-prep.js +223 -0
  134. package/dist/core/message-prep.js.map +1 -0
  135. package/dist/core/message-processing-control.d.ts +54 -0
  136. package/dist/core/message-processing-control.d.ts.map +1 -0
  137. package/dist/core/message-processing-control.js +139 -0
  138. package/dist/core/message-processing-control.js.map +1 -0
  139. package/dist/core/openai-direct.d.ts +80 -0
  140. package/dist/core/openai-direct.d.ts.map +1 -0
  141. package/dist/core/openai-direct.js +374 -0
  142. package/dist/core/openai-direct.js.map +1 -0
  143. package/dist/core/shell-cmd-tool.d.ts +235 -0
  144. package/dist/core/shell-cmd-tool.d.ts.map +1 -0
  145. package/dist/core/shell-cmd-tool.js +1157 -0
  146. package/dist/core/shell-cmd-tool.js.map +1 -0
  147. package/dist/core/shell-process-registry.d.ts +88 -0
  148. package/dist/core/shell-process-registry.d.ts.map +1 -0
  149. package/dist/core/shell-process-registry.js +309 -0
  150. package/dist/core/shell-process-registry.js.map +1 -0
  151. package/dist/core/skill-registry.d.ts +75 -0
  152. package/dist/core/skill-registry.d.ts.map +1 -0
  153. package/dist/core/skill-registry.js +369 -0
  154. package/dist/core/skill-registry.js.map +1 -0
  155. package/dist/core/skill-script-runner.d.ts +89 -0
  156. package/dist/core/skill-script-runner.d.ts.map +1 -0
  157. package/dist/core/skill-script-runner.js +274 -0
  158. package/dist/core/skill-script-runner.js.map +1 -0
  159. package/dist/core/skill-selector.d.ts +65 -0
  160. package/dist/core/skill-selector.d.ts.map +1 -0
  161. package/dist/core/skill-selector.js +190 -0
  162. package/dist/core/skill-selector.js.map +1 -0
  163. package/dist/core/skill-settings.d.ts +20 -0
  164. package/dist/core/skill-settings.d.ts.map +1 -0
  165. package/dist/core/skill-settings.js +40 -0
  166. package/dist/core/skill-settings.js.map +1 -0
  167. package/dist/core/storage/agent-storage.d.ts +134 -0
  168. package/dist/core/storage/agent-storage.d.ts.map +1 -0
  169. package/dist/core/storage/agent-storage.js +498 -0
  170. package/dist/core/storage/agent-storage.js.map +1 -0
  171. package/dist/core/storage/eventStorage/fileEventStorage.d.ts +100 -0
  172. package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -0
  173. package/dist/core/storage/eventStorage/fileEventStorage.js +494 -0
  174. package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -0
  175. package/dist/core/storage/eventStorage/index.d.ts +31 -0
  176. package/dist/core/storage/eventStorage/index.d.ts.map +1 -0
  177. package/dist/core/storage/eventStorage/index.js +31 -0
  178. package/dist/core/storage/eventStorage/index.js.map +1 -0
  179. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +87 -0
  180. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -0
  181. package/dist/core/storage/eventStorage/memoryEventStorage.js +244 -0
  182. package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -0
  183. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +45 -0
  184. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -0
  185. package/dist/core/storage/eventStorage/sqliteEventStorage.js +301 -0
  186. package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -0
  187. package/dist/core/storage/eventStorage/types.d.ts +142 -0
  188. package/dist/core/storage/eventStorage/types.d.ts.map +1 -0
  189. package/dist/core/storage/eventStorage/types.js +43 -0
  190. package/dist/core/storage/eventStorage/types.js.map +1 -0
  191. package/dist/core/storage/eventStorage/validation.d.ts +30 -0
  192. package/dist/core/storage/eventStorage/validation.d.ts.map +1 -0
  193. package/dist/core/storage/eventStorage/validation.js +68 -0
  194. package/dist/core/storage/eventStorage/validation.js.map +1 -0
  195. package/dist/core/storage/legacy-migrations.d.ts +45 -0
  196. package/dist/core/storage/legacy-migrations.d.ts.map +1 -0
  197. package/dist/core/storage/legacy-migrations.js +295 -0
  198. package/dist/core/storage/legacy-migrations.js.map +1 -0
  199. package/dist/core/storage/memory-storage.d.ts +105 -0
  200. package/dist/core/storage/memory-storage.d.ts.map +1 -0
  201. package/dist/core/storage/memory-storage.js +415 -0
  202. package/dist/core/storage/memory-storage.js.map +1 -0
  203. package/dist/core/storage/migration-runner.d.ts +96 -0
  204. package/dist/core/storage/migration-runner.d.ts.map +1 -0
  205. package/dist/core/storage/migration-runner.js +306 -0
  206. package/dist/core/storage/migration-runner.js.map +1 -0
  207. package/dist/core/storage/queue-storage.d.ts +147 -0
  208. package/dist/core/storage/queue-storage.d.ts.map +1 -0
  209. package/dist/core/storage/queue-storage.js +290 -0
  210. package/dist/core/storage/queue-storage.js.map +1 -0
  211. package/dist/core/storage/skill-storage.d.ts +136 -0
  212. package/dist/core/storage/skill-storage.d.ts.map +1 -0
  213. package/dist/core/storage/skill-storage.js +474 -0
  214. package/dist/core/storage/skill-storage.js.map +1 -0
  215. package/dist/core/storage/sqlite-schema.d.ts +95 -0
  216. package/dist/core/storage/sqlite-schema.d.ts.map +1 -0
  217. package/dist/core/storage/sqlite-schema.js +156 -0
  218. package/dist/core/storage/sqlite-schema.js.map +1 -0
  219. package/dist/core/storage/sqlite-storage.d.ts +146 -0
  220. package/dist/core/storage/sqlite-storage.d.ts.map +1 -0
  221. package/dist/core/storage/sqlite-storage.js +709 -0
  222. package/dist/core/storage/sqlite-storage.js.map +1 -0
  223. package/dist/core/storage/storage-factory.d.ts +61 -0
  224. package/dist/core/storage/storage-factory.d.ts.map +1 -0
  225. package/dist/core/storage/storage-factory.js +794 -0
  226. package/dist/core/storage/storage-factory.js.map +1 -0
  227. package/dist/core/storage/validation.d.ts +36 -0
  228. package/dist/core/storage/validation.d.ts.map +1 -0
  229. package/dist/core/storage/validation.js +79 -0
  230. package/dist/core/storage/validation.js.map +1 -0
  231. package/dist/core/storage/world-storage.d.ts +114 -0
  232. package/dist/core/storage/world-storage.d.ts.map +1 -0
  233. package/dist/core/storage/world-storage.js +378 -0
  234. package/dist/core/storage/world-storage.js.map +1 -0
  235. package/dist/core/subscription.d.ts +43 -0
  236. package/dist/core/subscription.d.ts.map +1 -0
  237. package/dist/core/subscription.js +227 -0
  238. package/dist/core/subscription.js.map +1 -0
  239. package/dist/core/tool-utils.d.ts +80 -0
  240. package/dist/core/tool-utils.d.ts.map +1 -0
  241. package/dist/core/tool-utils.js +273 -0
  242. package/dist/core/tool-utils.js.map +1 -0
  243. package/dist/core/types.d.ts +595 -0
  244. package/dist/core/types.d.ts.map +1 -0
  245. package/dist/core/types.js +158 -0
  246. package/dist/core/types.js.map +1 -0
  247. package/dist/core/utils.d.ts +138 -0
  248. package/dist/core/utils.d.ts.map +1 -0
  249. package/dist/core/utils.js +478 -0
  250. package/dist/core/utils.js.map +1 -0
  251. package/dist/core/world-class.d.ts +43 -0
  252. package/dist/core/world-class.d.ts.map +1 -0
  253. package/dist/core/world-class.js +90 -0
  254. package/dist/core/world-class.js.map +1 -0
  255. package/dist/index.d.ts +18 -0
  256. package/dist/public/assets/agent-sprites-DJFgj-zP.png +0 -0
  257. package/dist/public/assets/border-KHK37r8y.svg +83 -0
  258. package/dist/public/assets/index-C9kPXL6G.css +1 -0
  259. package/dist/public/assets/index-DOQEHGWt.js +96 -0
  260. package/dist/public/index.html +21 -0
  261. package/dist/server/api.d.ts +2 -0
  262. package/dist/server/api.js +1124 -0
  263. package/dist/server/index.d.ts +29 -0
  264. package/dist/server/sse-handler.d.ts +62 -0
  265. package/dist/server/sse-handler.js +234 -0
  266. package/package.json +15 -3
  267. package/scripts/launch-electron.js +0 -58
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managers.js","sourceRoot":"","sources":["../../core/managers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,304 @@
1
+ /**
2
+ * MCP Server Registry and Tools Integration - Clean Implementation with Runtime AI SDK Patch
3
+ *
4
+ * Logger Categories: mcp.lifecycle, mcp.connection, mcp.tools, mcp.execution
5
+ * Purpose: MCP server management and tool execution
6
+ *
7
+ * Enable with:
8
+ * - LOG_MCP_LIFECYCLE=info - Server start/stop/ready events
9
+ * - LOG_MCP_CONNECTION=debug - Connection establishment details
10
+ * - LOG_MCP_TOOLS=debug - Tool discovery and caching
11
+ * - LOG_MCP_EXECUTION=debug - Tool execution and results
12
+ * - LOG_MCP=debug - Enable all MCP logs
13
+ *
14
+ * What you'll see:
15
+ * - Server lifecycle: start, stop, ready, shutdown
16
+ * - Connection: transport creation, connection attempts
17
+ * - Tools: discovery, caching, schema validation
18
+ * - Execution: tool calls, results, performance metrics
19
+ *
20
+ * Comprehensive MCP (Model Context Protocol) management system providing:
21
+ * - Server lifecycle management with reference counting and connection pooling
22
+ * - Configuration-based server identification and sharing across worlds
23
+ * - Flexible configuration: Supports both 'servers' and 'mcpServers' field names
24
+ * - AI-compatible tool conversion with schema validation
25
+ * - Transport support for stdio, SSE, and streamable HTTP connections
26
+ * - Health monitoring, error handling, and graceful shutdown
27
+ * - Thread-safe registry operations with world-server mapping
28
+ * - Consolidated logging under LOG_LLM_MCP for unified debugging
29
+ * - Enhanced debug logging for MCP communication data flows
30
+ *
31
+ * Key Features:
32
+ * - Azure OpenAI compatibility: Uses runtime AI SDK patch (core/ai-sdk-patch.ts) for schema corruption fix
33
+ * - Function names use underscores, clean schema structures for tool definitions
34
+ * - Smart server sharing: Multiple worlds can share the same server configuration
35
+ * - Automatic cleanup: Servers shut down when no longer referenced (30s delay)
36
+ * - Error resilience: Comprehensive error handling with fallback mechanisms
37
+ * - Schema validation: Creates well-formed, Azure-compatible schemas for all MCP tools
38
+ * - Performance tracking: Tool execution duration and result analysis
39
+ * - Sequence tracking: Tool call dependencies and execution relationships
40
+ * - Data flow debugging: Complete request/response payload logging
41
+ *
42
+ * Connection Resilience & Lifecycle Management (November 2025):
43
+ * - Automatic reconnection: Detects connection-level errors and attempts reconnection
44
+ * - Retry strategy: Up to 2 attempts for transient network failures
45
+ * - Connection error patterns: ECONNRESET, EPIPE, socket hang up, transport errors
46
+ * - Race condition protection: Prevents concurrent reconnection attempts via reconnecting flag
47
+ * - Client lifecycle management: ClientRef pattern for tracking active connections
48
+ * - Proper resource cleanup: Ensures clients are closed on cache eviction and shutdown
49
+ * - Memory leak prevention: Cache entries deleted even if disposal fails
50
+ * - MCP error response detection: Handles both isError and type: 'error' formats
51
+ *
52
+ * Reconnection Logic:
53
+ * - Triggered automatically on connection-level errors during tool execution
54
+ * - First attempt: Try to reconnect and retry the operation
55
+ * - Second attempt: Fail and propagate error if reconnection unsuccessful
56
+ * - Concurrent calls: Wait for in-progress reconnection instead of creating new ones
57
+ * - Cache refresh: Update cache timestamp after successful reconnection
58
+ * - Logging: Detailed tracking of reconnection attempts and outcomes
59
+ *
60
+ * MCP Communication Debug Logging (LOG_LLM_MCP=debug):
61
+ * - Server connection attempts with transport and configuration details
62
+ * - Tool list requests and responses with full payload data
63
+ * - Tool execution requests with complete argument structures
64
+ * - Tool execution responses with full result content and metadata
65
+ * - Request/response data size and structure analysis
66
+ * - Raw JSON payloads for deep debugging of MCP communication
67
+ * - Connection establishment and transport creation logging
68
+ * - Server registration configuration details
69
+ * - Reconnection attempts and retry logic execution
70
+ *
71
+ * MCP Tool Execution Logging (LOG_LLM_MCP=debug):
72
+ * - Tool execution performance metrics with millisecond precision
73
+ * - Tool result content analysis including size and type identification
74
+ * - Tool call sequence tracking with unique sequence IDs
75
+ * - Success/failure status with detailed error information
76
+ * - Parent-child tool call relationship tracking
77
+ * - Argument validation and presence checking
78
+ * - Result preview for debugging without exposing full content
79
+ * - Complete request/response payload logging for troubleshooting
80
+ * - Retry attempt tracking with attempt number and max attempts
81
+ *
82
+ * Schema Approach:
83
+ * - Uses simplified property types (string, number, boolean, array with string items)
84
+ * - Includes additionalProperties: false to prevent schema expansion
85
+ * - Maintains required fields but simplifies complex nested structures
86
+ * - Works with runtime AI SDK patch to prevent schema corruption in Azure OpenAI calls
87
+ *
88
+ * LLM Argument Type Correction:
89
+ * - Automatically fixes common LLM type errors in tool arguments
90
+ * - String to array conversion: "value" -> ["value"]
91
+ * - String to number conversion: "5" -> 5
92
+ * - Empty/invalid enum omission: "" -> (omitted, uses schema default)
93
+ * - Case-insensitive enum matching: "RELEVANCE" -> "relevance"
94
+ * - Null/undefined omission for optional params: null -> (omitted when not required)
95
+ * - Applied transparently during tool execution to prevent MCP validation errors
96
+ * - Logs all corrections for debugging and monitoring
97
+ * - Schema preservation: bulletproofSchema preserves enum, items, min/max, required for validation
98
+ *
99
+ * Architecture: Function-based design with module-level state management
100
+ * Consolidated from: mcp-server-registry.ts + mcp-tools.ts (August 2025)
101
+ * Runtime patch integration: Works with ai-sdk-patch.ts for Azure compatibility (August 2025)
102
+ * Enhanced debug logging: Complete MCP data flow visibility (August 2025)
103
+ * Scenario-based logging: Split into lifecycle, connection, tools, execution (October 2025)
104
+ * Lifecycle management: Connection resilience and automatic reconnection (November 2025)
105
+ * Explicit execution safety system: Replaced heuristic detection with structured metadata (November 2025)
106
+ * 2026-02-14: Added built-in `load_skill` tool registration for progressive skill instruction loading.
107
+ * 2026-02-19: Added built-in `create_agent` tool registration with approval-gated agent creation.
108
+ */
109
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
110
+ /**
111
+ * Sanitizes tool arguments by redacting sensitive information.
112
+ * Protects passwords, keys, tokens, and other sensitive data.
113
+ *
114
+ * @param args - Tool arguments object
115
+ * @returns Sanitized copy of arguments
116
+ */
117
+ export declare function sanitizeArgs(args: any): any;
118
+ type MCPServerDefinition = {
119
+ command: string;
120
+ args?: string[];
121
+ env?: Record<string, string>;
122
+ transport?: 'stdio';
123
+ } | {
124
+ url: string;
125
+ headers?: Record<string, string>;
126
+ transport: 'sse' | 'streamable-http' | 'http';
127
+ } | {
128
+ type: 'http' | 'sse' | 'streamable-http';
129
+ url: string;
130
+ headers?: Record<string, string>;
131
+ };
132
+ export type MCPConfig = {
133
+ servers?: Record<string, MCPServerDefinition>;
134
+ mcpServers?: Record<string, MCPServerDefinition>;
135
+ };
136
+ export type MCPServerConfig = {
137
+ name: string;
138
+ transport: 'stdio' | 'sse' | 'streamable-http' | 'http';
139
+ command?: string;
140
+ args?: string[];
141
+ env?: Record<string, string>;
142
+ url?: string;
143
+ headers?: Record<string, string>;
144
+ };
145
+ type ClientRef = {
146
+ current: Client | null;
147
+ reconnecting: Promise<void> | null;
148
+ };
149
+ type ReconnectClient = (reason: string) => Promise<void>;
150
+ export interface MCPServerInstance {
151
+ id: string;
152
+ config: MCPServerConfig;
153
+ client: Client | null;
154
+ status: 'starting' | 'running' | 'stopping' | 'error';
155
+ referenceCount: number;
156
+ startedAt: Date;
157
+ lastHealthCheck: Date;
158
+ error?: Error;
159
+ associatedWorlds: Set<string>;
160
+ }
161
+ /**
162
+ * Tool cache entry for registry-level caching
163
+ * Caches tools at server level to avoid repeated fetching during ephemeral connections
164
+ */
165
+ export interface ToolCacheEntry {
166
+ tools: Record<string, any>;
167
+ cachedAt: Date;
168
+ serverConfigHash: string;
169
+ serverName: string;
170
+ ttl?: number;
171
+ clientRef: ClientRef;
172
+ reconnectClient: ReconnectClient;
173
+ serverConfig: MCPServerConfig;
174
+ }
175
+ export declare function validateToolSchema(schema: any): any;
176
+ /**
177
+ * Convert MCP config JSON format to normalized server configs
178
+ * Supports both 'servers' and 'mcpServers' field names
179
+ */
180
+ export declare function parseServersFromConfig(config: MCPConfig): MCPServerConfig[];
181
+ /**
182
+ * Connect to an MCP server using the specified configuration
183
+ */
184
+ export declare function connectMCPServer(serverConfig: MCPServerConfig): Promise<Client>;
185
+ /**
186
+ * Convert MCP tools to AI-compatible tool format with bulletproof schema protection
187
+ */
188
+ export declare function mcpToolsToAiTools(clientRef: ClientRef, serverConfig: MCPServerConfig, reconnectClient: ReconnectClient): Promise<Record<string, any>>;
189
+ /**
190
+ * Initialize MCP registry - called on Express app startup
191
+ */
192
+ export declare function initializeMCPRegistry(): void;
193
+ /**
194
+ * Register and start an MCP server with reference counting
195
+ * Returns the server ID for tracking. Reuses existing servers when possible.
196
+ */
197
+ export declare function registerMCPServer(config: MCPServerConfig, worldId: string): Promise<string>;
198
+ /**
199
+ * Unregister MCP server for a world - decreases reference count
200
+ * Schedules shutdown when no more references exist
201
+ */
202
+ export declare function unregisterMCPServer(serverId: string, worldId: string): Promise<boolean>;
203
+ /** Get MCP server instance by ID */
204
+ export declare function getMCPServer(serverId: string): MCPServerInstance | null;
205
+ /** List all MCP servers */
206
+ export declare function listMCPServers(): MCPServerInstance[];
207
+ /** Get server IDs for a specific world */
208
+ export declare function getMCPServersForWorld(worldId: string): string[];
209
+ /** Shutdown all MCP servers - called on Express app shutdown */
210
+ export declare function shutdownAllMCPServers(): Promise<void>;
211
+ /** Health check for MCP servers - can be called periodically */
212
+ export declare function performHealthCheck(): void;
213
+ /** Get registry statistics */
214
+ export declare function getMCPRegistryStats(): {
215
+ totalServers: number;
216
+ runningServers: number;
217
+ errorServers: number;
218
+ totalWorlds: number;
219
+ };
220
+ /** Validate MCP configuration format and content */
221
+ export declare function validateMCPConfig(config: any): config is MCPConfig;
222
+ /** Parse MCP configuration string safely */
223
+ export declare function parseMCPConfig(configString: string): MCPConfig | null;
224
+ /** Start MCP servers for a world based on its configuration */
225
+ export declare function startMCPServersForWorld(worldId: string, mcpConfig: string): Promise<string[]>;
226
+ /** Stop MCP servers for a world - decreases reference counts */
227
+ export declare function stopMCPServersForWorld(worldId: string): Promise<void>;
228
+ /** Update MCP servers for a world when configuration changes */
229
+ export declare function updateMCPServersForWorld(worldId: string, newMcpConfig: string): Promise<string[]>;
230
+ /**
231
+ * Get MCP tools available for a world with on-demand server startup
232
+ */
233
+ /**
234
+ * Get MCP tools available for a world with registry-level caching
235
+ * Uses cache-first strategy to avoid repeated tool fetching during ephemeral connections
236
+ * Includes built-in tools (`shell_cmd`, `load_skill`) in addition to MCP server tools
237
+ */
238
+ export declare function getMCPToolsForWorld(worldId: string): Promise<Record<string, any>>;
239
+ /**
240
+ * Execute MCP tool by server ID and tool name
241
+ *
242
+ * @param serverId - Server ID from registry
243
+ * @param toolName - Name of the tool to execute
244
+ * @param args - Tool arguments (will be validated if schema provided)
245
+ * @param sequenceId - Optional sequence ID for tracking
246
+ * @param parentToolCall - Optional parent tool call ID
247
+ * @param toolSchema - Optional tool input schema for parameter validation.
248
+ * If provided, applies validateAndCorrectToolArgs to fix
249
+ * common LLM parameter mistakes (string→array, string→number,
250
+ * invalid enums, etc.)
251
+ *
252
+ * @example
253
+ * // With validation (recommended for external callers)
254
+ * const schema = { properties: { limit: { type: 'number' } }, required: [] };
255
+ * const result = await executeMCPTool(serverId, 'searchAgents', args, seq, parent, schema);
256
+ *
257
+ * // Without validation (legacy behavior)
258
+ * const result = await executeMCPTool(serverId, 'searchAgents', args);
259
+ */
260
+ export declare function executeMCPTool(serverId: string, toolName: string, args: any, sequenceId?: string, parentToolCall?: string, toolSchema?: any): Promise<any>;
261
+ /**
262
+ * Restart MCP server by ID
263
+ */
264
+ export declare function restartMCPServer(serverId: string): Promise<boolean>;
265
+ /**
266
+ * Clear cached tools for specific server or all servers
267
+ * Useful for forcing cache refresh when server tools change
268
+ */
269
+ export declare function clearToolsCache(serverName?: string): Promise<void>;
270
+ /**
271
+ * Get tools cache statistics for monitoring and debugging
272
+ */
273
+ export declare function getToolsCacheStats(): {
274
+ totalEntries: number;
275
+ totalTools: number;
276
+ cacheSize: number;
277
+ oldestEntry?: {
278
+ serverName: string;
279
+ cachedAt: Date;
280
+ };
281
+ newestEntry?: {
282
+ serverName: string;
283
+ cachedAt: Date;
284
+ };
285
+ memoryUsage: {
286
+ approximate: string;
287
+ };
288
+ };
289
+ /**
290
+ * Refresh cached tools for a specific server (force cache miss on next access)
291
+ */
292
+ export declare function refreshServerToolsCache(serverName: string): Promise<boolean>;
293
+ /** Get MCP system health status */
294
+ export declare function getMCPSystemHealth(): {
295
+ status: 'healthy' | 'degraded' | 'unhealthy';
296
+ details: {
297
+ totalServers: number;
298
+ healthyServers: number;
299
+ unhealthyServers: number;
300
+ errors: string[];
301
+ };
302
+ };
303
+ export {};
304
+ //# sourceMappingURL=mcp-server-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server-registry.d.ts","sourceRoot":"","sources":["../../core/mcp-server-registry.ts"],"names":[],"mappings":"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"}