oh-my-codex 0.3.2 → 0.3.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.
@@ -4,62 +4,58 @@ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
6
  import { mergeConfig } from '../generator.js';
7
- describe('config generator notify', () => {
8
- it('writes notify as a TOML array by default (Codex expects a sequence)', async () => {
7
+ describe('config generator', () => {
8
+ it('places top-level keys before [features]', async () => {
9
9
  const wd = await mkdtemp(join(tmpdir(), 'omx-config-gen-'));
10
10
  try {
11
11
  const configPath = join(wd, 'config.toml');
12
12
  await mergeConfig(configPath, wd);
13
13
  const toml = await readFile(configPath, 'utf-8');
14
- assert.match(toml, /^notify = \["node", ".*notify-hook\.js"\]$/m);
15
- assert.doesNotMatch(toml, /^notify = ".*"$/m);
14
+ // Top-level keys must appear before the first [table] header
15
+ const notifyIdx = toml.indexOf('notify =');
16
+ const reasoningIdx = toml.indexOf('model_reasoning_effort =');
17
+ const devInstrIdx = toml.indexOf('developer_instructions =');
18
+ const featuresIdx = toml.indexOf('[features]');
19
+ assert.ok(notifyIdx >= 0, 'notify not found');
20
+ assert.ok(reasoningIdx >= 0, 'model_reasoning_effort not found');
21
+ assert.ok(devInstrIdx >= 0, 'developer_instructions not found');
22
+ assert.ok(featuresIdx >= 0, '[features] not found');
23
+ assert.ok(notifyIdx < featuresIdx, 'notify must come before [features]');
24
+ assert.ok(reasoningIdx < featuresIdx, 'model_reasoning_effort must come before [features]');
25
+ assert.ok(devInstrIdx < featuresIdx, 'developer_instructions must come before [features]');
16
26
  }
17
27
  finally {
18
28
  await rm(wd, { recursive: true, force: true });
19
29
  }
20
30
  });
21
- it('writes notify as string when OMX_NOTIFY_FORMAT=string', async () => {
31
+ it('writes notify as a TOML array', async () => {
22
32
  const wd = await mkdtemp(join(tmpdir(), 'omx-config-gen-'));
23
- const prev = process.env.OMX_NOTIFY_FORMAT;
24
33
  try {
25
- process.env.OMX_NOTIFY_FORMAT = 'string';
26
34
  const configPath = join(wd, 'config.toml');
27
35
  await mergeConfig(configPath, wd);
28
36
  const toml = await readFile(configPath, 'utf-8');
29
- assert.match(toml, /^notify = ".*"$/m);
30
- assert.doesNotMatch(toml, /^notify = \[/m);
31
- assert.match(toml, /notify = "node /);
37
+ assert.match(toml, /^notify = \["node", ".*notify-hook\.js"\]$/m);
32
38
  }
33
39
  finally {
34
- if (prev === undefined) {
35
- delete process.env.OMX_NOTIFY_FORMAT;
36
- }
37
- else {
38
- process.env.OMX_NOTIFY_FORMAT = prev;
39
- }
40
40
  await rm(wd, { recursive: true, force: true });
41
41
  }
42
42
  });
43
- it('handles paths with spaces in array format', async () => {
44
- const base = await mkdtemp(join(tmpdir(), 'omx config gen space-'));
45
- const wd = join(base, 'pkg root');
43
+ it('writes model_reasoning_effort and developer_instructions', async () => {
44
+ const wd = await mkdtemp(join(tmpdir(), 'omx-config-gen-'));
46
45
  try {
47
- await mkdir(wd, { recursive: true });
48
46
  const configPath = join(wd, 'config.toml');
49
47
  await mergeConfig(configPath, wd);
50
48
  const toml = await readFile(configPath, 'utf-8');
51
- const m = toml.match(/^notify = \["node", "(.*)"\]$/m);
52
- assert.ok(m, 'notify array not found');
53
- assert.match(m[1], /pkg root/);
54
- assert.match(m[1], /notify-hook\.js$/);
49
+ assert.match(toml, /^model_reasoning_effort = "high"$/m);
50
+ assert.match(toml, /^developer_instructions = "You have oh-my-codex installed/m);
55
51
  }
56
52
  finally {
57
- await rm(base, { recursive: true, force: true });
53
+ await rm(wd, { recursive: true, force: true });
58
54
  }
59
55
  });
60
- it('escapes backslashes in array format for Windows-style paths', async () => {
61
- const base = await mkdtemp(join(tmpdir(), 'omx-config-gen-win-'));
62
- const wd = join(base, 'C:\\Users\\alice\\pkg');
56
+ it('handles paths with spaces in notify array', async () => {
57
+ const base = await mkdtemp(join(tmpdir(), 'omx config gen space-'));
58
+ const wd = join(base, 'pkg root');
63
59
  try {
64
60
  await mkdir(wd, { recursive: true });
65
61
  const configPath = join(wd, 'config.toml');
@@ -67,103 +63,71 @@ describe('config generator notify', () => {
67
63
  const toml = await readFile(configPath, 'utf-8');
68
64
  const m = toml.match(/^notify = \["node", "(.*)"\]$/m);
69
65
  assert.ok(m, 'notify array not found');
70
- assert.ok(m[1].includes('C:\\\\Users\\\\alice\\\\pkg'), `expected escaped Windows path, got: ${m[1]}`);
66
+ assert.match(m[1], /pkg root/);
67
+ assert.match(m[1], /notify-hook\.js$/);
71
68
  }
72
69
  finally {
73
70
  await rm(base, { recursive: true, force: true });
74
71
  }
75
72
  });
76
- it('does not emit developer_instructions or model_reasoning_effort', async () => {
77
- const wd = await mkdtemp(join(tmpdir(), 'omx-config-gen-'));
78
- try {
79
- const configPath = join(wd, 'config.toml');
80
- await mergeConfig(configPath, wd);
81
- const toml = await readFile(configPath, 'utf-8');
82
- assert.doesNotMatch(toml, /developer_instructions/);
83
- assert.doesNotMatch(toml, /model_reasoning_effort/);
84
- }
85
- finally {
86
- await rm(wd, { recursive: true, force: true });
87
- }
88
- });
89
- it('re-runs setup by replacing OMX block cleanly', async () => {
73
+ it('re-runs setup replacing OMX config cleanly', async () => {
90
74
  const wd = await mkdtemp(join(tmpdir(), 'omx-config-gen-'));
91
75
  try {
92
76
  const configPath = join(wd, 'config.toml');
93
77
  await mergeConfig(configPath, wd);
78
+ // Simulate user adding content
94
79
  let toml = await readFile(configPath, 'utf-8');
95
80
  toml += '\n# user tail\n[user.settings]\nname = "kept"\n';
96
81
  await writeFile(configPath, toml);
82
+ // Re-run setup
97
83
  await mergeConfig(configPath, wd);
98
84
  const rerun = await readFile(configPath, 'utf-8');
85
+ // OMX block appears exactly once
99
86
  assert.equal((rerun.match(/# oh-my-codex \(OMX\) Configuration/g) ?? []).length, 1);
100
87
  assert.equal((rerun.match(/# End oh-my-codex/g) ?? []).length, 1);
88
+ // Features correct
101
89
  assert.equal((rerun.match(/^\[features\]$/gm) ?? []).length, 1);
102
90
  assert.match(rerun, /^collab = true$/m);
103
91
  assert.match(rerun, /^child_agents_md = true$/m);
92
+ // User content preserved
104
93
  assert.match(rerun, /^\[user.settings\]$/m);
105
94
  assert.match(rerun, /^name = "kept"$/m);
95
+ // Top-level keys present and before [features]
106
96
  assert.match(rerun, /^notify = \["node", ".*notify-hook\.js"\]$/m);
97
+ assert.match(rerun, /^model_reasoning_effort = "high"$/m);
98
+ const notifyIdx = rerun.indexOf('notify =');
99
+ const featuresIdx = rerun.indexOf('[features]');
100
+ assert.ok(notifyIdx < featuresIdx, 'notify must come before [features]');
107
101
  }
108
102
  finally {
109
103
  await rm(wd, { recursive: true, force: true });
110
104
  }
111
105
  });
112
- it('migrates a legacy OMX block notify array into current format', async () => {
106
+ it('preserves existing user top-level config', async () => {
113
107
  const wd = await mkdtemp(join(tmpdir(), 'omx-config-gen-'));
114
108
  try {
115
109
  const configPath = join(wd, 'config.toml');
116
- const legacy = [
117
- '[features]',
118
- 'web_search_request = true',
119
- '',
120
- '# ============================================================',
121
- '# oh-my-codex (OMX) Configuration',
122
- '# Managed by omx setup - manual edits preserved on next setup',
123
- '# ============================================================',
124
- '',
125
- 'notify = ["node", "/tmp/notify-hook.js"]',
126
- '',
127
- '[mcp_servers.omx_state]',
128
- 'command = "node"',
129
- 'args = ["/tmp/state-server.js"]',
110
+ const existing = [
111
+ 'model = "o3"',
112
+ 'approval_policy = "on-failure"',
130
113
  '',
131
- '# ============================================================',
132
- '# End oh-my-codex',
133
- '',
134
- ].join('\n');
135
- await writeFile(configPath, legacy);
136
- await mergeConfig(configPath, wd);
137
- const merged = await readFile(configPath, 'utf-8');
138
- assert.match(merged, /^notify = \["node", ".*notify-hook\.js"\]$/m);
139
- assert.equal((merged.match(/# oh-my-codex \(OMX\) Configuration/g) ?? []).length, 1);
140
- }
141
- finally {
142
- await rm(wd, { recursive: true, force: true });
143
- }
144
- });
145
- it('merges into existing [features] table without duplicating it', async () => {
146
- const wd = await mkdtemp(join(tmpdir(), 'omx-config-gen-'));
147
- try {
148
- const configPath = join(wd, 'config.toml');
149
- const original = [
150
114
  '[features]',
151
- 'custom_user_flag = false',
152
- 'child_agents_md = false',
153
- '',
154
- '[user.settings]',
155
- 'name = "kept"',
115
+ 'web_search = true',
156
116
  '',
157
117
  ].join('\n');
158
- await writeFile(configPath, original);
118
+ await writeFile(configPath, existing);
159
119
  await mergeConfig(configPath, wd);
160
- const merged = await readFile(configPath, 'utf-8');
161
- assert.equal((merged.match(/^\[features\]$/gm) ?? []).length, 1);
162
- assert.match(merged, /^custom_user_flag = false$/m);
163
- assert.match(merged, /^collab = true$/m);
164
- assert.match(merged, /^child_agents_md = true$/m);
165
- assert.match(merged, /^\[user.settings\]$/m);
166
- assert.match(merged, /^name = "kept"$/m);
120
+ const toml = await readFile(configPath, 'utf-8');
121
+ // User's existing top-level keys preserved
122
+ assert.match(toml, /^model = "o3"$/m);
123
+ assert.match(toml, /^approval_policy = "on-failure"$/m);
124
+ // OMX keys added
125
+ assert.match(toml, /^notify = \[/m);
126
+ assert.match(toml, /^model_reasoning_effort = "high"$/m);
127
+ // User's feature flag preserved
128
+ assert.match(toml, /^web_search = true$/m);
129
+ // OMX feature flags added
130
+ assert.match(toml, /^collab = true$/m);
167
131
  }
168
132
  finally {
169
133
  await rm(wd, { recursive: true, force: true });
@@ -203,5 +167,32 @@ describe('config generator notify', () => {
203
167
  await rm(wd, { recursive: true, force: true });
204
168
  }
205
169
  });
170
+ it('merges into existing [features] table without duplicating it', async () => {
171
+ const wd = await mkdtemp(join(tmpdir(), 'omx-config-gen-'));
172
+ try {
173
+ const configPath = join(wd, 'config.toml');
174
+ const original = [
175
+ '[features]',
176
+ 'custom_user_flag = false',
177
+ 'child_agents_md = false',
178
+ '',
179
+ '[user.settings]',
180
+ 'name = "kept"',
181
+ '',
182
+ ].join('\n');
183
+ await writeFile(configPath, original);
184
+ await mergeConfig(configPath, wd);
185
+ const merged = await readFile(configPath, 'utf-8');
186
+ assert.equal((merged.match(/^\[features\]$/gm) ?? []).length, 1);
187
+ assert.match(merged, /^custom_user_flag = false$/m);
188
+ assert.match(merged, /^collab = true$/m);
189
+ assert.match(merged, /^child_agents_md = true$/m);
190
+ assert.match(merged, /^\[user.settings\]$/m);
191
+ assert.match(merged, /^name = "kept"$/m);
192
+ }
193
+ finally {
194
+ await rm(wd, { recursive: true, force: true });
195
+ }
196
+ });
206
197
  });
207
198
  //# sourceMappingURL=generator-notify.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator-notify.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/generator-notify.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-notify.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/generator-notify.test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,26 @@
1
1
  /**
2
2
  * Config.toml generator/merger for oh-my-codex
3
3
  * Merges OMX MCP server entries and feature flags into existing config.toml
4
+ *
5
+ * TOML structure reminder: bare key=value pairs after a [table] header belong
6
+ * to that table. Top-level (root-table) keys MUST appear before the first
7
+ * [table] header. This generator therefore splits its output into:
8
+ * 1. Top-level keys (notify, model_reasoning_effort, developer_instructions)
9
+ * 2. [features] flags
10
+ * 3. [table] sections (mcp_servers, tui)
4
11
  */
5
12
  interface MergeOptions {
6
13
  verbose?: boolean;
7
14
  }
8
15
  /**
9
16
  * Merge OMX config into existing config.toml
10
- * Preserves existing user settings, appends OMX block if not present
17
+ * Preserves existing user settings, appends OMX block if not present.
18
+ *
19
+ * Layout:
20
+ * 1. OMX top-level keys (notify, model_reasoning_effort, developer_instructions)
21
+ * 2. [features] with collab + child_agents_md
22
+ * 3. … user sections …
23
+ * 4. OMX [table] sections (mcp_servers, tui)
11
24
  */
12
25
  export declare function mergeConfig(configPath: string, pkgRoot: string, options?: MergeOptions): Promise<void>;
13
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/config/generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA4KD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAyBf"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/config/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqND;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -1,10 +1,64 @@
1
1
  /**
2
2
  * Config.toml generator/merger for oh-my-codex
3
3
  * Merges OMX MCP server entries and feature flags into existing config.toml
4
+ *
5
+ * TOML structure reminder: bare key=value pairs after a [table] header belong
6
+ * to that table. Top-level (root-table) keys MUST appear before the first
7
+ * [table] header. This generator therefore splits its output into:
8
+ * 1. Top-level keys (notify, model_reasoning_effort, developer_instructions)
9
+ * 2. [features] flags
10
+ * 3. [table] sections (mcp_servers, tui)
4
11
  */
5
12
  import { readFile, writeFile } from 'fs/promises';
6
13
  import { existsSync } from 'fs';
7
14
  import { join } from 'path';
15
+ // ---------------------------------------------------------------------------
16
+ // Top-level OMX keys (must live before any [table] header)
17
+ // ---------------------------------------------------------------------------
18
+ /** Keys we own at the TOML root level. Used for upsert + strip. */
19
+ const OMX_TOP_LEVEL_KEYS = [
20
+ 'notify',
21
+ 'model_reasoning_effort',
22
+ 'developer_instructions',
23
+ ];
24
+ function getOmxTopLevelLines(pkgRoot) {
25
+ const notifyHookPath = join(pkgRoot, 'scripts', 'notify-hook.js');
26
+ const escapedPath = notifyHookPath
27
+ .replace(/\\/g, '\\\\')
28
+ .replace(/"/g, '\\"');
29
+ return [
30
+ '# oh-my-codex top-level settings (must be before any [table])',
31
+ `notify = ["node", "${escapedPath}"]`,
32
+ 'model_reasoning_effort = "high"',
33
+ `developer_instructions = "You have oh-my-codex installed. Use /prompts:architect, /prompts:executor, /prompts:planner for specialized agent roles. Workflow skills via $name: $ralph, $autopilot, $plan. AGENTS.md is your orchestration brain."`,
34
+ ];
35
+ }
36
+ /**
37
+ * Remove any existing OMX-owned top-level keys so we can re-insert them
38
+ * cleanly. Also removes the comment line that precedes them.
39
+ */
40
+ function stripOmxTopLevelKeys(config) {
41
+ let lines = config.split(/\r?\n/);
42
+ // Remove the OMX top-level comment line
43
+ lines = lines.filter((l) => l.trim() !== '# oh-my-codex top-level settings (must be before any [table])');
44
+ // Remove lines matching OMX-owned keys (only in root scope, i.e. before
45
+ // the first [table] header).
46
+ const firstTable = lines.findIndex((l) => /^\s*\[/.test(l));
47
+ const boundary = firstTable >= 0 ? firstTable : lines.length;
48
+ const result = [];
49
+ for (let i = 0; i < lines.length; i++) {
50
+ if (i < boundary) {
51
+ const isOmxKey = OMX_TOP_LEVEL_KEYS.some((k) => new RegExp(`^\\s*${k}\\s*=`).test(lines[i]));
52
+ if (isOmxKey)
53
+ continue;
54
+ }
55
+ result.push(lines[i]);
56
+ }
57
+ return result.join('\n');
58
+ }
59
+ // ---------------------------------------------------------------------------
60
+ // [features] upsert
61
+ // ---------------------------------------------------------------------------
8
62
  function upsertFeatureFlags(config) {
9
63
  const lines = config.split(/\r?\n/);
10
64
  const featuresStart = lines.findIndex((line) => /^\s*\[features\]\s*$/.test(line));
@@ -53,27 +107,9 @@ function upsertFeatureFlags(config) {
53
107
  }
54
108
  return lines.join('\n');
55
109
  }
56
- function selectNotifyFormat() {
57
- const forced = (process.env.OMX_NOTIFY_FORMAT || '').trim().toLowerCase();
58
- if (forced === 'string' || forced === 'array')
59
- return forced;
60
- // Default to array to match Codex schema (notify expects a sequence).
61
- // String format is available with OMX_NOTIFY_FORMAT=string for legacy environments.
62
- return 'array';
63
- }
64
- function getNotifyConfigLine(notifyHookPath) {
65
- const format = selectNotifyFormat();
66
- const escapedNotifyHookPath = notifyHookPath
67
- .replace(/\\/g, '\\\\')
68
- .replace(/"/g, '\\"');
69
- const notifyCommand = `node "${notifyHookPath}"`
70
- .replace(/\\/g, '\\\\')
71
- .replace(/"/g, '\\"');
72
- if (format === 'array') {
73
- return `notify = ["node", "${escapedNotifyHookPath}"]`;
74
- }
75
- return `notify = "${notifyCommand}"`;
76
- }
110
+ // ---------------------------------------------------------------------------
111
+ // OMX [table] sections block (appended at end of file)
112
+ // ---------------------------------------------------------------------------
77
113
  function stripExistingOmxBlocks(config) {
78
114
  const marker = 'oh-my-codex (OMX) Configuration';
79
115
  const endMarker = '# End oh-my-codex';
@@ -107,14 +143,14 @@ function stripExistingOmxBlocks(config) {
107
143
  return { cleaned, removed };
108
144
  }
109
145
  /**
110
- * OMX config entries to merge into config.toml
146
+ * OMX table-section block (MCP servers, TUI).
147
+ * Contains ONLY [table] sections — no bare keys.
111
148
  */
112
- function getOmxConfigBlock(pkgRoot) {
149
+ function getOmxTablesBlock(pkgRoot) {
113
150
  const stateServerPath = join(pkgRoot, 'dist', 'mcp', 'state-server.js');
114
151
  const memoryServerPath = join(pkgRoot, 'dist', 'mcp', 'memory-server.js');
115
152
  const codeIntelServerPath = join(pkgRoot, 'dist', 'mcp', 'code-intel-server.js');
116
153
  const traceServerPath = join(pkgRoot, 'dist', 'mcp', 'trace-server.js');
117
- const notifyHookPath = join(pkgRoot, 'scripts', 'notify-hook.js');
118
154
  return [
119
155
  '',
120
156
  '# ============================================================',
@@ -122,9 +158,6 @@ function getOmxConfigBlock(pkgRoot) {
122
158
  '# Managed by omx setup - manual edits preserved on next setup',
123
159
  '# ============================================================',
124
160
  '',
125
- '# Notification hook - fires after each agent turn',
126
- getNotifyConfigLine(notifyHookPath),
127
- '',
128
161
  '# OMX State Management MCP Server',
129
162
  '[mcp_servers.omx_state]',
130
163
  'command = "node"',
@@ -162,16 +195,25 @@ function getOmxConfigBlock(pkgRoot) {
162
195
  '',
163
196
  ].join('\n');
164
197
  }
198
+ // ---------------------------------------------------------------------------
199
+ // Public API
200
+ // ---------------------------------------------------------------------------
165
201
  /**
166
202
  * Merge OMX config into existing config.toml
167
- * Preserves existing user settings, appends OMX block if not present
203
+ * Preserves existing user settings, appends OMX block if not present.
204
+ *
205
+ * Layout:
206
+ * 1. OMX top-level keys (notify, model_reasoning_effort, developer_instructions)
207
+ * 2. [features] with collab + child_agents_md
208
+ * 3. … user sections …
209
+ * 4. OMX [table] sections (mcp_servers, tui)
168
210
  */
169
211
  export async function mergeConfig(configPath, pkgRoot, options = {}) {
170
212
  let existing = '';
171
213
  if (existsSync(configPath)) {
172
214
  existing = await readFile(configPath, 'utf-8');
173
215
  }
174
- // Check if OMX config is already present
216
+ // Strip old OMX table-section block
175
217
  if (existing.includes('oh-my-codex (OMX) Configuration')) {
176
218
  const stripped = stripExistingOmxBlocks(existing);
177
219
  existing = stripped.cleaned;
@@ -179,9 +221,15 @@ export async function mergeConfig(configPath, pkgRoot, options = {}) {
179
221
  console.log(' Updating existing OMX config block.');
180
222
  }
181
223
  }
224
+ // Strip any stale OMX top-level keys (from previous runs or wrong positions)
225
+ existing = stripOmxTopLevelKeys(existing);
226
+ // Upsert [features] flags
182
227
  existing = upsertFeatureFlags(existing);
183
- const omxBlock = getOmxConfigBlock(pkgRoot);
184
- const finalConfig = existing.trimEnd() + '\n' + omxBlock;
228
+ // Build final config:
229
+ // top-level keys existing content (with [features]) OMX tables block
230
+ const topLines = getOmxTopLevelLines(pkgRoot);
231
+ const tablesBlock = getOmxTablesBlock(pkgRoot);
232
+ const finalConfig = topLines.join('\n') + '\n\n' + existing.trimEnd() + '\n' + tablesBlock;
185
233
  await writeFile(configPath, finalConfig);
186
234
  if (options.verbose) {
187
235
  console.log(` Written to ${configPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/config/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/config/generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-codex",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Multi-agent orchestration layer for OpenAI Codex CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",