rantera 0.1.2 → 0.1.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.
package/dist/agent.d.ts CHANGED
@@ -6,6 +6,7 @@ export interface AgentOptions {
6
6
  onText?: (text: string) => void;
7
7
  onToolCall?: (name: string, args: Record<string, unknown>) => void;
8
8
  onToolResult?: (name: string, output: string, ok: boolean) => void;
9
+ onAskUser?: (question: string) => Promise<string>;
9
10
  }
10
11
  export declare function runAgent(userMessage: string, history: WakandaMessage[], opts: AgentOptions): Promise<string>;
11
12
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAM/D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAM,MAAM,CAAA;IACf,KAAK,CAAC,EAAG,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,UAAU,CAAC,EAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACpE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CACnE;AAED,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAM,cAAc,EAAE,EAC7B,IAAI,EAAS,YAAY,GACxB,OAAO,CAAC,MAAM,CAAC,CAoEjB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAM/D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAW,MAAM,CAAA;IACpB,KAAK,CAAC,EAAQ,MAAM,CAAA;IACpB,MAAM,CAAC,EAAO,MAAM,CAAA;IACpB,MAAM,CAAC,EAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,UAAU,CAAC,EAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACpE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;IAClE,SAAS,CAAC,EAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACpD;AAED,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAM,cAAc,EAAE,EAC7B,IAAI,EAAS,YAAY,GACxB,OAAO,CAAC,MAAM,CAAC,CAiFjB"}
package/dist/agent.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { streamAgentTurn } from "./api.js";
2
2
  import { executeTool } from "./tools/index.js";
3
3
  import { printError } from "./ui.js";
4
- const MAX_STEPS = 8;
4
+ const MAX_STEPS = 50;
5
5
  export async function runAgent(userMessage, history, opts) {
6
6
  const messages = [
7
7
  ...history,
@@ -43,6 +43,17 @@ export async function runAgent(userMessage, history, opts) {
43
43
  if (!toolCall)
44
44
  break;
45
45
  steps++;
46
+ // ask_user: pause and get input from the user, then continue the loop
47
+ if (toolCall.name === "ask_user") {
48
+ const question = String(toolCall.args.question ?? "");
49
+ const answer = opts.onAskUser
50
+ ? await opts.onAskUser(question)
51
+ : "";
52
+ opts.onToolResult?.(toolCall.name, answer, true);
53
+ messages.push({ role: "assistant", content: textAccum || "" });
54
+ messages.push({ role: "tool_result", tool_name: "ask_user", content: answer });
55
+ continue;
56
+ }
46
57
  const { output, ok } = await executeTool(toolCall.name, toolCall.args, opts.cwd);
47
58
  opts.onToolResult?.(toolCall.name, output, ok);
48
59
  messages.push({ role: "assistant", content: textAccum || "" });
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ const program = new Command();
20
20
  program
21
21
  .name("rantera")
22
22
  .description("Rantera CLI — African-first AI platform for developers")
23
- .version("0.1.2");
23
+ .version("0.1.3");
24
24
  // ─── rantera auth ─────────────────────────────────────────────────────────────
25
25
  const auth = program.command("auth").description("Manage Rantera authentication");
26
26
  auth
@@ -314,7 +314,7 @@ async function startWakanda(prompt, dir, printMode) {
314
314
  return;
315
315
  }
316
316
  // ── Run task ─────────────────────────────────────────────────────────────
317
- await executeTask(trimmed, history, dir, currentModel, system, false);
317
+ await executeTask(trimmed, history, dir, currentModel, system, false, rl);
318
318
  ask();
319
319
  });
320
320
  };
@@ -325,7 +325,7 @@ function fmtK(n) {
325
325
  return n >= 1000 ? `${(n / 1000).toFixed(1)}k` : String(n);
326
326
  }
327
327
  // ─── Task runner ──────────────────────────────────────────────────────────────
