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.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,
|
|
@@ -7169,10 +7173,17 @@ var init_shell_backend = __esm({
|
|
|
7169
7173
|
if (isPython && request.arguments?.instruction) {
|
|
7170
7174
|
args.push("-p", request.arguments.instruction);
|
|
7171
7175
|
}
|
|
7176
|
+
if (isPython && request.arguments?.model) {
|
|
7177
|
+
args.push("-m", request.arguments.model);
|
|
7178
|
+
}
|
|
7179
|
+
if (isPython && request.arguments?.agents) {
|
|
7180
|
+
args.push("--agents", request.arguments.agents);
|
|
7181
|
+
}
|
|
7172
7182
|
if (this.config.debug) {
|
|
7173
7183
|
engineLogger.debug(`Executing script: ${command} ${args.join(" ")}`);
|
|
7174
7184
|
engineLogger.debug(`Working directory: ${this.config.workingDirectory}`);
|
|
7175
7185
|
engineLogger.debug(`Environment variables: ${Object.keys(env2).filter((k) => k.startsWith("JUNO_")).join(", ")}`);
|
|
7186
|
+
engineLogger.debug(`Request arguments: ${JSON.stringify(request.arguments)}`);
|
|
7176
7187
|
}
|
|
7177
7188
|
const child = child_process.spawn(command, args, {
|
|
7178
7189
|
env: env2,
|
|
@@ -12570,13 +12581,17 @@ async function mainCommandHandler(args, options, command) {
|
|
|
12570
12581
|
if (options.verbose) {
|
|
12571
12582
|
console.error(chalk15__default.default.gray(` Backend: ${getBackendDisplayName(selectedBackend)}`));
|
|
12572
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
|
+
}
|
|
12573
12587
|
const executionRequest = createExecutionRequest({
|
|
12574
12588
|
instruction,
|
|
12575
12589
|
subagent: options.subagent,
|
|
12576
12590
|
backend: selectedBackend,
|
|
12577
12591
|
workingDirectory: config.workingDirectory,
|
|
12578
12592
|
maxIterations: options.maxIterations || config.defaultMaxIterations,
|
|
12579
|
-
model: options.model || config.defaultModel
|
|
12593
|
+
model: options.model || config.defaultModel,
|
|
12594
|
+
agents: options.agents
|
|
12580
12595
|
});
|
|
12581
12596
|
const coordinator = new MainExecutionCoordinator(config, options.verbose, options.enableFeedback || false);
|
|
12582
12597
|
const result = await coordinator.execute(executionRequest);
|
|
@@ -16381,11 +16396,12 @@ async function startCommandHandler(args, options, command) {
|
|
|
16381
16396
|
}
|
|
16382
16397
|
function configureStartCommand(program) {
|
|
16383
16398
|
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) => {
|
|
16384
|
-
|
|
16385
|
-
|
|
16386
|
-
|
|
16399
|
+
const allOptions2 = command.optsWithGlobals ? command.optsWithGlobals() : { ...command.opts(), ...options };
|
|
16400
|
+
if (allOptions2.saveMetrics === true) {
|
|
16401
|
+
allOptions2.saveMetrics = true;
|
|
16402
|
+
allOptions2.metricsFile = allOptions2.metricsFile || ".juno_task/metrics.json";
|
|
16387
16403
|
}
|
|
16388
|
-
await startCommandHandler([],
|
|
16404
|
+
await startCommandHandler([], allOptions2, command);
|
|
16389
16405
|
}).addHelpText("after", `
|
|
16390
16406
|
Examples:
|
|
16391
16407
|
$ juno-code start # Start execution in current directory
|
|
@@ -23640,10 +23656,13 @@ function setupGlobalOptions(program) {
|
|
|
23640
23656
|
});
|
|
23641
23657
|
}
|
|
23642
23658
|
function setupMainCommand(program) {
|
|
23643
|
-
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) => {
|
|
23644
23660
|
try {
|
|
23645
23661
|
const globalOptions = program.opts();
|
|
23646
|
-
const
|
|
23662
|
+
const definedGlobalOptions = Object.fromEntries(
|
|
23663
|
+
Object.entries(globalOptions).filter(([_, v]) => v !== void 0)
|
|
23664
|
+
);
|
|
23665
|
+
const allOptions2 = { ...definedGlobalOptions, ...options };
|
|
23647
23666
|
if (!globalOptions.subagent && !options.prompt && !options.interactive && !options.interactivePrompt) {
|
|
23648
23667
|
const fs21 = await import('fs-extra');
|
|
23649
23668
|
const path23 = await import('path');
|