agent-world 0.13.0 → 0.15.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 (263) hide show
  1. package/README.md +90 -17
  2. package/dist/cli/commands.d.ts +7 -1
  3. package/dist/cli/commands.js +27 -10
  4. package/dist/cli/hitl.d.ts +4 -1
  5. package/dist/cli/hitl.js +55 -20
  6. package/dist/cli/index.js +249 -97
  7. package/dist/cli/system-events.d.ts +27 -0
  8. package/dist/cli/system-events.js +63 -0
  9. package/dist/core/activity-tracker.d.ts +26 -0
  10. package/dist/core/activity-tracker.d.ts.map +1 -1
  11. package/dist/core/activity-tracker.js +21 -4
  12. package/dist/core/activity-tracker.js.map +1 -1
  13. package/dist/core/anthropic-direct.d.ts +2 -0
  14. package/dist/core/anthropic-direct.d.ts.map +1 -1
  15. package/dist/core/anthropic-direct.js +43 -1
  16. package/dist/core/anthropic-direct.js.map +1 -1
  17. package/dist/core/chat-constants.d.ts +12 -0
  18. package/dist/core/chat-constants.d.ts.map +1 -1
  19. package/dist/core/chat-constants.js +5 -0
  20. package/dist/core/chat-constants.js.map +1 -1
  21. package/dist/core/create-agent-tool.d.ts +5 -0
  22. package/dist/core/create-agent-tool.d.ts.map +1 -1
  23. package/dist/core/create-agent-tool.js +57 -34
  24. package/dist/core/create-agent-tool.js.map +1 -1
  25. package/dist/core/events/index.d.ts +5 -2
  26. package/dist/core/events/index.d.ts.map +1 -1
  27. package/dist/core/events/index.js +5 -2
  28. package/dist/core/events/index.js.map +1 -1
  29. package/dist/core/events/memory-manager.d.ts +26 -1
  30. package/dist/core/events/memory-manager.d.ts.map +1 -1
  31. package/dist/core/events/memory-manager.js +877 -72
  32. package/dist/core/events/memory-manager.js.map +1 -1
  33. package/dist/core/events/orchestrator.d.ts +8 -0
  34. package/dist/core/events/orchestrator.d.ts.map +1 -1
  35. package/dist/core/events/orchestrator.js +203 -36
  36. package/dist/core/events/orchestrator.js.map +1 -1
  37. package/dist/core/events/persistence.d.ts +21 -14
  38. package/dist/core/events/persistence.d.ts.map +1 -1
  39. package/dist/core/events/persistence.js +100 -35
  40. package/dist/core/events/persistence.js.map +1 -1
  41. package/dist/core/events/publishers.d.ts +13 -7
  42. package/dist/core/events/publishers.d.ts.map +1 -1
  43. package/dist/core/events/publishers.js +53 -37
  44. package/dist/core/events/publishers.js.map +1 -1
  45. package/dist/core/events/subscribers.d.ts +17 -14
  46. package/dist/core/events/subscribers.d.ts.map +1 -1
  47. package/dist/core/events/subscribers.js +61 -148
  48. package/dist/core/events/subscribers.js.map +1 -1
  49. package/dist/core/events/title-scheduler.d.ts +27 -0
  50. package/dist/core/events/title-scheduler.d.ts.map +1 -0
  51. package/dist/core/events/title-scheduler.js +135 -0
  52. package/dist/core/events/title-scheduler.js.map +1 -0
  53. package/dist/core/events/tool-bridge-logging.d.ts +4 -1
  54. package/dist/core/events/tool-bridge-logging.d.ts.map +1 -1
  55. package/dist/core/events/tool-bridge-logging.js +112 -13
  56. package/dist/core/events/tool-bridge-logging.js.map +1 -1
  57. package/dist/core/events-metadata.d.ts.map +1 -1
  58. package/dist/core/events-metadata.js +8 -4
  59. package/dist/core/events-metadata.js.map +1 -1
  60. package/dist/core/export.d.ts +1 -1
  61. package/dist/core/export.d.ts.map +1 -1
  62. package/dist/core/export.js +2 -15
  63. package/dist/core/export.js.map +1 -1
  64. package/dist/core/feature-path-logging.d.ts +50 -0
  65. package/dist/core/feature-path-logging.d.ts.map +1 -0
  66. package/dist/core/feature-path-logging.js +130 -0
  67. package/dist/core/feature-path-logging.js.map +1 -0
  68. package/dist/core/file-tools.d.ts +57 -1
  69. package/dist/core/file-tools.d.ts.map +1 -1
  70. package/dist/core/file-tools.js +329 -29
  71. package/dist/core/file-tools.js.map +1 -1
  72. package/dist/core/google-direct.d.ts +6 -1
  73. package/dist/core/google-direct.d.ts.map +1 -1
  74. package/dist/core/google-direct.js +76 -7
  75. package/dist/core/google-direct.js.map +1 -1
  76. package/dist/core/heartbeat.d.ts +34 -0
  77. package/dist/core/heartbeat.d.ts.map +1 -0
  78. package/dist/core/heartbeat.js +153 -0
  79. package/dist/core/heartbeat.js.map +1 -0
  80. package/dist/core/hitl-tool.d.ts +6 -12
  81. package/dist/core/hitl-tool.d.ts.map +1 -1
  82. package/dist/core/hitl-tool.js +66 -88
  83. package/dist/core/hitl-tool.js.map +1 -1
  84. package/dist/core/hitl.d.ts +61 -4
  85. package/dist/core/hitl.d.ts.map +1 -1
  86. package/dist/core/hitl.js +324 -60
  87. package/dist/core/hitl.js.map +1 -1
  88. package/dist/core/index.d.ts +11 -7
  89. package/dist/core/index.d.ts.map +1 -1
  90. package/dist/core/index.js +10 -6
  91. package/dist/core/index.js.map +1 -1
  92. package/dist/core/llm-manager.d.ts +15 -0
  93. package/dist/core/llm-manager.d.ts.map +1 -1
  94. package/dist/core/llm-manager.js +325 -40
  95. package/dist/core/llm-manager.js.map +1 -1
  96. package/dist/core/load-skill-tool.d.ts +36 -3
  97. package/dist/core/load-skill-tool.d.ts.map +1 -1
  98. package/dist/core/load-skill-tool.js +807 -93
  99. package/dist/core/load-skill-tool.js.map +1 -1
  100. package/dist/core/logger.d.ts +14 -0
  101. package/dist/core/logger.d.ts.map +1 -1
  102. package/dist/core/logger.js +15 -0
  103. package/dist/core/logger.js.map +1 -1
  104. package/dist/core/managers.d.ts +18 -50
  105. package/dist/core/managers.d.ts.map +1 -1
  106. package/dist/core/managers.js +340 -502
  107. package/dist/core/managers.js.map +1 -1
  108. package/dist/core/mcp-server-registry.d.ts +16 -1
  109. package/dist/core/mcp-server-registry.d.ts.map +1 -1
  110. package/dist/core/mcp-server-registry.js +162 -12
  111. package/dist/core/mcp-server-registry.js.map +1 -1
  112. package/dist/core/message-cutoff.d.ts +29 -0
  113. package/dist/core/message-cutoff.d.ts.map +1 -0
  114. package/dist/core/message-cutoff.js +63 -0
  115. package/dist/core/message-cutoff.js.map +1 -0
  116. package/dist/core/message-edit-manager.d.ts +54 -0
  117. package/dist/core/message-edit-manager.d.ts.map +1 -0
  118. package/dist/core/message-edit-manager.js +602 -0
  119. package/dist/core/message-edit-manager.js.map +1 -0
  120. package/dist/core/message-prep.d.ts +2 -0
  121. package/dist/core/message-prep.d.ts.map +1 -1
  122. package/dist/core/message-prep.js +39 -12
  123. package/dist/core/message-prep.js.map +1 -1
  124. package/dist/core/message-processing-control.d.ts +1 -0
  125. package/dist/core/message-processing-control.d.ts.map +1 -1
  126. package/dist/core/message-processing-control.js +23 -6
  127. package/dist/core/message-processing-control.js.map +1 -1
  128. package/dist/core/openai-direct.d.ts +9 -3
  129. package/dist/core/openai-direct.d.ts.map +1 -1
  130. package/dist/core/openai-direct.js +267 -33
  131. package/dist/core/openai-direct.js.map +1 -1
  132. package/dist/core/optional-tracers/opik-runtime.d.ts +32 -0
  133. package/dist/core/optional-tracers/opik-runtime.d.ts.map +1 -0
  134. package/dist/core/optional-tracers/opik-runtime.js +141 -0
  135. package/dist/core/optional-tracers/opik-runtime.js.map +1 -0
  136. package/dist/core/queue-manager.d.ts +84 -0
  137. package/dist/core/queue-manager.d.ts.map +1 -0
  138. package/dist/core/queue-manager.js +814 -0
  139. package/dist/core/queue-manager.js.map +1 -0
  140. package/dist/core/reasoning-controls.d.ts +30 -0
  141. package/dist/core/reasoning-controls.d.ts.map +1 -0
  142. package/dist/core/reasoning-controls.js +118 -0
  143. package/dist/core/reasoning-controls.js.map +1 -0
  144. package/dist/core/reliability-config.d.ts +82 -0
  145. package/dist/core/reliability-config.d.ts.map +1 -0
  146. package/dist/core/reliability-config.js +106 -0
  147. package/dist/core/reliability-config.js.map +1 -0
  148. package/dist/core/reliability-runtime.d.ts +53 -0
  149. package/dist/core/reliability-runtime.d.ts.map +1 -0
  150. package/dist/core/reliability-runtime.js +92 -0
  151. package/dist/core/reliability-runtime.js.map +1 -0
  152. package/dist/core/security/guardrails.d.ts +21 -0
  153. package/dist/core/security/guardrails.d.ts.map +1 -0
  154. package/dist/core/security/guardrails.js +111 -0
  155. package/dist/core/security/guardrails.js.map +1 -0
  156. package/dist/core/send-message-tool.d.ts +79 -0
  157. package/dist/core/send-message-tool.d.ts.map +1 -0
  158. package/dist/core/send-message-tool.js +222 -0
  159. package/dist/core/send-message-tool.js.map +1 -0
  160. package/dist/core/shell-cmd-tool.d.ts +82 -1
  161. package/dist/core/shell-cmd-tool.d.ts.map +1 -1
  162. package/dist/core/shell-cmd-tool.js +854 -42
  163. package/dist/core/shell-cmd-tool.js.map +1 -1
  164. package/dist/core/skill-registry.d.ts +2 -0
  165. package/dist/core/skill-registry.d.ts.map +1 -1
  166. package/dist/core/skill-registry.js +52 -2
  167. package/dist/core/skill-registry.js.map +1 -1
  168. package/dist/core/storage/eventStorage/fileEventStorage.d.ts +5 -0
  169. package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -1
  170. package/dist/core/storage/eventStorage/fileEventStorage.js +61 -0
  171. package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -1
  172. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +5 -0
  173. package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -1
  174. package/dist/core/storage/eventStorage/memoryEventStorage.js +34 -0
  175. package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -1
  176. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +1 -0
  177. package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -1
  178. package/dist/core/storage/eventStorage/sqliteEventStorage.js +19 -2
  179. package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -1
  180. package/dist/core/storage/eventStorage/types.d.ts +6 -0
  181. package/dist/core/storage/eventStorage/types.d.ts.map +1 -1
  182. package/dist/core/storage/eventStorage/types.js +1 -0
  183. package/dist/core/storage/eventStorage/types.js.map +1 -1
  184. package/dist/core/storage/eventStorage/validation.d.ts.map +1 -1
  185. package/dist/core/storage/eventStorage/validation.js +2 -1
  186. package/dist/core/storage/eventStorage/validation.js.map +1 -1
  187. package/dist/core/storage/github-world-import.d.ts +84 -0
  188. package/dist/core/storage/github-world-import.d.ts.map +1 -0
  189. package/dist/core/storage/github-world-import.js +365 -0
  190. package/dist/core/storage/github-world-import.js.map +1 -0
  191. package/dist/core/storage/memory-storage.d.ts +19 -8
  192. package/dist/core/storage/memory-storage.d.ts.map +1 -1
  193. package/dist/core/storage/memory-storage.js +147 -49
  194. package/dist/core/storage/memory-storage.js.map +1 -1
  195. package/dist/core/storage/queue-storage.d.ts +1 -0
  196. package/dist/core/storage/queue-storage.d.ts.map +1 -1
  197. package/dist/core/storage/queue-storage.js +3 -2
  198. package/dist/core/storage/queue-storage.js.map +1 -1
  199. package/dist/core/storage/sqlite-storage.d.ts +14 -9
  200. package/dist/core/storage/sqlite-storage.d.ts.map +1 -1
  201. package/dist/core/storage/sqlite-storage.js +131 -154
  202. package/dist/core/storage/sqlite-storage.js.map +1 -1
  203. package/dist/core/storage/storage-factory.d.ts +3 -0
  204. package/dist/core/storage/storage-factory.d.ts.map +1 -1
  205. package/dist/core/storage/storage-factory.js +175 -89
  206. package/dist/core/storage/storage-factory.js.map +1 -1
  207. package/dist/core/storage/world-storage.d.ts +1 -1
  208. package/dist/core/storage/world-storage.d.ts.map +1 -1
  209. package/dist/core/storage/world-storage.js +5 -1
  210. package/dist/core/storage/world-storage.js.map +1 -1
  211. package/dist/core/storage-init.d.ts +11 -0
  212. package/dist/core/storage-init.d.ts.map +1 -0
  213. package/dist/core/storage-init.js +122 -0
  214. package/dist/core/storage-init.js.map +1 -0
  215. package/dist/core/subscription.d.ts +8 -1
  216. package/dist/core/subscription.d.ts.map +1 -1
  217. package/dist/core/subscription.js +130 -23
  218. package/dist/core/subscription.js.map +1 -1
  219. package/dist/core/tool-approval.d.ts +45 -0
  220. package/dist/core/tool-approval.d.ts.map +1 -0
  221. package/dist/core/tool-approval.js +223 -0
  222. package/dist/core/tool-approval.js.map +1 -0
  223. package/dist/core/tool-execution-envelope.d.ts +87 -0
  224. package/dist/core/tool-execution-envelope.d.ts.map +1 -0
  225. package/dist/core/tool-execution-envelope.js +168 -0
  226. package/dist/core/tool-execution-envelope.js.map +1 -0
  227. package/dist/core/tool-utils.d.ts +7 -2
  228. package/dist/core/tool-utils.d.ts.map +1 -1
  229. package/dist/core/tool-utils.js +81 -17
  230. package/dist/core/tool-utils.js.map +1 -1
  231. package/dist/core/types.d.ts +67 -19
  232. package/dist/core/types.d.ts.map +1 -1
  233. package/dist/core/types.js +3 -0
  234. package/dist/core/types.js.map +1 -1
  235. package/dist/core/utils.d.ts +7 -0
  236. package/dist/core/utils.d.ts.map +1 -1
  237. package/dist/core/utils.js +71 -21
  238. package/dist/core/utils.js.map +1 -1
  239. package/dist/core/web-fetch-tool.d.ts +72 -0
  240. package/dist/core/web-fetch-tool.d.ts.map +1 -0
  241. package/dist/core/web-fetch-tool.js +491 -0
  242. package/dist/core/web-fetch-tool.js.map +1 -0
  243. package/dist/core/world-registry.d.ts +84 -0
  244. package/dist/core/world-registry.d.ts.map +1 -0
  245. package/dist/core/world-registry.js +247 -0
  246. package/dist/core/world-registry.js.map +1 -0
  247. package/dist/public/assets/index-Be-1xtV-.js +104 -0
  248. package/dist/public/assets/index-tsDdiXDU.css +1 -0
  249. package/dist/public/index.html +2 -2
  250. package/dist/public/mcp-sandbox-proxy.html +148 -0
  251. package/dist/server/api.js +260 -18
  252. package/dist/server/error-response.d.ts +27 -0
  253. package/dist/server/error-response.js +77 -0
  254. package/dist/server/index.d.ts +2 -1
  255. package/dist/server/index.js +6 -2
  256. package/dist/server/sse-handler.d.ts +11 -1
  257. package/dist/server/sse-handler.js +194 -34
  258. package/migrations/0015_add_message_queue.sql +36 -0
  259. package/migrations/0016_add_world_heartbeat.sql +13 -0
  260. package/migrations/0017_add_title_provenance.sql +7 -0
  261. package/package.json +31 -10
  262. package/dist/public/assets/index-BW41BxMy.css +0 -1
  263. package/dist/public/assets/index-kO6UJFwK.js +0 -96
