claudecode-omc 4.4.4 → 4.4.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/.mcp.json +2 -6
- package/README.es.md +64 -8
- package/README.ja.md +64 -8
- package/README.ko.md +64 -8
- package/README.pt.md +29 -0
- package/README.vi.md +29 -0
- package/README.zh.md +64 -8
- package/agents/architect.md +17 -7
- package/agents/code-reviewer.md +6 -7
- package/agents/critic.md +14 -1
- package/agents/deep-executor.md +6 -7
- package/agents/designer.md +6 -8
- package/agents/executor.md +6 -7
- package/agents/planner.md +21 -0
- package/agents/quality-reviewer.md +6 -7
- package/agents/security-reviewer.md +6 -7
- package/agents/test-engineer.md +6 -7
- package/bridge/mcp-server.cjs +517 -202
- package/bridge/runtime-cli.cjs +1547 -0
- package/bridge/team-bridge.cjs +348 -92
- package/bridge/{gemini-server.cjs → team-mcp.cjs} +10914 -10240
- package/dist/__tests__/auto-update.test.js +1 -1
- package/dist/__tests__/auto-update.test.js.map +1 -1
- package/dist/__tests__/cli-win32-warning.test.d.ts +2 -0
- package/dist/__tests__/cli-win32-warning.test.d.ts.map +1 -0
- package/dist/__tests__/cli-win32-warning.test.js +46 -0
- package/dist/__tests__/cli-win32-warning.test.js.map +1 -0
- package/dist/__tests__/codex-callsite-normalization.test.js +112 -0
- package/dist/__tests__/consensus-execution-handoff.test.d.ts +2 -0
- package/dist/__tests__/consensus-execution-handoff.test.d.ts.map +1 -1
- package/dist/__tests__/consensus-execution-handoff.test.js +48 -0
- package/dist/__tests__/consensus-execution-handoff.test.js.map +1 -1
- package/dist/__tests__/context-safety.test.d.ts +2 -0
- package/dist/__tests__/context-safety.test.d.ts.map +1 -0
- package/dist/__tests__/context-safety.test.js +59 -0
- package/dist/__tests__/context-safety.test.js.map +1 -0
- package/dist/__tests__/hooks.test.js +15 -0
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/hud/call-counts.test.js +0 -3
- package/dist/__tests__/hud/call-counts.test.js.map +1 -1
- package/dist/__tests__/hud/defaults.test.js +3 -5
- package/dist/__tests__/hud/defaults.test.js.map +1 -1
- package/dist/__tests__/hud/prompt-time.test.d.ts +2 -0
- package/dist/__tests__/hud/prompt-time.test.d.ts.map +1 -0
- package/dist/__tests__/hud/prompt-time.test.js +24 -0
- package/dist/__tests__/hud/prompt-time.test.js.map +1 -0
- package/dist/__tests__/hud/render.test.js +0 -1
- package/dist/__tests__/hud/render.test.js.map +1 -1
- package/dist/__tests__/hud/version-display.test.js +1 -0
- package/dist/__tests__/hud/version-display.test.js.map +1 -1
- package/dist/__tests__/hud/windows-platform.test.js +0 -4
- package/dist/__tests__/hud/windows-platform.test.js.map +1 -1
- package/dist/__tests__/hud-windows.test.js +5 -3
- package/dist/__tests__/hud-windows.test.js.map +1 -1
- package/dist/__tests__/installer-hud-skip.test.js +12 -2
- package/dist/__tests__/installer-hud-skip.test.js.map +1 -1
- package/dist/__tests__/job-management-sqlite.test.js +0 -15
- package/dist/__tests__/job-management-sqlite.test.js.map +1 -1
- package/dist/__tests__/job-management.test.js +0 -16
- package/dist/__tests__/job-management.test.js.map +1 -1
- package/dist/__tests__/load-agent-prompt.test.js +0 -23
- package/dist/__tests__/load-agent-prompt.test.js.map +1 -1
- package/dist/__tests__/model-routing.test.js +3 -2
- package/dist/__tests__/model-routing.test.js.map +1 -1
- package/dist/__tests__/omc-tools-server-interop.test.js +1 -1
- package/dist/__tests__/omc-tools-server-interop.test.js.map +1 -1
- package/dist/__tests__/pre-tool-enforcer.test.d.ts +2 -0
- package/dist/__tests__/pre-tool-enforcer.test.d.ts.map +1 -0
- package/dist/__tests__/pre-tool-enforcer.test.js +194 -0
- package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -0
- package/dist/__tests__/prompt-injection.test.js +0 -26
- package/dist/__tests__/prompt-injection.test.js.map +1 -1
- package/dist/__tests__/purge-stale-cache.test.js +3 -2
- package/dist/__tests__/purge-stale-cache.test.js.map +1 -1
- package/dist/__tests__/run-cjs-graceful-fallback.test.d.ts +2 -0
- package/dist/__tests__/run-cjs-graceful-fallback.test.d.ts.map +1 -0
- package/dist/__tests__/run-cjs-graceful-fallback.test.js +167 -0
- package/dist/__tests__/run-cjs-graceful-fallback.test.js.map +1 -0
- package/dist/__tests__/session-start-cache-cleanup.test.d.ts +2 -0
- package/dist/__tests__/session-start-cache-cleanup.test.d.ts.map +1 -0
- package/dist/__tests__/session-start-cache-cleanup.test.js +150 -0
- package/dist/__tests__/session-start-cache-cleanup.test.js.map +1 -0
- package/dist/__tests__/skills.test.js +10 -8
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/__tests__/team-server-validation.test.d.ts +2 -0
- package/dist/__tests__/team-server-validation.test.d.ts.map +1 -0
- package/dist/__tests__/team-server-validation.test.js +122 -0
- package/dist/__tests__/team-server-validation.test.js.map +1 -0
- package/dist/agents/index.d.ts +0 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +0 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/prompt-helpers.d.ts +74 -0
- package/dist/agents/prompt-helpers.d.ts.map +1 -0
- package/dist/agents/prompt-helpers.js +187 -0
- package/dist/agents/prompt-helpers.js.map +1 -0
- package/dist/agents/utils.d.ts +1 -5
- package/dist/agents/utils.d.ts.map +1 -1
- package/dist/agents/utils.js +1 -34
- package/dist/agents/utils.js.map +1 -1
- package/dist/cli/__tests__/launch.test.d.ts +1 -2
- package/dist/cli/__tests__/launch.test.d.ts.map +1 -1
- package/dist/cli/__tests__/launch.test.js +442 -48
- package/dist/cli/__tests__/launch.test.js.map +1 -1
- package/dist/cli/__tests__/teleport-help.test.d.ts +2 -0
- package/dist/cli/__tests__/teleport-help.test.d.ts.map +1 -0
- package/dist/cli/__tests__/teleport-help.test.js +17 -0
- package/dist/cli/__tests__/teleport-help.test.js.map +1 -0
- package/dist/cli/commands/teleport.d.ts +2 -1
- package/dist/cli/commands/teleport.d.ts.map +1 -1
- package/dist/cli/commands/teleport.js +6 -3
- package/dist/cli/commands/teleport.js.map +1 -1
- package/dist/cli/index.js +40 -290
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/launch.d.ts +83 -3
- package/dist/cli/launch.d.ts.map +1 -1
- package/dist/cli/launch.js +213 -48
- package/dist/cli/launch.js.map +1 -1
- package/dist/cli/win32-warning.d.ts +6 -0
- package/dist/cli/win32-warning.d.ts.map +1 -0
- package/dist/cli/win32-warning.js +15 -0
- package/dist/cli/win32-warning.js.map +1 -0
- package/dist/config/loader.d.ts +9 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +29 -19
- package/dist/config/loader.js.map +1 -1
- package/dist/config/models.d.ts +33 -0
- package/dist/config/models.d.ts.map +1 -0
- package/dist/config/models.js +49 -0
- package/dist/config/models.js.map +1 -0
- package/dist/constants/names.d.ts +2 -0
- package/dist/constants/names.d.ts.map +1 -1
- package/dist/constants/names.js +2 -0
- package/dist/constants/names.js.map +1 -1
- package/dist/features/auto-update.d.ts.map +1 -1
- package/dist/features/auto-update.js +21 -11
- package/dist/features/auto-update.js.map +1 -1
- package/dist/features/background-agent/manager.d.ts.map +1 -1
- package/dist/features/background-agent/manager.js +1 -2
- package/dist/features/background-agent/manager.js.map +1 -1
- package/dist/features/boulder-state/storage.d.ts.map +1 -1
- package/dist/features/boulder-state/storage.js +9 -5
- package/dist/features/boulder-state/storage.js.map +1 -1
- package/dist/features/boulder-state/types.d.ts +4 -0
- package/dist/features/boulder-state/types.d.ts.map +1 -1
- package/dist/features/builtin-skills/skills.d.ts.map +1 -1
- package/dist/features/builtin-skills/skills.js +25 -78
- package/dist/features/builtin-skills/skills.js.map +1 -1
- package/dist/features/delegation-enforcer.d.ts.map +1 -1
- package/dist/features/delegation-enforcer.js +4 -1
- package/dist/features/delegation-enforcer.js.map +1 -1
- package/dist/features/delegation-routing/__tests__/resolver.test.js +47 -122
- package/dist/features/delegation-routing/__tests__/resolver.test.js.map +1 -1
- package/dist/features/delegation-routing/resolver.d.ts.map +1 -1
- package/dist/features/delegation-routing/resolver.js +24 -47
- package/dist/features/delegation-routing/resolver.js.map +1 -1
- package/dist/features/delegation-routing/types.d.ts.map +1 -1
- package/dist/features/delegation-routing/types.js +2 -0
- package/dist/features/delegation-routing/types.js.map +1 -1
- package/dist/features/model-routing/external-model-policy.d.ts.map +1 -1
- package/dist/features/model-routing/external-model-policy.js.map +1 -1
- package/dist/features/model-routing/router.d.ts.map +1 -1
- package/dist/features/model-routing/router.js +12 -2
- package/dist/features/model-routing/router.js.map +1 -1
- package/dist/features/model-routing/types.d.ts +5 -1
- package/dist/features/model-routing/types.d.ts.map +1 -1
- package/dist/features/model-routing/types.js +7 -6
- package/dist/features/model-routing/types.js.map +1 -1
- package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/daemon.js +40 -4
- package/dist/features/rate-limit-wait/daemon.js.map +1 -1
- package/dist/features/state-manager/index.js +2 -2
- package/dist/features/state-manager/index.js.map +1 -1
- package/dist/features/task-decomposer/index.js +14 -4
- package/dist/features/task-decomposer/index.js.map +1 -1
- package/dist/hooks/__tests__/bridge-openclaw.test.d.ts +2 -0
- package/dist/hooks/__tests__/bridge-openclaw.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/bridge-openclaw.test.js +124 -0
- package/dist/hooks/__tests__/bridge-openclaw.test.js.map +1 -0
- package/dist/hooks/__tests__/bridge-security.test.js +1 -1
- package/dist/hooks/__tests__/bridge-security.test.js.map +1 -1
- package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
- package/dist/hooks/auto-slash-command/executor.js +38 -61
- package/dist/hooks/auto-slash-command/executor.js.map +1 -1
- package/dist/hooks/autopilot/prompts.js +3 -3
- package/dist/hooks/bridge.d.ts +11 -0
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +154 -82
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/comment-checker/index.d.ts.map +1 -1
- package/dist/hooks/comment-checker/index.js +3 -1
- package/dist/hooks/comment-checker/index.js.map +1 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.js +348 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
- package/dist/hooks/keyword-detector/index.d.ts +29 -0
- package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
- package/dist/hooks/keyword-detector/index.js +123 -1
- package/dist/hooks/keyword-detector/index.js.map +1 -1
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +40 -0
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +1 -1
- package/dist/hooks/mode-registry/index.d.ts.map +1 -1
- package/dist/hooks/mode-registry/index.js +135 -52
- package/dist/hooks/mode-registry/index.js.map +1 -1
- package/dist/hooks/notepad/index.d.ts.map +1 -1
- package/dist/hooks/notepad/index.js +5 -3
- package/dist/hooks/notepad/index.js.map +1 -1
- package/dist/hooks/persistent-mode/__tests__/cancel-race.test.d.ts +2 -0
- package/dist/hooks/persistent-mode/__tests__/cancel-race.test.d.ts.map +1 -0
- package/dist/hooks/persistent-mode/__tests__/cancel-race.test.js +73 -0
- package/dist/hooks/persistent-mode/__tests__/cancel-race.test.js.map +1 -0
- package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js +89 -13
- package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js.map +1 -1
- package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.d.ts +2 -0
- package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.d.ts.map +1 -0
- package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js +156 -0
- package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js.map +1 -0
- package/dist/hooks/persistent-mode/idle-cooldown.test.d.ts +2 -3
- package/dist/hooks/persistent-mode/idle-cooldown.test.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/idle-cooldown.test.js +19 -4
- package/dist/hooks/persistent-mode/idle-cooldown.test.js.map +1 -1
- package/dist/hooks/persistent-mode/index.d.ts +2 -2
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +144 -26
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/plugin-patterns/index.d.ts.map +1 -1
- package/dist/hooks/plugin-patterns/index.js +22 -31
- package/dist/hooks/plugin-patterns/index.js.map +1 -1
- package/dist/hooks/pre-compact/index.js +1 -1
- package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -1
- package/dist/hooks/preemptive-compaction/index.js +3 -1
- package/dist/hooks/preemptive-compaction/index.js.map +1 -1
- package/dist/hooks/project-memory/index.d.ts.map +1 -1
- package/dist/hooks/project-memory/index.js +9 -0
- package/dist/hooks/project-memory/index.js.map +1 -1
- package/dist/hooks/project-memory/learner.d.ts.map +1 -1
- package/dist/hooks/project-memory/learner.js +107 -85
- package/dist/hooks/project-memory/learner.js.map +1 -1
- package/dist/hooks/project-memory/storage.d.ts.map +1 -1
- package/dist/hooks/project-memory/storage.js +3 -2
- package/dist/hooks/project-memory/storage.js.map +1 -1
- package/dist/hooks/recovery/context-window.d.ts +4 -0
- package/dist/hooks/recovery/context-window.d.ts.map +1 -1
- package/dist/hooks/recovery/context-window.js +22 -1
- package/dist/hooks/recovery/context-window.js.map +1 -1
- package/dist/hooks/recovery/session-recovery.js +1 -1
- package/dist/hooks/recovery/session-recovery.js.map +1 -1
- package/dist/hooks/session-end/index.d.ts.map +1 -1
- package/dist/hooks/session-end/index.js +13 -22
- package/dist/hooks/session-end/index.js.map +1 -1
- package/dist/hooks/setup/__tests__/windows-patch.test.d.ts +2 -0
- package/dist/hooks/setup/__tests__/windows-patch.test.d.ts.map +1 -0
- package/dist/hooks/setup/__tests__/windows-patch.test.js +110 -0
- package/dist/hooks/setup/__tests__/windows-patch.test.js.map +1 -0
- package/dist/hooks/setup/index.d.ts +18 -0
- package/dist/hooks/setup/index.d.ts.map +1 -1
- package/dist/hooks/setup/index.js +59 -1
- package/dist/hooks/setup/index.js.map +1 -1
- package/dist/hooks/skill-bridge.cjs +1 -0
- package/dist/hooks/skill-state/__tests__/skill-state.test.d.ts +2 -0
- package/dist/hooks/skill-state/__tests__/skill-state.test.d.ts.map +1 -0
- package/dist/hooks/skill-state/__tests__/skill-state.test.js +301 -0
- package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -0
- package/dist/hooks/skill-state/index.d.ts +79 -0
- package/dist/hooks/skill-state/index.d.ts.map +1 -0
- package/dist/hooks/skill-state/index.js +245 -0
- package/dist/hooks/skill-state/index.js.map +1 -0
- package/dist/hooks/team-pipeline/state.d.ts.map +1 -1
- package/dist/hooks/team-pipeline/state.js +5 -0
- package/dist/hooks/team-pipeline/state.js.map +1 -1
- package/dist/hooks/todo-continuation/index.d.ts +17 -0
- package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
- package/dist/hooks/todo-continuation/index.js +44 -2
- package/dist/hooks/todo-continuation/index.js.map +1 -1
- package/dist/hud/elements/call-counts.d.ts.map +1 -1
- package/dist/hud/elements/call-counts.js +6 -4
- package/dist/hud/elements/call-counts.js.map +1 -1
- package/dist/hud/elements/index.d.ts +1 -0
- package/dist/hud/elements/index.d.ts.map +1 -1
- package/dist/hud/elements/index.js +1 -0
- package/dist/hud/elements/index.js.map +1 -1
- package/dist/hud/elements/prompt-time.d.ts +13 -0
- package/dist/hud/elements/prompt-time.d.ts.map +1 -0
- package/dist/hud/elements/prompt-time.js +21 -0
- package/dist/hud/elements/prompt-time.js.map +1 -0
- package/dist/hud/index.d.ts +2 -1
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +40 -215
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +7 -108
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +4 -3
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/stdin.d.ts +10 -0
- package/dist/hud/stdin.d.ts.map +1 -1
- package/dist/hud/stdin.js +43 -0
- package/dist/hud/stdin.js.map +1 -1
- package/dist/hud/types.d.ts +6 -18
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +6 -46
- package/dist/hud/types.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -11
- package/dist/index.js.map +1 -1
- package/dist/installer/hooks.d.ts +5 -0
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +8 -0
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +26 -11
- package/dist/installer/index.js.map +1 -1
- package/dist/interop/omx-team-state.d.ts.map +1 -1
- package/dist/interop/omx-team-state.js +38 -6
- package/dist/interop/omx-team-state.js.map +1 -1
- package/dist/interop/shared-state.d.ts.map +1 -1
- package/dist/interop/shared-state.js +58 -7
- package/dist/interop/shared-state.js.map +1 -1
- package/dist/lib/__tests__/worktree-paths.test.js +250 -1
- package/dist/lib/__tests__/worktree-paths.test.js.map +1 -1
- package/dist/lib/job-state-db.d.ts +150 -0
- package/dist/lib/job-state-db.d.ts.map +1 -0
- package/dist/lib/job-state-db.js +650 -0
- package/dist/lib/job-state-db.js.map +1 -0
- package/dist/lib/mode-names.d.ts +46 -0
- package/dist/lib/mode-names.d.ts.map +1 -0
- package/dist/lib/mode-names.js +73 -0
- package/dist/lib/mode-names.js.map +1 -0
- package/dist/lib/session-isolation.d.ts +32 -0
- package/dist/lib/session-isolation.d.ts.map +1 -0
- package/dist/lib/session-isolation.js +39 -0
- package/dist/lib/session-isolation.js.map +1 -0
- package/dist/lib/worktree-paths.d.ts +38 -8
- package/dist/lib/worktree-paths.d.ts.map +1 -1
- package/dist/lib/worktree-paths.js +124 -56
- package/dist/lib/worktree-paths.js.map +1 -1
- package/dist/mcp/__tests__/team-cleanup.test.d.ts +11 -0
- package/dist/mcp/__tests__/team-cleanup.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/team-cleanup.test.js +228 -0
- package/dist/mcp/__tests__/team-cleanup.test.js.map +1 -0
- package/dist/mcp/cli-detection.d.ts +4 -8
- package/dist/mcp/cli-detection.d.ts.map +1 -1
- package/dist/mcp/cli-detection.js +5 -8
- package/dist/mcp/cli-detection.js.map +1 -1
- package/dist/mcp/codex-request-normalizer.js +59 -0
- package/dist/mcp/codex-server.js +16 -4
- package/dist/mcp/codex-standalone-server.js +13 -4
- package/dist/mcp/index.d.ts +2 -4
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -5
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/job-management.d.ts.map +1 -1
- package/dist/mcp/job-management.js +11 -9
- package/dist/mcp/job-management.js.map +1 -1
- package/dist/mcp/job-state-db.d.ts +1 -149
- package/dist/mcp/job-state-db.d.ts.map +1 -1
- package/dist/mcp/job-state-db.js +2 -649
- package/dist/mcp/job-state-db.js.map +1 -1
- package/dist/mcp/mcp-config.d.ts +1 -1
- package/dist/mcp/mcp-config.js +1 -1
- package/dist/mcp/prompt-injection.d.ts +14 -76
- package/dist/mcp/prompt-injection.d.ts.map +1 -1
- package/dist/mcp/prompt-injection.js +34 -175
- package/dist/mcp/prompt-injection.js.map +1 -1
- package/dist/mcp/standalone-server.js +2 -0
- package/dist/mcp/standalone-server.js.map +1 -1
- package/dist/mcp/team-server.d.ts +16 -0
- package/dist/mcp/team-server.d.ts.map +1 -0
- package/dist/mcp/team-server.js +356 -0
- package/dist/mcp/team-server.js.map +1 -0
- package/dist/notifications/__tests__/formatter.test.js +62 -0
- package/dist/notifications/__tests__/formatter.test.js.map +1 -1
- package/dist/notifications/__tests__/hook-config.test.d.ts +14 -0
- package/dist/notifications/__tests__/hook-config.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/hook-config.test.js +210 -0
- package/dist/notifications/__tests__/hook-config.test.js.map +1 -0
- package/dist/notifications/__tests__/platform-gating.test.d.ts +12 -0
- package/dist/notifications/__tests__/platform-gating.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/platform-gating.test.js +140 -0
- package/dist/notifications/__tests__/platform-gating.test.js.map +1 -0
- package/dist/notifications/__tests__/template-engine.test.d.ts +13 -0
- package/dist/notifications/__tests__/template-engine.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/template-engine.test.js +378 -0
- package/dist/notifications/__tests__/template-engine.test.js.map +1 -0
- package/dist/notifications/config.d.ts.map +1 -1
- package/dist/notifications/config.js +54 -18
- package/dist/notifications/config.js.map +1 -1
- package/dist/notifications/dispatcher.d.ts +2 -2
- package/dist/notifications/dispatcher.d.ts.map +1 -1
- package/dist/notifications/dispatcher.js +10 -6
- package/dist/notifications/dispatcher.js.map +1 -1
- package/dist/notifications/formatter.d.ts.map +1 -1
- package/dist/notifications/formatter.js +22 -0
- package/dist/notifications/formatter.js.map +1 -1
- package/dist/notifications/hook-config-types.d.ts +44 -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 +36 -0
- package/dist/notifications/hook-config.d.ts.map +1 -0
- package/dist/notifications/hook-config.js +95 -0
- package/dist/notifications/hook-config.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 +31 -3
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/reply-listener.d.ts.map +1 -1
- package/dist/notifications/reply-listener.js +1 -0
- 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 +13 -5
- 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 +248 -0
- package/dist/notifications/template-engine.js.map +1 -0
- package/dist/notifications/types.d.ts +0 -2
- package/dist/notifications/types.d.ts.map +1 -1
- package/dist/openclaw/__tests__/config.test.d.ts +2 -0
- package/dist/openclaw/__tests__/config.test.d.ts.map +1 -0
- package/dist/openclaw/__tests__/config.test.js +200 -0
- package/dist/openclaw/__tests__/config.test.js.map +1 -0
- package/dist/openclaw/__tests__/dispatcher.test.d.ts +2 -0
- package/dist/openclaw/__tests__/dispatcher.test.d.ts.map +1 -0
- package/dist/openclaw/__tests__/dispatcher.test.js +348 -0
- package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -0
- package/dist/openclaw/__tests__/index.test.d.ts +2 -0
- package/dist/openclaw/__tests__/index.test.d.ts.map +1 -0
- package/dist/openclaw/__tests__/index.test.js +235 -0
- package/dist/openclaw/__tests__/index.test.js.map +1 -0
- package/dist/openclaw/config.d.ts +33 -0
- package/dist/openclaw/config.d.ts.map +1 -0
- package/dist/openclaw/config.js +83 -0
- package/dist/openclaw/config.js.map +1 -0
- package/dist/openclaw/dispatcher.d.ts +47 -0
- package/dist/openclaw/dispatcher.d.ts.map +1 -0
- package/dist/openclaw/dispatcher.js +138 -0
- package/dist/openclaw/dispatcher.js.map +1 -0
- package/dist/openclaw/index.d.ts +25 -0
- package/dist/openclaw/index.d.ts.map +1 -0
- package/dist/openclaw/index.js +132 -0
- package/dist/openclaw/index.js.map +1 -0
- package/dist/openclaw/types.d.ts +102 -0
- package/dist/openclaw/types.d.ts.map +1 -0
- package/dist/openclaw/types.js +8 -0
- package/dist/openclaw/types.js.map +1 -0
- package/dist/platform/index.d.ts +5 -0
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/index.js +17 -0
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/process-utils.d.ts.map +1 -1
- package/dist/platform/process-utils.js +55 -9
- package/dist/platform/process-utils.js.map +1 -1
- package/dist/shared/types.d.ts +7 -5
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/team/__tests__/bridge-integration.test.js +10 -8
- package/dist/team/__tests__/bridge-integration.test.js.map +1 -1
- package/dist/team/__tests__/edge-cases.test.js +40 -29
- package/dist/team/__tests__/edge-cases.test.js.map +1 -1
- package/dist/team/__tests__/idle-nudge.test.d.ts +11 -0
- package/dist/team/__tests__/idle-nudge.test.d.ts.map +1 -0
- package/dist/team/__tests__/idle-nudge.test.js +282 -0
- package/dist/team/__tests__/idle-nudge.test.js.map +1 -0
- package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js +2 -2
- package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js.map +1 -1
- package/dist/team/__tests__/mcp-team-bridge.usage.test.d.ts +2 -0
- package/dist/team/__tests__/mcp-team-bridge.usage.test.d.ts.map +1 -0
- package/dist/team/__tests__/mcp-team-bridge.usage.test.js +49 -0
- package/dist/team/__tests__/mcp-team-bridge.usage.test.js.map +1 -0
- package/dist/team/__tests__/model-contract.test.d.ts +2 -0
- package/dist/team/__tests__/model-contract.test.d.ts.map +1 -0
- package/dist/team/__tests__/model-contract.test.js +121 -0
- package/dist/team/__tests__/model-contract.test.js.map +1 -0
- package/dist/team/__tests__/phase-controller.test.d.ts +2 -0
- package/dist/team/__tests__/phase-controller.test.d.ts.map +1 -0
- package/dist/team/__tests__/phase-controller.test.js +45 -0
- package/dist/team/__tests__/phase-controller.test.js.map +1 -0
- package/dist/team/__tests__/runtime-assign.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-assign.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-assign.test.js +43 -0
- package/dist/team/__tests__/runtime-assign.test.js.map +1 -0
- package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-gemini-prompt.test.js +153 -0
- package/dist/team/__tests__/runtime-gemini-prompt.test.js.map +1 -0
- package/dist/team/__tests__/runtime-prompt-mode.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-prompt-mode.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-prompt-mode.test.js +162 -0
- package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -0
- package/dist/team/__tests__/runtime.test.d.ts +2 -0
- package/dist/team/__tests__/runtime.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime.test.js +37 -0
- package/dist/team/__tests__/runtime.test.js.map +1 -0
- package/dist/team/__tests__/task-file-ops.test.js +63 -59
- package/dist/team/__tests__/task-file-ops.test.js.map +1 -1
- package/dist/team/__tests__/team-name.test.d.ts +2 -0
- package/dist/team/__tests__/team-name.test.d.ts.map +1 -0
- package/dist/team/__tests__/team-name.test.js +18 -0
- package/dist/team/__tests__/team-name.test.js.map +1 -0
- package/dist/team/__tests__/team-status.test.js +52 -6
- package/dist/team/__tests__/team-status.test.js.map +1 -1
- package/dist/team/__tests__/tmux-comm.test.d.ts +2 -0
- package/dist/team/__tests__/tmux-comm.test.d.ts.map +1 -0
- package/dist/team/__tests__/tmux-comm.test.js +26 -0
- package/dist/team/__tests__/tmux-comm.test.js.map +1 -0
- package/dist/team/__tests__/tmux-session.create-team.test.d.ts +2 -0
- package/dist/team/__tests__/tmux-session.create-team.test.d.ts.map +1 -0
- package/dist/team/__tests__/tmux-session.create-team.test.js +104 -0
- package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -0
- package/dist/team/__tests__/tmux-session.spawn.test.d.ts +2 -0
- package/dist/team/__tests__/tmux-session.spawn.test.d.ts.map +1 -0
- package/dist/team/__tests__/tmux-session.spawn.test.js +61 -0
- package/dist/team/__tests__/tmux-session.spawn.test.js.map +1 -0
- package/dist/team/__tests__/tmux-session.test.js +161 -2
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.d.ts +2 -0
- package/dist/team/__tests__/worker-bootstrap.test.d.ts.map +1 -0
- package/dist/team/__tests__/worker-bootstrap.test.js +58 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -0
- package/dist/team/bridge-entry.d.ts.map +1 -1
- package/dist/team/bridge-entry.js +4 -0
- package/dist/team/bridge-entry.js.map +1 -1
- package/dist/team/capabilities.d.ts.map +1 -1
- package/dist/team/capabilities.js +3 -0
- package/dist/team/capabilities.js.map +1 -1
- package/dist/team/cli-detection.d.ts +9 -0
- package/dist/team/cli-detection.d.ts.map +1 -0
- package/dist/team/cli-detection.js +29 -0
- package/dist/team/cli-detection.js.map +1 -0
- package/dist/team/idle-nudge.d.ts +53 -0
- package/dist/team/idle-nudge.d.ts.map +1 -0
- package/dist/team/idle-nudge.js +124 -0
- package/dist/team/idle-nudge.js.map +1 -0
- package/dist/team/inbox-outbox.d.ts.map +1 -1
- package/dist/team/inbox-outbox.js +7 -3
- package/dist/team/inbox-outbox.js.map +1 -1
- package/dist/team/index.d.ts +14 -1
- package/dist/team/index.d.ts.map +1 -1
- package/dist/team/index.js +12 -1
- package/dist/team/index.js.map +1 -1
- package/dist/team/mcp-team-bridge.d.ts +9 -0
- package/dist/team/mcp-team-bridge.d.ts.map +1 -1
- package/dist/team/mcp-team-bridge.js +82 -3
- package/dist/team/mcp-team-bridge.js.map +1 -1
- package/dist/team/model-contract.d.ts +37 -0
- package/dist/team/model-contract.d.ts.map +1 -0
- package/dist/team/model-contract.js +139 -0
- package/dist/team/model-contract.js.map +1 -0
- package/dist/team/phase-controller.d.ts +33 -0
- package/dist/team/phase-controller.d.ts.map +1 -0
- package/dist/team/phase-controller.js +79 -0
- package/dist/team/phase-controller.js.map +1 -0
- package/dist/team/runtime-cli.d.ts +9 -0
- package/dist/team/runtime-cli.d.ts.map +1 -0
- package/dist/team/runtime-cli.js +188 -0
- package/dist/team/runtime-cli.js.map +1 -0
- package/dist/team/runtime.d.ts +95 -0
- package/dist/team/runtime.d.ts.map +1 -0
- package/dist/team/runtime.js +692 -0
- package/dist/team/runtime.js.map +1 -0
- package/dist/team/state-paths.d.ts +72 -0
- package/dist/team/state-paths.d.ts.map +1 -0
- package/dist/team/state-paths.js +87 -0
- package/dist/team/state-paths.js.map +1 -0
- package/dist/team/task-file-ops.d.ts +27 -7
- package/dist/team/task-file-ops.d.ts.map +1 -1
- package/dist/team/task-file-ops.js +116 -55
- package/dist/team/task-file-ops.js.map +1 -1
- package/dist/team/team-name.d.ts +2 -0
- package/dist/team/team-name.d.ts.map +1 -0
- package/dist/team/team-name.js +8 -0
- package/dist/team/team-name.js.map +1 -0
- package/dist/team/team-registration.d.ts +1 -1
- package/dist/team/team-registration.d.ts.map +1 -1
- package/dist/team/team-registration.js.map +1 -1
- package/dist/team/team-status.d.ts +11 -1
- package/dist/team/team-status.d.ts.map +1 -1
- package/dist/team/team-status.js +32 -3
- package/dist/team/team-status.js.map +1 -1
- package/dist/team/tmux-comm.d.ts +36 -0
- package/dist/team/tmux-comm.d.ts.map +1 -0
- package/dist/team/tmux-comm.js +115 -0
- package/dist/team/tmux-comm.js.map +1 -0
- package/dist/team/tmux-session.d.ts +92 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +533 -2
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/types.d.ts +10 -3
- package/dist/team/types.d.ts.map +1 -1
- package/dist/team/unified-team.d.ts.map +1 -1
- package/dist/team/unified-team.js +13 -3
- package/dist/team/unified-team.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +39 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -0
- package/dist/team/worker-bootstrap.js +117 -0
- package/dist/team/worker-bootstrap.js.map +1 -0
- package/dist/team/worker-health.d.ts.map +1 -1
- package/dist/team/worker-health.js +15 -3
- package/dist/team/worker-health.js.map +1 -1
- package/dist/tools/ast-tools.js +1 -1
- package/dist/tools/ast-tools.js.map +1 -1
- package/dist/tools/diagnostics/lsp-aggregator.d.ts.map +1 -1
- package/dist/tools/diagnostics/lsp-aggregator.js +4 -2
- package/dist/tools/diagnostics/lsp-aggregator.js.map +1 -1
- package/dist/tools/lsp/__tests__/client-handle-data.test.d.ts +2 -0
- package/dist/tools/lsp/__tests__/client-handle-data.test.d.ts.map +1 -0
- package/dist/tools/lsp/__tests__/client-handle-data.test.js +138 -0
- package/dist/tools/lsp/__tests__/client-handle-data.test.js.map +1 -0
- package/dist/tools/lsp/client.d.ts +13 -0
- package/dist/tools/lsp/client.d.ts.map +1 -1
- package/dist/tools/lsp/client.js +64 -8
- package/dist/tools/lsp/client.js.map +1 -1
- package/dist/tools/lsp/servers.d.ts.map +1 -1
- package/dist/tools/lsp/servers.js +4 -9
- package/dist/tools/lsp/servers.js.map +1 -1
- package/dist/tools/lsp-tools.d.ts.map +1 -1
- package/dist/tools/lsp-tools.js +4 -0
- package/dist/tools/lsp-tools.js.map +1 -1
- package/dist/tools/python-repl/bridge-manager.d.ts.map +1 -1
- package/dist/tools/python-repl/bridge-manager.js +15 -1
- package/dist/tools/python-repl/bridge-manager.js.map +1 -1
- package/dist/tools/python-repl/session-lock.d.ts.map +1 -1
- package/dist/tools/python-repl/session-lock.js +35 -15
- package/dist/tools/python-repl/session-lock.js.map +1 -1
- package/dist/tools/state-tools.d.ts.map +1 -1
- package/dist/tools/state-tools.js +10 -0
- package/dist/tools/state-tools.js.map +1 -1
- package/dist/utils/__tests__/frontmatter.test.d.ts +2 -0
- package/dist/utils/__tests__/frontmatter.test.d.ts.map +1 -0
- package/dist/utils/__tests__/frontmatter.test.js +147 -0
- package/dist/utils/__tests__/frontmatter.test.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +24 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +62 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +4 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/string-width.d.ts.map +1 -1
- package/dist/utils/string-width.js +15 -4
- package/dist/utils/string-width.js.map +1 -1
- package/dist/verification/tier-selector.js +1 -1
- package/dist/verification/tier-selector.js.map +1 -1
- package/docs/AGENTS.md +4 -2
- package/docs/CLAUDE.md +8 -48
- package/docs/MIGRATION.md +114 -0
- package/docs/REFERENCE.md +35 -102
- package/hooks/hooks.json +23 -23
- package/package.json +8 -8
- package/scripts/build-runtime-cli.mjs +24 -0
- package/scripts/build-team-server.mjs +28 -0
- package/scripts/cleanup-orphans.mjs +22 -5
- package/scripts/context-safety.mjs +5 -1
- package/scripts/demo-team.mjs +26 -0
- package/scripts/keyword-detector.mjs +6 -76
- package/scripts/openclaw-gateway-demo.mjs +168 -0
- package/scripts/persistent-mode.cjs +30 -4
- package/scripts/persistent-mode.mjs +48 -3
- package/scripts/plugin-setup.mjs +66 -3
- package/scripts/post-tool-use-failure.mjs +20 -2
- package/scripts/post-tool-verifier.mjs +57 -6
- package/scripts/pre-tool-enforcer.mjs +125 -5
- package/scripts/run.cjs +114 -0
- package/scripts/session-start.mjs +56 -7
- package/scripts/status.mjs +144 -0
- package/scripts/test-codex-gemini-team.mjs +78 -0
- package/skills/AGENTS.md +5 -2
- package/skills/analyze/SKILL.md +5 -11
- package/skills/autopilot/SKILL.md +16 -25
- package/skills/ccg/SKILL.md +88 -99
- package/skills/configure-notifications/SKILL.md +177 -0
- package/skills/configure-openclaw/SKILL.md +320 -0
- package/skills/external-context/SKILL.md +7 -83
- package/skills/hud/SKILL.md +68 -46
- package/skills/omc-setup/SKILL.md +58 -19
- package/skills/omc-teams/SKILL.md +178 -0
- package/skills/pipeline/SKILL.md +4 -4
- package/skills/plan/SKILL.md +28 -16
- package/skills/ralph/SKILL.md +3 -4
- package/skills/ralph-init/SKILL.md +3 -1
- package/skills/ralplan/SKILL.md +93 -8
- package/skills/security-review/SKILL.md +5 -6
- package/skills/tdd/SKILL.md +5 -6
- package/skills/team/SKILL.md +35 -34
- package/templates/hooks/keyword-detector.mjs +11 -82
- package/templates/hooks/persistent-mode.mjs +120 -3
- package/templates/hooks/post-tool-use-failure.mjs +20 -2
- package/templates/hooks/session-start.mjs +2 -16
- package/dist/__tests__/analytics/backfill-dedup.test.d.ts +0 -2
- package/dist/__tests__/analytics/backfill-dedup.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/backfill-dedup.test.js +0 -179
- package/dist/__tests__/analytics/backfill-dedup.test.js.map +0 -1
- package/dist/__tests__/analytics/backfill-engine.test.d.ts +0 -2
- package/dist/__tests__/analytics/backfill-engine.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/backfill-engine.test.js +0 -362
- package/dist/__tests__/analytics/backfill-engine.test.js.map +0 -1
- package/dist/__tests__/analytics/output-estimator.test.d.ts +0 -2
- package/dist/__tests__/analytics/output-estimator.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/output-estimator.test.js +0 -124
- package/dist/__tests__/analytics/output-estimator.test.js.map +0 -1
- package/dist/__tests__/analytics/token-extractor.test.d.ts +0 -2
- package/dist/__tests__/analytics/token-extractor.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/token-extractor.test.js +0 -165
- package/dist/__tests__/analytics/token-extractor.test.js.map +0 -1
- package/dist/__tests__/analytics/token-tracker.test.d.ts +0 -2
- package/dist/__tests__/analytics/token-tracker.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/token-tracker.test.js +0 -189
- package/dist/__tests__/analytics/token-tracker.test.js.map +0 -1
- package/dist/__tests__/analytics/tokscale-adapter.test.d.ts +0 -2
- package/dist/__tests__/analytics/tokscale-adapter.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/tokscale-adapter.test.js +0 -79
- package/dist/__tests__/analytics/tokscale-adapter.test.js.map +0 -1
- package/dist/__tests__/analytics/transcript-parser.test.d.ts +0 -2
- package/dist/__tests__/analytics/transcript-parser.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/transcript-parser.test.js +0 -285
- package/dist/__tests__/analytics/transcript-parser.test.js.map +0 -1
- package/dist/__tests__/analytics/transcript-scanner.test.d.ts +0 -2
- package/dist/__tests__/analytics/transcript-scanner.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/transcript-scanner.test.js +0 -443
- package/dist/__tests__/analytics/transcript-scanner.test.js.map +0 -1
- package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts +0 -2
- package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/transcript-token-extractor.test.js +0 -177
- package/dist/__tests__/analytics/transcript-token-extractor.test.js.map +0 -1
- package/dist/analytics/analytics-summary.d.ts +0 -47
- package/dist/analytics/analytics-summary.d.ts.map +0 -1
- package/dist/analytics/analytics-summary.js +0 -171
- package/dist/analytics/analytics-summary.js.map +0 -1
- package/dist/analytics/backfill-dedup.d.ts +0 -49
- package/dist/analytics/backfill-dedup.d.ts.map +0 -1
- package/dist/analytics/backfill-dedup.js +0 -115
- package/dist/analytics/backfill-dedup.js.map +0 -1
- package/dist/analytics/backfill-engine.d.ts +0 -59
- package/dist/analytics/backfill-engine.d.ts.map +0 -1
- package/dist/analytics/backfill-engine.js +0 -172
- package/dist/analytics/backfill-engine.js.map +0 -1
- package/dist/analytics/cost-estimator.d.ts +0 -29
- package/dist/analytics/cost-estimator.d.ts.map +0 -1
- package/dist/analytics/cost-estimator.js +0 -135
- package/dist/analytics/cost-estimator.js.map +0 -1
- package/dist/analytics/export.d.ts +0 -7
- package/dist/analytics/export.d.ts.map +0 -1
- package/dist/analytics/export.js +0 -93
- package/dist/analytics/export.js.map +0 -1
- package/dist/analytics/index.d.ts +0 -24
- package/dist/analytics/index.d.ts.map +0 -1
- package/dist/analytics/index.js +0 -30
- package/dist/analytics/index.js.map +0 -1
- package/dist/analytics/metrics-collector.d.ts +0 -30
- package/dist/analytics/metrics-collector.d.ts.map +0 -1
- package/dist/analytics/metrics-collector.js +0 -96
- package/dist/analytics/metrics-collector.js.map +0 -1
- package/dist/analytics/output-estimator.d.ts +0 -26
- package/dist/analytics/output-estimator.d.ts.map +0 -1
- package/dist/analytics/output-estimator.js +0 -65
- package/dist/analytics/output-estimator.js.map +0 -1
- package/dist/analytics/query-engine.d.ts +0 -35
- package/dist/analytics/query-engine.d.ts.map +0 -1
- package/dist/analytics/query-engine.js +0 -239
- package/dist/analytics/query-engine.js.map +0 -1
- package/dist/analytics/session-catalog.d.ts +0 -45
- package/dist/analytics/session-catalog.d.ts.map +0 -1
- package/dist/analytics/session-catalog.js +0 -153
- package/dist/analytics/session-catalog.js.map +0 -1
- package/dist/analytics/session-manager.d.ts +0 -58
- package/dist/analytics/session-manager.d.ts.map +0 -1
- package/dist/analytics/session-manager.js +0 -396
- package/dist/analytics/session-manager.js.map +0 -1
- package/dist/analytics/session-types.d.ts +0 -37
- package/dist/analytics/session-types.d.ts.map +0 -1
- package/dist/analytics/session-types.js +0 -2
- package/dist/analytics/session-types.js.map +0 -1
- package/dist/analytics/token-extractor.d.ts +0 -31
- package/dist/analytics/token-extractor.d.ts.map +0 -1
- package/dist/analytics/token-extractor.js +0 -57
- package/dist/analytics/token-extractor.js.map +0 -1
- package/dist/analytics/token-tracker.d.ts +0 -33
- package/dist/analytics/token-tracker.d.ts.map +0 -1
- package/dist/analytics/token-tracker.js +0 -443
- package/dist/analytics/token-tracker.js.map +0 -1
- package/dist/analytics/tokscale-adapter.d.ts +0 -71
- package/dist/analytics/tokscale-adapter.d.ts.map +0 -1
- package/dist/analytics/tokscale-adapter.js +0 -223
- package/dist/analytics/tokscale-adapter.js.map +0 -1
- package/dist/analytics/transcript-parser.d.ts +0 -42
- package/dist/analytics/transcript-parser.d.ts.map +0 -1
- package/dist/analytics/transcript-parser.js +0 -90
- package/dist/analytics/transcript-parser.js.map +0 -1
- package/dist/analytics/transcript-scanner.d.ts +0 -51
- package/dist/analytics/transcript-scanner.d.ts.map +0 -1
- package/dist/analytics/transcript-scanner.js +0 -279
- package/dist/analytics/transcript-scanner.js.map +0 -1
- package/dist/analytics/transcript-token-extractor.d.ts +0 -35
- package/dist/analytics/transcript-token-extractor.d.ts.map +0 -1
- package/dist/analytics/transcript-token-extractor.js +0 -136
- package/dist/analytics/transcript-token-extractor.js.map +0 -1
- package/dist/analytics/types.d.ts +0 -119
- package/dist/analytics/types.d.ts.map +0 -1
- package/dist/analytics/types.js +0 -32
- package/dist/analytics/types.js.map +0 -1
- package/dist/cli/analytics.d.ts +0 -3
- package/dist/cli/analytics.d.ts.map +0 -1
- package/dist/cli/analytics.js +0 -105
- package/dist/cli/analytics.js.map +0 -1
- package/dist/cli/commands/agents.d.ts +0 -5
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -31
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/backfill.d.ts +0 -15
- package/dist/cli/commands/backfill.d.ts.map +0 -1
- package/dist/cli/commands/backfill.js +0 -146
- package/dist/cli/commands/backfill.js.map +0 -1
- package/dist/cli/commands/cleanup.d.ts +0 -4
- package/dist/cli/commands/cleanup.d.ts.map +0 -1
- package/dist/cli/commands/cleanup.js +0 -31
- package/dist/cli/commands/cleanup.js.map +0 -1
- package/dist/cli/commands/cost.d.ts +0 -4
- package/dist/cli/commands/cost.d.ts.map +0 -1
- package/dist/cli/commands/cost.js +0 -53
- package/dist/cli/commands/cost.js.map +0 -1
- package/dist/cli/commands/export.d.ts +0 -5
- package/dist/cli/commands/export.d.ts.map +0 -1
- package/dist/cli/commands/export.js +0 -30
- package/dist/cli/commands/export.js.map +0 -1
- package/dist/cli/commands/sessions.d.ts +0 -5
- package/dist/cli/commands/sessions.d.ts.map +0 -1
- package/dist/cli/commands/sessions.js +0 -89
- package/dist/cli/commands/sessions.js.map +0 -1
- package/dist/cli/commands/stats.d.ts +0 -5
- package/dist/cli/commands/stats.d.ts.map +0 -1
- package/dist/cli/commands/stats.js +0 -84
- package/dist/cli/commands/stats.js.map +0 -1
- package/dist/cli/utils/tokscale-launcher.d.ts +0 -25
- package/dist/cli/utils/tokscale-launcher.d.ts.map +0 -1
- package/dist/cli/utils/tokscale-launcher.js +0 -70
- package/dist/cli/utils/tokscale-launcher.js.map +0 -1
- package/dist/hud/analytics-display.d.ts +0 -63
- package/dist/hud/analytics-display.d.ts.map +0 -1
- package/dist/hud/analytics-display.js +0 -190
- package/dist/hud/analytics-display.js.map +0 -1
- package/scripts/build-codex-server.mjs +0 -95
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Live test: spawn a 2-worker tmux team with Codex + Gemini CLI workers.
|
|
4
|
+
* Must be run inside tmux. Panes will appear in the current window.
|
|
5
|
+
* Usage: node scripts/test-codex-gemini-team.mjs
|
|
6
|
+
*/
|
|
7
|
+
import { startTeam, monitorTeam, shutdownTeam } from '../dist/team/runtime.js';
|
|
8
|
+
|
|
9
|
+
const CWD = process.cwd();
|
|
10
|
+
|
|
11
|
+
const config = {
|
|
12
|
+
teamName: 'cgtest',
|
|
13
|
+
workerCount: 2,
|
|
14
|
+
agentTypes: ['codex', 'gemini'],
|
|
15
|
+
tasks: [
|
|
16
|
+
{
|
|
17
|
+
subject: 'Write a haiku about tmux split panes',
|
|
18
|
+
description: [
|
|
19
|
+
'Write a haiku (3 lines, 5-7-5 syllables) about tmux split panes.',
|
|
20
|
+
'Save the haiku to the file: ' + CWD + '/done.json',
|
|
21
|
+
'The file should be valid JSON: {"taskId":"1","status":"completed","summary":"<your haiku here>","completedAt":"' + new Date().toISOString() + '"}',
|
|
22
|
+
'Write the file and exit.',
|
|
23
|
+
].join(' '),
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
subject: 'Write a haiku about AI collaboration',
|
|
27
|
+
description: [
|
|
28
|
+
'Write a haiku (3 lines, 5-7-5 syllables) about AI models collaborating.',
|
|
29
|
+
'Save the haiku to the file: ' + CWD + '/farewell.txt',
|
|
30
|
+
'The file should contain just the haiku text.',
|
|
31
|
+
'Write the file and exit.',
|
|
32
|
+
].join(' '),
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
cwd: CWD,
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
console.log('\n🚀 Starting tmux team "cgtest" with Codex + Gemini workers...\n');
|
|
39
|
+
|
|
40
|
+
const runtime = await startTeam(config);
|
|
41
|
+
|
|
42
|
+
console.log('✅ Team started!');
|
|
43
|
+
console.log(` tmux target : ${runtime.sessionName}`);
|
|
44
|
+
console.log(` workers : ${runtime.workerNames.join(', ')}`);
|
|
45
|
+
console.log(` pane IDs : ${runtime.workerPaneIds.join(', ')}`);
|
|
46
|
+
console.log('\n⏳ Monitoring... (polling every 5s, timeout 120s)\n');
|
|
47
|
+
|
|
48
|
+
const deadline = Date.now() + 120_000;
|
|
49
|
+
let done = false;
|
|
50
|
+
|
|
51
|
+
while (Date.now() < deadline && !done) {
|
|
52
|
+
await new Promise(r => setTimeout(r, 5000));
|
|
53
|
+
const snap = await monitorTeam(runtime.teamName, runtime.cwd, runtime.workerPaneIds);
|
|
54
|
+
const { pending, inProgress, completed, failed } = snap.taskCounts;
|
|
55
|
+
console.log(` [${new Date().toLocaleTimeString()}] phase=${snap.phase} pending=${pending} inProgress=${inProgress} completed=${completed} failed=${failed}`);
|
|
56
|
+
snap.deadWorkers.forEach(w => console.log(` ⚠️ dead worker: ${w}`));
|
|
57
|
+
if (snap.phase === 'completed' || snap.phase === 'failed') {
|
|
58
|
+
done = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (!done) {
|
|
63
|
+
console.log('\n⚠️ Timeout — shutting down anyway\n');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
console.log('\n🛑 Shutting down team...');
|
|
67
|
+
await shutdownTeam(runtime.teamName, runtime.sessionName, runtime.cwd, 15_000, runtime.workerPaneIds, runtime.leaderPaneId);
|
|
68
|
+
console.log('✅ Team shut down cleanly.\n');
|
|
69
|
+
|
|
70
|
+
// Show results
|
|
71
|
+
import { readFileSync, existsSync } from 'fs';
|
|
72
|
+
if (existsSync(CWD + '/done.json')) {
|
|
73
|
+
const d = JSON.parse(readFileSync(CWD + '/done.json', 'utf-8'));
|
|
74
|
+
console.log('📄 Codex result (done.json):', d.summary || d);
|
|
75
|
+
}
|
|
76
|
+
if (existsSync(CWD + '/farewell.txt')) {
|
|
77
|
+
console.log('📄 Gemini result (farewell.txt):\n' + readFileSync(CWD + '/farewell.txt', 'utf-8'));
|
|
78
|
+
}
|
package/skills/AGENTS.md
CHANGED
|
@@ -31,7 +31,7 @@ Skills are reusable workflow templates that can be invoked via `/oh-my-claudecod
|
|
|
31
31
|
| File | Skill | Purpose |
|
|
32
32
|
|-----------|-------|---------|
|
|
33
33
|
| `plan/SKILL.md` | plan | Strategic planning with interview workflow |
|
|
34
|
-
| `ralplan/SKILL.md` | ralplan | Iterative planning (Planner+Architect+Critic) |
|
|
34
|
+
| `ralplan/SKILL.md` | ralplan | Iterative planning (Planner+Architect+Critic) with RALPLAN-DR structured deliberation (`--deliberate` for high-risk) |
|
|
35
35
|
| `review/SKILL.md` | review | Review plan with Critic |
|
|
36
36
|
| `analyze/SKILL.md` | analyze | Deep analysis and investigation |
|
|
37
37
|
| `ralph-init/SKILL.md` | ralph-init | Initialize PRD for structured ralph |
|
|
@@ -197,4 +197,7 @@ Some skills activate automatically based on context:
|
|
|
197
197
|
| git-master | Git operations detected |
|
|
198
198
|
| cancel | "stop", "cancel", "abort" |
|
|
199
199
|
|
|
200
|
-
<!-- MANUAL:
|
|
200
|
+
<!-- MANUAL:
|
|
201
|
+
- Team runtime wait semantics: `omc_run_team_wait.timeout_ms` only limits the wait call and does not stop workers.
|
|
202
|
+
- `timeoutSeconds` is removed from `omc_run_team_start`; use explicit `omc_run_team_cleanup` for intentional worker pane termination.
|
|
203
|
+
-->
|
package/skills/analyze/SKILL.md
CHANGED
|
@@ -4,7 +4,7 @@ description: Deep analysis and investigation
|
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
<Purpose>
|
|
7
|
-
Analyze performs deep investigation of architecture, bugs, performance issues, and dependencies. It routes to the architect agent
|
|
7
|
+
Analyze performs deep investigation of architecture, bugs, performance issues, and dependencies. It routes to the architect Claude agent for thorough analysis and returns structured findings with evidence.
|
|
8
8
|
</Purpose>
|
|
9
9
|
|
|
10
10
|
<Use_When>
|
|
@@ -27,26 +27,20 @@ Deep investigation requires a different approach than quick lookups or code chan
|
|
|
27
27
|
</Why_This_Exists>
|
|
28
28
|
|
|
29
29
|
<Execution_Policy>
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- Always provide context files to the analysis tool for grounded reasoning
|
|
30
|
+
- Route analysis to the architect Claude agent for thorough investigation
|
|
31
|
+
- Always gather context files before spawning the architect agent for grounded reasoning
|
|
33
32
|
- Return structured findings, not just raw observations
|
|
34
33
|
</Execution_Policy>
|
|
35
34
|
|
|
36
35
|
<Steps>
|
|
37
36
|
1. **Identify the analysis type**: Architecture, bug investigation, performance, or dependency analysis
|
|
38
37
|
2. **Gather relevant context**: Read or identify the key files involved
|
|
39
|
-
3. **Route to analyzer**:
|
|
40
|
-
- Preferred: `ask_codex` with `agent_role: "architect"` and relevant `context_files`
|
|
41
|
-
- Fallback: `Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="Analyze: ...")`
|
|
38
|
+
3. **Route to analyzer**: `Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="Analyze: ...")`
|
|
42
39
|
4. **Return structured findings**: Present the analysis with evidence, file references, and actionable recommendations
|
|
43
40
|
</Steps>
|
|
44
41
|
|
|
45
42
|
<Tool_Usage>
|
|
46
|
-
-
|
|
47
|
-
- Use `ask_codex` with `agent_role: "architect"` as the preferred analysis route
|
|
48
|
-
- Pass `context_files` with all relevant source files for grounded analysis
|
|
49
|
-
- Use `Task(subagent_type="oh-my-claudecode:architect", model="opus", ...)` as fallback when ToolSearch finds no MCP tools or Codex is unavailable
|
|
43
|
+
- Use `Task(subagent_type="oh-my-claudecode:architect", model="opus", ...)` as the primary analysis route
|
|
50
44
|
- For broad analysis, use `explore` agent first to identify relevant files before routing to architect
|
|
51
45
|
</Tool_Usage>
|
|
52
46
|
|
|
@@ -46,9 +46,8 @@ Most non-trivial software tasks require coordinated phases: understanding requir
|
|
|
46
46
|
- Output: `.omc/plans/autopilot-impl.md`
|
|
47
47
|
|
|
48
48
|
3. **Phase 2 - Execution**: Implement the plan using Ralph + Ultrawork
|
|
49
|
-
- Executor
|
|
50
|
-
-
|
|
51
|
-
- Executor-high (Opus): Complex tasks
|
|
49
|
+
- Executor (Sonnet): Standard implementation tasks
|
|
50
|
+
- Deep-executor (Opus): Complex autonomous tasks
|
|
52
51
|
- Run independent tasks in parallel
|
|
53
52
|
|
|
54
53
|
4. **Phase 3 - QA**: Cycle until all tests pass (UltraQA mode)
|
|
@@ -62,18 +61,14 @@ Most non-trivial software tasks require coordinated phases: understanding requir
|
|
|
62
61
|
- Code-reviewer: Quality review
|
|
63
62
|
- All must approve; fix and re-validate on rejection
|
|
64
63
|
|
|
65
|
-
6. **Phase 5 - Cleanup**: Delete all state files on successful completion
|
|
66
|
-
- Remove `.omc/state/autopilot-state.json`, `ralph-state.json`, `ultrawork-state.json`, `ultraqa-state.json`
|
|
67
|
-
- Run `/oh-my-claudecode:cancel` for clean exit
|
|
68
64
|
</Steps>
|
|
69
65
|
|
|
70
66
|
<Tool_Usage>
|
|
71
|
-
-
|
|
72
|
-
- Use `
|
|
73
|
-
- Use `
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
- If ToolSearch finds no MCP tools or Codex is unavailable, proceed without it -- never block on external tools
|
|
67
|
+
- Use `Task(subagent_type="oh-my-claudecode:architect", ...)` for Phase 4 architecture validation
|
|
68
|
+
- Use `Task(subagent_type="oh-my-claudecode:security-reviewer", ...)` for Phase 4 security review
|
|
69
|
+
- Use `Task(subagent_type="oh-my-claudecode:code-reviewer", ...)` for Phase 4 quality review
|
|
70
|
+
- Agents form their own analysis first, then spawn Claude Task agents for cross-validation
|
|
71
|
+
- Never block on external tools; proceed with available agents if delegation fails
|
|
77
72
|
</Tool_Usage>
|
|
78
73
|
|
|
79
74
|
<Examples>
|
|
@@ -117,21 +112,17 @@ Why bad: This is an exploration/brainstorming request. Respond conversationally
|
|
|
117
112
|
<Advanced>
|
|
118
113
|
## Configuration
|
|
119
114
|
|
|
120
|
-
|
|
115
|
+
Default values used internally (passed programmatically via the `config` parameter to `initAutopilot`):
|
|
121
116
|
|
|
122
117
|
```json
|
|
123
118
|
{
|
|
124
|
-
"
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
"skipQa": false,
|
|
132
|
-
"skipValidation": false
|
|
133
|
-
}
|
|
134
|
-
}
|
|
119
|
+
"maxIterations": 10,
|
|
120
|
+
"maxQaCycles": 5,
|
|
121
|
+
"maxValidationRounds": 3,
|
|
122
|
+
"pauseAfterExpansion": false,
|
|
123
|
+
"pauseAfterPlanning": false,
|
|
124
|
+
"skipQa": false,
|
|
125
|
+
"skipValidation": false
|
|
135
126
|
}
|
|
136
127
|
```
|
|
137
128
|
|
|
@@ -148,7 +139,7 @@ If autopilot was cancelled or failed, run `/oh-my-claudecode:autopilot` again to
|
|
|
148
139
|
|
|
149
140
|
## Troubleshooting
|
|
150
141
|
|
|
151
|
-
**Stuck in a phase?** Check TODO list for blocked tasks, review `.omc/autopilot-state.json`, or cancel and resume.
|
|
142
|
+
**Stuck in a phase?** Check TODO list for blocked tasks, review `.omc/state/autopilot-state.json`, or cancel and resume.
|
|
152
143
|
|
|
153
144
|
**QA cycles exhausted?** The same error 3 times indicates a fundamental issue. Review the error pattern; manual intervention may be needed.
|
|
154
145
|
|
package/skills/ccg/SKILL.md
CHANGED
|
@@ -3,136 +3,125 @@ name: ccg
|
|
|
3
3
|
description: Claude-Codex-Gemini tri-model orchestration - fans out backend tasks to Codex and frontend/UI tasks to Gemini in parallel, then Claude synthesizes results
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# CCG
|
|
6
|
+
# CCG - Claude-Codex-Gemini Tri-Model Orchestration
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
CCG spawns a tmux team with Codex and Gemini CLI workers running in parallel panes, then Claude synthesizes the results. Use this for tasks that benefit from multiple AI perspectives simultaneously.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## When to Use
|
|
11
11
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
12
|
+
- Backend/analysis + frontend/UI work that can run truly in parallel
|
|
13
|
+
- Code review from multiple perspectives (architecture + style simultaneously)
|
|
14
|
+
- Research tasks where different models have complementary strengths
|
|
15
|
+
- Any task you want to split across Codex (analytical) and Gemini (design/creative) workers
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
## Requirements
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
- **Codex CLI**: `npm install -g @openai/codex` (or `@openai/codex`)
|
|
20
|
+
- **Gemini CLI**: `npm install -g @google/gemini-cli`
|
|
21
|
+
- **tmux**: Must be running inside a tmux session
|
|
22
|
+
- If either CLI is unavailable, CCG falls back to Claude-only execution
|
|
19
23
|
|
|
20
|
-
|
|
24
|
+
## How It Works
|
|
21
25
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
### Phase 1: Decompose
|
|
26
|
+
```
|
|
27
|
+
1. Claude decomposes the request into:
|
|
28
|
+
- Backend/analytical tasks → Codex worker
|
|
29
|
+
- Frontend/UI/design tasks → Gemini worker
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
2. mcp__team__omc_run_team_start creates a tmux session with 2 workers:
|
|
32
|
+
omc-team-{name}
|
|
33
|
+
├── Leader pane (Claude orchestrates)
|
|
34
|
+
├── Worker pane 1: codex CLI (analytical tasks)
|
|
35
|
+
└── Worker pane 2: gemini CLI (design tasks)
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
3. Workers read tasks from inbox files and write done.json on completion
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
4. mcp__team__omc_run_team_wait blocks until all workers finish
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
2. Call `ask_codex` MCP tool:
|
|
40
|
-
- `agent_role`: pick from `architect`, `executor`, `code-reviewer`, `security-reviewer`, `planner`, `critic`
|
|
41
|
-
- `prompt_file`: the file you just wrote
|
|
42
|
-
- `output_file`: `.omc/prompts/codex-{purpose}-{timestamp}-output.md`
|
|
43
|
-
- `context_files`: relevant source files
|
|
44
|
-
- `background: true` for non-blocking execution
|
|
41
|
+
5. Claude reads taskResults and synthesizes into final output
|
|
42
|
+
```
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
1. Write prompt to `.omc/prompts/gemini-{purpose}-{timestamp}.md`
|
|
48
|
-
2. Call `ask_gemini` MCP tool:
|
|
49
|
-
- `agent_role`: pick from `designer`, `writer`, `vision`
|
|
50
|
-
- `prompt_file`: the file you just wrote
|
|
51
|
-
- `output_file`: `.omc/prompts/gemini-{purpose}-{timestamp}-output.md`
|
|
52
|
-
- `files`: relevant source files
|
|
53
|
-
- `background: true` for non-blocking execution
|
|
44
|
+
## Execution Protocol
|
|
54
45
|
|
|
55
|
-
|
|
46
|
+
When invoked, Claude MUST follow this workflow:
|
|
56
47
|
|
|
57
|
-
|
|
48
|
+
### 1. Decompose Request
|
|
49
|
+
Split the user's request into:
|
|
50
|
+
- **Codex tasks**: code analysis, architecture review, backend logic, security review, test strategy
|
|
51
|
+
- **Gemini tasks**: UI/UX design, documentation, visual analysis, large-context file review
|
|
52
|
+
- **Synthesis task**: Claude combines results (always done by Claude, not delegated)
|
|
58
53
|
|
|
59
|
-
|
|
54
|
+
Choose a short `teamName` slug (e.g., `ccg-auth-review`).
|
|
60
55
|
|
|
61
|
-
|
|
62
|
-
1. Reconciles any conflicts (e.g., API shape vs component props)
|
|
63
|
-
2. Integrates backend + frontend solutions into a cohesive whole
|
|
64
|
-
3. Applies cross-cutting concerns (error handling, typing, auth)
|
|
65
|
-
4. Implements any remaining integration glue code
|
|
56
|
+
### 2. Start the team (non-blocking)
|
|
66
57
|
|
|
67
|
-
|
|
58
|
+
Call `mcp__team__omc_run_team_start` — spawns workers in the background and returns a `jobId` immediately:
|
|
68
59
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
60
|
+
```
|
|
61
|
+
mcp__team__omc_run_team_start({
|
|
62
|
+
"teamName": "ccg-{slug}",
|
|
63
|
+
"agentTypes": ["codex", "gemini"],
|
|
64
|
+
"tasks": [
|
|
65
|
+
{"subject": "Codex task: ...", "description": "Full description of analytical work..."},
|
|
66
|
+
{"subject": "Gemini task: ...", "description": "Full description of design/UI work..."}
|
|
67
|
+
],
|
|
68
|
+
"cwd": "{cwd}"
|
|
69
|
+
})
|
|
70
|
+
```
|
|
77
71
|
|
|
78
|
-
|
|
72
|
+
Returns: `{ "jobId": "omc-...", "pid": 12345, "message": "Team started in background..." }`
|
|
79
73
|
|
|
80
|
-
###
|
|
81
|
-
- React/Vue/Svelte component implementation
|
|
82
|
-
- CSS, Tailwind, styled-components
|
|
83
|
-
- Responsive layouts and visual design
|
|
84
|
-
- UI/UX review and heuristic audits
|
|
85
|
-
- Large-scale documentation (1M token context)
|
|
86
|
-
- Image/screenshot/diagram analysis
|
|
74
|
+
### 3. Wait for completion
|
|
87
75
|
|
|
88
|
-
|
|
76
|
+
Call `mcp__team__omc_run_team_wait` — blocks internally until done:
|
|
89
77
|
|
|
90
|
-
|
|
78
|
+
```
|
|
79
|
+
mcp__team__omc_run_team_wait({
|
|
80
|
+
"job_id": "{jobId}",
|
|
81
|
+
"timeout_ms": 60000
|
|
82
|
+
})
|
|
83
|
+
```
|
|
91
84
|
|
|
92
|
-
|
|
85
|
+
> **Timeout guidance:** `timeout_ms` is optional; the default wait timeout is fine.
|
|
86
|
+
> If wait times out, workers/panes keep running. Call `omc_run_team_wait` again to keep
|
|
87
|
+
> waiting. Use `omc_run_team_cleanup` only for explicit cancel intent.
|
|
88
|
+
|
|
89
|
+
Returns when done:
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"status": "completed|failed",
|
|
93
|
+
"result": {
|
|
94
|
+
"taskResults": [
|
|
95
|
+
{"taskId": "1", "status": "completed", "summary": "..."},
|
|
96
|
+
{"taskId": "2", "status": "completed", "summary": "..."}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
93
101
|
|
|
94
|
-
|
|
102
|
+
### 4. Synthesize Results
|
|
95
103
|
|
|
96
|
-
|
|
104
|
+
Parse `result.taskResults` and synthesize Codex + Gemini outputs into a unified response for the user.
|
|
97
105
|
|
|
98
|
-
##
|
|
106
|
+
## Fallback (CLIs Not Available)
|
|
99
107
|
|
|
100
|
-
|
|
108
|
+
CLI availability is checked by the MCP runtime automatically. If a CLI is not installed, the worker exits with `command not found`. In that case, fall back to Claude Task agents:
|
|
101
109
|
|
|
102
110
|
```
|
|
103
|
-
CCG
|
|
104
|
-
|
|
105
|
-
Decomposition:
|
|
106
|
-
Backend → Codex: /api/users/:id endpoint, Prisma user model, auth middleware
|
|
107
|
-
Frontend → Gemini: React UserProfile component, avatar, form, responsive layout
|
|
108
|
-
|
|
109
|
-
Fan-out (parallel):
|
|
110
|
-
[Codex] Implementing REST endpoint + data layer...
|
|
111
|
-
[Gemini] Designing UserProfile component + styling...
|
|
112
|
-
|
|
113
|
-
[Both complete]
|
|
114
|
-
|
|
115
|
-
Synthesis:
|
|
116
|
-
- Align API response type with React component props
|
|
117
|
-
- Wire fetch hook to /api/users/:id endpoint
|
|
118
|
-
- Add error boundary and loading state across layers
|
|
119
|
-
- Export unified UserProfilePage with data fetching
|
|
111
|
+
[CCG] Codex/Gemini CLI not found. Falling back to Claude-only execution.
|
|
120
112
|
```
|
|
121
113
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
| Combination | Effect |
|
|
127
|
-
|-------------|--------|
|
|
128
|
-
| `ccg ralph` | CCG loop with ralph persistence until verified complete |
|
|
129
|
-
| `ccg ultrawork` | CCG with max parallelism within each model |
|
|
130
|
-
| `ccg team` | CCG orchestration within a multi-agent team |
|
|
114
|
+
Use standard Claude Task agents instead:
|
|
115
|
+
- `Task(subagent_type="oh-my-claudecode:executor", model="sonnet", ...)` for analytical tasks
|
|
116
|
+
- `Task(subagent_type="oh-my-claudecode:designer", model="sonnet", ...)` for design tasks
|
|
131
117
|
|
|
132
|
-
##
|
|
118
|
+
## Invocation
|
|
133
119
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
120
|
+
```
|
|
121
|
+
/oh-my-claudecode:ccg [task description]
|
|
122
|
+
```
|
|
137
123
|
|
|
138
|
-
|
|
124
|
+
Example:
|
|
125
|
+
```
|
|
126
|
+
/oh-my-claudecode:ccg Review this PR - check architecture and code quality (Codex) and UI components (Gemini)
|
|
127
|
+
```
|
|
@@ -758,3 +758,180 @@ Env vars are auto-detected by the notification system without needing `.omc-conf
|
|
|
758
758
|
| Here | `<!here>` | `<!here>` |
|
|
759
759
|
| Everyone | `<!everyone>` | `<!everyone>` |
|
|
760
760
|
| User Group | `<!subteam^GROUP_ID>` | `<!subteam^S1234567890>` |
|
|
761
|
+
|
|
762
|
+
---
|
|
763
|
+
|
|
764
|
+
## Platform Activation Flags
|
|
765
|
+
|
|
766
|
+
All notification platforms require activation via CLI flags per session:
|
|
767
|
+
|
|
768
|
+
- `omc --telegram` — Activates Telegram notifications (sets `OMC_TELEGRAM=1`)
|
|
769
|
+
- `omc --discord` — Activates Discord notifications (sets `OMC_DISCORD=1`)
|
|
770
|
+
- `omc --slack` — Activates Slack notifications (sets `OMC_SLACK=1`)
|
|
771
|
+
- `omc --webhook` — Activates webhook notifications (sets `OMC_WEBHOOK=1`)
|
|
772
|
+
- `omc --openclaw` — Activates OpenClaw gateway integration (sets `OMC_OPENCLAW=1`)
|
|
773
|
+
|
|
774
|
+
Without these flags, configured platforms remain dormant. This prevents unwanted notifications during development while keeping configuration persistent.
|
|
775
|
+
|
|
776
|
+
**Examples:**
|
|
777
|
+
- `omc --telegram --discord` — Telegram + Discord active
|
|
778
|
+
- `omc --telegram --slack --webhook` — Telegram + Slack + Webhook active
|
|
779
|
+
- `omc --telegram --openclaw` — Telegram + OpenClaw active
|
|
780
|
+
- `omc` — No notifications sent (all platforms require explicit activation)
|
|
781
|
+
|
|
782
|
+
---
|
|
783
|
+
|
|
784
|
+
## Hook Event Templates
|
|
785
|
+
|
|
786
|
+
Customize notification messages per event and per platform using `omc_config.hook.json`.
|
|
787
|
+
|
|
788
|
+
### Routing
|
|
789
|
+
|
|
790
|
+
If the trigger or argument contains "hook", "template", or "customize messages" → follow this section.
|
|
791
|
+
|
|
792
|
+
### Step 1: Detect Existing Hook Config
|
|
793
|
+
|
|
794
|
+
Check if `~/.claude/omc_config.hook.json` exists. If it does, show the current configuration. If not, explain what it does.
|
|
795
|
+
|
|
796
|
+
```
|
|
797
|
+
Hook event templates let you customize the notification messages sent to each platform.
|
|
798
|
+
You can set different messages for Discord vs Telegram vs Slack, and control which
|
|
799
|
+
events fire on which platform.
|
|
800
|
+
|
|
801
|
+
Config file: ~/.claude/omc_config.hook.json
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
### Step 2: Choose Event to Configure
|
|
805
|
+
|
|
806
|
+
Use AskUserQuestion:
|
|
807
|
+
|
|
808
|
+
**Question:** "Which event would you like to configure templates for?"
|
|
809
|
+
|
|
810
|
+
**Options:**
|
|
811
|
+
1. **session-end** - When a Claude session finishes (most common)
|
|
812
|
+
2. **ask-user-question** - When Claude is waiting for input
|
|
813
|
+
3. **session-idle** - When Claude finishes and waits for input
|
|
814
|
+
4. **session-start** - When a new session begins
|
|
815
|
+
|
|
816
|
+
### Step 3: Show Available Variables
|
|
817
|
+
|
|
818
|
+
Display the template variables available for the chosen event:
|
|
819
|
+
|
|
820
|
+
```
|
|
821
|
+
Available template variables:
|
|
822
|
+
|
|
823
|
+
RAW FIELDS:
|
|
824
|
+
{{sessionId}} - Session identifier
|
|
825
|
+
{{timestamp}} - ISO timestamp
|
|
826
|
+
{{tmuxSession}} - tmux session name
|
|
827
|
+
{{projectPath}} - Full project directory path
|
|
828
|
+
{{projectName}} - Project directory basename
|
|
829
|
+
{{reason}} - Stop/end reason
|
|
830
|
+
{{activeMode}} - Active OMC mode name
|
|
831
|
+
{{question}} - Question text (ask-user-question only)
|
|
832
|
+
{{agentName}} - Agent name (agent-call only)
|
|
833
|
+
{{agentType}} - Agent type (agent-call only)
|
|
834
|
+
|
|
835
|
+
COMPUTED (smart formatting):
|
|
836
|
+
{{duration}} - Human-readable duration (e.g., "5m 23s")
|
|
837
|
+
{{time}} - Locale time string
|
|
838
|
+
{{modesDisplay}} - Comma-separated modes or empty
|
|
839
|
+
{{iterationDisplay}} - "3/10" format or empty
|
|
840
|
+
{{agentDisplay}} - "2/5 completed" or empty
|
|
841
|
+
{{projectDisplay}} - Project name with fallbacks
|
|
842
|
+
{{footer}} - tmux + project info line
|
|
843
|
+
{{tmuxTailBlock}} - Recent output in code fence or empty
|
|
844
|
+
{{reasonDisplay}} - Reason with "unknown" fallback
|
|
845
|
+
|
|
846
|
+
CONDITIONALS:
|
|
847
|
+
{{#if variableName}}content shown when truthy{{/if}}
|
|
848
|
+
```
|
|
849
|
+
|
|
850
|
+
### Step 4: Collect Template
|
|
851
|
+
|
|
852
|
+
Use AskUserQuestion:
|
|
853
|
+
|
|
854
|
+
**Question:** "Enter the message template for this event (use {{variables}} for dynamic content)"
|
|
855
|
+
|
|
856
|
+
**Options:**
|
|
857
|
+
1. **Use default template** - Keep the built-in message format
|
|
858
|
+
2. **Simple summary** - Short one-line format
|
|
859
|
+
3. **Custom** - Enter your own template
|
|
860
|
+
|
|
861
|
+
If "Simple summary", use a pre-built compact template:
|
|
862
|
+
- session-end: `{{projectDisplay}} session ended ({{duration}}) — {{reasonDisplay}}`
|
|
863
|
+
- ask-user-question: `Input needed on {{projectDisplay}}: {{question}}`
|
|
864
|
+
- session-idle: `{{projectDisplay}} is idle. {{#if reason}}Reason: {{reason}}{{/if}}`
|
|
865
|
+
- session-start: `Session started: {{projectDisplay}} at {{time}}`
|
|
866
|
+
|
|
867
|
+
### Step 5: Per-Platform Overrides
|
|
868
|
+
|
|
869
|
+
Use AskUserQuestion:
|
|
870
|
+
|
|
871
|
+
**Question:** "Do you want different messages for specific platforms?"
|
|
872
|
+
|
|
873
|
+
**Options:**
|
|
874
|
+
1. **No, same for all (Recommended)** - Use the same template everywhere
|
|
875
|
+
2. **Yes, customize per platform** - Set different templates for Discord, Telegram, Slack
|
|
876
|
+
|
|
877
|
+
If per-platform: ask for each enabled platform's template separately.
|
|
878
|
+
|
|
879
|
+
### Step 6: Write Configuration
|
|
880
|
+
|
|
881
|
+
Read or create `~/.claude/omc_config.hook.json` and merge the new settings:
|
|
882
|
+
|
|
883
|
+
```json
|
|
884
|
+
{
|
|
885
|
+
"version": 1,
|
|
886
|
+
"enabled": true,
|
|
887
|
+
"events": {
|
|
888
|
+
"<event-name>": {
|
|
889
|
+
"enabled": true,
|
|
890
|
+
"template": "<user-provided-template>",
|
|
891
|
+
"platforms": {
|
|
892
|
+
"discord": { "template": "<discord-specific>" },
|
|
893
|
+
"telegram": { "template": "<telegram-specific>" }
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
### Step 7: Validate and Test
|
|
901
|
+
|
|
902
|
+
Validate the template using `validateTemplate()` to check for unknown variables. If any are found, warn the user and offer to correct.
|
|
903
|
+
|
|
904
|
+
Offer to send a test notification with the new template.
|
|
905
|
+
|
|
906
|
+
### Example Config
|
|
907
|
+
|
|
908
|
+
```json
|
|
909
|
+
{
|
|
910
|
+
"version": 1,
|
|
911
|
+
"enabled": true,
|
|
912
|
+
"events": {
|
|
913
|
+
"session-end": {
|
|
914
|
+
"enabled": true,
|
|
915
|
+
"template": "Session {{sessionId}} ended after {{duration}}. Reason: {{reasonDisplay}}",
|
|
916
|
+
"platforms": {
|
|
917
|
+
"discord": {
|
|
918
|
+
"template": "**Session Complete** | `{{projectDisplay}}` | {{duration}} | {{reasonDisplay}}"
|
|
919
|
+
},
|
|
920
|
+
"telegram": {
|
|
921
|
+
"template": "Done: {{projectDisplay}} ({{duration}})\n{{#if contextSummary}}Summary: {{contextSummary}}{{/if}}"
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
"ask-user-question": {
|
|
926
|
+
"enabled": true,
|
|
927
|
+
"template": "{{#if question}}{{question}}{{/if}}\nWaiting for input on {{projectDisplay}}"
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
---
|
|
934
|
+
|
|
935
|
+
## Related
|
|
936
|
+
|
|
937
|
+
- `/oh-my-claudecode:configure-openclaw` — Configure OpenClaw gateway integration
|