oh-my-codex 0.6.3 → 0.7.0
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/README.md +19 -9
- package/bin/omx.js +3 -5
- package/dist/agents/__tests__/definitions.test.d.ts +2 -0
- package/dist/agents/__tests__/definitions.test.d.ts.map +1 -0
- package/dist/agents/__tests__/definitions.test.js +35 -0
- package/dist/agents/__tests__/definitions.test.js.map +1 -0
- package/dist/agents/__tests__/native-config.test.d.ts +2 -0
- package/dist/agents/__tests__/native-config.test.d.ts.map +1 -0
- package/dist/agents/__tests__/native-config.test.js +48 -0
- package/dist/agents/__tests__/native-config.test.js.map +1 -0
- package/dist/catalog/__tests__/schema.test.js +15 -0
- package/dist/catalog/__tests__/schema.test.js.map +1 -1
- package/dist/catalog/schema.d.ts.map +1 -1
- package/dist/catalog/schema.js +6 -0
- package/dist/catalog/schema.js.map +1 -1
- package/dist/cli/__tests__/catalog-contract.test.d.ts +2 -0
- package/dist/cli/__tests__/catalog-contract.test.d.ts.map +1 -0
- package/dist/cli/__tests__/catalog-contract.test.js +18 -0
- package/dist/cli/__tests__/catalog-contract.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-team.test.js +3 -2
- package/dist/cli/__tests__/doctor-team.test.js.map +1 -1
- package/dist/cli/__tests__/error-handling-warnings.test.d.ts +2 -0
- package/dist/cli/__tests__/error-handling-warnings.test.d.ts.map +1 -0
- package/dist/cli/__tests__/error-handling-warnings.test.js +35 -0
- package/dist/cli/__tests__/error-handling-warnings.test.js.map +1 -0
- package/dist/cli/__tests__/index.test.js +81 -8
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.d.ts +2 -0
- package/dist/cli/__tests__/setup-agents-overwrite.test.d.ts.map +1 -0
- package/dist/cli/__tests__/setup-agents-overwrite.test.js +124 -0
- package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -0
- package/dist/cli/__tests__/setup-scope.test.js +79 -21
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skills-overwrite.test.d.ts +2 -0
- package/dist/cli/__tests__/setup-skills-overwrite.test.d.ts.map +1 -0
- package/dist/cli/__tests__/setup-skills-overwrite.test.js +32 -0
- package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -0
- package/dist/cli/__tests__/star-prompt.test.js +74 -0
- package/dist/cli/__tests__/star-prompt.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +8 -0
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +75 -18
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +10 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +153 -45
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts +2 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +104 -60
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/star-prompt.d.ts +21 -1
- package/dist/cli/star-prompt.d.ts.map +1 -1
- package/dist/cli/star-prompt.js +34 -13
- package/dist/cli/star-prompt.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +10 -3
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +16 -0
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/__tests__/models.test.js +9 -1
- package/dist/config/__tests__/models.test.js.map +1 -1
- package/dist/config/generator.js +9 -10
- package/dist/config/generator.js.map +1 -1
- package/dist/config/models.d.ts +8 -1
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +27 -5
- package/dist/config/models.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +24 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/consensus-execution-handoff.test.d.ts +18 -0
- package/dist/hooks/__tests__/consensus-execution-handoff.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/consensus-execution-handoff.test.js +204 -0
- package/dist/hooks/__tests__/consensus-execution-handoff.test.js.map +1 -0
- package/dist/hooks/__tests__/emulator.test.d.ts +2 -0
- package/dist/hooks/__tests__/emulator.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/emulator.test.js +47 -0
- package/dist/hooks/__tests__/emulator.test.js.map +1 -0
- package/dist/hooks/__tests__/keyword-detector.test.js +330 -4
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +101 -0
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +13 -7
- package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-modules.test.js +61 -0
- package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-session-scope.test.js +47 -0
- package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.d.ts +2 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +560 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -0
- package/dist/hooks/__tests__/session.test.d.ts +2 -0
- package/dist/hooks/__tests__/session.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/session.test.js +161 -0
- package/dist/hooks/__tests__/session.test.js.map +1 -0
- package/dist/hooks/__tests__/task-size-detector.test.d.ts +2 -0
- package/dist/hooks/__tests__/task-size-detector.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/task-size-detector.test.js +336 -0
- package/dist/hooks/__tests__/task-size-detector.test.js.map +1 -0
- package/dist/hooks/__tests__/tmux-hook-engine-types-sync.test.d.ts +2 -0
- package/dist/hooks/__tests__/tmux-hook-engine-types-sync.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/tmux-hook-engine-types-sync.test.js +24 -0
- package/dist/hooks/__tests__/tmux-hook-engine-types-sync.test.js.map +1 -0
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +46 -2
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/code-simplifier/__tests__/index.test.js +67 -15
- package/dist/hooks/code-simplifier/__tests__/index.test.js.map +1 -1
- package/dist/hooks/code-simplifier/index.d.ts +10 -4
- package/dist/hooks/code-simplifier/index.d.ts.map +1 -1
- package/dist/hooks/code-simplifier/index.js +38 -12
- package/dist/hooks/code-simplifier/index.js.map +1 -1
- package/dist/hooks/codebase-map.d.ts.map +1 -1
- package/dist/hooks/codebase-map.js +5 -32
- package/dist/hooks/codebase-map.js.map +1 -1
- package/dist/hooks/emulator.d.ts.map +1 -1
- package/dist/hooks/emulator.js +11 -18
- package/dist/hooks/emulator.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/dispatcher.test.js +59 -1
- package/dist/hooks/extensibility/__tests__/dispatcher.test.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/loader.test.js +19 -0
- package/dist/hooks/extensibility/__tests__/loader.test.js.map +1 -1
- package/dist/hooks/extensibility/dispatcher.d.ts.map +1 -1
- package/dist/hooks/extensibility/dispatcher.js +51 -39
- package/dist/hooks/extensibility/dispatcher.js.map +1 -1
- package/dist/hooks/extensibility/loader.d.ts.map +1 -1
- package/dist/hooks/extensibility/loader.js +25 -13
- package/dist/hooks/extensibility/loader.js.map +1 -1
- package/dist/hooks/extensibility/logging.d.ts.map +1 -1
- package/dist/hooks/extensibility/logging.js +6 -1
- package/dist/hooks/extensibility/logging.js.map +1 -1
- package/dist/hooks/extensibility/sdk.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts +87 -0
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +235 -23
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/keyword-registry.d.ts +15 -0
- package/dist/hooks/keyword-registry.d.ts.map +1 -0
- package/dist/hooks/keyword-registry.js +41 -0
- package/dist/hooks/keyword-registry.js.map +1 -0
- package/dist/hooks/session.d.ts +18 -2
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +84 -11
- package/dist/hooks/session.js.map +1 -1
- package/dist/hooks/task-size-detector.d.ts +72 -0
- package/dist/hooks/task-size-detector.d.ts.map +1 -0
- package/dist/hooks/task-size-detector.js +204 -0
- package/dist/hooks/task-size-detector.js.map +1 -0
- package/dist/hud/__tests__/colors.test.js +1 -103
- package/dist/hud/__tests__/colors.test.js.map +1 -1
- package/dist/hud/__tests__/index.test.d.ts +2 -0
- package/dist/hud/__tests__/index.test.d.ts.map +1 -0
- package/dist/hud/__tests__/index.test.js +131 -0
- package/dist/hud/__tests__/index.test.js.map +1 -0
- package/dist/hud/__tests__/render.test.js +53 -0
- package/dist/hud/__tests__/render.test.js.map +1 -1
- package/dist/hud/__tests__/watch.test.d.ts +2 -0
- package/dist/hud/__tests__/watch.test.d.ts.map +1 -0
- package/dist/hud/__tests__/watch.test.js +63 -0
- package/dist/hud/__tests__/watch.test.js.map +1 -0
- package/dist/hud/colors.d.ts +2 -9
- package/dist/hud/colors.d.ts.map +1 -1
- package/dist/hud/colors.js +19 -34
- package/dist/hud/colors.js.map +1 -1
- package/dist/hud/constants.d.ts +1 -0
- package/dist/hud/constants.d.ts.map +1 -1
- package/dist/hud/constants.js +1 -0
- package/dist/hud/constants.js.map +1 -1
- package/dist/hud/index.d.ts +27 -0
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +149 -9
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +20 -7
- package/dist/hud/render.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.d.ts +2 -0
- package/dist/mcp/__tests__/bootstrap.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/bootstrap.test.js +25 -0
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -0
- package/dist/mcp/__tests__/code-intel-server.test.d.ts +2 -0
- package/dist/mcp/__tests__/code-intel-server.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/code-intel-server.test.js +43 -0
- package/dist/mcp/__tests__/code-intel-server.test.js.map +1 -0
- package/dist/mcp/__tests__/memory-server.test.d.ts +2 -0
- package/dist/mcp/__tests__/memory-server.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/memory-server.test.js +34 -0
- package/dist/mcp/__tests__/memory-server.test.js.map +1 -0
- package/dist/mcp/__tests__/memory-validation.test.d.ts +2 -0
- package/dist/mcp/__tests__/memory-validation.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/memory-validation.test.js +29 -0
- package/dist/mcp/__tests__/memory-validation.test.js.map +1 -0
- package/dist/mcp/__tests__/path-traversal.test.js +55 -0
- package/dist/mcp/__tests__/path-traversal.test.js.map +1 -1
- package/dist/mcp/__tests__/state-paths.test.js +43 -6
- package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server-ralph-phase.test.js +50 -0
- package/dist/mcp/__tests__/state-server-ralph-phase.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server-schema.test.js +3 -7
- package/dist/mcp/__tests__/state-server-schema.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +30 -1
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/__tests__/trace-server.test.js +58 -0
- package/dist/mcp/__tests__/trace-server.test.js.map +1 -1
- package/dist/mcp/bootstrap.d.ts +3 -0
- package/dist/mcp/bootstrap.d.ts.map +1 -0
- package/dist/mcp/bootstrap.js +13 -0
- package/dist/mcp/bootstrap.js.map +1 -0
- package/dist/mcp/code-intel-server.d.ts +8 -0
- package/dist/mcp/code-intel-server.d.ts.map +1 -1
- package/dist/mcp/code-intel-server.js +50 -24
- package/dist/mcp/code-intel-server.js.map +1 -1
- package/dist/mcp/memory-server.js +34 -13
- package/dist/mcp/memory-server.js.map +1 -1
- package/dist/mcp/memory-validation.d.ts +9 -0
- package/dist/mcp/memory-validation.d.ts.map +1 -0
- package/dist/mcp/memory-validation.js +11 -0
- package/dist/mcp/memory-validation.js.map +1 -0
- package/dist/mcp/state-paths.d.ts +2 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +83 -12
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/mcp/state-server.d.ts.map +1 -1
- package/dist/mcp/state-server.js +85 -47
- package/dist/mcp/state-server.js.map +1 -1
- package/dist/mcp/trace-server.d.ts +16 -0
- package/dist/mcp/trace-server.d.ts.map +1 -1
- package/dist/mcp/trace-server.js +84 -24
- package/dist/mcp/trace-server.js.map +1 -1
- package/dist/modes/__tests__/base-ralph-contract.test.d.ts +2 -0
- package/dist/modes/__tests__/base-ralph-contract.test.d.ts.map +1 -0
- package/dist/modes/__tests__/base-ralph-contract.test.js +49 -0
- package/dist/modes/__tests__/base-ralph-contract.test.js.map +1 -0
- package/dist/modes/__tests__/base-tmux-pane.test.js +13 -1
- package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
- package/dist/modes/base.d.ts +0 -4
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +31 -11
- package/dist/modes/base.js.map +1 -1
- package/dist/notifications/__tests__/config.test.js +47 -1
- package/dist/notifications/__tests__/config.test.js.map +1 -1
- package/dist/notifications/__tests__/formatter.test.js +54 -2
- package/dist/notifications/__tests__/formatter.test.js.map +1 -1
- package/dist/notifications/__tests__/hook-config.test.d.ts +5 -0
- package/dist/notifications/__tests__/hook-config.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/hook-config.test.js +139 -0
- package/dist/notifications/__tests__/hook-config.test.js.map +1 -0
- package/dist/notifications/__tests__/idle-cooldown.test.d.ts +5 -0
- package/dist/notifications/__tests__/idle-cooldown.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/idle-cooldown.test.js +100 -0
- package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -0
- package/dist/notifications/__tests__/notifier.test.js +89 -1
- package/dist/notifications/__tests__/notifier.test.js.map +1 -1
- package/dist/notifications/__tests__/reply-config.test.d.ts +2 -0
- package/dist/notifications/__tests__/reply-config.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/reply-config.test.js +79 -0
- package/dist/notifications/__tests__/reply-config.test.js.map +1 -0
- package/dist/notifications/__tests__/reply-listener.test.js +35 -1
- package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
- package/dist/notifications/__tests__/session-registry.test.js +40 -0
- package/dist/notifications/__tests__/session-registry.test.js.map +1 -1
- package/dist/notifications/__tests__/template-engine.test.d.ts +5 -0
- package/dist/notifications/__tests__/template-engine.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/template-engine.test.js +147 -0
- package/dist/notifications/__tests__/template-engine.test.js.map +1 -0
- package/dist/notifications/config.d.ts +8 -0
- package/dist/notifications/config.d.ts.map +1 -1
- package/dist/notifications/config.js +110 -19
- package/dist/notifications/config.js.map +1 -1
- package/dist/notifications/formatter.d.ts +5 -0
- package/dist/notifications/formatter.d.ts.map +1 -1
- package/dist/notifications/formatter.js +45 -10
- package/dist/notifications/formatter.js.map +1 -1
- package/dist/notifications/hook-config-types.d.ts +43 -0
- package/dist/notifications/hook-config-types.d.ts.map +1 -0
- package/dist/notifications/hook-config-types.js +8 -0
- package/dist/notifications/hook-config-types.js.map +1 -0
- package/dist/notifications/hook-config.d.ts +40 -0
- package/dist/notifications/hook-config.d.ts.map +1 -0
- package/dist/notifications/hook-config.js +127 -0
- package/dist/notifications/hook-config.js.map +1 -0
- package/dist/notifications/idle-cooldown.d.ts +35 -0
- package/dist/notifications/idle-cooldown.d.ts.map +1 -0
- package/dist/notifications/idle-cooldown.js +108 -0
- package/dist/notifications/idle-cooldown.js.map +1 -0
- package/dist/notifications/index.d.ts +3 -0
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +43 -1
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/notifier.d.ts +9 -0
- package/dist/notifications/notifier.d.ts.map +1 -1
- package/dist/notifications/notifier.js +36 -30
- package/dist/notifications/notifier.js.map +1 -1
- package/dist/notifications/reply-listener.d.ts +3 -0
- package/dist/notifications/reply-listener.d.ts.map +1 -1
- package/dist/notifications/reply-listener.js +61 -7
- package/dist/notifications/reply-listener.js.map +1 -1
- package/dist/notifications/session-registry.d.ts +1 -1
- package/dist/notifications/session-registry.d.ts.map +1 -1
- package/dist/notifications/session-registry.js +18 -6
- package/dist/notifications/session-registry.js.map +1 -1
- package/dist/notifications/template-engine.d.ts +34 -0
- package/dist/notifications/template-engine.d.ts.map +1 -0
- package/dist/notifications/template-engine.js +246 -0
- package/dist/notifications/template-engine.js.map +1 -0
- package/dist/notifications/types.d.ts +6 -0
- package/dist/notifications/types.d.ts.map +1 -1
- package/dist/openclaw/__tests__/config.test.d.ts +6 -0
- package/dist/openclaw/__tests__/config.test.d.ts.map +1 -0
- package/dist/openclaw/__tests__/config.test.js +174 -0
- package/dist/openclaw/__tests__/config.test.js.map +1 -0
- package/dist/openclaw/__tests__/dispatcher.test.d.ts +5 -0
- package/dist/openclaw/__tests__/dispatcher.test.d.ts.map +1 -0
- package/dist/openclaw/__tests__/dispatcher.test.js +104 -0
- package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -0
- package/dist/openclaw/__tests__/index.test.d.ts +6 -0
- package/dist/openclaw/__tests__/index.test.d.ts.map +1 -0
- package/dist/openclaw/__tests__/index.test.js +131 -0
- package/dist/openclaw/__tests__/index.test.js.map +1 -0
- package/dist/openclaw/config.d.ts +37 -0
- package/dist/openclaw/config.d.ts.map +1 -0
- package/dist/openclaw/config.js +106 -0
- package/dist/openclaw/config.js.map +1 -0
- package/dist/openclaw/dispatcher.d.ts +63 -0
- package/dist/openclaw/dispatcher.d.ts.map +1 -0
- package/dist/openclaw/dispatcher.js +223 -0
- package/dist/openclaw/dispatcher.js.map +1 -0
- package/dist/openclaw/index.d.ts +27 -0
- package/dist/openclaw/index.d.ts.map +1 -0
- package/dist/openclaw/index.js +130 -0
- package/dist/openclaw/index.js.map +1 -0
- package/dist/openclaw/types.d.ts +105 -0
- package/dist/openclaw/types.d.ts.map +1 -0
- package/dist/openclaw/types.js +12 -0
- package/dist/openclaw/types.js.map +1 -0
- package/dist/ralph/contract.d.ts.map +1 -1
- package/dist/ralph/contract.js +13 -4
- package/dist/ralph/contract.js.map +1 -1
- package/dist/team/__tests__/phase-controller.test.js +14 -0
- package/dist/team/__tests__/phase-controller.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +328 -1
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.d.ts +2 -0
- package/dist/team/__tests__/scaling.test.d.ts.map +1 -0
- package/dist/team/__tests__/scaling.test.js +295 -0
- package/dist/team/__tests__/scaling.test.js.map +1 -0
- package/dist/team/__tests__/state.test.js +62 -1
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +219 -14
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +4 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/contracts.d.ts +14 -0
- package/dist/team/contracts.d.ts.map +1 -0
- package/dist/team/contracts.js +30 -0
- package/dist/team/contracts.js.map +1 -0
- package/dist/team/model-contract.d.ts +1 -0
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +5 -1
- package/dist/team/model-contract.js.map +1 -1
- package/dist/team/phase-controller.d.ts +2 -0
- package/dist/team/phase-controller.d.ts.map +1 -1
- package/dist/team/phase-controller.js +16 -2
- package/dist/team/phase-controller.js.map +1 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +356 -65
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts +58 -0
- package/dist/team/scaling.d.ts.map +1 -0
- package/dist/team/scaling.js +319 -0
- package/dist/team/scaling.js.map +1 -0
- package/dist/team/state.d.ts +11 -2
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +97 -27
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-ops.d.ts +2 -0
- package/dist/team/team-ops.d.ts.map +1 -1
- package/dist/team/team-ops.js +4 -0
- package/dist/team/team-ops.js.map +1 -1
- package/dist/team/tmux-session.d.ts +34 -5
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +177 -49
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +20 -0
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +8 -1
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +14 -6
- package/dist/utils/paths.js.map +1 -1
- package/dist/verification/__tests__/verifier.test.js +20 -1
- package/dist/verification/__tests__/verifier.test.js.map +1 -1
- package/dist/verification/verifier.d.ts +5 -0
- package/dist/verification/verifier.d.ts.map +1 -1
- package/dist/verification/verifier.js +19 -0
- package/dist/verification/verifier.js.map +1 -1
- package/package.json +2 -1
- package/prompts/architect.md +11 -0
- package/prompts/critic.md +14 -1
- package/prompts/planner.md +21 -0
- package/scripts/notify-hook/auto-nudge.js +80 -1
- package/scripts/notify-hook/payload-parser.js +21 -0
- package/scripts/notify-hook/team-worker.js +142 -0
- package/scripts/notify-hook/tmux-injection.js +3 -3
- package/scripts/notify-hook.js +55 -4
- package/skills/configure-notifications/SKILL.md +278 -0
- package/skills/configure-openclaw/SKILL.md +267 -0
- package/skills/configure-slack/SKILL.md +226 -0
- package/skills/omx-setup/SKILL.md +14 -19
- package/skills/plan/SKILL.md +57 -33
- package/skills/ralplan/SKILL.md +107 -21
- package/skills/team/SKILL.md +10 -1
- package/templates/AGENTS.md +11 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-traversal.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/path-traversal.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"path-traversal.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/path-traversal.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import assert from 'node:assert/strict';
|
|
|
3
3
|
import { mkdir, mkdtemp, rm } from 'fs/promises';
|
|
4
4
|
import { existsSync } from 'fs';
|
|
5
5
|
import { tmpdir } from 'os';
|
|
6
|
-
import { join } from 'path';
|
|
7
|
-
import { getAllScopedStateDirs, getAllScopedStatePaths, getBaseStateDir, getAllSessionScopedStateDirs, getAllSessionScopedStatePaths, resolveWorkingDirectoryForState, getStateDir, getStatePath, validateSessionId, } from '../state-paths.js';
|
|
6
|
+
import { join, resolve as resolvePath } from 'path';
|
|
7
|
+
import { getAllScopedStateDirs, getAllScopedStatePaths, getBaseStateDir, getAllSessionScopedStateDirs, getAllSessionScopedStatePaths, resolveWorkingDirectoryForState, getStateDir, getStatePath, validateStateModeSegment, validateSessionId, } from '../state-paths.js';
|
|
8
8
|
describe('validateSessionId', () => {
|
|
9
9
|
it('accepts undefined and valid ids', () => {
|
|
10
10
|
assert.equal(validateSessionId(undefined), undefined);
|
|
@@ -16,6 +16,17 @@ describe('validateSessionId', () => {
|
|
|
16
16
|
assert.throws(() => validateSessionId(123), /session_id must be a string/);
|
|
17
17
|
});
|
|
18
18
|
});
|
|
19
|
+
describe('validateStateModeSegment', () => {
|
|
20
|
+
it('accepts safe mode names', () => {
|
|
21
|
+
assert.equal(validateStateModeSegment('ralph'), 'ralph');
|
|
22
|
+
assert.equal(validateStateModeSegment('ultraqa'), 'ultraqa');
|
|
23
|
+
});
|
|
24
|
+
it('rejects traversal and path separators', () => {
|
|
25
|
+
assert.throws(() => validateStateModeSegment('../evil'), /must not contain "\.\."/);
|
|
26
|
+
assert.throws(() => validateStateModeSegment('foo/bar'), /path separators/);
|
|
27
|
+
assert.throws(() => validateStateModeSegment('foo\\bar'), /path separators/);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
19
30
|
describe('state paths', () => {
|
|
20
31
|
it('resolveWorkingDirectoryForState defaults to process.cwd()', () => {
|
|
21
32
|
assert.equal(resolveWorkingDirectoryForState(undefined), process.cwd());
|
|
@@ -24,16 +35,39 @@ describe('state paths', () => {
|
|
|
24
35
|
});
|
|
25
36
|
it('resolveWorkingDirectoryForState normalizes Windows path on WSL/Linux when mount exists', () => {
|
|
26
37
|
const raw = 'D:\\SIYUAN\\external\\repo';
|
|
27
|
-
const normalized = resolveWorkingDirectoryForState(raw);
|
|
28
38
|
if (process.platform === 'win32') {
|
|
29
|
-
assert.equal(
|
|
39
|
+
assert.equal(resolveWorkingDirectoryForState(raw), resolvePath(raw));
|
|
30
40
|
return;
|
|
31
41
|
}
|
|
32
42
|
if (existsSync('/mnt/d')) {
|
|
33
|
-
assert.equal(
|
|
43
|
+
assert.equal(resolveWorkingDirectoryForState(raw), '/mnt/d/SIYUAN/external/repo');
|
|
34
44
|
}
|
|
35
45
|
else {
|
|
36
|
-
assert.
|
|
46
|
+
assert.throws(() => resolveWorkingDirectoryForState(raw), /not available on this host/);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
it('resolveWorkingDirectoryForState returns absolute normalized paths', () => {
|
|
50
|
+
assert.equal(resolveWorkingDirectoryForState('.'), process.cwd());
|
|
51
|
+
});
|
|
52
|
+
it('rejects NUL bytes in workingDirectory', () => {
|
|
53
|
+
assert.throws(() => resolveWorkingDirectoryForState('bad\0path'), /NUL byte/);
|
|
54
|
+
});
|
|
55
|
+
it('enforces OMX_MCP_WORKDIR_ROOTS allowlist when configured', async () => {
|
|
56
|
+
const allowedRoot = await mkdtemp(join(tmpdir(), 'omx-allowed-root-'));
|
|
57
|
+
const disallowedRoot = await mkdtemp(join(tmpdir(), 'omx-disallowed-root-'));
|
|
58
|
+
const prev = process.env.OMX_MCP_WORKDIR_ROOTS;
|
|
59
|
+
process.env.OMX_MCP_WORKDIR_ROOTS = allowedRoot;
|
|
60
|
+
try {
|
|
61
|
+
assert.equal(resolveWorkingDirectoryForState(join(allowedRoot, 'nested')), join(allowedRoot, 'nested'));
|
|
62
|
+
assert.throws(() => resolveWorkingDirectoryForState(disallowedRoot), /outside allowed roots \(OMX_MCP_WORKDIR_ROOTS\)/);
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
if (typeof prev === 'string')
|
|
66
|
+
process.env.OMX_MCP_WORKDIR_ROOTS = prev;
|
|
67
|
+
else
|
|
68
|
+
delete process.env.OMX_MCP_WORKDIR_ROOTS;
|
|
69
|
+
await rm(allowedRoot, { recursive: true, force: true });
|
|
70
|
+
await rm(disallowedRoot, { recursive: true, force: true });
|
|
37
71
|
}
|
|
38
72
|
});
|
|
39
73
|
it('builds global state paths', () => {
|
|
@@ -46,6 +80,9 @@ describe('state paths', () => {
|
|
|
46
80
|
assert.equal(getStateDir('/repo', 'sess1'), '/repo/.omx/state/sessions/sess1');
|
|
47
81
|
assert.equal(getStatePath('ralph', '/repo', 'sess1'), '/repo/.omx/state/sessions/sess1/ralph-state.json');
|
|
48
82
|
});
|
|
83
|
+
it('throws when mode contains traversal tokens', () => {
|
|
84
|
+
assert.throws(() => getStatePath('../../etc/passwd', '/repo'), /must not contain "\.\."/);
|
|
85
|
+
});
|
|
49
86
|
it('enumerates global-only path', async () => {
|
|
50
87
|
const wd = await mkdtemp(join(tmpdir(), 'omx-state-paths-'));
|
|
51
88
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-paths.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-paths.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"state-paths.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-paths.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,5 +55,55 @@ describe('state-server Ralph phase contract', () => {
|
|
|
55
55
|
await rm(wd, { recursive: true, force: true });
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
+
it('rejects terminal Ralph phase when active=true', async () => {
|
|
59
|
+
process.env.OMX_STATE_SERVER_DISABLE_AUTO_START = '1';
|
|
60
|
+
const { handleStateToolCall } = await import('../state-server.js');
|
|
61
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-state-ralph-phase-'));
|
|
62
|
+
try {
|
|
63
|
+
const response = await handleStateToolCall({
|
|
64
|
+
params: {
|
|
65
|
+
name: 'state_write',
|
|
66
|
+
arguments: {
|
|
67
|
+
workingDirectory: wd,
|
|
68
|
+
mode: 'ralph',
|
|
69
|
+
active: true,
|
|
70
|
+
current_phase: 'complete',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
assert.equal(response.isError, true);
|
|
75
|
+
const body = JSON.parse(response.content[0]?.text || '{}');
|
|
76
|
+
assert.match(body.error || '', /terminal Ralph phases require active=false/i);
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
await rm(wd, { recursive: true, force: true });
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
it('rejects fractional iteration values for Ralph state', async () => {
|
|
83
|
+
process.env.OMX_STATE_SERVER_DISABLE_AUTO_START = '1';
|
|
84
|
+
const { handleStateToolCall } = await import('../state-server.js');
|
|
85
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-state-ralph-phase-'));
|
|
86
|
+
try {
|
|
87
|
+
const response = await handleStateToolCall({
|
|
88
|
+
params: {
|
|
89
|
+
name: 'state_write',
|
|
90
|
+
arguments: {
|
|
91
|
+
workingDirectory: wd,
|
|
92
|
+
mode: 'ralph',
|
|
93
|
+
active: true,
|
|
94
|
+
current_phase: 'executing',
|
|
95
|
+
iteration: 0.25,
|
|
96
|
+
max_iterations: 10.5,
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
assert.equal(response.isError, true);
|
|
101
|
+
const body = JSON.parse(response.content[0]?.text || '{}');
|
|
102
|
+
assert.match(body.error || '', /finite integer/i);
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
await rm(wd, { recursive: true, force: true });
|
|
106
|
+
}
|
|
107
|
+
});
|
|
58
108
|
});
|
|
59
109
|
//# sourceMappingURL=state-server-ralph-phase.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-server-ralph-phase.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server-ralph-phase.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state-server-ralph-phase.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server-ralph-phase.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { describe, it } from 'node:test';
|
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
3
|
import { readFile } from 'fs/promises';
|
|
4
4
|
import { join } from 'path';
|
|
5
|
+
import { TEAM_EVENT_TYPES } from '../../team/contracts.js';
|
|
5
6
|
const ALL_EVENT_TYPES = [
|
|
6
7
|
'task_completed',
|
|
7
8
|
'task_failed',
|
|
@@ -13,16 +14,11 @@ const ALL_EVENT_TYPES = [
|
|
|
13
14
|
'team_leader_nudge',
|
|
14
15
|
];
|
|
15
16
|
describe('team_append_event schema validation', () => {
|
|
16
|
-
it('schema enum is sourced from TEAM_EVENT_TYPES and contains expected values', async () => {
|
|
17
|
+
it('schema enum is sourced from shared TEAM_EVENT_TYPES contract and contains expected values', async () => {
|
|
17
18
|
const src = await readFile(join(process.cwd(), 'src/mcp/state-server.ts'), 'utf8');
|
|
18
|
-
const constMatch = src.match(/const TEAM_EVENT_TYPES = \[([\s\S]*?)\] as const;/);
|
|
19
|
-
assert.ok(constMatch, 'Expected to find TEAM_EVENT_TYPES constant in state-server.ts');
|
|
20
19
|
const enumRefMatch = src.match(/name:\s*'team_append_event'[\s\S]*?enum:\s*\[\.\.\.TEAM_EVENT_TYPES\]/);
|
|
21
20
|
assert.ok(enumRefMatch, 'Expected team_append_event schema to reference TEAM_EVENT_TYPES');
|
|
22
|
-
const enumValues =
|
|
23
|
-
.split(',')
|
|
24
|
-
.map((s) => s.trim().replace(/^'|'$/g, ''))
|
|
25
|
-
.filter(Boolean);
|
|
21
|
+
const enumValues = [...TEAM_EVENT_TYPES];
|
|
26
22
|
assert.equal(enumValues.length, 8, `Expected 8 enum values, got ${enumValues.length}: ${enumValues.join(', ')}`);
|
|
27
23
|
for (const eventType of ALL_EVENT_TYPES) {
|
|
28
24
|
assert.ok(enumValues.includes(eventType), `Expected enum to include '${eventType}', got: ${enumValues.join(', ')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-server-schema.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server-schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"state-server-schema.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server-schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,eAAe,GAAG;IACtB,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,mBAAmB;IACnB,mBAAmB;CACX,CAAC;AAEX,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC;QAEnF,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACxG,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,iEAAiE,CAAC,CAAC;QAE3F,MAAM,UAAU,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAEzC,MAAM,CAAC,KAAK,CACV,UAAU,CAAC,MAAM,EACjB,CAAC,EACD,+BAA+B,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7E,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,MAAM,CAAC,EAAE,CACP,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC9B,6BAA6B,SAAS,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, it } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
|
-
import { mkdtemp, rm } from 'fs/promises';
|
|
3
|
+
import { mkdtemp, readFile, rm } from 'fs/promises';
|
|
4
4
|
import { existsSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
import { tmpdir } from 'os';
|
|
@@ -48,5 +48,34 @@ describe('state-server directory initialization', () => {
|
|
|
48
48
|
await rm(wd, { recursive: true, force: true });
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
|
+
it('serializes concurrent state_write calls per mode file and preserves merged fields', async () => {
|
|
52
|
+
process.env.OMX_STATE_SERVER_DISABLE_AUTO_START = '1';
|
|
53
|
+
const { handleStateToolCall } = await import('../state-server.js');
|
|
54
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-state-server-test-'));
|
|
55
|
+
try {
|
|
56
|
+
const writes = Array.from({ length: 16 }, (_, i) => handleStateToolCall({
|
|
57
|
+
params: {
|
|
58
|
+
name: 'state_write',
|
|
59
|
+
arguments: {
|
|
60
|
+
workingDirectory: wd,
|
|
61
|
+
mode: 'team',
|
|
62
|
+
state: { [`k${i}`]: i },
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
}));
|
|
66
|
+
const responses = await Promise.all(writes);
|
|
67
|
+
for (const response of responses) {
|
|
68
|
+
assert.equal(response.isError, undefined);
|
|
69
|
+
}
|
|
70
|
+
const filePath = join(wd, '.omx', 'state', 'team-state.json');
|
|
71
|
+
const state = JSON.parse(await readFile(filePath, 'utf-8'));
|
|
72
|
+
for (let i = 0; i < 16; i++) {
|
|
73
|
+
assert.equal(state[`k${i}`], i);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
await rm(wd, { recursive: true, force: true });
|
|
78
|
+
}
|
|
79
|
+
});
|
|
51
80
|
});
|
|
52
81
|
//# sourceMappingURL=state-server.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-server.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"state-server.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/state-server.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import assert from 'node:assert/strict';
|
|
|
3
3
|
import { mkdir, mkdtemp, rm, writeFile } from 'fs/promises';
|
|
4
4
|
import { join } from 'path';
|
|
5
5
|
import { tmpdir } from 'os';
|
|
6
|
+
import { readFile } from 'node:fs/promises';
|
|
6
7
|
describe('trace-server session-scoped mode discovery', () => {
|
|
7
8
|
it('includes mode events from session-scoped state files', async () => {
|
|
8
9
|
process.env.OMX_TRACE_SERVER_DISABLE_AUTO_START = '1';
|
|
@@ -58,4 +59,61 @@ describe('trace-server session-scoped mode discovery', () => {
|
|
|
58
59
|
}
|
|
59
60
|
});
|
|
60
61
|
});
|
|
62
|
+
describe('trace-server log readers', () => {
|
|
63
|
+
it('returns only the most recent entries when last is provided', async () => {
|
|
64
|
+
process.env.OMX_TRACE_SERVER_DISABLE_AUTO_START = '1';
|
|
65
|
+
const { readLogFiles } = await import('../trace-server.js');
|
|
66
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-trace-test-'));
|
|
67
|
+
try {
|
|
68
|
+
const logsDir = join(wd, '.omx', 'logs');
|
|
69
|
+
await mkdir(logsDir, { recursive: true });
|
|
70
|
+
const entries = Array.from({ length: 5000 }, (_, i) => ({
|
|
71
|
+
timestamp: new Date(Date.UTC(2020, 0, 1, 0, 0, i)).toISOString(),
|
|
72
|
+
type: i % 2 === 0 ? 'assistant' : 'user',
|
|
73
|
+
}));
|
|
74
|
+
const firstHalf = `${entries.slice(0, 2500).map(e => JSON.stringify(e)).join('\n')}\n`;
|
|
75
|
+
const secondHalf = `${entries.slice(2500).map(e => JSON.stringify(e)).join('\n')}\n`;
|
|
76
|
+
await writeFile(join(logsDir, 'turns-2020-01-01.jsonl'), firstHalf);
|
|
77
|
+
await writeFile(join(logsDir, 'turns-2020-01-02.jsonl'), secondHalf);
|
|
78
|
+
const result = await readLogFiles(logsDir, 75);
|
|
79
|
+
assert.equal(result.length, 75);
|
|
80
|
+
assert.deepEqual(result.map((e) => e.timestamp), entries.slice(-75).map(e => e.timestamp));
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
await rm(wd, { recursive: true, force: true });
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
it('summarizes log history incrementally without materializing turn entries', async () => {
|
|
87
|
+
process.env.OMX_TRACE_SERVER_DISABLE_AUTO_START = '1';
|
|
88
|
+
const { summarizeLogFiles } = await import('../trace-server.js');
|
|
89
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-trace-test-'));
|
|
90
|
+
try {
|
|
91
|
+
const logsDir = join(wd, '.omx', 'logs');
|
|
92
|
+
await mkdir(logsDir, { recursive: true });
|
|
93
|
+
await writeFile(join(logsDir, 'turns-2020-01-01.jsonl'), [
|
|
94
|
+
JSON.stringify({ timestamp: '2020-01-02T00:00:00.000Z', type: 'assistant' }),
|
|
95
|
+
'not-json',
|
|
96
|
+
JSON.stringify({ timestamp: '2020-01-01T00:00:00.000Z', type: 'user' }),
|
|
97
|
+
].join('\n'));
|
|
98
|
+
await writeFile(join(logsDir, 'turns-2020-01-02.jsonl'), [
|
|
99
|
+
JSON.stringify({ timestamp: '2020-01-03T00:00:00.000Z', type: 'assistant' }),
|
|
100
|
+
JSON.stringify({ timestamp: '2020-01-02T12:00:00.000Z', type: 'assistant' }),
|
|
101
|
+
].join('\n'));
|
|
102
|
+
const summary = await summarizeLogFiles(logsDir);
|
|
103
|
+
assert.equal(summary.totalTurns, 4);
|
|
104
|
+
assert.deepEqual(summary.turnsByType, { assistant: 3, user: 1 });
|
|
105
|
+
assert.equal(summary.firstTimestamp, '2020-01-01T00:00:00.000Z');
|
|
106
|
+
assert.equal(summary.lastTimestamp, '2020-01-03T00:00:00.000Z');
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
await rm(wd, { recursive: true, force: true });
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('trace-server workingDirectory handling', () => {
|
|
114
|
+
it('normalizes workingDirectory via state-paths resolver', async () => {
|
|
115
|
+
const src = await readFile(join(process.cwd(), 'src/mcp/trace-server.ts'), 'utf8');
|
|
116
|
+
assert.match(src, /resolveWorkingDirectoryForState/);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
61
119
|
//# sourceMappingURL=trace-server.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-server.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/trace-server.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"trace-server.test.js","sourceRoot":"","sources":["../../../src/mcp/__tests__/trace-server.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/mcp/bootstrap.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAWxE,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,OAAO,CAIT"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const SERVER_DISABLE_ENV = {
|
|
2
|
+
state: 'OMX_STATE_SERVER_DISABLE_AUTO_START',
|
|
3
|
+
memory: 'OMX_MEMORY_SERVER_DISABLE_AUTO_START',
|
|
4
|
+
code_intel: 'OMX_CODE_INTEL_SERVER_DISABLE_AUTO_START',
|
|
5
|
+
trace: 'OMX_TRACE_SERVER_DISABLE_AUTO_START',
|
|
6
|
+
};
|
|
7
|
+
const GLOBAL_DISABLE_ENV = 'OMX_MCP_SERVER_DISABLE_AUTO_START';
|
|
8
|
+
export function shouldAutoStartMcpServer(server, env = process.env) {
|
|
9
|
+
const globalDisabled = env[GLOBAL_DISABLE_ENV] === '1';
|
|
10
|
+
const serverDisabled = env[SERVER_DISABLE_ENV[server]] === '1';
|
|
11
|
+
return !globalDisabled && !serverDisabled;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/mcp/bootstrap.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAkC;IACxD,KAAK,EAAE,qCAAqC;IAC5C,MAAM,EAAE,sCAAsC;IAC9C,UAAU,EAAE,0CAA0C;IACtD,KAAK,EAAE,qCAAqC;CAC7C,CAAC;AAEF,MAAM,kBAAkB,GAAG,mCAAmC,CAAC;AAE/D,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,MAA0C,OAAO,CAAC,GAAG;IAErD,MAAM,cAAc,GAAG,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,CAAC;IACvD,MAAM,cAAc,GAAG,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC;IAC/D,OAAO,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC;AAC5C,CAAC"}
|
|
@@ -3,5 +3,13 @@
|
|
|
3
3
|
* Provides LSP-like diagnostics, symbol search, and AST pattern matching.
|
|
4
4
|
* Uses pragmatic CLI wrappers (tsc, ast-grep/sg) rather than full LSP protocol.
|
|
5
5
|
*/
|
|
6
|
+
interface AstGrepRunOptions {
|
|
7
|
+
path?: string;
|
|
8
|
+
maxResults?: number;
|
|
9
|
+
context?: number;
|
|
10
|
+
replacement?: string;
|
|
11
|
+
dryRun?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function buildAstGrepRunArgs(pattern: string, language: string, options: AstGrepRunOptions): string[];
|
|
6
14
|
export {};
|
|
7
15
|
//# sourceMappingURL=code-intel-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-intel-server.d.ts","sourceRoot":"","sources":["../../src/mcp/code-intel-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
1
|
+
{"version":3,"file":"code-intel-server.d.ts","sourceRoot":"","sources":["../../src/mcp/code-intel-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0LH,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,GACzB,MAAM,EAAE,CAiBV"}
|
|
@@ -8,14 +8,12 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
8
8
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
9
9
|
import { execFile } from 'child_process';
|
|
10
10
|
import { readFile, readdir } from 'fs/promises';
|
|
11
|
-
import { join, relative, extname, basename } from 'path';
|
|
11
|
+
import { join, relative, extname, basename, resolve } from 'path';
|
|
12
12
|
import { existsSync } from 'fs';
|
|
13
13
|
import { promisify } from 'util';
|
|
14
|
+
import { shouldAutoStartMcpServer } from './bootstrap.js';
|
|
14
15
|
const execFileAsync = promisify(execFile);
|
|
15
16
|
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
16
|
-
function cwd(wd) {
|
|
17
|
-
return wd || process.cwd();
|
|
18
|
-
}
|
|
19
17
|
function text(data) {
|
|
20
18
|
return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
|
|
21
19
|
}
|
|
@@ -147,6 +145,22 @@ async function findSgBinary() {
|
|
|
147
145
|
catch { /* not available */ }
|
|
148
146
|
return null;
|
|
149
147
|
}
|
|
148
|
+
export function buildAstGrepRunArgs(pattern, language, options) {
|
|
149
|
+
const args = ['run', '--pattern', pattern, '--lang', language];
|
|
150
|
+
if (options.replacement) {
|
|
151
|
+
args.push('--rewrite', options.replacement);
|
|
152
|
+
if (!options.dryRun) {
|
|
153
|
+
args.push('--update-all');
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
args.push('--json');
|
|
158
|
+
}
|
|
159
|
+
if (options.path) {
|
|
160
|
+
args.push(options.path);
|
|
161
|
+
}
|
|
162
|
+
return args;
|
|
163
|
+
}
|
|
150
164
|
async function runAstGrep(pattern, language, options) {
|
|
151
165
|
const sg = await findSgBinary();
|
|
152
166
|
if (!sg) {
|
|
@@ -157,21 +171,7 @@ async function runAstGrep(pattern, language, options) {
|
|
|
157
171
|
if (sg === 'npx-ast-grep') {
|
|
158
172
|
args.push('--yes', '@ast-grep/cli');
|
|
159
173
|
}
|
|
160
|
-
|
|
161
|
-
// Rewrite mode
|
|
162
|
-
args.push('run', '--pattern', pattern, '--rewrite', options.replacement, '--lang', language);
|
|
163
|
-
}
|
|
164
|
-
else if (options.replacement && options.dryRun) {
|
|
165
|
-
// Dry run rewrite
|
|
166
|
-
args.push('run', '--pattern', pattern, '--rewrite', options.replacement, '--lang', language);
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
// Search mode
|
|
170
|
-
args.push('run', '--pattern', pattern, '--lang', language, '--json');
|
|
171
|
-
}
|
|
172
|
-
if (options.path) {
|
|
173
|
-
args.push(options.path);
|
|
174
|
-
}
|
|
174
|
+
args.push(...buildAstGrepRunArgs(pattern, language, options));
|
|
175
175
|
try {
|
|
176
176
|
const { stdout } = await exec(cmd, args, { timeout: 30000 });
|
|
177
177
|
try {
|
|
@@ -463,6 +463,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
463
463
|
const file = a.file;
|
|
464
464
|
const line = a.line;
|
|
465
465
|
const char = a.character;
|
|
466
|
+
const includeDeclaration = a.includeDeclaration;
|
|
467
|
+
const effectiveIncludeDeclaration = includeDeclaration !== false;
|
|
466
468
|
if (!file || !line)
|
|
467
469
|
return errorResult('file and line are required');
|
|
468
470
|
const content = await readFile(file, 'utf-8');
|
|
@@ -497,11 +499,33 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
497
499
|
if (!match)
|
|
498
500
|
return null;
|
|
499
501
|
return { file: match[1], line: parseInt(match[2], 10), content: match[3].trim() };
|
|
500
|
-
}).filter(
|
|
501
|
-
|
|
502
|
+
}).filter((entry) => entry !== null);
|
|
503
|
+
const declarationLines = new Set(extractSymbols(content)
|
|
504
|
+
.filter((s) => s.name === symbol)
|
|
505
|
+
.map((s) => s.line));
|
|
506
|
+
const normalizedTargetFile = resolve(file);
|
|
507
|
+
const filteredRefs = effectiveIncludeDeclaration
|
|
508
|
+
? refs
|
|
509
|
+
: refs.filter((ref) => {
|
|
510
|
+
if (resolve(ref.file) !== normalizedTargetFile)
|
|
511
|
+
return true;
|
|
512
|
+
return !declarationLines.has(ref.line);
|
|
513
|
+
});
|
|
514
|
+
return text({
|
|
515
|
+
symbol,
|
|
516
|
+
includeDeclaration: effectiveIncludeDeclaration,
|
|
517
|
+
referenceCount: filteredRefs.length,
|
|
518
|
+
references: filteredRefs.slice(0, 100),
|
|
519
|
+
});
|
|
502
520
|
}
|
|
503
521
|
catch {
|
|
504
|
-
return text({
|
|
522
|
+
return text({
|
|
523
|
+
symbol,
|
|
524
|
+
includeDeclaration: effectiveIncludeDeclaration,
|
|
525
|
+
referenceCount: 0,
|
|
526
|
+
references: [],
|
|
527
|
+
note: 'grep search returned no results',
|
|
528
|
+
});
|
|
505
529
|
}
|
|
506
530
|
}
|
|
507
531
|
case 'lsp_servers': {
|
|
@@ -562,6 +586,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
562
586
|
return { content: [{ type: 'text', text: `Unknown tool: ${name}` }], isError: true };
|
|
563
587
|
}
|
|
564
588
|
});
|
|
565
|
-
|
|
566
|
-
|
|
589
|
+
if (shouldAutoStartMcpServer('code_intel')) {
|
|
590
|
+
const transport = new StdioServerTransport();
|
|
591
|
+
server.connect(transport).catch(console.error);
|
|
592
|
+
}
|
|
567
593
|
//# sourceMappingURL=code-intel-server.js.map
|