oh-my-codex 0.8.2 → 0.8.4

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.
Files changed (53) hide show
  1. package/README.md +10 -2
  2. package/dist/cli/__tests__/setup-agents-overwrite.test.js +17 -27
  3. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
  4. package/dist/cli/__tests__/setup-codex-version.test.d.ts +2 -0
  5. package/dist/cli/__tests__/setup-codex-version.test.d.ts.map +1 -0
  6. package/dist/cli/__tests__/setup-codex-version.test.js +99 -0
  7. package/dist/cli/__tests__/setup-codex-version.test.js.map +1 -0
  8. package/dist/cli/__tests__/setup-refresh.test.d.ts +2 -0
  9. package/dist/cli/__tests__/setup-refresh.test.d.ts.map +1 -0
  10. package/dist/cli/__tests__/setup-refresh.test.js +166 -0
  11. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -0
  12. package/dist/cli/__tests__/setup-scope.test.js +7 -4
  13. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  14. package/dist/cli/__tests__/setup-skills-overwrite.test.js +5 -2
  15. package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
  16. package/dist/cli/__tests__/uninstall.test.js +53 -0
  17. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  18. package/dist/cli/setup.d.ts +2 -1
  19. package/dist/cli/setup.d.ts.map +1 -1
  20. package/dist/cli/setup.js +335 -175
  21. package/dist/cli/setup.js.map +1 -1
  22. package/dist/config/__tests__/generator-idempotent.test.js +199 -128
  23. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  24. package/dist/config/__tests__/generator-notify.test.js +55 -0
  25. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  26. package/dist/config/generator.d.ts +4 -1
  27. package/dist/config/generator.d.ts.map +1 -1
  28. package/dist/config/generator.js +154 -111
  29. package/dist/config/generator.js.map +1 -1
  30. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +26 -4
  31. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  32. package/dist/team/__tests__/runtime.test.js +76 -0
  33. package/dist/team/__tests__/runtime.test.js.map +1 -1
  34. package/dist/team/__tests__/tmux-claude-workers-demo.test.js +4 -3
  35. package/dist/team/__tests__/tmux-claude-workers-demo.test.js.map +1 -1
  36. package/dist/team/__tests__/tmux-session.test.js +10 -3
  37. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  38. package/dist/team/runtime.d.ts.map +1 -1
  39. package/dist/team/runtime.js +92 -62
  40. package/dist/team/runtime.js.map +1 -1
  41. package/dist/team/tmux-session.d.ts +4 -3
  42. package/dist/team/tmux-session.d.ts.map +1 -1
  43. package/dist/team/tmux-session.js +15 -9
  44. package/dist/team/tmux-session.js.map +1 -1
  45. package/package.json +1 -1
  46. package/dist/hooks/__tests__/emulator.test.d.ts +0 -2
  47. package/dist/hooks/__tests__/emulator.test.d.ts.map +0 -1
  48. package/dist/hooks/__tests__/emulator.test.js +0 -53
  49. package/dist/hooks/__tests__/emulator.test.js.map +0 -1
  50. package/dist/hooks/emulator.d.ts +0 -44
  51. package/dist/hooks/emulator.d.ts.map +0 -1
  52. package/dist/hooks/emulator.js +0 -105
  53. package/dist/hooks/emulator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
