@iamdevlinph/codex-kit 1.0.2 → 1.0.3

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/README.md CHANGED
@@ -32,8 +32,13 @@ maintains a marked routing section in the global `AGENTS.md`.
32
32
  ```toml
33
33
  model = "gpt-5.6-sol"
34
34
  model_reasoning_effort = "high"
35
+ plan_mode_reasoning_effort = "high"
35
36
  ```
36
37
 
38
+ Before changing these keys, codex-kit creates a timestamped `config.toml`
39
+ backup and records their previous values. `global uninstall` restores those
40
+ values without replacing unrelated configuration changed afterward.
41
+
37
42
  Use a different Codex home when needed:
38
43
 
39
44
  ```sh
@@ -49,8 +54,9 @@ Inspect the installed setup:
49
54
  pnpm dlx @iamdevlinph/codex-kit@latest global list
50
55
  ```
51
56
 
52
- The summary shows the Codex home, orchestrator, reasoning effort, routing
53
- status, and installed custom agents without dumping unrelated configuration.
57
+ The summary shows the Codex home, orchestrator, normal and Plan-mode reasoning
58
+ effort, routing status, and installed custom agents without dumping unrelated
59
+ configuration.
54
60
 
55
61
  Uninstall package-managed global files:
56
62
 
package/bin/codex-kit.js CHANGED
@@ -71,7 +71,7 @@ function topLevelConfigEntries(contents) {
71
71
  }
72
72
  if (inTable)
73
73
  continue;
74
- const match = /^(\s*)(model|model_reasoning_effort)\s*=\s*(.*?)\s*$/.exec(line);
74
+ const match = /^(\s*)(model|model_reasoning_effort|plan_mode_reasoning_effort)\s*=\s*(.*?)\s*$/.exec(line);
75
75
  const key = match?.[2];
76
76
  const value = match?.[3];
77
77
  if (key && value !== undefined && !entries.has(key))
@@ -97,7 +97,7 @@ function setTopLevelConfig(contents, desired) {
97
97
  const line = lines[index];
98
98
  if (line === undefined)
99
99
  continue;
100
- const match = /^(\s*)(model|model_reasoning_effort)\s*=\s*(.*?)\s*$/.exec(line);
100
+ const match = /^(\s*)(model|model_reasoning_effort|plan_mode_reasoning_effort)\s*=\s*(.*?)\s*$/.exec(line);
101
101
  const key = match?.[2];
102
102
  if (!match || !key || seen.has(key))
103
103
  continue;
@@ -128,7 +128,7 @@ function restoreTopLevelConfig(contents, config) {
128
128
  const line = lines[index];
129
129
  if (line === undefined)
130
130
  continue;
131
- const match = /^(\s*)(model|model_reasoning_effort)\s*=\s*(.*?)\s*$/.exec(line);
131
+ const match = /^(\s*)(model|model_reasoning_effort|plan_mode_reasoning_effort)\s*=\s*(.*?)\s*$/.exec(line);
132
132
  const key = match?.[2];
133
133
  if (!match || !key || restored.has(key))
134
134
  continue;
@@ -286,6 +286,7 @@ function configureGlobal(options) {
286
286
  const desired = {
287
287
  model: options.orchestrator,
288
288
  model_reasoning_effort: options.reasoningEffort,
289
+ plan_mode_reasoning_effort: options.reasoningEffort,
289
290
  };
290
291
  const priorState = loadState(home);
291
292
  const original = existsSync(configFile) ? readText(configFile) : "";
@@ -327,6 +328,7 @@ function configureGlobal(options) {
327
328
  saveState(home, priorState);
328
329
  console.log(`Orchestrator: ${desired.model}`);
329
330
  console.log(`Reasoning effort: ${desired.model_reasoning_effort}`);
331
+ console.log(`Plan mode reasoning effort: ${desired.plan_mode_reasoning_effort}`);
330
332
  }
331
333
  function listGlobal(options) {
332
334
  const home = options.codexHome;
@@ -353,6 +355,7 @@ function listGlobal(options) {
353
355
  console.log(`Config: ${configFile}${existsSync(configFile) ? "" : " (missing)"}`);
354
356
  console.log(`Orchestrator: ${value("model")}`);
355
357
  console.log(`Reasoning effort: ${value("model_reasoning_effort")}`);
358
+ console.log(`Plan mode reasoning effort: ${value("plan_mode_reasoning_effort")}`);
356
359
  console.log(`Kit state: ${existsSync(stateFile) ? state.version : "not installed"}`);
357
360
  const hasRoutingBlock = existsSync(globalAgents) && readText(globalAgents).includes(GLOBAL_BEGIN);
358
361
  console.log(`Global routing: ${hasRoutingBlock ? "installed" : "not installed"}`);
@@ -656,8 +659,8 @@ Usage:
656
659
  codex-kit --help
657
660
  codex-kit --version
658
661
 
659
- Global configure defaults to gpt-5.6-sol with high reasoning and edits only
660
- the top-level model settings in CODEX_HOME/config.toml.
662
+ Global configure defaults to gpt-5.6-sol with high normal and Plan-mode reasoning
663
+ and edits only those top-level model settings in CODEX_HOME/config.toml.
661
664
  Global install manages custom agents and a marked routing block under CODEX_HOME.
662
665
  Project sync refreshes TEMPLATE_AGENTS.md and never merges it into AGENTS.md.`);
663
666
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iamdevlinph/codex-kit",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Portable Codex subagents and project AGENTS.md defaults.",
5
5
  "type": "module",
6
6
  "bin": {