@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.
@@ -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.5",
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.5"
36
+ "@locusai/sdk": "^0.11.6"
37
37
  },
38
38
  "devDependencies": {}
39
39
  }