@@ -2,37 +2,37 @@
2
2
  * Idempotency tests for config.toml generator (issue #384)
3
3
  * Verifies that repeated `omx setup` runs do not duplicate OMX sections.
4
4
  */
5
- import { describe, it } from 'node:test';
6
- import assert from 'node:assert/strict';
7
- import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
8
- import { tmpdir } from 'node:os';
9
- import { join } from 'node:path';
10
- import { mergeConfig } from '../generator.js';
5
+ import { describe, it } from "node:test";
6
+ import assert from "node:assert/strict";
7
+ import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
8
+ import { tmpdir } from "node:os";
9
+ import { join } from "node:path";
10
+ import { buildMergedConfig, mergeConfig } from "../generator.js";
11
11
  /** Count occurrences of a pattern in text */
12
12
  function count(text, pattern) {
13
13
  return (text.match(pattern) ?? []).length;
14
14
  }
15
15
  /** Assert the OMX block appears exactly once */
16
16
  function assertSingleOmxBlock(toml) {
17
- assert.equal(count(toml, /# oh-my-codex \(OMX\) Configuration/g), 1, 'OMX marker should appear once');
18
- assert.equal(count(toml, /# End oh-my-codex/g), 1, 'End marker should appear once');
19
- assert.equal(count(toml, /^\[mcp_servers\.omx_state\]$/gm), 1, '[mcp_servers.omx_state] should appear once');
20
- assert.equal(count(toml, /^\[mcp_servers\.omx_memory\]$/gm), 1, '[mcp_servers.omx_memory] should appear once');
21
- assert.equal(count(toml, /^\[mcp_servers\.omx_code_intel\]$/gm), 1, '[mcp_servers.omx_code_intel] should appear once');
22
- assert.equal(count(toml, /^\[mcp_servers\.omx_trace\]$/gm), 1, '[mcp_servers.omx_trace] should appear once');
23
- assert.equal(count(toml, /^\[tui\]$/gm), 1, '[tui] should appear once');
24
- assert.equal(count(toml, /^\[features\]$/gm), 1, '[features] should appear once');
25
- assert.equal(count(toml, /^notify\s*=/gm), 1, 'notify key should appear once');
26
- assert.equal(count(toml, /^model_reasoning_effort\s*=/gm), 1, 'model_reasoning_effort should appear once');
27
- assert.equal(count(toml, /^developer_instructions\s*=/gm), 1, 'developer_instructions should appear once');
17
+ assert.equal(count(toml, /# oh-my-codex \(OMX\) Configuration/g), 1, "OMX marker should appear once");
18
+ assert.equal(count(toml, /# End oh-my-codex/g), 1, "End marker should appear once");
19
+ assert.equal(count(toml, /^\[mcp_servers\.omx_state\]$/gm), 1, "[mcp_servers.omx_state] should appear once");
20
+ assert.equal(count(toml, /^\[mcp_servers\.omx_memory\]$/gm), 1, "[mcp_servers.omx_memory] should appear once");
21
+ assert.equal(count(toml, /^\[mcp_servers\.omx_code_intel\]$/gm), 1, "[mcp_servers.omx_code_intel] should appear once");
22
+ assert.equal(count(toml, /^\[mcp_servers\.omx_trace\]$/gm), 1, "[mcp_servers.omx_trace] should appear once");
23
+ assert.equal(count(toml, /^\[tui\]$/gm), 1, "[tui] should appear once");
24
+ assert.equal(count(toml, /^\[features\]$/gm), 1, "[features] should appear once");
25
+ assert.equal(count(toml, /^notify\s*=/gm), 1, "notify key should appear once");
26
+ assert.equal(count(toml, /^model_reasoning_effort\s*=/gm), 1, "model_reasoning_effort should appear once");
27
+ assert.equal(count(toml, /^developer_instructions\s*=/gm), 1, "developer_instructions should appear once");
28
28
  }
29
- describe('config generator idempotency (#384)', () => {
30
- it('first run creates config with all OMX sections', async () => {
31
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
29
+ describe("config generator idempotency (#384)", () => {
30
+ it("first run creates config with all OMX sections", async () => {
31
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
32
32
  try {
33
- const configPath = join(wd, 'config.toml');
33
+ const configPath = join(wd, "config.toml");
34
34
  await mergeConfig(configPath, wd);
35
- const toml = await readFile(configPath, 'utf-8');
35
+ const toml = await readFile(configPath, "utf-8");
36
36
  assertSingleOmxBlock(toml);
37
37
  assert.match(toml, /^multi_agent = true$/m);
38
38
  assert.match(toml, /^child_agents_md = true$/m);
@@ -41,227 +41,298 @@ describe('config generator idempotency (#384)', () => {
41
41
  await rm(wd, { recursive: true, force: true });
42
42
  }
43
43
  });
44
- it('second run updates without duplicating any section', async () => {
45
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
44
+ it("second run updates without duplicating any section", async () => {
45
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
46
46
  try {
47
- const configPath = join(wd, 'config.toml');
47
+ const configPath = join(wd, "config.toml");
48
48
  // First run
49
49
  await mergeConfig(configPath, wd);
50
- const first = await readFile(configPath, 'utf-8');
50
+ const first = await readFile(configPath, "utf-8");
51
51
  assertSingleOmxBlock(first);
52
52
  // Second run
53
53
  await mergeConfig(configPath, wd);
54
- const second = await readFile(configPath, 'utf-8');
54
+ const second = await readFile(configPath, "utf-8");
55
55
  assertSingleOmxBlock(second);
56
56
  }
57
57
  finally {
58
58
  await rm(wd, { recursive: true, force: true });
59
59
  }
60
60
  });
61
- it('triple run stays clean', async () => {
62
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
61
+ it("triple run stays clean", async () => {
62
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
63
63
  try {
64
- const configPath = join(wd, 'config.toml');
64
+ const configPath = join(wd, "config.toml");
65
65
  await mergeConfig(configPath, wd);
66
66
  await mergeConfig(configPath, wd);
67
67
  await mergeConfig(configPath, wd);
68
- const toml = await readFile(configPath, 'utf-8');
68
+ const toml = await readFile(configPath, "utf-8");
69
69
  assertSingleOmxBlock(toml);
70
70
  }
71
71
  finally {
72
72
  await rm(wd, { recursive: true, force: true });
73
73
  }
74
74
  });
75
- it('cleans up legacy config without markers', async () => {
76
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
75
+ it("cleans up legacy config without markers", async () => {
76
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
77
77
  try {
78
- const configPath = join(wd, 'config.toml');
78
+ const configPath = join(wd, "config.toml");
79
79
  // Simulate a legacy config written without OMX markers
80
80
  // Note: [tui] is intentionally excluded — orphan-strip does not
81
81
  // claim [tui] to avoid deleting user-owned TUI settings.
82
82
  const legacy = [
83
83
  'model = "o3"',
84
- '',
84
+ "",
85
85
  'notify = ["node", "/old/path/notify-hook.js"]',
86
86
  'model_reasoning_effort = "high"',
87
87
  'developer_instructions = "old instructions"',
88
- '',
89
- '[features]',
90
- 'multi_agent = true',
91
- '',
92
- '[mcp_servers.omx_state]',
88
+ "",
89
+ "[features]",
90
+ "multi_agent = true",
91
+ "",
92
+ "[mcp_servers.omx_state]",
93
93
  'command = "node"',
94
94
  'args = ["/old/path/state-server.js"]',
95
- 'enabled = true',
96
- '',
97
- '[mcp_servers.omx_memory]',
95
+ "enabled = true",
96
+ "",
97
+ "[mcp_servers.omx_memory]",
98
98
  'command = "node"',
99
99
  'args = ["/old/path/memory-server.js"]',
100
- 'enabled = true',
101
- '',
102
- '[user.custom]',
100
+ "enabled = true",
101
+ "",
102
+ "[user.custom]",
103
103
  'name = "kept"',
104
- '',
105
- ].join('\n');
104
+ "",
105
+ ].join("\n");
106
106
  await writeFile(configPath, legacy);
107
107
  await mergeConfig(configPath, wd);
108
- const toml = await readFile(configPath, 'utf-8');
108
+ const toml = await readFile(configPath, "utf-8");
109
109
  assertSingleOmxBlock(toml);
110
110
  // User settings preserved
111
- assert.match(toml, /^model = "o3"$/m, 'user model preserved');
112
- assert.match(toml, /^\[user\.custom\]$/m, 'user section preserved');
113
- assert.match(toml, /^name = "kept"$/m, 'user key preserved');
111
+ assert.match(toml, /^model = "o3"$/m, "user model preserved");
112
+ assert.match(toml, /^\[user\.custom\]$/m, "user section preserved");
113
+ assert.match(toml, /^name = "kept"$/m, "user key preserved");
114
114
  }
115
115
  finally {
116
116
  await rm(wd, { recursive: true, force: true });
117
117
  }
118
118
  });
119
- it('cleans up orphaned OMX sections outside marker block', async () => {
120
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
119
+ it("cleans up orphaned OMX sections outside marker block", async () => {
120
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
121
121
  try {
122
- const configPath = join(wd, 'config.toml');
122
+ const configPath = join(wd, "config.toml");
123
123
  // Config with both orphaned sections AND a marker block
124
124
  const mixed = [
125
125
  'model = "o3"',
126
- '',
127
- '# OMX State Management MCP Server',
128
- '[mcp_servers.omx_state]',
126
+ "",
127
+ "# OMX State Management MCP Server",
128
+ "[mcp_servers.omx_state]",
129
129
  'command = "node"',
130
130
  'args = ["/orphaned/state-server.js"]',
131
- 'enabled = true',
132
- '',
133
- '[user.settings]',
131
+ "enabled = true",
132
+ "",
133
+ "[user.settings]",
134
134
  'name = "kept"',
135
- '',
136
- '# ============================================================',
137
- '# oh-my-codex (OMX) Configuration',
138
- '# Managed by omx setup',
139
- '# ============================================================',
140
- '',
141
- '[mcp_servers.omx_state]',
135
+ "",
136
+ "# ============================================================",
137
+ "# oh-my-codex (OMX) Configuration",
138
+ "# Managed by omx setup",
139
+ "# ============================================================",
140
+ "",
141
+ "[mcp_servers.omx_state]",
142
142
  'command = "node"',
143
143
  'args = ["/marker-block/state-server.js"]',
144
- 'enabled = true',
145
- '',
146
- '# ============================================================',
147
- '# End oh-my-codex',
148
- '',
149
- ].join('\n');
144
+ "enabled = true",
145
+ "",
146
+ "# ============================================================",
147
+ "# End oh-my-codex",
148
+ "",
149
+ ].join("\n");
150
150
  await writeFile(configPath, mixed);
151
151
  await mergeConfig(configPath, wd);
152
- const toml = await readFile(configPath, 'utf-8');
152
+ const toml = await readFile(configPath, "utf-8");
153
153
  assertSingleOmxBlock(toml);
154
- assert.match(toml, /^model = "o3"$/m, 'user model preserved');
155
- assert.match(toml, /^\[user\.settings\]$/m, 'user section preserved');
156
- assert.match(toml, /^name = "kept"$/m, 'user key preserved');
154
+ assert.match(toml, /^model = "o3"$/m, "user model preserved");
155
+ assert.match(toml, /^\[user\.settings\]$/m, "user section preserved");
156
+ assert.match(toml, /^name = "kept"$/m, "user key preserved");
157
157
  }
158
158
  finally {
159
159
  await rm(wd, { recursive: true, force: true });
160
160
  }
161
161
  });
162
- it('preserves user content between OMX re-runs', async () => {
163
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
162
+ it("preserves user content between OMX re-runs", async () => {
163
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
164
164
  try {
165
- const configPath = join(wd, 'config.toml');
165
+ const configPath = join(wd, "config.toml");
166
166
  // First run
167
167
  await mergeConfig(configPath, wd);
168
168
  // User adds content
169
- let toml = await readFile(configPath, 'utf-8');
169
+ let toml = await readFile(configPath, "utf-8");
170
170
  toml += '\n[user.prefs]\ntheme = "dark"\n';
171
171
  await writeFile(configPath, toml);
172
172
  // Second run
173
173
  await mergeConfig(configPath, wd);
174
- const result = await readFile(configPath, 'utf-8');
174
+ const result = await readFile(configPath, "utf-8");
175
175
  assertSingleOmxBlock(result);
176
- assert.match(result, /^\[user\.prefs\]$/m, 'user section preserved after re-run');
177
- assert.match(result, /^theme = "dark"$/m, 'user key preserved after re-run');
176
+ assert.match(result, /^\[user\.prefs\]$/m, "user section preserved after re-run");
177
+ assert.match(result, /^theme = "dark"$/m, "user key preserved after re-run");
178
178
  }
179
179
  finally {
180
180
  await rm(wd, { recursive: true, force: true });
181
181
  }
182
182
  });
183
- it('handles config with only orphaned agents sections', async () => {
184
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
183
+ it("handles config with only orphaned agents sections", async () => {
184
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
185
185
  try {
186
- const configPath = join(wd, 'config.toml');
186
+ const configPath = join(wd, "config.toml");
187
187
  const orphanedAgents = [
188
- '[features]',
189
- 'multi_agent = true',
190
- '',
191
- '# OMX Native Agent Roles (Codex multi-agent)',
192
- '',
193
- '[agents.executor]',
188
+ "[features]",
189
+ "multi_agent = true",
190
+ "",
191
+ "# OMX Native Agent Roles (Codex multi-agent)",
192
+ "",
193
+ "[agents.executor]",
194
194
  'description = "old executor"',
195
195
  'config_file = "/old/path/executor.toml"',
196
- '',
197
- '[agents.explore]',
196
+ "",
197
+ "[agents.explore]",
198
198
  'description = "old explore"',
199
199
  'config_file = "/old/path/explore.toml"',
200
- '',
201
- '[user.custom]',
200
+ "",
201
+ "[user.custom]",
202
202
  'name = "kept"',
203
- '',
204
- ].join('\n');
203
+ "",
204
+ ].join("\n");
205
205
  await writeFile(configPath, orphanedAgents);
206
206
  await mergeConfig(configPath, wd);
207
- const toml = await readFile(configPath, 'utf-8');
207
+ const toml = await readFile(configPath, "utf-8");
208
208
  assertSingleOmxBlock(toml);
209
- assert.match(toml, /^\[user\.custom\]$/m, 'user section preserved');
210
- assert.match(toml, /^name = "kept"$/m, 'user key preserved');
209
+ assert.match(toml, /^\[user\.custom\]$/m, "user section preserved");
210
+ assert.match(toml, /^name = "kept"$/m, "user key preserved");
211
211
  // Verify agents appear only inside the OMX block
212
- const omxBlockStart = toml.indexOf('# oh-my-codex (OMX) Configuration');
213
- const agentIdx = toml.indexOf('[agents.executor]');
214
- assert.ok(agentIdx > omxBlockStart, 'agents.executor should be inside OMX block');
212
+ const omxBlockStart = toml.indexOf("# oh-my-codex (OMX) Configuration");
213
+ const agentIdx = toml.indexOf("[agents.executor]");
214
+ assert.ok(agentIdx > omxBlockStart, "agents.executor should be inside OMX block");
215
215
  }
216
216
  finally {
217
217
  await rm(wd, { recursive: true, force: true });
218
218
  }
219
219
  });
220
- it('preserves non-OMX agent sections', async () => {
221
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
220
+ it("preserves non-OMX agent sections", async () => {
221
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
222
222
  try {
223
- const configPath = join(wd, 'config.toml');
223
+ const configPath = join(wd, "config.toml");
224
224
  const userAgents = [
225
225
  '[agents."my-custom-bot"]',
226
226
  'description = "My custom agent"',
227
227
  'config_file = "/home/user/my-bot.toml"',
228
- '',
229
- '[agents.myreviewer]',
228
+ "",
229
+ "[agents.myreviewer]",
230
230
  'description = "Company code reviewer"',
231
231
  'config_file = "/home/user/reviewer.toml"',
232
- '',
233
- ].join('\n');
232
+ "",
233
+ ].join("\n");
234
234
  await writeFile(configPath, userAgents);
235
235
  await mergeConfig(configPath, wd);
236
- const toml = await readFile(configPath, 'utf-8');
236
+ const toml = await readFile(configPath, "utf-8");
237
237
  // User-defined agents must survive
238
- assert.match(toml, /^\[agents\."my-custom-bot"\]$/m, 'user agent my-custom-bot preserved');
239
- assert.match(toml, /^description = "My custom agent"$/m, 'user agent description preserved');
240
- assert.match(toml, /^\[agents\.myreviewer\]$/m, 'user agent myreviewer preserved');
241
- assert.match(toml, /^description = "Company code reviewer"$/m, 'user agent description preserved');
238
+ assert.match(toml, /^\[agents\."my-custom-bot"\]$/m, "user agent my-custom-bot preserved");
239
+ assert.match(toml, /^description = "My custom agent"$/m, "user agent description preserved");
240
+ assert.match(toml, /^\[agents\.myreviewer\]$/m, "user agent myreviewer preserved");
241
+ assert.match(toml, /^description = "Company code reviewer"$/m, "user agent description preserved");
242
242
  }
243
243
  finally {
244
244
  await rm(wd, { recursive: true, force: true });
245
245
  }
246
246
  });
247
- it('preserves user [tui] section (not claimed by orphan-strip)', async () => {
248
- const wd = await mkdtemp(join(tmpdir(), 'omx-idem-'));
247
+ it("preserves user [tui] section (not claimed by orphan-strip)", async () => {
248
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
249
249
  try {
250
- const configPath = join(wd, 'config.toml');
250
+ const configPath = join(wd, "config.toml");
251
251
  // User has their own [tui] settings before OMX was installed
252
- const userTui = [
253
- '[tui]',
254
- 'status_line = ["git-branch"]',
255
- '',
256
- ].join('\n');
252
+ const userTui = ["[tui]", 'status_line = ["git-branch"]', ""].join("\n");
257
253
  await writeFile(configPath, userTui);
258
254
  await mergeConfig(configPath, wd);
259
- const toml = await readFile(configPath, 'utf-8');
255
+ const toml = await readFile(configPath, "utf-8");
260
256
  // User's [tui] is preserved (not stripped by orphan-strip).
261
257
  // The OMX block also writes [tui], so there will be 2 — this is a
262
258
  // known limitation for legacy markerless configs. Full convergence
263
259
  // requires either renaming the OMX TUI key or a merge strategy.
264
- assert.match(toml, /status_line = \["git-branch"\]/, 'user tui setting preserved');
260
+ assert.match(toml, /status_line = \["git-branch"\]/, "user tui setting preserved");
261
+ }
262
+ finally {
263
+ await rm(wd, { recursive: true, force: true });
264
+ }
265
+ });
266
+ it("seeds context keys when root model is missing and both context keys are absent", async () => {
267
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
268
+ try {
269
+ const configPath = join(wd, "config.toml");
270
+ await writeFile(configPath, 'approval_policy = "on-failure"\n');
271
+ await mergeConfig(configPath, wd);
272
+ const toml = await readFile(configPath, "utf-8");
273
+ assert.match(toml, /^model = "gpt-5.4"$/m);
274
+ assert.match(toml, /^model_context_window = 1000000$/m);
275
+ assert.match(toml, /^model_auto_compact_token_limit = 900000$/m);
276
+ }
277
+ finally {
278
+ await rm(wd, { recursive: true, force: true });
279
+ }
280
+ });
281
+ it("can override gpt-5.3-codex to gpt-5.4 and seed 1M context defaults", async () => {
282
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
283
+ try {
284
+ const toml = buildMergedConfig('model = \"gpt-5.3-codex\"\n', wd, {
285
+ modelOverride: "gpt-5.4",
286
+ });
287
+ assert.match(toml, /^model = "gpt-5\.4"$/m);
288
+ assert.doesNotMatch(toml, /^model = "gpt-5\.3-codex"$/m);
289
+ assert.match(toml, /^model_context_window = 1000000$/m);
290
+ assert.match(toml, /^model_auto_compact_token_limit = 900000$/m);
291
+ }
292
+ finally {
293
+ await rm(wd, { recursive: true, force: true });
294
+ }
295
+ });
296
+ it("does not seed 1M context defaults for non-gpt-5.4 models", async () => {
297
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
298
+ try {
299
+ const configPath = join(wd, "config.toml");
300
+ await writeFile(configPath, 'model = "o3"\n');
301
+ await mergeConfig(configPath, wd);
302
+ const toml = await readFile(configPath, "utf-8");
303
+ assert.match(toml, /^model = "o3"$/m, "user model preserved");
304
+ assert.doesNotMatch(toml, /^model_context_window = 1000000$/m);
305
+ assert.doesNotMatch(toml, /^model_auto_compact_token_limit = 900000$/m);
306
+ }
307
+ finally {
308
+ await rm(wd, { recursive: true, force: true });
309
+ }
310
+ });
311
+ it("preserves partial user context config without backfilling the missing partner key", async () => {
312
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
313
+ try {
314
+ const configPath = join(wd, "config.toml");
315
+ await writeFile(configPath, ['model = "gpt-5.4"', "model_context_window = 640000", ""].join("\n"));
316
+ await mergeConfig(configPath, wd);
317
+ const toml = await readFile(configPath, "utf-8");
318
+ assert.match(toml, /^model = "gpt-5\.4"$/m);
319
+ assert.match(toml, /^model_context_window = 640000$/m);
320
+ assert.doesNotMatch(toml, /^model_auto_compact_token_limit = 900000$/m);
321
+ }
322
+ finally {
323
+ await rm(wd, { recursive: true, force: true });
324
+ }
325
+ });
326
+ it("does not duplicate seeded model defaults across reruns", async () => {
327
+ const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
328
+ try {
329
+ const configPath = join(wd, "config.toml");
330
+ await mergeConfig(configPath, wd);
331
+ await mergeConfig(configPath, wd);
332
+ const toml = await readFile(configPath, "utf-8");
333
+ assert.equal(count(toml, /^model = "gpt-5\.4"$/gm), 1, "seeded model should appear once");
334
+ assert.equal(count(toml, /^model_context_window = 1000000$/gm), 1, "seeded context window should appear once");
335
+ assert.equal(count(toml, /^model_auto_compact_token_limit = 900000$/gm), 1, "seeded auto compact limit should appear once");
265
336
  }
266
337
  finally {
267
338
  await rm(wd, { recursive: true, force: true });
@@ -1 +1 @@
1
- {"version":3,"file":"generator-idempotent.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/generator-idempotent.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-idempotent.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/generator-idempotent.test.ts"],"names":[],"mappings":"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"}