oh-my-codex 0.18.16 → 0.19.1
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 +5 -0
- package/crates/omx-sparkshell/tests/execution.rs +8 -1
- package/dist/agents/__tests__/definitions.test.js +5 -5
- package/dist/agents/__tests__/definitions.test.js.map +1 -1
- package/dist/agents/__tests__/native-config.test.js +18 -14
- package/dist/agents/__tests__/native-config.test.js.map +1 -1
- package/dist/agents/definitions.d.ts +2 -2
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +4 -4
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/native-config.d.ts +1 -0
- package/dist/agents/native-config.d.ts.map +1 -1
- package/dist/agents/native-config.js +18 -16
- package/dist/agents/native-config.js.map +1 -1
- package/dist/auth/hotswap.d.ts.map +1 -1
- package/dist/auth/hotswap.js +17 -4
- package/dist/auth/hotswap.js.map +1 -1
- package/dist/autopilot/__tests__/planner-routing.test.js +2 -2
- package/dist/autopilot/__tests__/planner-routing.test.js.map +1 -1
- package/dist/autopilot/fsm.d.ts +1 -1
- package/dist/autopilot/fsm.d.ts.map +1 -1
- package/dist/autopilot/fsm.js +1 -1
- package/dist/autopilot/fsm.js.map +1 -1
- package/dist/cli/__tests__/auth.test.js +78 -3
- package/dist/cli/__tests__/auth.test.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +30 -5
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- 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__/index.test.js +96 -8
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +135 -1
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-parity.test.js +2 -4
- package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
- package/dist/cli/__tests__/mission.test.d.ts +2 -0
- package/dist/cli/__tests__/mission.test.d.ts.map +1 -0
- package/dist/cli/__tests__/mission.test.js +239 -0
- package/dist/cli/__tests__/mission.test.js.map +1 -0
- package/dist/cli/__tests__/plugin-marketplace-idempotent.test.js +14 -0
- package/dist/cli/__tests__/plugin-marketplace-idempotent.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +8 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
- package/dist/cli/__tests__/resume.test.js +229 -1
- package/dist/cli/__tests__/resume.test.js.map +1 -1
- package/dist/cli/__tests__/session-scoped-runtime.test.js +113 -0
- package/dist/cli/__tests__/session-scoped-runtime.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +37 -0
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +22 -1
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/__tests__/version.test.js +13 -1
- package/dist/cli/__tests__/version.test.js.map +1 -1
- package/dist/cli/auth.d.ts +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +49 -9
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/index.d.ts +27 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +263 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mission.d.ts +36 -0
- package/dist/cli/mission.d.ts.map +1 -0
- package/dist/cli/mission.js +443 -0
- package/dist/cli/mission.js.map +1 -0
- package/dist/cli/plugin-marketplace.d.ts.map +1 -1
- package/dist/cli/plugin-marketplace.js +22 -1
- package/dist/cli/plugin-marketplace.js.map +1 -1
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +4 -0
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +3 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js +7 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js.map +1 -1
- package/dist/goal-workflows/codex-goal-snapshot.js +1 -1
- package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -1
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js +12 -0
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +267 -7
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +143 -30
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +121 -0
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/state.test.js +141 -6
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.js +1 -1
- package/dist/hud/__tests__/tmux.test.js.map +1 -1
- package/dist/hud/reconcile.d.ts +3 -1
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +281 -151
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +4 -2
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +51 -15
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/tmux.d.ts.map +1 -1
- package/dist/hud/tmux.js +1 -4
- package/dist/hud/tmux.js.map +1 -1
- package/dist/hud/types.d.ts +5 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js.map +1 -1
- package/dist/leader/__tests__/contract.test.d.ts +2 -0
- package/dist/leader/__tests__/contract.test.d.ts.map +1 -0
- package/dist/leader/__tests__/contract.test.js +75 -0
- package/dist/leader/__tests__/contract.test.js.map +1 -0
- package/dist/leader/contract.d.ts +26 -0
- package/dist/leader/contract.d.ts.map +1 -0
- package/dist/leader/contract.js +97 -0
- package/dist/leader/contract.js.map +1 -0
- package/dist/mcp/__tests__/state-paths.test.js +32 -1
- package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
- package/dist/mcp/state-paths.d.ts +4 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +6 -15
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +22 -7
- package/dist/modes/base.js.map +1 -1
- package/dist/notifications/__tests__/dispatcher.test.js +16 -0
- package/dist/notifications/__tests__/dispatcher.test.js.map +1 -1
- package/dist/notifications/__tests__/profiles.test.js +87 -0
- package/dist/notifications/__tests__/profiles.test.js.map +1 -1
- package/dist/notifications/config.d.ts +1 -0
- package/dist/notifications/config.d.ts.map +1 -1
- package/dist/notifications/config.js +60 -22
- package/dist/notifications/config.js.map +1 -1
- package/dist/notifications/dispatcher.d.ts.map +1 -1
- package/dist/notifications/dispatcher.js +6 -16
- package/dist/notifications/dispatcher.js.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +2 -0
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/stages/ultragoal.d.ts.map +1 -1
- package/dist/pipeline/stages/ultragoal.js +6 -1
- package/dist/pipeline/stages/ultragoal.js.map +1 -1
- package/dist/question/__tests__/renderer.test.js +58 -4
- package/dist/question/__tests__/renderer.test.js.map +1 -1
- package/dist/question/renderer.d.ts +1 -1
- package/dist/question/renderer.d.ts.map +1 -1
- package/dist/question/renderer.js +73 -5
- package/dist/question/renderer.js.map +1 -1
- package/dist/ralplan/__tests__/consensus-gate.test.js +193 -0
- package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
- package/dist/ralplan/__tests__/runtime.test.js +202 -0
- package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
- package/dist/ralplan/consensus-gate.js +24 -3
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/ralplan/runtime.d.ts +7 -0
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +63 -4
- package/dist/ralplan/runtime.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +6935 -2681
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- 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 +4442 -187
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/generate-catalog-docs.js +1 -0
- package/dist/scripts/generate-catalog-docs.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +1424 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/planning-gate.test.js +410 -0
- package/dist/state/__tests__/planning-gate.test.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.js +59 -0
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/operations.d.ts +10 -0
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +250 -14
- package/dist/state/operations.js.map +1 -1
- package/dist/state/skill-active.d.ts +4 -1
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +8 -6
- package/dist/state/skill-active.js.map +1 -1
- package/dist/state/workflow-transition.d.ts.map +1 -1
- package/dist/state/workflow-transition.js +642 -1
- package/dist/state/workflow-transition.js.map +1 -1
- package/dist/subagents/__tests__/tracker.test.js +248 -1
- package/dist/subagents/__tests__/tracker.test.js.map +1 -1
- package/dist/subagents/tracker.d.ts +60 -0
- package/dist/subagents/tracker.d.ts.map +1 -1
- package/dist/subagents/tracker.js +225 -1
- package/dist/subagents/tracker.js.map +1 -1
- package/dist/team/__tests__/model-contract.test.js +72 -4
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +44 -2
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +127 -8
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-runtime-identity.test.js +89 -0
- package/dist/team/__tests__/worker-runtime-identity.test.js.map +1 -1
- package/dist/team/model-contract.d.ts +3 -0
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +42 -5
- package/dist/team/model-contract.js.map +1 -1
- package/dist/team/runtime.d.ts +2 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +21 -11
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +13 -11
- package/dist/team/scaling.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 +63 -13
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/ultragoal/__tests__/artifacts.test.js +21 -4
- package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
- package/dist/ultragoal/artifacts.d.ts.map +1 -1
- package/dist/ultragoal/artifacts.js +75 -5
- package/dist/ultragoal/artifacts.js.map +1 -1
- package/dist/utils/__tests__/agents-model-table.test.js +2 -2
- package/dist/utils/__tests__/agents-model-table.test.js.map +1 -1
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/hooks/codex-native-hook.mjs +19 -7
- package/plugins/oh-my-codex/skills/code-review/SKILL.md +16 -0
- package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +23 -0
- package/plugins/oh-my-codex/skills/ultrawork/references/agent-tiers.md +3 -2
- package/skills/code-review/SKILL.md +16 -0
- package/skills/ecomode/references/agent-tiers.md +1 -1
- package/skills/ultragoal/SKILL.md +23 -0
- package/skills/ultrawork/references/agent-tiers.md +3 -2
- package/src/scripts/__tests__/codex-native-hook.test.ts +14843 -9586
- package/src/scripts/codex-native-hook.ts +4520 -194
- package/src/scripts/generate-catalog-docs.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.test.js","sourceRoot":"","sources":["../../../src/hud/__tests__/tmux.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux.test.js","sourceRoot":"","sources":["../../../src/hud/__tests__/tmux.test.ts"],"names":[],"mappings":"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"}
|
package/dist/hud/reconcile.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { type TmuxPaneSnapshot } from './tmux.js';
|
|
|
3
3
|
import { resolveOmxCliEntryPath } from '../utils/paths.js';
|
|
4
4
|
export declare const OMX_TMUX_HUD_OWNER_ENV = "OMX_TMUX_HUD_OWNER";
|
|
5
5
|
export interface ReconcileHudForPromptSubmitResult {
|
|
6
|
-
status: 'skipped_not_tmux' | 'skipped_no_entry' | 'skipped_not_omx_owned_tmux' | 'skipped_no_session_id' | 'skipped_window_too_cramped' | 'unchanged' | 'resized' | 'recreated' | 'replaced_duplicates' | 'failed';
|
|
6
|
+
status: 'skipped_not_tmux' | 'skipped_no_entry' | 'skipped_not_omx_owned_tmux' | 'skipped_no_session_id' | 'skipped_window_too_cramped' | 'unchanged' | 'resized' | 'recreated' | 'replaced_duplicates' | 'skipped_concurrent' | 'failed';
|
|
7
7
|
paneId: string | null;
|
|
8
8
|
desiredHeight: number | null;
|
|
9
9
|
duplicateCount: number;
|
|
@@ -32,6 +32,8 @@ export interface ReconcileHudForPromptSubmitDeps {
|
|
|
32
32
|
width: number | null;
|
|
33
33
|
height: number | null;
|
|
34
34
|
};
|
|
35
|
+
nowMs?: () => number;
|
|
36
|
+
isProcessLive?: (pid: number) => boolean | null;
|
|
35
37
|
}
|
|
36
38
|
export declare function reconcileHudForPromptSubmit(cwd: string, deps?: ReconcileHudForPromptSubmitDeps): Promise<ReconcileHudForPromptSubmitResult>;
|
|
37
39
|
//# sourceMappingURL=reconcile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/hud/reconcile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/hud/reconcile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAcL,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AA0F3D,MAAM,WAAW,iCAAiC;IAChD,MAAM,EACF,kBAAkB,GAClB,kBAAkB,GAClB,4BAA4B,GAC5B,uBAAuB,GACvB,4BAA4B,GAC5B,WAAW,GACX,SAAS,GACT,WAAW,GACX,qBAAqB,GACrB,oBAAoB,GACpB,QAAQ,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;IACxE,kBAAkB,CAAC,EAAE,CACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3E,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAClE,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,qBAAqB,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,KAChD,OAAO,CAAC;IACb,uBAAuB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;IACxE,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACpG,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;CACjD;AA0MD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,+BAAoC,GACzC,OAAO,CAAC,iCAAiC,CAAC,CAuP5C"}
|
package/dist/hud/reconcile.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { mkdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
1
4
|
import { readAllState, readHudConfig } from './state.js';
|
|
2
5
|
import { getHudRenderMaxLines } from './render.js';
|
|
3
6
|
import { HUD_TMUX_HEIGHT_LINES, isTmuxWindowTooCrampedForHudSplit } from './constants.js';
|
|
@@ -131,6 +134,114 @@ function planOwnedHudPaneDedupe(panes, currentPaneId, owner, preferredPaneId) {
|
|
|
131
134
|
duplicatePaneIds: ownedPaneIds.filter((paneId) => paneId !== keeperPaneId),
|
|
132
135
|
};
|
|
133
136
|
}
|
|
137
|
+
const HUD_RECONCILE_LOCK_STALE_MS = 10_000;
|
|
138
|
+
function parseIsoMs(value) {
|
|
139
|
+
if (typeof value !== 'string' || !value.trim())
|
|
140
|
+
return null;
|
|
141
|
+
const parsed = Date.parse(value);
|
|
142
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
143
|
+
}
|
|
144
|
+
function defaultIsProcessLive(pid) {
|
|
145
|
+
try {
|
|
146
|
+
process.kill(pid, 0);
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
const code = error?.code;
|
|
151
|
+
if (code === 'ESRCH')
|
|
152
|
+
return false;
|
|
153
|
+
if (code === 'EPERM')
|
|
154
|
+
return true;
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async function readHudReconcileLockOwner(lockPath) {
|
|
159
|
+
return readFile(join(lockPath, 'owner.json'), 'utf-8')
|
|
160
|
+
.then((content) => JSON.parse(content))
|
|
161
|
+
.catch(() => null);
|
|
162
|
+
}
|
|
163
|
+
async function tryCreateHudReconcileLock(lockPath, nowMs) {
|
|
164
|
+
const token = randomUUID();
|
|
165
|
+
let createdDir = false;
|
|
166
|
+
try {
|
|
167
|
+
await mkdir(lockPath, { recursive: false });
|
|
168
|
+
createdDir = true;
|
|
169
|
+
await writeFile(join(lockPath, 'owner.json'), JSON.stringify({
|
|
170
|
+
token,
|
|
171
|
+
pid: process.pid,
|
|
172
|
+
acquired_at: new Date(nowMs).toISOString(),
|
|
173
|
+
}, null, 2));
|
|
174
|
+
return { path: lockPath, token };
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
if (createdDir)
|
|
178
|
+
await rm(lockPath, { recursive: true, force: true }).catch(() => { });
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
async function restoreMovedLock(fromPath, toPath) {
|
|
183
|
+
const restored = await rename(fromPath, toPath).then(() => true).catch(() => false);
|
|
184
|
+
if (!restored)
|
|
185
|
+
await rm(fromPath, { recursive: true, force: true }).catch(() => { });
|
|
186
|
+
}
|
|
187
|
+
async function acquireHudReconcileLock(lockPath, nowMs, staleMs, isProcessLive) {
|
|
188
|
+
const created = await tryCreateHudReconcileLock(lockPath, nowMs);
|
|
189
|
+
if (created)
|
|
190
|
+
return created;
|
|
191
|
+
const observedOwner = await readHudReconcileLockOwner(lockPath);
|
|
192
|
+
const lockStat = await stat(lockPath).catch(() => null);
|
|
193
|
+
if (!lockStat)
|
|
194
|
+
return null;
|
|
195
|
+
const ownerPid = typeof observedOwner?.pid === 'number' && Number.isInteger(observedOwner.pid) && observedOwner.pid > 0
|
|
196
|
+
? observedOwner.pid
|
|
197
|
+
: null;
|
|
198
|
+
const ownerAcquiredMs = parseIsoMs(observedOwner?.acquired_at);
|
|
199
|
+
const lockAgeMs = ownerAcquiredMs === null ? nowMs - lockStat.mtimeMs : nowMs - ownerAcquiredMs;
|
|
200
|
+
if (lockAgeMs <= staleMs)
|
|
201
|
+
return null;
|
|
202
|
+
if (ownerPid !== null) {
|
|
203
|
+
const liveness = isProcessLive(ownerPid);
|
|
204
|
+
if (liveness !== false)
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
const reapPath = `${lockPath}.stale.${process.pid}.${nowMs}.${randomUUID()}`;
|
|
208
|
+
try {
|
|
209
|
+
await rename(lockPath, reapPath);
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
const reapedOwner = await readHudReconcileLockOwner(reapPath);
|
|
215
|
+
const reapedStat = await stat(reapPath).catch(() => null);
|
|
216
|
+
const reapedOwnerAcquiredMs = parseIsoMs(reapedOwner?.acquired_at);
|
|
217
|
+
const reapedAgeMs = reapedOwnerAcquiredMs === null && reapedStat
|
|
218
|
+
? nowMs - reapedStat.mtimeMs
|
|
219
|
+
: reapedOwnerAcquiredMs === null ? 0 : nowMs - reapedOwnerAcquiredMs;
|
|
220
|
+
const reapedObservedLock = observedOwner?.token === reapedOwner?.token
|
|
221
|
+
&& reapedStat?.mtimeMs === lockStat.mtimeMs
|
|
222
|
+
&& reapedAgeMs > staleMs;
|
|
223
|
+
if (!reapedObservedLock) {
|
|
224
|
+
await restoreMovedLock(reapPath, lockPath);
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
await rm(reapPath, { recursive: true, force: true }).catch(() => { });
|
|
228
|
+
return tryCreateHudReconcileLock(lockPath, nowMs);
|
|
229
|
+
}
|
|
230
|
+
async function releaseHudReconcileLock(lock) {
|
|
231
|
+
const releasePath = `${lock.path}.release.${process.pid}.${Date.now()}.${lock.token}`;
|
|
232
|
+
try {
|
|
233
|
+
await rename(lock.path, releasePath);
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const releaseOwner = await readHudReconcileLockOwner(releasePath);
|
|
239
|
+
if (releaseOwner?.token === lock.token) {
|
|
240
|
+
await rm(releasePath, { recursive: true, force: true }).catch(() => { });
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
await restoreMovedLock(releasePath, lock.path);
|
|
244
|
+
}
|
|
134
245
|
export async function reconcileHudForPromptSubmit(cwd, deps = {}) {
|
|
135
246
|
const env = deps.env ?? process.env;
|
|
136
247
|
if (!env.TMUX) {
|
|
@@ -163,178 +274,197 @@ export async function reconcileHudForPromptSubmit(cwd, deps = {}) {
|
|
|
163
274
|
const createPane = deps.createHudWatchPane ?? ((hudCwd, hudCmd, options) => createHudWatchPane(hudCwd, hudCmd, options));
|
|
164
275
|
const killPane = deps.killTmuxPane ?? ((paneId) => killTmuxPane(paneId));
|
|
165
276
|
const resizePane = deps.resizeTmuxPane ?? ((paneId, lines) => resizeTmuxPane(paneId, lines));
|
|
166
|
-
const
|
|
167
|
-
const
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
]
|
|
173
|
-
.map((sessionId) => sessionId?.trim() ?? '')
|
|
174
|
-
.filter((sessionId, index, sessionIds) => sessionId !== '' && sessionIds.indexOf(sessionId) === index);
|
|
175
|
-
let panes = listPanes(currentPaneId);
|
|
176
|
-
// Reclaim orphaned HUD panes left behind by a destroyed leader before deciding
|
|
177
|
-
// whether a HUD already exists; otherwise dead-leader HUDs accumulate one per
|
|
178
|
-
// prompt submit and the window fills with stacked HUD strips.
|
|
179
|
-
const reapedOrphanPaneIds = reapOrphanedSessionHudPanes(panes, {
|
|
180
|
-
sessionId: resolvedSessionId,
|
|
181
|
-
sessionIds: equivalentSessionIds,
|
|
182
|
-
currentPaneId,
|
|
183
|
-
killPane,
|
|
184
|
-
});
|
|
185
|
-
if (reapedOrphanPaneIds.length > 0) {
|
|
186
|
-
const reapedPaneIdSet = new Set(reapedOrphanPaneIds);
|
|
187
|
-
panes = panes.filter((pane) => !reapedPaneIdSet.has(pane.paneId));
|
|
188
|
-
}
|
|
189
|
-
// A Codex self-update can restart/resume the leader in the same tmux pane with
|
|
190
|
-
// a new OMX session id while the old HUD watcher stays alive. That stale HUD
|
|
191
|
-
// still names the current leader pane, but with the previous session id, so it
|
|
192
|
-
// does not match same-owner dedupe and the next launch would create a second HUD
|
|
193
|
-
// beside it. Reap only HUDs tied to this exact leader pane; neighboring panes'
|
|
194
|
-
// HUDs remain isolated by leaderPaneId.
|
|
195
|
-
const reapedStaleLeaderPaneIds = reapStaleCurrentLeaderHudPanes(panes, {
|
|
196
|
-
sessionIds: equivalentSessionIds,
|
|
197
|
-
currentPaneId,
|
|
198
|
-
killPane,
|
|
199
|
-
});
|
|
200
|
-
if (reapedStaleLeaderPaneIds.length > 0) {
|
|
201
|
-
const reapedPaneIdSet = new Set(reapedStaleLeaderPaneIds);
|
|
202
|
-
panes = panes.filter((pane) => !reapedPaneIdSet.has(pane.paneId));
|
|
203
|
-
}
|
|
204
|
-
const owner = {
|
|
205
|
-
sessionId: resolvedSessionId,
|
|
206
|
-
sessionIds: equivalentSessionIds,
|
|
207
|
-
leaderPaneId: currentPaneId,
|
|
208
|
-
};
|
|
209
|
-
const hudPaneIds = [
|
|
210
|
-
...findHudWatchPaneIds(panes, currentPaneId, owner),
|
|
211
|
-
...findLegacyFocusedHudWatchPaneIds(panes, currentPaneId),
|
|
212
|
-
].filter((paneId, index, paneIds) => paneIds.indexOf(paneId) === index);
|
|
213
|
-
const duplicateCount = Math.max(0, hudPaneIds.length - 1);
|
|
214
|
-
const readHudConfigFn = deps.readHudConfig ?? readHudConfig;
|
|
215
|
-
const hudConfig = await readHudConfigFn(cwd).catch(() => null);
|
|
216
|
-
const readAllStateFn = deps.readAllState ?? readAllState;
|
|
217
|
-
const hudState = hudConfig ? await readAllStateFn(cwd, hudConfig).catch(() => null) : null;
|
|
218
|
-
const desiredHeight = hudState ? getHudRenderMaxLines(hudState) : HUD_TMUX_HEIGHT_LINES;
|
|
219
|
-
const preset = hudConfig?.preset;
|
|
220
|
-
const hudCmd = buildHudWatchCommand(omxBin, preset, resolvedSessionId, env.OMX_ROOT, currentPaneId, {
|
|
221
|
-
omxStateRoot: env.OMX_STATE_ROOT,
|
|
222
|
-
omxTeamStateRoot: env.OMX_TEAM_STATE_ROOT,
|
|
223
|
-
rootSource: env.OMX_TEAM_STATE_ROOT ? 'team-env' : env.OMX_ROOT ? 'omx-root-env' : env.OMX_STATE_ROOT ? 'omx-state-root-env' : 'cwd-default',
|
|
224
|
-
});
|
|
225
|
-
const leaderPane = currentPaneId
|
|
226
|
-
? panes.find((pane) => pane.paneId === currentPaneId && !isHudWatchPane(pane))
|
|
227
|
-
: undefined;
|
|
228
|
-
const singleHudPane = hudPaneIds.length === 1
|
|
229
|
-
? panes.find((pane) => pane.paneId === hudPaneIds[0])
|
|
230
|
-
: undefined;
|
|
231
|
-
if (singleHudPane && !needsHudTopologyRecreate(singleHudPane, leaderPane)) {
|
|
232
|
-
const shouldResize = needsHudHeightResize(singleHudPane, desiredHeight);
|
|
233
|
-
const resized = shouldResize ? resizePane(singleHudPane.paneId, desiredHeight) : true;
|
|
234
|
-
if (resized)
|
|
235
|
-
ensureHudResizeHook(singleHudPane.paneId, currentPaneId, desiredHeight, cwd, deps);
|
|
277
|
+
const lockPath = join(cwd, '.omx', 'state', 'hud-reconcile.lock');
|
|
278
|
+
const lockDirReady = await mkdir(dirname(lockPath), { recursive: true }).then(() => true).catch(() => false);
|
|
279
|
+
const lock = lockDirReady
|
|
280
|
+
? await acquireHudReconcileLock(lockPath, deps.nowMs?.() ?? Date.now(), HUD_RECONCILE_LOCK_STALE_MS, deps.isProcessLive ?? defaultIsProcessLive)
|
|
281
|
+
: null;
|
|
282
|
+
if (lockDirReady && !lock) {
|
|
236
283
|
return {
|
|
237
|
-
status:
|
|
238
|
-
paneId:
|
|
239
|
-
desiredHeight,
|
|
240
|
-
duplicateCount,
|
|
284
|
+
status: 'skipped_concurrent',
|
|
285
|
+
paneId: null,
|
|
286
|
+
desiredHeight: null,
|
|
287
|
+
duplicateCount: 0,
|
|
241
288
|
};
|
|
242
289
|
}
|
|
243
|
-
|
|
244
|
-
const
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
290
|
+
try {
|
|
291
|
+
const currentPaneId = env.TMUX_PANE?.trim();
|
|
292
|
+
const resolvedSessionId = deps.sessionId?.trim() || env.OMX_SESSION_ID?.trim() || undefined;
|
|
293
|
+
const equivalentSessionIds = [
|
|
294
|
+
resolvedSessionId,
|
|
295
|
+
env.OMX_SESSION_ID?.trim(),
|
|
296
|
+
...(deps.sessionIds ?? []),
|
|
297
|
+
]
|
|
298
|
+
.map((sessionId) => sessionId?.trim() ?? '')
|
|
299
|
+
.filter((sessionId, index, sessionIds) => sessionId !== '' && sessionIds.indexOf(sessionId) === index);
|
|
300
|
+
let panes = listPanes(currentPaneId);
|
|
301
|
+
// Reclaim orphaned HUD panes left behind by a destroyed leader before deciding
|
|
302
|
+
// whether a HUD already exists; otherwise dead-leader HUDs accumulate one per
|
|
303
|
+
// prompt submit and the window fills with stacked HUD strips.
|
|
304
|
+
const reapedOrphanPaneIds = reapOrphanedSessionHudPanes(panes, {
|
|
305
|
+
sessionId: resolvedSessionId,
|
|
306
|
+
sessionIds: equivalentSessionIds,
|
|
307
|
+
currentPaneId,
|
|
308
|
+
killPane,
|
|
309
|
+
});
|
|
310
|
+
if (reapedOrphanPaneIds.length > 0) {
|
|
311
|
+
const reapedPaneIdSet = new Set(reapedOrphanPaneIds);
|
|
312
|
+
panes = panes.filter((pane) => !reapedPaneIdSet.has(pane.paneId));
|
|
313
|
+
}
|
|
314
|
+
// A Codex self-update can restart/resume the leader in the same tmux pane with
|
|
315
|
+
// a new OMX session id while the old HUD watcher stays alive. That stale HUD
|
|
316
|
+
// still names the current leader pane, but with the previous session id, so it
|
|
317
|
+
// does not match same-owner dedupe and the next launch would create a second HUD
|
|
318
|
+
// beside it. Reap only HUDs tied to this exact leader pane; neighboring panes'
|
|
319
|
+
// HUDs remain isolated by leaderPaneId.
|
|
320
|
+
const reapedStaleLeaderPaneIds = reapStaleCurrentLeaderHudPanes(panes, {
|
|
321
|
+
sessionIds: equivalentSessionIds,
|
|
322
|
+
currentPaneId,
|
|
323
|
+
killPane,
|
|
324
|
+
});
|
|
325
|
+
if (reapedStaleLeaderPaneIds.length > 0) {
|
|
326
|
+
const reapedPaneIdSet = new Set(reapedStaleLeaderPaneIds);
|
|
327
|
+
panes = panes.filter((pane) => !reapedPaneIdSet.has(pane.paneId));
|
|
328
|
+
}
|
|
329
|
+
const owner = {
|
|
330
|
+
sessionId: resolvedSessionId,
|
|
331
|
+
sessionIds: equivalentSessionIds,
|
|
332
|
+
leaderPaneId: currentPaneId,
|
|
333
|
+
};
|
|
334
|
+
const hudPaneIds = [
|
|
335
|
+
...findHudWatchPaneIds(panes, currentPaneId, owner),
|
|
336
|
+
...findLegacyFocusedHudWatchPaneIds(panes, currentPaneId),
|
|
337
|
+
].filter((paneId, index, paneIds) => paneIds.indexOf(paneId) === index);
|
|
338
|
+
const duplicateCount = Math.max(0, hudPaneIds.length - 1);
|
|
339
|
+
const readHudConfigFn = deps.readHudConfig ?? readHudConfig;
|
|
340
|
+
const hudConfig = await readHudConfigFn(cwd).catch(() => null);
|
|
341
|
+
const readAllStateFn = deps.readAllState ?? readAllState;
|
|
342
|
+
const hudState = hudConfig ? await readAllStateFn(cwd, hudConfig).catch(() => null) : null;
|
|
343
|
+
const desiredHeight = hudState ? getHudRenderMaxLines(hudState) : HUD_TMUX_HEIGHT_LINES;
|
|
344
|
+
const preset = hudConfig?.preset;
|
|
345
|
+
const hudCmd = buildHudWatchCommand(omxBin, preset, resolvedSessionId, env.OMX_ROOT, currentPaneId, {
|
|
346
|
+
omxStateRoot: env.OMX_STATE_ROOT,
|
|
347
|
+
omxTeamStateRoot: env.OMX_TEAM_STATE_ROOT,
|
|
348
|
+
rootSource: env.OMX_TEAM_STATE_ROOT ? 'team-env' : env.OMX_ROOT ? 'omx-root-env' : env.OMX_STATE_ROOT ? 'omx-state-root-env' : 'cwd-default',
|
|
349
|
+
});
|
|
350
|
+
const leaderPane = currentPaneId
|
|
351
|
+
? panes.find((pane) => pane.paneId === currentPaneId && !isHudWatchPane(pane))
|
|
352
|
+
: undefined;
|
|
353
|
+
const singleHudPane = hudPaneIds.length === 1
|
|
354
|
+
? panes.find((pane) => pane.paneId === hudPaneIds[0])
|
|
355
|
+
: undefined;
|
|
356
|
+
if (singleHudPane && !needsHudTopologyRecreate(singleHudPane, leaderPane)) {
|
|
357
|
+
const shouldResize = needsHudHeightResize(singleHudPane, desiredHeight);
|
|
358
|
+
const resized = shouldResize ? resizePane(singleHudPane.paneId, desiredHeight) : true;
|
|
253
359
|
if (resized)
|
|
254
|
-
ensureHudResizeHook(
|
|
360
|
+
ensureHudResizeHook(singleHudPane.paneId, currentPaneId, desiredHeight, cwd, deps);
|
|
255
361
|
return {
|
|
256
|
-
status: resized ? '
|
|
257
|
-
paneId:
|
|
362
|
+
status: resized ? (shouldResize ? 'resized' : 'unchanged') : 'failed',
|
|
363
|
+
paneId: singleHudPane.paneId,
|
|
258
364
|
desiredHeight,
|
|
259
365
|
duplicateCount,
|
|
260
366
|
};
|
|
261
367
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
const
|
|
283
|
-
|
|
284
|
-
|
|
368
|
+
if (hudPaneIds.length > 1) {
|
|
369
|
+
const hudPanes = hudPaneIds
|
|
370
|
+
.map((paneId) => panes.find((pane) => pane.paneId === paneId))
|
|
371
|
+
.filter((pane) => Boolean(pane));
|
|
372
|
+
const keeperPane = hudPanes.find((pane) => !needsHudTopologyRecreate(pane, leaderPane));
|
|
373
|
+
if (keeperPane) {
|
|
374
|
+
for (const paneId of hudPaneIds.filter((paneId) => paneId !== keeperPane.paneId)) {
|
|
375
|
+
killPane(paneId);
|
|
376
|
+
}
|
|
377
|
+
const resized = resizePane(keeperPane.paneId, desiredHeight);
|
|
378
|
+
if (resized)
|
|
379
|
+
ensureHudResizeHook(keeperPane.paneId, currentPaneId, desiredHeight, cwd, deps);
|
|
380
|
+
return {
|
|
381
|
+
status: resized ? 'replaced_duplicates' : 'failed',
|
|
382
|
+
paneId: keeperPane.paneId,
|
|
383
|
+
desiredHeight,
|
|
384
|
+
duplicateCount,
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
const createFullWidth = hudPaneIds
|
|
389
|
+
.map((paneId) => panes.find((pane) => pane.paneId === paneId))
|
|
390
|
+
.some((pane) => Boolean(pane && needsHudTopologyRecreate(pane, leaderPane)))
|
|
391
|
+
&& (!leaderPane || shouldCreateFullWidthHud(leaderPane));
|
|
392
|
+
if (!resolvedSessionId) {
|
|
285
393
|
return {
|
|
286
|
-
status: '
|
|
394
|
+
status: 'skipped_no_session_id',
|
|
287
395
|
paneId: null,
|
|
288
396
|
desiredHeight,
|
|
289
397
|
duplicateCount,
|
|
290
398
|
};
|
|
291
399
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
400
|
+
// When there is no existing HUD pane to keep/recreate, this reconcile would
|
|
401
|
+
// create a fresh HUD split. Mirror the launch-time guard: if the current tmux
|
|
402
|
+
// window is too short, skip the split so the first prompt submit cannot
|
|
403
|
+
// recreate the cramped, unreadable 2-line HUD the launch path already
|
|
404
|
+
// declined to add. Default behavior is preserved for normal/unknown heights.
|
|
405
|
+
// (closes #2754)
|
|
406
|
+
if (hudPaneIds.length === 0 && (deps.readCurrentWindowSize || !deps.listCurrentWindowPanes)) {
|
|
407
|
+
const readWindowSize = deps.readCurrentWindowSize ?? ((paneId) => readCurrentWindowSize(undefined, paneId));
|
|
408
|
+
const windowHeight = readWindowSize(currentPaneId).height;
|
|
409
|
+
if (isTmuxWindowTooCrampedForHudSplit(windowHeight)) {
|
|
410
|
+
return {
|
|
411
|
+
status: 'skipped_window_too_cramped',
|
|
412
|
+
paneId: null,
|
|
413
|
+
desiredHeight,
|
|
414
|
+
duplicateCount,
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
const unregisterHook = deps.unregisterHudResizeHook ?? unregisterHudResizeHook;
|
|
419
|
+
unregisterHook(currentPaneId);
|
|
420
|
+
const removedHudPaneIds = new Set();
|
|
421
|
+
for (const paneId of hudPaneIds) {
|
|
422
|
+
if (killPane(paneId))
|
|
423
|
+
removedHudPaneIds.add(paneId);
|
|
424
|
+
}
|
|
425
|
+
const createOptions = {
|
|
426
|
+
heightLines: desiredHeight,
|
|
427
|
+
targetPaneId: currentPaneId,
|
|
313
428
|
};
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
429
|
+
if (createFullWidth)
|
|
430
|
+
createOptions.fullWidth = true;
|
|
431
|
+
const paneId = createPane(cwd, hudCmd, createOptions);
|
|
432
|
+
if (!paneId) {
|
|
433
|
+
return {
|
|
434
|
+
status: 'failed',
|
|
435
|
+
paneId: null,
|
|
436
|
+
desiredHeight,
|
|
437
|
+
duplicateCount,
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
// A launch-path restore and prompt-submit reconciliation can both observe
|
|
441
|
+
// "no HUD" before either split-window has materialized. Re-scan after create
|
|
442
|
+
// and collapse same-owner panes so the second creator cleans up the race
|
|
443
|
+
// instead of leaving a duplicate HUD in the user window.
|
|
444
|
+
const postCreate = planOwnedHudPaneDedupe(listPanes(currentPaneId).filter((pane) => !removedHudPaneIds.has(pane.paneId)), currentPaneId, owner, paneId);
|
|
445
|
+
for (const duplicatePaneId of postCreate.duplicatePaneIds) {
|
|
446
|
+
killPane(duplicatePaneId);
|
|
447
|
+
}
|
|
448
|
+
const resized = resizePane(postCreate.paneId, desiredHeight);
|
|
449
|
+
if (!resized) {
|
|
450
|
+
return {
|
|
451
|
+
status: 'failed',
|
|
452
|
+
paneId: postCreate.paneId,
|
|
453
|
+
desiredHeight,
|
|
454
|
+
duplicateCount: postCreate.duplicatePaneIds.length,
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
ensureHudResizeHook(postCreate.paneId, currentPaneId, desiredHeight, cwd, deps);
|
|
325
458
|
return {
|
|
326
|
-
status: '
|
|
459
|
+
status: postCreate.duplicatePaneIds.length > 0 || hudPaneIds.length > 1 ? 'replaced_duplicates' : 'recreated',
|
|
327
460
|
paneId: postCreate.paneId,
|
|
328
461
|
desiredHeight,
|
|
329
462
|
duplicateCount: postCreate.duplicatePaneIds.length,
|
|
330
463
|
};
|
|
331
464
|
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
desiredHeight,
|
|
337
|
-
duplicateCount: postCreate.duplicatePaneIds.length,
|
|
338
|
-
};
|
|
465
|
+
finally {
|
|
466
|
+
if (lock)
|
|
467
|
+
await releaseHudReconcileLock(lock);
|
|
468
|
+
}
|
|
339
469
|
}
|
|
340
470
|
//# sourceMappingURL=reconcile.js.map
|