oh-my-codex 0.18.9 → 0.18.11
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 +6 -6
- package/Cargo.toml +1 -1
- package/README.md +6 -6
- package/dist/autopilot/__tests__/deep-interview-gate.test.d.ts +2 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.d.ts.map +1 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.js +215 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.js.map +1 -0
- package/dist/autopilot/__tests__/ralplan-gate.test.js +148 -0
- package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
- package/dist/autopilot/deep-interview-gate.d.ts.map +1 -1
- package/dist/autopilot/deep-interview-gate.js +140 -0
- package/dist/autopilot/deep-interview-gate.js.map +1 -1
- package/dist/catalog/__tests__/schema.test.js +6 -0
- package/dist/catalog/__tests__/schema.test.js.map +1 -1
- package/dist/cli/__tests__/auth.test.js +36 -3
- package/dist/cli/__tests__/auth.test.js.map +1 -1
- package/dist/cli/__tests__/codex-feature-probe.test.d.ts +2 -0
- package/dist/cli/__tests__/codex-feature-probe.test.d.ts.map +1 -0
- package/dist/cli/__tests__/codex-feature-probe.test.js +46 -0
- package/dist/cli/__tests__/codex-feature-probe.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-spark-routing.test.d.ts +2 -0
- package/dist/cli/__tests__/doctor-spark-routing.test.d.ts.map +1 -0
- package/dist/cli/__tests__/doctor-spark-routing.test.js +79 -0
- package/dist/cli/__tests__/doctor-spark-routing.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js +2 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/explore.test.js +47 -1175
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +276 -6
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +19 -5
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/nested-help-routing.test.js +1 -1
- package/dist/cli/__tests__/nested-help-routing.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +19 -6
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +6 -2
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-packaging.test.js +45 -2
- package/dist/cli/__tests__/sparkshell-packaging.test.js.map +1 -1
- package/dist/cli/__tests__/team-decompose.test.js +10 -5
- package/dist/cli/__tests__/team-decompose.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +45 -1
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +75 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +25 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/codex-feature-probe.d.ts +5 -2
- package/dist/cli/codex-feature-probe.d.ts.map +1 -1
- package/dist/cli/codex-feature-probe.js +25 -9
- package/dist/cli/codex-feature-probe.js.map +1 -1
- package/dist/cli/doctor.d.ts +17 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +121 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/explore.d.ts +2 -21
- package/dist/cli/explore.d.ts.map +1 -1
- package/dist/cli/explore.js +25 -624
- package/dist/cli/explore.js.map +1 -1
- package/dist/cli/index.d.ts +34 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +166 -89
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +9 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts +4 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +43 -4
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/ultragoal.d.ts.map +1 -1
- package/dist/cli/ultragoal.js +29 -0
- package/dist/cli/ultragoal.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +8 -10
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js +15 -0
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/deep-interview-contract.test.js +16 -0
- package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/explore-routing.test.js +5 -8
- package/dist/hooks/__tests__/explore-routing.test.js.map +1 -1
- package/dist/hooks/__tests__/explore-sparkshell-guidance-contract.test.js +6 -6
- package/dist/hooks/__tests__/explore-sparkshell-guidance-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/skill-guidance-contract.test.js +14 -5
- package/dist/hooks/__tests__/skill-guidance-contract.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +2 -1
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/explore-routing.d.ts +1 -1
- package/dist/hooks/explore-routing.d.ts.map +1 -1
- package/dist/hooks/explore-routing.js +3 -8
- package/dist/hooks/explore-routing.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/plugin-runner.test.js +112 -1
- package/dist/hooks/extensibility/__tests__/plugin-runner.test.js.map +1 -1
- package/dist/hooks/extensibility/plugin-runner-stdin.d.ts +2 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.d.ts.map +1 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.js +16 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.js.map +1 -0
- package/dist/hooks/extensibility/plugin-runner.js +2 -4
- package/dist/hooks/extensibility/plugin-runner.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +23 -2
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +367 -1
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.js +118 -7
- package/dist/hud/__tests__/tmux.test.js.map +1 -1
- package/dist/hud/constants.d.ts +10 -0
- package/dist/hud/constants.d.ts.map +1 -1
- package/dist/hud/constants.js +19 -0
- package/dist/hud/constants.js.map +1 -1
- package/dist/hud/index.d.ts +6 -1
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +12 -3
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/reconcile.d.ts +10 -2
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +78 -30
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/tmux.d.ts +14 -1
- package/dist/hud/tmux.d.ts.map +1 -1
- package/dist/hud/tmux.js +129 -15
- package/dist/hud/tmux.js.map +1 -1
- package/dist/mcp/wiki-server.d.ts +3 -3
- package/dist/ralplan/consensus-gate.js +9 -1
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +170 -17
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/run-test-files.test.js +115 -1
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +74 -11
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.js +54 -21
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -1
- package/dist/scripts/run-test-files.js +218 -160
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +463 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/team/__tests__/delivery-log.test.js +18 -0
- package/dist/team/__tests__/delivery-log.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +48 -0
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +107 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.d.ts.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.js +14 -2
- package/dist/team/__tests__/tmux-test-fixture.js.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.test.js +1 -0
- package/dist/team/__tests__/tmux-test-fixture.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +54 -1
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/delivery-log.d.ts +1 -1
- package/dist/team/delivery-log.d.ts.map +1 -1
- package/dist/team/delivery-log.js.map +1 -1
- package/dist/team/repo-aware-decomposition.d.ts +4 -0
- package/dist/team/repo-aware-decomposition.d.ts.map +1 -1
- package/dist/team/repo-aware-decomposition.js.map +1 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +78 -9
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/tmux-session.d.ts +1 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +16 -5
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/ultragoal-context.d.ts +12 -0
- package/dist/team/ultragoal-context.d.ts.map +1 -1
- package/dist/team/ultragoal-context.js +32 -8
- package/dist/team/ultragoal-context.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +23 -0
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +4 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/toml.d.ts +4 -0
- package/dist/utils/toml.d.ts.map +1 -0
- package/dist/utils/toml.js +75 -0
- package/dist/utils/toml.js.map +1 -0
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/skills/autopilot/SKILL.md +3 -0
- package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +34 -0
- package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +32 -17
- package/skills/autopilot/SKILL.md +3 -0
- package/skills/deep-interview/SKILL.md +34 -0
- package/skills/ultrawork/SKILL.md +32 -17
- package/src/scripts/__tests__/codex-native-hook.test.ts +218 -28
- package/src/scripts/__tests__/run-test-files.test.ts +138 -2
- package/src/scripts/codex-native-hook.ts +80 -10
- package/src/scripts/notify-hook/team-worker-stop.ts +58 -18
- package/src/scripts/run-test-files.ts +229 -150
- package/templates/AGENTS.md +39 -199
- package/templates/catalog-manifest.json +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explore.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/explore.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"explore.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/explore.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { afterEach, describe, it, mock } from "node:test";
|
|
2
2
|
import assert from "node:assert/strict";
|
|
3
3
|
import { existsSync, mkdirSync, readFileSync, utimesSync } from "node:fs";
|
|
4
|
-
import { chmod, mkdir, mkdtemp, readFile, rm, stat, writeFile } from "node:fs/promises";
|
|
5
|
-
import { dirname, join } from "node:path";
|
|
4
|
+
import { chmod, lstat, mkdir, mkdtemp, readFile, rm, stat, symlink, writeFile } from "node:fs/promises";
|
|
5
|
+
import { delimiter, dirname, join } from "node:path";
|
|
6
6
|
import { tmpdir } from "node:os";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
import { once } from "node:events";
|
|
9
9
|
import TOML from "@iarna/toml";
|
|
10
|
-
import { HELP, normalizeCodexLaunchArgs, buildTmuxShellCommand, buildTmuxPaneCommand, shouldSourceTmuxPaneShellRc, buildWindowsPromptCommand, buildTmuxSessionName, resolveCliInvocation, resolveUpdateChannelArg, commandOwnsLocalHelp, resolveCodexLaunchPolicy, resolveEffectiveLeaderLaunchPolicyOverride, resolveEnvLaunchPolicyOverride, resolveLeaderLaunchPolicyOverride, classifyCodexExecFailure, resolveSignalExitCode, parseTmuxPaneSnapshot, findHudWatchPaneIds, buildHudPaneCleanupTargets, readTopLevelTomlString, upsertTopLevelTomlString, collectInheritableTeamWorkerArgs, resolveTeamWorkerLaunchArgsEnv, injectModelInstructionsBypassArgs, resolveWorkerSparkModel, resolveSetupInstallModeArg, resolveSetupMcpModeArg, resolveSetupScopeArg, resolveSetupTeamModeArg, resolveLaunchConfigRepairOptions, readPersistedSetupPreferences, readPersistedSetupScope, resolveCodexConfigPathForLaunch, resolveCodexHomeForLaunch, resolveProjectLocalCodexHomeForLaunch, shouldAutoIsolateMadmaxLaunch, createMadmaxIsolatedRoot, buildMadmaxDetachedLaunchContextKey, withMadmaxDetachedContextLock, resolveOmxRootForLaunch, resolveDisposableWorktreeOmxRootForLaunch, prepareCodexHomeForLaunch, persistProjectLaunchRuntimeAuthState, persistProjectLaunchRuntimeProjectTrustState, runtimeCodexHomePath, buildDetachedSessionBootstrapSteps, buildDetachedTmuxSessionName, buildDetachedSessionFinalizeSteps, shouldAttachDetachedTmuxSession, buildDetachedSessionRollbackSteps, detectDetachedSessionWindowIndex, resolveNotifyTempContract, buildNotifyTempStartupMessages, buildNotifyFallbackWatcherEnv, shouldEnableNotifyFallbackWatcher, reapStaleNotifyFallbackWatcher, cleanupLaunchOrphanedMcpProcesses, reapPostLaunchOrphanedMcpProcesses, cleanupPostLaunchModeStateFiles, resolveBackgroundHelperLaunchMode, shouldDetachBackgroundHelper, resolveNotifyFallbackWatcherScript, resolveHookDerivedWatcherScript, resolveNotifyHookScript, buildDetachedWindowsBootstrapScript, acquireTmuxExtendedKeysLease, resolveNativeSessionName, releaseTmuxExtendedKeysLease, withTmuxExtendedKeys, serializeDetachedSessionParentEnv, CODEX_SQLITE_HOME_ENV, DETACHED_TMUX_HISTORY_LIMIT, } from "../index.js";
|
|
10
|
+
import { HELP, normalizeCodexLaunchArgs, buildTmuxShellCommand, buildTmuxPaneCommand, shouldSourceTmuxPaneShellRc, buildWindowsPromptCommand, buildTmuxSessionName, resolveCliInvocation, resolveUpdateChannelArg, commandOwnsLocalHelp, resolveCodexLaunchPolicy, resolveEffectiveLeaderLaunchPolicyOverride, resolveEnvLaunchPolicyOverride, resolveLeaderLaunchPolicyOverride, classifyCodexExecFailure, resolveSignalExitCode, parseTmuxPaneSnapshot, findHudWatchPaneIds, buildHudPaneCleanupTargets, readTopLevelTomlString, upsertTopLevelTomlString, collectInheritableTeamWorkerArgs, resolveTeamWorkerLaunchArgsEnv, injectModelInstructionsBypassArgs, resolveWorkerSparkModel, resolveSetupInstallModeArg, resolveSetupMcpModeArg, resolveSetupScopeArg, resolveSetupTeamModeArg, resolveLaunchConfigRepairOptions, readPersistedSetupPreferences, readPersistedSetupScope, resolveCodexConfigPathForLaunch, resolveCodexHomeForLaunch, resolveProjectLocalCodexHomeForLaunch, shouldAutoIsolateMadmaxLaunch, createMadmaxIsolatedRoot, buildMadmaxDetachedLaunchContextKey, withMadmaxDetachedContextLock, resolveOmxRootForLaunch, resolveDisposableWorktreeOmxRootForLaunch, prepareCodexHomeForLaunch, persistProjectLaunchRuntimeAuthState, persistProjectLaunchRuntimeProjectTrustState, runtimeCodexHomePath, buildDetachedSessionBootstrapSteps, buildDetachedTmuxSessionName, buildDetachedSessionFinalizeSteps, shouldAttachDetachedTmuxSession, buildDetachedSessionRollbackSteps, detectDetachedSessionWindowIndex, resolveNotifyTempContract, buildNotifyTempStartupMessages, buildNotifyFallbackWatcherEnv, shouldEnableNotifyFallbackWatcher, reapStaleNotifyFallbackWatcher, cleanupLaunchOrphanedMcpProcesses, reapPostLaunchOrphanedMcpProcesses, cleanupPostLaunchModeStateFiles, resolveBackgroundHelperLaunchMode, shouldDetachBackgroundHelper, resolveNotifyFallbackWatcherScript, resolveHookDerivedWatcherScript, resolveNotifyHookScript, buildDetachedWindowsBootstrapScript, acquireTmuxExtendedKeysLease, resolveNativeSessionName, releaseTmuxExtendedKeysLease, withTmuxExtendedKeys, serializeDetachedSessionParentEnv, buildInsideTmuxHudHookEnv, registerInsideTmuxHudResizeHook, buildDetachedHudHookEnv, registerDetachedHudLayoutReconcileHook, ensureOmxRuntimeCommandShim, omxRuntimeCommandShimPath, prependOmxRuntimeCommandShimToEnv, CODEX_SQLITE_HOME_ENV, DETACHED_TMUX_HISTORY_LIMIT, isExistingTmuxWindowTooCrampedForLaunchHud, } from "../index.js";
|
|
11
11
|
import { mergeConfig, repairConfigIfNeeded } from "../../config/generator.js";
|
|
12
12
|
import { ensureReusableNodeModules } from "../../utils/repo-deps.js";
|
|
13
13
|
import { readAllState } from "../../hud/state.js";
|
|
14
14
|
import { generateOverlay } from "../../hooks/agents-overlay.js";
|
|
15
|
-
import { HUD_TMUX_HEIGHT_LINES } from "../../hud/constants.js";
|
|
15
|
+
import { HUD_TMUX_HEIGHT_LINES, HUD_TMUX_MIN_LAUNCH_WINDOW_HEIGHT_LINES } from "../../hud/constants.js";
|
|
16
16
|
import { createHudWatchPane as createSharedHudWatchPane, listCurrentWindowHudPaneIds } from "../../hud/tmux.js";
|
|
17
17
|
import { DEFAULT_FRONTIER_MODEL, getTeamLowComplexityModel, } from "../../config/models.js";
|
|
18
18
|
const testDir = dirname(fileURLToPath(import.meta.url));
|
|
@@ -1937,7 +1937,19 @@ describe("tmux HUD pane helpers", () => {
|
|
|
1937
1937
|
"-t",
|
|
1938
1938
|
"%leader",
|
|
1939
1939
|
"-F",
|
|
1940
|
-
|
|
1940
|
+
[
|
|
1941
|
+
"#{pane_id}",
|
|
1942
|
+
"#{pane_current_command}",
|
|
1943
|
+
"#{pane_left}",
|
|
1944
|
+
"#{pane_top}",
|
|
1945
|
+
"#{pane_width}",
|
|
1946
|
+
"#{pane_height}",
|
|
1947
|
+
"#{pane_bottom}",
|
|
1948
|
+
"#{window_width}",
|
|
1949
|
+
"#{window_height}",
|
|
1950
|
+
"#{pane_start_command}",
|
|
1951
|
+
"#{pane_current_path}",
|
|
1952
|
+
].join("\x1f"),
|
|
1941
1953
|
]);
|
|
1942
1954
|
});
|
|
1943
1955
|
it("createHudWatchPane splits from the emitting pane target when provided", () => {
|
|
@@ -2076,6 +2088,134 @@ describe("detached tmux new-session sequencing", () => {
|
|
|
2076
2088
|
assert.match(envScript, /export IS_GAJAE_SLOP_GENERATOR='1'/);
|
|
2077
2089
|
assert.doesNotMatch(envScript, /not-a-shell-name/);
|
|
2078
2090
|
});
|
|
2091
|
+
it("creates a repo-local omx command shim for launched Codex sessions", async () => {
|
|
2092
|
+
const cwd = await mkdtemp(join(tmpdir(), "omx-runtime-command-shim-"));
|
|
2093
|
+
try {
|
|
2094
|
+
const shimDir = ensureOmxRuntimeCommandShim(cwd, "/repo/dist/cli/omx.js", "/usr/local/bin/node");
|
|
2095
|
+
const shimPath = omxRuntimeCommandShimPath(cwd);
|
|
2096
|
+
assert.equal(shimDir, dirname(shimPath));
|
|
2097
|
+
assert.equal(existsSync(shimPath), true);
|
|
2098
|
+
assert.equal(await readFile(shimPath, "utf-8"), [
|
|
2099
|
+
"#!/bin/sh",
|
|
2100
|
+
`exec '/usr/local/bin/node' '/repo/dist/cli/omx.js' "$@"`,
|
|
2101
|
+
"",
|
|
2102
|
+
].join("\n"));
|
|
2103
|
+
assert.equal((await stat(shimPath)).mode & 0o700, 0o700);
|
|
2104
|
+
}
|
|
2105
|
+
finally {
|
|
2106
|
+
await rm(cwd, { recursive: true, force: true });
|
|
2107
|
+
}
|
|
2108
|
+
});
|
|
2109
|
+
it("prepends the repo-local omx shim before global PATH entries", async () => {
|
|
2110
|
+
const cwd = await mkdtemp(join(tmpdir(), "omx-runtime-command-shim-env-"));
|
|
2111
|
+
try {
|
|
2112
|
+
const env = prependOmxRuntimeCommandShimToEnv(cwd, {
|
|
2113
|
+
PATH: "/opt/homebrew/bin:/usr/bin",
|
|
2114
|
+
OMX_ENTRY_PATH: "/opt/homebrew/lib/node_modules/oh-my-codex/dist/cli/omx.js",
|
|
2115
|
+
}, "/repo/dist/cli/omx.js", "/usr/local/bin/node");
|
|
2116
|
+
const shimDir = dirname(omxRuntimeCommandShimPath(cwd));
|
|
2117
|
+
assert.equal(env.PATH, `${shimDir}${delimiter}/opt/homebrew/bin:/usr/bin`);
|
|
2118
|
+
assert.equal(env.OMX_ENTRY_PATH, "/repo/dist/cli/omx.js");
|
|
2119
|
+
assert.equal(env.OMX_STARTUP_CWD, cwd);
|
|
2120
|
+
}
|
|
2121
|
+
finally {
|
|
2122
|
+
await rm(cwd, { recursive: true, force: true });
|
|
2123
|
+
}
|
|
2124
|
+
});
|
|
2125
|
+
it("executes the repo-local omx shim before a stale global omx with misleading success output", async () => {
|
|
2126
|
+
const cwd = await mkdtemp(join(tmpdir(), "omx-runtime-command-shim-exec-"));
|
|
2127
|
+
try {
|
|
2128
|
+
const fakeGlobalBin = join(cwd, "fake-global-bin");
|
|
2129
|
+
const fakeLocalBin = join(cwd, "fake local's $() ; bin");
|
|
2130
|
+
await mkdir(fakeGlobalBin);
|
|
2131
|
+
await mkdir(fakeLocalBin);
|
|
2132
|
+
const globalMarker = join(cwd, "GLOBAL_CALLED");
|
|
2133
|
+
const localMarker = join(cwd, "LOCAL_CALLED");
|
|
2134
|
+
const fakeGlobalOmx = join(fakeGlobalBin, "omx");
|
|
2135
|
+
const fakeNode = join(fakeLocalBin, "node runner");
|
|
2136
|
+
const localOmxEntry = join(fakeLocalBin, "omx entry's $() ;.js");
|
|
2137
|
+
await writeFile(fakeGlobalOmx, `#!/bin/sh
|
|
2138
|
+
printf 'global-called\\n' > "${globalMarker}"
|
|
2139
|
+
printf '{"success":true,"source":"global"}\\n'
|
|
2140
|
+
exit 0
|
|
2141
|
+
`);
|
|
2142
|
+
await chmod(fakeGlobalOmx, 0o755);
|
|
2143
|
+
await writeFile(fakeNode, `#!/bin/sh
|
|
2144
|
+
printf '%s\\n' "$@" > "${localMarker}"
|
|
2145
|
+
printf '{"success":true,"source":"local"}\\n'
|
|
2146
|
+
exit 0
|
|
2147
|
+
`);
|
|
2148
|
+
await chmod(fakeNode, 0o755);
|
|
2149
|
+
const env = prependOmxRuntimeCommandShimToEnv(cwd, { PATH: `${fakeGlobalBin}${delimiter}/usr/bin:/bin` }, localOmxEntry, fakeNode);
|
|
2150
|
+
const { execFileSync } = await import("node:child_process");
|
|
2151
|
+
const output = execFileSync("omx", ["team", "status", "hud-check"], {
|
|
2152
|
+
cwd,
|
|
2153
|
+
env,
|
|
2154
|
+
encoding: "utf-8",
|
|
2155
|
+
});
|
|
2156
|
+
assert.match(output, /"source":"local"/);
|
|
2157
|
+
assert.equal(existsSync(globalMarker), false);
|
|
2158
|
+
assert.deepEqual((await readFile(localMarker, "utf-8")).trim().split("\n"), [
|
|
2159
|
+
localOmxEntry,
|
|
2160
|
+
"team",
|
|
2161
|
+
"status",
|
|
2162
|
+
"hud-check",
|
|
2163
|
+
]);
|
|
2164
|
+
}
|
|
2165
|
+
finally {
|
|
2166
|
+
await rm(cwd, { recursive: true, force: true });
|
|
2167
|
+
}
|
|
2168
|
+
});
|
|
2169
|
+
it("overwrites stale runtime shim contents and permissions", async () => {
|
|
2170
|
+
const cwd = await mkdtemp(join(tmpdir(), "omx-runtime-command-shim-stale-"));
|
|
2171
|
+
try {
|
|
2172
|
+
const shimPath = omxRuntimeCommandShimPath(cwd);
|
|
2173
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2174
|
+
await writeFile(shimPath, "#!/bin/sh\necho stale-global\n");
|
|
2175
|
+
await chmod(shimPath, 0o600);
|
|
2176
|
+
ensureOmxRuntimeCommandShim(cwd, "/repo/dist/cli/omx.js", "/usr/local/bin/node");
|
|
2177
|
+
assert.equal(await readFile(shimPath, "utf-8"), [
|
|
2178
|
+
"#!/bin/sh",
|
|
2179
|
+
`exec '/usr/local/bin/node' '/repo/dist/cli/omx.js' "$@"`,
|
|
2180
|
+
"",
|
|
2181
|
+
].join("\n"));
|
|
2182
|
+
assert.equal((await stat(shimPath)).mode & 0o777, 0o700);
|
|
2183
|
+
}
|
|
2184
|
+
finally {
|
|
2185
|
+
await rm(cwd, { recursive: true, force: true });
|
|
2186
|
+
}
|
|
2187
|
+
});
|
|
2188
|
+
it("replaces a stale runtime shim symlink without following it", async () => {
|
|
2189
|
+
const cwd = await mkdtemp(join(tmpdir(), "omx-runtime-command-shim-symlink-"));
|
|
2190
|
+
try {
|
|
2191
|
+
if (process.platform === "win32")
|
|
2192
|
+
return;
|
|
2193
|
+
const shimPath = omxRuntimeCommandShimPath(cwd);
|
|
2194
|
+
const externalTarget = join(cwd, "outside-target");
|
|
2195
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2196
|
+
await writeFile(externalTarget, "do not overwrite\n");
|
|
2197
|
+
await symlink(externalTarget, shimPath);
|
|
2198
|
+
ensureOmxRuntimeCommandShim(cwd, "/repo/dist/cli/omx.js", "/usr/local/bin/node");
|
|
2199
|
+
assert.equal(await readFile(externalTarget, "utf-8"), "do not overwrite\n");
|
|
2200
|
+
assert.equal((await lstat(shimPath)).isSymbolicLink(), false);
|
|
2201
|
+
assert.match(await readFile(shimPath, "utf-8"), /\/repo\/dist\/cli\/omx\.js/);
|
|
2202
|
+
}
|
|
2203
|
+
finally {
|
|
2204
|
+
await rm(cwd, { recursive: true, force: true });
|
|
2205
|
+
}
|
|
2206
|
+
});
|
|
2207
|
+
it("throws when the runtime shim bin path is not a directory", async () => {
|
|
2208
|
+
const cwd = await mkdtemp(join(tmpdir(), "omx-runtime-command-shim-file-"));
|
|
2209
|
+
try {
|
|
2210
|
+
const shimPath = omxRuntimeCommandShimPath(cwd);
|
|
2211
|
+
await mkdir(dirname(dirname(shimPath)), { recursive: true });
|
|
2212
|
+
await writeFile(dirname(shimPath), "not a directory\n");
|
|
2213
|
+
assert.throws(() => ensureOmxRuntimeCommandShim(cwd, "/repo/dist/cli/omx.js", "/usr/local/bin/node"), /not a directory/);
|
|
2214
|
+
}
|
|
2215
|
+
finally {
|
|
2216
|
+
await rm(cwd, { recursive: true, force: true });
|
|
2217
|
+
}
|
|
2218
|
+
});
|
|
2079
2219
|
it("keeps detached tmux bootstrap bounded when no interactive parent env file is requested", () => {
|
|
2080
2220
|
const steps = buildDetachedSessionBootstrapSteps("omx-demo", "/tmp/project", "'codex' '--model' 'gpt-5'", "'node' '/tmp/omx.js' 'hud' '--watch'", null, undefined, null, false, "sess-detached-managed", undefined, undefined, undefined, { CUSTOM_LLM_API_KEY: "fake-provider-key" });
|
|
2081
2221
|
const newSession = steps.find((step) => step.name === "new-session");
|
|
@@ -2105,7 +2245,113 @@ describe("detached tmux new-session sequencing", () => {
|
|
|
2105
2245
|
});
|
|
2106
2246
|
it("runCodex registers a HUD resize hook immediately for inside-tmux launches", async () => {
|
|
2107
2247
|
const source = await readFile(join(repoRoot, 'src', 'cli', 'index.ts'), 'utf-8');
|
|
2108
|
-
assert.match(source, /
|
|
2248
|
+
assert.match(source, /registerInsideTmuxHudResizeHook\(\{\s*hudPaneId,\s*currentPaneId,\s*cwd,\s*sessionId,\s*omxRootOverride,\s*\}\)/);
|
|
2249
|
+
assert.match(source, /if \(currentPaneId\) \{\s*unregisterHudResizeHook\(currentPaneId\);\s*\}/);
|
|
2250
|
+
});
|
|
2251
|
+
it("buildInsideTmuxHudHookEnv tags hook commands with session, owner, leader, and local root", () => {
|
|
2252
|
+
const env = buildInsideTmuxHudHookEnv({ PATH: "/bin" }, "sess-a", "%leader", "/repo");
|
|
2253
|
+
assert.equal(env.PATH, "/bin");
|
|
2254
|
+
assert.equal(env.OMX_SESSION_ID, "sess-a");
|
|
2255
|
+
assert.equal(env.OMX_TMUX_HUD_OWNER, "1");
|
|
2256
|
+
assert.equal(env.OMX_TMUX_HUD_LEADER_PANE, "%leader");
|
|
2257
|
+
assert.equal(env.OMX_ROOT, "/repo");
|
|
2258
|
+
});
|
|
2259
|
+
it("registerInsideTmuxHudResizeHook forwards cwd and env to hook registration", () => {
|
|
2260
|
+
const calls = [];
|
|
2261
|
+
const result = registerInsideTmuxHudResizeHook({
|
|
2262
|
+
hudPaneId: "%hud",
|
|
2263
|
+
currentPaneId: "%leader",
|
|
2264
|
+
cwd: "/repo",
|
|
2265
|
+
sessionId: "sess-a",
|
|
2266
|
+
omxRootOverride: "/repo",
|
|
2267
|
+
baseEnv: { PATH: "/bin" },
|
|
2268
|
+
register: (hudPaneId, leaderPaneId, heightLines, options) => {
|
|
2269
|
+
calls.push({ hudPaneId, leaderPaneId, heightLines, cwd: options?.cwd, env: options?.env });
|
|
2270
|
+
return true;
|
|
2271
|
+
},
|
|
2272
|
+
});
|
|
2273
|
+
assert.equal(result, true);
|
|
2274
|
+
assert.deepEqual(calls, [{
|
|
2275
|
+
hudPaneId: "%hud",
|
|
2276
|
+
leaderPaneId: "%leader",
|
|
2277
|
+
heightLines: HUD_TMUX_HEIGHT_LINES,
|
|
2278
|
+
cwd: "/repo",
|
|
2279
|
+
env: {
|
|
2280
|
+
PATH: "/bin",
|
|
2281
|
+
OMX_SESSION_ID: "sess-a",
|
|
2282
|
+
OMX_TMUX_HUD_OWNER: "1",
|
|
2283
|
+
OMX_TMUX_HUD_LEADER_PANE: "%leader",
|
|
2284
|
+
OMX_ROOT: "/repo",
|
|
2285
|
+
},
|
|
2286
|
+
}]);
|
|
2287
|
+
assert.equal(registerInsideTmuxHudResizeHook({
|
|
2288
|
+
hudPaneId: null,
|
|
2289
|
+
currentPaneId: "%leader",
|
|
2290
|
+
cwd: "/repo",
|
|
2291
|
+
sessionId: "sess-a",
|
|
2292
|
+
register: () => {
|
|
2293
|
+
throw new Error("should not register without a HUD pane");
|
|
2294
|
+
},
|
|
2295
|
+
}), false);
|
|
2296
|
+
});
|
|
2297
|
+
it("buildDetachedHudHookEnv preserves tmux targeting and local launcher identity", () => {
|
|
2298
|
+
const env = buildDetachedHudHookEnv({ PATH: "/bin" }, "sess-a", "%leader", "/tmp/tmux.sock,123,7", "/repo/dist/cli/omx.js", "/repo");
|
|
2299
|
+
assert.equal(env.PATH, "/bin");
|
|
2300
|
+
assert.equal(env.TMUX, "/tmp/tmux.sock,123,7");
|
|
2301
|
+
assert.equal(env.TMUX_PANE, "%leader");
|
|
2302
|
+
assert.equal(env.OMX_SESSION_ID, "sess-a");
|
|
2303
|
+
assert.equal(env.OMX_TMUX_HUD_OWNER, "1");
|
|
2304
|
+
assert.equal(env.OMX_ROOT, "/repo");
|
|
2305
|
+
assert.equal(env.OMX_ENTRY_PATH, "/repo/dist/cli/omx.js");
|
|
2306
|
+
});
|
|
2307
|
+
it("registerDetachedHudLayoutReconcileHook reads TMUX from the detached leader pane before registering", () => {
|
|
2308
|
+
const calls = [];
|
|
2309
|
+
const readTargets = [];
|
|
2310
|
+
const result = registerDetachedHudLayoutReconcileHook({
|
|
2311
|
+
hudPaneId: "%hud",
|
|
2312
|
+
detachedLeaderPaneId: "%leader",
|
|
2313
|
+
cwd: "/repo",
|
|
2314
|
+
sessionId: "sess-a",
|
|
2315
|
+
omxBin: "/repo/dist/cli/omx.js",
|
|
2316
|
+
omxRootOverride: "/repo",
|
|
2317
|
+
baseEnv: { PATH: "/bin" },
|
|
2318
|
+
readTmuxEnvValue: (targetPaneId) => {
|
|
2319
|
+
readTargets.push(targetPaneId);
|
|
2320
|
+
return "/tmp/tmux.sock,123,7";
|
|
2321
|
+
},
|
|
2322
|
+
register: (hudPaneId, leaderPaneId, heightLines, options) => {
|
|
2323
|
+
calls.push({ hudPaneId, leaderPaneId, heightLines, cwd: options?.cwd, env: options?.env });
|
|
2324
|
+
return true;
|
|
2325
|
+
},
|
|
2326
|
+
});
|
|
2327
|
+
assert.equal(result, true);
|
|
2328
|
+
assert.deepEqual(readTargets, ["%leader"]);
|
|
2329
|
+
assert.deepEqual(calls, [{
|
|
2330
|
+
hudPaneId: "%hud",
|
|
2331
|
+
leaderPaneId: "%leader",
|
|
2332
|
+
heightLines: HUD_TMUX_HEIGHT_LINES,
|
|
2333
|
+
cwd: "/repo",
|
|
2334
|
+
env: {
|
|
2335
|
+
PATH: "/bin",
|
|
2336
|
+
TMUX: "/tmp/tmux.sock,123,7",
|
|
2337
|
+
TMUX_PANE: "%leader",
|
|
2338
|
+
OMX_SESSION_ID: "sess-a",
|
|
2339
|
+
OMX_TMUX_HUD_OWNER: "1",
|
|
2340
|
+
OMX_ROOT: "/repo",
|
|
2341
|
+
OMX_ENTRY_PATH: "/repo/dist/cli/omx.js",
|
|
2342
|
+
},
|
|
2343
|
+
}]);
|
|
2344
|
+
assert.equal(registerDetachedHudLayoutReconcileHook({
|
|
2345
|
+
hudPaneId: "%hud",
|
|
2346
|
+
detachedLeaderPaneId: "%leader",
|
|
2347
|
+
cwd: "/repo",
|
|
2348
|
+
sessionId: "sess-a",
|
|
2349
|
+
omxBin: "/repo/dist/cli/omx.js",
|
|
2350
|
+
readTmuxEnvValue: () => undefined,
|
|
2351
|
+
register: () => {
|
|
2352
|
+
throw new Error("should not register without TMUX");
|
|
2353
|
+
},
|
|
2354
|
+
}), false);
|
|
2109
2355
|
});
|
|
2110
2356
|
it("buildDetachedSessionBootstrapSteps starts native Windows detached sessions with powershell", () => {
|
|
2111
2357
|
const hudCmd = buildWindowsPromptCommand("node", [
|
|
@@ -3281,4 +3527,28 @@ describe("upsertTopLevelTomlString", () => {
|
|
|
3281
3527
|
assert.equal(updated, 'model_reasoning_effort = "xhigh"\n[tui]\nstatus_line = []\n');
|
|
3282
3528
|
});
|
|
3283
3529
|
});
|
|
3530
|
+
describe("isExistingTmuxWindowTooCrampedForLaunchHud (#2754)", () => {
|
|
3531
|
+
it("skips the launch-time HUD split for cramped existing tmux windows", () => {
|
|
3532
|
+
// The reported repro: a 160x41 existing tmux window where forcing the HUD
|
|
3533
|
+
// split dropped the Codex TUI to 38 rows and became unreadable.
|
|
3534
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(41), true);
|
|
3535
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(38), true);
|
|
3536
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(HUD_TMUX_MIN_LAUNCH_WINDOW_HEIGHT_LINES - 1), true);
|
|
3537
|
+
});
|
|
3538
|
+
it("keeps default HUD behavior for normal-height existing tmux windows", () => {
|
|
3539
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(HUD_TMUX_MIN_LAUNCH_WINDOW_HEIGHT_LINES), false);
|
|
3540
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(50), false);
|
|
3541
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(120), false);
|
|
3542
|
+
});
|
|
3543
|
+
it("creates the HUD when the window height is unknown or invalid", () => {
|
|
3544
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(null), false);
|
|
3545
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(undefined), false);
|
|
3546
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(0), false);
|
|
3547
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(Number.NaN), false);
|
|
3548
|
+
});
|
|
3549
|
+
it("honors an explicit minimum-height override", () => {
|
|
3550
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(41, 40), false);
|
|
3551
|
+
assert.equal(isExistingTmuxWindowTooCrampedForLaunchHud(39, 40), true);
|
|
3552
|
+
});
|
|
3553
|
+
});
|
|
3284
3554
|
//# sourceMappingURL=index.test.js.map
|