centaurus-cli 2.9.2 → 2.9.4
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/dist/cli-adapter.d.ts +78 -11
- package/dist/cli-adapter.d.ts.map +1 -1
- package/dist/cli-adapter.js +851 -215
- package/dist/cli-adapter.js.map +1 -1
- package/dist/commands/CommandParser.d.ts +1 -1
- package/dist/commands/CommandParser.d.ts.map +1 -1
- package/dist/commands/CommandParser.js +113 -0
- package/dist/commands/CommandParser.js.map +1 -1
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +2 -0
- package/dist/config/models.js.map +1 -1
- package/dist/config/slash-commands.d.ts +5 -0
- package/dist/config/slash-commands.d.ts.map +1 -1
- package/dist/config/slash-commands.js +63 -1
- package/dist/config/slash-commands.js.map +1 -1
- package/dist/config/types.d.ts +2 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +1 -0
- package/dist/config/types.js.map +1 -1
- package/dist/context/context-manager.d.ts +1 -1
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +3 -1
- package/dist/context/context-manager.js.map +1 -1
- package/dist/context/handlers/docker-handler.d.ts +9 -0
- package/dist/context/handlers/docker-handler.d.ts.map +1 -1
- package/dist/context/handlers/docker-handler.js +99 -10
- package/dist/context/handlers/docker-handler.js.map +1 -1
- package/dist/context/handlers/ssh-handler.d.ts +20 -0
- package/dist/context/handlers/ssh-handler.d.ts.map +1 -1
- package/dist/context/handlers/ssh-handler.js +129 -1
- package/dist/context/handlers/ssh-handler.js.map +1 -1
- package/dist/context/subshell-handler.d.ts +15 -0
- package/dist/context/subshell-handler.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/services/ai-autocomplete-agent.d.ts +39 -0
- package/dist/services/ai-autocomplete-agent.d.ts.map +1 -0
- package/dist/services/ai-autocomplete-agent.js +189 -0
- package/dist/services/ai-autocomplete-agent.js.map +1 -0
- package/dist/services/ai-service-client.d.ts +25 -0
- package/dist/services/ai-service-client.d.ts.map +1 -1
- package/dist/services/ai-service-client.js +195 -12
- package/dist/services/ai-service-client.js.map +1 -1
- package/dist/services/api-client.js +1 -1
- package/dist/services/api-client.js.map +1 -1
- package/dist/services/auth-handler.js +1 -1
- package/dist/services/auth-handler.js.map +1 -1
- package/dist/services/local-chat-storage.d.ts +21 -0
- package/dist/services/local-chat-storage.d.ts.map +1 -1
- package/dist/services/local-chat-storage.js +138 -43
- package/dist/services/local-chat-storage.js.map +1 -1
- package/dist/services/ollama-service.d.ts +197 -0
- package/dist/services/ollama-service.d.ts.map +1 -0
- package/dist/services/ollama-service.js +324 -0
- package/dist/services/ollama-service.js.map +1 -0
- package/dist/services/warpify-detector.d.ts +43 -0
- package/dist/services/warpify-detector.d.ts.map +1 -0
- package/dist/services/warpify-detector.js +203 -0
- package/dist/services/warpify-detector.js.map +1 -0
- package/dist/services/workflow-storage.d.ts +72 -0
- package/dist/services/workflow-storage.d.ts.map +1 -0
- package/dist/services/workflow-storage.js +239 -0
- package/dist/services/workflow-storage.js.map +1 -0
- package/dist/tools/command.d.ts.map +1 -1
- package/dist/tools/command.js +14 -0
- package/dist/tools/command.js.map +1 -1
- package/dist/tools/enter-remote-session.d.ts +13 -0
- package/dist/tools/enter-remote-session.d.ts.map +1 -0
- package/dist/tools/enter-remote-session.js +226 -0
- package/dist/tools/enter-remote-session.js.map +1 -0
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +9 -2
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/grep-search.d.ts +104 -31
- package/dist/tools/grep-search.d.ts.map +1 -1
- package/dist/tools/grep-search.js +699 -430
- package/dist/tools/grep-search.js.map +1 -1
- package/dist/tools/workflow-tool.d.ts +11 -0
- package/dist/tools/workflow-tool.d.ts.map +1 -0
- package/dist/tools/workflow-tool.js +87 -0
- package/dist/tools/workflow-tool.js.map +1 -0
- package/dist/types/workflow.d.ts +110 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +8 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/ui/components/App.d.ts +12 -3
- package/dist/ui/components/App.d.ts.map +1 -1
- package/dist/ui/components/App.js +162 -6
- package/dist/ui/components/App.js.map +1 -1
- package/dist/ui/components/Breadcrumbs.d.ts +4 -3
- package/dist/ui/components/Breadcrumbs.d.ts.map +1 -1
- package/dist/ui/components/Breadcrumbs.js +60 -54
- package/dist/ui/components/Breadcrumbs.js.map +1 -1
- package/dist/ui/components/ConnectionStatusMessage.js +2 -2
- package/dist/ui/components/ConnectionStatusMessage.js.map +1 -1
- package/dist/ui/components/InputBox.d.ts +3 -0
- package/dist/ui/components/InputBox.d.ts.map +1 -1
- package/dist/ui/components/InputBox.js +488 -20
- package/dist/ui/components/InputBox.js.map +1 -1
- package/dist/ui/components/InteractiveShell.d.ts +2 -0
- package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
- package/dist/ui/components/InteractiveShell.js +13 -3
- package/dist/ui/components/InteractiveShell.js.map +1 -1
- package/dist/ui/components/MultiLineInput.d.ts.map +1 -1
- package/dist/ui/components/MultiLineInput.js +68 -2
- package/dist/ui/components/MultiLineInput.js.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.js +169 -26
- package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
- package/dist/ui/components/WorkflowCreatorScreen.d.ts +25 -0
- package/dist/ui/components/WorkflowCreatorScreen.d.ts.map +1 -0
- package/dist/ui/components/WorkflowCreatorScreen.js +164 -0
- package/dist/ui/components/WorkflowCreatorScreen.js.map +1 -0
- package/dist/utils/command-history.d.ts +12 -2
- package/dist/utils/command-history.d.ts.map +1 -1
- package/dist/utils/command-history.js +57 -13
- package/dist/utils/command-history.js.map +1 -1
- package/dist/utils/input-classifier.d.ts.map +1 -1
- package/dist/utils/input-classifier.js +3 -2
- package/dist/utils/input-classifier.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Storage Service
|
|
3
|
+
*
|
|
4
|
+
* Handles saving, loading, listing, and deleting workflows.
|
|
5
|
+
* Workflows are stored as JSON files in ~/.centaurus/workflows/
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import * as os from 'os';
|
|
10
|
+
const WORKFLOW_DIR = path.join(os.homedir(), '.centaurus', 'workflows');
|
|
11
|
+
const WORKFLOW_EXT = '.centaurus-flow';
|
|
12
|
+
/**
|
|
13
|
+
* Ensure the workflows directory exists
|
|
14
|
+
*/
|
|
15
|
+
function ensureWorkflowDir() {
|
|
16
|
+
if (!fs.existsSync(WORKFLOW_DIR)) {
|
|
17
|
+
fs.mkdirSync(WORKFLOW_DIR, { recursive: true });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Sanitize workflow name for use as filename
|
|
22
|
+
*/
|
|
23
|
+
function sanitizeName(name) {
|
|
24
|
+
return name
|
|
25
|
+
.toLowerCase()
|
|
26
|
+
.replace(/[^a-z0-9_-]/g, '-')
|
|
27
|
+
.replace(/-+/g, '-')
|
|
28
|
+
.replace(/^-|-$/g, '');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get the file path for a workflow
|
|
32
|
+
*/
|
|
33
|
+
function getWorkflowPath(name) {
|
|
34
|
+
return path.join(WORKFLOW_DIR, `${sanitizeName(name)}${WORKFLOW_EXT}`);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Generate a unique ID for workflows and steps
|
|
38
|
+
*/
|
|
39
|
+
function generateId() {
|
|
40
|
+
return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Workflow Storage Service
|
|
44
|
+
*/
|
|
45
|
+
export class WorkflowStorageService {
|
|
46
|
+
static instance;
|
|
47
|
+
constructor() {
|
|
48
|
+
ensureWorkflowDir();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get the singleton instance
|
|
52
|
+
*/
|
|
53
|
+
static getInstance() {
|
|
54
|
+
if (!WorkflowStorageService.instance) {
|
|
55
|
+
WorkflowStorageService.instance = new WorkflowStorageService();
|
|
56
|
+
}
|
|
57
|
+
return WorkflowStorageService.instance;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create a new workflow from steps
|
|
61
|
+
*/
|
|
62
|
+
createWorkflow(name, steps, description) {
|
|
63
|
+
const now = new Date().toISOString();
|
|
64
|
+
const workflow = {
|
|
65
|
+
id: generateId(),
|
|
66
|
+
name: name.trim(),
|
|
67
|
+
description,
|
|
68
|
+
steps: steps.map((step, index) => ({
|
|
69
|
+
id: generateId(),
|
|
70
|
+
type: step.type,
|
|
71
|
+
content: step.content,
|
|
72
|
+
order: index
|
|
73
|
+
})),
|
|
74
|
+
createdAt: now,
|
|
75
|
+
updatedAt: now
|
|
76
|
+
};
|
|
77
|
+
return workflow;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Save a workflow to disk
|
|
81
|
+
*/
|
|
82
|
+
save(workflow) {
|
|
83
|
+
try {
|
|
84
|
+
ensureWorkflowDir();
|
|
85
|
+
const filePath = getWorkflowPath(workflow.name);
|
|
86
|
+
// Check if workflow with this name already exists
|
|
87
|
+
if (fs.existsSync(filePath)) {
|
|
88
|
+
// Update the existing workflow's updatedAt
|
|
89
|
+
workflow.updatedAt = new Date().toISOString();
|
|
90
|
+
}
|
|
91
|
+
fs.writeFileSync(filePath, JSON.stringify(workflow, null, 2), 'utf-8');
|
|
92
|
+
return { success: true };
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
return { success: false, error: error.message };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Load a workflow by name
|
|
100
|
+
*/
|
|
101
|
+
load(name) {
|
|
102
|
+
try {
|
|
103
|
+
const filePath = getWorkflowPath(name);
|
|
104
|
+
if (!fs.existsSync(filePath)) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
108
|
+
return JSON.parse(content);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Check if a workflow exists
|
|
116
|
+
*/
|
|
117
|
+
exists(name) {
|
|
118
|
+
return fs.existsSync(getWorkflowPath(name));
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* List all workflows (metadata only)
|
|
122
|
+
*/
|
|
123
|
+
list() {
|
|
124
|
+
try {
|
|
125
|
+
ensureWorkflowDir();
|
|
126
|
+
const files = fs.readdirSync(WORKFLOW_DIR).filter(f => f.endsWith(WORKFLOW_EXT));
|
|
127
|
+
const workflows = [];
|
|
128
|
+
for (const file of files) {
|
|
129
|
+
try {
|
|
130
|
+
const filePath = path.join(WORKFLOW_DIR, file);
|
|
131
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
132
|
+
const workflow = JSON.parse(content);
|
|
133
|
+
workflows.push({
|
|
134
|
+
id: workflow.id,
|
|
135
|
+
name: workflow.name,
|
|
136
|
+
description: workflow.description,
|
|
137
|
+
stepCount: workflow.steps.length,
|
|
138
|
+
createdAt: workflow.createdAt,
|
|
139
|
+
updatedAt: workflow.updatedAt
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
// Skip invalid files
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Sort by most recently updated
|
|
147
|
+
return workflows.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
return [];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Delete a workflow by name
|
|
155
|
+
*/
|
|
156
|
+
delete(name) {
|
|
157
|
+
try {
|
|
158
|
+
const filePath = getWorkflowPath(name);
|
|
159
|
+
if (!fs.existsSync(filePath)) {
|
|
160
|
+
return { success: false, error: `Workflow '${name}' not found` };
|
|
161
|
+
}
|
|
162
|
+
fs.unlinkSync(filePath);
|
|
163
|
+
return { success: true };
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
return { success: false, error: error.message };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Rename a workflow
|
|
171
|
+
*/
|
|
172
|
+
rename(oldName, newName) {
|
|
173
|
+
try {
|
|
174
|
+
const workflow = this.load(oldName);
|
|
175
|
+
if (!workflow) {
|
|
176
|
+
return { success: false, error: `Workflow '${oldName}' not found` };
|
|
177
|
+
}
|
|
178
|
+
const newPath = getWorkflowPath(newName);
|
|
179
|
+
if (fs.existsSync(newPath)) {
|
|
180
|
+
return { success: false, error: `Workflow '${newName}' already exists` };
|
|
181
|
+
}
|
|
182
|
+
// Update the workflow name and save to new location
|
|
183
|
+
workflow.name = newName.trim();
|
|
184
|
+
workflow.updatedAt = new Date().toISOString();
|
|
185
|
+
const saveResult = this.save(workflow);
|
|
186
|
+
if (!saveResult.success) {
|
|
187
|
+
return saveResult;
|
|
188
|
+
}
|
|
189
|
+
// Delete the old file
|
|
190
|
+
return this.delete(oldName);
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
return { success: false, error: error.message };
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Format a workflow for display
|
|
198
|
+
*/
|
|
199
|
+
formatWorkflowForDisplay(workflow) {
|
|
200
|
+
let output = `📋 **${workflow.name}**\n`;
|
|
201
|
+
if (workflow.description) {
|
|
202
|
+
output += ` ${workflow.description}\n`;
|
|
203
|
+
}
|
|
204
|
+
output += `\n**Steps (${workflow.steps.length}):**\n`;
|
|
205
|
+
for (const step of workflow.steps) {
|
|
206
|
+
const typeIcon = step.type === 'command' ? '⚡' : '📝';
|
|
207
|
+
const typeLabel = step.type === 'command' ? 'COMMAND' : 'INSTRUCTION';
|
|
208
|
+
output += `\n${step.order + 1}. ${typeIcon} [${typeLabel}]\n`;
|
|
209
|
+
output += ` ${step.content}\n`;
|
|
210
|
+
}
|
|
211
|
+
return output;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Format a workflow step for prompting the AI
|
|
215
|
+
*/
|
|
216
|
+
formatStepForAI(step, stepNumber, totalSteps) {
|
|
217
|
+
const typeLabel = step.type === 'command' ? 'COMMAND' : 'INSTRUCTION';
|
|
218
|
+
return `**Step ${stepNumber} of ${totalSteps} [${typeLabel}]:**\n${step.content}`;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Format the entire workflow for the initial AI prompt
|
|
222
|
+
*/
|
|
223
|
+
formatWorkflowForAI(workflow) {
|
|
224
|
+
let output = `# Workflow: ${workflow.name}\n\n`;
|
|
225
|
+
if (workflow.description) {
|
|
226
|
+
output += `Description: ${workflow.description}\n\n`;
|
|
227
|
+
}
|
|
228
|
+
output += `Total Steps: ${workflow.steps.length}\n\n`;
|
|
229
|
+
output += `## Steps Overview:\n\n`;
|
|
230
|
+
for (const step of workflow.steps) {
|
|
231
|
+
const typeLabel = step.type === 'command' ? 'COMMAND' : 'INSTRUCTION';
|
|
232
|
+
output += `Step ${step.order + 1} [${typeLabel}]: ${step.content}\n`;
|
|
233
|
+
}
|
|
234
|
+
return output;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// Export singleton instance
|
|
238
|
+
export const workflowStorage = WorkflowStorageService.getInstance();
|
|
239
|
+
//# sourceMappingURL=workflow-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-storage.js","sourceRoot":"","sources":["../../src/services/workflow-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAwClC,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAwClC,eAAO,MAAM,cAAc,EAAE,IAib5B,CAAC"}
|
package/dist/tools/command.js
CHANGED
|
@@ -122,6 +122,13 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
122
122
|
throw new Error(`Path is not a directory: ${targetDir}\n\nAction: Verify the path points to a directory, not a file.`);
|
|
123
123
|
}
|
|
124
124
|
contextManager.updateWorkingDirectory(newCwd);
|
|
125
|
+
// Update CLI adapter CWD and notify UI
|
|
126
|
+
if (context.cliAdapter) {
|
|
127
|
+
context.cliAdapter.cwd = newCwd;
|
|
128
|
+
if (context.cliAdapter.onCwdChange) {
|
|
129
|
+
context.cliAdapter.onCwdChange(newCwd);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
125
132
|
return `Changed directory to: ${newCwd}`;
|
|
126
133
|
}
|
|
127
134
|
else {
|
|
@@ -134,6 +141,13 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
134
141
|
const newCwd = await currentContext.handler.getCurrentWorkingDirectory();
|
|
135
142
|
if (newCwd) {
|
|
136
143
|
contextManager.updateWorkingDirectory(newCwd);
|
|
144
|
+
// Update CLI adapter CWD and notify UI
|
|
145
|
+
if (context.cliAdapter) {
|
|
146
|
+
context.cliAdapter.cwd = newCwd;
|
|
147
|
+
if (context.cliAdapter.onCwdChange) {
|
|
148
|
+
context.cliAdapter.onCwdChange(newCwd);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
137
151
|
}
|
|
138
152
|
}
|
|
139
153
|
return `Changed directory to: ${contextManager.getCurrentContext().metadata.workingDirectory}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enter Remote Session Tool
|
|
3
|
+
*
|
|
4
|
+
* Allows the AI agent to programmatically enter SSH, Docker, or WSL environments.
|
|
5
|
+
* When executed, the session context automatically switches ("auto-warpify")
|
|
6
|
+
* and subsequent commands run in the remote environment.
|
|
7
|
+
*
|
|
8
|
+
* Password prompts are handled by the existing password request callback,
|
|
9
|
+
* which prompts the user for input when needed.
|
|
10
|
+
*/
|
|
11
|
+
import { Tool } from './types.js';
|
|
12
|
+
export declare const enterRemoteSessionTool: Tool;
|
|
13
|
+
//# sourceMappingURL=enter-remote-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enter-remote-session.d.ts","sourceRoot":"","sources":["../../src/tools/enter-remote-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AA2GlC,eAAO,MAAM,sBAAsB,EAAE,IAoIpC,CAAC"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enter Remote Session Tool
|
|
3
|
+
*
|
|
4
|
+
* Allows the AI agent to programmatically enter SSH, Docker, or WSL environments.
|
|
5
|
+
* When executed, the session context automatically switches ("auto-warpify")
|
|
6
|
+
* and subsequent commands run in the remote environment.
|
|
7
|
+
*
|
|
8
|
+
* Password prompts are handled by the existing password request callback,
|
|
9
|
+
* which prompts the user for input when needed.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Parse connection string from SSH command
|
|
13
|
+
* Examples:
|
|
14
|
+
* "ssh rohan@192.168.1.100" -> "rohan@192.168.1.100"
|
|
15
|
+
* "ssh -p 22 rohan@localhost" -> "rohan@localhost"
|
|
16
|
+
* "ssh -i ~/.ssh/id_rsa user@host" -> "user@host"
|
|
17
|
+
*/
|
|
18
|
+
function parseSSHConnectionString(command) {
|
|
19
|
+
// Match user@host pattern in the command
|
|
20
|
+
const match = command.match(/(\S+)@(\S+)/);
|
|
21
|
+
if (match) {
|
|
22
|
+
return match[0];
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Parse container name from Docker command
|
|
28
|
+
* Examples:
|
|
29
|
+
* "docker exec -it mycontainer bash" -> "mycontainer"
|
|
30
|
+
* "docker exec mycontainer sh" -> "mycontainer"
|
|
31
|
+
*/
|
|
32
|
+
function parseDockerContainer(command) {
|
|
33
|
+
// docker exec pattern: look for container name after flags
|
|
34
|
+
const execMatch = command.match(/docker\s+exec\s+(?:-\w+\s+)*(\S+)/i);
|
|
35
|
+
if (execMatch) {
|
|
36
|
+
return execMatch[1];
|
|
37
|
+
}
|
|
38
|
+
// docker run pattern
|
|
39
|
+
const runMatch = command.match(/docker\s+run\s+(?:-\w+(?:\s+\S+)?\s+)*(\S+)/i);
|
|
40
|
+
if (runMatch) {
|
|
41
|
+
return runMatch[1];
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Parse WSL distro name from command
|
|
47
|
+
* Examples:
|
|
48
|
+
* "wsl" -> "Ubuntu" (default)
|
|
49
|
+
* "wsl -d Ubuntu-22.04" -> "Ubuntu-22.04"
|
|
50
|
+
*/
|
|
51
|
+
function parseWSLDistro(command) {
|
|
52
|
+
const match = command.match(/wsl\s+(?:-d|--distribution)\s+(\S+)/i);
|
|
53
|
+
if (match) {
|
|
54
|
+
return match[1];
|
|
55
|
+
}
|
|
56
|
+
return 'Ubuntu'; // Default distro
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Validate that the command matches the expected session type
|
|
60
|
+
*/
|
|
61
|
+
function validateCommand(command, sessionType) {
|
|
62
|
+
const trimmedCommand = command.trim().toLowerCase();
|
|
63
|
+
switch (sessionType) {
|
|
64
|
+
case 'ssh':
|
|
65
|
+
if (!trimmedCommand.startsWith('ssh ') && trimmedCommand !== 'ssh') {
|
|
66
|
+
return { valid: false, error: 'SSH command must start with "ssh"' };
|
|
67
|
+
}
|
|
68
|
+
// Validate it has a target
|
|
69
|
+
if (!command.match(/\S+@\S+/) && !command.match(/ssh\s+\S+/)) {
|
|
70
|
+
return { valid: false, error: 'SSH command must specify a host (e.g., "ssh user@host")' };
|
|
71
|
+
}
|
|
72
|
+
break;
|
|
73
|
+
case 'docker':
|
|
74
|
+
if (!trimmedCommand.startsWith('docker ')) {
|
|
75
|
+
return { valid: false, error: 'Docker command must start with "docker"' };
|
|
76
|
+
}
|
|
77
|
+
if (!trimmedCommand.includes('exec') && !trimmedCommand.includes('run')) {
|
|
78
|
+
return { valid: false, error: 'Docker command must use "exec" or "run" (e.g., "docker exec -it container bash")' };
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
case 'wsl':
|
|
82
|
+
if (!trimmedCommand.startsWith('wsl') && trimmedCommand !== 'bash') {
|
|
83
|
+
return { valid: false, error: 'WSL command must start with "wsl" or be "bash"' };
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
return { valid: true };
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get connection string based on session type and command
|
|
91
|
+
*/
|
|
92
|
+
function getConnectionString(command, sessionType) {
|
|
93
|
+
switch (sessionType) {
|
|
94
|
+
case 'ssh':
|
|
95
|
+
return parseSSHConnectionString(command);
|
|
96
|
+
case 'docker':
|
|
97
|
+
return parseDockerContainer(command);
|
|
98
|
+
case 'wsl':
|
|
99
|
+
return parseWSLDistro(command);
|
|
100
|
+
default:
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export const enterRemoteSessionTool = {
|
|
105
|
+
schema: {
|
|
106
|
+
name: 'enter_remote_session',
|
|
107
|
+
description: `Manage remote environment sessions (SSH, Docker, or WSL).
|
|
108
|
+
|
|
109
|
+
ACTIONS:
|
|
110
|
+
- enter: Switch context to a remote session. All subsequent commands will run in the remote environment.
|
|
111
|
+
- exit: Exit the current remote session and return to the parent environment.
|
|
112
|
+
|
|
113
|
+
**Enter action**:
|
|
114
|
+
After the tool executes successfully:
|
|
115
|
+
- All subsequent commands will run in the remote environment
|
|
116
|
+
- The working directory will change to the remote system's directory
|
|
117
|
+
- File operations will target remote files
|
|
118
|
+
|
|
119
|
+
Examples:
|
|
120
|
+
- SSH: action="enter", session_type="ssh", command="ssh rohan@192.168.1.100"
|
|
121
|
+
- Docker: action="enter", session_type="docker", command="docker exec -it mycontainer bash"
|
|
122
|
+
- WSL: action="enter", session_type="wsl", command="wsl -d Ubuntu"
|
|
123
|
+
|
|
124
|
+
**Exit action**:
|
|
125
|
+
Exits the current remote session and returns to the parent environment (local or outer remote session).
|
|
126
|
+
- Example: action="exit"
|
|
127
|
+
|
|
128
|
+
IMPORTANT:
|
|
129
|
+
- You CANNOT run raw ssh/docker/wsl commands via execute_command. Use this tool instead.
|
|
130
|
+
- To exit a remote session, use action="exit" instead of running the "exit" command.
|
|
131
|
+
- Password prompts go to the user; the tool will wait for user input.`,
|
|
132
|
+
parameters: {
|
|
133
|
+
type: 'object',
|
|
134
|
+
properties: {
|
|
135
|
+
action: {
|
|
136
|
+
type: 'string',
|
|
137
|
+
enum: ['enter', 'exit'],
|
|
138
|
+
description: 'The action to perform: "enter" to connect to a remote session, "exit" to leave the current remote session.'
|
|
139
|
+
},
|
|
140
|
+
reason_text: {
|
|
141
|
+
type: 'string',
|
|
142
|
+
description: 'A short, user-facing explanation of why you are entering/exiting this remote session.'
|
|
143
|
+
},
|
|
144
|
+
session_type: {
|
|
145
|
+
type: 'string',
|
|
146
|
+
enum: ['ssh', 'docker', 'wsl'],
|
|
147
|
+
description: 'The type of remote session to enter. Required for "enter" action.'
|
|
148
|
+
},
|
|
149
|
+
command: {
|
|
150
|
+
type: 'string',
|
|
151
|
+
description: 'The full command to establish the connection. Required for "enter" action. For SSH: "ssh user@host". For Docker: "docker exec -it container bash". For WSL: "wsl".'
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
required: ['action', 'reason_text']
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
async execute(args, context) {
|
|
158
|
+
const { action, session_type, command } = args;
|
|
159
|
+
// Check if cliAdapter is available
|
|
160
|
+
if (!context.cliAdapter) {
|
|
161
|
+
return 'Error: CLI adapter not available. Cannot manage remote session.';
|
|
162
|
+
}
|
|
163
|
+
// Handle exit action
|
|
164
|
+
if (action === 'exit') {
|
|
165
|
+
// Check if exitRemoteSession method exists
|
|
166
|
+
if (typeof context.cliAdapter.exitRemoteSession !== 'function') {
|
|
167
|
+
return 'Error: exitRemoteSession method not available on CLI adapter.';
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
const success = await context.cliAdapter.exitRemoteSession();
|
|
171
|
+
if (success) {
|
|
172
|
+
return 'Successfully exited remote session. Commands will now execute in the parent environment.';
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
return 'No remote session to exit. Already in local environment.';
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
const errorMessage = error?.message || String(error);
|
|
180
|
+
return `Error exiting remote session: ${errorMessage}`;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Handle enter action (default behavior)
|
|
184
|
+
// Validate session type
|
|
185
|
+
const validTypes = ['ssh', 'docker', 'wsl'];
|
|
186
|
+
if (!validTypes.includes(session_type)) {
|
|
187
|
+
return `Error: Invalid session_type "${session_type}". Must be one of: ssh, docker, wsl`;
|
|
188
|
+
}
|
|
189
|
+
if (!command) {
|
|
190
|
+
return 'Error: command is required for the "enter" action.';
|
|
191
|
+
}
|
|
192
|
+
// Validate command matches session type
|
|
193
|
+
const validation = validateCommand(command, session_type);
|
|
194
|
+
if (!validation.valid) {
|
|
195
|
+
return `Error: ${validation.error}`;
|
|
196
|
+
}
|
|
197
|
+
// Check if warpifySession method exists
|
|
198
|
+
if (typeof context.cliAdapter.warpifySession !== 'function') {
|
|
199
|
+
return 'Error: warpifySession method not available on CLI adapter.';
|
|
200
|
+
}
|
|
201
|
+
// Get connection string for display purposes
|
|
202
|
+
const connectionString = getConnectionString(command, session_type);
|
|
203
|
+
try {
|
|
204
|
+
// Call warpifySession - this handles:
|
|
205
|
+
// 1. Password prompting via onPasswordRequest callback
|
|
206
|
+
// 2. Connection establishment via the appropriate handler
|
|
207
|
+
// 3. Context switching via contextManager
|
|
208
|
+
// 4. CWD updates
|
|
209
|
+
const success = await context.cliAdapter.warpifySession(command, session_type, connectionString);
|
|
210
|
+
if (success) {
|
|
211
|
+
const sessionDesc = connectionString
|
|
212
|
+
? `${session_type.toUpperCase()}: ${connectionString}`
|
|
213
|
+
: session_type.toUpperCase();
|
|
214
|
+
return `Successfully entered remote session: ${sessionDesc}. All subsequent commands will now execute in this remote environment.`;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
return `Failed to enter remote session. Check the connection details and try again. The connection may have been rejected or timed out.`;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
const errorMessage = error?.message || String(error);
|
|
222
|
+
return `Error entering remote session: ${errorMessage}`;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
//# sourceMappingURL=enter-remote-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enter-remote-session.js","sourceRoot":"","sources":["../../src/tools/enter-remote-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-files.d.ts","sourceRoot":"","sources":["../../src/tools/find-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAIxD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAYtC;IAEF;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"find-files.d.ts","sourceRoot":"","sources":["../../src/tools/find-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAIxD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAYtC;IAEF;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAuG9E;AA0BD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAyD3B,CAAC"}
|
package/dist/tools/find-files.js
CHANGED
|
@@ -115,8 +115,15 @@ export class FindFilesTool {
|
|
|
115
115
|
}
|
|
116
116
|
// Build patterns to search - handle multi-word patterns for fuzzy matching
|
|
117
117
|
const patterns = [];
|
|
118
|
-
//
|
|
119
|
-
|
|
118
|
+
// Auto-prefix with **/ if pattern is simple (no path separators) and not already recursive
|
|
119
|
+
// This allows finding "file.txt" anywhere in the project without typing "**/"
|
|
120
|
+
let mainPattern = params.pattern;
|
|
121
|
+
const normalizedPattern = mainPattern.replace(/\\/g, '/');
|
|
122
|
+
if (!normalizedPattern.includes('/') && !normalizedPattern.startsWith('**')) {
|
|
123
|
+
mainPattern = `**/${mainPattern}`;
|
|
124
|
+
}
|
|
125
|
+
// Always add the main pattern
|
|
126
|
+
patterns.push(mainPattern);
|
|
120
127
|
// If pattern contains spaces or is multi-word (without glob chars), also search individual terms
|
|
121
128
|
const cleanPattern = params.pattern.replace(/\*\*/g, '').replace(/\*/g, '').trim();
|
|
122
129
|
if (cleanPattern.includes(' ')) {
|