328
- async function executeTask(userMessage, history, cwd, model, system, printMode) {
328
+ async function executeTask(userMessage, history, cwd, model, system, printMode, askUserRl) {
329
329
  if (!printMode) {
330
330
  console.log();
331
331
  printAssistantPrefix(model);
@@ -356,6 +356,22 @@ async function executeTask(userMessage, history, cwd, model, system, printMode)
356
356
  stopSpinner(ok);
357
357
  printToolResult(name, output, ok);
358
358
  },
359
+ async onAskUser(question) {
360
+ if (printMode)
361
+ return "";
362
+ clearSpinner();
363
+ firstChunk = false;
364
+ console.log();
365
+ console.log(chalk.hex("#FCD116")(" Wakanda asks:"), question);
366
+ const rlForQuestion = askUserRl ?? readline.createInterface({ input: process.stdin, output: process.stdout });
367
+ const answer = await new Promise(resolve => {
368
+ rlForQuestion.question(" " + chalk.dim("your answer › "), resolve);
369
+ });
370
+ if (!askUserRl)
371
+ rlForQuestion.close();
372
+ console.log();
373
+ return answer;
374
+ },
359
375
  });
360
376
  if (!printMode) {
361
377
  if (!finalText && firstChunk) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  export declare function listDirectory(path: string, rootDir: string): string;
2
+ export declare function globFiles(pattern: string, rootDir: string, basePath?: string): string;
3
+ export declare function grepFiles(pattern: string, rootDir: string, basePath?: string, filePattern?: string): string;
2
4
  export declare function readFile(path: string, rootDir: string): string;
5
+ export declare function patchFile(path: string, oldString: string, newString: string, rootDir: string): string;
3
6
  export declare function writeFile(path: string, content: string, rootDir: string): string;
7
+ export declare function deleteFile(path: string, rootDir: string): string;
8
+ export declare function createDirectory(path: string, rootDir: string): string;
9
+ export declare function moveFile(source: string, destination: string, rootDir: string): string;
4
10
  //# sourceMappingURL=files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAaA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAgDnE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAe9D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhF"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AA8EA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BnE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAelF;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,SAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAiDR;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAc9D;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CA2BR;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAchE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASrE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAYrF"}
@@ -1,7 +1,75 @@
1
- import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync, } from "fs";
1
+ import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, } from "fs";
2
2
  import { dirname, join, relative } from "path";
3
- const MAX_FILE_SIZE = 500_000; // 500 KB — cap to avoid flooding the model
3
+ const MAX_FILE_SIZE = 500_000;
4
4
  const MAX_DIR_ENTRIES = 200;
