stigmergy 1.1.1 → 1.1.2

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/cli/router.js +31 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stigmergy",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Stigmergy CLI - Multi-Agents Cross-AI CLI Tools Collaboration System",
5
5
  "main": "src/index.js",
6
6
  "bin": {
package/src/cli/router.js CHANGED
@@ -264,11 +264,40 @@ async function main() {
264
264
  console.log(`[ROUTE] Analyzing prompt: ${prompt}`);
265
265
 
266
266
  // Route to appropriate AI CLI tool
267
- const route = await router.routePrompt(prompt);
267
+ const route = await router.smartRoute(prompt);
268
268
  console.log(`[ROUTE] Selected tool: ${route.tool}`);
269
269
 
270
270
  // Prepare tool arguments
271
- const toolArgs = router.prepareToolArguments(route, prompt);
271
+ let toolArgs = [];
272
+
273
+ try {
274
+ // Get CLI pattern for this tool
275
+ const cliPattern = await router.analyzer.getCLIPattern(route.tool);
276
+
277
+ // Use the unified CLI parameter handler
278
+ const CLIParameterHandler = require('../core/cli_parameter_handler');
279
+ toolArgs = CLIParameterHandler.generateArguments(
280
+ route.tool,
281
+ route.prompt,
282
+ cliPattern,
283
+ );
284
+ } catch (patternError) {
285
+ // Fallback to original logic if pattern analysis fails
286
+ if (route.tool === 'claude') {
287
+ // Claude CLI expects the prompt with -p flag for non-interactive mode
288
+ toolArgs = ['-p', `"${route.prompt}"`];
289
+ } else if (route.tool === 'qodercli' || route.tool === 'iflow') {
290
+ // Qoder CLI and iFlow expect the prompt with -p flag
291
+ toolArgs = ['-p', `"${route.prompt}"`];
292
+ } else if (route.tool === 'codex') {
293
+ // Codex CLI needs 'exec' subcommand for non-interactive mode
294
+ toolArgs = ['exec', '-p', `"${route.prompt}"`];
295
+ } else {
296
+ // For other tools, pass the prompt with -p flag
297
+ toolArgs = ['-p', `"${route.prompt}"`];
298
+ }
299
+ }
300
+
272
301
  const toolPath = route.tool;
273
302
 
274
303
  console.log(`[EXEC] Running: ${toolPath} ${toolArgs.join(' ')}`);