@locusai/cli 0.11.5 → 0.11.6
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/bin/agent/worker.js +11 -4
- package/bin/locus.js +26 -6
- package/package.json +2 -2
package/bin/agent/worker.js
CHANGED
|
@@ -15409,14 +15409,16 @@ class CodexRunner {
|
|
|
15409
15409
|
projectPath;
|
|
15410
15410
|
model;
|
|
15411
15411
|
log;
|
|
15412
|
+
reasoningEffort;
|
|
15412
15413
|
activeProcess = null;
|
|
15413
15414
|
eventEmitter;
|
|
15414
15415
|
currentToolName;
|
|
15415
15416
|
timeoutMs;
|
|
15416
|
-
constructor(projectPath, model = DEFAULT_MODEL[PROVIDER.CODEX], log, timeoutMs) {
|
|
15417
|
+
constructor(projectPath, model = DEFAULT_MODEL[PROVIDER.CODEX], log, timeoutMs, reasoningEffort) {
|
|
15417
15418
|
this.projectPath = projectPath;
|
|
15418
15419
|
this.model = model;
|
|
15419
15420
|
this.log = log;
|
|
15421
|
+
this.reasoningEffort = reasoningEffort;
|
|
15420
15422
|
this.timeoutMs = timeoutMs ?? DEFAULT_TIMEOUT_MS2;
|
|
15421
15423
|
}
|
|
15422
15424
|
setEventEmitter(emitter) {
|
|
@@ -15681,6 +15683,9 @@ class CodexRunner {
|
|
|
15681
15683
|
if (this.model) {
|
|
15682
15684
|
args.push("--model", this.model);
|
|
15683
15685
|
}
|
|
15686
|
+
if (this.reasoningEffort) {
|
|
15687
|
+
args.push("-c", `model_reasoning_effort=${this.reasoningEffort}`);
|
|
15688
|
+
}
|
|
15684
15689
|
args.push("-");
|
|
15685
15690
|
return args;
|
|
15686
15691
|
}
|
|
@@ -15735,7 +15740,7 @@ function createAiRunner(provider, config2) {
|
|
|
15735
15740
|
const model = config2.model ?? DEFAULT_MODEL[resolvedProvider];
|
|
15736
15741
|
switch (resolvedProvider) {
|
|
15737
15742
|
case PROVIDER.CODEX:
|
|
15738
|
-
return new CodexRunner(config2.projectPath, model, config2.log, config2.timeoutMs);
|
|
15743
|
+
return new CodexRunner(config2.projectPath, model, config2.log, config2.timeoutMs, config2.reasoningEffort ?? "high");
|
|
15739
15744
|
default:
|
|
15740
15745
|
return new ClaudeRunner(config2.projectPath, model, config2.log, config2.timeoutMs);
|
|
15741
15746
|
}
|
|
@@ -31999,7 +32004,8 @@ function parseWorkerArgs(argv) {
|
|
|
31999
32004
|
if (value && !value.startsWith("--"))
|
|
32000
32005
|
i++;
|
|
32001
32006
|
config2.provider = resolveProvider(value);
|
|
32002
|
-
}
|
|
32007
|
+
} else if (arg === "--reasoning-effort")
|
|
32008
|
+
config2.reasoningEffort = args[++i];
|
|
32003
32009
|
}
|
|
32004
32010
|
if (!config2.agentId || !config2.workspaceId || !config2.apiBase || !config2.apiKey || !config2.projectPath) {
|
|
32005
32011
|
console.error("Missing required arguments");
|
|
@@ -32061,7 +32067,8 @@ class AgentWorker {
|
|
|
32061
32067
|
this.aiRunner = createAiRunner(provider, {
|
|
32062
32068
|
projectPath,
|
|
32063
32069
|
model: config2.model,
|
|
32064
|
-
log
|
|
32070
|
+
log,
|
|
32071
|
+
reasoningEffort: config2.reasoningEffort
|
|
32065
32072
|
});
|
|
32066
32073
|
this.taskExecutor = new TaskExecutor({
|
|
32067
32074
|
aiRunner: this.aiRunner,
|
package/bin/locus.js
CHANGED
|
@@ -7507,14 +7507,16 @@ class CodexRunner {
|
|
|
7507
7507
|
projectPath;
|
|
7508
7508
|
model;
|
|
7509
7509
|
log;
|
|
7510
|
+
reasoningEffort;
|
|
7510
7511
|
activeProcess = null;
|
|
7511
7512
|
eventEmitter;
|
|
7512
7513
|
currentToolName;
|
|
7513
7514
|
timeoutMs;
|
|
7514
|
-
constructor(projectPath, model = DEFAULT_MODEL[PROVIDER.CODEX], log, timeoutMs) {
|
|
7515
|
+
constructor(projectPath, model = DEFAULT_MODEL[PROVIDER.CODEX], log, timeoutMs, reasoningEffort) {
|
|
7515
7516
|
this.projectPath = projectPath;
|
|
7516
7517
|
this.model = model;
|
|
7517
7518
|
this.log = log;
|
|
7519
|
+
this.reasoningEffort = reasoningEffort;
|
|
7518
7520
|
this.timeoutMs = timeoutMs ?? DEFAULT_TIMEOUT_MS2;
|
|
7519
7521
|
}
|
|
7520
7522
|
setEventEmitter(emitter) {
|
|
@@ -7779,6 +7781,9 @@ class CodexRunner {
|
|
|
7779
7781
|
if (this.model) {
|
|
7780
7782
|
args.push("--model", this.model);
|
|
7781
7783
|
}
|
|
7784
|
+
if (this.reasoningEffort) {
|
|
7785
|
+
args.push("-c", `model_reasoning_effort=${this.reasoningEffort}`);
|
|
7786
|
+
}
|
|
7782
7787
|
args.push("-");
|
|
7783
7788
|
return args;
|
|
7784
7789
|
}
|
|
@@ -7833,7 +7838,7 @@ function createAiRunner(provider, config) {
|
|
|
7833
7838
|
const model = config.model ?? DEFAULT_MODEL[resolvedProvider];
|
|
7834
7839
|
switch (resolvedProvider) {
|
|
7835
7840
|
case PROVIDER.CODEX:
|
|
7836
|
-
return new CodexRunner(config.projectPath, model, config.log, config.timeoutMs);
|
|
7841
|
+
return new CodexRunner(config.projectPath, model, config.log, config.timeoutMs, config.reasoningEffort ?? "high");
|
|
7837
7842
|
default:
|
|
7838
7843
|
return new ClaudeRunner(config.projectPath, model, config.log, config.timeoutMs);
|
|
7839
7844
|
}
|
|
@@ -38932,7 +38937,8 @@ function parseWorkerArgs(argv) {
|
|
|
38932
38937
|
if (value && !value.startsWith("--"))
|
|
38933
38938
|
i++;
|
|
38934
38939
|
config2.provider = resolveProvider2(value);
|
|
38935
|
-
}
|
|
38940
|
+
} else if (arg === "--reasoning-effort")
|
|
38941
|
+
config2.reasoningEffort = args[++i];
|
|
38936
38942
|
}
|
|
38937
38943
|
if (!config2.agentId || !config2.workspaceId || !config2.apiBase || !config2.apiKey || !config2.projectPath) {
|
|
38938
38944
|
console.error("Missing required arguments");
|
|
@@ -38994,7 +39000,8 @@ class AgentWorker {
|
|
|
38994
39000
|
this.aiRunner = createAiRunner(provider, {
|
|
38995
39001
|
projectPath,
|
|
38996
39002
|
model: config2.model,
|
|
38997
|
-
log
|
|
39003
|
+
log,
|
|
39004
|
+
reasoningEffort: config2.reasoningEffort
|
|
38998
39005
|
});
|
|
38999
39006
|
this.taskExecutor = new TaskExecutor({
|
|
39000
39007
|
aiRunner: this.aiRunner,
|
|
@@ -40329,6 +40336,9 @@ ${c.primary("\uD83E\uDD16 Locus Agent Orchestrator")}`);
|
|
|
40329
40336
|
if (this.config.provider) {
|
|
40330
40337
|
args.push("--provider", this.config.provider);
|
|
40331
40338
|
}
|
|
40339
|
+
if (this.config.reasoningEffort) {
|
|
40340
|
+
args.push("--reasoning-effort", this.config.reasoningEffort);
|
|
40341
|
+
}
|
|
40332
40342
|
if (this.resolvedSprintId) {
|
|
40333
40343
|
args.push("--sprint-id", this.resolvedSprintId);
|
|
40334
40344
|
}
|
|
@@ -43191,6 +43201,7 @@ async function execCommand(args) {
|
|
|
43191
43201
|
options: {
|
|
43192
43202
|
model: { type: "string" },
|
|
43193
43203
|
provider: { type: "string" },
|
|
43204
|
+
"reasoning-effort": { type: "string" },
|
|
43194
43205
|
dir: { type: "string" },
|
|
43195
43206
|
"no-stream": { type: "boolean" },
|
|
43196
43207
|
"no-status": { type: "boolean" },
|
|
@@ -43245,9 +43256,11 @@ async function execCommand(args) {
|
|
|
43245
43256
|
process.exit(1);
|
|
43246
43257
|
}
|
|
43247
43258
|
const useStreaming = !values["no-stream"];
|
|
43259
|
+
const reasoningEffort = values["reasoning-effort"];
|
|
43248
43260
|
const aiRunner = createAiRunner(provider, {
|
|
43249
43261
|
projectPath,
|
|
43250
|
-
model
|
|
43262
|
+
model,
|
|
43263
|
+
reasoningEffort
|
|
43251
43264
|
});
|
|
43252
43265
|
const builder = new PromptBuilder(projectPath);
|
|
43253
43266
|
const fullPrompt = await builder.buildGenericPrompt(promptInput);
|
|
@@ -43364,6 +43377,7 @@ function showHelp2() {
|
|
|
43364
43377
|
${c.header(" OPTIONS ")}
|
|
43365
43378
|
${c.secondary("--help")} Show this help message
|
|
43366
43379
|
${c.secondary("--provider")} <name> AI provider: ${c.dim("claude")} or ${c.dim("codex")} (default: ${c.dim("claude")})
|
|
43380
|
+
${c.secondary("--reasoning-effort")} <level> Codex reasoning effort: ${c.dim("low, medium, high")} (default: model default)
|
|
43367
43381
|
|
|
43368
43382
|
${c.header(" GETTING STARTED ")}
|
|
43369
43383
|
${c.dim("$")} ${c.primary("locus init")}
|
|
@@ -43546,6 +43560,7 @@ async function planCommand(args) {
|
|
|
43546
43560
|
show: { type: "string" },
|
|
43547
43561
|
model: { type: "string" },
|
|
43548
43562
|
provider: { type: "string" },
|
|
43563
|
+
"reasoning-effort": { type: "string" },
|
|
43549
43564
|
"api-key": { type: "string" },
|
|
43550
43565
|
"api-url": { type: "string" },
|
|
43551
43566
|
workspace: { type: "string" },
|
|
@@ -43590,9 +43605,11 @@ async function planCommand(args) {
|
|
|
43590
43605
|
const planSettings = new SettingsManager(projectPath).load();
|
|
43591
43606
|
const provider = resolveProvider3(values.provider || planSettings.provider);
|
|
43592
43607
|
const model = values.model || planSettings.model || DEFAULT_MODEL[provider];
|
|
43608
|
+
const reasoningEffort = values["reasoning-effort"];
|
|
43593
43609
|
const aiRunner = createAiRunner(provider, {
|
|
43594
43610
|
projectPath,
|
|
43595
|
-
model
|
|
43611
|
+
model,
|
|
43612
|
+
reasoningEffort
|
|
43596
43613
|
});
|
|
43597
43614
|
const log = (message, level) => {
|
|
43598
43615
|
const icon = level === "success" ? c.success("✔") : level === "error" ? c.error("✖") : level === "warn" ? c.warning("!") : c.info("●");
|
|
@@ -43977,6 +43994,7 @@ async function runCommand(args) {
|
|
|
43977
43994
|
sprint: { type: "string" },
|
|
43978
43995
|
model: { type: "string" },
|
|
43979
43996
|
provider: { type: "string" },
|
|
43997
|
+
"reasoning-effort": { type: "string" },
|
|
43980
43998
|
"skip-planning": { type: "boolean" },
|
|
43981
43999
|
"api-url": { type: "string" },
|
|
43982
44000
|
dir: { type: "string" }
|
|
@@ -44011,11 +44029,13 @@ async function runCommand(args) {
|
|
|
44011
44029
|
console.error(c.error(error48 instanceof Error ? error48.message : String(error48)));
|
|
44012
44030
|
process.exit(1);
|
|
44013
44031
|
}
|
|
44032
|
+
const reasoningEffort = values["reasoning-effort"];
|
|
44014
44033
|
const orchestrator = new AgentOrchestrator({
|
|
44015
44034
|
workspaceId,
|
|
44016
44035
|
sprintId: values.sprint || "",
|
|
44017
44036
|
model,
|
|
44018
44037
|
provider,
|
|
44038
|
+
reasoningEffort,
|
|
44019
44039
|
apiBase,
|
|
44020
44040
|
maxIterations: 100,
|
|
44021
44041
|
projectPath,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@locusai/cli",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.6",
|
|
4
4
|
"description": "CLI for Locus - AI-native project management platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"author": "",
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@locusai/sdk": "^0.11.
|
|
36
|
+
"@locusai/sdk": "^0.11.6"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {}
|
|
39
39
|
}
|