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":"subscription.js","sourceRoot":"","sources":["../../core/subscription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Tool Utilities Module - Helper functions for tool/function call handling
3
+ *
4
+ * Features:
5
+ * - Validates tool/function call names before execution
6
+ * - Filters out calls with empty or missing names
7
+ * - Creates error tool results for malformed calls
8
+ * - Emits SSE events for tool errors
9
+ * - Universal parameter validation for all tool types
10
+ *
11
+ * Implementation Details:
12
+ * - Uses minimal fallback ID generator to avoid external dependencies
13
+ * - Creates role='tool' messages for conversation history
14
+ * - Publishes tool-error SSE events to surface problems
15
+ * - Best-effort error reporting to avoid cascading failures
16
+ * - Consistent parameter validation for both MCP and built-in tools
17
+ *
18
+ * Recent Changes:
19
+ * - 2026-02-19: Added `create_agent` alias normalization (`auto-reply`/`auto_reply` -> `autoReply`, `next agent`/`next-agent`/`next_agent` -> `nextAgent`).
20
+ * - 2026-02-19: Added parameter alias normalization for `read_file`/`read_files` (`path` -> `filePath`) and `grep` path aliases (`path` -> `directoryPath`) to align with shell-style path handling.
21
+ * - 2026-02-06: Removed legacy manual tool-intervention functionality
22
+ * - Simplified wrapToolWithValidation to focus on parameter validation only
23
+ * - Initial implementation for empty/missing name validation
24
+ */
25
+ import { World, Agent, ChatMessage } from './types.js';
26
+ /**
27
+ * Minimal fallback ID generator
28
+ * Generates a simple unique identifier without external dependencies
29
+ * Exported for use in non-streaming handlers
30
+ */
31
+ export declare function generateFallbackId(): string;
32
+ /**
33
+ * Function call interface for validation
34
+ */
35
+ interface FunctionCall {
36
+ id?: string;
37
+ type?: string;
38
+ function?: {
39
+ name?: string;
40
+ arguments?: string;
41
+ };
42
+ }
43
+ /**
44
+ * Filter and handle function calls with empty or missing names
45
+ *
46
+ * @param functionCalls - Array of function calls to validate
47
+ * @param world - World context for event publishing
48
+ * @param agent - Agent making the calls
49
+ * @param messageId - Message ID for tracking
50
+ * @returns Object with validCalls array and toolResults array for invalid calls
51
+ */
52
+ export declare function filterAndHandleEmptyNamedFunctionCalls(functionCalls: FunctionCall[], world: World, agent: Agent, messageId: string): {
53
+ validCalls: FunctionCall[];
54
+ toolResults: ChatMessage[];
55
+ };
56
+ /**
57
+ * Validate tool parameters against schema before execution
58
+ * Provides consistent validation for both MCP and built-in tools
59
+ *
60
+ * @param args - Tool arguments to validate
61
+ * @param toolSchema - Tool parameter schema with type and required information
62
+ * @param toolName - Name of the tool (for logging)
63
+ * @returns Validation result with corrected args or error details
64
+ */
65
+ export declare function validateToolParameters(args: any, toolSchema: any, toolName: string): {
66
+ valid: boolean;
67
+ correctedArgs?: any;
68
+ error?: string;
69
+ };
70
+ /**
71
+ * Wrap tool execution with universal parameter validation
72
+ * Provides a standardized validation layer for all tools
73
+ *
74
+ * @param tool - Tool object with execute function and parameters schema
75
+ * @param toolName - Name of the tool (for logging and error reporting)
76
+ * @returns Wrapped tool with validation
77
+ */
78
+ export declare function wrapToolWithValidation(tool: any, toolName: string): any;
79
+ export {};
80
+ //# sourceMappingURL=tool-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../core/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAC;AAmFtE;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,wBAAgB,sCAAsC,CACpD,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,GAChB;IAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IAAC,WAAW,EAAE,WAAW,EAAE,CAAA;CAAE,CAwC5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG;IACpF,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAqGA;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CAyBvE"}
@@ -0,0 +1,273 @@
1
+ /**
2
+ * Tool Utilities Module - Helper functions for tool/function call handling
3
+ *
4
+ * Features:
5
+ * - Validates tool/function call names before execution
6
+ * - Filters out calls with empty or missing names
7
+ * - Creates error tool results for malformed calls
8
+ * - Emits SSE events for tool errors
9
+ * - Universal parameter validation for all tool types
10
+ *
11
+ * Implementation Details:
12
+ * - Uses minimal fallback ID generator to avoid external dependencies
13
+ * - Creates role='tool' messages for conversation history
14
+ * - Publishes tool-error SSE events to surface problems
15
+ * - Best-effort error reporting to avoid cascading failures
16
+ * - Consistent parameter validation for both MCP and built-in tools
17
+ *
18
+ * Recent Changes:
19
+ * - 2026-02-19: Added `create_agent` alias normalization (`auto-reply`/`auto_reply` -> `autoReply`, `next agent`/`next-agent`/`next_agent` -> `nextAgent`).
20
+ * - 2026-02-19: Added parameter alias normalization for `read_file`/`read_files` (`path` -> `filePath`) and `grep` path aliases (`path` -> `directoryPath`) to align with shell-style path handling.
21
+ * - 2026-02-06: Removed legacy manual tool-intervention functionality
22
+ * - Simplified wrapToolWithValidation to focus on parameter validation only
23
+ * - Initial implementation for empty/missing name validation
24
+ */
25
+ import { publishToolEvent } from './events/index.js';
26
+ function normalizeKnownParameterAliases(toolName, args) {
27
+ if (!args || typeof args !== 'object') {
28
+ return { normalizedArgs: args, corrections: [] };
29
+ }
30
+ const normalizedArgs = { ...args };
31
+ const corrections = [];
32
+ if (toolName === 'list_files' && normalizedArgs.path === undefined && normalizedArgs.directory !== undefined) {
33
+ normalizedArgs.path = normalizedArgs.directory;
34
+ delete normalizedArgs.directory;
35
+ corrections.push("directory -> path");
36
+ }
37
+ if ((toolName === 'read_file' || toolName === 'read_files')
38
+ && normalizedArgs.filePath === undefined
39
+ && normalizedArgs.path !== undefined) {
40
+ normalizedArgs.filePath = normalizedArgs.path;
41
+ delete normalizedArgs.path;
42
+ corrections.push("path -> filePath");
43
+ }
44
+ if ((toolName === 'grep' || toolName === 'grep_search')
45
+ && normalizedArgs.directoryPath === undefined
46
+ && normalizedArgs.directory !== undefined) {
47
+ normalizedArgs.directoryPath = normalizedArgs.directory;
48
+ delete normalizedArgs.directory;
49
+ corrections.push("directory -> directoryPath");
50
+ }
51
+ if ((toolName === 'grep' || toolName === 'grep_search')
52
+ && normalizedArgs.directoryPath === undefined
53
+ && normalizedArgs.path !== undefined) {
54
+ normalizedArgs.directoryPath = normalizedArgs.path;
55
+ delete normalizedArgs.path;
56
+ corrections.push("path -> directoryPath");
57
+ }
58
+ if (toolName === 'create_agent') {
59
+ if (normalizedArgs.autoReply === undefined) {
60
+ if (normalizedArgs['auto-reply'] !== undefined) {
61
+ normalizedArgs.autoReply = normalizedArgs['auto-reply'];
62
+ corrections.push("auto-reply -> autoReply");
63
+ }
64
+ else if (normalizedArgs.auto_reply !== undefined) {
65
+ normalizedArgs.autoReply = normalizedArgs.auto_reply;
66
+ corrections.push("auto_reply -> autoReply");
67
+ }
68
+ }
69
+ delete normalizedArgs['auto-reply'];
70
+ delete normalizedArgs.auto_reply;
71
+ if (normalizedArgs.nextAgent === undefined) {
72
+ if (normalizedArgs['next agent'] !== undefined) {
73
+ normalizedArgs.nextAgent = normalizedArgs['next agent'];
74
+ corrections.push("next agent -> nextAgent");
75
+ }
76
+ else if (normalizedArgs['next-agent'] !== undefined) {
77
+ normalizedArgs.nextAgent = normalizedArgs['next-agent'];
78
+ corrections.push("next-agent -> nextAgent");
79
+ }
80
+ else if (normalizedArgs.next_agent !== undefined) {
81
+ normalizedArgs.nextAgent = normalizedArgs.next_agent;
82
+ corrections.push("next_agent -> nextAgent");
83
+ }
84
+ }
85
+ delete normalizedArgs['next agent'];
86
+ delete normalizedArgs['next-agent'];
87
+ delete normalizedArgs.next_agent;
88
+ }
89
+ return { normalizedArgs, corrections };
90
+ }
91
+ /**
92
+ * Minimal fallback ID generator
93
+ * Generates a simple unique identifier without external dependencies
94
+ * Exported for use in non-streaming handlers
95
+ */
96
+ export function generateFallbackId() {
97
+ return 'tc-' + Math.random().toString(36).substring(2, 11) + '-' + Date.now().toString(36);
98
+ }
99
+ /**
100
+ * Filter and handle function calls with empty or missing names
101
+ *
102
+ * @param functionCalls - Array of function calls to validate
103
+ * @param world - World context for event publishing
104
+ * @param agent - Agent making the calls
105
+ * @param messageId - Message ID for tracking
106
+ * @returns Object with validCalls array and toolResults array for invalid calls
107
+ */
108
+ export function filterAndHandleEmptyNamedFunctionCalls(functionCalls, world, agent, messageId) {
109
+ const validCalls = [];
110
+ const toolResults = [];
111
+ for (const call of functionCalls) {
112
+ const toolName = call.function?.name || '';
113
+ const toolCallId = call.id || generateFallbackId();
114
+ // Check if name is missing or empty
115
+ if (!toolName || toolName.trim() === '') {
116
+ // Create tool result message for conversation history
117
+ toolResults.push({
118
+ role: 'tool',
119
+ content: `Error: Malformed tool call - empty or missing tool name. Tool call ID: ${toolCallId}`,
120
+ tool_call_id: toolCallId,
121
+ });
122
+ // Emit tool-error event on world channel (best-effort)
123
+ try {
124
+ publishToolEvent(world, {
125
+ agentName: agent.id || agent.name || 'unknown',
126
+ type: 'tool-error',
127
+ messageId,
128
+ toolExecution: {
129
+ toolName,
130
+ toolCallId,
131
+ error: 'empty tool name from LLM',
132
+ },
133
+ });
134
+ }
135
+ catch (error) {
136
+ // Best-effort: don't throw if event publishing fails
137
+ console.error('Failed to publish tool-error event:', error);
138
+ }
139
+ }
140
+ else {
141
+ // Valid call with non-empty name
142
+ validCalls.push(call);
143
+ }
144
+ }
145
+ return { validCalls, toolResults };
146
+ }
147
+ /**
148
+ * Validate tool parameters against schema before execution
149
+ * Provides consistent validation for both MCP and built-in tools
150
+ *
151
+ * @param args - Tool arguments to validate
152
+ * @param toolSchema - Tool parameter schema with type and required information
153
+ * @param toolName - Name of the tool (for logging)
154
+ * @returns Validation result with corrected args or error details
155
+ */
156
+ export function validateToolParameters(args, toolSchema, toolName) {
157
+ if (!toolSchema || !toolSchema.properties) {
158
+ console.debug(`No schema validation for tool: ${toolName}`);
159
+ return { valid: true, correctedArgs: args };
160
+ }
161
+ if (!args || typeof args !== 'object') {
162
+ return {
163
+ valid: false,
164
+ error: `Tool arguments must be an object, got: ${typeof args}`
165
+ };
166
+ }
167
+ const aliasNormalization = normalizeKnownParameterAliases(toolName, args);
168
+ const normalizedArgs = aliasNormalization.normalizedArgs;
169
+ const corrected = {};
170
+ const corrections = [];
171
+ corrections.push(...aliasNormalization.corrections);
172
+ const requiredParams = toolSchema.required || [];
173
+ const errors = [];
174
+ // Check required parameters
175
+ for (const requiredParam of requiredParams) {
176
+ if (normalizedArgs[requiredParam] === undefined
177
+ || normalizedArgs[requiredParam] === null
178
+ || normalizedArgs[requiredParam] === '') {
179
+ errors.push(`Required parameter '${requiredParam}' is missing or empty`);
180
+ }
181
+ }
182
+ // Validate and correct parameter types
183
+ for (const [key, value] of Object.entries(normalizedArgs)) {
184
+ const propSchema = toolSchema.properties[key];
185
+ if (!propSchema) {
186
+ // Property not in schema - pass through as-is
187
+ corrected[key] = value;
188
+ continue;
189
+ }
190
+ // Skip null/undefined values for optional parameters
191
+ if ((value === null || value === undefined) && !requiredParams.includes(key)) {
192
+ corrections.push(`${key}: null/undefined omitted (optional parameter)`);
193
+ continue;
194
+ }
195
+ // Type correction: string to array
196
+ if (propSchema.type === 'array' && typeof value === 'string' && value !== '') {
197
+ corrected[key] = [value];
198
+ corrections.push(`${key}: string -> array`);
199
+ continue;
200
+ }
201
+ // Type validation: array
202
+ if (propSchema.type === 'array' && !Array.isArray(value)) {
203
+ if (requiredParams.includes(key)) {
204
+ errors.push(`Parameter '${key}' must be an array, got: ${typeof value}`);
205
+ continue;
206
+ }
207
+ }
208
+ // Type correction: string to number
209
+ if (propSchema.type === 'number' && typeof value === 'string') {
210
+ const numValue = parseFloat(value);
211
+ if (!isNaN(numValue)) {
212
+ corrected[key] = numValue;
213
+ corrections.push(`${key}: "${value}" -> ${numValue}`);
214
+ continue;
215
+ }
216
+ }
217
+ // Type validation: string
218
+ if (propSchema.type === 'string' && typeof value !== 'string') {
219
+ if (requiredParams.includes(key)) {
220
+ errors.push(`Parameter '${key}' must be a string, got: ${typeof value}`);
221
+ continue;
222
+ }
223
+ }
224
+ // Pass through valid values
225
+ corrected[key] = value;
226
+ }
227
+ if (corrections.length > 0) {
228
+ console.debug(`Tool parameter corrections for ${toolName}:`, corrections);
229
+ }
230
+ if (errors.length > 0) {
231
+ console.debug(`Tool parameter validation errors for ${toolName}:`, errors);
232
+ return {
233
+ valid: false,
234
+ error: errors.join('; ')
235
+ };
236
+ }
237
+ return {
238
+ valid: true,
239
+ correctedArgs: corrected
240
+ };
241
+ }
242
+ /**
243
+ * Wrap tool execution with universal parameter validation
244
+ * Provides a standardized validation layer for all tools
245
+ *
246
+ * @param tool - Tool object with execute function and parameters schema
247
+ * @param toolName - Name of the tool (for logging and error reporting)
248
+ * @returns Wrapped tool with validation
249
+ */
250
+ export function wrapToolWithValidation(tool, toolName) {
251
+ if (!tool || !tool.execute) {
252
+ return tool;
253
+ }
254
+ const originalExecute = tool.execute;
255
+ return {
256
+ ...tool,
257
+ execute: async (args, sequenceId, parentToolCall, context) => {
258
+ // Apply validation if tool has parameters schema
259
+ if (tool.parameters) {
260
+ const validation = validateToolParameters(args, tool.parameters, toolName);
261
+ if (!validation.valid) {
262
+ // Return a standardized error result
263
+ return `Error: Tool parameter validation failed for ${toolName}: ${validation.error}`;
264
+ }
265
+ // Use corrected args
266
+ return originalExecute(validation.correctedArgs, sequenceId, parentToolCall, context);
267
+ }
268
+ // No schema available, proceed with original args
269
+ return originalExecute(args, sequenceId, parentToolCall, context);
270
+ }
271
+ };
272
+ }
273
+ //# sourceMappingURL=tool-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../core/tool-utils.ts"],"names":[],"mappings":"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"}