genesis-ai-cli 7.15.1 → 7.15.3

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.
@@ -86,6 +86,53 @@ const TOOL_ALIASES = {
86
86
  // Generic MCP (can't route - mark as invalid)
87
87
  'mcp': '_invalid_generic_mcp',
88
88
  'tool': '_invalid_generic_tool',
89
+ // ============================================================================
90
+ // v7.15.2: Compound name aliases (LLM generates server_tool patterns)
91
+ // ============================================================================
92
+ // Compound filesystem aliases
93
+ 'filesystem_list_directory': 'list_directory',
94
+ 'filesystem_read_file': 'read_file',
95
+ 'filesystem_write_file': 'write_file',
96
+ 'filesystem_create_directory': 'create_directory',
97
+ 'filesystem_directory_tree': 'directory_tree',
98
+ 'filesystem_get_file_info': 'get_file_info',
99
+ 'filesystem_search_files': 'search_files',
100
+ 'filesystem_move_file': 'move_file',
101
+ 'filesystem_edit_file': 'edit_file',
102
+ 'filesystem_list_allowed_directories': 'list_allowed_directories',
103
+ // Compound memory/knowledge_graph aliases
104
+ 'knowledge_graph_read_graph': 'read_graph',
105
+ 'knowledge_graph_create_entities': 'create_entities',
106
+ 'knowledge_graph_create_relations': 'create_relations',
107
+ 'knowledge_graph_add_observations': 'add_observations',
108
+ 'knowledge_graph_search_nodes': 'search_nodes',
109
+ 'knowledge_graph_open_nodes': 'open_nodes',
110
+ 'knowledge_graph_delete_entities': 'delete_entities',
111
+ 'knowledge_graph_delete_relations': 'delete_relations',
112
+ 'memory_read_graph': 'read_graph',
113
+ 'memory_create_entities': 'create_entities',
114
+ 'memory_create_relations': 'create_relations',
115
+ 'memory_search_nodes': 'search_nodes',
116
+ // Compound brave search aliases
117
+ 'brave_search_web_search': 'brave_web_search',
118
+ 'brave_search_news_search': 'brave_news_search',
119
+ 'brave_search_image_search': 'brave_image_search',
120
+ 'brave_search_local_search': 'brave_local_search',
121
+ // Compound arxiv aliases
122
+ 'arxiv_search': 'search_arxiv',
123
+ 'arxiv_search_arxiv': 'search_arxiv',
124
+ 'arxiv_parse_paper': 'parse_paper_content',
125
+ 'arxiv_get_pdf': 'get_arxiv_pdf_url',
126
+ // Compound github aliases
127
+ 'github_search_repositories': 'search_repositories',
128
+ 'github_create_issue': 'create_issue',
129
+ 'github_list_issues': 'list_issues',
130
+ 'github_create_pull_request': 'create_pull_request',
131
+ // Meta-commands (handled specially)
132
+ 'mcp_list_tools': '_meta_list_tools',
133
+ 'list_tools': '_meta_list_tools',
134
+ 'available_tools': '_meta_list_tools',
135
+ 'get_tools': '_meta_list_tools',
89
136
  };
90
137
  /**
91
138
  * Context-aware tool resolution based on parameters.
@@ -605,7 +652,7 @@ class ToolDispatcher {
605
652
  */
606
653
  routeTool(name) {
607
654
  // Handle special pseudo-tools
608
- if (name === '_local_time') {
655
+ if (name === '_local_time' || name === '_meta_list_tools') {
609
656
  return { source: 'local' };
610
657
  }
611
658
  // Check local tools first
@@ -694,6 +741,10 @@ class ToolDispatcher {
694
741
  validateCall(call) {
695
742
  // Check if tool exists
696
743
  if (call.source === 'local') {
744
+ // Allow pseudo-tools (handled directly in executeLocalTool)
745
+ if (call.name === '_local_time' || call.name === '_meta_list_tools') {
746
+ return { valid: true };
747
+ }
697
748
  const tool = index_js_1.toolRegistry.get(call.name);
698
749
  if (!tool) {
699
750
  return { valid: false, reason: `Unknown tool: ${call.name}` };
@@ -772,6 +823,26 @@ class ToolDispatcher {
772
823
  timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
773
824
  };
774
825
  }
826
+ // Meta-command: list all available tools
827
+ if (call.name === '_meta_list_tools') {
828
+ const localTools = LOCAL_TOOLS.map(name => ({
829
+ name,
830
+ source: 'local',
831
+ description: `Local tool: ${name}`,
832
+ }));
833
+ const mcpTools = Object.entries(MCP_TOOL_MAP).map(([tool, server]) => ({
834
+ name: tool,
835
+ source: 'mcp',
836
+ server,
837
+ description: STATIC_TOOL_SCHEMAS[tool]?.description || `MCP tool on ${server}`,
838
+ }));
839
+ return {
840
+ total: localTools.length + mcpTools.length,
841
+ local: localTools,
842
+ mcp: mcpTools,
843
+ aliases: Object.keys(TOOL_ALIASES).length,
844
+ };
845
+ }
775
846
  const tool = index_js_1.toolRegistry.get(call.name);
776
847
  if (!tool) {
777
848
  throw new Error(`Tool not found: ${call.name}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genesis-ai-cli",
3
- "version": "7.15.1",
3
+ "version": "7.15.3",
4
4
  "description": "Autonomous AI System Creator - Brain ON by default, Active Inference integrated, Curiosity-driven, Φ monitoring in every response",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",