@involvex/super-agent-cli 0.0.39
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/.grok/settings.json +3 -0
- package/.prettierignore +11 -0
- package/.super-agent/settings.json +23 -0
- package/LICENSE +21 -0
- package/README.md +366 -0
- package/assets/splash.png +0 -0
- package/dist/agent/grok-agent.d.ts +54 -0
- package/dist/agent/grok-agent.js +638 -0
- package/dist/agent/grok-agent.js.map +1 -0
- package/dist/agent/index.d.ts +14 -0
- package/dist/agent/index.js +139 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/super-agent.d.ts +54 -0
- package/dist/agent/super-agent.js +638 -0
- package/dist/agent/super-agent.js.map +1 -0
- package/dist/commands/mcp.d.ts +2 -0
- package/dist/commands/mcp.js +247 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/core/client.d.ts +49 -0
- package/dist/core/client.js +81 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/tools.d.ts +8 -0
- package/dist/core/tools.js +351 -0
- package/dist/core/tools.js.map +1 -0
- package/dist/grok/client.d.ts +49 -0
- package/dist/grok/client.js +81 -0
- package/dist/grok/client.js.map +1 -0
- package/dist/grok/tools.d.ts +8 -0
- package/dist/grok/tools.js +351 -0
- package/dist/grok/tools.js.map +1 -0
- package/dist/hooks/use-enhanced-input.d.ts +37 -0
- package/dist/hooks/use-enhanced-input.js +228 -0
- package/dist/hooks/use-enhanced-input.js.map +1 -0
- package/dist/hooks/use-input-handler.d.ts +34 -0
- package/dist/hooks/use-input-handler.js +607 -0
- package/dist/hooks/use-input-handler.js.map +1 -0
- package/dist/hooks/use-input-history.d.ts +9 -0
- package/dist/hooks/use-input-history.js +62 -0
- package/dist/hooks/use-input-history.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6591 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/client.d.ts +29 -0
- package/dist/mcp/client.js +127 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/config.d.ts +13 -0
- package/dist/mcp/config.js +45 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/transports.d.ts +51 -0
- package/dist/mcp/transports.js +229 -0
- package/dist/mcp/transports.js.map +1 -0
- package/dist/tools/bash.d.ts +10 -0
- package/dist/tools/bash.js +76 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/confirmation-tool.d.ts +16 -0
- package/dist/tools/confirmation-tool.js +77 -0
- package/dist/tools/confirmation-tool.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/morph-editor.d.ts +36 -0
- package/dist/tools/morph-editor.js +324 -0
- package/dist/tools/morph-editor.js.map +1 -0
- package/dist/tools/search.d.ts +69 -0
- package/dist/tools/search.js +307 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/text-editor.d.ts +26 -0
- package/dist/tools/text-editor.js +583 -0
- package/dist/tools/text-editor.js.map +1 -0
- package/dist/tools/todo-tool.d.ts +20 -0
- package/dist/tools/todo-tool.js +134 -0
- package/dist/tools/todo-tool.js.map +1 -0
- package/dist/types/index.d.ts +30 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/app.d.ts +6 -0
- package/dist/ui/app.js +76 -0
- package/dist/ui/app.js.map +1 -0
- package/dist/ui/components/api-key-input.d.ts +6 -0
- package/dist/ui/components/api-key-input.js +70 -0
- package/dist/ui/components/api-key-input.js.map +1 -0
- package/dist/ui/components/chat-history.d.ts +7 -0
- package/dist/ui/components/chat-history.js +136 -0
- package/dist/ui/components/chat-history.js.map +1 -0
- package/dist/ui/components/chat-input.d.ts +8 -0
- package/dist/ui/components/chat-input.js +47 -0
- package/dist/ui/components/chat-input.js.map +1 -0
- package/dist/ui/components/chat-interface.d.ts +7 -0
- package/dist/ui/components/chat-interface.js +213 -0
- package/dist/ui/components/chat-interface.js.map +1 -0
- package/dist/ui/components/command-suggestions.d.ts +16 -0
- package/dist/ui/components/command-suggestions.js +18 -0
- package/dist/ui/components/command-suggestions.js.map +1 -0
- package/dist/ui/components/confirmation-dialog.d.ts +10 -0
- package/dist/ui/components/confirmation-dialog.js +70 -0
- package/dist/ui/components/confirmation-dialog.js.map +1 -0
- package/dist/ui/components/diff-renderer.d.ts +13 -0
- package/dist/ui/components/diff-renderer.js +200 -0
- package/dist/ui/components/diff-renderer.js.map +1 -0
- package/dist/ui/components/loading-spinner.d.ts +7 -0
- package/dist/ui/components/loading-spinner.js +52 -0
- package/dist/ui/components/loading-spinner.js.map +1 -0
- package/dist/ui/components/mcp-status.d.ts +4 -0
- package/dist/ui/components/mcp-status.js +37 -0
- package/dist/ui/components/mcp-status.js.map +1 -0
- package/dist/ui/components/model-selection.d.ts +11 -0
- package/dist/ui/components/model-selection.js +9 -0
- package/dist/ui/components/model-selection.js.map +1 -0
- package/dist/ui/shared/max-sized-box.d.ts +8 -0
- package/dist/ui/shared/max-sized-box.js +6 -0
- package/dist/ui/shared/max-sized-box.js.map +1 -0
- package/dist/ui/utils/code-colorizer.d.ts +2 -0
- package/dist/ui/utils/code-colorizer.js +7 -0
- package/dist/ui/utils/code-colorizer.js.map +1 -0
- package/dist/ui/utils/colors.d.ts +14 -0
- package/dist/ui/utils/colors.js +15 -0
- package/dist/ui/utils/colors.js.map +1 -0
- package/dist/ui/utils/markdown-renderer.d.ts +3 -0
- package/dist/ui/utils/markdown-renderer.js +23 -0
- package/dist/ui/utils/markdown-renderer.js.map +1 -0
- package/dist/utils/confirmation-service.d.ts +33 -0
- package/dist/utils/confirmation-service.js +110 -0
- package/dist/utils/confirmation-service.js.map +1 -0
- package/dist/utils/custom-instructions.d.ts +1 -0
- package/dist/utils/custom-instructions.js +23 -0
- package/dist/utils/custom-instructions.js.map +1 -0
- package/dist/utils/model-config.d.ts +28 -0
- package/dist/utils/model-config.js +42 -0
- package/dist/utils/model-config.js.map +1 -0
- package/dist/utils/settings-manager.d.ts +99 -0
- package/dist/utils/settings-manager.js +286 -0
- package/dist/utils/settings-manager.js.map +1 -0
- package/dist/utils/settings.d.ts +1 -0
- package/dist/utils/settings.js +4 -0
- package/dist/utils/settings.js.map +1 -0
- package/dist/utils/text-utils.d.ts +80 -0
- package/dist/utils/text-utils.js +191 -0
- package/dist/utils/text-utils.js.map +1 -0
- package/dist/utils/token-counter.d.ts +33 -0
- package/dist/utils/token-counter.js +79 -0
- package/dist/utils/token-counter.js.map +1 -0
- package/eslint.config.mjs +33 -0
- package/package.json +87 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ToolResult, AgentState } from "../types/index";
|
|
2
|
+
export declare class Agent {
|
|
3
|
+
private textEditor;
|
|
4
|
+
private bash;
|
|
5
|
+
private state;
|
|
6
|
+
constructor();
|
|
7
|
+
processCommand(input: string): Promise<ToolResult>;
|
|
8
|
+
private parseViewCommand;
|
|
9
|
+
private parseStrReplaceCommand;
|
|
10
|
+
private parseCreateCommand;
|
|
11
|
+
private parseInsertCommand;
|
|
12
|
+
private getHelp;
|
|
13
|
+
getCurrentState(): AgentState;
|
|
14
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { TextEditorTool, BashTool } from "../tools/index";
|
|
2
|
+
export class Agent {
|
|
3
|
+
textEditor;
|
|
4
|
+
bash;
|
|
5
|
+
state;
|
|
6
|
+
constructor() {
|
|
7
|
+
this.textEditor = new TextEditorTool();
|
|
8
|
+
this.bash = new BashTool();
|
|
9
|
+
this.state = {
|
|
10
|
+
currentDirectory: process.cwd(),
|
|
11
|
+
editHistory: [],
|
|
12
|
+
tools: [],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
async processCommand(input) {
|
|
16
|
+
const trimmedInput = input.trim();
|
|
17
|
+
if (trimmedInput.startsWith("view ")) {
|
|
18
|
+
const args = this.parseViewCommand(trimmedInput);
|
|
19
|
+
return this.textEditor.view(args.path, args.range);
|
|
20
|
+
}
|
|
21
|
+
if (trimmedInput.startsWith("str_replace ")) {
|
|
22
|
+
const args = this.parseStrReplaceCommand(trimmedInput);
|
|
23
|
+
if (!args) {
|
|
24
|
+
return { success: false, error: "Invalid str_replace command format" };
|
|
25
|
+
}
|
|
26
|
+
return this.textEditor.strReplace(args.path, args.oldStr, args.newStr);
|
|
27
|
+
}
|
|
28
|
+
if (trimmedInput.startsWith("create ")) {
|
|
29
|
+
const args = this.parseCreateCommand(trimmedInput);
|
|
30
|
+
if (!args) {
|
|
31
|
+
return { success: false, error: "Invalid create command format" };
|
|
32
|
+
}
|
|
33
|
+
return this.textEditor.create(args.path, args.content);
|
|
34
|
+
}
|
|
35
|
+
if (trimmedInput.startsWith("insert ")) {
|
|
36
|
+
const args = this.parseInsertCommand(trimmedInput);
|
|
37
|
+
if (!args) {
|
|
38
|
+
return { success: false, error: "Invalid insert command format" };
|
|
39
|
+
}
|
|
40
|
+
return this.textEditor.insert(args.path, args.line, args.content);
|
|
41
|
+
}
|
|
42
|
+
if (trimmedInput === "undo_edit") {
|
|
43
|
+
return this.textEditor.undoEdit();
|
|
44
|
+
}
|
|
45
|
+
if (trimmedInput.startsWith("bash ") || trimmedInput.startsWith("$ ")) {
|
|
46
|
+
const command = trimmedInput.startsWith("bash ")
|
|
47
|
+
? trimmedInput.substring(5)
|
|
48
|
+
: trimmedInput.substring(2);
|
|
49
|
+
return this.bash.execute(command);
|
|
50
|
+
}
|
|
51
|
+
if (trimmedInput === "pwd") {
|
|
52
|
+
return {
|
|
53
|
+
success: true,
|
|
54
|
+
output: this.bash.getCurrentDirectory(),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (trimmedInput === "history") {
|
|
58
|
+
const history = this.textEditor.getEditHistory();
|
|
59
|
+
return {
|
|
60
|
+
success: true,
|
|
61
|
+
output: history.length > 0
|
|
62
|
+
? JSON.stringify(history, null, 2)
|
|
63
|
+
: "No edit history",
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if (trimmedInput === "help") {
|
|
67
|
+
return this.getHelp();
|
|
68
|
+
}
|
|
69
|
+
return this.bash.execute(trimmedInput);
|
|
70
|
+
}
|
|
71
|
+
parseViewCommand(input) {
|
|
72
|
+
const parts = input.split(" ");
|
|
73
|
+
const path = parts[1];
|
|
74
|
+
if (parts.length > 2) {
|
|
75
|
+
const rangePart = parts[2];
|
|
76
|
+
if (rangePart.includes("-")) {
|
|
77
|
+
const [start, end] = rangePart.split("-").map(Number);
|
|
78
|
+
return { path, range: [start, end] };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { path };
|
|
82
|
+
}
|
|
83
|
+
parseStrReplaceCommand(input) {
|
|
84
|
+
const match = input.match(/str_replace\s+(\S+)\s+"([^"]+)"\s+"([^"]*)"/);
|
|
85
|
+
if (!match) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
path: match[1],
|
|
90
|
+
oldStr: match[2],
|
|
91
|
+
newStr: match[3],
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
parseCreateCommand(input) {
|
|
95
|
+
const match = input.match(/create\s+(\S+)\s+"([^"]*)"/);
|
|
96
|
+
if (!match) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
path: match[1],
|
|
101
|
+
content: match[2],
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
parseInsertCommand(input) {
|
|
105
|
+
const match = input.match(/insert\s+(\S+)\s+(\d+)\s+"([^"]*)"/);
|
|
106
|
+
if (!match) {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
path: match[1],
|
|
111
|
+
line: parseInt(match[2]),
|
|
112
|
+
content: match[3],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
getHelp() {
|
|
116
|
+
return {
|
|
117
|
+
success: true,
|
|
118
|
+
output: `Available commands:
|
|
119
|
+
view <path> [start-end] - View file contents or directory
|
|
120
|
+
str_replace <path> "old" "new" - Replace text in file
|
|
121
|
+
create <path> "content" - Create new file with content
|
|
122
|
+
insert <path> <line> "text" - Insert text at specific line
|
|
123
|
+
undo_edit - Undo last edit operation
|
|
124
|
+
bash <command> - Execute bash command
|
|
125
|
+
$ <command> - Execute bash command (shorthand)
|
|
126
|
+
pwd - Show current directory
|
|
127
|
+
history - Show edit history
|
|
128
|
+
help - Show this help message`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
getCurrentState() {
|
|
132
|
+
return {
|
|
133
|
+
...this.state,
|
|
134
|
+
currentDirectory: this.bash.getCurrentDirectory(),
|
|
135
|
+
editHistory: this.textEditor.getEditHistory(),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { SuperAgentToolCall } from "../core/client";
|
|
2
|
+
import { ToolResult } from "../types";
|
|
3
|
+
import { EventEmitter } from "events";
|
|
4
|
+
export interface ChatEntry {
|
|
5
|
+
type: "user" | "assistant" | "tool_result" | "tool_call";
|
|
6
|
+
content: string;
|
|
7
|
+
timestamp: Date;
|
|
8
|
+
toolCalls?: SuperAgentToolCall[];
|
|
9
|
+
toolCall?: SuperAgentToolCall;
|
|
10
|
+
toolResult?: {
|
|
11
|
+
success: boolean;
|
|
12
|
+
output?: string;
|
|
13
|
+
error?: string;
|
|
14
|
+
};
|
|
15
|
+
isStreaming?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface StreamingChunk {
|
|
18
|
+
type: "content" | "tool_calls" | "tool_result" | "done" | "token_count";
|
|
19
|
+
content?: string;
|
|
20
|
+
toolCalls?: SuperAgentToolCall[];
|
|
21
|
+
toolCall?: SuperAgentToolCall;
|
|
22
|
+
toolResult?: ToolResult;
|
|
23
|
+
tokenCount?: number;
|
|
24
|
+
}
|
|
25
|
+
export declare class SuperAgent extends EventEmitter {
|
|
26
|
+
private superAgentClient;
|
|
27
|
+
private textEditor;
|
|
28
|
+
private morphEditor;
|
|
29
|
+
private bash;
|
|
30
|
+
private todoTool;
|
|
31
|
+
private confirmationTool;
|
|
32
|
+
private search;
|
|
33
|
+
private chatHistory;
|
|
34
|
+
private messages;
|
|
35
|
+
private tokenCounter;
|
|
36
|
+
private abortController;
|
|
37
|
+
private mcpInitialized;
|
|
38
|
+
private maxToolRounds;
|
|
39
|
+
constructor(apiKey: string, baseURL?: string, model?: string, maxToolRounds?: number);
|
|
40
|
+
private initializeMCP;
|
|
41
|
+
private isGrokModel;
|
|
42
|
+
private shouldUseSearchFor;
|
|
43
|
+
processUserMessage(message: string): Promise<ChatEntry[]>;
|
|
44
|
+
private messageReducer;
|
|
45
|
+
processUserMessageStream(message: string): AsyncGenerator<StreamingChunk, void, unknown>;
|
|
46
|
+
private executeTool;
|
|
47
|
+
private executeMCPTool;
|
|
48
|
+
getChatHistory(): ChatEntry[];
|
|
49
|
+
getCurrentDirectory(): string;
|
|
50
|
+
executeBashCommand(command: string): Promise<ToolResult>;
|
|
51
|
+
getCurrentModel(): string;
|
|
52
|
+
setModel(model: string): void;
|
|
53
|
+
abortCurrentOperation(): void;
|
|
54
|
+
}
|