juno-code 1.0.27 → 1.0.28

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/bin/cli.js CHANGED
@@ -3562,6 +3562,9 @@ function createExecutionRequest(options) {
3562
3562
  if (options.model !== void 0) {
3563
3563
  result.model = options.model;
3564
3564
  }
3565
+ if (options.agents !== void 0) {
3566
+ result.agents = options.agents;
3567
+ }
3565
3568
  if (options.mcpServerName !== void 0) {
3566
3569
  result.mcpServerName = options.mcpServerName;
3567
3570
  }
@@ -4010,6 +4013,7 @@ var init_engine = __esm({
4010
4013
  instruction: context.request.instruction,
4011
4014
  project_path: context.request.workingDirectory,
4012
4015
  ...context.request.model !== void 0 && { model: context.request.model },
4016
+ ...context.request.agents !== void 0 && { agents: context.request.agents },
4013
4017
  iteration: iterationNumber
4014
4018
  },
4015
4019
  timeout: context.request.timeoutMs || this.engineConfig.config.mcpTimeout,
@@ -7172,10 +7176,14 @@ var init_shell_backend = __esm({
7172
7176
  if (isPython && request.arguments?.model) {
7173
7177
  args.push("-m", request.arguments.model);
7174
7178
  }
7179
+ if (isPython && request.arguments?.agents) {
7180
+ args.push("--agents", request.arguments.agents);
7181
+ }
7175
7182
  if (this.config.debug) {
7176
7183
  engineLogger.debug(`Executing script: ${command} ${args.join(" ")}`);
7177
7184
  engineLogger.debug(`Working directory: ${this.config.workingDirectory}`);
7178
7185
  engineLogger.debug(`Environment variables: ${Object.keys(env2).filter((k) => k.startsWith("JUNO_")).join(", ")}`);
7186
+ engineLogger.debug(`Request arguments: ${JSON.stringify(request.arguments)}`);
7179
7187
  }
7180
7188
  const child = child_process.spawn(command, args, {
7181
7189
  env: env2,
@@ -12573,13 +12581,17 @@ async function mainCommandHandler(args, options, command) {
12573
12581
  if (options.verbose) {
12574
12582
  console.error(chalk15__default.default.gray(` Backend: ${getBackendDisplayName(selectedBackend)}`));
12575
12583
  }
12584
+ if (options.agents && selectedBackend !== "shell") {
12585
+ console.error(chalk15__default.default.yellow("\n\u26A0\uFE0F Note: --agents flag is only supported with shell backend and will be ignored"));
12586
+ }
12576
12587
  const executionRequest = createExecutionRequest({
12577
12588
  instruction,
12578
12589
  subagent: options.subagent,
12579
12590
  backend: selectedBackend,
12580
12591
  workingDirectory: config.workingDirectory,
12581
12592
  maxIterations: options.maxIterations || config.defaultMaxIterations,
12582
- model: options.model || config.defaultModel
12593
+ model: options.model || config.defaultModel,
12594
+ agents: options.agents
12583
12595
  });
12584
12596
  const coordinator = new MainExecutionCoordinator(config, options.verbose, options.enableFeedback || false);
12585
12597
  const result = await coordinator.execute(executionRequest);
@@ -23644,10 +23656,13 @@ function setupGlobalOptions(program) {
23644
23656
  });
23645
23657
  }
23646
23658
  function setupMainCommand(program) {
23647
- program.option("-p, --prompt <text>", "Prompt input (file path or inline text)").option("-w, --cwd <path>", "Working directory").option("-i, --max-iterations <number>", "Maximum iterations (-1 for unlimited)", parseInt).option("-m, --model <name>", "Model to use (subagent-specific)").option("-b, --backend <type>", "Backend to use (mcp, shell)").option("-I, --interactive", "Interactive mode for typing prompts").option("-ip, --interactive-prompt", "Launch TUI prompt editor").action(async (options, command) => {
23659
+ program.option("-p, --prompt <text>", "Prompt input (file path or inline text)").option("-w, --cwd <path>", "Working directory").option("-i, --max-iterations <number>", "Maximum iterations (-1 for unlimited)", parseInt).option("-m, --model <name>", "Model to use (subagent-specific)").option("--agents <agents>", "Agents configuration (forwarded to claude.py when using shell backend)").option("-b, --backend <type>", "Backend to use (mcp, shell)").option("-I, --interactive", "Interactive mode for typing prompts").option("-ip, --interactive-prompt", "Launch TUI prompt editor").action(async (options, command) => {
23648
23660
  try {
23649
23661
  const globalOptions = program.opts();
23650
- const allOptions2 = { ...options, ...globalOptions };
23662
+ const definedGlobalOptions = Object.fromEntries(
23663
+ Object.entries(globalOptions).filter(([_, v]) => v !== void 0)
23664
+ );
23665
+ const allOptions2 = { ...definedGlobalOptions, ...options };
23651
23666
  if (!globalOptions.subagent && !options.prompt && !options.interactive && !options.interactivePrompt) {
23652
23667
  const fs21 = await import('fs-extra');
23653
23668
  const path23 = await import('path');