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.
- package/README.md +17 -7
- package/dist/cli/commands.d.ts +109 -0
- package/dist/cli/commands.js +2024 -0
- package/dist/cli/display.d.ts +124 -0
- package/dist/cli/display.js +381 -0
- package/dist/cli/hitl.d.ts +33 -0
- package/dist/cli/hitl.js +81 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/stream.d.ts +41 -0
- package/dist/cli/stream.js +222 -0
- package/dist/core/activity-tracker.d.ts +16 -0
- package/dist/core/activity-tracker.d.ts.map +1 -0
- package/dist/core/activity-tracker.js +91 -0
- package/dist/core/activity-tracker.js.map +1 -0
- package/dist/core/ai-commands.d.ts +16 -0
- package/dist/core/ai-commands.d.ts.map +1 -0
- package/dist/core/ai-commands.js +24 -0
- package/dist/core/ai-commands.js.map +1 -0
- package/dist/core/ai-sdk-patch.d.ts +24 -0
- package/dist/core/ai-sdk-patch.d.ts.map +1 -0
- package/dist/core/ai-sdk-patch.js +169 -0
- package/dist/core/ai-sdk-patch.js.map +1 -0
- package/dist/core/anthropic-direct.d.ts +52 -0
- package/dist/core/anthropic-direct.d.ts.map +1 -0
- package/dist/core/anthropic-direct.js +301 -0
- package/dist/core/anthropic-direct.js.map +1 -0
- package/dist/core/approval-cache.d.ts +104 -0
- package/dist/core/approval-cache.d.ts.map +1 -0
- package/dist/core/approval-cache.js +150 -0
- package/dist/core/approval-cache.js.map +1 -0
- package/dist/core/chat-constants.d.ts +20 -0
- package/dist/core/chat-constants.d.ts.map +1 -0
- package/dist/core/chat-constants.js +22 -0
- package/dist/core/chat-constants.js.map +1 -0
- package/dist/core/create-agent-tool.d.ts +66 -0
- package/dist/core/create-agent-tool.d.ts.map +1 -0
- package/dist/core/create-agent-tool.js +212 -0
- package/dist/core/create-agent-tool.js.map +1 -0
- package/dist/core/events/approval-checker.d.ts +61 -0
- package/dist/core/events/approval-checker.d.ts.map +1 -0
- package/dist/core/events/approval-checker.js +226 -0
- package/dist/core/events/approval-checker.js.map +1 -0
- package/dist/core/events/index.d.ts +25 -0
- package/dist/core/events/index.d.ts.map +1 -0
- package/dist/core/events/index.js +30 -0
- package/dist/core/events/index.js.map +1 -0
- package/dist/core/events/memory-manager.d.ts +73 -0
- package/dist/core/events/memory-manager.d.ts.map +1 -0
- package/dist/core/events/memory-manager.js +1218 -0
- package/dist/core/events/memory-manager.js.map +1 -0
- package/dist/core/events/mention-logic.d.ts +39 -0
- package/dist/core/events/mention-logic.d.ts.map +1 -0
- package/dist/core/events/mention-logic.js +163 -0
- package/dist/core/events/mention-logic.js.map +1 -0
- package/dist/core/events/orchestrator.d.ts +69 -0
- package/dist/core/events/orchestrator.d.ts.map +1 -0
- package/dist/core/events/orchestrator.js +883 -0
- package/dist/core/events/orchestrator.js.map +1 -0
- package/dist/core/events/persistence.d.ts +41 -0
- package/dist/core/events/persistence.d.ts.map +1 -0
- package/dist/core/events/persistence.js +296 -0
- package/dist/core/events/persistence.js.map +1 -0
- package/dist/core/events/publishers.d.ts +81 -0
- package/dist/core/events/publishers.d.ts.map +1 -0
- package/dist/core/events/publishers.js +272 -0
- package/dist/core/events/publishers.js.map +1 -0
- package/dist/core/events/subscribers.d.ts +45 -0
- package/dist/core/events/subscribers.d.ts.map +1 -0
- package/dist/core/events/subscribers.js +288 -0
- package/dist/core/events/subscribers.js.map +1 -0
- package/dist/core/events/tool-bridge-logging.d.ts +28 -0
- package/dist/core/events/tool-bridge-logging.d.ts.map +1 -0
- package/dist/core/events/tool-bridge-logging.js +94 -0
- package/dist/core/events/tool-bridge-logging.js.map +1 -0
- package/dist/core/events-metadata.d.ts +72 -0
- package/dist/core/events-metadata.d.ts.map +1 -0
- package/dist/core/events-metadata.js +167 -0
- package/dist/core/events-metadata.js.map +1 -0
- package/dist/core/events.d.ts +186 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +1248 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/export.d.ts +106 -0
- package/dist/core/export.d.ts.map +1 -0
- package/dist/core/export.js +705 -0
- package/dist/core/export.js.map +1 -0
- package/dist/core/file-tools.d.ts +114 -0
- package/dist/core/file-tools.d.ts.map +1 -0
- package/dist/core/file-tools.js +370 -0
- package/dist/core/file-tools.js.map +1 -0
- package/dist/core/google-direct.d.ts +58 -0
- package/dist/core/google-direct.d.ts.map +1 -0
- package/dist/core/google-direct.js +298 -0
- package/dist/core/google-direct.js.map +1 -0
- package/dist/core/hitl.d.ts +54 -0
- package/dist/core/hitl.d.ts.map +1 -0
- package/dist/core/hitl.js +153 -0
- package/dist/core/hitl.js.map +1 -0
- package/dist/core/index.d.ts +59 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +70 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/llm-config.d.ts +128 -0
- package/dist/core/llm-config.d.ts.map +1 -0
- package/dist/core/llm-config.js +164 -0
- package/dist/core/llm-config.js.map +1 -0
- package/dist/core/llm-manager.d.ts +163 -0
- package/dist/core/llm-manager.d.ts.map +1 -0
- package/dist/core/llm-manager.js +669 -0
- package/dist/core/llm-manager.js.map +1 -0
- package/dist/core/load-skill-tool.d.ts +55 -0
- package/dist/core/load-skill-tool.d.ts.map +1 -0
- package/dist/core/load-skill-tool.js +468 -0
- package/dist/core/load-skill-tool.js.map +1 -0
- package/dist/core/logger.d.ts +88 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +358 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/managers.d.ts +131 -0
- package/dist/core/managers.d.ts.map +1 -0
- package/dist/core/managers.js +1223 -0
- package/dist/core/managers.js.map +1 -0
- package/dist/core/mcp-server-registry.d.ts +304 -0
- package/dist/core/mcp-server-registry.d.ts.map +1 -0
- package/dist/core/mcp-server-registry.js +1769 -0
- package/dist/core/mcp-server-registry.js.map +1 -0
- package/dist/core/mcp-tools.d.ts +56 -0
- package/dist/core/mcp-tools.d.ts.map +1 -0
- package/dist/core/mcp-tools.js +186 -0
- package/dist/core/mcp-tools.js.map +1 -0
- package/dist/core/message-prep.d.ts +81 -0
- package/dist/core/message-prep.d.ts.map +1 -0
- package/dist/core/message-prep.js +223 -0
- package/dist/core/message-prep.js.map +1 -0
- package/dist/core/message-processing-control.d.ts +54 -0
- package/dist/core/message-processing-control.d.ts.map +1 -0
- package/dist/core/message-processing-control.js +139 -0
- package/dist/core/message-processing-control.js.map +1 -0
- package/dist/core/openai-direct.d.ts +80 -0
- package/dist/core/openai-direct.d.ts.map +1 -0
- package/dist/core/openai-direct.js +374 -0
- package/dist/core/openai-direct.js.map +1 -0
- package/dist/core/shell-cmd-tool.d.ts +235 -0
- package/dist/core/shell-cmd-tool.d.ts.map +1 -0
- package/dist/core/shell-cmd-tool.js +1157 -0
- package/dist/core/shell-cmd-tool.js.map +1 -0
- package/dist/core/shell-process-registry.d.ts +88 -0
- package/dist/core/shell-process-registry.d.ts.map +1 -0
- package/dist/core/shell-process-registry.js +309 -0
- package/dist/core/shell-process-registry.js.map +1 -0
- package/dist/core/skill-registry.d.ts +75 -0
- package/dist/core/skill-registry.d.ts.map +1 -0
- package/dist/core/skill-registry.js +369 -0
- package/dist/core/skill-registry.js.map +1 -0
- package/dist/core/skill-script-runner.d.ts +89 -0
- package/dist/core/skill-script-runner.d.ts.map +1 -0
- package/dist/core/skill-script-runner.js +274 -0
- package/dist/core/skill-script-runner.js.map +1 -0
- package/dist/core/skill-selector.d.ts +65 -0
- package/dist/core/skill-selector.d.ts.map +1 -0
- package/dist/core/skill-selector.js +190 -0
- package/dist/core/skill-selector.js.map +1 -0
- package/dist/core/skill-settings.d.ts +20 -0
- package/dist/core/skill-settings.d.ts.map +1 -0
- package/dist/core/skill-settings.js +40 -0
- package/dist/core/skill-settings.js.map +1 -0
- package/dist/core/storage/agent-storage.d.ts +134 -0
- package/dist/core/storage/agent-storage.d.ts.map +1 -0
- package/dist/core/storage/agent-storage.js +498 -0
- package/dist/core/storage/agent-storage.js.map +1 -0
- package/dist/core/storage/eventStorage/fileEventStorage.d.ts +100 -0
- package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/fileEventStorage.js +494 -0
- package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -0
- package/dist/core/storage/eventStorage/index.d.ts +31 -0
- package/dist/core/storage/eventStorage/index.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/index.js +31 -0
- package/dist/core/storage/eventStorage/index.js.map +1 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +87 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.js +244 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +45 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.js +301 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -0
- package/dist/core/storage/eventStorage/types.d.ts +142 -0
- package/dist/core/storage/eventStorage/types.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/types.js +43 -0
- package/dist/core/storage/eventStorage/types.js.map +1 -0
- package/dist/core/storage/eventStorage/validation.d.ts +30 -0
- package/dist/core/storage/eventStorage/validation.d.ts.map +1 -0
- package/dist/core/storage/eventStorage/validation.js +68 -0
- package/dist/core/storage/eventStorage/validation.js.map +1 -0
- package/dist/core/storage/legacy-migrations.d.ts +45 -0
- package/dist/core/storage/legacy-migrations.d.ts.map +1 -0
- package/dist/core/storage/legacy-migrations.js +295 -0
- package/dist/core/storage/legacy-migrations.js.map +1 -0
- package/dist/core/storage/memory-storage.d.ts +105 -0
- package/dist/core/storage/memory-storage.d.ts.map +1 -0
- package/dist/core/storage/memory-storage.js +415 -0
- package/dist/core/storage/memory-storage.js.map +1 -0
- package/dist/core/storage/migration-runner.d.ts +96 -0
- package/dist/core/storage/migration-runner.d.ts.map +1 -0
- package/dist/core/storage/migration-runner.js +306 -0
- package/dist/core/storage/migration-runner.js.map +1 -0
- package/dist/core/storage/queue-storage.d.ts +147 -0
- package/dist/core/storage/queue-storage.d.ts.map +1 -0
- package/dist/core/storage/queue-storage.js +290 -0
- package/dist/core/storage/queue-storage.js.map +1 -0
- package/dist/core/storage/skill-storage.d.ts +136 -0
- package/dist/core/storage/skill-storage.d.ts.map +1 -0
- package/dist/core/storage/skill-storage.js +474 -0
- package/dist/core/storage/skill-storage.js.map +1 -0
- package/dist/core/storage/sqlite-schema.d.ts +95 -0
- package/dist/core/storage/sqlite-schema.d.ts.map +1 -0
- package/dist/core/storage/sqlite-schema.js +156 -0
- package/dist/core/storage/sqlite-schema.js.map +1 -0
- package/dist/core/storage/sqlite-storage.d.ts +146 -0
- package/dist/core/storage/sqlite-storage.d.ts.map +1 -0
- package/dist/core/storage/sqlite-storage.js +709 -0
- package/dist/core/storage/sqlite-storage.js.map +1 -0
- package/dist/core/storage/storage-factory.d.ts +61 -0
- package/dist/core/storage/storage-factory.d.ts.map +1 -0
- package/dist/core/storage/storage-factory.js +794 -0
- package/dist/core/storage/storage-factory.js.map +1 -0
- package/dist/core/storage/validation.d.ts +36 -0
- package/dist/core/storage/validation.d.ts.map +1 -0
- package/dist/core/storage/validation.js +79 -0
- package/dist/core/storage/validation.js.map +1 -0
- package/dist/core/storage/world-storage.d.ts +114 -0
- package/dist/core/storage/world-storage.d.ts.map +1 -0
- package/dist/core/storage/world-storage.js +378 -0
- package/dist/core/storage/world-storage.js.map +1 -0
- package/dist/core/subscription.d.ts +43 -0
- package/dist/core/subscription.d.ts.map +1 -0
- package/dist/core/subscription.js +227 -0
- package/dist/core/subscription.js.map +1 -0
- package/dist/core/tool-utils.d.ts +80 -0
- package/dist/core/tool-utils.d.ts.map +1 -0
- package/dist/core/tool-utils.js +273 -0
- package/dist/core/tool-utils.js.map +1 -0
- package/dist/core/types.d.ts +595 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +158 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils.d.ts +138 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +478 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/core/world-class.d.ts +43 -0
- package/dist/core/world-class.d.ts.map +1 -0
- package/dist/core/world-class.js +90 -0
- package/dist/core/world-class.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/public/assets/agent-sprites-DJFgj-zP.png +0 -0
- package/dist/public/assets/border-KHK37r8y.svg +83 -0
- package/dist/public/assets/index-C9kPXL6G.css +1 -0
- package/dist/public/assets/index-DOQEHGWt.js +96 -0
- package/dist/public/index.html +21 -0
- package/dist/server/api.d.ts +2 -0
- package/dist/server/api.js +1124 -0
- package/dist/server/index.d.ts +29 -0
- package/dist/server/sse-handler.d.ts +62 -0
- package/dist/server/sse-handler.js +234 -0
- package/package.json +15 -3
- 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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"}
|