@zds-ai/cli 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/index.js CHANGED
@@ -258,7 +258,12 @@ Respond with ONLY the commit message, no additional text.`;
258
258
  }
259
259
  }
260
260
  catch (error) {
261
- console.error(" Error during commit and push:", error.message);
261
+ if (typeof error === "object" && error !== null && "message" in error) {
262
+ console.error("❌ Error during commit and push:", error.message);
263
+ }
264
+ else {
265
+ console.error("❌ Error during commit and push:", error);
266
+ }
262
267
  process.exit(1);
263
268
  }
264
269
  }
@@ -335,7 +340,12 @@ async function processPromptHeadless(prompt, apiKey, baseURL, model, maxToolRoun
335
340
  }
336
341
  catch (error) {
337
342
  // Output error as plain text
338
- console.log(`Error: ${error.message}`);
343
+ if (error && typeof error === "object" && "message" in error) {
344
+ console.log(`Error: ${error.message}`);
345
+ }
346
+ else {
347
+ console.log(`Error: ${String(error)}`);
348
+ }
339
349
  process.exit(1);
340
350
  }
341
351
  }
@@ -348,7 +358,14 @@ program
348
358
  .option("-b, --backend <name>", "Backend display name (e.g., grok, openai, claude)")
349
359
  .option("-u, --base-url <url>", "API base URL (or set GROK_BASE_URL env var)")
350
360
  .option("-m, --model <model>", "AI model to use (e.g., grok-code-fast-1, grok-4-latest) (or set GROK_MODEL env var)")
351
- .option("-t, --temperature <temp>", "temperature for API requests (0.0-2.0, default: 0.7)", "0.7")
361
+ .option("-t, --temperature <temp>", "temperature for API requests (0.0-2.0, default: 0.7)", (value) => {
362
+ const temp = parseFloat(value);
363
+ if (isNaN(temp) || temp < 0 || temp > 2) {
364
+ console.error(`Error: Temperature must be between 0.0 and 2.0 (got ${value})`);
365
+ process.exit(1);
366
+ }
367
+ return temp;
368
+ }, 0.7)
352
369
  .option("--max-tokens <tokens>", "maximum tokens for API responses (positive integer, no default = API default)")
353
370
  .option("-p, --prompt [prompt]", "process a single prompt and exit (headless mode). If no prompt provided, reads from stdin")
354
371
  .option("--max-tool-rounds <rounds>", "maximum number of tool execution rounds (default: 400)", "400")
@@ -368,7 +385,7 @@ program
368
385
  process.chdir(options.directory);
369
386
  }
370
387
  catch (error) {
371
- console.error(`Error changing directory to ${options.directory}:`, error.message);
388
+ console.error(`Error changing directory to ${options.directory}:`, error instanceof Error ? error.message : String(error));
372
389
  process.exit(1);
373
390
  }
374
391
  }
@@ -446,7 +463,7 @@ program
446
463
  .map(cmd => cmd.trim())
447
464
  .filter(cmd => cmd.length > 0)
448
465
  : [];
449
- const temperature = parseFloat(options.temperature) || 0.7;
466
+ const temperature = options.temperature ?? 0.7;
450
467
  const maxTokens = options.maxTokens ? parseInt(options.maxTokens) : undefined;
451
468
  await processPromptHeadless(prompt, apiKey, baseURL, model, maxToolRounds, options.fresh, options.debugLog, options.autoApprove, approvedCommands, temperature, maxTokens);
452
469
  return;
@@ -460,7 +477,7 @@ program
460
477
  const loadedContext = options.fresh ? { systemPrompt: "", chatHistory: [] } : historyManager.loadContext();
461
478
  const hasSystemPrompt = loadedContext.systemPrompt && loadedContext.systemPrompt.trim().length > 0;
462
479
  const runStartupHook = !hasSystemPrompt; // Run hook if no system prompt exists
463
- const temperature = parseFloat(options.temperature) || 0.7;
480
+ const temperature = options.temperature ?? 0.7;
464
481
  const maxTokens = options.maxTokens ? parseInt(options.maxTokens) : undefined;
465
482
  const agent = await createGrokAgent(apiKey, baseURL, model, maxToolRounds, options.debugLog, runStartupHook, temperature, maxTokens);
466
483
  currentAgent = agent; // Store reference for cleanup
@@ -594,7 +611,7 @@ program
594
611
  }
595
612
  const input = result.input.trim();
596
613
  // Check for pending context edit confirmation
597
- const pendingEdit = agent.getPendingContextEdit();
614
+ const pendingEdit = agent.getPendingContextEditSession();
598
615
  if (pendingEdit) {
599
616
  const trimmed = input.toLowerCase();
600
617
  const { tmpJsonPath, contextFilePath } = pendingEdit;
@@ -637,7 +654,7 @@ program
637
654
  }
638
655
  }
639
656
  // Clear pending state
640
- agent.clearPendingContextEdit();
657
+ agent.clearPendingContextEditSession();
641
658
  continue;
642
659
  }
643
660
  if (input === 'exit' || input === 'quit') {
@@ -752,7 +769,7 @@ program
752
769
  continue;
753
770
  }
754
771
  // Store pending edit in agent
755
- agent.setPendingContextEdit(tmpJsonPath, contextFilePath);
772
+ agent.setPendingContextEditSession(tmpJsonPath, contextFilePath);
756
773
  // Print prompt
757
774
  console.log('🔧 System: Editor closed. Replace context with edited version? (y/n)');
758
775
  continue;
@@ -833,7 +850,14 @@ gitCommand
833
850
  .option("-b, --backend <name>", "Backend display name (e.g., grok, openai, claude)")
834
851
  .option("-u, --base-url <url>", "API base URL (or set GROK_BASE_URL env var)")
835
852
  .option("-m, --model <model>", "AI model to use (e.g., grok-code-fast-1, grok-4-latest) (or set GROK_MODEL env var)")
836
- .option("-t, --temperature <temp>", "temperature for API requests (0.0-2.0, default: 0.7)", "0.7")
853
+ .option("-t, --temperature <temp>", "temperature for API requests (0.0-2.0, default: 0.7)", (value) => {
854
+ const temp = parseFloat(value);
855
+ if (isNaN(temp) || temp < 0 || temp > 2) {
856
+ console.error(`Error: Temperature must be between 0.0 and 2.0 (got ${value})`);
857
+ process.exit(1);
858
+ }
859
+ return temp;
860
+ }, 0.7)
837
861
  .option("--max-tokens <tokens>", "maximum tokens for API responses (positive integer, no default = API default)")
838
862
  .option("--max-tool-rounds <rounds>", "maximum number of tool execution rounds (default: 400)", "400")
839
863
  .option("--debug-log <file>", "redirect MCP server debug output to log file instead of suppressing")
@@ -843,7 +867,10 @@ gitCommand
843
867
  process.chdir(options.directory);
844
868
  }
845
869
  catch (error) {
846
- console.error(`Error changing directory to ${options.directory}:`, error.message);
870
+ const message = error && typeof error === "object" && "message" in error && typeof error.message === "string"
871
+ ? error.message
872
+ : String(error);
873
+ console.error(`Error changing directory to ${options.directory}:`, message);
847
874
  process.exit(1);
848
875
  }
849
876
  }
@@ -860,13 +887,16 @@ gitCommand
860
887
  process.env.GROK_BACKEND_DISPLAY_NAME = options.backend;
861
888
  }
862
889
  const maxToolRounds = parseInt(options.maxToolRounds) || 400;
863
- const temperature = parseFloat(options.temperature) || 0.7;
890
+ const temperature = options.temperature ?? 0.7;
864
891
  // Validate API key
865
892
  try {
866
893
  validateApiKey(apiKey);
867
894
  }
868
895
  catch (error) {
869
- console.error(`❌ Error: ${error.message}`);
896
+ const message = error && typeof error === "object" && "message" in error && typeof error.message === "string"
897
+ ? error.message
898
+ : String(error);
899
+ console.error(`❌ Error: ${message}`);
870
900
  process.exit(1);
871
901
  }
872
902
  // Note: API key from --api-key flag is NOT saved to user settings
@@ -874,7 +904,10 @@ gitCommand
874
904
  await handleCommitAndPushHeadless(apiKey, baseURL, model, maxToolRounds, options.debugLog, temperature);
875
905
  }
876
906
  catch (error) {
877
- console.error("❌ Error during commit and push:", error.message);
907
+ const message = error && typeof error === "object" && "message" in error && typeof error.message === "string"
908
+ ? error.message
909
+ : String(error);
910
+ console.error("❌ Error during commit and push:", message);
878
911
  process.exit(1);
879
912
  }
880
913
  });
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,7 +1,14 @@
1
1
  import { exec } from "child_process";
2
2
  import { promisify } from "util";
3
+ import { fileURLToPath } from "url";
4
+ import { dirname, join } from "path";
3
5
  import { getHandledToolNames } from "./tool-discovery.js";
4
6
  const execAsync = promisify(exec);
7
+ // Get the directory of the current module
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = dirname(__filename);
10
+ // Path to bundled read_xlsx.py script (relative to dist/tools/)
11
+ const READ_XLSX_SCRIPT = join(__dirname, "../bin/read_xlsx.py");
5
12
  export class FileConversionTool {
6
13
  agent; // Reference to the GrokAgent
7
14
  setAgent(agent) {
@@ -25,8 +32,8 @@ export class FileConversionTool {
25
32
  }
26
33
  // Escape filename for shell
27
34
  const escapedFilename = filename.replace(/'/g, "'\\''");
28
- // Build command using read_xlsx.py
29
- let command = `read_xlsx.py '${escapedFilename}'`;
35
+ // Build command using bundled read_xlsx.py script
36
+ let command = `'${READ_XLSX_SCRIPT}' '${escapedFilename}'`;
30
37
  // Add sheet name if provided
31
38
  if (sheetName) {
32
39
  const escapedSheetName = sheetName.replace(/'/g, "'\\''");
@@ -135,8 +142,8 @@ export class FileConversionTool {
135
142
  }
136
143
  // Escape filename for shell
137
144
  const escapedFilename = filename.replace(/'/g, "'\\''");
138
- // Build command to list sheets
139
- const command = `read_xlsx.py '${escapedFilename}' --list-sheets`;
145
+ // Build command to list sheets using bundled script
146
+ const command = `'${READ_XLSX_SCRIPT}' '${escapedFilename}' --list-sheets`;
140
147
  try {
141
148
  const { stdout, stderr } = await execAsync(command, {
142
149
  timeout: 30000, // 30 second timeout
@@ -1 +1 @@
1
- {"version":3,"file":"file-conversion-tool.js","sourceRoot":"","sources":["../../src/tools/file-conversion-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAiB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,OAAO,kBAAkB;IACrB,KAAK,CAAM,CAAC,6BAA6B;IAEjD,QAAQ,CAAC,KAAU;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,mBAAmB;QACjB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,SAAkB,EAClB,YAA0D,EAC1D,MAAe;QAEf,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,sBAAsB;oBAC7B,MAAM,EAAE,sBAAsB;iBAC/B,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAExD,mCAAmC;YACnC,IAAI,OAAO,GAAG,iBAAiB,eAAe,GAAG,CAAC;YAElD,6BAA6B;YAC7B,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1D,OAAO,IAAI,aAAa,gBAAgB,GAAG,CAAC;YAC9C,CAAC;YAED,4BAA4B;YAC5B,MAAM,MAAM,GAAG,YAAY,IAAI,MAAM,CAAC;YACtC,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,MAAM;oBACT,OAAO,IAAI,SAAS,CAAC;oBACrB,MAAM;gBACR,KAAK,iBAAiB;oBACpB,OAAO,IAAI,oBAAoB,CAAC;oBAChC,MAAM;gBACR,KAAK,KAAK;oBACR,OAAO,IAAI,QAAQ,CAAC;oBACpB,MAAM;gBACR,KAAK,MAAM,CAAC;gBACZ;oBACE,sCAAsC;oBACtC,MAAM;YACV,CAAC;YAED,+BAA+B;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpD,OAAO,IAAI,cAAc,aAAa,GAAG,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;oBAClD,OAAO,EAAE,KAAK,EAAE,oBAAoB;oBACpC,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;gBAEH,wDAAwD;gBACxD,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,wBAAwB,MAAM,EAAE;wBACvC,MAAM,EAAE,MAAM;qBACf,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE7B,wCAAwC;gBACxC,IAAI,aAAqB,CAAC;gBAC1B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBACpC,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;4BACjC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;4BAC7D,aAAa,GAAG,QAAQ,UAAU,kBAAkB,QAAQ,EAAE,CAAC;wBACjE,CAAC;6BAAM,CAAC;4BACN,aAAa,GAAG,QAAQ,QAAQ,CAAC,SAAS,IAAI,CAAC,gBAAgB,SAAS,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC;wBAChH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,aAAa,GAAG,mBAAmB,QAAQ,EAAE,CAAC;oBAChD,CAAC;gBACH,CAAC;qBAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC5B,aAAa,GAAG,aAAa,SAAS,IAAI,eAAe,SAAS,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,mBAAmB,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC5F,CAAC;gBAED,sDAAsD;gBACtD,IAAI,MAAM,EAAE,CAAC;oBACX,aAAa,IAAI,MAAM,MAAM,EAAE,CAAC;gBAClC,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,MAAM;oBACd,aAAa,EAAE,aAAa;iBAC7B,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,wBAAwB;gBACxB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC;gBACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBAElC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,6BAA6B,KAAK,CAAC,IAAI,IAAI,SAAS,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3J,MAAM,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC9I,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;gBACjF,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;aACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,sBAAsB;oBAC7B,MAAM,EAAE,sBAAsB;iBAC/B,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAExD,+BAA+B;YAC/B,MAAM,OAAO,GAAG,iBAAiB,eAAe,iBAAiB,CAAC;YAElE,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;oBAClD,OAAO,EAAE,KAAK,EAAE,oBAAoB;oBACpC,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;gBAEH,wDAAwD;gBACxD,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,8BAA8B,MAAM,EAAE;wBAC7C,MAAM,EAAE,MAAM;qBACf,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE7B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,MAAM;oBACd,aAAa,EAAE,oBAAoB,QAAQ,EAAE;iBAC9C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,wBAAwB;gBACxB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC;gBACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBAElC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,mCAAmC,KAAK,CAAC,IAAI,IAAI,SAAS,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjK,MAAM,EAAE,eAAe,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC9I,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC;gBACnF,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC;aACrF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"file-conversion-tool.js","sourceRoot":"","sources":["../../src/tools/file-conversion-tool.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { ToolResult } from "../types/index.js";
2
2
  import { ToolDiscovery } from "./tool-discovery.js";
3
+ import type { GrokAgent } from "../agent/grok-agent.js";
3
4
  export declare class ImageTool implements ToolDiscovery {
4
5
  private agent;
5
- setAgent(agent: any): void;
6
+ setAgent(agent: GrokAgent): void;
6
7
  getHandledToolNames(): string[];
7
8
  /**
8
9
  * Generate an image using AI image generation.
@@ -2,6 +2,7 @@ import { exec } from "child_process";
2
2
  import { promisify } from "util";
3
3
  import { getHandledToolNames } from "./tool-discovery.js";
4
4
  const execAsync = promisify(exec);
5
+ const DEFAULT_NEGATIVE_PROMPT = "score_6, score_5, score_4, (worst quality:1.2), (low quality:1.2), (normal quality:1.2), lowres, bad anatomy, bad hands, signature, watermarks, ugly, imperfect eyes, skewed eyes, unnatural face, unnatural body, error, extra limb, missing limbs";
5
6
  export class ImageTool {
6
7
  agent; // Reference to the GrokAgent
7
8
  setAgent(agent) {
@@ -52,7 +53,7 @@ export class ImageTool {
52
53
  };
53
54
  }
54
55
  // Set defaults
55
- const defaultNegativePrompt = "score_6, score_5, score_4, (worst quality:1.2), (low quality:1.2), (normal quality:1.2), lowres, bad anatomy, bad hands, signature, watermarks, ugly, imperfect eyes, skewed eyes, unnatural face, unnatural body, error, extra limb, missing limbs";
56
+ const defaultNegativePrompt = DEFAULT_NEGATIVE_PROMPT;
56
57
  const finalModel = model || "cyberrealisticPony_v130";
57
58
  const finalWidth = Math.floor(width || 480);
58
59
  const finalHeight = Math.floor(height || 720);
@@ -163,8 +164,15 @@ export class ImageTool {
163
164
  }
164
165
  // Build command using joycaption
165
166
  let command = `joycaption '${filename.replace(/'/g, "'\\''")}'`;
