claudecode-omc 4.4.10 → 4.7.4
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/.claude-plugin/marketplace.json +18 -4
- package/.claude-plugin/plugin.json +14 -1
- package/.mcp.json +0 -4
- package/README.de.md +260 -0
- package/README.es.md +27 -41
- package/README.fr.md +260 -0
- package/README.it.md +260 -0
- package/README.ja.md +27 -41
- package/README.ko.md +45 -54
- package/README.md +247 -14
- package/README.pt.md +23 -6
- package/README.ru.md +260 -0
- package/README.tr.md +260 -0
- package/README.vi.md +23 -6
- package/README.zh.md +27 -41
- package/agents/harsh-critic.md +254 -0
- package/bridge/cli.cjs +67181 -0
- package/bridge/gyoshu_bridge.py +69 -19
- package/bridge/mcp-server.cjs +846 -526
- package/bridge/runtime-cli.cjs +2861 -367
- package/bridge/team-bridge.cjs +216 -60
- package/bridge/team-mcp.cjs +493 -255
- package/bridge/team.js +1460 -0
- package/dist/__tests__/agent-registry.test.js +13 -3
- package/dist/__tests__/agent-registry.test.js.map +1 -1
- package/dist/__tests__/auto-slash-aliases.test.js +12 -20
- package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
- package/dist/__tests__/auto-update.test.js +1 -1
- package/dist/__tests__/auto-update.test.js.map +1 -1
- package/dist/__tests__/bash-history.test.js.map +1 -1
- package/dist/__tests__/cleanup-validation.test.d.ts +2 -0
- package/dist/__tests__/cleanup-validation.test.d.ts.map +1 -0
- package/dist/__tests__/cleanup-validation.test.js +44 -0
- package/dist/__tests__/cleanup-validation.test.js.map +1 -0
- package/dist/__tests__/config-force-inherit-env.test.d.ts +5 -0
- package/dist/__tests__/config-force-inherit-env.test.d.ts.map +1 -0
- package/dist/__tests__/config-force-inherit-env.test.js +35 -0
- package/dist/__tests__/config-force-inherit-env.test.js.map +1 -0
- package/dist/__tests__/consolidation-contracts.test.js +4 -7
- package/dist/__tests__/consolidation-contracts.test.js.map +1 -1
- package/dist/__tests__/daemon-module-path.test.d.ts +2 -0
- package/dist/__tests__/daemon-module-path.test.d.ts.map +1 -0
- package/dist/__tests__/daemon-module-path.test.js +29 -0
- package/dist/__tests__/daemon-module-path.test.js.map +1 -0
- package/dist/__tests__/delegation-enforcement-levels.test.js.map +1 -1
- package/dist/__tests__/delegation-enforcer.test.js +172 -0
- package/dist/__tests__/delegation-enforcer.test.js.map +1 -1
- package/dist/__tests__/doctor-conflicts.test.js +144 -1
- package/dist/__tests__/doctor-conflicts.test.js.map +1 -1
- package/dist/__tests__/file-lock.test.d.ts +2 -0
- package/dist/__tests__/file-lock.test.d.ts.map +1 -0
- package/dist/__tests__/file-lock.test.js +209 -0
- package/dist/__tests__/file-lock.test.js.map +1 -0
- package/dist/__tests__/hooks.test.js +27 -56
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/hud/defaults.test.js +3 -0
- package/dist/__tests__/hud/defaults.test.js.map +1 -1
- package/dist/__tests__/hud/limits-error.test.d.ts +5 -0
- package/dist/__tests__/hud/limits-error.test.d.ts.map +1 -0
- package/dist/__tests__/hud/limits-error.test.js +43 -0
- package/dist/__tests__/hud/limits-error.test.js.map +1 -0
- package/dist/__tests__/hud/max-width.test.d.ts +2 -0
- package/dist/__tests__/hud/max-width.test.d.ts.map +1 -0
- package/dist/__tests__/hud/max-width.test.js +149 -0
- package/dist/__tests__/hud/max-width.test.js.map +1 -0
- package/dist/__tests__/hud/rate-limits-error.test.d.ts +5 -0
- package/dist/__tests__/hud/rate-limits-error.test.d.ts.map +1 -0
- package/dist/__tests__/hud/rate-limits-error.test.js +76 -0
- package/dist/__tests__/hud/rate-limits-error.test.js.map +1 -0
- package/dist/__tests__/hud/render.test.js +245 -1
- package/dist/__tests__/hud/render.test.js.map +1 -1
- package/dist/__tests__/hud/state.test.js +15 -0
- package/dist/__tests__/hud/state.test.js.map +1 -1
- package/dist/__tests__/hud/usage-api.test.js +19 -5
- package/dist/__tests__/hud/usage-api.test.js.map +1 -1
- package/dist/__tests__/hud/version-display.test.js +3 -1
- package/dist/__tests__/hud/version-display.test.js.map +1 -1
- package/dist/__tests__/hud-agents.test.js.map +1 -1
- package/dist/__tests__/hud-api-key-source.test.d.ts +7 -0
- package/dist/__tests__/hud-api-key-source.test.d.ts.map +1 -0
- package/dist/__tests__/hud-api-key-source.test.js +112 -0
- package/dist/__tests__/hud-api-key-source.test.js.map +1 -0
- package/dist/__tests__/hud-build-guidance.test.d.ts +2 -0
- package/dist/__tests__/hud-build-guidance.test.d.ts.map +1 -0
- package/dist/__tests__/hud-build-guidance.test.js +26 -0
- package/dist/__tests__/hud-build-guidance.test.js.map +1 -0
- package/dist/__tests__/installer-hooks-merge.test.js +1 -1
- package/dist/__tests__/installer-hooks-merge.test.js.map +1 -1
- package/dist/__tests__/installer.test.js +4 -0
- package/dist/__tests__/installer.test.js.map +1 -1
- package/dist/__tests__/job-management.test.js +1 -1
- package/dist/__tests__/job-management.test.js.map +1 -1
- package/dist/__tests__/live-data.test.js +11 -5
- package/dist/__tests__/live-data.test.js.map +1 -1
- package/dist/__tests__/mcp-default-config.test.d.ts +2 -0
- package/dist/__tests__/mcp-default-config.test.d.ts.map +1 -0
- package/dist/__tests__/mcp-default-config.test.js +13 -0
- package/dist/__tests__/mcp-default-config.test.js.map +1 -0
- package/dist/__tests__/model-routing.test.js.map +1 -1
- package/dist/__tests__/non-claude-provider-detection.test.d.ts +11 -0
- package/dist/__tests__/non-claude-provider-detection.test.d.ts.map +1 -0
- package/dist/__tests__/non-claude-provider-detection.test.js +303 -0
- package/dist/__tests__/non-claude-provider-detection.test.js.map +1 -0
- package/dist/__tests__/omc-tools-server.test.js +5 -5
- package/dist/__tests__/package-dir-resolution-regression.test.d.ts +2 -0
- package/dist/__tests__/package-dir-resolution-regression.test.d.ts.map +1 -0
- package/dist/__tests__/package-dir-resolution-regression.test.js +63 -0
- package/dist/__tests__/package-dir-resolution-regression.test.js.map +1 -0
- package/dist/__tests__/pipeline-orchestrator.test.d.ts +5 -0
- package/dist/__tests__/pipeline-orchestrator.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-orchestrator.test.js +244 -0
- package/dist/__tests__/pipeline-orchestrator.test.js.map +1 -0
- package/dist/__tests__/plugin-setup-deps.test.d.ts +2 -0
- package/dist/__tests__/plugin-setup-deps.test.d.ts.map +1 -0
- package/dist/__tests__/plugin-setup-deps.test.js +64 -0
- package/dist/__tests__/plugin-setup-deps.test.js.map +1 -0
- package/dist/__tests__/pre-tool-agent-prefix.test.d.ts +8 -0
- package/dist/__tests__/pre-tool-agent-prefix.test.d.ts.map +1 -0
- package/dist/__tests__/pre-tool-agent-prefix.test.js +131 -0
- package/dist/__tests__/pre-tool-agent-prefix.test.js.map +1 -0
- package/dist/__tests__/project-memory-merge.test.d.ts +2 -0
- package/dist/__tests__/project-memory-merge.test.d.ts.map +1 -0
- package/dist/__tests__/project-memory-merge.test.js +342 -0
- package/dist/__tests__/project-memory-merge.test.js.map +1 -0
- package/dist/__tests__/ralph-prd-mandatory.test.d.ts +2 -0
- package/dist/__tests__/ralph-prd-mandatory.test.d.ts.map +1 -0
- package/dist/__tests__/ralph-prd-mandatory.test.js +316 -0
- package/dist/__tests__/ralph-prd-mandatory.test.js.map +1 -0
- package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.d.ts +2 -0
- package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.d.ts.map +1 -0
- package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.js +94 -0
- package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.js.map +1 -0
- package/dist/__tests__/rate-limit-wait/daemon.test.js.map +1 -1
- package/dist/__tests__/rate-limit-wait/integration.test.js +33 -25
- package/dist/__tests__/rate-limit-wait/integration.test.js.map +1 -1
- package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js +34 -26
- package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js.map +1 -1
- package/dist/__tests__/rate-limit-wait/tmux-detector.test.js.map +1 -1
- package/dist/__tests__/resolve-node.test.js.map +1 -1
- package/dist/__tests__/resolve-transcript-path.test.d.ts +12 -0
- package/dist/__tests__/resolve-transcript-path.test.d.ts.map +1 -0
- package/dist/__tests__/resolve-transcript-path.test.js +167 -0
- package/dist/__tests__/resolve-transcript-path.test.js.map +1 -0
- package/dist/__tests__/routing-force-inherit.test.d.ts +8 -0
- package/dist/__tests__/routing-force-inherit.test.d.ts.map +1 -0
- package/dist/__tests__/routing-force-inherit.test.js +180 -0
- package/dist/__tests__/routing-force-inherit.test.js.map +1 -0
- package/dist/__tests__/run-cjs-graceful-fallback.test.js +2 -2
- package/dist/__tests__/run-cjs-graceful-fallback.test.js.map +1 -1
- package/dist/__tests__/shared-memory-concurrency.test.d.ts +8 -0
- package/dist/__tests__/shared-memory-concurrency.test.d.ts.map +1 -0
- package/dist/__tests__/shared-memory-concurrency.test.js +132 -0
- package/dist/__tests__/shared-memory-concurrency.test.js.map +1 -0
- package/dist/__tests__/shared-memory.test.d.ts +2 -0
- package/dist/__tests__/shared-memory.test.d.ts.map +1 -0
- package/dist/__tests__/shared-memory.test.js +345 -0
- package/dist/__tests__/shared-memory.test.js.map +1 -0
- package/dist/__tests__/shell-path.test.d.ts +5 -0
- package/dist/__tests__/shell-path.test.d.ts.map +1 -0
- package/dist/__tests__/shell-path.test.js +70 -0
- package/dist/__tests__/shell-path.test.js.map +1 -0
- package/dist/__tests__/skills.test.js +13 -10
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/__tests__/slack-socket.test.d.ts +5 -0
- package/dist/__tests__/slack-socket.test.d.ts.map +1 -0
- package/dist/__tests__/slack-socket.test.js +252 -0
- package/dist/__tests__/slack-socket.test.js.map +1 -0
- package/dist/__tests__/smoke-functional.test.d.ts +8 -0
- package/dist/__tests__/smoke-functional.test.d.ts.map +1 -0
- package/dist/__tests__/smoke-functional.test.js +450 -0
- package/dist/__tests__/smoke-functional.test.js.map +1 -0
- package/dist/__tests__/smoke-pipeline-edge.test.d.ts +8 -0
- package/dist/__tests__/smoke-pipeline-edge.test.d.ts.map +1 -0
- package/dist/__tests__/smoke-pipeline-edge.test.js +435 -0
- package/dist/__tests__/smoke-pipeline-edge.test.js.map +1 -0
- package/dist/__tests__/smoke-slack-and-state.test.d.ts +13 -0
- package/dist/__tests__/smoke-slack-and-state.test.d.ts.map +1 -0
- package/dist/__tests__/smoke-slack-and-state.test.js +632 -0
- package/dist/__tests__/smoke-slack-and-state.test.js.map +1 -0
- package/dist/__tests__/smoke-team-worker.test.d.ts +15 -0
- package/dist/__tests__/smoke-team-worker.test.d.ts.map +1 -0
- package/dist/__tests__/smoke-team-worker.test.js +483 -0
- package/dist/__tests__/smoke-team-worker.test.js.map +1 -0
- package/dist/__tests__/ssrf-guard.test.d.ts +2 -0
- package/dist/__tests__/ssrf-guard.test.d.ts.map +1 -0
- package/dist/__tests__/ssrf-guard.test.js +96 -0
- package/dist/__tests__/ssrf-guard.test.js.map +1 -0
- package/dist/__tests__/task-continuation.test.js +1 -1
- package/dist/__tests__/task-continuation.test.js.map +1 -1
- package/dist/__tests__/tier0-contracts.test.js +5 -1
- package/dist/__tests__/tier0-contracts.test.js.map +1 -1
- package/dist/__tests__/tier0-docs-consistency.test.js +3 -4
- package/dist/__tests__/tier0-docs-consistency.test.js.map +1 -1
- package/dist/__tests__/tools/trace-tools.test.js +7 -3
- package/dist/__tests__/tools/trace-tools.test.js.map +1 -1
- package/dist/__tests__/types.test.js +4 -4
- package/dist/__tests__/types.test.js.map +1 -1
- package/dist/__tests__/worker-adapter.test.d.ts +5 -0
- package/dist/__tests__/worker-adapter.test.d.ts.map +1 -0
- package/dist/__tests__/worker-adapter.test.js +211 -0
- package/dist/__tests__/worker-adapter.test.js.map +1 -0
- package/dist/agents/definitions.d.ts +6 -5
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +11 -6
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/harsh-critic.d.ts +14 -0
- package/dist/agents/harsh-critic.d.ts.map +1 -0
- package/dist/agents/harsh-critic.js +42 -0
- package/dist/agents/harsh-critic.js.map +1 -0
- package/dist/agents/index.d.ts +1 -3
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +1 -4
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/prompt-helpers.d.ts.map +1 -1
- package/dist/agents/prompt-helpers.js +21 -16
- package/dist/agents/prompt-helpers.js.map +1 -1
- package/dist/agents/prompt-sections/index.d.ts.map +1 -1
- package/dist/agents/prompt-sections/index.js +7 -3
- package/dist/agents/prompt-sections/index.js.map +1 -1
- package/dist/agents/utils.d.ts.map +1 -1
- package/dist/agents/utils.js +22 -13
- package/dist/agents/utils.js.map +1 -1
- package/dist/cli/__tests__/ask.test.d.ts +2 -0
- package/dist/cli/__tests__/ask.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ask.test.js +282 -0
- package/dist/cli/__tests__/ask.test.js.map +1 -0
- package/dist/cli/__tests__/cli-boot.test.d.ts +8 -0
- package/dist/cli/__tests__/cli-boot.test.d.ts.map +1 -0
- package/dist/cli/__tests__/cli-boot.test.js +82 -0
- package/dist/cli/__tests__/cli-boot.test.js.map +1 -0
- package/dist/cli/__tests__/launch.test.js +11 -2
- package/dist/cli/__tests__/launch.test.js.map +1 -1
- package/dist/cli/__tests__/team-command-branding.test.d.ts +2 -0
- package/dist/cli/__tests__/team-command-branding.test.d.ts.map +1 -0
- package/dist/cli/__tests__/team-command-branding.test.js +14 -0
- package/dist/cli/__tests__/team-command-branding.test.js.map +1 -0
- package/dist/cli/__tests__/team-help.test.d.ts +2 -0
- package/dist/cli/__tests__/team-help.test.d.ts.map +1 -0
- package/dist/cli/__tests__/team-help.test.js +19 -0
- package/dist/cli/__tests__/team-help.test.js.map +1 -0
- package/dist/cli/__tests__/team-runtime-boundary.test.d.ts +2 -0
- package/dist/cli/__tests__/team-runtime-boundary.test.d.ts.map +1 -0
- package/dist/cli/__tests__/team-runtime-boundary.test.js +11 -0
- package/dist/cli/__tests__/team-runtime-boundary.test.js.map +1 -0
- package/dist/cli/__tests__/team.test.d.ts +2 -0
- package/dist/cli/__tests__/team.test.d.ts.map +1 -0
- package/dist/cli/__tests__/team.test.js +335 -0
- package/dist/cli/__tests__/team.test.js.map +1 -0
- package/dist/cli/__tests__/tmux-utils.test.d.ts +11 -0
- package/dist/cli/__tests__/tmux-utils.test.d.ts.map +1 -0
- package/dist/cli/__tests__/tmux-utils.test.js +145 -0
- package/dist/cli/__tests__/tmux-utils.test.js.map +1 -0
- package/dist/cli/ask.d.ts +13 -0
- package/dist/cli/ask.d.ts.map +1 -0
- package/dist/cli/ask.js +202 -0
- package/dist/cli/ask.js.map +1 -0
- package/dist/cli/commands/__tests__/team.test.d.ts +2 -0
- package/dist/cli/commands/__tests__/team.test.d.ts.map +1 -0
- package/dist/cli/commands/__tests__/team.test.js +177 -0
- package/dist/cli/commands/__tests__/team.test.js.map +1 -0
- package/dist/cli/commands/__tests__/teleport.test.js.map +1 -1
- package/dist/cli/commands/doctor-conflicts.d.ts +14 -1
- package/dist/cli/commands/doctor-conflicts.d.ts.map +1 -1
- package/dist/cli/commands/doctor-conflicts.js +126 -12
- package/dist/cli/commands/doctor-conflicts.js.map +1 -1
- package/dist/cli/commands/team.d.ts +19 -0
- package/dist/cli/commands/team.d.ts.map +1 -0
- package/dist/cli/commands/team.js +510 -0
- package/dist/cli/commands/team.js.map +1 -0
- package/dist/cli/commands/teleport.d.ts.map +1 -1
- package/dist/cli/commands/teleport.js +6 -4
- package/dist/cli/commands/teleport.js.map +1 -1
- package/dist/cli/index.js +58 -17
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/launch.d.ts.map +1 -1
- package/dist/cli/launch.js +12 -6
- package/dist/cli/launch.js.map +1 -1
- package/dist/cli/team.d.ts +76 -0
- package/dist/cli/team.d.ts.map +1 -0
- package/dist/cli/team.js +1117 -0
- package/dist/cli/team.js.map +1 -0
- package/dist/cli/tmux-utils.d.ts +10 -0
- package/dist/cli/tmux-utils.d.ts.map +1 -1
- package/dist/cli/tmux-utils.js +20 -1
- package/dist/cli/tmux-utils.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +134 -48
- package/dist/config/loader.js.map +1 -1
- package/dist/config/models.d.ts +36 -14
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +94 -0
- package/dist/config/models.js.map +1 -1
- package/dist/constants/names.d.ts +6 -3
- package/dist/constants/names.d.ts.map +1 -1
- package/dist/constants/names.js +7 -3
- package/dist/constants/names.js.map +1 -1
- package/dist/features/auto-update.js +5 -5
- package/dist/features/auto-update.js.map +1 -1
- package/dist/features/boulder-state/storage.d.ts +1 -1
- package/dist/features/boulder-state/storage.d.ts.map +1 -1
- package/dist/features/boulder-state/storage.js +20 -22
- package/dist/features/boulder-state/storage.js.map +1 -1
- package/dist/features/delegation-enforcer.d.ts +5 -0
- package/dist/features/delegation-enforcer.d.ts.map +1 -1
- package/dist/features/delegation-enforcer.js +58 -5
- package/dist/features/delegation-enforcer.js.map +1 -1
- package/dist/features/model-routing/router.d.ts.map +1 -1
- package/dist/features/model-routing/router.js +11 -0
- package/dist/features/model-routing/router.js.map +1 -1
- package/dist/features/model-routing/types.d.ts +6 -0
- package/dist/features/model-routing/types.d.ts.map +1 -1
- package/dist/features/model-routing/types.js.map +1 -1
- package/dist/features/rate-limit-wait/daemon.d.ts +5 -0
- package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/daemon.js +38 -9
- package/dist/features/rate-limit-wait/daemon.js.map +1 -1
- package/dist/features/rate-limit-wait/rate-limit-monitor.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/rate-limit-monitor.js +3 -2
- package/dist/features/rate-limit-wait/rate-limit-monitor.js.map +1 -1
- package/dist/features/rate-limit-wait/tmux-detector.d.ts.map +1 -1
- package/dist/features/rate-limit-wait/tmux-detector.js +8 -2
- package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
- package/dist/features/state-manager/__tests__/cache.test.js +161 -1
- package/dist/features/state-manager/__tests__/cache.test.js.map +1 -1
- package/dist/features/state-manager/index.d.ts +2 -0
- package/dist/features/state-manager/index.d.ts.map +1 -1
- package/dist/features/state-manager/index.js +167 -51
- package/dist/features/state-manager/index.js.map +1 -1
- package/dist/hooks/__tests__/bridge-routing.test.js +124 -1
- package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
- package/dist/hooks/__tests__/bridge-security.test.js +1 -1
- package/dist/hooks/__tests__/bridge-security.test.js.map +1 -1
- package/dist/hooks/__tests__/bridge-team-worker-guard.test.d.ts +2 -0
- package/dist/hooks/__tests__/bridge-team-worker-guard.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/bridge-team-worker-guard.test.js +52 -0
- package/dist/hooks/__tests__/bridge-team-worker-guard.test.js.map +1 -0
- package/dist/hooks/__tests__/bridge.test.js.map +1 -1
- package/dist/hooks/__tests__/codebase-map.test.js.map +1 -1
- package/dist/hooks/__tests__/compaction-concurrency.test.js.map +1 -1
- package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.d.ts +2 -0
- package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.js +65 -0
- package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.js.map +1 -0
- package/dist/hooks/auto-slash-command/live-data.d.ts.map +1 -1
- package/dist/hooks/auto-slash-command/live-data.js +54 -25
- package/dist/hooks/auto-slash-command/live-data.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/cancel.test.js +1 -1
- package/dist/hooks/autopilot/__tests__/cancel.test.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/pipeline.test.d.ts +2 -0
- package/dist/hooks/autopilot/__tests__/pipeline.test.d.ts.map +1 -0
- package/dist/hooks/autopilot/__tests__/pipeline.test.js +375 -0
- package/dist/hooks/autopilot/__tests__/pipeline.test.js.map +1 -0
- package/dist/hooks/autopilot/__tests__/state.test.js +2 -2
- package/dist/hooks/autopilot/__tests__/state.test.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/summary.test.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/transition.test.js.map +1 -1
- package/dist/hooks/autopilot/__tests__/validation.test.js +3 -3
- package/dist/hooks/autopilot/__tests__/validation.test.js.map +1 -1
- package/dist/hooks/autopilot/adapters/execution-adapter.d.ts +12 -0
- package/dist/hooks/autopilot/adapters/execution-adapter.d.ts.map +1 -0
- package/dist/hooks/autopilot/adapters/execution-adapter.js +110 -0
- package/dist/hooks/autopilot/adapters/execution-adapter.js.map +1 -0
- package/dist/hooks/autopilot/adapters/index.d.ts +22 -0
- package/dist/hooks/autopilot/adapters/index.d.ts.map +1 -0
- package/dist/hooks/autopilot/adapters/index.js +32 -0
- package/dist/hooks/autopilot/adapters/index.js.map +1 -0
- package/dist/hooks/autopilot/adapters/qa-adapter.d.ts +12 -0
- package/dist/hooks/autopilot/adapters/qa-adapter.d.ts.map +1 -0
- package/dist/hooks/autopilot/adapters/qa-adapter.js +33 -0
- package/dist/hooks/autopilot/adapters/qa-adapter.js.map +1 -0
- package/dist/hooks/autopilot/adapters/ralph-adapter.d.ts +15 -0
- package/dist/hooks/autopilot/adapters/ralph-adapter.d.ts.map +1 -0
- package/dist/hooks/autopilot/adapters/ralph-adapter.js +102 -0
- package/dist/hooks/autopilot/adapters/ralph-adapter.js.map +1 -0
- package/dist/hooks/autopilot/adapters/ralplan-adapter.d.ts +14 -0
- package/dist/hooks/autopilot/adapters/ralplan-adapter.d.ts.map +1 -0
- package/dist/hooks/autopilot/adapters/ralplan-adapter.js +81 -0
- package/dist/hooks/autopilot/adapters/ralplan-adapter.js.map +1 -0
- package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
- package/dist/hooks/autopilot/enforcement.js +162 -0
- package/dist/hooks/autopilot/enforcement.js.map +1 -1
- package/dist/hooks/autopilot/index.d.ts +4 -0
- package/dist/hooks/autopilot/index.d.ts.map +1 -1
- package/dist/hooks/autopilot/index.js +5 -0
- package/dist/hooks/autopilot/index.js.map +1 -1
- package/dist/hooks/autopilot/pipeline-types.d.ts +133 -0
- package/dist/hooks/autopilot/pipeline-types.d.ts.map +1 -0
- package/dist/hooks/autopilot/pipeline-types.js +44 -0
- package/dist/hooks/autopilot/pipeline-types.js.map +1 -0
- package/dist/hooks/autopilot/pipeline.d.ts +124 -0
- package/dist/hooks/autopilot/pipeline.d.ts.map +1 -0
- package/dist/hooks/autopilot/pipeline.js +407 -0
- package/dist/hooks/autopilot/pipeline.js.map +1 -0
- package/dist/hooks/autopilot/state.d.ts +6 -6
- package/dist/hooks/autopilot/state.d.ts.map +1 -1
- package/dist/hooks/autopilot/state.js +71 -129
- package/dist/hooks/autopilot/state.js.map +1 -1
- package/dist/hooks/autopilot/types.d.ts +21 -0
- package/dist/hooks/autopilot/types.d.ts.map +1 -1
- package/dist/hooks/autopilot/types.js.map +1 -1
- package/dist/hooks/bridge-normalize.d.ts.map +1 -1
- package/dist/hooks/bridge-normalize.js +13 -2
- package/dist/hooks/bridge-normalize.js.map +1 -1
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +151 -27
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/comment-checker/index.js +1 -1
- package/dist/hooks/comment-checker/index.js.map +1 -1
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js +2 -2
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js.map +1 -1
- package/dist/hooks/factcheck/__tests__/factcheck.test.d.ts +7 -0
- package/dist/hooks/factcheck/__tests__/factcheck.test.d.ts.map +1 -0
- package/dist/hooks/factcheck/__tests__/factcheck.test.js +153 -0
- package/dist/hooks/factcheck/__tests__/factcheck.test.js.map +1 -0
- package/dist/hooks/factcheck/__tests__/sentinel-gate.test.d.ts +5 -0
- package/dist/hooks/factcheck/__tests__/sentinel-gate.test.d.ts.map +1 -0
- package/dist/hooks/factcheck/__tests__/sentinel-gate.test.js +159 -0
- package/dist/hooks/factcheck/__tests__/sentinel-gate.test.js.map +1 -0
- package/dist/hooks/factcheck/__tests__/sentinel.test.d.ts +7 -0
- package/dist/hooks/factcheck/__tests__/sentinel.test.d.ts.map +1 -0
- package/dist/hooks/factcheck/__tests__/sentinel.test.js +117 -0
- package/dist/hooks/factcheck/__tests__/sentinel.test.js.map +1 -0
- package/dist/hooks/factcheck/checks.d.ts +36 -0
- package/dist/hooks/factcheck/checks.d.ts.map +1 -0
- package/dist/hooks/factcheck/checks.js +144 -0
- package/dist/hooks/factcheck/checks.js.map +1 -0
- package/dist/hooks/factcheck/config.d.ts +25 -0
- package/dist/hooks/factcheck/config.d.ts.map +1 -0
- package/dist/hooks/factcheck/config.js +125 -0
- package/dist/hooks/factcheck/config.js.map +1 -0
- package/dist/hooks/factcheck/index.d.ts +34 -0
- package/dist/hooks/factcheck/index.d.ts.map +1 -0
- package/dist/hooks/factcheck/index.js +120 -0
- package/dist/hooks/factcheck/index.js.map +1 -0
- package/dist/hooks/factcheck/sentinel.d.ts +32 -0
- package/dist/hooks/factcheck/sentinel.d.ts.map +1 -0
- package/dist/hooks/factcheck/sentinel.js +153 -0
- package/dist/hooks/factcheck/sentinel.js.map +1 -0
- package/dist/hooks/factcheck/types.d.ts +99 -0
- package/dist/hooks/factcheck/types.d.ts.map +1 -0
- package/dist/hooks/factcheck/types.js +27 -0
- package/dist/hooks/factcheck/types.js.map +1 -0
- package/dist/hooks/keyword-detector/__tests__/index.test.js +29 -80
- package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
- package/dist/hooks/keyword-detector/index.d.ts +1 -1
- package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
- package/dist/hooks/keyword-detector/index.js +11 -21
- package/dist/hooks/keyword-detector/index.js.map +1 -1
- package/dist/hooks/learner/bridge.d.ts.map +1 -1
- package/dist/hooks/learner/bridge.js +8 -0
- package/dist/hooks/learner/bridge.js.map +1 -1
- package/dist/hooks/learner/index.d.ts +15 -15
- package/dist/hooks/learner/index.d.ts.map +1 -1
- package/dist/hooks/learner/index.js +44 -38
- package/dist/hooks/learner/index.js.map +1 -1
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +4 -2
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +1 -1
- package/dist/hooks/mode-registry/index.d.ts +2 -13
- package/dist/hooks/mode-registry/index.d.ts.map +1 -1
- package/dist/hooks/mode-registry/index.js +77 -174
- package/dist/hooks/mode-registry/index.js.map +1 -1
- package/dist/hooks/mode-registry/types.d.ts +1 -1
- package/dist/hooks/mode-registry/types.d.ts.map +1 -1
- package/dist/hooks/notepad/index.d.ts.map +1 -1
- package/dist/hooks/notepad/index.js +83 -73
- package/dist/hooks/notepad/index.js.map +1 -1
- package/dist/hooks/omc-orchestrator/index.d.ts.map +1 -1
- package/dist/hooks/omc-orchestrator/index.js +2 -1
- package/dist/hooks/omc-orchestrator/index.js.map +1 -1
- package/dist/hooks/permission-handler/__tests__/index.test.js +2 -2
- package/dist/hooks/permission-handler/__tests__/index.test.js.map +1 -1
- package/dist/hooks/permission-handler/index.d.ts +1 -1
- package/dist/hooks/permission-handler/index.d.ts.map +1 -1
- package/dist/hooks/permission-handler/index.js +4 -8
- package/dist/hooks/permission-handler/index.js.map +1 -1
- package/dist/hooks/persistent-mode/__tests__/rate-limit-stop.test.js +23 -0
- package/dist/hooks/persistent-mode/__tests__/rate-limit-stop.test.js.map +1 -1
- package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js.map +1 -1
- package/dist/hooks/persistent-mode/__tests__/tool-error.test.js +1 -1
- package/dist/hooks/persistent-mode/__tests__/tool-error.test.js.map +1 -1
- package/dist/hooks/persistent-mode/index.d.ts +3 -3
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +25 -12
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/persistent-mode/session-isolation.test.js +20 -4
- package/dist/hooks/persistent-mode/session-isolation.test.js.map +1 -1
- package/dist/hooks/persistent-mode/stop-hook-blocking.test.d.ts +2 -0
- package/dist/hooks/persistent-mode/stop-hook-blocking.test.d.ts.map +1 -0
- package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +367 -0
- package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -0
- package/dist/hooks/pre-compact/index.d.ts +2 -14
- package/dist/hooks/pre-compact/index.d.ts.map +1 -1
- package/dist/hooks/pre-compact/index.js +8 -49
- package/dist/hooks/pre-compact/index.js.map +1 -1
- package/dist/hooks/preemptive-compaction/index.js +1 -1
- package/dist/hooks/preemptive-compaction/index.js.map +1 -1
- package/dist/hooks/project-memory/__tests__/integration.test.js +4 -2
- package/dist/hooks/project-memory/__tests__/integration.test.js.map +1 -1
- package/dist/hooks/project-memory/index.d.ts +9 -9
- package/dist/hooks/project-memory/index.d.ts.map +1 -1
- package/dist/hooks/project-memory/index.js +25 -25
- 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 +92 -86
- package/dist/hooks/project-memory/learner.js.map +1 -1
- package/dist/hooks/project-memory/storage.d.ts +9 -0
- package/dist/hooks/project-memory/storage.d.ts.map +1 -1
- package/dist/hooks/project-memory/storage.js +15 -0
- package/dist/hooks/project-memory/storage.js.map +1 -1
- package/dist/hooks/ralph/index.d.ts +1 -1
- package/dist/hooks/ralph/index.d.ts.map +1 -1
- package/dist/hooks/ralph/index.js +2 -0
- package/dist/hooks/ralph/index.js.map +1 -1
- package/dist/hooks/ralph/loop.d.ts +10 -2
- package/dist/hooks/ralph/loop.d.ts.map +1 -1
- package/dist/hooks/ralph/loop.js +64 -113
- package/dist/hooks/ralph/loop.js.map +1 -1
- package/dist/hooks/ralph/prd.d.ts.map +1 -1
- package/dist/hooks/ralph/prd.js +3 -2
- package/dist/hooks/ralph/prd.js.map +1 -1
- package/dist/hooks/ralph/progress.d.ts.map +1 -1
- package/dist/hooks/ralph/progress.js +6 -5
- package/dist/hooks/ralph/progress.js.map +1 -1
- package/dist/hooks/ralph/verifier.d.ts +3 -1
- package/dist/hooks/ralph/verifier.d.ts.map +1 -1
- package/dist/hooks/ralph/verifier.js +19 -7
- package/dist/hooks/ralph/verifier.js.map +1 -1
- package/dist/hooks/session-end/__tests__/openclaw-session-end.test.d.ts +2 -0
- package/dist/hooks/session-end/__tests__/openclaw-session-end.test.d.ts.map +1 -0
- package/dist/hooks/session-end/__tests__/openclaw-session-end.test.js +86 -0
- package/dist/hooks/session-end/__tests__/openclaw-session-end.test.js.map +1 -0
- package/dist/hooks/session-end/index.d.ts.map +1 -1
- package/dist/hooks/session-end/index.js +17 -17
- package/dist/hooks/session-end/index.js.map +1 -1
- package/dist/hooks/setup/index.d.ts.map +1 -1
- package/dist/hooks/setup/index.js +0 -2
- package/dist/hooks/setup/index.js.map +1 -1
- package/dist/hooks/skill-bridge.cjs +13 -4
- package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -1
- package/dist/hooks/skill-state/index.d.ts +0 -5
- package/dist/hooks/skill-state/index.d.ts.map +1 -1
- package/dist/hooks/skill-state/index.js +9 -55
- package/dist/hooks/skill-state/index.js.map +1 -1
- package/dist/hooks/subagent-tracker/__tests__/flush-race.test.js.map +1 -1
- package/dist/hooks/subagent-tracker/__tests__/index.test.js.map +1 -1
- package/dist/hooks/subagent-tracker/__tests__/session-replay.test.js +1 -1
- package/dist/hooks/subagent-tracker/__tests__/session-replay.test.js.map +1 -1
- package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
- package/dist/hooks/subagent-tracker/index.js +10 -22
- package/dist/hooks/subagent-tracker/index.js.map +1 -1
- package/dist/hooks/subagent-tracker/session-replay.d.ts.map +1 -1
- package/dist/hooks/subagent-tracker/session-replay.js +3 -2
- package/dist/hooks/subagent-tracker/session-replay.js.map +1 -1
- package/dist/hooks/task-size-detector/__tests__/index.test.js +7 -7
- package/dist/hooks/task-size-detector/__tests__/index.test.js.map +1 -1
- package/dist/hooks/task-size-detector/index.d.ts.map +1 -1
- package/dist/hooks/task-size-detector/index.js +0 -3
- package/dist/hooks/task-size-detector/index.js.map +1 -1
- package/dist/hooks/team-dispatch-hook.d.ts +65 -0
- package/dist/hooks/team-dispatch-hook.d.ts.map +1 -0
- package/dist/hooks/team-dispatch-hook.js +663 -0
- package/dist/hooks/team-dispatch-hook.js.map +1 -0
- package/dist/hooks/team-leader-nudge-hook.d.ts +36 -0
- package/dist/hooks/team-leader-nudge-hook.d.ts.map +1 -0
- package/dist/hooks/team-leader-nudge-hook.js +218 -0
- package/dist/hooks/team-leader-nudge-hook.js.map +1 -0
- package/dist/hooks/team-worker-hook.d.ts +45 -0
- package/dist/hooks/team-worker-hook.d.ts.map +1 -0
- package/dist/hooks/team-worker-hook.js +415 -0
- package/dist/hooks/team-worker-hook.js.map +1 -0
- package/dist/hooks/think-mode/__tests__/index.test.js.map +1 -1
- package/dist/hooks/todo-continuation/__tests__/isAuthenticationError.test.d.ts +2 -0
- package/dist/hooks/todo-continuation/__tests__/isAuthenticationError.test.d.ts.map +1 -0
- package/dist/hooks/todo-continuation/__tests__/isAuthenticationError.test.js +33 -0
- package/dist/hooks/todo-continuation/__tests__/isAuthenticationError.test.js.map +1 -0
- package/dist/hooks/todo-continuation/index.d.ts +12 -0
- package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
- package/dist/hooks/todo-continuation/index.js +37 -1
- package/dist/hooks/todo-continuation/index.js.map +1 -1
- package/dist/hooks/ultrapilot/decomposer.d.ts.map +1 -1
- package/dist/hooks/ultrapilot/decomposer.js +3 -1
- package/dist/hooks/ultrapilot/decomposer.js.map +1 -1
- package/dist/hooks/ultrapilot/index.d.ts.map +1 -1
- package/dist/hooks/ultrapilot/index.js +3 -1
- package/dist/hooks/ultrapilot/index.js.map +1 -1
- package/dist/hooks/ultrapilot/state.d.ts +1 -1
- package/dist/hooks/ultrapilot/state.d.ts.map +1 -1
- package/dist/hooks/ultrapilot/state.js +45 -77
- package/dist/hooks/ultrapilot/state.js.map +1 -1
- package/dist/hooks/ultraqa/index.d.ts.map +1 -1
- package/dist/hooks/ultraqa/index.js +4 -77
- package/dist/hooks/ultraqa/index.js.map +1 -1
- package/dist/hooks/ultrawork/index.d.ts.map +1 -1
- package/dist/hooks/ultrawork/index.js +40 -82
- package/dist/hooks/ultrawork/index.js.map +1 -1
- package/dist/hooks/ultrawork/session-isolation.test.js +1 -1
- package/dist/hooks/ultrawork/session-isolation.test.js.map +1 -1
- package/dist/hud/elements/api-key-source.d.ts +30 -0
- package/dist/hud/elements/api-key-source.d.ts.map +1 -0
- package/dist/hud/elements/api-key-source.js +70 -0
- package/dist/hud/elements/api-key-source.js.map +1 -0
- 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/limits.d.ts +9 -1
- package/dist/hud/elements/limits.d.ts.map +1 -1
- package/dist/hud/elements/limits.js +18 -0
- package/dist/hud/elements/limits.js.map +1 -1
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +40 -25
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/omc-state.d.ts.map +1 -1
- package/dist/hud/omc-state.js +6 -4
- package/dist/hud/omc-state.js.map +1 -1
- package/dist/hud/render.d.ts +9 -0
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +166 -15
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +23 -14
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/stdin.d.ts.map +1 -1
- package/dist/hud/stdin.js +5 -2
- package/dist/hud/stdin.js.map +1 -1
- package/dist/hud/types.d.ts +34 -3
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +19 -0
- package/dist/hud/types.js.map +1 -1
- package/dist/hud/usage-api.d.ts +9 -6
- package/dist/hud/usage-api.d.ts.map +1 -1
- package/dist/hud/usage-api.js +115 -46
- package/dist/hud/usage-api.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/installer/__tests__/claude-md-merge.test.js +29 -0
- package/dist/installer/__tests__/claude-md-merge.test.js.map +1 -1
- package/dist/installer/__tests__/safe-installer.test.js +1 -1
- package/dist/installer/__tests__/safe-installer.test.js.map +1 -1
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +11 -12
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +20 -16
- package/dist/installer/index.js.map +1 -1
- package/dist/interop/__tests__/worker-adapter-integration.test.d.ts +2 -0
- package/dist/interop/__tests__/worker-adapter-integration.test.d.ts.map +1 -0
- package/dist/interop/__tests__/worker-adapter-integration.test.js +219 -0
- package/dist/interop/__tests__/worker-adapter-integration.test.js.map +1 -0
- package/dist/interop/__tests__/worker-adapter.test.d.ts +2 -0
- package/dist/interop/__tests__/worker-adapter.test.d.ts.map +1 -0
- package/dist/interop/__tests__/worker-adapter.test.js +408 -0
- package/dist/interop/__tests__/worker-adapter.test.js.map +1 -0
- package/dist/interop/adapter-types.d.ts +39 -0
- package/dist/interop/adapter-types.d.ts.map +1 -0
- package/dist/interop/adapter-types.js +9 -0
- package/dist/interop/adapter-types.js.map +1 -0
- package/dist/interop/worker-adapter.d.ts +116 -0
- package/dist/interop/worker-adapter.d.ts.map +1 -0
- package/dist/interop/worker-adapter.js +324 -0
- package/dist/interop/worker-adapter.js.map +1 -0
- package/dist/lib/__tests__/mode-state-io.test.d.ts +2 -0
- package/dist/lib/__tests__/mode-state-io.test.d.ts.map +1 -0
- package/dist/lib/__tests__/mode-state-io.test.js +194 -0
- package/dist/lib/__tests__/mode-state-io.test.js.map +1 -0
- package/dist/lib/__tests__/payload-limits.test.d.ts +2 -0
- package/dist/lib/__tests__/payload-limits.test.d.ts.map +1 -0
- package/dist/lib/__tests__/payload-limits.test.js +124 -0
- package/dist/lib/__tests__/payload-limits.test.js.map +1 -0
- package/dist/lib/__tests__/worktree-paths.test.js +5 -4
- package/dist/lib/__tests__/worktree-paths.test.js.map +1 -1
- package/dist/lib/file-lock.d.ts +75 -0
- package/dist/lib/file-lock.d.ts.map +1 -0
- package/dist/lib/file-lock.js +246 -0
- package/dist/lib/file-lock.js.map +1 -0
- package/dist/lib/mode-names.d.ts +10 -3
- package/dist/lib/mode-names.d.ts.map +1 -1
- package/dist/lib/mode-names.js +12 -17
- package/dist/lib/mode-names.js.map +1 -1
- package/dist/lib/mode-state-io.d.ts +41 -0
- package/dist/lib/mode-state-io.d.ts.map +1 -0
- package/dist/lib/mode-state-io.js +127 -0
- package/dist/lib/mode-state-io.js.map +1 -0
- package/dist/lib/payload-limits.d.ts +31 -0
- package/dist/lib/payload-limits.d.ts.map +1 -0
- package/dist/lib/payload-limits.js +82 -0
- package/dist/lib/payload-limits.js.map +1 -0
- package/dist/lib/project-memory-merge.d.ts +36 -0
- package/dist/lib/project-memory-merge.d.ts.map +1 -0
- package/dist/lib/project-memory-merge.js +154 -0
- package/dist/lib/project-memory-merge.js.map +1 -0
- package/dist/lib/shared-memory.d.ts +82 -0
- package/dist/lib/shared-memory.d.ts.map +1 -0
- package/dist/lib/shared-memory.js +305 -0
- package/dist/lib/shared-memory.js.map +1 -0
- package/dist/lib/worktree-paths.d.ts +31 -3
- package/dist/lib/worktree-paths.d.ts.map +1 -1
- package/dist/lib/worktree-paths.js +147 -12
- package/dist/lib/worktree-paths.js.map +1 -1
- package/dist/mcp/__tests__/team-server-artifact-convergence.test.d.ts +2 -0
- package/dist/mcp/__tests__/team-server-artifact-convergence.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/team-server-artifact-convergence.test.js +84 -0
- package/dist/mcp/__tests__/team-server-artifact-convergence.test.js.map +1 -0
- package/dist/mcp/__tests__/team-server-deprecation.test.d.ts +2 -0
- package/dist/mcp/__tests__/team-server-deprecation.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/team-server-deprecation.test.js +54 -0
- package/dist/mcp/__tests__/team-server-deprecation.test.js.map +1 -0
- package/dist/mcp/omc-tools-server.d.ts +2 -0
- package/dist/mcp/omc-tools-server.d.ts.map +1 -1
- package/dist/mcp/omc-tools-server.js +9 -2
- package/dist/mcp/omc-tools-server.js.map +1 -1
- package/dist/mcp/team-job-convergence.d.ts +20 -0
- package/dist/mcp/team-job-convergence.d.ts.map +1 -0
- package/dist/mcp/team-job-convergence.js +101 -0
- package/dist/mcp/team-job-convergence.js.map +1 -0
- package/dist/mcp/team-server.d.ts +33 -10
- package/dist/mcp/team-server.d.ts.map +1 -1
- package/dist/mcp/team-server.js +219 -109
- package/dist/mcp/team-server.js.map +1 -1
- package/dist/notifications/__tests__/config.test.js +100 -6
- package/dist/notifications/__tests__/config.test.js.map +1 -1
- package/dist/notifications/__tests__/custom-integration.test.d.ts +8 -0
- package/dist/notifications/__tests__/custom-integration.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/custom-integration.test.js +297 -0
- package/dist/notifications/__tests__/custom-integration.test.js.map +1 -0
- package/dist/notifications/__tests__/dispatcher.test.js +195 -0
- package/dist/notifications/__tests__/dispatcher.test.js.map +1 -1
- package/dist/notifications/__tests__/redact.test.d.ts +2 -0
- package/dist/notifications/__tests__/redact.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/redact.test.js +111 -0
- package/dist/notifications/__tests__/redact.test.js.map +1 -0
- package/dist/notifications/__tests__/reply-listener.test.js +8 -1
- package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
- package/dist/notifications/__tests__/slack-socket.test.d.ts +2 -0
- package/dist/notifications/__tests__/slack-socket.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/slack-socket.test.js +293 -0
- package/dist/notifications/__tests__/slack-socket.test.js.map +1 -0
- package/dist/notifications/__tests__/template-engine.test.js +32 -0
- package/dist/notifications/__tests__/template-engine.test.js.map +1 -1
- package/dist/notifications/config.d.ts +40 -0
- package/dist/notifications/config.d.ts.map +1 -1
- package/dist/notifications/config.js +201 -4
- package/dist/notifications/config.js.map +1 -1
- package/dist/notifications/dispatcher.d.ts +20 -1
- package/dist/notifications/dispatcher.d.ts.map +1 -1
- package/dist/notifications/dispatcher.js +183 -7
- package/dist/notifications/dispatcher.js.map +1 -1
- package/dist/notifications/hook-config-types.d.ts +1 -1
- package/dist/notifications/hook-config-types.d.ts.map +1 -1
- package/dist/notifications/index.d.ts +11 -2
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +13 -3
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/presets.d.ts +43 -0
- package/dist/notifications/presets.d.ts.map +1 -0
- package/dist/notifications/presets.js +122 -0
- package/dist/notifications/presets.js.map +1 -0
- package/dist/notifications/redact.d.ts +21 -0
- package/dist/notifications/redact.d.ts.map +1 -0
- package/dist/notifications/redact.js +33 -0
- package/dist/notifications/redact.js.map +1 -0
- package/dist/notifications/reply-listener.d.ts +54 -2
- package/dist/notifications/reply-listener.d.ts.map +1 -1
- package/dist/notifications/reply-listener.js +178 -15
- 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/slack-socket.d.ts +242 -0
- package/dist/notifications/slack-socket.d.ts.map +1 -0
- package/dist/notifications/slack-socket.js +603 -0
- package/dist/notifications/slack-socket.js.map +1 -0
- package/dist/notifications/template-engine.d.ts.map +1 -1
- package/dist/notifications/template-engine.js +4 -0
- package/dist/notifications/template-engine.js.map +1 -1
- package/dist/notifications/template-variables.d.ts +26 -0
- package/dist/notifications/template-variables.d.ts.map +1 -0
- package/dist/notifications/template-variables.js +139 -0
- package/dist/notifications/template-variables.js.map +1 -0
- package/dist/notifications/types.d.ts +75 -2
- package/dist/notifications/types.d.ts.map +1 -1
- package/dist/notifications/validation.d.ts +24 -0
- package/dist/notifications/validation.d.ts.map +1 -0
- package/dist/notifications/validation.js +167 -0
- package/dist/notifications/validation.js.map +1 -0
- package/dist/openclaw/__tests__/dispatcher.test.js +0 -1
- package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
- package/dist/openclaw/__tests__/index.test.js +82 -0
- package/dist/openclaw/__tests__/index.test.js.map +1 -1
- package/dist/openclaw/index.d.ts.map +1 -1
- package/dist/openclaw/index.js +24 -1
- package/dist/openclaw/index.js.map +1 -1
- package/dist/openclaw/types.d.ts +12 -0
- package/dist/openclaw/types.d.ts.map +1 -1
- package/dist/shared/types.d.ts +84 -20
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/team/__tests__/api-interop.command-dialect.test.d.ts +2 -0
- package/dist/team/__tests__/api-interop.command-dialect.test.d.ts.map +1 -0
- package/dist/team/__tests__/api-interop.command-dialect.test.js +26 -0
- package/dist/team/__tests__/api-interop.command-dialect.test.js.map +1 -0
- package/dist/team/__tests__/api-interop.compatibility.test.d.ts +2 -0
- package/dist/team/__tests__/api-interop.compatibility.test.d.ts.map +1 -0
- package/dist/team/__tests__/api-interop.compatibility.test.js +93 -0
- package/dist/team/__tests__/api-interop.compatibility.test.js.map +1 -0
- package/dist/team/__tests__/cli-path-resolution.test.d.ts +2 -0
- package/dist/team/__tests__/cli-path-resolution.test.d.ts.map +1 -0
- package/dist/team/__tests__/cli-path-resolution.test.js +281 -0
- package/dist/team/__tests__/cli-path-resolution.test.js.map +1 -0
- package/dist/team/__tests__/index.compat-exports.test.d.ts +2 -0
- package/dist/team/__tests__/index.compat-exports.test.d.ts.map +1 -0
- package/dist/team/__tests__/index.compat-exports.test.js +20 -0
- package/dist/team/__tests__/index.compat-exports.test.js.map +1 -0
- package/dist/team/__tests__/layout-stabilizer.test.d.ts +2 -0
- package/dist/team/__tests__/layout-stabilizer.test.d.ts.map +1 -0
- package/dist/team/__tests__/layout-stabilizer.test.js +217 -0
- package/dist/team/__tests__/layout-stabilizer.test.js.map +1 -0
- package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js +8 -4
- package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js.map +1 -1
- package/dist/team/__tests__/mcp-team-bridge.usage.test.js +4 -2
- package/dist/team/__tests__/mcp-team-bridge.usage.test.js.map +1 -1
- package/dist/team/__tests__/model-contract.test.js +84 -8
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/pane-readiness.test.d.ts +2 -0
- package/dist/team/__tests__/pane-readiness.test.d.ts.map +1 -0
- package/dist/team/__tests__/pane-readiness.test.js +185 -0
- package/dist/team/__tests__/pane-readiness.test.js.map +1 -0
- package/dist/team/__tests__/prompt-sanitization.test.js +1 -1
- package/dist/team/__tests__/prompt-sanitization.test.js.map +1 -1
- package/dist/team/__tests__/runtime-cli.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-cli.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-cli.test.js +159 -0
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -0
- package/dist/team/__tests__/runtime-done-recovery.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-done-recovery.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-done-recovery.test.js +77 -0
- package/dist/team/__tests__/runtime-done-recovery.test.js.map +1 -0
- package/dist/team/__tests__/runtime-interop-spawn-regression.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-interop-spawn-regression.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-interop-spawn-regression.test.js +139 -0
- package/dist/team/__tests__/runtime-interop-spawn-regression.test.js.map +1 -0
- package/dist/team/__tests__/runtime-prompt-mode.test.js +167 -14
- package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -1
- package/dist/team/__tests__/runtime-v2.feature-flag.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-v2.feature-flag.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-v2.feature-flag.test.js +20 -0
- package/dist/team/__tests__/runtime-v2.feature-flag.test.js.map +1 -0
- package/dist/team/__tests__/runtime-watchdog-retry.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-watchdog-retry.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-watchdog-retry.test.js +408 -0
- package/dist/team/__tests__/runtime-watchdog-retry.test.js.map +1 -0
- package/dist/team/__tests__/shell-path.test.d.ts +2 -0
- package/dist/team/__tests__/shell-path.test.d.ts.map +1 -0
- package/dist/team/__tests__/shell-path.test.js +193 -0
- package/dist/team/__tests__/shell-path.test.js.map +1 -0
- package/dist/team/__tests__/state-paths.test.d.ts +2 -0
- package/dist/team/__tests__/state-paths.test.d.ts.map +1 -0
- package/dist/team/__tests__/state-paths.test.js +16 -0
- package/dist/team/__tests__/state-paths.test.js.map +1 -0
- package/dist/team/__tests__/task-file-ops.test.js +8 -2
- package/dist/team/__tests__/task-file-ops.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.create-team.test.js +15 -17
- package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.kill-team-session.test.d.ts +2 -0
- package/dist/team/__tests__/tmux-session.kill-team-session.test.d.ts.map +1 -0
- package/dist/team/__tests__/tmux-session.kill-team-session.test.js +56 -0
- package/dist/team/__tests__/tmux-session.kill-team-session.test.js.map +1 -0
- package/dist/team/__tests__/tmux-session.spawn.test.js +9 -0
- package/dist/team/__tests__/tmux-session.spawn.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +83 -5
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/wait-for-shell-ready.test.d.ts +2 -0
- package/dist/team/__tests__/wait-for-shell-ready.test.d.ts.map +1 -0
- package/dist/team/__tests__/wait-for-shell-ready.test.js +242 -0
- package/dist/team/__tests__/wait-for-shell-ready.test.js.map +1 -0
- package/dist/team/__tests__/worker-bootstrap.test.js +11 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/api-interop.d.ts +20 -0
- package/dist/team/api-interop.d.ts.map +1 -0
- package/dist/team/api-interop.js +601 -0
- package/dist/team/api-interop.js.map +1 -0
- package/dist/team/contracts.d.ts +14 -0
- package/dist/team/contracts.d.ts.map +1 -0
- package/dist/team/contracts.js +32 -0
- package/dist/team/contracts.js.map +1 -0
- package/dist/team/dispatch-queue.d.ts +64 -0
- package/dist/team/dispatch-queue.d.ts.map +1 -0
- package/dist/team/dispatch-queue.js +288 -0
- package/dist/team/dispatch-queue.js.map +1 -0
- package/dist/team/events.d.ts +49 -0
- package/dist/team/events.d.ts.map +1 -0
- package/dist/team/events.js +113 -0
- package/dist/team/events.js.map +1 -0
- package/dist/team/index.d.ts +15 -2
- package/dist/team/index.d.ts.map +1 -1
- package/dist/team/index.js +14 -1
- package/dist/team/index.js.map +1 -1
- package/dist/team/layout-stabilizer.d.ts +23 -0
- package/dist/team/layout-stabilizer.d.ts.map +1 -0
- package/dist/team/layout-stabilizer.js +117 -0
- package/dist/team/layout-stabilizer.js.map +1 -0
- package/dist/team/mcp-comm.d.ts +99 -0
- package/dist/team/mcp-comm.d.ts.map +1 -0
- package/dist/team/mcp-comm.js +235 -0
- package/dist/team/mcp-comm.js.map +1 -0
- package/dist/team/mcp-team-bridge.d.ts +2 -2
- package/dist/team/mcp-team-bridge.d.ts.map +1 -1
- package/dist/team/mcp-team-bridge.js +263 -144
- package/dist/team/mcp-team-bridge.js.map +1 -1
- package/dist/team/model-contract.d.ts +28 -1
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +143 -5
- package/dist/team/model-contract.js.map +1 -1
- package/dist/team/monitor.d.ts +45 -0
- package/dist/team/monitor.d.ts.map +1 -0
- package/dist/team/monitor.js +339 -0
- package/dist/team/monitor.js.map +1 -0
- package/dist/team/runtime-cli.d.ts +24 -0
- package/dist/team/runtime-cli.d.ts.map +1 -1
- package/dist/team/runtime-cli.js +230 -12
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime-v2.d.ts +122 -0
- package/dist/team/runtime-v2.d.ts.map +1 -0
- package/dist/team/runtime-v2.js +766 -0
- package/dist/team/runtime-v2.js.map +1 -0
- package/dist/team/runtime.d.ts +2 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +145 -52
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts +59 -0
- package/dist/team/scaling.d.ts.map +1 -0
- package/dist/team/scaling.js +311 -0
- package/dist/team/scaling.js.map +1 -0
- package/dist/team/sentinel-gate.d.ts +23 -0
- package/dist/team/sentinel-gate.d.ts.map +1 -0
- package/dist/team/sentinel-gate.js +127 -0
- package/dist/team/sentinel-gate.js.map +1 -0
- package/dist/team/shell-path.d.ts +21 -0
- package/dist/team/shell-path.d.ts.map +1 -0
- package/dist/team/shell-path.js +73 -0
- package/dist/team/shell-path.js.map +1 -0
- package/dist/team/state/tasks.d.ts +48 -0
- package/dist/team/state/tasks.d.ts.map +1 -0
- package/dist/team/state/tasks.js +184 -0
- package/dist/team/state/tasks.js.map +1 -0
- package/dist/team/state-paths.d.ts +20 -4
- package/dist/team/state-paths.d.ts.map +1 -1
- package/dist/team/state-paths.js +29 -6
- package/dist/team/state-paths.js.map +1 -1
- package/dist/team/task-file-ops.d.ts +2 -1
- package/dist/team/task-file-ops.d.ts.map +1 -1
- package/dist/team/task-file-ops.js +19 -0
- package/dist/team/task-file-ops.js.map +1 -1
- package/dist/team/team-ops.d.ts +44 -0
- package/dist/team/team-ops.d.ts.map +1 -0
- package/dist/team/team-ops.js +547 -0
- package/dist/team/team-ops.js.map +1 -0
- package/dist/team/tmux-comm.d.ts.map +1 -1
- package/dist/team/tmux-comm.js +107 -44
- package/dist/team/tmux-comm.js.map +1 -1
- package/dist/team/tmux-session.d.ts +5 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +81 -10
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/types.d.ts +303 -8
- package/dist/team/types.d.ts.map +1 -1
- package/dist/team/types.js +2 -1
- package/dist/team/types.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +73 -21
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/tools/__tests__/cancel-integration.test.d.ts +2 -0
- package/dist/tools/__tests__/cancel-integration.test.d.ts.map +1 -0
- package/dist/tools/__tests__/cancel-integration.test.js +248 -0
- package/dist/tools/__tests__/cancel-integration.test.js.map +1 -0
- package/dist/tools/__tests__/memory-tools.test.d.ts +2 -0
- package/dist/tools/__tests__/memory-tools.test.d.ts.map +1 -0
- package/dist/tools/__tests__/memory-tools.test.js +66 -0
- package/dist/tools/__tests__/memory-tools.test.js.map +1 -0
- package/dist/tools/__tests__/state-tools.test.js +73 -5
- package/dist/tools/__tests__/state-tools.test.js.map +1 -1
- package/dist/tools/lsp/__tests__/client-eviction.test.js +6 -6
- package/dist/tools/lsp/__tests__/client-eviction.test.js.map +1 -1
- package/dist/tools/lsp/__tests__/client-timeout-env.test.d.ts +2 -0
- package/dist/tools/lsp/__tests__/client-timeout-env.test.d.ts.map +1 -0
- package/dist/tools/lsp/__tests__/client-timeout-env.test.js +39 -0
- package/dist/tools/lsp/__tests__/client-timeout-env.test.js.map +1 -0
- package/dist/tools/lsp/client.d.ts +2 -0
- package/dist/tools/lsp/client.d.ts.map +1 -1
- package/dist/tools/lsp/client.js +11 -1
- package/dist/tools/lsp/client.js.map +1 -1
- package/dist/tools/lsp/index.d.ts +1 -1
- package/dist/tools/lsp/index.d.ts.map +1 -1
- package/dist/tools/lsp/index.js +1 -1
- package/dist/tools/lsp/index.js.map +1 -1
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +2 -1
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/python-repl/__tests__/tcp-fallback.test.d.ts +2 -0
- package/dist/tools/python-repl/__tests__/tcp-fallback.test.d.ts.map +1 -0
- package/dist/tools/python-repl/__tests__/tcp-fallback.test.js +138 -0
- package/dist/tools/python-repl/__tests__/tcp-fallback.test.js.map +1 -0
- package/dist/tools/python-repl/bridge-manager.d.ts.map +1 -1
- package/dist/tools/python-repl/bridge-manager.js +104 -24
- package/dist/tools/python-repl/bridge-manager.js.map +1 -1
- package/dist/tools/python-repl/paths.d.ts +8 -0
- package/dist/tools/python-repl/paths.d.ts.map +1 -1
- package/dist/tools/python-repl/paths.js +10 -0
- package/dist/tools/python-repl/paths.js.map +1 -1
- package/dist/tools/python-repl/socket-client.d.ts.map +1 -1
- package/dist/tools/python-repl/socket-client.js +9 -2
- package/dist/tools/python-repl/socket-client.js.map +1 -1
- package/dist/tools/shared-memory-tools.d.ts +55 -0
- package/dist/tools/shared-memory-tools.d.ts.map +1 -0
- package/dist/tools/shared-memory-tools.js +250 -0
- package/dist/tools/shared-memory-tools.js.map +1 -0
- package/dist/tools/state-tools.d.ts.map +1 -1
- package/dist/tools/state-tools.js +126 -101
- package/dist/tools/state-tools.js.map +1 -1
- package/dist/utils/daemon-module-path.d.ts +9 -0
- package/dist/utils/daemon-module-path.d.ts.map +1 -0
- package/dist/utils/daemon-module-path.js +23 -0
- package/dist/utils/daemon-module-path.js.map +1 -0
- package/dist/utils/jsonc.d.ts +16 -0
- package/dist/utils/jsonc.d.ts.map +1 -0
- package/dist/utils/jsonc.js +64 -0
- package/dist/utils/jsonc.js.map +1 -0
- package/dist/utils/paths.js +1 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/ssrf-guard.d.ts +26 -0
- package/dist/utils/ssrf-guard.d.ts.map +1 -0
- package/dist/utils/ssrf-guard.js +103 -0
- package/dist/utils/ssrf-guard.js.map +1 -0
- package/dist/verification/tier-selector.d.ts +1 -1
- package/dist/verification/tier-selector.js +1 -1
- package/docs/ANALYTICS-SYSTEM.md +2 -5
- package/docs/CLAUDE.md +88 -212
- package/docs/MIGRATION.md +138 -161
- package/docs/PERFORMANCE-MONITORING.md +5 -5
- package/docs/REFERENCE.md +351 -286
- package/docs/fixes/agent-prefix-routing-fix.md +105 -0
- package/docs/ko/ARCHITECTURE.md +152 -0
- package/docs/ko/FEATURES.md +582 -0
- package/docs/ko/MIGRATION.md +1027 -0
- package/docs/ko/REFERENCE.md +745 -0
- package/docs/partials/mode-selection-guide.md +22 -12
- package/docs/shared/mode-selection-guide.md +22 -12
- package/package.json +11 -6
- package/scripts/ask-codex.sh +24 -0
- package/scripts/ask-gemini.sh +24 -0
- package/scripts/build-cli.mjs +47 -0
- package/scripts/build-runtime-cli.mjs +2 -0
- package/scripts/context-guard-stop.mjs +66 -3
- package/scripts/context-safety.mjs +67 -2
- package/scripts/keyword-detector.mjs +14 -36
- package/scripts/persistent-mode.cjs +106 -1
- package/scripts/persistent-mode.mjs +88 -2
- package/scripts/plugin-setup.mjs +46 -4
- package/scripts/pre-tool-enforcer.mjs +1 -0
- package/scripts/qa-tests/test-custom-integration.mjs +144 -0
- package/scripts/run-provider-advisor.js +220 -0
- package/scripts/session-start.mjs +42 -2
- package/skills/AGENTS.md +16 -20
- package/skills/ask-codex/SKILL.md +47 -0
- package/skills/ask-gemini/SKILL.md +47 -0
- package/skills/autopilot/SKILL.md +39 -5
- package/skills/cancel/SKILL.md +23 -105
- package/skills/ccg/SKILL.md +58 -75
- package/skills/configure-notifications/SKILL.md +276 -0
- package/skills/configure-openclaw/SKILL.md +63 -0
- package/skills/deep-interview/SKILL.md +551 -0
- package/skills/deepinit/SKILL.md +1 -1
- package/skills/hud/SKILL.md +35 -3
- package/skills/omc-doctor/SKILL.md +30 -13
- package/skills/omc-help/SKILL.md +1 -1
- package/skills/omc-setup/SKILL.md +20 -20
- package/skills/omc-teams/SKILL.md +60 -112
- package/skills/plan/SKILL.md +5 -5
- package/skills/quick-init-project/SKILL.md +333 -0
- package/skills/ralph/SKILL.md +96 -70
- package/skills/ralplan/SKILL.md +7 -7
- package/skills/security-review/SKILL.md +2 -2
- package/skills/team/SKILL.md +36 -2
- package/skills/ultrawork/SKILL.md +7 -7
- package/templates/hooks/keyword-detector.mjs +20 -28
- package/templates/hooks/persistent-mode.mjs +89 -2
- package/templates/hooks/pre-tool-use.mjs +79 -0
- package/templates/hooks/session-start.mjs +3 -3
- package/skills/pipeline/SKILL.md +0 -434
- package/skills/review/SKILL.md +0 -30
- package/skills/ultrapilot/SKILL.md +0 -632
package/bridge/team-bridge.cjs
CHANGED
|
@@ -48,7 +48,7 @@ __export(bridge_entry_exports, {
|
|
|
48
48
|
module.exports = __toCommonJS(bridge_entry_exports);
|
|
49
49
|
var import_fs10 = require("fs");
|
|
50
50
|
var import_path12 = require("path");
|
|
51
|
-
var
|
|
51
|
+
var import_os3 = require("os");
|
|
52
52
|
|
|
53
53
|
// src/team/mcp-team-bridge.ts
|
|
54
54
|
var import_child_process2 = require("child_process");
|
|
@@ -157,12 +157,18 @@ function killSession(teamName, workerName) {
|
|
|
157
157
|
|
|
158
158
|
// src/team/state-paths.ts
|
|
159
159
|
var import_path4 = require("path");
|
|
160
|
+
function normalizeTaskFileStem(taskId) {
|
|
161
|
+
const trimmed = String(taskId).trim().replace(/\.json$/i, "");
|
|
162
|
+
if (/^task-\d+$/.test(trimmed)) return trimmed;
|
|
163
|
+
if (/^\d+$/.test(trimmed)) return `task-${trimmed}`;
|
|
164
|
+
return trimmed;
|
|
165
|
+
}
|
|
160
166
|
var TeamPaths = {
|
|
161
167
|
root: (teamName) => `.omc/state/team/${teamName}`,
|
|
162
168
|
config: (teamName) => `.omc/state/team/${teamName}/config.json`,
|
|
163
169
|
shutdown: (teamName) => `.omc/state/team/${teamName}/shutdown.json`,
|
|
164
170
|
tasks: (teamName) => `.omc/state/team/${teamName}/tasks`,
|
|
165
|
-
taskFile: (teamName, taskId) => `.omc/state/team/${teamName}/tasks/${taskId}.json`,
|
|
171
|
+
taskFile: (teamName, taskId) => `.omc/state/team/${teamName}/tasks/${normalizeTaskFileStem(taskId)}.json`,
|
|
166
172
|
workers: (teamName) => `.omc/state/team/${teamName}/workers`,
|
|
167
173
|
workerDir: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}`,
|
|
168
174
|
heartbeat: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}/heartbeat.json`,
|
|
@@ -171,8 +177,23 @@ var TeamPaths = {
|
|
|
171
177
|
ready: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}/.ready`,
|
|
172
178
|
overlay: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}/AGENTS.md`,
|
|
173
179
|
shutdownAck: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}/shutdown-ack.json`,
|
|
174
|
-
|
|
175
|
-
|
|
180
|
+
mailbox: (teamName, workerName) => `.omc/state/team/${teamName}/mailbox/${workerName}.json`,
|
|
181
|
+
mailboxLockDir: (teamName, workerName) => `.omc/state/team/${teamName}/mailbox/.lock-${workerName}`,
|
|
182
|
+
dispatchRequests: (teamName) => `.omc/state/team/${teamName}/dispatch/requests.json`,
|
|
183
|
+
dispatchLockDir: (teamName) => `.omc/state/team/${teamName}/dispatch/.lock`,
|
|
184
|
+
workerStatus: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}/status.json`,
|
|
185
|
+
workerIdleNotify: (teamName) => `.omc/state/team/${teamName}/worker-idle-notify.json`,
|
|
186
|
+
workerPrevNotifyState: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}/prev-notify-state.json`,
|
|
187
|
+
events: (teamName) => `.omc/state/team/${teamName}/events.jsonl`,
|
|
188
|
+
approval: (teamName, taskId) => `.omc/state/team/${teamName}/approvals/${taskId}.json`,
|
|
189
|
+
manifest: (teamName) => `.omc/state/team/${teamName}/manifest.json`,
|
|
190
|
+
monitorSnapshot: (teamName) => `.omc/state/team/${teamName}/monitor-snapshot.json`,
|
|
191
|
+
summarySnapshot: (teamName) => `.omc/state/team/${teamName}/summary-snapshot.json`,
|
|
192
|
+
phaseState: (teamName) => `.omc/state/team/${teamName}/phase-state.json`,
|
|
193
|
+
scalingLock: (teamName) => `.omc/state/team/${teamName}/.scaling-lock`,
|
|
194
|
+
workerIdentity: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}/identity.json`,
|
|
195
|
+
workerAgentsMd: (teamName) => `.omc/state/team/${teamName}/worker-agents.md`,
|
|
196
|
+
shutdownRequest: (teamName, workerName) => `.omc/state/team/${teamName}/workers/${workerName}/shutdown-request.json`
|
|
176
197
|
};
|
|
177
198
|
function getTaskStoragePath(cwd, teamName, taskId) {
|
|
178
199
|
if (taskId !== void 0) {
|
|
@@ -391,6 +412,7 @@ function writeTaskFailure(teamName, taskId, error, opts) {
|
|
|
391
412
|
lastFailedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
392
413
|
};
|
|
393
414
|
atomicWriteJson(filePath, sidecar);
|
|
415
|
+
return sidecar;
|
|
394
416
|
}
|
|
395
417
|
function readTaskFailure(teamName, taskId, opts) {
|
|
396
418
|
const filePath = failureSidecarPath(teamName, taskId, opts?.cwd);
|
|
@@ -402,12 +424,6 @@ function readTaskFailure(teamName, taskId, opts) {
|
|
|
402
424
|
return null;
|
|
403
425
|
}
|
|
404
426
|
}
|
|
405
|
-
var DEFAULT_MAX_TASK_RETRIES = 5;
|
|
406
|
-
function isTaskRetryExhausted(teamName, taskId, maxRetries = DEFAULT_MAX_TASK_RETRIES, opts) {
|
|
407
|
-
const failure = readTaskFailure(teamName, taskId, opts);
|
|
408
|
-
if (!failure) return false;
|
|
409
|
-
return failure.retryCount >= maxRetries;
|
|
410
|
-
}
|
|
411
427
|
function listTaskIds(teamName, opts) {
|
|
412
428
|
const scanDir = (dir) => {
|
|
413
429
|
if (!(0, import_fs3.existsSync)(dir)) return [];
|
|
@@ -1039,7 +1055,11 @@ function sleep(ms) {
|
|
|
1039
1055
|
function captureFileSnapshot(cwd) {
|
|
1040
1056
|
const files = /* @__PURE__ */ new Set();
|
|
1041
1057
|
try {
|
|
1042
|
-
const statusOutput = (0, import_child_process2.execSync)("git status --porcelain", {
|
|
1058
|
+
const statusOutput = (0, import_child_process2.execSync)("git status --porcelain", {
|
|
1059
|
+
cwd,
|
|
1060
|
+
encoding: "utf-8",
|
|
1061
|
+
timeout: 1e4
|
|
1062
|
+
});
|
|
1043
1063
|
for (const line of statusOutput.split("\n")) {
|
|
1044
1064
|
if (!line.trim()) continue;
|
|
1045
1065
|
const filePart = line.slice(3);
|
|
@@ -1047,7 +1067,10 @@ function captureFileSnapshot(cwd) {
|
|
|
1047
1067
|
const fileName = arrowIdx !== -1 ? filePart.slice(arrowIdx + 4) : filePart;
|
|
1048
1068
|
files.add(fileName.trim());
|
|
1049
1069
|
}
|
|
1050
|
-
const untrackedOutput = (0, import_child_process2.execSync)(
|
|
1070
|
+
const untrackedOutput = (0, import_child_process2.execSync)(
|
|
1071
|
+
"git ls-files --others --exclude-standard",
|
|
1072
|
+
{ cwd, encoding: "utf-8", timeout: 1e4 }
|
|
1073
|
+
);
|
|
1051
1074
|
for (const line of untrackedOutput.split("\n")) {
|
|
1052
1075
|
if (line.trim()) files.add(line.trim());
|
|
1053
1076
|
}
|
|
@@ -1078,6 +1101,22 @@ function buildEffectivePermissions(config) {
|
|
|
1078
1101
|
workerName: config.workerName
|
|
1079
1102
|
});
|
|
1080
1103
|
}
|
|
1104
|
+
var MODEL_NAME_REGEX = /^[a-z0-9][a-z0-9._-]{0,63}$/i;
|
|
1105
|
+
function validateModelName(model) {
|
|
1106
|
+
if (!model) return;
|
|
1107
|
+
if (!MODEL_NAME_REGEX.test(model)) {
|
|
1108
|
+
throw new Error(
|
|
1109
|
+
`Invalid model name: ${model}. Must match /^[a-z0-9][a-z0-9._-]{0,63}$/i`
|
|
1110
|
+
);
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
function validateProvider(provider) {
|
|
1114
|
+
if (provider !== "codex" && provider !== "gemini") {
|
|
1115
|
+
throw new Error(
|
|
1116
|
+
`Invalid provider: ${provider}. Must be 'codex' or 'gemini'`
|
|
1117
|
+
);
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
1081
1120
|
var MAX_BUFFER_SIZE = 10 * 1024 * 1024;
|
|
1082
1121
|
var INBOX_ROTATION_THRESHOLD = 10 * 1024 * 1024;
|
|
1083
1122
|
function buildHeartbeat(config, status, currentTaskId, consecutiveErrors) {
|
|
@@ -1153,15 +1192,36 @@ function buildTaskPrompt(task, messages, config) {
|
|
|
1153
1192
|
}
|
|
1154
1193
|
inboxContext = "\nCONTEXT FROM TEAM LEAD:\n" + inboxParts.join("\n") + "\n";
|
|
1155
1194
|
}
|
|
1156
|
-
let result = formatPromptTemplate(
|
|
1195
|
+
let result = formatPromptTemplate(
|
|
1196
|
+
sanitizedSubject,
|
|
1197
|
+
sanitizedDescription,
|
|
1198
|
+
config.workingDirectory,
|
|
1199
|
+
inboxContext
|
|
1200
|
+
);
|
|
1157
1201
|
if (result.length > MAX_PROMPT_SIZE) {
|
|
1158
1202
|
const overBy = result.length - MAX_PROMPT_SIZE;
|
|
1159
|
-
sanitizedDescription = sanitizedDescription.slice(
|
|
1160
|
-
|
|
1203
|
+
sanitizedDescription = sanitizedDescription.slice(
|
|
1204
|
+
0,
|
|
1205
|
+
Math.max(0, sanitizedDescription.length - overBy)
|
|
1206
|
+
);
|
|
1207
|
+
result = formatPromptTemplate(
|
|
1208
|
+
sanitizedSubject,
|
|
1209
|
+
sanitizedDescription,
|
|
1210
|
+
config.workingDirectory,
|
|
1211
|
+
inboxContext
|
|
1212
|
+
);
|
|
1161
1213
|
if (result.length > MAX_PROMPT_SIZE) {
|
|
1162
1214
|
const stillOverBy = result.length - MAX_PROMPT_SIZE;
|
|
1163
|
-
sanitizedDescription = sanitizedDescription.slice(
|
|
1164
|
-
|
|
1215
|
+
sanitizedDescription = sanitizedDescription.slice(
|
|
1216
|
+
0,
|
|
1217
|
+
Math.max(0, sanitizedDescription.length - stillOverBy)
|
|
1218
|
+
);
|
|
1219
|
+
result = formatPromptTemplate(
|
|
1220
|
+
sanitizedSubject,
|
|
1221
|
+
sanitizedDescription,
|
|
1222
|
+
config.workingDirectory,
|
|
1223
|
+
inboxContext
|
|
1224
|
+
);
|
|
1165
1225
|
}
|
|
1166
1226
|
}
|
|
1167
1227
|
return result;
|
|
@@ -1178,7 +1238,10 @@ function getOutputPath(config, taskId) {
|
|
|
1178
1238
|
const dir = (0, import_path10.join)(config.workingDirectory, ".omc", "outputs");
|
|
1179
1239
|
ensureDirWithMode(dir);
|
|
1180
1240
|
const suffix = Math.random().toString(36).slice(2, 8);
|
|
1181
|
-
return (0, import_path10.join)(
|
|
1241
|
+
return (0, import_path10.join)(
|
|
1242
|
+
dir,
|
|
1243
|
+
`team-${config.teamName}-task-${taskId}-${Date.now()}-${suffix}.md`
|
|
1244
|
+
);
|
|
1182
1245
|
}
|
|
1183
1246
|
function readOutputSummary(outputFile) {
|
|
1184
1247
|
try {
|
|
@@ -1203,7 +1266,10 @@ function readOutputSummary(outputFile) {
|
|
|
1203
1266
|
function recordTaskCompletionUsage(args) {
|
|
1204
1267
|
const completedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
1205
1268
|
const wallClockMs = Math.max(0, Date.now() - args.startedAt);
|
|
1206
|
-
const { promptChars, responseChars } = measureCharCounts(
|
|
1269
|
+
const { promptChars, responseChars } = measureCharCounts(
|
|
1270
|
+
args.promptFile,
|
|
1271
|
+
args.outputFile
|
|
1272
|
+
);
|
|
1207
1273
|
recordTaskUsage(args.config.workingDirectory, args.config.teamName, {
|
|
1208
1274
|
taskId: args.taskId,
|
|
1209
1275
|
workerName: args.config.workerName,
|
|
@@ -1255,20 +1321,28 @@ function parseCodexOutput(output) {
|
|
|
1255
1321
|
return messages.join("\n") || output;
|
|
1256
1322
|
}
|
|
1257
1323
|
function spawnCliProcess(provider, prompt, model, cwd, timeoutMs) {
|
|
1324
|
+
validateProvider(provider);
|
|
1325
|
+
validateModelName(model);
|
|
1258
1326
|
let args;
|
|
1259
1327
|
let cmd;
|
|
1260
1328
|
if (provider === "codex") {
|
|
1261
1329
|
cmd = "codex";
|
|
1262
|
-
args = [
|
|
1330
|
+
args = [
|
|
1331
|
+
"exec",
|
|
1332
|
+
"-m",
|
|
1333
|
+
model || "gpt-5.3-codex",
|
|
1334
|
+
"--json",
|
|
1335
|
+
"--dangerously-bypass-approvals-and-sandbox",
|
|
1336
|
+
"--skip-git-repo-check"
|
|
1337
|
+
];
|
|
1263
1338
|
} else {
|
|
1264
1339
|
cmd = "gemini";
|
|
1265
|
-
args = ["--yolo"];
|
|
1340
|
+
args = ["--approval-mode", "yolo"];
|
|
1266
1341
|
if (model) args.push("--model", model);
|
|
1267
1342
|
}
|
|
1268
1343
|
const child = (0, import_child_process2.spawn)(cmd, args, {
|
|
1269
1344
|
stdio: ["pipe", "pipe", "pipe"],
|
|
1270
|
-
cwd
|
|
1271
|
-
...process.platform === "win32" ? { shell: true } : {}
|
|
1345
|
+
cwd
|
|
1272
1346
|
});
|
|
1273
1347
|
const result = new Promise((resolve5, reject) => {
|
|
1274
1348
|
let stdout = "";
|
|
@@ -1364,30 +1438,47 @@ async function runBridge(config) {
|
|
|
1364
1438
|
log(`[bridge] ${workerName}@${teamName} starting (${provider})`);
|
|
1365
1439
|
audit(config, "bridge_start");
|
|
1366
1440
|
try {
|
|
1367
|
-
writeHeartbeat(
|
|
1441
|
+
writeHeartbeat(
|
|
1442
|
+
workingDirectory,
|
|
1443
|
+
buildHeartbeat(config, "polling", null, 0)
|
|
1444
|
+
);
|
|
1368
1445
|
} catch (err) {
|
|
1369
|
-
audit(config, "bridge_start", void 0, {
|
|
1446
|
+
audit(config, "bridge_start", void 0, {
|
|
1447
|
+
warning: "startup_write_failed",
|
|
1448
|
+
error: String(err)
|
|
1449
|
+
});
|
|
1370
1450
|
}
|
|
1371
1451
|
let readyEmitted = false;
|
|
1372
1452
|
while (true) {
|
|
1373
1453
|
try {
|
|
1374
1454
|
const shutdown = checkShutdownSignal(teamName, workerName);
|
|
1375
1455
|
if (shutdown) {
|
|
1376
|
-
audit(config, "shutdown_received", void 0, {
|
|
1456
|
+
audit(config, "shutdown_received", void 0, {
|
|
1457
|
+
requestId: shutdown.requestId,
|
|
1458
|
+
reason: shutdown.reason
|
|
1459
|
+
});
|
|
1377
1460
|
await handleShutdown(config, shutdown, activeChild);
|
|
1378
1461
|
break;
|
|
1379
1462
|
}
|
|
1380
1463
|
const drain = checkDrainSignal(teamName, workerName);
|
|
1381
1464
|
if (drain) {
|
|
1382
1465
|
log(`[bridge] Drain signal received: ${drain.reason}`);
|
|
1383
|
-
audit(config, "shutdown_received", void 0, {
|
|
1466
|
+
audit(config, "shutdown_received", void 0, {
|
|
1467
|
+
requestId: drain.requestId,
|
|
1468
|
+
reason: drain.reason,
|
|
1469
|
+
type: "drain"
|
|
1470
|
+
});
|
|
1384
1471
|
appendOutbox(teamName, workerName, {
|
|
1385
1472
|
type: "shutdown_ack",
|
|
1386
1473
|
requestId: drain.requestId,
|
|
1387
1474
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
1388
1475
|
});
|
|
1389
1476
|
deleteDrainSignal(teamName, workerName);
|
|
1390
|
-
await handleShutdown(
|
|
1477
|
+
await handleShutdown(
|
|
1478
|
+
config,
|
|
1479
|
+
{ requestId: drain.requestId, reason: `drain: ${drain.reason}` },
|
|
1480
|
+
null
|
|
1481
|
+
);
|
|
1391
1482
|
break;
|
|
1392
1483
|
}
|
|
1393
1484
|
if (consecutiveErrors >= config.maxConsecutiveErrors) {
|
|
@@ -1400,14 +1491,23 @@ async function runBridge(config) {
|
|
|
1400
1491
|
audit(config, "worker_quarantined", void 0, { consecutiveErrors });
|
|
1401
1492
|
quarantineNotified = true;
|
|
1402
1493
|
}
|
|
1403
|
-
writeHeartbeat(
|
|
1494
|
+
writeHeartbeat(
|
|
1495
|
+
workingDirectory,
|
|
1496
|
+
buildHeartbeat(config, "quarantined", null, consecutiveErrors)
|
|
1497
|
+
);
|
|
1404
1498
|
await sleep(config.pollIntervalMs * 3);
|
|
1405
1499
|
continue;
|
|
1406
1500
|
}
|
|
1407
|
-
writeHeartbeat(
|
|
1501
|
+
writeHeartbeat(
|
|
1502
|
+
workingDirectory,
|
|
1503
|
+
buildHeartbeat(config, "polling", null, consecutiveErrors)
|
|
1504
|
+
);
|
|
1408
1505
|
if (!readyEmitted) {
|
|
1409
1506
|
try {
|
|
1410
|
-
writeHeartbeat(
|
|
1507
|
+
writeHeartbeat(
|
|
1508
|
+
workingDirectory,
|
|
1509
|
+
buildHeartbeat(config, "ready", null, 0)
|
|
1510
|
+
);
|
|
1411
1511
|
appendOutbox(teamName, workerName, {
|
|
1412
1512
|
type: "ready",
|
|
1413
1513
|
message: `Worker ${workerName} is ready (${provider})`,
|
|
@@ -1416,7 +1516,10 @@ async function runBridge(config) {
|
|
|
1416
1516
|
audit(config, "worker_ready");
|
|
1417
1517
|
readyEmitted = true;
|
|
1418
1518
|
} catch (err) {
|
|
1419
|
-
audit(config, "bridge_start", void 0, {
|
|
1519
|
+
audit(config, "bridge_start", void 0, {
|
|
1520
|
+
warning: "startup_write_failed",
|
|
1521
|
+
error: String(err)
|
|
1522
|
+
});
|
|
1420
1523
|
}
|
|
1421
1524
|
}
|
|
1422
1525
|
const messages = readNewInboxMessages(teamName, workerName);
|
|
@@ -1426,10 +1529,16 @@ async function runBridge(config) {
|
|
|
1426
1529
|
updateTask(teamName, task.id, { status: "in_progress" });
|
|
1427
1530
|
audit(config, "task_claimed", task.id);
|
|
1428
1531
|
audit(config, "task_started", task.id);
|
|
1429
|
-
writeHeartbeat(
|
|
1532
|
+
writeHeartbeat(
|
|
1533
|
+
workingDirectory,
|
|
1534
|
+
buildHeartbeat(config, "executing", task.id, consecutiveErrors)
|
|
1535
|
+
);
|
|
1430
1536
|
const shutdownBeforeSpawn = checkShutdownSignal(teamName, workerName);
|
|
1431
1537
|
if (shutdownBeforeSpawn) {
|
|
1432
|
-
audit(config, "shutdown_received", task.id, {
|
|
1538
|
+
audit(config, "shutdown_received", task.id, {
|
|
1539
|
+
requestId: shutdownBeforeSpawn.requestId,
|
|
1540
|
+
reason: shutdownBeforeSpawn.reason
|
|
1541
|
+
});
|
|
1433
1542
|
updateTask(teamName, task.id, { status: "pending" });
|
|
1434
1543
|
await handleShutdown(config, shutdownBeforeSpawn, null);
|
|
1435
1544
|
return;
|
|
@@ -1454,7 +1563,10 @@ async function runBridge(config) {
|
|
|
1454
1563
|
config.taskTimeoutMs
|
|
1455
1564
|
);
|
|
1456
1565
|
activeChild = child;
|
|
1457
|
-
audit(config, "cli_spawned", task.id, {
|
|
1566
|
+
audit(config, "cli_spawned", task.id, {
|
|
1567
|
+
provider,
|
|
1568
|
+
model: config.model
|
|
1569
|
+
});
|
|
1458
1570
|
const response = await result;
|
|
1459
1571
|
activeChild = null;
|
|
1460
1572
|
writeFileWithMode(outputFile, response);
|
|
@@ -1464,14 +1576,21 @@ async function runBridge(config) {
|
|
|
1464
1576
|
const changedPaths = diffSnapshots(preSnapshot, postSnapshot);
|
|
1465
1577
|
if (changedPaths.length > 0) {
|
|
1466
1578
|
const effectivePerms = buildEffectivePermissions(config);
|
|
1467
|
-
violations = findPermissionViolations(
|
|
1579
|
+
violations = findPermissionViolations(
|
|
1580
|
+
changedPaths,
|
|
1581
|
+
effectivePerms,
|
|
1582
|
+
workingDirectory
|
|
1583
|
+
);
|
|
1468
1584
|
}
|
|
1469
1585
|
}
|
|
1470
1586
|
if (violations.length > 0) {
|
|
1471
1587
|
const violationSummary = violations.map((v) => ` - ${v.path}: ${v.reason}`).join("\n");
|
|
1472
1588
|
if (enforcementMode === "enforce") {
|
|
1473
1589
|
audit(config, "permission_violation", task.id, {
|
|
1474
|
-
violations: violations.map((v) => ({
|
|
1590
|
+
violations: violations.map((v) => ({
|
|
1591
|
+
path: v.path,
|
|
1592
|
+
reason: v.reason
|
|
1593
|
+
})),
|
|
1475
1594
|
mode: "enforce"
|
|
1476
1595
|
});
|
|
1477
1596
|
updateTask(teamName, task.id, {
|
|
@@ -1490,7 +1609,9 @@ async function runBridge(config) {
|
|
|
1490
1609
|
${violationSummary}`,
|
|
1491
1610
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
1492
1611
|
});
|
|
1493
|
-
log(
|
|
1612
|
+
log(
|
|
1613
|
+
`[bridge] Task ${task.id} failed: permission violations (enforce mode)`
|
|
1614
|
+
);
|
|
1494
1615
|
try {
|
|
1495
1616
|
recordTaskCompletionUsage({
|
|
1496
1617
|
config,
|
|
@@ -1502,16 +1623,23 @@ ${violationSummary}`,
|
|
|
1502
1623
|
startedAtIso: taskStartedAtIso
|
|
1503
1624
|
});
|
|
1504
1625
|
} catch (usageErr) {
|
|
1505
|
-
log(
|
|
1626
|
+
log(
|
|
1627
|
+
`[bridge] usage tracking failed for task ${task.id}: ${usageErr.message}`
|
|
1628
|
+
);
|
|
1506
1629
|
}
|
|
1507
1630
|
consecutiveErrors = 0;
|
|
1508
1631
|
} else {
|
|
1509
1632
|
audit(config, "permission_audit", task.id, {
|
|
1510
|
-
violations: violations.map((v) => ({
|
|
1633
|
+
violations: violations.map((v) => ({
|
|
1634
|
+
path: v.path,
|
|
1635
|
+
reason: v.reason
|
|
1636
|
+
})),
|
|
1511
1637
|
mode: "audit"
|
|
1512
1638
|
});
|
|
1513
|
-
log(
|
|
1514
|
-
${
|
|
1639
|
+
log(
|
|
1640
|
+
`[bridge] Permission audit warning for task ${task.id}:
|
|
1641
|
+
${violationSummary}`
|
|
1642
|
+
);
|
|
1515
1643
|
updateTask(teamName, task.id, { status: "completed" });
|
|
1516
1644
|
audit(config, "task_completed", task.id);
|
|
1517
1645
|
consecutiveErrors = 0;
|
|
@@ -1534,9 +1662,13 @@ ${violationSummary}`);
|
|
|
1534
1662
|
startedAtIso: taskStartedAtIso
|
|
1535
1663
|
});
|
|
1536
1664
|
} catch (usageErr) {
|
|
1537
|
-
log(
|
|
1665
|
+
log(
|
|
1666
|
+
`[bridge] usage tracking failed for task ${task.id}: ${usageErr.message}`
|
|
1667
|
+
);
|
|
1538
1668
|
}
|
|
1539
|
-
log(
|
|
1669
|
+
log(
|
|
1670
|
+
`[bridge] Task ${task.id} completed (with ${violations.length} audit warning(s))`
|
|
1671
|
+
);
|
|
1540
1672
|
}
|
|
1541
1673
|
} else {
|
|
1542
1674
|
updateTask(teamName, task.id, { status: "completed" });
|
|
@@ -1560,7 +1692,9 @@ ${violationSummary}`);
|
|
|
1560
1692
|
startedAtIso: taskStartedAtIso
|
|
1561
1693
|
});
|
|
1562
1694
|
} catch (usageErr) {
|
|
1563
|
-
log(
|
|
1695
|
+
log(
|
|
1696
|
+
`[bridge] usage tracking failed for task ${task.id}: ${usageErr.message}`
|
|
1697
|
+
);
|
|
1564
1698
|
}
|
|
1565
1699
|
log(`[bridge] Task ${task.id} completed`);
|
|
1566
1700
|
}
|
|
@@ -1573,10 +1707,11 @@ ${violationSummary}`);
|
|
|
1573
1707
|
} else {
|
|
1574
1708
|
audit(config, "cli_error", task.id, { error: errorMsg });
|
|
1575
1709
|
}
|
|
1576
|
-
writeTaskFailure(teamName, task.id, errorMsg
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1710
|
+
const failure = writeTaskFailure(teamName, task.id, errorMsg, {
|
|
1711
|
+
cwd: workingDirectory
|
|
1712
|
+
});
|
|
1713
|
+
const attempt = failure.retryCount;
|
|
1714
|
+
if (attempt >= (config.maxRetries ?? 5)) {
|
|
1580
1715
|
updateTask(teamName, task.id, {
|
|
1581
1716
|
status: "completed",
|
|
1582
1717
|
metadata: {
|
|
@@ -1586,7 +1721,10 @@ ${violationSummary}`);
|
|
|
1586
1721
|
failedAttempts: attempt
|
|
1587
1722
|
}
|
|
1588
1723
|
});
|
|
1589
|
-
audit(config, "task_permanently_failed", task.id, {
|
|
1724
|
+
audit(config, "task_permanently_failed", task.id, {
|
|
1725
|
+
error: errorMsg,
|
|
1726
|
+
attempts: attempt
|
|
1727
|
+
});
|
|
1590
1728
|
appendOutbox(teamName, workerName, {
|
|
1591
1729
|
type: "error",
|
|
1592
1730
|
taskId: task.id,
|
|
@@ -1604,9 +1742,13 @@ ${violationSummary}`);
|
|
|
1604
1742
|
startedAtIso: taskStartedAtIso
|
|
1605
1743
|
});
|
|
1606
1744
|
} catch (usageErr) {
|
|
1607
|
-
log(
|
|
1745
|
+
log(
|
|
1746
|
+
`[bridge] usage tracking failed for task ${task.id}: ${usageErr.message}`
|
|
1747
|
+
);
|
|
1608
1748
|
}
|
|
1609
|
-
log(
|
|
1749
|
+
log(
|
|
1750
|
+
`[bridge] Task ${task.id} permanently failed after ${attempt} attempts`
|
|
1751
|
+
);
|
|
1610
1752
|
} else {
|
|
1611
1753
|
updateTask(teamName, task.id, { status: "pending" });
|
|
1612
1754
|
audit(config, "task_failed", task.id, { error: errorMsg, attempt });
|
|
@@ -1616,7 +1758,9 @@ ${violationSummary}`);
|
|
|
1616
1758
|
error: `${errorMsg} (attempt ${attempt})`,
|
|
1617
1759
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
1618
1760
|
});
|
|
1619
|
-
log(
|
|
1761
|
+
log(
|
|
1762
|
+
`[bridge] Task ${task.id} failed (attempt ${attempt}): ${errorMsg}`
|
|
1763
|
+
);
|
|
1620
1764
|
}
|
|
1621
1765
|
}
|
|
1622
1766
|
} else {
|
|
@@ -1630,7 +1774,9 @@ ${violationSummary}`);
|
|
|
1630
1774
|
idleNotified = true;
|
|
1631
1775
|
}
|
|
1632
1776
|
try {
|
|
1633
|
-
const teamStatus = getTeamStatus(teamName, workingDirectory, 3e4, {
|
|
1777
|
+
const teamStatus = getTeamStatus(teamName, workingDirectory, 3e4, {
|
|
1778
|
+
includeUsage: false
|
|
1779
|
+
});
|
|
1634
1780
|
if (teamStatus.taskSummary.total > 0 && teamStatus.taskSummary.pending === 0 && teamStatus.taskSummary.inProgress === 0) {
|
|
1635
1781
|
log(`[bridge] All team tasks complete. Auto-terminating worker.`);
|
|
1636
1782
|
appendOutbox(teamName, workerName, {
|
|
@@ -1638,12 +1784,20 @@ ${violationSummary}`);
|
|
|
1638
1784
|
message: "All team tasks reached terminal state. Worker self-terminating.",
|
|
1639
1785
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
1640
1786
|
});
|
|
1641
|
-
audit(config, "bridge_shutdown", void 0, {
|
|
1642
|
-
|
|
1787
|
+
audit(config, "bridge_shutdown", void 0, {
|
|
1788
|
+
reason: "auto_cleanup_all_tasks_complete"
|
|
1789
|
+
});
|
|
1790
|
+
await handleShutdown(
|
|
1791
|
+
config,
|
|
1792
|
+
{ requestId: "auto-cleanup", reason: "all_tasks_complete" },
|
|
1793
|
+
activeChild
|
|
1794
|
+
);
|
|
1643
1795
|
break;
|
|
1644
1796
|
}
|
|
1645
1797
|
} catch (err) {
|
|
1646
|
-
log(
|
|
1798
|
+
log(
|
|
1799
|
+
`[bridge] Auto-cleanup status check failed: ${err.message}`
|
|
1800
|
+
);
|
|
1647
1801
|
}
|
|
1648
1802
|
}
|
|
1649
1803
|
rotateOutboxIfNeeded(teamName, workerName, config.outboxMaxLines);
|
|
@@ -1661,6 +1815,7 @@ ${violationSummary}`);
|
|
|
1661
1815
|
var import_crypto = require("crypto");
|
|
1662
1816
|
var import_child_process3 = require("child_process");
|
|
1663
1817
|
var import_fs9 = require("fs");
|
|
1818
|
+
var import_os2 = require("os");
|
|
1664
1819
|
var import_path11 = require("path");
|
|
1665
1820
|
var MAX_WORKTREE_CACHE_SIZE = 8;
|
|
1666
1821
|
var worktreeCacheMap = /* @__PURE__ */ new Map();
|
|
@@ -1676,7 +1831,8 @@ function getWorktreeRoot(cwd) {
|
|
|
1676
1831
|
const root = (0, import_child_process3.execSync)("git rev-parse --show-toplevel", {
|
|
1677
1832
|
cwd: effectiveCwd,
|
|
1678
1833
|
encoding: "utf-8",
|
|
1679
|
-
stdio: ["pipe", "pipe", "pipe"]
|
|
1834
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
1835
|
+
timeout: 5e3
|
|
1680
1836
|
}).trim();
|
|
1681
1837
|
if (worktreeCacheMap.size >= MAX_WORKTREE_CACHE_SIZE) {
|
|
1682
1838
|
const oldest = worktreeCacheMap.keys().next().value;
|
|
@@ -1721,7 +1877,7 @@ function validateBridgeWorkingDirectory(workingDirectory) {
|
|
|
1721
1877
|
throw new Error(`workingDirectory is not a directory: ${workingDirectory}`);
|
|
1722
1878
|
}
|
|
1723
1879
|
const resolved = (0, import_fs10.realpathSync)(workingDirectory);
|
|
1724
|
-
const home = (0,
|
|
1880
|
+
const home = (0, import_os3.homedir)();
|
|
1725
1881
|
if (!resolved.startsWith(home + "/") && resolved !== home) {
|
|
1726
1882
|
throw new Error(`workingDirectory is outside home directory: ${resolved}`);
|
|
1727
1883
|
}
|
|
@@ -1737,7 +1893,7 @@ function main() {
|
|
|
1737
1893
|
process.exit(1);
|
|
1738
1894
|
}
|
|
1739
1895
|
const configPath2 = (0, import_path12.resolve)(process.argv[configIdx + 1]);
|
|
1740
|
-
const home = (0,
|
|
1896
|
+
const home = (0, import_os3.homedir)();
|
|
1741
1897
|
const claudeConfigDir = getClaudeConfigDir();
|
|
1742
1898
|
if (!validateConfigPath(configPath2, home, claudeConfigDir)) {
|
|
1743
1899
|
console.error(`Config path must be under ~/ with ${claudeConfigDir} or ~/.omc/ subpath: ${configPath2}`);
|