@zds-ai/cli 0.1.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/LICENSE +21 -0
- package/README.md +497 -0
- package/dist/agent/grok-agent.d.ts +250 -0
- package/dist/agent/grok-agent.js +2480 -0
- package/dist/agent/grok-agent.js.map +1 -0
- package/dist/agent/index.d.ts +14 -0
- package/dist/agent/index.js +136 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/commands/mcp.d.ts +2 -0
- package/dist/commands/mcp.js +239 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/grok/client.d.ts +55 -0
- package/dist/grok/client.js +276 -0
- package/dist/grok/client.js.map +1 -0
- package/dist/grok/tools.d.ts +8 -0
- package/dist/grok/tools.js +878 -0
- package/dist/grok/tools.js.map +1 -0
- package/dist/hooks/use-enhanced-input.d.ts +38 -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 +36 -0
- package/dist/hooks/use-input-handler.js +1099 -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 +61 -0
- package/dist/hooks/use-input-history.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +869 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/client.d.ts +41 -0
- package/dist/mcp/client.js +224 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/config.d.ts +13 -0
- package/dist/mcp/config.js +56 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/transports.d.ts +53 -0
- package/dist/mcp/transports.js +256 -0
- package/dist/mcp/transports.js.map +1 -0
- package/dist/tools/character-tool.d.ts +27 -0
- package/dist/tools/character-tool.js +194 -0
- package/dist/tools/character-tool.js.map +1 -0
- package/dist/tools/clear-cache-tool.d.ts +14 -0
- package/dist/tools/clear-cache-tool.js +82 -0
- package/dist/tools/clear-cache-tool.js.map +1 -0
- package/dist/tools/confirmation-tool.d.ts +16 -0
- package/dist/tools/confirmation-tool.js +72 -0
- package/dist/tools/confirmation-tool.js.map +1 -0
- package/dist/tools/env-tool.d.ts +17 -0
- package/dist/tools/env-tool.js +89 -0
- package/dist/tools/env-tool.js.map +1 -0
- package/dist/tools/file-conversion-tool.d.ts +16 -0
- package/dist/tools/file-conversion-tool.js +181 -0
- package/dist/tools/file-conversion-tool.js.map +1 -0
- package/dist/tools/image-tool.d.ts +22 -0
- package/dist/tools/image-tool.js +268 -0
- package/dist/tools/image-tool.js.map +1 -0
- package/dist/tools/index.d.ts +14 -0
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/internet-tool.d.ts +11 -0
- package/dist/tools/internet-tool.js +108 -0
- package/dist/tools/internet-tool.js.map +1 -0
- package/dist/tools/introspect-tool.d.ts +11 -0
- package/dist/tools/introspect-tool.js +243 -0
- package/dist/tools/introspect-tool.js.map +1 -0
- package/dist/tools/morph-editor.d.ts +38 -0
- package/dist/tools/morph-editor.js +318 -0
- package/dist/tools/morph-editor.js.map +1 -0
- package/dist/tools/restart-tool.d.ts +7 -0
- package/dist/tools/restart-tool.js +24 -0
- package/dist/tools/restart-tool.js.map +1 -0
- package/dist/tools/search.d.ts +71 -0
- package/dist/tools/search.js +340 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/task-tool.d.ts +19 -0
- package/dist/tools/task-tool.js +115 -0
- package/dist/tools/task-tool.js.map +1 -0
- package/dist/tools/text-editor.d.ts +35 -0
- package/dist/tools/text-editor.js +669 -0
- package/dist/tools/text-editor.js.map +1 -0
- package/dist/tools/tool-discovery.d.ts +20 -0
- package/dist/tools/tool-discovery.js +45 -0
- package/dist/tools/tool-discovery.js.map +1 -0
- package/dist/tools/zsh.d.ts +13 -0
- package/dist/tools/zsh.js +168 -0
- package/dist/tools/zsh.js.map +1 -0
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/app.d.ts +7 -0
- package/dist/ui/app.js +99 -0
- package/dist/ui/app.js.map +1 -0
- package/dist/ui/components/active-task-status.d.ts +7 -0
- package/dist/ui/components/active-task-status.js +37 -0
- package/dist/ui/components/active-task-status.js.map +1 -0
- package/dist/ui/components/api-key-input.d.ts +7 -0
- package/dist/ui/components/api-key-input.js +80 -0
- package/dist/ui/components/api-key-input.js.map +1 -0
- package/dist/ui/components/backend-status.d.ts +7 -0
- package/dist/ui/components/backend-status.js +85 -0
- package/dist/ui/components/backend-status.js.map +1 -0
- package/dist/ui/components/chat-history.d.ts +8 -0
- package/dist/ui/components/chat-history.js +187 -0
- package/dist/ui/components/chat-history.js.map +1 -0
- package/dist/ui/components/chat-input.d.ts +9 -0
- package/dist/ui/components/chat-input.js +63 -0
- package/dist/ui/components/chat-input.js.map +1 -0
- package/dist/ui/components/chat-interface.d.ts +9 -0
- package/dist/ui/components/chat-interface.js +389 -0
- package/dist/ui/components/chat-interface.js.map +1 -0
- package/dist/ui/components/command-suggestions.d.ts +17 -0
- package/dist/ui/components/command-suggestions.js +22 -0
- package/dist/ui/components/command-suggestions.js.map +1 -0
- package/dist/ui/components/confirmation-dialog.d.ts +11 -0
- package/dist/ui/components/confirmation-dialog.js +105 -0
- package/dist/ui/components/confirmation-dialog.js.map +1 -0
- package/dist/ui/components/context-status.d.ts +7 -0
- package/dist/ui/components/context-status.js +36 -0
- package/dist/ui/components/context-status.js.map +1 -0
- package/dist/ui/components/diff-renderer.d.ts +13 -0
- package/dist/ui/components/diff-renderer.js +206 -0
- package/dist/ui/components/diff-renderer.js.map +1 -0
- package/dist/ui/components/loading-spinner.d.ts +8 -0
- package/dist/ui/components/loading-spinner.js +64 -0
- package/dist/ui/components/loading-spinner.js.map +1 -0
- package/dist/ui/components/mcp-status.d.ts +5 -0
- package/dist/ui/components/mcp-status.js +57 -0
- package/dist/ui/components/mcp-status.js.map +1 -0
- package/dist/ui/components/model-selection.d.ts +12 -0
- package/dist/ui/components/model-selection.js +17 -0
- package/dist/ui/components/model-selection.js.map +1 -0
- package/dist/ui/components/mood-status.d.ts +7 -0
- package/dist/ui/components/mood-status.js +34 -0
- package/dist/ui/components/mood-status.js.map +1 -0
- package/dist/ui/components/persona-status.d.ts +7 -0
- package/dist/ui/components/persona-status.js +34 -0
- package/dist/ui/components/persona-status.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 +4 -0
- package/dist/ui/utils/markdown-renderer.js +40 -0
- package/dist/ui/utils/markdown-renderer.js.map +1 -0
- package/dist/utils/auth-helper.d.ts +63 -0
- package/dist/utils/auth-helper.js +129 -0
- package/dist/utils/auth-helper.js.map +1 -0
- package/dist/utils/chat-history-manager-sqlite.d.ts +92 -0
- package/dist/utils/chat-history-manager-sqlite.js +334 -0
- package/dist/utils/chat-history-manager-sqlite.js.map +1 -0
- package/dist/utils/chat-history-manager.d.ts +87 -0
- package/dist/utils/chat-history-manager.js +273 -0
- package/dist/utils/chat-history-manager.js.map +1 -0
- package/dist/utils/chat-history-manager.json-backup.d.ts +69 -0
- package/dist/utils/chat-history-manager.json-backup.js +215 -0
- package/dist/utils/chat-history-manager.json-backup.js.map +1 -0
- package/dist/utils/confirmation-service.d.ts +46 -0
- package/dist/utils/confirmation-service.js +165 -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 +30 -0
- package/dist/utils/custom-instructions.js.map +1 -0
- package/dist/utils/database-connection.d.ts +27 -0
- package/dist/utils/database-connection.js +81 -0
- package/dist/utils/database-connection.js.map +1 -0
- package/dist/utils/database-schema.d.ts +17 -0
- package/dist/utils/database-schema.js +93 -0
- package/dist/utils/database-schema.js.map +1 -0
- package/dist/utils/error-logger.d.ts +13 -0
- package/dist/utils/error-logger.js +56 -0
- package/dist/utils/error-logger.js.map +1 -0
- package/dist/utils/hook-executor.d.ts +59 -0
- package/dist/utils/hook-executor.js +351 -0
- package/dist/utils/hook-executor.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/path-utils.d.ts +4 -0
- package/dist/utils/path-utils.js +12 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/utils/settings-manager.d.ts +169 -0
- package/dist/utils/settings-manager.js +403 -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/slash-commands.d.ts +25 -0
- package/dist/utils/slash-commands.js +454 -0
- package/dist/utils/slash-commands.js.map +1 -0
- package/dist/utils/startup-hook.d.ts +13 -0
- package/dist/utils/startup-hook.js +44 -0
- package/dist/utils/startup-hook.js.map +1 -0
- package/dist/utils/text-utils.d.ts +80 -0
- package/dist/utils/text-utils.js +182 -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 +78 -0
- package/dist/utils/token-counter.js.map +1 -0
- package/package.json +102 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { GrokMessage, GrokToolCall } from "../grok/client.js";
|
|
2
|
+
import { ToolResult } from "../types/index.js";
|
|
3
|
+
import { EventEmitter } from "events";
|
|
4
|
+
export interface ChatEntry {
|
|
5
|
+
type: "user" | "assistant" | "tool_result" | "tool_call" | "system";
|
|
6
|
+
content?: string;
|
|
7
|
+
timestamp: Date;
|
|
8
|
+
tool_calls?: GrokToolCall[];
|
|
9
|
+
toolCall?: GrokToolCall;
|
|
10
|
+
toolResult?: {
|
|
11
|
+
success: boolean;
|
|
12
|
+
output?: string;
|
|
13
|
+
error?: string;
|
|
14
|
+
displayOutput?: string;
|
|
15
|
+
};
|
|
16
|
+
isStreaming?: boolean;
|
|
17
|
+
preserveFormatting?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface StreamingChunk {
|
|
20
|
+
type: "content" | "tool_calls" | "tool_result" | "done" | "token_count" | "user_message";
|
|
21
|
+
content?: string;
|
|
22
|
+
tool_calls?: GrokToolCall[];
|
|
23
|
+
toolCall?: GrokToolCall;
|
|
24
|
+
toolResult?: ToolResult;
|
|
25
|
+
tokenCount?: number;
|
|
26
|
+
userEntry?: ChatEntry;
|
|
27
|
+
systemMessages?: ChatEntry[];
|
|
28
|
+
}
|
|
29
|
+
export declare class GrokAgent extends EventEmitter {
|
|
30
|
+
private grokClient;
|
|
31
|
+
private textEditor;
|
|
32
|
+
private morphEditor;
|
|
33
|
+
private zsh;
|
|
34
|
+
private confirmationTool;
|
|
35
|
+
private search;
|
|
36
|
+
private env;
|
|
37
|
+
private introspect;
|
|
38
|
+
private clearCacheTool;
|
|
39
|
+
private characterTool;
|
|
40
|
+
private taskTool;
|
|
41
|
+
private internetTool;
|
|
42
|
+
private imageTool;
|
|
43
|
+
private fileConversionTool;
|
|
44
|
+
private restartTool;
|
|
45
|
+
private chatHistory;
|
|
46
|
+
private messages;
|
|
47
|
+
private tokenCounter;
|
|
48
|
+
private abortController;
|
|
49
|
+
private mcpInitialized;
|
|
50
|
+
private maxToolRounds;
|
|
51
|
+
private temperature;
|
|
52
|
+
private maxTokens;
|
|
53
|
+
private firstMessageProcessed;
|
|
54
|
+
private contextWarningAt80;
|
|
55
|
+
private contextWarningAt90;
|
|
56
|
+
private persona;
|
|
57
|
+
private personaColor;
|
|
58
|
+
private mood;
|
|
59
|
+
private moodColor;
|
|
60
|
+
private activeTask;
|
|
61
|
+
private activeTaskAction;
|
|
62
|
+
private activeTaskColor;
|
|
63
|
+
private apiKeyEnvVar;
|
|
64
|
+
private pendingContextEdit;
|
|
65
|
+
constructor(apiKey: string, baseURL?: string, model?: string, maxToolRounds?: number, debugLogFile?: string, startupHookOutput?: string, temperature?: number, maxTokens?: number);
|
|
66
|
+
private startupHookOutput?;
|
|
67
|
+
private systemPrompt;
|
|
68
|
+
/**
|
|
69
|
+
* Initialize the agent with dynamic system prompt
|
|
70
|
+
* Must be called after construction
|
|
71
|
+
*/
|
|
72
|
+
initialize(): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Build/rebuild the system message with current tool availability
|
|
75
|
+
* Updates this.systemPrompt which is always used for messages[0]
|
|
76
|
+
*/
|
|
77
|
+
buildSystemMessage(): Promise<void>;
|
|
78
|
+
loadInitialHistory(history: ChatEntry[], systemPrompt?: string): Promise<void>;
|
|
79
|
+
private initializeMCP;
|
|
80
|
+
private isGrokModel;
|
|
81
|
+
private shouldUseSearchFor;
|
|
82
|
+
processUserMessage(message: string): Promise<ChatEntry[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Parse XML-formatted tool calls from message content (x.ai format)
|
|
85
|
+
* Converts <xai:function_call> elements to standard GrokToolCall format
|
|
86
|
+
*/
|
|
87
|
+
private parseXMLToolCalls;
|
|
88
|
+
private messageReducer;
|
|
89
|
+
processUserMessageStream(message: string): AsyncGenerator<StreamingChunk, void, unknown>;
|
|
90
|
+
/**
|
|
91
|
+
* Apply default parameter values for tools
|
|
92
|
+
* This ensures the approval hook sees the same parameters that will be used during execution
|
|
93
|
+
*/
|
|
94
|
+
private applyToolParameterDefaults;
|
|
95
|
+
/**
|
|
96
|
+
* Validate tool arguments against the tool's schema
|
|
97
|
+
* Returns null if valid, or an error message if invalid
|
|
98
|
+
*/
|
|
99
|
+
private validateToolArguments;
|
|
100
|
+
private executeTool;
|
|
101
|
+
private executeMCPTool;
|
|
102
|
+
getChatHistory(): ChatEntry[];
|
|
103
|
+
setChatHistory(history: ChatEntry[]): void;
|
|
104
|
+
getSystemPrompt(): string;
|
|
105
|
+
setSystemPrompt(prompt: string): void;
|
|
106
|
+
getMessages(): any[];
|
|
107
|
+
getCurrentTokenCount(): number;
|
|
108
|
+
getMaxContextSize(): number;
|
|
109
|
+
getContextUsagePercent(): number;
|
|
110
|
+
/**
|
|
111
|
+
* Convert context messages to markdown format for viewing
|
|
112
|
+
* Format: (N) Name (role) - timestamp
|
|
113
|
+
*/
|
|
114
|
+
convertContextToMarkdown(): Promise<string>;
|
|
115
|
+
getPersona(): string;
|
|
116
|
+
getPersonaColor(): string;
|
|
117
|
+
getMood(): string;
|
|
118
|
+
getMoodColor(): string;
|
|
119
|
+
getActiveTask(): string;
|
|
120
|
+
getActiveTaskAction(): string;
|
|
121
|
+
getActiveTaskColor(): string;
|
|
122
|
+
setPendingContextEdit(tmpJsonPath: string, contextFilePath: string): void;
|
|
123
|
+
getPendingContextEdit(): {
|
|
124
|
+
tmpJsonPath: string;
|
|
125
|
+
contextFilePath: string;
|
|
126
|
+
} | null;
|
|
127
|
+
clearPendingContextEdit(): void;
|
|
128
|
+
setPersona(persona: string, color?: string): Promise<{
|
|
129
|
+
success: boolean;
|
|
130
|
+
error?: string;
|
|
131
|
+
}>;
|
|
132
|
+
setMood(mood: string, color?: string): Promise<{
|
|
133
|
+
success: boolean;
|
|
134
|
+
error?: string;
|
|
135
|
+
}>;
|
|
136
|
+
startActiveTask(activeTask: string, action: string, color?: string): Promise<{
|
|
137
|
+
success: boolean;
|
|
138
|
+
error?: string;
|
|
139
|
+
}>;
|
|
140
|
+
transitionActiveTaskStatus(action: string, color?: string): Promise<{
|
|
141
|
+
success: boolean;
|
|
142
|
+
error?: string;
|
|
143
|
+
}>;
|
|
144
|
+
stopActiveTask(reason: string, documentationFile: string, color?: string): Promise<{
|
|
145
|
+
success: boolean;
|
|
146
|
+
error?: string;
|
|
147
|
+
}>;
|
|
148
|
+
private emitContextChange;
|
|
149
|
+
private addContextWarningIfNeeded;
|
|
150
|
+
executeCommand(command: string, skipConfirmation?: boolean): Promise<ToolResult>;
|
|
151
|
+
getCurrentModel(): string;
|
|
152
|
+
setModel(model: string): void;
|
|
153
|
+
/**
|
|
154
|
+
* Strip in-progress tool calls from messages for backend/model testing
|
|
155
|
+
* Removes tool_calls from the last assistant message and any corresponding tool results
|
|
156
|
+
* @returns Cleaned copy of messages array, or original if no stripping needed
|
|
157
|
+
*/
|
|
158
|
+
static stripInProgressToolCalls(messages: GrokMessage[]): GrokMessage[];
|
|
159
|
+
/**
|
|
160
|
+
* Test a model change by making a test API call with current conversation context
|
|
161
|
+
* Rolls back to previous model if test fails
|
|
162
|
+
* @param newModel Model to test
|
|
163
|
+
* @returns Promise with success status and optional error message
|
|
164
|
+
*/
|
|
165
|
+
testModel(newModel: string): Promise<{
|
|
166
|
+
success: boolean;
|
|
167
|
+
error?: string;
|
|
168
|
+
}>;
|
|
169
|
+
/**
|
|
170
|
+
* Test backend/baseUrl/model changes by making a test API call with current conversation context
|
|
171
|
+
* Rolls back all changes if test fails
|
|
172
|
+
* @param backend Backend display name
|
|
173
|
+
* @param baseUrl Base URL for API calls
|
|
174
|
+
* @param apiKeyEnvVar Name of environment variable containing API key
|
|
175
|
+
* @param model Model to use (optional, uses current model if not specified)
|
|
176
|
+
* @returns Promise with success status and optional error message
|
|
177
|
+
*/
|
|
178
|
+
testBackendModelChange(backend: string, baseUrl: string, apiKeyEnvVar: string, model?: string): Promise<{
|
|
179
|
+
success: boolean;
|
|
180
|
+
error?: string;
|
|
181
|
+
}>;
|
|
182
|
+
/**
|
|
183
|
+
* Process hook result including commands and transformations
|
|
184
|
+
* Handles ENV transformations, model/backend testing, and error messaging
|
|
185
|
+
* @param hookResult Hook execution result
|
|
186
|
+
* @param envKey Optional ENV key to check for transformation (e.g., ZDS_AI_AGENT_PERSONA)
|
|
187
|
+
* @returns Object with success status and transformed value (if any)
|
|
188
|
+
*/
|
|
189
|
+
private processHookResult;
|
|
190
|
+
/**
|
|
191
|
+
* Process hook commands (MODEL, BACKEND, BASE_URL, SYSTEM, ENV)
|
|
192
|
+
* Handles model/backend testing and error messaging
|
|
193
|
+
* @param commands Hook commands from applyHookCommands()
|
|
194
|
+
*/
|
|
195
|
+
private processHookCommands;
|
|
196
|
+
getBackend(): string;
|
|
197
|
+
abortCurrentOperation(): void;
|
|
198
|
+
clearCache(): Promise<void>;
|
|
199
|
+
/**
|
|
200
|
+
* Get current session state for persistence
|
|
201
|
+
*/
|
|
202
|
+
getSessionState(): {
|
|
203
|
+
session: string;
|
|
204
|
+
persona: string;
|
|
205
|
+
personaColor: string;
|
|
206
|
+
mood: string;
|
|
207
|
+
moodColor: string;
|
|
208
|
+
activeTask: string;
|
|
209
|
+
activeTaskAction: string;
|
|
210
|
+
activeTaskColor: string;
|
|
211
|
+
cwd: string;
|
|
212
|
+
contextCurrent: number;
|
|
213
|
+
contextMax: number;
|
|
214
|
+
backend: string;
|
|
215
|
+
baseUrl: string;
|
|
216
|
+
apiKeyEnvVar: string;
|
|
217
|
+
model: string;
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Restore session state from persistence
|
|
221
|
+
*/
|
|
222
|
+
restoreSessionState(state: {
|
|
223
|
+
session?: string;
|
|
224
|
+
persona: string;
|
|
225
|
+
personaColor: string;
|
|
226
|
+
mood: string;
|
|
227
|
+
moodColor: string;
|
|
228
|
+
activeTask: string;
|
|
229
|
+
activeTaskAction: string;
|
|
230
|
+
activeTaskColor: string;
|
|
231
|
+
cwd: string;
|
|
232
|
+
contextCurrent?: number;
|
|
233
|
+
contextMax?: number;
|
|
234
|
+
backend?: string;
|
|
235
|
+
baseUrl?: string;
|
|
236
|
+
apiKeyEnvVar?: string;
|
|
237
|
+
model?: string;
|
|
238
|
+
}): Promise<void>;
|
|
239
|
+
/**
|
|
240
|
+
* Get all tool instances and their class names for display purposes
|
|
241
|
+
*/
|
|
242
|
+
getToolClassInfo(): Array<{
|
|
243
|
+
className: string;
|
|
244
|
+
methods: string[];
|
|
245
|
+
}>;
|
|
246
|
+
/**
|
|
247
|
+
* Get all tool instances via reflection
|
|
248
|
+
*/
|
|
249
|
+
private getToolInstances;
|
|
250
|
+
}
|