@@ -1 +1 @@
1
- {"version":3,"file":"managers.js","sourceRoot":"","sources":["../../core/managers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managers.js","sourceRoot":"","sources":["../../core/managers.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@
11
11
  * - LOG_MCP_EXECUTION=debug - Tool execution and results
12
12
  * - LOG_MCP=debug - Enable all MCP logs
13
13
  *
14
+ * Recent Changes:
15
+ * - 2026-03-17: Tightened remote MCP header validation so world config JSON accepts only string-to-string HTTP header maps.
16
+ * - 2026-03-06: Removed `world.currentChatId` fallback from retry-status routing; MCP retry status emits only when `context.chatId` is explicit.
17
+ *
14
18
  * What you'll see:
15
19
  * - Server lifecycle: start, stop, ready, shutdown
16
20
  * - Connection: transport creation, connection attempts
@@ -107,8 +111,13 @@
107
111
  * 2026-02-20: Added built-in `create_agent` tool registration for approval-gated agent creation.
108
112
  * 2026-02-14: Added built-in `load_skill` tool registration for progressive skill instruction loading.
109
113
  * 2026-02-19: Added built-in `create_agent` tool registration with approval-gated agent creation.
114
+ * 2026-03-04: Added built-in `send_message` tool registration for context-injected batch message dispatch.
115
+ * 2026-03-05: Hardened MCP tool discovery timeout handling with deterministic timeout errors and timer cleanup.
116
+ * 2026-03-05: Added bounded MCP execution reconnect retry policy with chat-scoped per-second retry status emissions during retry windows.
117
+ * 2026-03-05: Switched timeout/retry constants to shared reliability config.
110
118
  */
111
119
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
120
+ import { type World } from './types.js';
112
121
  /**
113
122
  * Sanitizes tool arguments by redacting sensitive information.
114
123
  * Protects passwords, keys, tokens, and other sensitive data.
@@ -149,6 +158,12 @@ type ClientRef = {
149
158
  reconnecting: Promise<void> | null;
150
159
  };
151
160
  type ReconnectClient = (reason: string) => Promise<void>;
161
+ interface ToolExecutionContext {
162
+ world?: World | null;
163
+ worldId?: string;
164
+ chatId?: string | null;
165
+ agentId?: string;
166
+ }
152
167
  export interface MCPServerInstance {
153
168
  id: string;
154
169
  config: MCPServerConfig;
@@ -259,7 +274,7 @@ export declare function getMCPToolsForWorld(worldId: string): Promise<Record<str
259
274
  * // Without validation (legacy behavior)
260
275
  * const result = await executeMCPTool(serverId, 'searchAgents', args);
261
276
  */
262
- export declare function executeMCPTool(serverId: string, toolName: string, args: any, sequenceId?: string, parentToolCall?: string, toolSchema?: any): Promise<any>;
277
+ export declare function executeMCPTool(serverId: string, toolName: string, args: any, sequenceId?: string, parentToolCall?: string, toolSchema?: any, executionContext?: ToolExecutionContext): Promise<any>;
263
278
  /**
264
279
  * Restart MCP server by ID
265
280
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server-registry.d.ts","sourceRoot":"","sources":["../../core/mcp-server-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server-registry.d.ts","sourceRoot":"","sources":["../../core/mcp-server-registry.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@
11
11
  * - LOG_MCP_EXECUTION=debug - Tool execution and results
12
12
  * - LOG_MCP=debug - Enable all MCP logs
13
13
  *
14
+ * Recent Changes:
15
+ * - 2026-03-17: Tightened remote MCP header validation so world config JSON accepts only string-to-string HTTP header maps.
16
+ * - 2026-03-06: Removed `world.currentChatId` fallback from retry-status routing; MCP retry status emits only when `context.chatId` is explicit.
17
+ *
14
18
  * What you'll see:
15
19
  * - Server lifecycle: start, stop, ready, shutdown
16
20
  * - Connection: transport creation, connection attempts
@@ -107,6 +111,10 @@
107
111
  * 2026-02-20: Added built-in `create_agent` tool registration for approval-gated agent creation.
108
112
  * 2026-02-14: Added built-in `load_skill` tool registration for progressive skill instruction loading.
109
113
  * 2026-02-19: Added built-in `create_agent` tool registration with approval-gated agent creation.
114
+ * 2026-03-04: Added built-in `send_message` tool registration for context-injected batch message dispatch.
115
+ * 2026-03-05: Hardened MCP tool discovery timeout handling with deterministic timeout errors and timer cleanup.
116
+ * 2026-03-05: Added bounded MCP execution reconnect retry policy with chat-scoped per-second retry status emissions during retry windows.
117
+ * 2026-03-05: Switched timeout/retry constants to shared reliability config.
110
118
  */
111
119
  import { createHash } from 'crypto';
112
120
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
@@ -119,8 +127,12 @@ import { createShellCmdToolDefinition } from './shell-cmd-tool.js';
119
127
  import { createLoadSkillToolDefinition } from './load-skill-tool.js';
120
128
  import { createCreateAgentToolDefinition } from './create-agent-tool.js';
121
129
  import { createHitlToolDefinition } from './hitl-tool.js';
122
- import { createReadFileToolDefinition, createListFilesToolDefinition, createGrepToolDefinition, } from './file-tools.js';
130
+ import { createWebFetchToolDefinition } from './web-fetch-tool.js';
131
+ import { createSendMessageToolDefinition } from './send-message-tool.js';
132
+ import { createReadFileToolDefinition, createWriteFileToolDefinition, createListFilesToolDefinition, createGrepToolDefinition, } from './file-tools.js';
123
133
  import { wrapToolWithValidation } from './tool-utils.js';
134
+ import { RELIABILITY_CONFIG } from './reliability-config.js';
135
+ import { startChatScopedWaitStatusEmitter } from './reliability-runtime.js';
124
136
  // Scenario-based loggers for different MCP operations
125
137
  const lifecycleLogger = createCategoryLogger('mcp.lifecycle');
126
138
  const connectionLogger = createCategoryLogger('mcp.connection');
@@ -302,6 +314,17 @@ function isMCPErrorResponse(response) {
302
314
  }
303
315
  return null;
304
316
  }
317
+ function isValidHeaderMap(headers) {
318
+ if (headers === undefined) {
319
+ return true;
320
+ }
321
+ if (!headers || typeof headers !== 'object' || Array.isArray(headers)) {
322
+ return false;
323
+ }
324
+ return Object.entries(headers).every(([headerName, headerValue]) => {
325
+ return headerName.trim().length > 0 && typeof headerValue === 'string';
326
+ });
327
+ }
305
328
  function isConnectionLevelError(error) {
306
329
  if (!error || typeof error !== 'object') {
307
330
  return false;
@@ -323,6 +346,74 @@ function isConnectionLevelError(error) {
323
346
  ];
324
347
  return CONNECTION_KEYWORDS.some(keyword => lower.includes(keyword) || errorCode.includes(keyword));
325
348
  }
349
+ function getMCPExecutionRetryDelayMs(failedAttempt) {
350
+ if (RELIABILITY_CONFIG.mcp.executionRetryBaseDelayMs <= 0)
351
+ return 0;
352
+ const normalizedAttempt = Math.max(1, Math.floor(failedAttempt));
353
+ return RELIABILITY_CONFIG.mcp.executionRetryBaseDelayMs * Math.pow(2, normalizedAttempt - 1);
354
+ }
355
+ async function resolveRetryStatusWorld(context) {
356
+ if (context?.world)
357
+ return context.world;
358
+ const worldId = String(context?.worldId || '').trim();
359
+ if (!worldId)
360
+ return null;
361
+ try {
362
+ return await getWorld(worldId);
363
+ }
364
+ catch {
365
+ return null;
366
+ }
367
+ }
368
+ function resolveRetryStatusChatId(context, _world) {
369
+ const fromContext = typeof context?.chatId === 'string' ? context.chatId.trim() : '';
370
+ if (fromContext)
371
+ return fromContext;
372
+ return null;
373
+ }
374
+ function buildMCPRetryStatusContent(params) {
375
+ return `MCP tool retry scheduled for ${params.serverName}.${params.toolName}: attempt ${params.attempt}/${params.maxAttempts}, remaining attempts ${params.attemptsRemaining}, elapsed ${params.elapsedSeconds}s, next retry in ${params.remainingSeconds}s.`;
376
+ }
377
+ function createMCPRetryExhaustedError(params) {
378
+ const error = new Error(`MCP transport retry exhausted after ${params.attempts} attempts for ${params.serverName}.${params.toolName}: ${params.errorMessage}`);
379
+ error.name = 'MCPRetryExhaustedError';
380
+ error.code = 'MCP_RETRY_EXHAUSTED';
381
+ error.category = 'retry_exhausted';
382
+ return error;
383
+ }
384
+ async function waitForMCPRetryWindow(params) {
385
+ const delayMs = Math.max(0, Math.floor(params.delayMs));
386
+ if (delayMs <= 0)
387
+ return;
388
+ const world = await resolveRetryStatusWorld(params.context);
389
+ const chatId = resolveRetryStatusChatId(params.context, world);
390
+ const emitter = startChatScopedWaitStatusEmitter({
391
+ world,
392
+ chatId,
393
+ phase: 'mcp_retry',
394
+ reason: 'transport_error',
395
+ durationMs: delayMs,
396
+ attempt: params.attempt,
397
+ maxAttempts: params.maxAttempts,
398
+ contentBuilder: (snapshot) => {
399
+ return buildMCPRetryStatusContent({
400
+ serverName: params.serverName,
401
+ toolName: params.toolName,
402
+ attempt: snapshot.attempt ?? params.attempt,
403
+ maxAttempts: snapshot.maxAttempts ?? params.maxAttempts,
404
+ attemptsRemaining: snapshot.attemptsRemaining ?? Math.max(0, params.maxAttempts - params.attempt),
405
+ elapsedSeconds: snapshot.elapsedSeconds,
406
+ remainingSeconds: snapshot.remainingSeconds ?? 0,
407
+ });
408
+ },
409
+ });
410
+ try {
411
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
412
+ }
413
+ finally {
414
+ emitter.stop();
415
+ }
416
+ }
326
417
  async function safelyCloseClient(client, context) {
327
418
  if (!client) {
328
419
  return;
@@ -748,12 +839,22 @@ export async function mcpToolsToAiTools(clientRef, serverConfig, reconnectClient
748
839
  transport
749
840
  });
750
841
  let toolsResponse;
751
- // Use MCP SDK client with timeout
842
+ // Use MCP SDK client with a hard timeout to avoid indefinite discovery hangs.
752
843
  const listToolsPromise = ensureClient().listTools();
844
+ let listToolsTimeoutHandle;
753
845
  const timeoutPromise = new Promise((_, reject) => {
754
- setTimeout(() => reject(new Error('Timeout waiting for tools list')), 5000);
846
+ listToolsTimeoutHandle = setTimeout(() => {
847
+ reject(new Error(`MCP tool discovery timeout after ${RELIABILITY_CONFIG.mcp.discoveryTimeoutMs}ms for server ${serverName}`));
848
+ }, RELIABILITY_CONFIG.mcp.discoveryTimeoutMs);
755
849
  });
756
- toolsResponse = await Promise.race([listToolsPromise, timeoutPromise]);
850
+ try {
851
+ toolsResponse = await Promise.race([listToolsPromise, timeoutPromise]);
852
+ }
853
+ finally {
854
+ if (listToolsTimeoutHandle) {
855
+ clearTimeout(listToolsTimeoutHandle);
856
+ }
857
+ }
757
858
  const { tools } = toolsResponse;
758
859
  // Debug log: Tools data received from MCP server
759
860
  logger.debug(`MCP server tools list response`, {
@@ -796,7 +897,9 @@ export async function mcpToolsToAiTools(clientRef, serverConfig, reconnectClient
796
897
  execute: async (args, sequenceId, parentToolCall, context) => {
797
898
  const startTime = performance.now();
798
899
  const executionId = `${serverName}-${t.name}-${Date.now()}`;
799
- const chatId = context?.chatId ?? context?.world?.currentChatId ?? null;
900
+ const chatId = typeof context?.chatId === 'string' && context.chatId.trim()
901
+ ? context.chatId.trim()
902
+ : null;
800
903
  const worldId = context?.worldId ?? context?.world?.id ?? null;
801
904
  const agentId = context?.agentId ?? null;
802
905
  logger.debug(`MCP tool execution starting via AI conversion`, {
@@ -827,7 +930,7 @@ export async function mcpToolsToAiTools(clientRef, serverConfig, reconnectClient
827
930
  toolName: t.name,
828
931
  requestPayload: JSON.stringify(requestPayload, null, 2)
829
932
  });
830
- const maxAttempts = 2;
933
+ const maxAttempts = RELIABILITY_CONFIG.mcp.executionMaxAttempts;
831
934
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
832
935
  try {
833
936
  const res = await ensureClient().callTool(requestPayload);
@@ -900,6 +1003,7 @@ export async function mcpToolsToAiTools(clientRef, serverConfig, reconnectClient
900
1003
  const isLastAttempt = attempt === maxAttempts - 1;
901
1004
  const shouldRetry = !isLastAttempt && isConnectionLevelError(error);
902
1005
  if (shouldRetry) {
1006
+ const retryDelayMs = getMCPExecutionRetryDelayMs(attempt + 1);
903
1007
  logger.warn(`MCP tool execution detected transport issue - attempting reconnect`, {
904
1008
  executionId,
905
1009
  serverName,
@@ -908,12 +1012,21 @@ export async function mcpToolsToAiTools(clientRef, serverConfig, reconnectClient
908
1012
  status: 'retrying',
909
1013
  attempt: attempt + 1,
910
1014
  maxAttempts,
1015
+ nextAttemptInMs: retryDelayMs,
911
1016
  duration: Math.round(duration * 100) / 100,
912
1017
  error: errorMessage,
913
1018
  transport
914
1019
  });
915
1020
  try {
916
1021
  await reconnectClient('call-tool-failure');
1022
+ await waitForMCPRetryWindow({
1023
+ delayMs: retryDelayMs,
1024
+ serverName,
1025
+ toolName: t.name,
1026
+ attempt: attempt + 1,
1027
+ maxAttempts,
1028
+ context,
1029
+ });
917
1030
  continue;
918
1031
  }
919
1032
  catch (reconnectError) {
@@ -928,6 +1041,14 @@ export async function mcpToolsToAiTools(clientRef, serverConfig, reconnectClient
928
1041
  throw reconnectError;
929
1042
  }
930
1043
  }
1044
+ if (isLastAttempt && isConnectionLevelError(error)) {
1045
+ throw createMCPRetryExhaustedError({
1046
+ serverName,
1047
+ toolName: t.name,
1048
+ attempts: maxAttempts,
1049
+ errorMessage,
1050
+ });
1051
+ }
931
1052
  logger.error(`MCP tool execution failed via AI conversion: ${errorMessage}`, {
932
1053
  executionId,
933
1054
  serverName,
@@ -1212,15 +1333,16 @@ export function validateMCPConfig(config) {
1212
1333
  if (!config?.servers && !config?.mcpServers)
1213
1334
  return false;
1214
1335
  const serverDefs = config.servers || config.mcpServers;
1215
- if (typeof serverDefs !== 'object')
1336
+ if (!serverDefs || typeof serverDefs !== 'object' || Array.isArray(serverDefs))
1216
1337
  return false;
1217
1338
  for (const [serverName, server] of Object.entries(serverDefs)) {
1218
1339
  if (!serverName || !server || typeof server !== 'object')
1219
1340
  return false;
1220
1341
  const serverConfig = server;
1342
+ const hasUrl = typeof serverConfig.url === 'string' && serverConfig.url.length > 0;
1221
1343
  const transport = serverConfig.transport ||
1222
1344
  (serverConfig.type === 'http' ? 'streamable-http' : serverConfig.type) ||
1223
- 'stdio';
1345
+ (hasUrl ? 'streamable-http' : 'stdio');
1224
1346
  if (!['stdio', 'sse', 'streamable-http', 'http'].includes(transport))
1225
1347
  return false;
1226
1348
  if (transport === 'stdio') {
@@ -1231,6 +1353,8 @@ export function validateMCPConfig(config) {
1231
1353
  if (!serverConfig.url || typeof serverConfig.url !== 'string')
1232
1354
  return false;
1233
1355
  }
1356
+ if (!isValidHeaderMap(serverConfig.headers))
1357
+ return false;
1234
1358
  }
1235
1359
  return true;
1236
1360
  }
@@ -1332,8 +1456,11 @@ export async function updateMCPServersForWorld(worldId, newMcpConfig) {
1332
1456
  * - shell_cmd: Execute shell commands
1333
1457
  * - load_skill: Load full SKILL.md instructions by registry skill_id
1334
1458
  * - create_agent: Create a new agent after explicit user approval
1335
- * - human_intervention_request: Ask a human question with options and optional confirmation
1459
+ * - human_intervention_request: Ask a human question with options (single-step selection)
1460
+ * - send_message: Dispatch message arrays to the active world/chat context
1461
+ * - web_fetch: Fetch URL content and convert to markdown
1336
1462
  * - read_file: Read file contents with pagination controls
1463
+ * - write_file: Write text content into files within trusted scope
1337
1464
  * - list_files: List directory entries
1338
1465
  * - grep: Recursive text search across files
1339
1466
  *
@@ -1344,7 +1471,10 @@ function getBuiltInTools() {
1344
1471
  const loadSkillTool = createLoadSkillToolDefinition();
1345
1472
  const createAgentTool = createCreateAgentToolDefinition();
1346
1473
  const hitlTool = createHitlToolDefinition();
1474
+ const sendMessageTool = createSendMessageToolDefinition();
1475
+ const webFetchTool = createWebFetchToolDefinition();
1347
1476
  const readFileTool = createReadFileToolDefinition();
1477
+ const writeFileTool = createWriteFileToolDefinition();
1348
1478
  const listFilesTool = createListFilesToolDefinition();
1349
1479
  const grepTool = createGrepToolDefinition();
1350
1480
  return {
@@ -1352,10 +1482,12 @@ function getBuiltInTools() {
1352
1482
  'load_skill': wrapToolWithValidation(loadSkillTool, 'load_skill'),
1353
1483
  'create_agent': wrapToolWithValidation(createAgentTool, 'create_agent'),
1354
1484
  'human_intervention_request': wrapToolWithValidation(hitlTool, 'human_intervention_request'),
1485
+ 'send_message': wrapToolWithValidation(sendMessageTool, 'send_message'),
1486
+ 'web_fetch': wrapToolWithValidation(webFetchTool, 'web_fetch'),
1355
1487
  'read_file': wrapToolWithValidation(readFileTool, 'read_file'),
1488
+ 'write_file': wrapToolWithValidation(writeFileTool, 'write_file'),
1356
1489
  'list_files': wrapToolWithValidation(listFilesTool, 'list_files'),
1357
1490
  'grep': wrapToolWithValidation(grepTool, 'grep'),
1358
- 'grep_search': wrapToolWithValidation(grepTool, 'grep_search'),
1359
1491
  };
1360
1492
  }
1361
1493
  /**
@@ -1476,7 +1608,7 @@ export async function getMCPToolsForWorld(worldId) {
1476
1608
  * // Without validation (legacy behavior)
1477
1609
  * const result = await executeMCPTool(serverId, 'searchAgents', args);
1478
1610
  */
1479
- export async function executeMCPTool(serverId, toolName, args, sequenceId, parentToolCall, toolSchema) {
1611
+ export async function executeMCPTool(serverId, toolName, args, sequenceId, parentToolCall, toolSchema, executionContext) {
1480
1612
  const serverInstance = serverRegistry.get(serverId);
1481
1613
  if (!serverInstance) {
1482
1614
  throw new Error(`MCP server not found: ${serverId.slice(0, 8)}`);
@@ -1520,7 +1652,7 @@ export async function executeMCPTool(serverId, toolName, args, sequenceId, paren
1520
1652
  serverName: serverInstance.config.name,
1521
1653
  requestPayload: JSON.stringify(requestPayload, null, 2)
1522
1654
  });
1523
- const maxAttempts = 2;
1655
+ const maxAttempts = RELIABILITY_CONFIG.mcp.executionMaxAttempts;
1524
1656
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
1525
1657
  if (!serverInstance.client) {
1526
1658
  throw new Error(`MCP server not available: ${serverInstance.config.name} (client disconnected)`);
@@ -1575,6 +1707,7 @@ export async function executeMCPTool(serverId, toolName, args, sequenceId, paren
1575
1707
  const isLastAttempt = attempt === maxAttempts - 1;
1576
1708
  const shouldRetry = !isLastAttempt && isConnectionLevelError(error);
1577
1709
  if (shouldRetry) {
1710
+ const retryDelayMs = getMCPExecutionRetryDelayMs(attempt + 1);
1578
1711
  logger.warn(`MCP tool execution detected transport issue - attempting direct reconnect`, {
1579
1712
  executionId,
1580
1713
  serverId: serverId.slice(0, 8),
@@ -1583,6 +1716,7 @@ export async function executeMCPTool(serverId, toolName, args, sequenceId, paren
1583
1716
  status: 'retrying',
1584
1717
  attempt: attempt + 1,
1585
1718
  maxAttempts,
1719
+ nextAttemptInMs: retryDelayMs,
1586
1720
  duration: Math.round(duration * 100) / 100,
1587
1721
  error: errorMessage
1588
1722
  });
@@ -1595,6 +1729,14 @@ export async function executeMCPTool(serverId, toolName, args, sequenceId, paren
1595
1729
  serverInstance.client = await connectMCPServer(serverInstance.config);
1596
1730
  serverInstance.status = 'running';
1597
1731
  serverInstance.lastHealthCheck = new Date();
1732
+ await waitForMCPRetryWindow({
1733
+ delayMs: retryDelayMs,
1734
+ serverName: serverInstance.config.name,
1735
+ toolName,
1736
+ attempt: attempt + 1,
1737
+ maxAttempts,
1738
+ context: executionContext,
1739
+ });
1598
1740
  continue;
1599
1741
  }
1600
1742
  catch (reconnectError) {
@@ -1611,6 +1753,14 @@ export async function executeMCPTool(serverId, toolName, args, sequenceId, paren
1611
1753
  throw reconnectError;
1612
1754
  }
1613
1755
  }
1756
+ if (isLastAttempt && isConnectionLevelError(error)) {
1757
+ throw createMCPRetryExhaustedError({
1758
+ serverName: serverInstance.config.name,
1759
+ toolName,
1760
+ attempts: maxAttempts,
1761
+ errorMessage,
1762
+ });
1763
+ }
1614
1764
  logger.error(`MCP tool execution failed: ${errorMessage}`, {
1615
1765
  executionId,
1616
1766
  serverId: serverId.slice(0, 8),