oh-my-codex 0.14.0 → 0.14.2
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/Cargo.lock +5 -5
- package/Cargo.toml +1 -1
- package/README.md +14 -8
- package/crates/omx-explore/src/main.rs +94 -1
- package/crates/omx-sparkshell/src/codex_bridge.rs +59 -12
- package/crates/omx-sparkshell/tests/execution.rs +48 -0
- package/dist/cli/__tests__/explore.test.js +33 -1
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +11 -2
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +5 -0
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/question.test.js +139 -25
- package/dist/cli/__tests__/question.test.js.map +1 -1
- package/dist/cli/__tests__/session-scoped-runtime.test.js +30 -0
- package/dist/cli/__tests__/session-scoped-runtime.test.js.map +1 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.js +32 -7
- package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +8 -6
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-cli.test.js +23 -0
- package/dist/cli/__tests__/sparkshell-cli.test.js.map +1 -1
- package/dist/cli/__tests__/uninstall.test.js +65 -5
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/__tests__/update.test.js +360 -26
- package/dist/cli/__tests__/update.test.js.map +1 -1
- package/dist/cli/explore.d.ts.map +1 -1
- package/dist/cli/explore.js +18 -3
- package/dist/cli/explore.js.map +1 -1
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +7 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +25 -3
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/sparkshell.d.ts.map +1 -1
- package/dist/cli/sparkshell.js +11 -1
- package/dist/cli/sparkshell.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +159 -394
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +3 -1
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/cli/update.d.ts +37 -9
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +204 -26
- package/dist/cli/update.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +51 -14
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +35 -10
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/generator.d.ts +1 -0
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +61 -7
- package/dist/config/generator.js.map +1 -1
- package/dist/hooks/__tests__/code-review-skill-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/code-review-skill-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/code-review-skill-contract.test.js +56 -0
- package/dist/hooks/__tests__/code-review-skill-contract.test.js.map +1 -0
- package/dist/hooks/__tests__/deep-interview-contract.test.js +31 -0
- package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/explicit-terminal-stop-docs-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/explicit-terminal-stop-docs-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/explicit-terminal-stop-docs-contract.test.js +43 -0
- package/dist/hooks/__tests__/explicit-terminal-stop-docs-contract.test.js.map +1 -0
- package/dist/hooks/__tests__/explicit-terminal-stop-model-docs-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/explicit-terminal-stop-model-docs-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/explicit-terminal-stop-model-docs-contract.test.js +38 -0
- package/dist/hooks/__tests__/explicit-terminal-stop-model-docs-contract.test.js.map +1 -0
- package/dist/hooks/__tests__/keyword-detector.test.js +108 -0
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-test-helpers.d.ts.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-test-helpers.js +16 -1
- package/dist/hooks/__tests__/prompt-guidance-test-helpers.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +34 -8
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +7 -25
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/server-lifecycle.test.js +60 -0
- package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +177 -0
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/bootstrap.d.ts.map +1 -1
- package/dist/mcp/bootstrap.js +36 -18
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/state-server.d.ts +17 -0
- package/dist/mcp/state-server.d.ts.map +1 -1
- package/dist/mcp/state-server.js +55 -1
- package/dist/mcp/state-server.js.map +1 -1
- package/dist/notifications/__tests__/index.test.js +0 -3
- package/dist/notifications/__tests__/index.test.js.map +1 -1
- package/dist/notifications/__tests__/session-status.test.js +90 -0
- package/dist/notifications/__tests__/session-status.test.js.map +1 -1
- package/dist/notifications/session-status.d.ts +2 -0
- package/dist/notifications/session-status.d.ts.map +1 -1
- package/dist/notifications/session-status.js +19 -4
- package/dist/notifications/session-status.js.map +1 -1
- package/dist/question/__tests__/deep-interview.test.js +44 -0
- package/dist/question/__tests__/deep-interview.test.js.map +1 -1
- package/dist/question/__tests__/renderer.test.js +192 -12
- package/dist/question/__tests__/renderer.test.js.map +1 -1
- package/dist/question/__tests__/state.test.js +21 -1
- package/dist/question/__tests__/state.test.js.map +1 -1
- package/dist/question/deep-interview.d.ts +3 -0
- package/dist/question/deep-interview.d.ts.map +1 -1
- package/dist/question/deep-interview.js +18 -1
- package/dist/question/deep-interview.js.map +1 -1
- package/dist/question/renderer.d.ts +4 -2
- package/dist/question/renderer.d.ts.map +1 -1
- package/dist/question/renderer.js +87 -18
- package/dist/question/renderer.js.map +1 -1
- package/dist/runtime/__tests__/run-outcome.test.js +38 -0
- package/dist/runtime/__tests__/run-outcome.test.js.map +1 -1
- package/dist/runtime/__tests__/run-state.test.d.ts +2 -0
- package/dist/runtime/__tests__/run-state.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/run-state.test.js +37 -0
- package/dist/runtime/__tests__/run-state.test.js.map +1 -0
- package/dist/runtime/run-loop.d.ts +5 -1
- package/dist/runtime/run-loop.d.ts.map +1 -1
- package/dist/runtime/run-loop.js +8 -3
- package/dist/runtime/run-loop.js.map +1 -1
- package/dist/runtime/run-outcome.d.ts +18 -0
- package/dist/runtime/run-outcome.d.ts.map +1 -1
- package/dist/runtime/run-outcome.js +156 -7
- package/dist/runtime/run-outcome.js.map +1 -1
- package/dist/runtime/run-state.d.ts +5 -1
- package/dist/runtime/run-state.d.ts.map +1 -1
- package/dist/runtime/run-state.js +13 -3
- package/dist/runtime/run-state.js.map +1 -1
- package/dist/runtime/terminal-lifecycle.d.ts +11 -0
- package/dist/runtime/terminal-lifecycle.d.ts.map +1 -0
- package/dist/runtime/terminal-lifecycle.js +52 -0
- package/dist/runtime/terminal-lifecycle.js.map +1 -0
- package/dist/scripts/__tests__/codex-native-hook.test.js +370 -56
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/postinstall.test.d.ts +2 -0
- package/dist/scripts/__tests__/postinstall.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/postinstall.test.js +178 -0
- package/dist/scripts/__tests__/postinstall.test.js.map +1 -0
- package/dist/scripts/codex-native-hook.d.ts +1 -0
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +115 -56
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/postinstall.d.ts +22 -0
- package/dist/scripts/postinstall.d.ts.map +1 -0
- package/dist/scripts/postinstall.js +105 -0
- package/dist/scripts/postinstall.js.map +1 -0
- package/dist/state/__tests__/operations.test.js +60 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +18 -1
- package/dist/state/operations.js.map +1 -1
- package/dist/team/__tests__/role-router.test.js +6 -0
- package/dist/team/__tests__/role-router.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +108 -2
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +18 -4
- package/dist/team/runtime.js.map +1 -1
- package/dist/utils/__tests__/dep-versions.test.js +25 -8
- package/dist/utils/__tests__/dep-versions.test.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +45 -0
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +22 -7
- package/dist/utils/paths.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/package.json +3 -2
- package/prompts/architect.md +4 -0
- package/prompts/code-reviewer.md +3 -0
- package/skills/code-review/SKILL.md +94 -28
- package/skills/deep-interview/SKILL.md +91 -0
- package/src/scripts/__tests__/codex-native-hook.test.ts +468 -64
- package/src/scripts/__tests__/postinstall.test.ts +210 -0
- package/src/scripts/codex-native-hook.ts +136 -53
- package/src/scripts/postinstall-bootstrap.js +23 -0
- package/src/scripts/postinstall.ts +161 -0
- package/templates/AGENTS.md +1 -1
- package/templates/model-instructions/explore-lightweight-AGENTS.md +11 -0
- package/templates/model-instructions/sparkshell-lightweight-AGENTS.md +10 -0
package/dist/cli/update.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Update orchestration for oh-my-codex.
|
|
3
|
+
*
|
|
4
|
+
* The launch-time checker is intentionally passive, non-fatal, and throttled.
|
|
5
|
+
* The explicit `omx update` command uses the same executor but bypasses the
|
|
6
|
+
* launch-time cadence so a user request always checks npm immediately.
|
|
4
7
|
*/
|
|
5
8
|
import { readFile, writeFile, mkdir } from 'fs/promises';
|
|
6
9
|
import { existsSync } from 'fs';
|
|
7
|
-
import { join } from 'path';
|
|
10
|
+
import { dirname, join } from 'path';
|
|
8
11
|
import { spawnSync } from 'child_process';
|
|
9
12
|
import { createInterface } from 'readline/promises';
|
|
10
13
|
import { getPackageRoot } from '../utils/package.js';
|
|
11
|
-
import {
|
|
14
|
+
import { omxUserInstallStampPath } from '../utils/paths.js';
|
|
12
15
|
const PACKAGE_NAME = 'oh-my-codex';
|
|
13
16
|
const CHECK_INTERVAL_MS = 12 * 60 * 60 * 1000; // 12h
|
|
14
17
|
function parseSemver(version) {
|
|
@@ -116,9 +119,199 @@ const defaultUpdateDependencies = {
|
|
|
116
119
|
askYesNo,
|
|
117
120
|
fetchLatestVersion,
|
|
118
121
|
getCurrentVersion,
|
|
122
|
+
readUserInstallStamp,
|
|
119
123
|
runGlobalUpdate,
|
|
120
|
-
|
|
124
|
+
runSetupRefresh,
|
|
125
|
+
writeUpdateState,
|
|
121
126
|
};
|
|
127
|
+
function stripLeadingV(version) {
|
|
128
|
+
return version.trim().replace(/^v/i, '');
|
|
129
|
+
}
|
|
130
|
+
async function writeSuccessfulInstallStamp(installedVersion) {
|
|
131
|
+
await writeUserInstallStamp({
|
|
132
|
+
installed_version: stripLeadingV(installedVersion),
|
|
133
|
+
setup_completed_version: stripLeadingV(installedVersion),
|
|
134
|
+
updated_at: new Date().toISOString(),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
export async function readUserInstallStamp(path = omxUserInstallStampPath()) {
|
|
138
|
+
if (!existsSync(path))
|
|
139
|
+
return null;
|
|
140
|
+
try {
|
|
141
|
+
const content = await readFile(path, 'utf-8');
|
|
142
|
+
const parsed = JSON.parse(content);
|
|
143
|
+
if (typeof parsed.installed_version !== 'string' || typeof parsed.updated_at !== 'string') {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
installed_version: parsed.installed_version,
|
|
148
|
+
...(typeof parsed.setup_completed_version === 'string'
|
|
149
|
+
? { setup_completed_version: parsed.setup_completed_version }
|
|
150
|
+
: {}),
|
|
151
|
+
updated_at: parsed.updated_at,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
export async function writeUserInstallStamp(stamp, path = omxUserInstallStampPath()) {
|
|
159
|
+
await mkdir(dirname(path), { recursive: true });
|
|
160
|
+
await writeFile(path, JSON.stringify(stamp, null, 2));
|
|
161
|
+
}
|
|
162
|
+
export function isInstallVersionBump(currentVersion, stamp) {
|
|
163
|
+
if (!currentVersion)
|
|
164
|
+
return false;
|
|
165
|
+
if (!stamp?.installed_version)
|
|
166
|
+
return true;
|
|
167
|
+
return stripLeadingV(currentVersion) !== stripLeadingV(stamp.installed_version);
|
|
168
|
+
}
|
|
169
|
+
function doesSetupStampMatchVersion(currentVersion, stamp) {
|
|
170
|
+
return stripLeadingV(stamp?.setup_completed_version ?? '') === stripLeadingV(currentVersion);
|
|
171
|
+
}
|
|
172
|
+
function resolveGlobalInstallRoot() {
|
|
173
|
+
const result = spawnSync('npm', ['root', '-g'], {
|
|
174
|
+
encoding: 'utf-8',
|
|
175
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
176
|
+
timeout: 15000,
|
|
177
|
+
windowsHide: true,
|
|
178
|
+
});
|
|
179
|
+
if (result.error || result.status !== 0) {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
const root = (result.stdout || '').trim();
|
|
183
|
+
return root === '' ? null : root;
|
|
184
|
+
}
|
|
185
|
+
export async function resolveInstalledCliEntry(globalInstallRoot) {
|
|
186
|
+
const packageRoot = join(globalInstallRoot, PACKAGE_NAME);
|
|
187
|
+
const packageJsonPath = join(packageRoot, 'package.json');
|
|
188
|
+
let cliRelativePath = join('dist', 'cli', 'omx.js');
|
|
189
|
+
try {
|
|
190
|
+
const content = await readFile(packageJsonPath, 'utf-8');
|
|
191
|
+
const pkg = JSON.parse(content);
|
|
192
|
+
if (typeof pkg.bin === 'string' && pkg.bin.trim() !== '') {
|
|
193
|
+
cliRelativePath = pkg.bin;
|
|
194
|
+
}
|
|
195
|
+
else if (pkg.bin &&
|
|
196
|
+
typeof pkg.bin === 'object' &&
|
|
197
|
+
typeof pkg.bin.omx === 'string' &&
|
|
198
|
+
pkg.bin.omx.trim() !== '') {
|
|
199
|
+
cliRelativePath = pkg.bin.omx;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
// Fall back to the published contract used in package.json today.
|
|
204
|
+
}
|
|
205
|
+
const cliEntry = join(packageRoot, cliRelativePath);
|
|
206
|
+
return existsSync(cliEntry) ? cliEntry : null;
|
|
207
|
+
}
|
|
208
|
+
export function spawnInstalledSetupRefresh(cliEntry, cwd, spawnProcess = spawnSync) {
|
|
209
|
+
const result = spawnProcess(process.execPath, [cliEntry, 'setup'], {
|
|
210
|
+
cwd,
|
|
211
|
+
env: process.env,
|
|
212
|
+
stdio: 'inherit',
|
|
213
|
+
windowsHide: true,
|
|
214
|
+
});
|
|
215
|
+
if (result.error) {
|
|
216
|
+
return { ok: false, stderr: result.error.message };
|
|
217
|
+
}
|
|
218
|
+
if (result.status !== 0) {
|
|
219
|
+
return {
|
|
220
|
+
ok: false,
|
|
221
|
+
stderr: `The updated setup refresh exited with status ${result.status}.`,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
return { ok: true, stderr: '' };
|
|
225
|
+
}
|
|
226
|
+
async function runSetupRefresh(cwd) {
|
|
227
|
+
const globalInstallRoot = resolveGlobalInstallRoot();
|
|
228
|
+
if (!globalInstallRoot) {
|
|
229
|
+
return {
|
|
230
|
+
ok: false,
|
|
231
|
+
stderr: 'Unable to resolve the npm global install root after updating.',
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
const cliEntry = await resolveInstalledCliEntry(globalInstallRoot);
|
|
235
|
+
if (!cliEntry) {
|
|
236
|
+
return {
|
|
237
|
+
ok: false,
|
|
238
|
+
stderr: `Unable to find the updated OMX CLI entry under ${join(globalInstallRoot, PACKAGE_NAME)}.`,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
return spawnInstalledSetupRefresh(cliEntry, cwd);
|
|
242
|
+
}
|
|
243
|
+
async function executeUpdate(options) {
|
|
244
|
+
const { cwd, dependencies, prompt, immediate, nowMs = Date.now() } = options;
|
|
245
|
+
const [current, latest] = await Promise.all([
|
|
246
|
+
dependencies.getCurrentVersion(),
|
|
247
|
+
dependencies.fetchLatestVersion(),
|
|
248
|
+
]);
|
|
249
|
+
try {
|
|
250
|
+
await dependencies.writeUpdateState(cwd, {
|
|
251
|
+
last_checked_at: new Date(nowMs).toISOString(),
|
|
252
|
+
last_seen_latest: latest ?? undefined,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
// Update-check state is advisory only. Do not fail installs or explicit updates
|
|
257
|
+
// just because the current working directory is read-only or unavailable.
|
|
258
|
+
}
|
|
259
|
+
if (!current || !latest) {
|
|
260
|
+
if (immediate) {
|
|
261
|
+
console.log('[omx] Unable to determine the latest oh-my-codex version. Try again later.');
|
|
262
|
+
}
|
|
263
|
+
return { status: 'unavailable', currentVersion: current, latestVersion: latest };
|
|
264
|
+
}
|
|
265
|
+
if (!isNewerVersion(current, latest)) {
|
|
266
|
+
if (immediate) {
|
|
267
|
+
const installStamp = await dependencies.readUserInstallStamp();
|
|
268
|
+
if (!doesSetupStampMatchVersion(current, installStamp)) {
|
|
269
|
+
console.log(`[omx] oh-my-codex is already up to date (v${current}). Running setup refresh...`);
|
|
270
|
+
const setupRefreshResult = await dependencies.runSetupRefresh(cwd);
|
|
271
|
+
if (!setupRefreshResult.ok) {
|
|
272
|
+
console.log(`[omx] Update installed, but the setup refresh failed. Run \`omx setup\` with the new install. (${setupRefreshResult.stderr})`);
|
|
273
|
+
return { status: 'failed', currentVersion: current, latestVersion: latest };
|
|
274
|
+
}
|
|
275
|
+
await writeSuccessfulInstallStamp(current);
|
|
276
|
+
console.log(`[omx] Setup refresh completed for v${current}. Restart to use current code.`);
|
|
277
|
+
return { status: 'up-to-date', currentVersion: current, latestVersion: latest };
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (immediate) {
|
|
281
|
+
console.log(`[omx] oh-my-codex is already up to date (v${current}).`);
|
|
282
|
+
}
|
|
283
|
+
return { status: 'up-to-date', currentVersion: current, latestVersion: latest };
|
|
284
|
+
}
|
|
285
|
+
if (prompt) {
|
|
286
|
+
const approved = await dependencies.askYesNo(`[omx] Update available: v${current} → v${latest}. Update now? [Y/n] `);
|
|
287
|
+
if (!approved) {
|
|
288
|
+
return { status: 'declined', currentVersion: current, latestVersion: latest };
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
console.log(`[omx] Running: npm install -g ${PACKAGE_NAME}@latest`);
|
|
292
|
+
const result = dependencies.runGlobalUpdate();
|
|
293
|
+
if (!result.ok) {
|
|
294
|
+
console.log('[omx] Update failed. Run manually: npm install -g oh-my-codex@latest');
|
|
295
|
+
return { status: 'failed', currentVersion: current, latestVersion: latest };
|
|
296
|
+
}
|
|
297
|
+
const setupRefreshResult = await dependencies.runSetupRefresh(cwd);
|
|
298
|
+
if (!setupRefreshResult.ok) {
|
|
299
|
+
console.log(`[omx] Update installed, but the setup refresh failed. Run \`omx setup\` with the new install. (${setupRefreshResult.stderr})`);
|
|
300
|
+
return { status: 'failed', currentVersion: current, latestVersion: latest };
|
|
301
|
+
}
|
|
302
|
+
await writeSuccessfulInstallStamp(latest);
|
|
303
|
+
console.log(`[omx] Updated to v${latest}. Restart to use new code.`);
|
|
304
|
+
return { status: 'updated', currentVersion: current, latestVersion: latest };
|
|
305
|
+
}
|
|
306
|
+
export async function runImmediateUpdate(cwd = process.cwd(), dependencies = {}) {
|
|
307
|
+
const updateDependencies = { ...defaultUpdateDependencies, ...dependencies };
|
|
308
|
+
return executeUpdate({
|
|
309
|
+
cwd,
|
|
310
|
+
dependencies: updateDependencies,
|
|
311
|
+
prompt: false,
|
|
312
|
+
immediate: true,
|
|
313
|
+
});
|
|
314
|
+
}
|
|
122
315
|
export async function maybeCheckAndPromptUpdate(cwd, dependencies = {}) {
|
|
123
316
|
const updateDependencies = { ...defaultUpdateDependencies, ...dependencies };
|
|
124
317
|
if (process.env.OMX_AUTO_UPDATE === '0')
|
|
@@ -129,27 +322,12 @@ export async function maybeCheckAndPromptUpdate(cwd, dependencies = {}) {
|
|
|
129
322
|
const state = await readUpdateState(cwd);
|
|
130
323
|
if (!shouldCheckForUpdates(now, state))
|
|
131
324
|
return;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
updateDependencies
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
last_seen_latest: latest || state?.last_seen_latest,
|
|
325
|
+
await executeUpdate({
|
|
326
|
+
cwd,
|
|
327
|
+
dependencies: updateDependencies,
|
|
328
|
+
prompt: true,
|
|
329
|
+
immediate: false,
|
|
330
|
+
nowMs: now,
|
|
139
331
|
});
|
|
140
|
-
if (!current || !latest || !isNewerVersion(current, latest))
|
|
141
|
-
return;
|
|
142
|
-
const approved = await updateDependencies.askYesNo(`[omx] Update available: v${current} → v${latest}. Update now? [Y/n] `);
|
|
143
|
-
if (!approved)
|
|
144
|
-
return;
|
|
145
|
-
console.log(`[omx] Running: npm install -g ${PACKAGE_NAME}@latest`);
|
|
146
|
-
const result = updateDependencies.runGlobalUpdate();
|
|
147
|
-
if (result.ok) {
|
|
148
|
-
await updateDependencies.setup();
|
|
149
|
-
console.log(`[omx] Updated to v${latest}. Restart to use new code.`);
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
console.log('[omx] Update failed. Run manually: npm install -g oh-my-codex@latest');
|
|
153
|
-
}
|
|
154
332
|
}
|
|
155
333
|
//# sourceMappingURL=update.js.map
|
package/dist/cli/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ function count(text, pattern) {
|
|
|
15
15
|
/** Assert the current OMX block appears exactly once */
|
|
16
16
|
function assertSingleOmxBlock(toml) {
|
|
17
17
|
assert.equal(count(toml, /# oh-my-codex \(OMX\) Configuration/g), 1, "OMX marker should appear once");
|
|
18
|
-
assert.equal(count(toml,
|
|
18
|
+
assert.equal(count(toml, /^# End oh-my-codex$/gm), 1, "End marker should appear once");
|
|
19
19
|
assert.equal(count(toml, /^\[mcp_servers\.omx_state\]$/gm), 1, "[mcp_servers.omx_state] should appear once");
|
|
20
20
|
assert.equal(count(toml, /^\[mcp_servers\.omx_memory\]$/gm), 1, "[mcp_servers.omx_memory] should appear once");
|
|
21
21
|
assert.equal(count(toml, /^\[mcp_servers\.omx_code_intel\]$/gm), 1, "[mcp_servers.omx_code_intel] should appear once");
|
|
@@ -328,14 +328,16 @@ describe("config generator idempotency (#384)", () => {
|
|
|
328
328
|
await mergeConfig(configPath, wd);
|
|
329
329
|
const toml = await readFile(configPath, "utf-8");
|
|
330
330
|
assert.match(toml, /^model = "gpt-5.4"$/m);
|
|
331
|
-
assert.match(toml,
|
|
332
|
-
assert.match(toml, /^
|
|
331
|
+
assert.match(toml, /^# oh-my-codex seeded behavioral defaults \(uninstall removes unchanged defaults\)$/m);
|
|
332
|
+
assert.match(toml, /^model_context_window = 250000$/m);
|
|
333
|
+
assert.match(toml, /^model_auto_compact_token_limit = 200000$/m);
|
|
334
|
+
assert.match(toml, /^# End oh-my-codex seeded behavioral defaults$/m);
|
|
333
335
|
}
|
|
334
336
|
finally {
|
|
335
337
|
await rm(wd, { recursive: true, force: true });
|
|
336
338
|
}
|
|
337
339
|
});
|
|
338
|
-
it("can override gpt-5.3-codex to gpt-5.4 and seed
|
|
340
|
+
it("can override gpt-5.3-codex to gpt-5.4 and seed 250k context defaults", async () => {
|
|
339
341
|
const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
|
|
340
342
|
try {
|
|
341
343
|
const toml = buildMergedConfig('model = \"gpt-5.3-codex\"\n', wd, {
|
|
@@ -343,14 +345,16 @@ describe("config generator idempotency (#384)", () => {
|
|
|
343
345
|
});
|
|
344
346
|
assert.match(toml, /^model = "gpt-5\.4"$/m);
|
|
345
347
|
assert.doesNotMatch(toml, /^model = "gpt-5\.3-codex"$/m);
|
|
346
|
-
assert.match(toml,
|
|
347
|
-
assert.match(toml, /^
|
|
348
|
+
assert.match(toml, /^# oh-my-codex seeded behavioral defaults \(uninstall removes unchanged defaults\)$/m);
|
|
349
|
+
assert.match(toml, /^model_context_window = 250000$/m);
|
|
350
|
+
assert.match(toml, /^model_auto_compact_token_limit = 200000$/m);
|
|
351
|
+
assert.match(toml, /^# End oh-my-codex seeded behavioral defaults$/m);
|
|
348
352
|
}
|
|
349
353
|
finally {
|
|
350
354
|
await rm(wd, { recursive: true, force: true });
|
|
351
355
|
}
|
|
352
356
|
});
|
|
353
|
-
it("does not seed
|
|
357
|
+
it("does not seed 250k context defaults for non-gpt-5.4 models", async () => {
|
|
354
358
|
const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
|
|
355
359
|
try {
|
|
356
360
|
const configPath = join(wd, "config.toml");
|
|
@@ -358,14 +362,14 @@ describe("config generator idempotency (#384)", () => {
|
|
|
358
362
|
await mergeConfig(configPath, wd);
|
|
359
363
|
const toml = await readFile(configPath, "utf-8");
|
|
360
364
|
assert.match(toml, /^model = "o3"$/m, "user model preserved");
|
|
361
|
-
assert.doesNotMatch(toml, /^model_context_window =
|
|
362
|
-
assert.doesNotMatch(toml, /^model_auto_compact_token_limit =
|
|
365
|
+
assert.doesNotMatch(toml, /^model_context_window = 250000$/m);
|
|
366
|
+
assert.doesNotMatch(toml, /^model_auto_compact_token_limit = 200000$/m);
|
|
363
367
|
}
|
|
364
368
|
finally {
|
|
365
369
|
await rm(wd, { recursive: true, force: true });
|
|
366
370
|
}
|
|
367
371
|
});
|
|
368
|
-
it("
|
|
372
|
+
it("seeds missing auto compact limit without overwriting an existing context window", async () => {
|
|
369
373
|
const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
|
|
370
374
|
try {
|
|
371
375
|
const configPath = join(wd, "config.toml");
|
|
@@ -374,7 +378,38 @@ describe("config generator idempotency (#384)", () => {
|
|
|
374
378
|
const toml = await readFile(configPath, "utf-8");
|
|
375
379
|
assert.match(toml, /^model = "gpt-5\.4"$/m);
|
|
376
380
|
assert.match(toml, /^model_context_window = 640000$/m);
|
|
377
|
-
assert.
|
|
381
|
+
assert.match(toml, /^model_auto_compact_token_limit = 200000$/m);
|
|
382
|
+
}
|
|
383
|
+
finally {
|
|
384
|
+
await rm(wd, { recursive: true, force: true });
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
it("seeds missing context window without overwriting an existing auto compact limit", async () => {
|
|
388
|
+
const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
|
|
389
|
+
try {
|
|
390
|
+
const configPath = join(wd, "config.toml");
|
|
391
|
+
await writeFile(configPath, ['model = "gpt-5.4"', "model_auto_compact_token_limit = 150000", ""].join("\n"));
|
|
392
|
+
await mergeConfig(configPath, wd);
|
|
393
|
+
const toml = await readFile(configPath, "utf-8");
|
|
394
|
+
assert.match(toml, /^model = "gpt-5\.4"$/m);
|
|
395
|
+
assert.match(toml, /^model_context_window = 250000$/m);
|
|
396
|
+
assert.match(toml, /^model_auto_compact_token_limit = 150000$/m);
|
|
397
|
+
}
|
|
398
|
+
finally {
|
|
399
|
+
await rm(wd, { recursive: true, force: true });
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
it("does not duplicate independently seeded defaults across reruns", async () => {
|
|
403
|
+
const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
|
|
404
|
+
try {
|
|
405
|
+
const configPath = join(wd, "config.toml");
|
|
406
|
+
await writeFile(configPath, ['model = "gpt-5.4"', "model_context_window = 640000", ""].join("\n"));
|
|
407
|
+
await mergeConfig(configPath, wd);
|
|
408
|
+
await mergeConfig(configPath, wd);
|
|
409
|
+
const toml = await readFile(configPath, "utf-8");
|
|
410
|
+
assert.equal(count(toml, /^model_context_window = 640000$/gm), 1);
|
|
411
|
+
assert.equal(count(toml, /^model_auto_compact_token_limit = 200000$/gm), 1);
|
|
412
|
+
assert.doesNotMatch(toml, /^model_context_window = 250000$/m);
|
|
378
413
|
}
|
|
379
414
|
finally {
|
|
380
415
|
await rm(wd, { recursive: true, force: true });
|
|
@@ -388,8 +423,10 @@ describe("config generator idempotency (#384)", () => {
|
|
|
388
423
|
await mergeConfig(configPath, wd);
|
|
389
424
|
const toml = await readFile(configPath, "utf-8");
|
|
390
425
|
assert.equal(count(toml, /^model = "gpt-5\.4"$/gm), 1, "seeded model should appear once");
|
|
391
|
-
assert.equal(count(toml, /^model_context_window =
|
|
392
|
-
assert.equal(count(toml, /^model_auto_compact_token_limit =
|
|
426
|
+
assert.equal(count(toml, /^model_context_window = 250000$/gm), 1, "seeded context window should appear once");
|
|
427
|
+
assert.equal(count(toml, /^model_auto_compact_token_limit = 200000$/gm), 1, "seeded auto compact limit should appear once");
|
|
428
|
+
assert.equal(count(toml, /^# oh-my-codex seeded behavioral defaults \(uninstall removes unchanged defaults\)$/gm), 1, "seeded defaults start marker should appear once");
|
|
429
|
+
assert.equal(count(toml, /^# End oh-my-codex seeded behavioral defaults$/gm), 1, "seeded defaults end marker should appear once");
|
|
393
430
|
}
|
|
394
431
|
finally {
|
|
395
432
|
await rm(wd, { recursive: true, force: true });
|
|
@@ -449,7 +486,7 @@ describe("config generator idempotency (#384)", () => {
|
|
|
449
486
|
// buildMergedConfig should produce a clean config with only one [tui]
|
|
450
487
|
const toml = buildMergedConfig(broken, wd);
|
|
451
488
|
assert.equal(count(toml, /^\[tui\]$/gm), 1, "[tui] should appear once");
|
|
452
|
-
assert.equal(count(toml,
|
|
489
|
+
assert.equal(count(toml, /^# End oh-my-codex$/gm), 1, "End marker should appear once");
|
|
453
490
|
// User MCP server must survive
|
|
454
491
|
assert.match(toml, /^\[mcp_servers\.figma\]$/m, "user MCP preserved");
|
|
455
492
|
}
|
|
@@ -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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"}
|