oh-my-codex 0.12.4 → 0.12.6
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 +27 -3
- package/dist/cli/__tests__/ask.test.js +26 -0
- package/dist/cli/__tests__/ask.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +28 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/explore.test.js +95 -8
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +102 -4
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +169 -0
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-parity.test.js +31 -0
- package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.js +66 -2
- package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +51 -1
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +148 -3
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/uninstall.test.js +14 -1
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/cleanup.js +1 -1
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/constants.d.ts +1 -0
- package/dist/cli/constants.d.ts.map +1 -1
- package/dist/cli/constants.js +1 -0
- package/dist/cli/constants.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +15 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/explore.d.ts +1 -0
- package/dist/cli/explore.d.ts.map +1 -1
- package/dist/cli/explore.js +49 -1
- 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 +127 -14
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-parity.d.ts +1 -1
- package/dist/cli/mcp-parity.d.ts.map +1 -1
- package/dist/cli/mcp-parity.js +24 -0
- package/dist/cli/mcp-parity.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +17 -5
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +80 -6
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +1 -0
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +60 -0
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/mcp-registry.test.js +61 -0
- package/dist/config/__tests__/mcp-registry.test.js.map +1 -1
- package/dist/config/__tests__/wiki-config-contract.test.d.ts +2 -0
- package/dist/config/__tests__/wiki-config-contract.test.d.ts.map +1 -0
- package/dist/config/__tests__/wiki-config-contract.test.js +19 -0
- package/dist/config/__tests__/wiki-config-contract.test.js.map +1 -0
- package/dist/config/generator.d.ts +1 -0
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +88 -3
- package/dist/config/generator.js.map +1 -1
- package/dist/config/mcp-registry.d.ts +2 -0
- package/dist/config/mcp-registry.d.ts.map +1 -1
- package/dist/config/mcp-registry.js +12 -0
- package/dist/config/mcp-registry.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +39 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +297 -4
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +392 -22
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +166 -67
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +112 -2
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-modules.test.js +52 -12
- package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-regression-205.test.d.ts +2 -3
- package/dist/hooks/__tests__/notify-hook-regression-205.test.d.ts.map +1 -1
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js +18 -23
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-session-scope.test.js +33 -0
- package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +176 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +355 -7
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +90 -2
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
- package/dist/hooks/__tests__/session.test.js +142 -2
- package/dist/hooks/__tests__/session.test.js.map +1 -1
- package/dist/hooks/__tests__/wiki-docs-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/wiki-docs-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/wiki-docs-contract.test.js +34 -0
- package/dist/hooks/__tests__/wiki-docs-contract.test.js.map +1 -0
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +0 -1
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/dispatcher.test.js +32 -0
- package/dist/hooks/extensibility/__tests__/dispatcher.test.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/runtime.test.js +31 -0
- package/dist/hooks/extensibility/__tests__/runtime.test.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/sdk.test.js +33 -3
- package/dist/hooks/extensibility/__tests__/sdk.test.js.map +1 -1
- package/dist/hooks/extensibility/dispatcher.d.ts.map +1 -1
- package/dist/hooks/extensibility/dispatcher.js +41 -0
- package/dist/hooks/extensibility/dispatcher.js.map +1 -1
- package/dist/hooks/extensibility/sdk/runtime-state.d.ts.map +1 -1
- package/dist/hooks/extensibility/sdk/runtime-state.js +7 -1
- package/dist/hooks/extensibility/sdk/runtime-state.js.map +1 -1
- package/dist/hooks/extensibility/types.d.ts +1 -0
- package/dist/hooks/extensibility/types.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.d.ts +6 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +207 -10
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/keyword-registry.d.ts.map +1 -1
- package/dist/hooks/keyword-registry.js +3 -0
- package/dist/hooks/keyword-registry.js.map +1 -1
- package/dist/hooks/session.d.ts +14 -2
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +120 -16
- package/dist/hooks/session.js.map +1 -1
- package/dist/hud/__tests__/state.test.js +111 -2
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +18 -21
- package/dist/hud/state.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +88 -1
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/server-lifecycle.test.js +3 -0
- package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
- package/dist/mcp/__tests__/state-paths.test.js +30 -2
- package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +415 -0
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/__tests__/wiki-server.test.d.ts +2 -0
- package/dist/mcp/__tests__/wiki-server.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/wiki-server.test.js +30 -0
- package/dist/mcp/__tests__/wiki-server.test.js.map +1 -0
- package/dist/mcp/bootstrap.d.ts +19 -1
- package/dist/mcp/bootstrap.d.ts.map +1 -1
- package/dist/mcp/bootstrap.js +185 -0
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/state-paths.d.ts +5 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +41 -11
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/mcp/state-server.d.ts +4 -4
- package/dist/mcp/state-server.d.ts.map +1 -1
- package/dist/mcp/state-server.js +49 -2
- package/dist/mcp/state-server.js.map +1 -1
- package/dist/mcp/wiki-server.d.ts +181 -0
- package/dist/mcp/wiki-server.d.ts.map +1 -0
- package/dist/mcp/wiki-server.js +235 -0
- package/dist/mcp/wiki-server.js.map +1 -0
- package/dist/modes/__tests__/base-autoresearch-contract.test.js +74 -2
- package/dist/modes/__tests__/base-autoresearch-contract.test.js.map +1 -1
- package/dist/modes/__tests__/base-multi-state-compat.test.d.ts +2 -0
- package/dist/modes/__tests__/base-multi-state-compat.test.d.ts.map +1 -0
- package/dist/modes/__tests__/base-multi-state-compat.test.js +38 -0
- package/dist/modes/__tests__/base-multi-state-compat.test.js.map +1 -0
- package/dist/modes/__tests__/base-tmux-pane.test.js +1 -1
- package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
- package/dist/modes/base.d.ts +2 -1
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +55 -31
- package/dist/modes/base.js.map +1 -1
- package/dist/notifications/__tests__/formatter.test.js +11 -0
- package/dist/notifications/__tests__/formatter.test.js.map +1 -1
- package/dist/notifications/__tests__/idle-cooldown.test.js +32 -1
- package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -1
- package/dist/notifications/__tests__/index.test.d.ts +2 -0
- package/dist/notifications/__tests__/index.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/index.test.js +113 -0
- package/dist/notifications/__tests__/index.test.js.map +1 -0
- package/dist/notifications/__tests__/lifecycle-dedupe.test.d.ts +2 -0
- package/dist/notifications/__tests__/lifecycle-dedupe.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/lifecycle-dedupe.test.js +86 -0
- package/dist/notifications/__tests__/lifecycle-dedupe.test.js.map +1 -0
- package/dist/notifications/__tests__/reply-listener.test.js +174 -0
- package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
- package/dist/notifications/__tests__/session-idle-tail-dedupe.test.d.ts +2 -0
- package/dist/notifications/__tests__/session-idle-tail-dedupe.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/session-idle-tail-dedupe.test.js +93 -0
- package/dist/notifications/__tests__/session-idle-tail-dedupe.test.js.map +1 -0
- package/dist/notifications/__tests__/session-registry.test.js +48 -1
- package/dist/notifications/__tests__/session-registry.test.js.map +1 -1
- package/dist/notifications/__tests__/session-status.test.d.ts +2 -0
- package/dist/notifications/__tests__/session-status.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/session-status.test.js +159 -0
- package/dist/notifications/__tests__/session-status.test.js.map +1 -0
- package/dist/notifications/__tests__/tmux.test.js +58 -1
- package/dist/notifications/__tests__/tmux.test.js.map +1 -1
- package/dist/notifications/idle-cooldown.d.ts +11 -0
- package/dist/notifications/idle-cooldown.d.ts.map +1 -1
- package/dist/notifications/idle-cooldown.js +42 -8
- package/dist/notifications/idle-cooldown.js.map +1 -1
- package/dist/notifications/index.d.ts +1 -1
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +41 -8
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/lifecycle-dedupe.d.ts +8 -0
- package/dist/notifications/lifecycle-dedupe.d.ts.map +1 -0
- package/dist/notifications/lifecycle-dedupe.js +112 -0
- package/dist/notifications/lifecycle-dedupe.js.map +1 -0
- package/dist/notifications/reply-listener.d.ts +10 -1
- package/dist/notifications/reply-listener.d.ts.map +1 -1
- package/dist/notifications/reply-listener.js +49 -11
- package/dist/notifications/reply-listener.js.map +1 -1
- package/dist/notifications/session-registry.d.ts.map +1 -1
- package/dist/notifications/session-registry.js +7 -1
- package/dist/notifications/session-registry.js.map +1 -1
- package/dist/notifications/session-status.d.ts +23 -0
- package/dist/notifications/session-status.d.ts.map +1 -0
- package/dist/notifications/session-status.js +187 -0
- package/dist/notifications/session-status.js.map +1 -0
- package/dist/notifications/tmux.d.ts +10 -0
- package/dist/notifications/tmux.d.ts.map +1 -1
- package/dist/notifications/tmux.js +59 -5
- package/dist/notifications/tmux.js.map +1 -1
- package/dist/notifications/types.d.ts +2 -0
- package/dist/notifications/types.d.ts.map +1 -1
- package/dist/openclaw/__tests__/index.test.js +84 -0
- package/dist/openclaw/__tests__/index.test.js.map +1 -1
- package/dist/openclaw/index.d.ts.map +1 -1
- package/dist/openclaw/index.js +7 -14
- package/dist/openclaw/index.js.map +1 -1
- package/dist/openclaw/types.d.ts +2 -2
- package/dist/openclaw/types.d.ts.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +692 -40
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.d.ts +2 -0
- package/dist/scripts/__tests__/hook-derived-watcher.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/hook-derived-watcher.test.js +87 -0
- package/dist/scripts/__tests__/hook-derived-watcher.test.js.map +1 -0
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +309 -77
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/hook-derived-watcher.js +43 -1
- package/dist/scripts/hook-derived-watcher.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +95 -21
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/active-team.d.ts +9 -0
- package/dist/scripts/notify-hook/active-team.d.ts.map +1 -0
- package/dist/scripts/notify-hook/active-team.js +44 -0
- package/dist/scripts/notify-hook/active-team.js.map +1 -0
- package/dist/scripts/notify-hook/auto-nudge.d.ts +5 -3
- package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.js +121 -78
- package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
- package/dist/scripts/notify-hook/managed-tmux.js +18 -4
- package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
- package/dist/scripts/notify-hook/operational-events.d.ts.map +1 -1
- package/dist/scripts/notify-hook/operational-events.js +21 -0
- package/dist/scripts/notify-hook/operational-events.js.map +1 -1
- package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -1
- package/dist/scripts/notify-hook/ralph-session-resume.js +3 -2
- package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -1
- package/dist/scripts/notify-hook/state-io.d.ts +10 -1
- package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
- package/dist/scripts/notify-hook/state-io.js +56 -12
- package/dist/scripts/notify-hook/state-io.js.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.js +305 -167
- package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +87 -15
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.js +11 -2
- package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
- package/dist/scripts/notify-hook.js +26 -16
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/scripts/run-provider-advisor.js +20 -2
- package/dist/scripts/run-provider-advisor.js.map +1 -1
- package/dist/scripts/smoke-packed-install.d.ts +1 -8
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +12 -68
- package/dist/scripts/smoke-packed-install.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +113 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.js +35 -0
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/__tests__/workflow-transition.test.d.ts +2 -0
- package/dist/state/__tests__/workflow-transition.test.d.ts.map +1 -0
- package/dist/state/__tests__/workflow-transition.test.js +56 -0
- package/dist/state/__tests__/workflow-transition.test.js.map +1 -0
- package/dist/state/operations.d.ts +1 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +88 -2
- package/dist/state/operations.js.map +1 -1
- package/dist/state/skill-active.d.ts +2 -2
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +119 -33
- package/dist/state/skill-active.js.map +1 -1
- package/dist/state/workflow-transition-reconcile.d.ts +15 -0
- package/dist/state/workflow-transition-reconcile.d.ts.map +1 -0
- package/dist/state/workflow-transition-reconcile.js +100 -0
- package/dist/state/workflow-transition-reconcile.js.map +1 -0
- package/dist/state/workflow-transition.d.ts +22 -0
- package/dist/state/workflow-transition.d.ts.map +1 -0
- package/dist/state/workflow-transition.js +188 -0
- package/dist/state/workflow-transition.js.map +1 -0
- package/dist/team/__tests__/api-interop.test.js +90 -0
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/current-task-baseline.test.d.ts +2 -0
- package/dist/team/__tests__/current-task-baseline.test.d.ts.map +1 -0
- package/dist/team/__tests__/current-task-baseline.test.js +87 -0
- package/dist/team/__tests__/current-task-baseline.test.js.map +1 -0
- package/dist/team/__tests__/hardening-e2e.test.js +17 -0
- package/dist/team/__tests__/hardening-e2e.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +673 -65
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/shutdown-fallback.test.js +11 -1
- package/dist/team/__tests__/shutdown-fallback.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +447 -4
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +10 -1
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/current-task-baseline.d.ts +32 -0
- package/dist/team/current-task-baseline.d.ts.map +1 -0
- package/dist/team/current-task-baseline.js +85 -0
- package/dist/team/current-task-baseline.js.map +1 -0
- 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/leader-activity.d.ts +1 -0
- package/dist/team/leader-activity.d.ts.map +1 -1
- package/dist/team/leader-activity.js +4 -2
- package/dist/team/leader-activity.js.map +1 -1
- package/dist/team/progress-evidence.d.ts +2 -0
- package/dist/team/progress-evidence.d.ts.map +1 -0
- package/dist/team/progress-evidence.js +77 -0
- package/dist/team/progress-evidence.js.map +1 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +269 -64
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +1 -1
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +2 -13
- package/dist/team/state.js.map +1 -1
- package/dist/team/tmux-session.d.ts +12 -3
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +174 -20
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worktree.d.ts +6 -1
- package/dist/team/worktree.d.ts.map +1 -1
- package/dist/team/worktree.js +28 -4
- package/dist/team/worktree.js.map +1 -1
- package/dist/utils/__tests__/agents-md.test.js +21 -1
- package/dist/utils/__tests__/agents-md.test.js.map +1 -1
- package/dist/utils/__tests__/repo-deps.test.d.ts +2 -0
- package/dist/utils/__tests__/repo-deps.test.d.ts.map +1 -0
- package/dist/utils/__tests__/repo-deps.test.js +71 -0
- package/dist/utils/__tests__/repo-deps.test.js.map +1 -0
- package/dist/utils/agents-md.d.ts +1 -0
- package/dist/utils/agents-md.d.ts.map +1 -1
- package/dist/utils/agents-md.js +7 -3
- package/dist/utils/agents-md.js.map +1 -1
- package/dist/utils/paths.d.ts +4 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +20 -0
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/repo-deps.d.ts +20 -0
- package/dist/utils/repo-deps.d.ts.map +1 -0
- package/dist/utils/repo-deps.js +78 -0
- package/dist/utils/repo-deps.js.map +1 -0
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.d.ts +2 -0
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.d.ts.map +1 -0
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js +54 -0
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js.map +1 -0
- package/dist/wiki/__tests__/cjk-tokenize.test.d.ts +12 -0
- package/dist/wiki/__tests__/cjk-tokenize.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/cjk-tokenize.test.js +139 -0
- package/dist/wiki/__tests__/cjk-tokenize.test.js.map +1 -0
- package/dist/wiki/__tests__/crlf-parse.test.d.ts +2 -0
- package/dist/wiki/__tests__/crlf-parse.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/crlf-parse.test.js +24 -0
- package/dist/wiki/__tests__/crlf-parse.test.js.map +1 -0
- package/dist/wiki/__tests__/escape-newline.test.d.ts +2 -0
- package/dist/wiki/__tests__/escape-newline.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/escape-newline.test.js +45 -0
- package/dist/wiki/__tests__/escape-newline.test.js.map +1 -0
- package/dist/wiki/__tests__/ingest.test.d.ts +5 -0
- package/dist/wiki/__tests__/ingest.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/ingest.test.js +181 -0
- package/dist/wiki/__tests__/ingest.test.js.map +1 -0
- package/dist/wiki/__tests__/lint.test.d.ts +5 -0
- package/dist/wiki/__tests__/lint.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/lint.test.js +163 -0
- package/dist/wiki/__tests__/lint.test.js.map +1 -0
- package/dist/wiki/__tests__/query.test.d.ts +5 -0
- package/dist/wiki/__tests__/query.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/query.test.js +141 -0
- package/dist/wiki/__tests__/query.test.js.map +1 -0
- package/dist/wiki/__tests__/reserved-file-guard.test.d.ts +2 -0
- package/dist/wiki/__tests__/reserved-file-guard.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/reserved-file-guard.test.js +44 -0
- package/dist/wiki/__tests__/reserved-file-guard.test.js.map +1 -0
- package/dist/wiki/__tests__/session-hooks.test.d.ts +5 -0
- package/dist/wiki/__tests__/session-hooks.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/session-hooks.test.js +36 -0
- package/dist/wiki/__tests__/session-hooks.test.js.map +1 -0
- package/dist/wiki/__tests__/slug-nonascii.test.d.ts +2 -0
- package/dist/wiki/__tests__/slug-nonascii.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/slug-nonascii.test.js +24 -0
- package/dist/wiki/__tests__/slug-nonascii.test.js.map +1 -0
- package/dist/wiki/__tests__/storage.test.d.ts +5 -0
- package/dist/wiki/__tests__/storage.test.d.ts.map +1 -0
- package/dist/wiki/__tests__/storage.test.js +278 -0
- package/dist/wiki/__tests__/storage.test.js.map +1 -0
- package/dist/wiki/__tests__/test-helpers.d.ts +31 -0
- package/dist/wiki/__tests__/test-helpers.d.ts.map +1 -0
- package/dist/wiki/__tests__/test-helpers.js +108 -0
- package/dist/wiki/__tests__/test-helpers.js.map +1 -0
- package/dist/wiki/index.d.ts +14 -0
- package/dist/wiki/index.d.ts.map +1 -0
- package/dist/wiki/index.js +17 -0
- package/dist/wiki/index.js.map +1 -0
- package/dist/wiki/ingest.d.ts +20 -0
- package/dist/wiki/ingest.d.ts.map +1 -0
- package/dist/wiki/ingest.js +115 -0
- package/dist/wiki/ingest.js.map +1 -0
- package/dist/wiki/lifecycle.d.ts +20 -0
- package/dist/wiki/lifecycle.d.ts.map +1 -0
- package/dist/wiki/lifecycle.js +212 -0
- package/dist/wiki/lifecycle.js.map +1 -0
- package/dist/wiki/lint.d.ts +25 -0
- package/dist/wiki/lint.d.ts.map +1 -0
- package/dist/wiki/lint.js +166 -0
- package/dist/wiki/lint.js.map +1 -0
- package/dist/wiki/query.d.ts +36 -0
- package/dist/wiki/query.d.ts.map +1 -0
- package/dist/wiki/query.js +138 -0
- package/dist/wiki/query.js.map +1 -0
- package/dist/wiki/storage.d.ts +33 -0
- package/dist/wiki/storage.d.ts.map +1 -0
- package/dist/wiki/storage.js +321 -0
- package/dist/wiki/storage.js.map +1 -0
- package/dist/wiki/types.d.ts +83 -0
- package/dist/wiki/types.d.ts.map +1 -0
- package/dist/wiki/types.js +15 -0
- package/dist/wiki/types.js.map +1 -0
- package/package.json +3 -1
- package/skills/configure-notifications/SKILL.md +1 -0
- package/skills/doctor/SKILL.md +11 -0
- package/skills/omx-setup/SKILL.md +1 -1
- package/skills/wiki/SKILL.md +57 -0
- package/src/scripts/__tests__/codex-native-hook.test.ts +920 -56
- package/src/scripts/__tests__/hook-derived-watcher.test.ts +111 -0
- package/src/scripts/codex-native-hook.ts +377 -83
- package/src/scripts/hook-derived-watcher.ts +43 -1
- package/src/scripts/notify-fallback-watcher.ts +99 -20
- package/src/scripts/notify-hook/active-team.ts +54 -0
- package/src/scripts/notify-hook/auto-nudge.ts +132 -79
- package/src/scripts/notify-hook/managed-tmux.ts +22 -4
- package/src/scripts/notify-hook/operational-events.ts +21 -0
- package/src/scripts/notify-hook/ralph-session-resume.ts +3 -2
- package/src/scripts/notify-hook/state-io.ts +89 -12
- package/src/scripts/notify-hook/team-dispatch.ts +326 -168
- package/src/scripts/notify-hook/team-leader-nudge.ts +91 -14
- package/src/scripts/notify-hook/tmux-injection.ts +11 -2
- package/src/scripts/notify-hook.ts +36 -22
- package/src/scripts/run-provider-advisor.ts +20 -2
- package/src/scripts/smoke-packed-install.ts +16 -83
- package/templates/AGENTS.md +3 -4
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAUlE,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -26,11 +26,13 @@ import { autoresearchCommand } from "./autoresearch.js";
|
|
|
26
26
|
import { mcpParityCommand } from "./mcp-parity.js";
|
|
27
27
|
import { MADMAX_FLAG, CODEX_BYPASS_FLAG, HIGH_REASONING_FLAG, XHIGH_REASONING_FLAG, SPARK_FLAG, MADMAX_SPARK_FLAG, CONFIG_FLAG, LONG_CONFIG_FLAG, } from "./constants.js";
|
|
28
28
|
import { getBaseStateDir, getStateDir, listModeStateFilesWithScopePreference, } from "../mcp/state-paths.js";
|
|
29
|
+
import { SKILL_ACTIVE_STATE_MODE, syncCanonicalSkillStateForMode } from "../state/skill-active.js";
|
|
30
|
+
import { isTrackedWorkflowMode } from "../state/workflow-transition.js";
|
|
29
31
|
import { maybeCheckAndPromptUpdate } from "./update.js";
|
|
30
32
|
import { maybePromptGithubStar } from "./star-prompt.js";
|
|
31
33
|
import { generateOverlay, removeSessionModelInstructionsFile, resolveSessionOrchestrationMode, sessionModelInstructionsPath, writeSessionModelInstructionsFile, } from "../hooks/agents-overlay.js";
|
|
32
34
|
import { readSessionState, writeSessionStart, writeSessionEnd, resetSessionMetrics, } from "../hooks/session.js";
|
|
33
|
-
import { buildClientAttachedReconcileHookName, buildReconcileHudResizeArgs, buildRegisterClientAttachedReconcileArgs, buildRegisterResizeHookArgs, buildResizeHookName, buildResizeHookTarget, buildScheduleDelayedHudResizeArgs, buildUnregisterClientAttachedReconcileArgs, buildUnregisterResizeHookArgs, enableMouseScrolling, isMsysOrGitBash, isNativeWindows, isTmuxAvailable, } from "../team/tmux-session.js";
|
|
35
|
+
import { buildClientAttachedReconcileHookName, buildReconcileHudResizeArgs, buildRegisterClientAttachedReconcileArgs, buildRegisterResizeHookArgs, buildResizeHookName, buildResizeHookTarget, buildScheduleDelayedHudResizeArgs, buildUnregisterClientAttachedReconcileArgs, buildUnregisterResizeHookArgs, enableMouseScrolling, isMsysOrGitBash, isNativeWindows, isTmuxAvailable, mitigateCopyModeUnderlineArtifacts, } from "../team/tmux-session.js";
|
|
34
36
|
import { getPackageRoot } from "../utils/package.js";
|
|
35
37
|
import { codexConfigPath, rememberOmxLaunchContext, resolveOmxEntryPath } from "../utils/paths.js";
|
|
36
38
|
import { repairConfigIfNeeded } from "../config/generator.js";
|
|
@@ -43,6 +45,7 @@ import { buildHookEvent } from "../hooks/extensibility/events.js";
|
|
|
43
45
|
import { dispatchHookEvent } from "../hooks/extensibility/dispatcher.js";
|
|
44
46
|
import { collectInheritableTeamWorkerArgs as collectInheritableTeamWorkerArgsShared, resolveTeamWorkerLaunchArgs, resolveTeamLowComplexityDefaultModel, } from "../team/model-contract.js";
|
|
45
47
|
import { parseWorktreeMode, planWorktreeTarget, ensureWorktree, } from "../team/worktree.js";
|
|
48
|
+
import { ensureReusableNodeModules } from "../utils/repo-deps.js";
|
|
46
49
|
import { OMX_NOTIFY_TEMP_CONTRACT_ENV, parseNotifyTempContractFromArgs, serializeNotifyTempContract, } from "../notifications/temp-contract.js";
|
|
47
50
|
export function resolveNotifyFallbackWatcherScript(pkgRoot = getPackageRoot()) {
|
|
48
51
|
return resolveDistScript(pkgRoot, "notify-fallback-watcher.js");
|
|
@@ -90,6 +93,7 @@ Usage:
|
|
|
90
93
|
omx trace CLI parity for OMX trace MCP tools
|
|
91
94
|
omx code-intel
|
|
92
95
|
CLI parity for OMX code-intel MCP tools
|
|
96
|
+
omx wiki CLI parity for OMX wiki MCP tools
|
|
93
97
|
omx sparkshell <command> [args...]
|
|
94
98
|
omx sparkshell --tmux-pane <pane-id> [--tail-lines <100-1000>]
|
|
95
99
|
Run native sparkshell sidecar for direct command execution or explicit tmux-pane summarization
|
|
@@ -156,6 +160,7 @@ const ALLOWED_SHELLS = new Set([
|
|
|
156
160
|
"/usr/local/bin/bash",
|
|
157
161
|
"/usr/local/bin/zsh",
|
|
158
162
|
"/usr/local/bin/fish",
|
|
163
|
+
"/opt/homebrew/bin/zsh",
|
|
159
164
|
]);
|
|
160
165
|
const WINDOWS_DETACHED_BOOTSTRAP_DELAY_MS = 2500;
|
|
161
166
|
const CODEX_VERSION_FLAGS = new Set(["--version", "-V"]);
|
|
@@ -175,6 +180,7 @@ const NESTED_HELP_COMMANDS = new Set([
|
|
|
175
180
|
"hooks",
|
|
176
181
|
"hud",
|
|
177
182
|
"state",
|
|
183
|
+
"wiki",
|
|
178
184
|
"ralph",
|
|
179
185
|
"resume",
|
|
180
186
|
"session",
|
|
@@ -225,6 +231,12 @@ export function resolveCodexHomeForLaunch(cwd, env = process.env) {
|
|
|
225
231
|
}
|
|
226
232
|
return undefined;
|
|
227
233
|
}
|
|
234
|
+
export function resolveCodexConfigPathForLaunch(cwd, env = process.env) {
|
|
235
|
+
const codexHomeOverride = resolveCodexHomeForLaunch(cwd, env);
|
|
236
|
+
return codexHomeOverride
|
|
237
|
+
? join(codexHomeOverride, "config.toml")
|
|
238
|
+
: codexConfigPath();
|
|
239
|
+
}
|
|
228
240
|
export function resolveSetupScopeArg(args) {
|
|
229
241
|
let value;
|
|
230
242
|
for (let index = 0; index < args.length; index += 1) {
|
|
@@ -535,6 +547,9 @@ export async function main(args) {
|
|
|
535
547
|
case "code-intel":
|
|
536
548
|
await mcpParityCommand("code-intel", args.slice(1));
|
|
537
549
|
break;
|
|
550
|
+
case "wiki":
|
|
551
|
+
await mcpParityCommand("wiki", args.slice(1));
|
|
552
|
+
break;
|
|
538
553
|
case "tmux-hook":
|
|
539
554
|
await tmuxHookCommand(args.slice(1));
|
|
540
555
|
break;
|
|
@@ -668,15 +683,28 @@ export async function launchWithHud(args) {
|
|
|
668
683
|
const workerSparkModel = resolveWorkerSparkModel(notifyTempResult.passthroughArgs, codexHomeOverride);
|
|
669
684
|
const normalizedArgs = normalizeCodexLaunchArgs(notifyTempResult.passthroughArgs);
|
|
670
685
|
let cwd = launchCwd;
|
|
686
|
+
let worktreeDirty = false;
|
|
671
687
|
if (parsedWorktree.mode.enabled) {
|
|
672
688
|
const planned = planWorktreeTarget({
|
|
673
689
|
cwd: launchCwd,
|
|
674
690
|
scope: "launch",
|
|
675
691
|
mode: parsedWorktree.mode,
|
|
676
692
|
});
|
|
677
|
-
const ensured = ensureWorktree(planned);
|
|
693
|
+
const ensured = ensureWorktree(planned, { allowDirtyReuse: true });
|
|
678
694
|
if (ensured.enabled) {
|
|
679
695
|
cwd = ensured.worktreePath;
|
|
696
|
+
if (ensured.dirty) {
|
|
697
|
+
worktreeDirty = true;
|
|
698
|
+
process.stderr.write(`[omx] Caution: worktree at ${cwd} has uncommitted changes.\n` +
|
|
699
|
+
` The session will launch as-is. Resolve the dirty state with OMX after launch, then proceed with your task.\n`);
|
|
700
|
+
}
|
|
701
|
+
const depBootstrap = ensureReusableNodeModules(cwd);
|
|
702
|
+
if (depBootstrap.strategy === "symlink") {
|
|
703
|
+
console.log(`[omx] Reusing node_modules from ${depBootstrap.sourceNodeModulesPath}`);
|
|
704
|
+
}
|
|
705
|
+
else if (depBootstrap.strategy === "missing" && depBootstrap.warning) {
|
|
706
|
+
console.warn(`[omx] ${depBootstrap.warning}`);
|
|
707
|
+
}
|
|
680
708
|
}
|
|
681
709
|
}
|
|
682
710
|
const sessionId = `omx-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
@@ -699,7 +727,7 @@ export async function launchWithHud(args) {
|
|
|
699
727
|
// have written a config.toml with duplicate [tui] sections. Codex CLI's
|
|
700
728
|
// TOML parser rejects duplicates, so we repair before spawning the CLI.
|
|
701
729
|
try {
|
|
702
|
-
const repaired = await repairConfigIfNeeded(
|
|
730
|
+
const repaired = await repairConfigIfNeeded(resolveCodexConfigPathForLaunch(launchCwd, process.env), getPackageRoot());
|
|
703
731
|
if (repaired) {
|
|
704
732
|
console.log("[omx] Repaired managed config.toml compatibility issue.");
|
|
705
733
|
}
|
|
@@ -709,7 +737,7 @@ export async function launchWithHud(args) {
|
|
|
709
737
|
}
|
|
710
738
|
// ── Phase 1: preLaunch ──────────────────────────────────────────────────
|
|
711
739
|
try {
|
|
712
|
-
await preLaunch(cwd, sessionId, notifyTempResult.contract, codexHomeOverride, enableNotifyFallbackAuthority);
|
|
740
|
+
await preLaunch(cwd, sessionId, notifyTempResult.contract, codexHomeOverride, enableNotifyFallbackAuthority, worktreeDirty);
|
|
713
741
|
}
|
|
714
742
|
catch (err) {
|
|
715
743
|
// preLaunch errors must NOT prevent Codex from starting
|
|
@@ -734,15 +762,28 @@ export async function execWithOverlay(args) {
|
|
|
734
762
|
const codexHomeOverride = resolveCodexHomeForLaunch(launchCwd, process.env);
|
|
735
763
|
const normalizedArgs = normalizeCodexLaunchArgs(notifyTempResult.passthroughArgs);
|
|
736
764
|
let cwd = launchCwd;
|
|
765
|
+
let worktreeDirty = false;
|
|
737
766
|
if (parsedWorktree.mode.enabled) {
|
|
738
767
|
const planned = planWorktreeTarget({
|
|
739
768
|
cwd: launchCwd,
|
|
740
769
|
scope: "launch",
|
|
741
770
|
mode: parsedWorktree.mode,
|
|
742
771
|
});
|
|
743
|
-
const ensured = ensureWorktree(planned);
|
|
772
|
+
const ensured = ensureWorktree(planned, { allowDirtyReuse: true });
|
|
744
773
|
if (ensured.enabled) {
|
|
745
774
|
cwd = ensured.worktreePath;
|
|
775
|
+
if (ensured.dirty) {
|
|
776
|
+
worktreeDirty = true;
|
|
777
|
+
process.stderr.write(`[omx] Caution: worktree at ${cwd} has uncommitted changes.\n` +
|
|
778
|
+
` The session will launch as-is. Resolve the dirty state with OMX after launch, then proceed with your task.\n`);
|
|
779
|
+
}
|
|
780
|
+
const depBootstrap = ensureReusableNodeModules(cwd);
|
|
781
|
+
if (depBootstrap.strategy === "symlink") {
|
|
782
|
+
console.log(`[omx] Reusing node_modules from ${depBootstrap.sourceNodeModulesPath}`);
|
|
783
|
+
}
|
|
784
|
+
else if (depBootstrap.strategy === "missing" && depBootstrap.warning) {
|
|
785
|
+
console.warn(`[omx] ${depBootstrap.warning}`);
|
|
786
|
+
}
|
|
746
787
|
}
|
|
747
788
|
}
|
|
748
789
|
const sessionId = `omx-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
@@ -759,7 +800,7 @@ export async function execWithOverlay(args) {
|
|
|
759
800
|
process.stderr.write(`[cli/index] operation failed: ${err}\n`);
|
|
760
801
|
}
|
|
761
802
|
try {
|
|
762
|
-
const repaired = await repairConfigIfNeeded(
|
|
803
|
+
const repaired = await repairConfigIfNeeded(resolveCodexConfigPathForLaunch(launchCwd, process.env), getPackageRoot());
|
|
763
804
|
if (repaired) {
|
|
764
805
|
console.log("[omx] Repaired managed config.toml compatibility issue.");
|
|
765
806
|
}
|
|
@@ -768,7 +809,7 @@ export async function execWithOverlay(args) {
|
|
|
768
809
|
// Non-fatal
|
|
769
810
|
}
|
|
770
811
|
try {
|
|
771
|
-
await preLaunch(cwd, sessionId, notifyTempResult.contract, codexHomeOverride, true);
|
|
812
|
+
await preLaunch(cwd, sessionId, notifyTempResult.contract, codexHomeOverride, true, worktreeDirty);
|
|
772
813
|
}
|
|
773
814
|
catch (err) {
|
|
774
815
|
console.error(`[omx] preLaunch warning: ${err instanceof Error ? err.message : err}`);
|
|
@@ -1361,6 +1402,10 @@ export function buildDetachedSessionFinalizeSteps(sessionName, hudPaneId, hookWi
|
|
|
1361
1402
|
name: "set-mouse",
|
|
1362
1403
|
args: ["set-option", "-t", sessionName, "mouse", "on"],
|
|
1363
1404
|
});
|
|
1405
|
+
steps.push({
|
|
1406
|
+
name: "sanitize-copy-mode-style",
|
|
1407
|
+
args: [],
|
|
1408
|
+
});
|
|
1364
1409
|
}
|
|
1365
1410
|
steps.push({
|
|
1366
1411
|
name: "attach-session",
|
|
@@ -1501,6 +1546,16 @@ function buildRecoveredPostLaunchModeState(mode, completedAt) {
|
|
|
1501
1546
|
last_turn_at: completedAt,
|
|
1502
1547
|
};
|
|
1503
1548
|
}
|
|
1549
|
+
function buildRecoveredPostLaunchSkillActiveState(completedAt) {
|
|
1550
|
+
return {
|
|
1551
|
+
version: 1,
|
|
1552
|
+
active: false,
|
|
1553
|
+
skill: "",
|
|
1554
|
+
phase: "complete",
|
|
1555
|
+
updated_at: completedAt,
|
|
1556
|
+
active_skills: [],
|
|
1557
|
+
};
|
|
1558
|
+
}
|
|
1504
1559
|
export async function cleanupPostLaunchModeStateFiles(cwd, sessionId, dependencies = {}) {
|
|
1505
1560
|
const readdir = dependencies.readdir ?? (await import("fs/promises")).readdir;
|
|
1506
1561
|
const writeFile = dependencies.writeFile ?? (await import("fs/promises")).writeFile;
|
|
@@ -1519,7 +1574,20 @@ export async function cleanupPostLaunchModeStateFiles(cwd, sessionId, dependenci
|
|
|
1519
1574
|
if (result.kind === "recoverable") {
|
|
1520
1575
|
try {
|
|
1521
1576
|
const completedAt = now().toISOString();
|
|
1522
|
-
await writeFile(path, JSON.stringify(
|
|
1577
|
+
await writeFile(path, JSON.stringify(mode === SKILL_ACTIVE_STATE_MODE
|
|
1578
|
+
? buildRecoveredPostLaunchSkillActiveState(completedAt)
|
|
1579
|
+
: buildRecoveredPostLaunchModeState(mode, completedAt), null, 2));
|
|
1580
|
+
if (isTrackedWorkflowMode(mode)) {
|
|
1581
|
+
await syncCanonicalSkillStateForMode({
|
|
1582
|
+
cwd,
|
|
1583
|
+
mode,
|
|
1584
|
+
active: false,
|
|
1585
|
+
currentPhase: "cancelled",
|
|
1586
|
+
sessionId: stateDir === getStateDir(cwd, sessionId) ? sessionId : undefined,
|
|
1587
|
+
nowIso: completedAt,
|
|
1588
|
+
source: "postLaunchCleanup",
|
|
1589
|
+
});
|
|
1590
|
+
}
|
|
1523
1591
|
}
|
|
1524
1592
|
catch (err) {
|
|
1525
1593
|
writeWarn(`[omx] postLaunch: failed to recover mode state ${path}: ${err instanceof Error ? err.message : err}`);
|
|
@@ -1530,12 +1598,36 @@ export async function cleanupPostLaunchModeStateFiles(cwd, sessionId, dependenci
|
|
|
1530
1598
|
}
|
|
1531
1599
|
continue;
|
|
1532
1600
|
}
|
|
1533
|
-
|
|
1601
|
+
const skillStateStillVisible = mode === SKILL_ACTIVE_STATE_MODE
|
|
1602
|
+
&& Array.isArray(result.state.active_skills)
|
|
1603
|
+
&& result.state.active_skills.length > 0;
|
|
1604
|
+
if (result.state.active !== true && !skillStateStillVisible)
|
|
1534
1605
|
continue;
|
|
1535
1606
|
try {
|
|
1607
|
+
const completedAt = now().toISOString();
|
|
1608
|
+
if (mode === SKILL_ACTIVE_STATE_MODE) {
|
|
1609
|
+
result.state.active = false;
|
|
1610
|
+
result.state.phase = "complete";
|
|
1611
|
+
result.state.updated_at = completedAt;
|
|
1612
|
+
result.state.active_skills = [];
|
|
1613
|
+
await writeFile(path, JSON.stringify(result.state, null, 2));
|
|
1614
|
+
continue;
|
|
1615
|
+
}
|
|
1536
1616
|
result.state.active = false;
|
|
1537
|
-
result.state.
|
|
1617
|
+
result.state.current_phase = "cancelled";
|
|
1618
|
+
result.state.completed_at = completedAt;
|
|
1538
1619
|
await writeFile(path, JSON.stringify(result.state, null, 2));
|
|
1620
|
+
if (isTrackedWorkflowMode(mode)) {
|
|
1621
|
+
await syncCanonicalSkillStateForMode({
|
|
1622
|
+
cwd,
|
|
1623
|
+
mode,
|
|
1624
|
+
active: false,
|
|
1625
|
+
currentPhase: "cancelled",
|
|
1626
|
+
sessionId: stateDir === getStateDir(cwd, sessionId) ? sessionId : undefined,
|
|
1627
|
+
nowIso: completedAt,
|
|
1628
|
+
source: "postLaunchCleanup",
|
|
1629
|
+
});
|
|
1630
|
+
}
|
|
1539
1631
|
}
|
|
1540
1632
|
catch (err) {
|
|
1541
1633
|
writeWarn(`[omx] postLaunch: failed to update mode state ${path}: ${err instanceof Error ? err.message : err}`);
|
|
@@ -1571,7 +1663,7 @@ export async function reapPostLaunchOrphanedMcpProcesses(dependencies = {}) {
|
|
|
1571
1663
|
* OMX MCP processes without a live Codex ancestor are reaped so new launches
|
|
1572
1664
|
* do not accumulate stale processes from prior crashed/closed sessions.
|
|
1573
1665
|
*/
|
|
1574
|
-
async function preLaunch(cwd, sessionId, notifyTempContract, codexHomeOverride, enableNotifyFallbackAuthority = false) {
|
|
1666
|
+
async function preLaunch(cwd, sessionId, notifyTempContract, codexHomeOverride, enableNotifyFallbackAuthority = false, worktreeDirty = false) {
|
|
1575
1667
|
// 1. Best-effort launch-safe orphan cleanup
|
|
1576
1668
|
try {
|
|
1577
1669
|
const cleanup = await cleanupLaunchOrphanedMcpProcesses();
|
|
@@ -1590,14 +1682,17 @@ async function preLaunch(cwd, sessionId, notifyTempContract, codexHomeOverride,
|
|
|
1590
1682
|
const orchestrationMode = await resolveSessionOrchestrationMode(cwd, sessionId);
|
|
1591
1683
|
const overlay = await generateOverlay(cwd, sessionId, { orchestrationMode });
|
|
1592
1684
|
const launchAppendix = await readLaunchAppendInstructions();
|
|
1685
|
+
const dirtyWorktreeGuidance = worktreeDirty
|
|
1686
|
+
? `\n\n## Session start: dirty worktree detected\n\nThis worktree has uncommitted changes that were present when the session launched.\nBefore executing the requested task, resolve the dirty state first:\n1. Review uncommitted changes with \`git status\` and \`git diff\`.\n2. Commit, stash, or discard changes as appropriate.\n3. Then proceed with the original task.`
|
|
1687
|
+
: "";
|
|
1593
1688
|
const sessionInstructions = launchAppendix.trim().length > 0
|
|
1594
1689
|
? `${overlay}
|
|
1595
1690
|
|
|
1596
|
-
${launchAppendix}`
|
|
1597
|
-
: overlay
|
|
1691
|
+
${launchAppendix}${dirtyWorktreeGuidance}`
|
|
1692
|
+
: `${overlay}${dirtyWorktreeGuidance}`;
|
|
1598
1693
|
await writeSessionModelInstructionsFile(cwd, sessionId, sessionInstructions);
|
|
1599
1694
|
// 3. Write session state
|
|
1600
|
-
await resetSessionMetrics(cwd);
|
|
1695
|
+
await resetSessionMetrics(cwd, sessionId);
|
|
1601
1696
|
await writeSessionStart(cwd, sessionId);
|
|
1602
1697
|
// 4. Start notify fallback watcher (best effort)
|
|
1603
1698
|
try {
|
|
@@ -1793,6 +1888,15 @@ function runCodex(cwd, args, sessionId, workerDefaultModel, codexHomeOverride, n
|
|
|
1793
1888
|
scheduleDetachedWindowsCodexLaunch(sessionName, detachedWindowsCodexCmd);
|
|
1794
1889
|
}
|
|
1795
1890
|
for (const finalizeStep of finalizeSteps) {
|
|
1891
|
+
if (finalizeStep.name === "sanitize-copy-mode-style") {
|
|
1892
|
+
try {
|
|
1893
|
+
mitigateCopyModeUnderlineArtifacts(sessionName);
|
|
1894
|
+
}
|
|
1895
|
+
catch (err) {
|
|
1896
|
+
process.stderr.write(`[cli/index] operation failed: ${err}\n`);
|
|
1897
|
+
}
|
|
1898
|
+
continue;
|
|
1899
|
+
}
|
|
1796
1900
|
const stdio = finalizeStep.name === "attach-session" ? "inherit" : "ignore";
|
|
1797
1901
|
try {
|
|
1798
1902
|
execFileSync("tmux", finalizeStep.args, { stdio });
|
|
@@ -1991,6 +2095,15 @@ async function postLaunch(cwd, sessionId, codexHomeOverride, enableNotifyFallbac
|
|
|
1991
2095
|
catch (err) {
|
|
1992
2096
|
console.error(`[omx] postLaunch: session archive failed: ${err instanceof Error ? err.message : err}`);
|
|
1993
2097
|
}
|
|
2098
|
+
// 2.5. Best-effort wiki session capture
|
|
2099
|
+
try {
|
|
2100
|
+
const { onSessionEnd } = await import("../wiki/lifecycle.js");
|
|
2101
|
+
onSessionEnd({ cwd, session_id: sessionId });
|
|
2102
|
+
}
|
|
2103
|
+
catch (err) {
|
|
2104
|
+
process.stderr.write(`[cli/index] operation failed: ${err}\n`);
|
|
2105
|
+
// Non-fatal: wiki capture must never block session cleanup
|
|
2106
|
+
}
|
|
1994
2107
|
// 3. Cancel any still-active modes
|
|
1995
2108
|
try {
|
|
1996
2109
|
await cleanupPostLaunchModeStateFiles(cwd, sessionId);
|