5
+ const MAX_GREP_RESULTS = 200;
6
+ const MAX_GLOB_RESULTS = 500;
7
+ const SKIP_DIRS = new Set([
8
+ "node_modules", ".git", ".next", "dist", "__pycache__", ".venv", "venv",
9
+ ]);
10
+ // ─── Glob helpers ─────────────────────────────────────────────────────────────
11
+ function globToRegex(pattern) {
12
+ const p = pattern.replace(/\\/g, "/");
13
+ let result = "";
14
+ let i = 0;
15
+ while (i < p.length) {
16
+ const c = p[i];
17
+ if (c === "*") {
18
+ if (p[i + 1] === "*") {
19
+ result += ".*";
20
+ i += 2;
21
+ if (p[i] === "/")
22
+ i++;
23
+ }
24
+ else {
25
+ result += "[^/]*";
26
+ i++;
27
+ }
28
+ }
29
+ else if (c === "?") {
30
+ result += "[^/]";
31
+ i++;
32
+ }
33
+ else if (/[.+^${}()|[\]\\]/.test(c)) {
34
+ result += "\\" + c;
35
+ i++;
36
+ }
37
+ else {
38
+ result += c;
39
+ i++;
40
+ }
41
+ }
42
+ return new RegExp("^" + result + "$");
43
+ }
44
+ function walkDir(dir, root, results, limit = 10_000) {
45
+ if (results.length >= limit)
46
+ return;
47
+ let entries;
48
+ try {
49
+ entries = readdirSync(dir).sort();
50
+ }
51
+ catch {
52
+ return;
53
+ }
54
+ for (const entry of entries) {
55
+ if (results.length >= limit)
56
+ break;
57
+ if (SKIP_DIRS.has(entry))
58
+ continue;
59
+ const full = join(dir, entry);
60
+ try {
61
+ const stat = statSync(full);
62
+ if (stat.isDirectory()) {
63
+ walkDir(full, root, results, limit);
64
+ }
65
+ else {
66
+ results.push(relative(root, full).replace(/\\/g, "/"));
67
+ }
68
+ }
69
+ catch { }
70
+ }
71
+ }
72
+ // ─── Tools ────────────────────────────────────────────────────────────────────
5
73
  export function listDirectory(path, rootDir) {
6
74
  const target = join(rootDir, path);
7
75
  if (!existsSync(target))
@@ -22,14 +90,7 @@ export function listDirectory(path, rootDir) {
22
90
  for (const entry of entries) {
23
91
  if (lines.length >= MAX_DIR_ENTRIES)
24
92
  break;
25
- // Skip common noise
26
- if (entry === "node_modules" ||
27
- entry === ".git" ||
28
- entry === ".next" ||
29
- entry === "dist" ||
30
- entry === "__pycache__" ||
31
- entry === ".venv" ||
32
- entry === "venv") {
93
+ if (SKIP_DIRS.has(entry)) {
33
94
  lines.push(`${prefix}${entry}/ (skipped)`);
34
95
  continue;
35
96
  }
@@ -47,11 +108,77 @@ export function listDirectory(path, rootDir) {
47
108
  }
48
109
  walk(target, 0, "");
49
110
  const rel = relative(rootDir, target) || ".";
50
- const header = `${rel}/`;
51
- if (lines.length >= MAX_DIR_ENTRIES) {
111
+ if (lines.length >= MAX_DIR_ENTRIES)
52
112
  lines.push(`... (truncated at ${MAX_DIR_ENTRIES} entries)`);
113
+ return rel + "/\n" + lines.join("\n");
114
+ }
115
+ export function globFiles(pattern, rootDir, basePath = ".") {
116
+ const searchRoot = join(rootDir, basePath);
117
+ if (!existsSync(searchRoot))
118
+ return `ERROR: path '${basePath}' does not exist.`;
119
+ const allFiles = [];
120
+ walkDir(searchRoot, searchRoot, allFiles);
121
+ const regex = globToRegex(pattern);
122
+ const matches = allFiles.filter(f => regex.test(f));
123
+ if (matches.length === 0)
124
+ return `No files match '${pattern}'.`;
125
+ const shown = matches.slice(0, MAX_GLOB_RESULTS);
126
+ const suffix = matches.length > MAX_GLOB_RESULTS
127
+ ? `\n... (${matches.length} total, showing ${MAX_GLOB_RESULTS})`
128
+ : "";
129
+ return shown.join("\n") + suffix;
130
+ }
131
+ export function grepFiles(pattern, rootDir, basePath = ".", filePattern) {
132
+ const searchRoot = join(rootDir, basePath);
133
+ if (!existsSync(searchRoot))
134
+ return `ERROR: path '${basePath}' does not exist.`;
135
+ const allFiles = [];
136
+ walkDir(searchRoot, searchRoot, allFiles);
137
+ let filesToSearch = allFiles;
138
+ if (filePattern) {
139
+ const ext = filePattern.startsWith("*.") ? filePattern.slice(1) : null;
140
+ if (ext) {
141
+ filesToSearch = allFiles.filter(f => f.endsWith(ext));
142
+ }
143
+ else {
144
+ const fileRegex = globToRegex(filePattern);
145
+ filesToSearch = allFiles.filter(f => {
146
+ const name = f.split("/").pop();
147
+ return fileRegex.test(name) || fileRegex.test(f);
148
+ });
149
+ }
150
+ }
151
+ let searchRegex;
152
+ try {
153
+ searchRegex = new RegExp(pattern);
53
154
  }
54
- return header + "\n" + lines.join("\n");
155
+ catch {
156
+ searchRegex = new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
157
+ }
158
+ const results = [];
159
+ for (const relPath of filesToSearch) {
160
+ if (results.length >= MAX_GREP_RESULTS)
161
+ break;
162
+ const fullPath = join(searchRoot, relPath);
163
+ try {
164
+ const content = readFileSync(fullPath, "utf-8");
165
+ const lines = content.split("\n");
166
+ for (let lineNum = 0; lineNum < lines.length; lineNum++) {
167
+ if (results.length >= MAX_GREP_RESULTS)
168
+ break;
169
+ if (searchRegex.test(lines[lineNum])) {
170
+ results.push(`${relPath}:${lineNum + 1}: ${lines[lineNum].trimEnd()}`);
171
+ }
172
+ }
173
+ }
174
+ catch { }
175
+ }
176
+ if (results.length === 0)
177
+ return `No matches for '${pattern}'.`;
178
+ const suffix = results.length >= MAX_GREP_RESULTS
179
+ ? `\n... (truncated at ${MAX_GREP_RESULTS} matches)`
180
+ : "";
181
+ return results.join("\n") + suffix;
55
182
  }
56
183
  export function readFile(path, rootDir) {
57
184
  const target = join(rootDir, path);
@@ -61,7 +188,7 @@ export function readFile(path, rootDir) {
61
188
  return `ERROR: '${path}' is not a file.`;
62
189
  const size = statSync(target).size;
63
190
  if (size > MAX_FILE_SIZE) {
64
- return `ERROR: file '${path}' is too large (${Math.round(size / 1024)}KB). Read it in smaller chunks if needed.`;
191
+ return `ERROR: file '${path}' is too large (${Math.round(size / 1024)}KB).`;
65
192
  }
66
193
  try {
67
194
  return readFileSync(target, "utf-8");
@@ -70,6 +197,35 @@ export function readFile(path, rootDir) {
70
197
  return `ERROR reading '${path}': ${err}`;
71
198
  }
72
199
  }
200
+ export function patchFile(path, oldString, newString, rootDir) {
201
+ const target = join(rootDir, path);
202
+ if (!existsSync(target))
203
+ return `ERROR: file '${path}' does not exist.`;
204
+ if (!statSync(target).isFile())
205
+ return `ERROR: '${path}' is not a file.`;
206
+ let content;
207
+ try {
208
+ content = readFileSync(target, "utf-8");
209
+ }
210
+ catch (err) {
211
+ return `ERROR reading '${path}': ${err}`;
212
+ }
213
+ const occurrences = content.split(oldString).length - 1;
214
+ if (occurrences === 0) {
215
+ return `ERROR: old_string not found in '${path}'. Run read_file first and copy the exact text.`;
216
+ }
217
+ if (occurrences > 1) {
218
+ return `ERROR: old_string matches ${occurrences} times in '${path}'. Add more surrounding lines to make it unique.`;
219
+ }
220
+ const newContent = content.replace(oldString, newString);
221
+ try {
222
+ writeFileSync(target, newContent, "utf-8");
223
+ return `OK: patched '${path}'.`;
224
+ }
225
+ catch (err) {
226
+ return `ERROR writing '${path}': ${err}`;
227
+ }
228
+ }
73
229
  export function writeFile(path, content, rootDir) {
74
230
  const target = join(rootDir, path);
75
231
  try {
@@ -83,4 +239,50 @@ export function writeFile(path, content, rootDir) {
83
239
  return `ERROR writing '${path}': ${err}`;
84
240
  }
85
241
  }
242
+ export function deleteFile(path, rootDir) {
243
+ const target = join(rootDir, path);
244
+ if (!existsSync(target))
245
+ return `ERROR: '${path}' does not exist.`;
246
+ try {
247
+ if (statSync(target).isDirectory()) {
248
+ rmSync(target, { recursive: true, force: true });
249
+ return `OK: deleted directory '${path}'.`;
250
+ }
251
+ else {
252
+ unlinkSync(target);
253
+ return `OK: deleted '${path}'.`;
254
+ }
255
+ }
256
+ catch (err) {
257
+ return `ERROR deleting '${path}': ${err}`;
258
+ }
259
+ }
260
+ export function createDirectory(path, rootDir) {
261
+ const target = join(rootDir, path);
262
+ if (existsSync(target))
263
+ return `OK: '${path}' already exists.`;
264
+ try {
265
+ mkdirSync(target, { recursive: true });
266
+ return `OK: created directory '${path}'.`;
267
+ }
268
+ catch (err) {
269
+ return `ERROR creating '${path}': ${err}`;
270
+ }
271
+ }
272
+ export function moveFile(source, destination, rootDir) {
273
+ const srcPath = join(rootDir, source);
274
+ const dstPath = join(rootDir, destination);
275
+ if (!existsSync(srcPath))
276
+ return `ERROR: source '${source}' does not exist.`;
277
+ try {
278
+ const dstDir = dirname(dstPath);
279
+ if (!existsSync(dstDir))
280
+ mkdirSync(dstDir, { recursive: true });
281
+ renameSync(srcPath, dstPath);
282
+ return `OK: moved '${source}' to '${destination}'.`;
283
+ }
284
+ catch (err) {
285
+ return `ERROR moving '${source}': ${err}`;
286
+ }
287
+ }
86
288
  //# sourceMappingURL=files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,OAAO,CAAA;CACZ;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC,CAoCrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,OAAO,CAAA;CACZ;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC,CAgGrB"}
@@ -1,5 +1,5 @@
1
- import { listDirectory, readFile, writeFile } from "./files.js";
2
- import { runCommand } from "./shell.js";
1
+ import { listDirectory, globFiles, grepFiles, readFile, patchFile, writeFile, deleteFile, createDirectory, moveFile, } from "./files.js";
2
+ import { runCommand, gitStatus, gitDiff, gitLog, gitCommit, } from "./shell.js";
3
3
  export async function executeTool(name, args, cwd) {
4
4
  try {
5
5
  switch (name) {
@@ -8,6 +8,21 @@ export async function executeTool(name, args, cwd) {
8
8
  const out = listDirectory(path, cwd);
9
9
  return { output: out, ok: !out.startsWith("ERROR") };
10
10
  }
11
+ case "glob_files": {
12
+ const pattern = String(args.pattern ?? "**/*");
13
+ const path = String(args.path ?? ".");
14
+ const out = globFiles(pattern, cwd, path);
15
+ return { output: out, ok: !out.startsWith("ERROR") };
16
+ }
17
+ case "grep_files": {
18
+ const pattern = String(args.pattern ?? "");
19
+ const path = String(args.path ?? ".");
20
+ const filePattern = args.file_pattern ? String(args.file_pattern) : undefined;
21
+ if (!pattern)
22
+ return { output: "ERROR: pattern is required.", ok: false };
23
+ const out = grepFiles(pattern, cwd, path, filePattern);
24
+ return { output: out, ok: !out.startsWith("ERROR") };
25
+ }
11
26
  case "read_file": {
12
27
  const path = String(args.path ?? "");
13
28
  if (!path)
@@ -15,6 +30,17 @@ export async function executeTool(name, args, cwd) {
15
30
  const out = readFile(path, cwd);
16
31
  return { output: out, ok: !out.startsWith("ERROR") };
17
32
  }
33
+ case "patch_file": {
34
+ const path = String(args.path ?? "");
35
+ const oldString = String(args.old_string ?? "");
36
+ const newString = String(args.new_string ?? "");
37
+ if (!path)
38
+ return { output: "ERROR: path is required.", ok: false };
39
+ if (!oldString)
40
+ return { output: "ERROR: old_string is required.", ok: false };
41
+ const out = patchFile(path, oldString, newString, cwd);
42
+ return { output: out, ok: out.startsWith("OK") };
43
+ }
18
44
  case "write_file": {
19
45
  const path = String(args.path ?? "");
20
46
  const content = String(args.content ?? "");
@@ -23,15 +49,57 @@ export async function executeTool(name, args, cwd) {
23
49
  const out = writeFile(path, content, cwd);
24
50
  return { output: out, ok: out.startsWith("OK") };
25
51
  }
52
+ case "delete_file": {
53
+ const path = String(args.path ?? "");
54
+ if (!path)
55
+ return { output: "ERROR: path is required.", ok: false };
56
+ const out = deleteFile(path, cwd);
57
+ return { output: out, ok: out.startsWith("OK") };
58
+ }
59
+ case "create_directory": {
60
+ const path = String(args.path ?? "");
61
+ if (!path)
62
+ return { output: "ERROR: path is required.", ok: false };
63
+ const out = createDirectory(path, cwd);
64
+ return { output: out, ok: out.startsWith("OK") };
65
+ }
66
+ case "move_file": {
67
+ const source = String(args.source ?? "");
68
+ const destination = String(args.destination ?? "");
69
+ if (!source)
70
+ return { output: "ERROR: source is required.", ok: false };
71
+ if (!destination)
72
+ return { output: "ERROR: destination is required.", ok: false };
73
+ const out = moveFile(source, destination, cwd);
74
+ return { output: out, ok: out.startsWith("OK") };
75
+ }
26
76
  case "run_command": {
27
77
  const command = String(args.command ?? "");
28
78
  if (!command)
29
79
  return { output: "ERROR: command is required.", ok: false };
30
80
  const out = await runCommand(command, cwd);
31
- return {
32
- output: out,
33
- ok: !out.startsWith("ERROR") && !out.startsWith("BLOCKED"),
34
- };
81
+ return { output: out, ok: !out.startsWith("ERROR") && !out.startsWith("BLOCKED") };
82
+ }
83
+ case "git_status": {
84
+ const out = await gitStatus(cwd);
85
+ return { output: out, ok: !out.startsWith("ERROR") };
86
+ }
87
+ case "git_diff": {
88
+ const target = args.target ? String(args.target) : undefined;
89
+ const out = await gitDiff(cwd, target);
90
+ return { output: out, ok: !out.startsWith("ERROR") };
91
+ }
92
+ case "git_log": {
93
+ const n = typeof args.n === "number" ? args.n : 10;
94
+ const out = await gitLog(cwd, n);
95
+ return { output: out, ok: !out.startsWith("ERROR") };
96
+ }
97
+ case "git_commit": {
98
+ const message = String(args.message ?? "");
99
+ if (!message)
100
+ return { output: "ERROR: message is required.", ok: false };
101
+ const out = await gitCommit(cwd, message);
102
+ return { output: out, ok: !out.startsWith("ERROR") };
35
103
  }
36
104
  default:
37
105
  return { output: `ERROR: unknown local tool '${name}'.`, ok: false };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAOvC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,IAA6B,EAC7B,GAAW;IAEX,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;gBACrC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBACpC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;YACtD,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;gBACpC,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;gBACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC/B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;YACtD,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;gBACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBAC1C,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;gBACnE,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;gBACzC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;YAClD,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBAC1C,IAAI,CAAC,OAAO;oBAAE,OAAO,EAAE,MAAM,EAAE,6BAA6B,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;gBACzE,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAC1C,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;iBAC3D,CAAA;YACH,CAAC;YACD;gBACE,OAAO,EAAE,MAAM,EAAE,8BAA8B,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,gBAAgB,IAAI,YAAY,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;IACrE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  export declare function runCommand(command: string, cwd: string): Promise<string>;
2
+ export declare function gitStatus(cwd: string): Promise<string>;
3
+ export declare function gitDiff(cwd: string, target?: string): Promise<string>;
4
+ export declare function gitLog(cwd: string, n?: number): Promise<string>;
5
+ export declare function gitCommit(cwd: string, message: string): Promise<string>;
2
6
  //# sourceMappingURL=shell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/tools/shell.ts"],"names":[],"mappings":"AAkBA,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAkCjB"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/tools/shell.ts"],"names":[],"mappings":"AAiBA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCxE;AAkBD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrE;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3D;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7E"}
@@ -1,7 +1,6 @@
1
1
  import { execFile } from "child_process";
2
2
  const TIMEOUT_MS = 30_000;
3
3
  const MAX_OUTPUT = 8_000;
4
- // Commands that could cause irreversible damage — block them
5
4
  const BLOCKED_PATTERNS = [
6
5
  /rm\s+-rf\s+[/\\]/,
7
6
  /rmdir\s+\/s/i,
@@ -22,7 +21,7 @@ export function runCommand(command, cwd) {
22
21
  return new Promise((resolve) => {
23
22
  const isWindows = process.platform === "win32";
24
23
  const [shell, flag] = isWindows ? ["cmd.exe", "/c"] : ["sh", "-c"];
25
- const child = execFile(shell, [flag, command], { cwd, timeout: TIMEOUT_MS, maxBuffer: MAX_OUTPUT * 2 }, (err, stdout, stderr) => {
24
+ execFile(shell, [flag, command], { cwd, timeout: TIMEOUT_MS, maxBuffer: MAX_OUTPUT * 2 }, (err, stdout, stderr) => {
26
25
  const out = (stdout + (stderr ? `\nSTDERR:\n${stderr}` : "")).trim();
27
26
  const truncated = out.length > MAX_OUTPUT
28
27
  ? out.slice(0, MAX_OUTPUT) + `\n... (truncated, ${out.length} chars total)`
@@ -34,7 +33,39 @@ export function runCommand(command, cwd) {
34
33
  resolve(truncated || "(no output)");
35
34
  }
36
35
  });
37
- child.on("error", (err) => resolve(`ERROR: ${err.message}`));
38
36
  });
39
37
  }
38
+ // ─── Git helpers ──────────────────────────────────────────────────────────────
39
+ // Use execFile with an arg array to avoid shell quoting issues with commit messages.
40
+ function gitExec(args, cwd) {
41
+ return new Promise((resolve) => {
42
+ execFile("git", args, { cwd, timeout: TIMEOUT_MS, maxBuffer: 200_000 }, (err, stdout, stderr) => {
43
+ const out = (stdout + (stderr ? `\n${stderr}` : "")).trim();
44
+ if (err && !stdout && !stderr) {
45
+ resolve(`ERROR: ${err.message}`);
46
+ }
47
+ else {
48
+ resolve(out || "(no output)");
49
+ }
50
+ });
51
+ });
52
+ }
53
+ export function gitStatus(cwd) {
54
+ return gitExec(["status", "--short"], cwd);
55
+ }
56
+ export function gitDiff(cwd, target) {
57
+ const args = target ? ["diff", target] : ["diff", "HEAD"];
58
+ return gitExec(args, cwd).then(out => out.length > MAX_OUTPUT ? out.slice(0, MAX_OUTPUT) + "\n... (diff truncated)" : out);
59
+ }
60
+ export function gitLog(cwd, n = 10) {
61
+ return gitExec(["log", "--oneline", "-n", String(Math.min(n, 50))], cwd);
62
+ }
63
+ export async function gitCommit(cwd, message) {
64
+ if (!message.trim())
65
+ return "ERROR: commit message is required.";
66
+ const addOut = await gitExec(["add", "-A"], cwd);
67
+ if (addOut.startsWith("ERROR"))
68
+ return addOut;
69
+ return gitExec(["commit", "-m", message], cwd);
70
+ }
40
71
  //# sourceMappingURL=shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/tools/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,UAAU,GAAG,MAAM,CAAA;AACzB,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB,6DAA6D;AAC7D,MAAM,gBAAgB,GAAG;IACvB,kBAAkB;IAClB,cAAc;IACd,kBAAkB;IAClB,UAAU;IACV,MAAM;IACN,eAAe;IACf,WAAW;IACX,SAAS;IACT,eAAe;CAChB,CAAA;AAED,MAAM,UAAU,UAAU,CACxB,OAAe,EACf,GAAW;IAEX,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,OAAO,CACpB,aAAa,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,2DAA2D,CAC7F,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;QAC9C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAElE,MAAM,KAAK,GAAG,QAAQ,CACpB,KAAK,EACL,CAAC,IAAI,EAAE,OAAO,CAAC,EACf,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,EACvD,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACpE,MAAM,SAAS,GACb,GAAG,CAAC,MAAM,GAAG,UAAU;gBACrB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,qBAAqB,GAAG,CAAC,MAAM,eAAe;gBAC3E,CAAC,CAAC,GAAG,CAAA;YAET,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,SAAS,IAAI,aAAa,CAAC,CAAA;YACrC,CAAC;QACH,CAAC,CACF,CAAA;QAED,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/tools/shell.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rantera",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Rantera CLI — African-first AI platform for developers",
5
5
  "bin": {
6
6
  "rantera": "dist/index.js"