juno-code 1.0.26 → 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 +26 -7
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/cli.mjs +26 -7
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -1
- package/dist/index.mjs.map +1 -1
- package/dist/templates/services/__pycache__/claude.cpython-38.pyc +0 -0
- package/dist/templates/services/claude.py +65 -6
- package/package.json +1 -1
package/dist/bin/cli.mjs
CHANGED
|
@@ -3526,6 +3526,9 @@ function createExecutionRequest(options) {
|
|
|
3526
3526
|
if (options.model !== void 0) {
|
|
3527
3527
|
result.model = options.model;
|
|
3528
3528
|
}
|
|
3529
|
+
if (options.agents !== void 0) {
|
|
3530
|
+
result.agents = options.agents;
|
|
3531
|
+
}
|
|
3529
3532
|
if (options.mcpServerName !== void 0) {
|
|
3530
3533
|
result.mcpServerName = options.mcpServerName;
|
|
3531
3534
|
}
|
|
@@ -3974,6 +3977,7 @@ var init_engine = __esm({
|
|
|
3974
3977
|
instruction: context.request.instruction,
|
|
3975
3978
|
project_path: context.request.workingDirectory,
|
|
3976
3979
|
...context.request.model !== void 0 && { model: context.request.model },
|
|
3980
|
+
...context.request.agents !== void 0 && { agents: context.request.agents },
|
|
3977
3981
|
iteration: iterationNumber
|
|
3978
3982
|
},
|
|
3979
3983
|
timeout: context.request.timeoutMs || this.engineConfig.config.mcpTimeout,
|
|
@@ -7133,10 +7137,17 @@ var init_shell_backend = __esm({
|
|
|
7133
7137
|
if (isPython && request.arguments?.instruction) {
|
|
7134
7138
|
args.push("-p", request.arguments.instruction);
|
|
7135
7139
|
}
|
|
7140
|
+
if (isPython && request.arguments?.model) {
|
|
7141
|
+
args.push("-m", request.arguments.model);
|
|
7142
|
+
}
|
|
7143
|
+
if (isPython && request.arguments?.agents) {
|
|
7144
|
+
args.push("--agents", request.arguments.agents);
|
|
7145
|
+
}
|
|
7136
7146
|
if (this.config.debug) {
|
|
7137
7147
|
engineLogger.debug(`Executing script: ${command} ${args.join(" ")}`);
|
|
7138
7148
|
engineLogger.debug(`Working directory: ${this.config.workingDirectory}`);
|
|
7139
7149
|
engineLogger.debug(`Environment variables: ${Object.keys(env2).filter((k) => k.startsWith("JUNO_")).join(", ")}`);
|
|
7150
|
+
engineLogger.debug(`Request arguments: ${JSON.stringify(request.arguments)}`);
|
|
7140
7151
|
}
|
|
7141
7152
|
const child = spawn(command, args, {
|
|
7142
7153
|
env: env2,
|
|
@@ -12534,13 +12545,17 @@ async function mainCommandHandler(args, options, command) {
|
|
|
12534
12545
|
if (options.verbose) {
|
|
12535
12546
|
console.error(chalk15.gray(` Backend: ${getBackendDisplayName(selectedBackend)}`));
|
|
12536
12547
|
}
|
|
12548
|
+
if (options.agents && selectedBackend !== "shell") {
|
|
12549
|
+
console.error(chalk15.yellow("\n\u26A0\uFE0F Note: --agents flag is only supported with shell backend and will be ignored"));
|
|
12550
|
+
}
|
|
12537
12551
|
const executionRequest = createExecutionRequest({
|
|
12538
12552
|
instruction,
|
|
12539
12553
|
subagent: options.subagent,
|
|
12540
12554
|
backend: selectedBackend,
|
|
12541
12555
|
workingDirectory: config.workingDirectory,
|
|
12542
12556
|
maxIterations: options.maxIterations || config.defaultMaxIterations,
|
|
12543
|
-
model: options.model || config.defaultModel
|
|
12557
|
+
model: options.model || config.defaultModel,
|
|
12558
|
+
agents: options.agents
|
|
12544
12559
|
});
|
|
12545
12560
|
const coordinator = new MainExecutionCoordinator(config, options.verbose, options.enableFeedback || false);
|
|
12546
12561
|
const result = await coordinator.execute(executionRequest);
|
|
@@ -16345,11 +16360,12 @@ async function startCommandHandler(args, options, command) {
|
|
|
16345
16360
|
}
|
|
16346
16361
|
function configureStartCommand(program) {
|
|
16347
16362
|
program.command("start").description("Start execution using .juno_task/init.md as prompt").option("-s, --subagent <name>", "Subagent to use (claude, cursor, codex, gemini)").option("-b, --backend <type>", "Backend to use (mcp, shell)").option("-i, --max-iterations <number>", "Maximum number of iterations", parseInt).option("-m, --model <name>", "Model to use for execution").option("-d, --directory <path>", "Project directory (default: current)").option("--enable-feedback", "Enable concurrent feedback collection during execution").option("--show-metrics", "Display performance metrics summary after execution").option("--show-dashboard", "Show interactive performance dashboard after execution").option("--show-trends", "Display performance trends from historical data").option("--save-metrics [file]", "Save performance metrics to file (default: .juno_task/metrics.json)").option("--metrics-file <path>", "Specify custom path for metrics file").option("--dry-run", "Validate configuration and exit without executing").action(async (options, command) => {
|
|
16348
|
-
|
|
16349
|
-
|
|
16350
|
-
|
|
16363
|
+
const allOptions2 = command.optsWithGlobals ? command.optsWithGlobals() : { ...command.opts(), ...options };
|
|
16364
|
+
if (allOptions2.saveMetrics === true) {
|
|
16365
|
+
allOptions2.saveMetrics = true;
|
|
16366
|
+
allOptions2.metricsFile = allOptions2.metricsFile || ".juno_task/metrics.json";
|
|
16351
16367
|
}
|
|
16352
|
-
await startCommandHandler([],
|
|
16368
|
+
await startCommandHandler([], allOptions2, command);
|
|
16353
16369
|
}).addHelpText("after", `
|
|
16354
16370
|
Examples:
|
|
16355
16371
|
$ juno-code start # Start execution in current directory
|
|
@@ -23604,10 +23620,13 @@ function setupGlobalOptions(program) {
|
|
|
23604
23620
|
});
|
|
23605
23621
|
}
|
|
23606
23622
|
function setupMainCommand(program) {
|
|
23607
|
-
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) => {
|
|
23623
|
+
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) => {
|
|
23608
23624
|
try {
|
|
23609
23625
|
const globalOptions = program.opts();
|
|
23610
|
-
const
|
|
23626
|
+
const definedGlobalOptions = Object.fromEntries(
|
|
23627
|
+
Object.entries(globalOptions).filter(([_, v]) => v !== void 0)
|
|
23628
|
+
);
|
|
23629
|
+
const allOptions2 = { ...definedGlobalOptions, ...options };
|
|
23611
23630
|
if (!globalOptions.subagent && !options.prompt && !options.interactive && !options.interactivePrompt) {
|
|
23612
23631
|
const fs21 = await import('fs-extra');
|
|
23613
23632
|
const path23 = await import('path');
|