167
+ let sanitizationWarning;
166
168
  if (prompt) {
167
- command += ` --prompt "${prompt.replace(/"/g, '\\"')}"`;
169
+ // Sanitize prompt: allow only alphanumeric, spaces, periods, commas, dashes, and asterisks
170
+ const sanitized = prompt.replace(/[^a-zA-Z0-9 .,\-*]/g, '');
171
+ if (sanitized !== prompt) {
172
+ sanitizationWarning = `Prompt was sanitized from "${prompt}" to "${sanitized}"`;
173
+ console.warn(`Warning: Prompt contained invalid characters and was sanitized. Original: "${prompt}", Sanitized: "${sanitized}"`);
174
+ }
175
+ command += ` --prompt "${sanitized}"`;
168
176
  }
169
177
  try {
170
178
  const { stdout, stderr } = await execAsync(command, {
@@ -183,7 +191,8 @@ export class ImageTool {
183
191
  return {
184
192
  success: true,
185
193
  output: caption,
186
- displayOutput: `Caption: ${caption}`
194
+ displayOutput: `Caption: ${caption}`,
195
+ ...(sanitizationWarning && { warning: sanitizationWarning })
187
196
  };
188
197
  }
189
198
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"image-tool.js","sourceRoot":"","sources":["../../src/tools/image-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-tool.js","sourceRoot":"","sources":["../../src/tools/image-tool.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export declare class SearchTool implements ToolDiscovery {
40
40
  includeHidden?: boolean;
41
41
  }): Promise<ToolResult>;
42
42
  /**
43
- * Execute ripgrep command with specified options
43
+ * Execute ripgrep command with specified options using ripgrep-node
44
44
  */
45
45
  private _executeRipgrep;
46
46
  /**
@@ -1,8 +1,8 @@
1
- import { spawn } from "child_process";
2
1
  import { ConfirmationService } from "../utils/confirmation-service.js";
3
2
  import fs from "fs-extra";
4
3
  import * as path from "path";
5
4
  import { getHandledToolNames } from "./tool-discovery.js";
5
+ import { RipGrep } from "ripgrep-node";
6
6
  export class SearchTool {
7
7
  confirmationService = ConfirmationService.getInstance();
8
8
  currentDirectory = process.cwd();
@@ -70,89 +70,77 @@ export class SearchTool {
70
70
  }
71
71
  }
72
72
  /**
73
- * Execute ripgrep command with specified options
73
+ * Execute ripgrep command with specified options using ripgrep-node
74
74
  */
75
75
  async _executeRipgrep(query, options) {
76
- return new Promise((resolve, reject) => {
77
- const args = [
78
- "--json",
79
- "--with-filename",
80
- "--line-number",
81
- "--column",
82
- "--no-heading",
83
- "--color=never",
84
- ];
76
+ try {
77
+ // Create RipGrep instance with pattern and search directory
78
+ let rg = new RipGrep(query, this.currentDirectory);
79
+ // Configure ripgrep with chained method calls
80
+ rg = rg
81
+ .json()
82
+ .withFilename()
83
+ .lineNumber()
84
+ .column()
85
+ .noHeading()
86
+ .color("never");
85
87
  // Add case sensitivity
86
88
  if (!options.caseSensitive) {
87
- args.push("--ignore-case");
89
+ rg = rg.ignoreCase();
88
90
  }
89
91
  // Add whole word matching
90
92
  if (options.wholeWord) {
91
- args.push("--word-regexp");
93
+ rg = rg.wordRegexp();
92
94
  }
93
95
  // Add regex mode
94
96
  if (!options.regex) {
95
- args.push("--fixed-strings");
97
+ rg = rg.fixedStrings();
96
98
  }
97
99
  // Add max results limit
98
100
  if (options.maxResults) {
99
- args.push("--max-count", options.maxResults.toString());
101
+ rg = rg.maxCount(options.maxResults);
100
102
  }
101
103
  // Add file type filters
102
104
  if (options.fileTypes) {
103
105
  options.fileTypes.forEach((type) => {
104
- args.push("--type", type);
106
+ rg = rg.type(type);
105
107
  });
106
108
  }
107
109
  // Add include pattern
108
110
  if (options.includePattern) {
109
- args.push("--glob", options.includePattern);
111
+ rg = rg.glob(options.includePattern);
110
112
  }
111
113
  // Add exclude pattern
112
114
  if (options.excludePattern) {
113
- args.push("--glob", `!${options.excludePattern}`);
115
+ rg = rg.glob(`!${options.excludePattern}`);
114
116
  }
115
117
  // Add exclude files
116
118
  if (options.excludeFiles) {
117
119
  options.excludeFiles.forEach((file) => {
118
- args.push("--glob", `!${file}`);
120
+ rg = rg.glob(`!${file}`);
119
121
  });
120
122
  }
121
123
  // Respect gitignore and common ignore patterns
122
- args.push("--no-require-git", "--follow", "--glob", "!.git/**", "--glob", "!node_modules/**", "--glob", "!.DS_Store", "--glob", "!*.log");
123
- // Add query (search current directory)
124
- args.push(query, ".");
125
- const rg = spawn("rg", args, {
126
- cwd: this.currentDirectory,
127
- });
128
- let output = "";
129
- let errorOutput = "";
130
- rg.stdout.on("data", (data) => {
131
- output += data.toString();
132
- });
133
- rg.stderr.on("data", (data) => {
134
- errorOutput += data.toString();
135
- });
136
- rg.on("close", (code) => {
137
- if (code === 0 || code === 1) {
138
- // 0 = found, 1 = not found
139
- const results = this.parseRipgrepOutput(output);
140
- resolve(results);
141
- }
142
- else if (code === 2) {
143
- // Code 2 means an error occurred (e.g., file path issues)
144
- // Return partial results if we have them, otherwise fail silently
145
- const results = this.parseRipgrepOutput(output);
146
- resolve(results);
147
- }
148
- else {
149
- reject(new Error(`Ripgrep failed with code ${code}: ${errorOutput}`));
150
- }
151
- });
152
- rg.on("error", (error) => {
153
- reject(error);
154
- });
155
- });
124
+ rg = rg
125
+ .follow()
126
+ .glob("!.git/**")
127
+ .glob("!node_modules/**")
128
+ .glob("!.DS_Store")
129
+ .glob("!*.log");
130
+ // Execute search and get JSON output
131
+ const output = rg.run().asString();
132
+ // Parse the output
133
+ const results = this.parseRipgrepOutput(output);
134
+ return results;
135
+ }
136
+ catch (error) {
137
+ // ripgrep-node throws an error when no results found
138
+ // Return empty array instead of throwing
139
+ if (error.message && error.message.includes("No matches found")) {
140
+ return [];
141
+ }
142
+ throw error;
143
+ }
156
144
  }
157
145
  /**
158
146
  * Parse ripgrep JSON output into SearchResult objects