genesis-ai-cli 7.4.5
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/.env.example +78 -0
- package/README.md +282 -0
- package/dist/src/active-inference/actions.d.ts +75 -0
- package/dist/src/active-inference/actions.js +250 -0
- package/dist/src/active-inference/autonomous-loop.d.ts +103 -0
- package/dist/src/active-inference/autonomous-loop.js +289 -0
- package/dist/src/active-inference/core.d.ts +85 -0
- package/dist/src/active-inference/core.js +555 -0
- package/dist/src/active-inference/demo-autonomous-loop.d.ts +8 -0
- package/dist/src/active-inference/demo-autonomous-loop.js +338 -0
- package/dist/src/active-inference/demo-value-integration.d.ts +8 -0
- package/dist/src/active-inference/demo-value-integration.js +174 -0
- package/dist/src/active-inference/index.d.ts +32 -0
- package/dist/src/active-inference/index.js +88 -0
- package/dist/src/active-inference/integration.d.ts +114 -0
- package/dist/src/active-inference/integration.js +698 -0
- package/dist/src/active-inference/memory-integration.d.ts +51 -0
- package/dist/src/active-inference/memory-integration.js +232 -0
- package/dist/src/active-inference/observations.d.ts +67 -0
- package/dist/src/active-inference/observations.js +147 -0
- package/dist/src/active-inference/test-active-inference.d.ts +8 -0
- package/dist/src/active-inference/test-active-inference.js +320 -0
- package/dist/src/active-inference/test-value-integration.d.ts +6 -0
- package/dist/src/active-inference/test-value-integration.js +168 -0
- package/dist/src/active-inference/types.d.ts +150 -0
- package/dist/src/active-inference/types.js +59 -0
- package/dist/src/active-inference/value-integration.d.ts +164 -0
- package/dist/src/active-inference/value-integration.js +459 -0
- package/dist/src/agents/base-agent.d.ts +53 -0
- package/dist/src/agents/base-agent.js +178 -0
- package/dist/src/agents/builder.d.ts +67 -0
- package/dist/src/agents/builder.js +537 -0
- package/dist/src/agents/critic.d.ts +35 -0
- package/dist/src/agents/critic.js +322 -0
- package/dist/src/agents/ethicist.d.ts +54 -0
- package/dist/src/agents/ethicist.js +393 -0
- package/dist/src/agents/explorer.d.ts +26 -0
- package/dist/src/agents/explorer.js +216 -0
- package/dist/src/agents/feeling.d.ts +41 -0
- package/dist/src/agents/feeling.js +320 -0
- package/dist/src/agents/index.d.ts +111 -0
- package/dist/src/agents/index.js +222 -0
- package/dist/src/agents/memory.d.ts +69 -0
- package/dist/src/agents/memory.js +404 -0
- package/dist/src/agents/message-bus.d.ts +88 -0
- package/dist/src/agents/message-bus.js +267 -0
- package/dist/src/agents/narrator.d.ts +90 -0
- package/dist/src/agents/narrator.js +473 -0
- package/dist/src/agents/planner.d.ts +38 -0
- package/dist/src/agents/planner.js +341 -0
- package/dist/src/agents/predictor.d.ts +73 -0
- package/dist/src/agents/predictor.js +506 -0
- package/dist/src/agents/sensor.d.ts +88 -0
- package/dist/src/agents/sensor.js +377 -0
- package/dist/src/agents/test-agents.d.ts +6 -0
- package/dist/src/agents/test-agents.js +73 -0
- package/dist/src/agents/types.d.ts +194 -0
- package/dist/src/agents/types.js +7 -0
- package/dist/src/brain/index.d.ts +185 -0
- package/dist/src/brain/index.js +843 -0
- package/dist/src/brain/trace.d.ts +91 -0
- package/dist/src/brain/trace.js +327 -0
- package/dist/src/brain/types.d.ts +165 -0
- package/dist/src/brain/types.js +51 -0
- package/dist/src/cli/chat.d.ts +237 -0
- package/dist/src/cli/chat.js +1959 -0
- package/dist/src/cli/dispatcher.d.ts +182 -0
- package/dist/src/cli/dispatcher.js +718 -0
- package/dist/src/cli/human-loop.d.ts +170 -0
- package/dist/src/cli/human-loop.js +543 -0
- package/dist/src/cli/index.d.ts +12 -0
- package/dist/src/cli/index.js +28 -0
- package/dist/src/cli/interactive.d.ts +141 -0
- package/dist/src/cli/interactive.js +757 -0
- package/dist/src/cli/ui.d.ts +205 -0
- package/dist/src/cli/ui.js +632 -0
- package/dist/src/consciousness/attention-schema.d.ts +154 -0
- package/dist/src/consciousness/attention-schema.js +432 -0
- package/dist/src/consciousness/global-workspace.d.ts +149 -0
- package/dist/src/consciousness/global-workspace.js +422 -0
- package/dist/src/consciousness/index.d.ts +186 -0
- package/dist/src/consciousness/index.js +476 -0
- package/dist/src/consciousness/phi-calculator.d.ts +119 -0
- package/dist/src/consciousness/phi-calculator.js +445 -0
- package/dist/src/consciousness/phi-decisions.d.ts +169 -0
- package/dist/src/consciousness/phi-decisions.js +383 -0
- package/dist/src/consciousness/phi-monitor.d.ts +153 -0
- package/dist/src/consciousness/phi-monitor.js +465 -0
- package/dist/src/consciousness/types.d.ts +260 -0
- package/dist/src/consciousness/types.js +44 -0
- package/dist/src/daemon/dream-mode.d.ts +115 -0
- package/dist/src/daemon/dream-mode.js +470 -0
- package/dist/src/daemon/index.d.ts +162 -0
- package/dist/src/daemon/index.js +542 -0
- package/dist/src/daemon/maintenance.d.ts +139 -0
- package/dist/src/daemon/maintenance.js +549 -0
- package/dist/src/daemon/process.d.ts +82 -0
- package/dist/src/daemon/process.js +442 -0
- package/dist/src/daemon/scheduler.d.ts +90 -0
- package/dist/src/daemon/scheduler.js +494 -0
- package/dist/src/daemon/types.d.ts +213 -0
- package/dist/src/daemon/types.js +50 -0
- package/dist/src/epistemic/index.d.ts +74 -0
- package/dist/src/epistemic/index.js +225 -0
- package/dist/src/grounding/epistemic-stack.d.ts +100 -0
- package/dist/src/grounding/epistemic-stack.js +408 -0
- package/dist/src/grounding/feedback.d.ts +98 -0
- package/dist/src/grounding/feedback.js +276 -0
- package/dist/src/grounding/index.d.ts +123 -0
- package/dist/src/grounding/index.js +224 -0
- package/dist/src/grounding/verifier.d.ts +149 -0
- package/dist/src/grounding/verifier.js +484 -0
- package/dist/src/healing/detector.d.ts +110 -0
- package/dist/src/healing/detector.js +436 -0
- package/dist/src/healing/fixer.d.ts +138 -0
- package/dist/src/healing/fixer.js +572 -0
- package/dist/src/healing/index.d.ts +23 -0
- package/dist/src/healing/index.js +43 -0
- package/dist/src/hooks/index.d.ts +135 -0
- package/dist/src/hooks/index.js +317 -0
- package/dist/src/index.d.ts +23 -0
- package/dist/src/index.js +1266 -0
- package/dist/src/kernel/index.d.ts +155 -0
- package/dist/src/kernel/index.js +795 -0
- package/dist/src/kernel/invariants.d.ts +153 -0
- package/dist/src/kernel/invariants.js +355 -0
- package/dist/src/kernel/test-kernel.d.ts +6 -0
- package/dist/src/kernel/test-kernel.js +108 -0
- package/dist/src/kernel/test-real-mcp.d.ts +10 -0
- package/dist/src/kernel/test-real-mcp.js +295 -0
- package/dist/src/llm/index.d.ts +146 -0
- package/dist/src/llm/index.js +428 -0
- package/dist/src/llm/router.d.ts +136 -0
- package/dist/src/llm/router.js +510 -0
- package/dist/src/mcp/index.d.ts +85 -0
- package/dist/src/mcp/index.js +657 -0
- package/dist/src/mcp/resilient.d.ts +139 -0
- package/dist/src/mcp/resilient.js +417 -0
- package/dist/src/memory/cache.d.ts +118 -0
- package/dist/src/memory/cache.js +356 -0
- package/dist/src/memory/cognitive-workspace.d.ts +231 -0
- package/dist/src/memory/cognitive-workspace.js +521 -0
- package/dist/src/memory/consolidation.d.ts +99 -0
- package/dist/src/memory/consolidation.js +443 -0
- package/dist/src/memory/episodic.d.ts +114 -0
- package/dist/src/memory/episodic.js +394 -0
- package/dist/src/memory/forgetting.d.ts +134 -0
- package/dist/src/memory/forgetting.js +324 -0
- package/dist/src/memory/index.d.ts +211 -0
- package/dist/src/memory/index.js +367 -0
- package/dist/src/memory/indexer.d.ts +123 -0
- package/dist/src/memory/indexer.js +479 -0
- package/dist/src/memory/procedural.d.ts +136 -0
- package/dist/src/memory/procedural.js +479 -0
- package/dist/src/memory/semantic.d.ts +132 -0
- package/dist/src/memory/semantic.js +497 -0
- package/dist/src/memory/types.d.ts +193 -0
- package/dist/src/memory/types.js +15 -0
- package/dist/src/orchestrator.d.ts +65 -0
- package/dist/src/orchestrator.js +317 -0
- package/dist/src/persistence/index.d.ts +257 -0
- package/dist/src/persistence/index.js +763 -0
- package/dist/src/pipeline/executor.d.ts +51 -0
- package/dist/src/pipeline/executor.js +695 -0
- package/dist/src/pipeline/index.d.ts +7 -0
- package/dist/src/pipeline/index.js +11 -0
- package/dist/src/self-production.d.ts +67 -0
- package/dist/src/self-production.js +205 -0
- package/dist/src/subagents/executor.d.ts +58 -0
- package/dist/src/subagents/executor.js +283 -0
- package/dist/src/subagents/index.d.ts +37 -0
- package/dist/src/subagents/index.js +53 -0
- package/dist/src/subagents/registry.d.ts +23 -0
- package/dist/src/subagents/registry.js +167 -0
- package/dist/src/subagents/types.d.ts +79 -0
- package/dist/src/subagents/types.js +14 -0
- package/dist/src/tools/bash.d.ts +139 -0
- package/dist/src/tools/bash.js +583 -0
- package/dist/src/tools/edit.d.ts +125 -0
- package/dist/src/tools/edit.js +424 -0
- package/dist/src/tools/git.d.ts +179 -0
- package/dist/src/tools/git.js +504 -0
- package/dist/src/tools/index.d.ts +21 -0
- package/dist/src/tools/index.js +163 -0
- package/dist/src/types.d.ts +145 -0
- package/dist/src/types.js +7 -0
- package/dist/src/world-model/decoder.d.ts +163 -0
- package/dist/src/world-model/decoder.js +517 -0
- package/dist/src/world-model/digital-twin.d.ts +219 -0
- package/dist/src/world-model/digital-twin.js +695 -0
- package/dist/src/world-model/encoder.d.ts +141 -0
- package/dist/src/world-model/encoder.js +564 -0
- package/dist/src/world-model/index.d.ts +221 -0
- package/dist/src/world-model/index.js +772 -0
- package/dist/src/world-model/predictor.d.ts +161 -0
- package/dist/src/world-model/predictor.js +681 -0
- package/dist/src/world-model/test-value-jepa.d.ts +8 -0
- package/dist/src/world-model/test-value-jepa.js +430 -0
- package/dist/src/world-model/types.d.ts +341 -0
- package/dist/src/world-model/types.js +69 -0
- package/dist/src/world-model/value-jepa.d.ts +247 -0
- package/dist/src/world-model/value-jepa.js +622 -0
- package/dist/test/brain.test.d.ts +11 -0
- package/dist/test/brain.test.js +358 -0
- package/dist/test/cli/dispatcher.test.d.ts +4 -0
- package/dist/test/cli/dispatcher.test.js +332 -0
- package/dist/test/cli/human-loop.test.d.ts +4 -0
- package/dist/test/cli/human-loop.test.js +270 -0
- package/dist/test/grounding/feedback.test.d.ts +4 -0
- package/dist/test/grounding/feedback.test.js +462 -0
- package/dist/test/grounding/verifier.test.d.ts +4 -0
- package/dist/test/grounding/verifier.test.js +442 -0
- package/dist/test/grounding.test.d.ts +6 -0
- package/dist/test/grounding.test.js +246 -0
- package/dist/test/healing/detector.test.d.ts +4 -0
- package/dist/test/healing/detector.test.js +266 -0
- package/dist/test/healing/fixer.test.d.ts +4 -0
- package/dist/test/healing/fixer.test.js +369 -0
- package/dist/test/integration.test.d.ts +5 -0
- package/dist/test/integration.test.js +290 -0
- package/dist/test/tools/bash.test.d.ts +4 -0
- package/dist/test/tools/bash.test.js +348 -0
- package/dist/test/tools/edit.test.d.ts +4 -0
- package/dist/test/tools/edit.test.js +350 -0
- package/dist/test/tools/git.test.d.ts +4 -0
- package/dist/test/tools/git.test.js +350 -0
- package/package.json +60 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Genesis 6.0 - Tool Dispatcher
|
|
3
|
+
*
|
|
4
|
+
* Intelligent router that:
|
|
5
|
+
* 1. Parses tool calls from LLM responses
|
|
6
|
+
* 2. Routes to appropriate tools (local or MCP)
|
|
7
|
+
* 3. Supports parallel execution
|
|
8
|
+
* 4. Tracks execution status with progress
|
|
9
|
+
* 5. Feeds results back for continued conversation
|
|
10
|
+
*/
|
|
11
|
+
import { MCPServerName } from '../types.js';
|
|
12
|
+
export interface ToolCall {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
params: Record<string, unknown>;
|
|
16
|
+
source: 'local' | 'mcp';
|
|
17
|
+
mcpServer?: MCPServerName;
|
|
18
|
+
}
|
|
19
|
+
export interface ToolResult {
|
|
20
|
+
callId: string;
|
|
21
|
+
name: string;
|
|
22
|
+
success: boolean;
|
|
23
|
+
data?: unknown;
|
|
24
|
+
error?: string;
|
|
25
|
+
duration: number;
|
|
26
|
+
source: 'local' | 'mcp';
|
|
27
|
+
}
|
|
28
|
+
export interface DispatchResult {
|
|
29
|
+
success: boolean;
|
|
30
|
+
results: ToolResult[];
|
|
31
|
+
totalDuration: number;
|
|
32
|
+
parallelExecutions: number;
|
|
33
|
+
sequentialExecutions: number;
|
|
34
|
+
}
|
|
35
|
+
export interface DispatcherConfig {
|
|
36
|
+
maxParallel: number;
|
|
37
|
+
timeout: number;
|
|
38
|
+
retries: number;
|
|
39
|
+
verbose: boolean;
|
|
40
|
+
onProgress?: (status: ProgressStatus) => void;
|
|
41
|
+
}
|
|
42
|
+
export interface ProgressStatus {
|
|
43
|
+
phase: 'parsing' | 'validating' | 'executing' | 'complete';
|
|
44
|
+
current: number;
|
|
45
|
+
total: number;
|
|
46
|
+
currentTool?: string;
|
|
47
|
+
message?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface LLMToolCall {
|
|
50
|
+
id: string;
|
|
51
|
+
type: 'function';
|
|
52
|
+
function: {
|
|
53
|
+
name: string;
|
|
54
|
+
arguments: string;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export declare class ToolDispatcher {
|
|
58
|
+
private config;
|
|
59
|
+
private executionHistory;
|
|
60
|
+
constructor(config?: Partial<DispatcherConfig>);
|
|
61
|
+
/**
|
|
62
|
+
* Parse tool calls from LLM response
|
|
63
|
+
*/
|
|
64
|
+
parseToolCalls(response: string | LLMToolCall[]): ToolCall[];
|
|
65
|
+
/**
|
|
66
|
+
* Parse OpenAI-style tool call
|
|
67
|
+
*/
|
|
68
|
+
private parseLLMToolCall;
|
|
69
|
+
/**
|
|
70
|
+
* Parse XML-style tool calls from text
|
|
71
|
+
* Example: <tool_use name="bash"><param name="command">ls -la</param></tool_use>
|
|
72
|
+
*/
|
|
73
|
+
private parseXMLToolCalls;
|
|
74
|
+
/**
|
|
75
|
+
* Parse params from tool content
|
|
76
|
+
*/
|
|
77
|
+
private parseToolParams;
|
|
78
|
+
/**
|
|
79
|
+
* Route tool to local or MCP
|
|
80
|
+
*/
|
|
81
|
+
private routeTool;
|
|
82
|
+
/**
|
|
83
|
+
* Execute tool calls
|
|
84
|
+
*/
|
|
85
|
+
dispatch(calls: ToolCall[]): Promise<DispatchResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Validate a tool call
|
|
88
|
+
*/
|
|
89
|
+
private validateCall;
|
|
90
|
+
/**
|
|
91
|
+
* Group calls by dependencies
|
|
92
|
+
* For now, all calls are independent and can run in parallel
|
|
93
|
+
*/
|
|
94
|
+
private groupByDependencies;
|
|
95
|
+
/**
|
|
96
|
+
* Execute a single tool call
|
|
97
|
+
*/
|
|
98
|
+
private executeCall;
|
|
99
|
+
/**
|
|
100
|
+
* Execute local tool
|
|
101
|
+
*/
|
|
102
|
+
private executeLocalTool;
|
|
103
|
+
/**
|
|
104
|
+
* Execute MCP tool
|
|
105
|
+
*/
|
|
106
|
+
private executeMCPTool;
|
|
107
|
+
/**
|
|
108
|
+
* Report progress
|
|
109
|
+
*/
|
|
110
|
+
private progress;
|
|
111
|
+
/**
|
|
112
|
+
* Get execution history
|
|
113
|
+
*/
|
|
114
|
+
getHistory(): ToolResult[];
|
|
115
|
+
/**
|
|
116
|
+
* Clear history
|
|
117
|
+
*/
|
|
118
|
+
clearHistory(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Update config
|
|
121
|
+
*/
|
|
122
|
+
updateConfig(updates: Partial<DispatcherConfig>): void;
|
|
123
|
+
/**
|
|
124
|
+
* Get available tools (names only, for backward compatibility)
|
|
125
|
+
*/
|
|
126
|
+
listTools(): {
|
|
127
|
+
local: string[];
|
|
128
|
+
mcp: Record<string, string[]>;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Get available tools with schemas (for dynamic prompt building)
|
|
132
|
+
* Returns tool definitions with name, description, and inputSchema
|
|
133
|
+
* Note: This is the sync version with static fallbacks - use discoverToolsWithSchemas() for real schemas
|
|
134
|
+
*/
|
|
135
|
+
listToolsWithSchemas(): {
|
|
136
|
+
local: Array<{
|
|
137
|
+
name: string;
|
|
138
|
+
description?: string;
|
|
139
|
+
}>;
|
|
140
|
+
mcp: Record<string, Array<{
|
|
141
|
+
name: string;
|
|
142
|
+
description?: string;
|
|
143
|
+
}>>;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* v7.3: Discover tools with REAL schemas from MCP servers
|
|
147
|
+
* Falls back to static schemas for servers that fail to connect
|
|
148
|
+
*/
|
|
149
|
+
discoverToolsWithSchemas(): Promise<{
|
|
150
|
+
local: Array<{
|
|
151
|
+
name: string;
|
|
152
|
+
description?: string;
|
|
153
|
+
inputSchema?: any;
|
|
154
|
+
}>;
|
|
155
|
+
mcp: Record<string, Array<{
|
|
156
|
+
name: string;
|
|
157
|
+
description?: string;
|
|
158
|
+
inputSchema?: any;
|
|
159
|
+
}>>;
|
|
160
|
+
}>;
|
|
161
|
+
/**
|
|
162
|
+
* Format results for LLM context
|
|
163
|
+
*/
|
|
164
|
+
formatResultsForLLM(results: ToolResult[]): string;
|
|
165
|
+
}
|
|
166
|
+
export declare function getDispatcher(config?: Partial<DispatcherConfig>): ToolDispatcher;
|
|
167
|
+
export declare function resetDispatcher(): void;
|
|
168
|
+
/**
|
|
169
|
+
* Parse and dispatch tool calls from LLM response
|
|
170
|
+
*/
|
|
171
|
+
export declare function dispatchTools(response: string | LLMToolCall[], config?: Partial<DispatcherConfig>): Promise<DispatchResult>;
|
|
172
|
+
/**
|
|
173
|
+
* Execute a single tool by name
|
|
174
|
+
*/
|
|
175
|
+
export declare function executeTool(name: string, params: Record<string, unknown>): Promise<ToolResult>;
|
|
176
|
+
/**
|
|
177
|
+
* List all available tools
|
|
178
|
+
*/
|
|
179
|
+
export declare function listAllTools(): {
|
|
180
|
+
local: string[];
|
|
181
|
+
mcp: Record<string, string[]>;
|
|
182
|
+
};
|