@liangjie559567/ultrapower 6.0.0 → 7.0.2
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 +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/LICENSE +21 -21
- package/README.md +2 -2
- package/agents/executor.md +10 -5
- package/bridge/codex-server.cjs +1 -1
- package/bridge/gemini-server.cjs +1 -1
- package/bridge/gyoshu_bridge.py +846 -846
- package/dist/agents/status.d.ts +28 -0
- package/dist/agents/status.d.ts.map +1 -0
- package/dist/agents/status.js +44 -0
- package/dist/agents/status.js.map +1 -0
- package/dist/cache/result-cache.d.ts +20 -0
- package/dist/cache/result-cache.d.ts.map +1 -0
- package/dist/cache/result-cache.js +64 -0
- package/dist/cache/result-cache.js.map +1 -0
- package/dist/cache/security.d.ts +21 -0
- package/dist/cache/security.d.ts.map +1 -0
- package/dist/cache/security.js +39 -0
- package/dist/cache/security.js.map +1 -0
- package/dist/cli/autocomplete.d.ts +25 -0
- package/dist/cli/autocomplete.d.ts.map +1 -0
- package/dist/cli/autocomplete.js +99 -0
- package/dist/cli/autocomplete.js.map +1 -0
- package/dist/cli/commands/agents.d.ts +2 -0
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +8 -0
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/backfill.d.ts +2 -0
- package/dist/cli/commands/backfill.d.ts.map +1 -1
- package/dist/cli/commands/backfill.js +13 -0
- package/dist/cli/commands/backfill.js.map +1 -1
- package/dist/cli/commands/cleanup.d.ts +2 -0
- package/dist/cli/commands/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/cleanup.js +7 -0
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/config-notify-profile.d.ts +3 -0
- package/dist/cli/commands/config-notify-profile.d.ts.map +1 -0
- package/dist/cli/commands/config-notify-profile.js +58 -0
- package/dist/cli/commands/config-notify-profile.js.map +1 -0
- package/dist/cli/commands/config-stop-callback.d.ts +3 -0
- package/dist/cli/commands/config-stop-callback.d.ts.map +1 -0
- package/dist/cli/commands/config-stop-callback.js +97 -0
- package/dist/cli/commands/config-stop-callback.js.map +1 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +10 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/cost.d.ts +2 -0
- package/dist/cli/commands/cost.d.ts.map +1 -1
- package/dist/cli/commands/cost.js +8 -0
- package/dist/cli/commands/cost.js.map +1 -1
- package/dist/cli/commands/dashboard.d.ts +3 -0
- package/dist/cli/commands/dashboard.d.ts.map +1 -0
- package/dist/cli/commands/dashboard.js +13 -0
- package/dist/cli/commands/dashboard.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +11 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/export.d.ts +2 -0
- package/dist/cli/commands/export.d.ts.map +1 -1
- package/dist/cli/commands/export.js +10 -0
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/info.d.ts +3 -0
- package/dist/cli/commands/info.d.ts.map +1 -0
- package/dist/cli/commands/info.js +10 -0
- package/dist/cli/commands/info.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +10 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/interop.d.ts +3 -0
- package/dist/cli/commands/interop.d.ts.map +1 -0
- package/dist/cli/commands/interop.js +10 -0
- package/dist/cli/commands/interop.js.map +1 -0
- package/dist/cli/commands/launch.d.ts +3 -0
- package/dist/cli/commands/launch.d.ts.map +1 -0
- package/dist/cli/commands/launch.js +20 -0
- package/dist/cli/commands/launch.js.map +1 -0
- package/dist/cli/commands/perf-wrapper.d.ts +2 -0
- package/dist/cli/commands/perf-wrapper.d.ts.map +1 -0
- package/dist/cli/commands/perf-wrapper.js +4 -0
- package/dist/cli/commands/perf-wrapper.js.map +1 -0
- package/dist/cli/commands/registry.d.ts +9 -0
- package/dist/cli/commands/registry.d.ts.map +1 -0
- package/dist/cli/commands/registry.js +29 -0
- package/dist/cli/commands/registry.js.map +1 -0
- package/dist/cli/commands/sessions.d.ts +2 -0
- package/dist/cli/commands/sessions.d.ts.map +1 -1
- package/dist/cli/commands/sessions.js +8 -0
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +3 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +10 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +2 -0
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +8 -0
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/teleport-wrapper.d.ts +3 -0
- package/dist/cli/commands/teleport-wrapper.d.ts.map +1 -0
- package/dist/cli/commands/teleport-wrapper.js +12 -0
- package/dist/cli/commands/teleport-wrapper.js.map +1 -0
- package/dist/cli/commands/test-prompt.d.ts +3 -0
- package/dist/cli/commands/test-prompt.d.ts.map +1 -0
- package/dist/cli/commands/test-prompt.js +11 -0
- package/dist/cli/commands/test-prompt.js.map +1 -0
- package/dist/cli/commands/tui.d.ts +3 -0
- package/dist/cli/commands/tui.d.ts.map +1 -0
- package/dist/cli/commands/tui.js +10 -0
- package/dist/cli/commands/tui.js.map +1 -0
- package/dist/cli/commands/tutorial.d.ts +8 -0
- package/dist/cli/commands/tutorial.d.ts.map +1 -0
- package/dist/cli/commands/tutorial.js +31 -0
- package/dist/cli/commands/tutorial.js.map +1 -0
- package/dist/cli/commands/update.d.ts +3 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +10 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/version.d.ts +3 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +10 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/commands/wait-wrapper.d.ts +3 -0
- package/dist/cli/commands/wait-wrapper.d.ts.map +1 -0
- package/dist/cli/commands/wait-wrapper.js +12 -0
- package/dist/cli/commands/wait-wrapper.js.map +1 -0
- package/dist/cli/error-handler.d.ts +7 -0
- package/dist/cli/error-handler.d.ts.map +1 -0
- package/dist/cli/error-handler.js +30 -0
- package/dist/cli/error-handler.js.map +1 -0
- package/dist/cli/index.d.ts +1 -7
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +44 -1474
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/loader.d.ts +24 -0
- package/dist/cli/loader.d.ts.map +1 -0
- package/dist/cli/loader.js +27 -0
- package/dist/cli/loader.js.map +1 -0
- package/dist/cli/progress/agent-status.d.ts +22 -0
- package/dist/cli/progress/agent-status.d.ts.map +1 -0
- package/dist/cli/progress/agent-status.js +44 -0
- package/dist/cli/progress/agent-status.js.map +1 -0
- package/dist/cli/progress/examples.d.ts +7 -0
- package/dist/cli/progress/examples.d.ts.map +1 -0
- package/dist/cli/progress/examples.js +50 -0
- package/dist/cli/progress/examples.js.map +1 -0
- package/dist/cli/progress/index.d.ts +7 -0
- package/dist/cli/progress/index.d.ts.map +1 -0
- package/dist/cli/progress/index.js +7 -0
- package/dist/cli/progress/index.js.map +1 -0
- package/dist/cli/progress/progress-bar.d.ts +17 -0
- package/dist/cli/progress/progress-bar.d.ts.map +1 -0
- package/dist/cli/progress/progress-bar.js +28 -0
- package/dist/cli/progress/progress-bar.js.map +1 -0
- package/dist/cli/progress/spinner.d.ts +14 -0
- package/dist/cli/progress/spinner.d.ts.map +1 -0
- package/dist/cli/progress/spinner.js +34 -0
- package/dist/cli/progress/spinner.js.map +1 -0
- package/dist/cli/tutorial/index.d.ts +15 -0
- package/dist/cli/tutorial/index.d.ts.map +1 -0
- package/dist/cli/tutorial/index.js +89 -0
- package/dist/cli/tutorial/index.js.map +1 -0
- package/dist/cli/utils/config.d.ts +2 -0
- package/dist/cli/utils/config.d.ts.map +1 -0
- package/dist/cli/utils/config.js +4 -0
- package/dist/cli/utils/config.js.map +1 -0
- package/dist/cli/utils/dashboard.d.ts +2 -0
- package/dist/cli/utils/dashboard.d.ts.map +1 -0
- package/dist/cli/utils/dashboard.js +74 -0
- package/dist/cli/utils/dashboard.js.map +1 -0
- package/dist/cli/utils/info.d.ts +2 -0
- package/dist/cli/utils/info.d.ts.map +1 -0
- package/dist/cli/utils/info.js +4 -0
- package/dist/cli/utils/info.js.map +1 -0
- package/dist/cli/utils/init.d.ts +2 -0
- package/dist/cli/utils/init.d.ts.map +1 -0
- package/dist/cli/utils/init.js +4 -0
- package/dist/cli/utils/init.js.map +1 -0
- package/dist/cli/utils/interop.d.ts +2 -0
- package/dist/cli/utils/interop.d.ts.map +1 -0
- package/dist/cli/utils/interop.js +4 -0
- package/dist/cli/utils/interop.js.map +1 -0
- package/dist/cli/utils/setup.d.ts +2 -0
- package/dist/cli/utils/setup.d.ts.map +1 -0
- package/dist/cli/utils/setup.js +4 -0
- package/dist/cli/utils/setup.js.map +1 -0
- package/dist/cli/utils/test-prompt.d.ts +2 -0
- package/dist/cli/utils/test-prompt.d.ts.map +1 -0
- package/dist/cli/utils/test-prompt.js +4 -0
- package/dist/cli/utils/test-prompt.js.map +1 -0
- package/dist/cli/utils/update.d.ts +2 -0
- package/dist/cli/utils/update.d.ts.map +1 -0
- package/dist/cli/utils/update.js +4 -0
- package/dist/cli/utils/update.js.map +1 -0
- package/dist/cli/utils/version-info.d.ts +2 -0
- package/dist/cli/utils/version-info.d.ts.map +1 -0
- package/dist/cli/utils/version-info.js +4 -0
- package/dist/cli/utils/version-info.js.map +1 -0
- package/dist/errors/classifier.d.ts +10 -0
- package/dist/errors/classifier.d.ts.map +1 -0
- package/dist/errors/classifier.js +119 -0
- package/dist/errors/classifier.js.map +1 -0
- package/dist/errors/index.d.ts +7 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +7 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/spelling.d.ts +5 -0
- package/dist/errors/spelling.d.ts.map +1 -0
- package/dist/errors/spelling.js +36 -0
- package/dist/errors/spelling.js.map +1 -0
- package/dist/errors/types.d.ts +25 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +13 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/features/ccg/incremental-processor.d.ts +3 -3
- package/dist/features/ccg/incremental-processor.d.ts.map +1 -1
- package/dist/features/ccg/incremental-processor.js +7 -7
- package/dist/features/ccg/incremental-processor.js.map +1 -1
- package/dist/features/state-manager/index.d.ts +5 -0
- package/dist/features/state-manager/index.d.ts.map +1 -1
- package/dist/features/state-manager/index.js +7 -0
- package/dist/features/state-manager/index.js.map +1 -1
- package/dist/hooks/bridge-converter.d.ts +10 -0
- package/dist/hooks/bridge-converter.d.ts.map +1 -0
- package/dist/hooks/bridge-converter.js +43 -0
- package/dist/hooks/bridge-converter.js.map +1 -0
- package/dist/hooks/bridge.d.ts +2 -31
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +24 -1066
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/cache.d.ts +2 -0
- package/dist/hooks/cache.d.ts.map +1 -0
- package/dist/hooks/cache.js +78 -0
- package/dist/hooks/cache.js.map +1 -0
- package/dist/hooks/handlers/autopilot.d.ts +3 -0
- package/dist/hooks/handlers/autopilot.d.ts.map +1 -0
- package/dist/hooks/handlers/autopilot.js +23 -0
- package/dist/hooks/handlers/autopilot.js.map +1 -0
- package/dist/hooks/handlers/index.d.ts +5 -0
- package/dist/hooks/handlers/index.d.ts.map +1 -0
- package/dist/hooks/handlers/index.js +18 -0
- package/dist/hooks/handlers/index.js.map +1 -0
- package/dist/hooks/handlers/keyword-detector.d.ts +3 -0
- package/dist/hooks/handlers/keyword-detector.d.ts.map +1 -0
- package/dist/hooks/handlers/keyword-detector.js +66 -0
- package/dist/hooks/handlers/keyword-detector.js.map +1 -0
- package/dist/hooks/handlers/persistent-mode.d.ts +3 -0
- package/dist/hooks/handlers/persistent-mode.d.ts.map +1 -0
- package/dist/hooks/handlers/persistent-mode.js +82 -0
- package/dist/hooks/handlers/persistent-mode.js.map +1 -0
- package/dist/hooks/handlers/post-tool-use.d.ts +3 -0
- package/dist/hooks/handlers/post-tool-use.d.ts.map +1 -0
- package/dist/hooks/handlers/post-tool-use.js +74 -0
- package/dist/hooks/handlers/post-tool-use.js.map +1 -0
- package/dist/hooks/handlers/pre-tool-use.d.ts +7 -0
- package/dist/hooks/handlers/pre-tool-use.d.ts.map +1 -0
- package/dist/hooks/handlers/pre-tool-use.js +120 -0
- package/dist/hooks/handlers/pre-tool-use.js.map +1 -0
- package/dist/hooks/handlers/ralph.d.ts +3 -0
- package/dist/hooks/handlers/ralph.d.ts.map +1 -0
- package/dist/hooks/handlers/ralph.js +53 -0
- package/dist/hooks/handlers/ralph.js.map +1 -0
- package/dist/hooks/handlers/route-map.d.ts +8 -0
- package/dist/hooks/handlers/route-map.d.ts.map +1 -0
- package/dist/hooks/handlers/route-map.js +64 -0
- package/dist/hooks/handlers/route-map.js.map +1 -0
- package/dist/hooks/handlers/session-start.d.ts +3 -0
- package/dist/hooks/handlers/session-start.d.ts.map +1 -0
- package/dist/hooks/handlers/session-start.js +186 -0
- package/dist/hooks/handlers/session-start.js.map +1 -0
- package/dist/hooks/handlers/stop-continuation.d.ts +3 -0
- package/dist/hooks/handlers/stop-continuation.d.ts.map +1 -0
- package/dist/hooks/handlers/stop-continuation.js +50 -0
- package/dist/hooks/handlers/stop-continuation.js.map +1 -0
- package/dist/hooks/team-state-reader.d.ts +24 -0
- package/dist/hooks/team-state-reader.d.ts.map +1 -0
- package/dist/hooks/team-state-reader.js +88 -0
- package/dist/hooks/team-state-reader.js.map +1 -0
- package/dist/hooks/validation.d.ts +5 -0
- package/dist/hooks/validation.d.ts.map +1 -0
- package/dist/hooks/validation.js +48 -0
- package/dist/hooks/validation.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/unified-logger.d.ts +15 -0
- package/dist/lib/unified-logger.d.ts.map +1 -0
- package/dist/lib/unified-logger.js +23 -0
- package/dist/lib/unified-logger.js.map +1 -0
- package/dist/mcp/adapters/memory-adapter.d.ts +2 -2
- package/dist/mcp/adapters/state-adapter.d.ts +5 -5
- package/dist/mcp/adapters/trace-adapter.d.ts +3 -3
- package/dist/mcp/codex-server.d.ts.map +1 -1
- package/dist/mcp/codex-server.js +22 -27
- package/dist/mcp/codex-server.js.map +1 -1
- package/dist/mcp/config/schema.d.ts +6 -6
- package/dist/mcp/config-schema.d.ts +6 -6
- package/dist/mcp/gemini-server.d.ts.map +1 -1
- package/dist/mcp/gemini-server.js +21 -26
- package/dist/mcp/gemini-server.js.map +1 -1
- package/dist/mcp/logger.d.ts.map +1 -1
- package/dist/mcp/logger.js +3 -1
- package/dist/mcp/logger.js.map +1 -1
- package/dist/mcp/tool-types.d.ts +50 -0
- package/dist/mcp/tool-types.d.ts.map +1 -0
- package/dist/mcp/tool-types.js +6 -0
- package/dist/mcp/tool-types.js.map +1 -0
- package/dist/observability/masker.d.ts +3 -0
- package/dist/observability/masker.d.ts.map +1 -0
- package/dist/observability/masker.js +23 -0
- package/dist/observability/masker.js.map +1 -0
- package/dist/observability/monitor.d.ts +17 -0
- package/dist/observability/monitor.d.ts.map +1 -0
- package/dist/observability/monitor.js +30 -0
- package/dist/observability/monitor.js.map +1 -0
- package/dist/observability/tracer.d.ts +6 -0
- package/dist/observability/tracer.d.ts.map +1 -0
- package/dist/observability/tracer.js +36 -0
- package/dist/observability/tracer.js.map +1 -0
- package/dist/reliability/circuit-breaker.d.ts +24 -0
- package/dist/reliability/circuit-breaker.d.ts.map +1 -0
- package/dist/reliability/circuit-breaker.js +59 -0
- package/dist/reliability/circuit-breaker.js.map +1 -0
- package/dist/reliability/model-fallback.d.ts +21 -0
- package/dist/reliability/model-fallback.d.ts.map +1 -0
- package/dist/reliability/model-fallback.js +47 -0
- package/dist/reliability/model-fallback.js.map +1 -0
- package/dist/reliability/retry-classifier.d.ts +17 -0
- package/dist/reliability/retry-classifier.d.ts.map +1 -0
- package/dist/reliability/retry-classifier.js +59 -0
- package/dist/reliability/retry-classifier.js.map +1 -0
- package/dist/reliability/retry-manager.d.ts +20 -0
- package/dist/reliability/retry-manager.d.ts.map +1 -0
- package/dist/reliability/retry-manager.js +45 -0
- package/dist/reliability/retry-manager.js.map +1 -0
- package/dist/security/audit-logger.d.ts +21 -0
- package/dist/security/audit-logger.d.ts.map +1 -0
- package/dist/security/audit-logger.js +58 -0
- package/dist/security/audit-logger.js.map +1 -0
- package/dist/security/budget-controller.d.ts +23 -0
- package/dist/security/budget-controller.d.ts.map +1 -0
- package/dist/security/budget-controller.js +31 -0
- package/dist/security/budget-controller.js.map +1 -0
- package/dist/security/concurrency-control.d.ts +42 -0
- package/dist/security/concurrency-control.d.ts.map +1 -0
- package/dist/security/concurrency-control.js +87 -0
- package/dist/security/concurrency-control.js.map +1 -0
- package/dist/security/resource-guard.d.ts +25 -0
- package/dist/security/resource-guard.d.ts.map +1 -0
- package/dist/security/resource-guard.js +57 -0
- package/dist/security/resource-guard.js.map +1 -0
- package/dist/security/tenant-isolator.d.ts +27 -0
- package/dist/security/tenant-isolator.d.ts.map +1 -0
- package/dist/security/tenant-isolator.js +52 -0
- package/dist/security/tenant-isolator.js.map +1 -0
- package/dist/state/backup-manager.d.ts +56 -0
- package/dist/state/backup-manager.d.ts.map +1 -0
- package/dist/state/backup-manager.js +174 -0
- package/dist/state/backup-manager.js.map +1 -0
- package/dist/state/index.d.ts +26 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +40 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/migration/index.d.ts +25 -0
- package/dist/state/migration/index.d.ts.map +1 -0
- package/dist/state/migration/index.js +61 -0
- package/dist/state/migration/index.js.map +1 -0
- package/dist/state/migration/integrity.d.ts +30 -0
- package/dist/state/migration/integrity.d.ts.map +1 -0
- package/dist/state/migration/integrity.js +109 -0
- package/dist/state/migration/integrity.js.map +1 -0
- package/dist/tools/python-repl/index.d.ts +2 -2
- package/dist/tools/python-repl/tool.d.ts +2 -2
- package/docs/CLAUDE.md +1 -1
- package/docs/INSTALL.md +2 -2
- package/docs/REFERENCE.md +1 -1
- package/docs/api/assets/highlight.css +85 -85
- package/docs/api/assets/style.css +1633 -1633
- package/docs/api/classes/ContextCollector.html +21 -21
- package/docs/api/functions/activateUltrawork.html +2 -2
- package/docs/api/functions/addCustomNote.html +5 -5
- package/docs/api/functions/addDirective.html +2 -2
- package/docs/api/functions/addManualEntry.html +2 -2
- package/docs/api/functions/addPattern.html +3 -3
- package/docs/api/functions/addWorker.html +2 -2
- package/docs/api/functions/addWorkingMemoryEntry.html +2 -2
- package/docs/api/functions/analyzeContextUsage.html +2 -2
- package/docs/api/functions/appendProgress.html +2 -2
- package/docs/api/functions/appendSessionId.html +2 -2
- package/docs/api/functions/applyCommentFilters.html +3 -3
- package/docs/api/functions/assignFileToWorker.html +2 -2
- package/docs/api/functions/backgroundUpdateCheck.html +2 -2
- package/docs/api/functions/buildAxiomBootContext.html +1 -1
- package/docs/api/functions/buildBoulderContinuation.html +2 -2
- package/docs/api/functions/buildDelegationTable.html +2 -2
- package/docs/api/functions/buildKeyTriggersSection.html +2 -2
- package/docs/api/functions/buildOrchestratorReminder.html +2 -2
- package/docs/api/functions/buildUseAvoidSection.html +2 -2
- package/docs/api/functions/buildVerificationReminder.html +2 -2
- package/docs/api/functions/canResumeAutopilot.html +10 -10
- package/docs/api/functions/canStartMode.html +5 -5
- package/docs/api/functions/cancelAutopilot.html +3 -3
- package/docs/api/functions/cancelUltraQA.html +2 -2
- package/docs/api/functions/checkBackgroundNotifications.html +2 -2
- package/docs/api/functions/checkBoulderContinuation.html +2 -2
- package/docs/api/functions/checkDuplicateTriggers.html +2 -2
- package/docs/api/functions/checkExpertGate.html +1 -1
- package/docs/api/functions/checkForComments.html +2 -2
- package/docs/api/functions/checkForUpdates.html +2 -2
- package/docs/api/functions/checkIncompleteTodos.html +13 -13
- package/docs/api/functions/checkPersistentModes.html +3 -3
- package/docs/api/functions/cleanupOrphanedState.html +2 -2
- package/docs/api/functions/cleanupStaleAgents.html +2 -2
- package/docs/api/functions/cleanupTransientState.html +2 -2
- package/docs/api/functions/clearAgentUsageState.html +1 -1
- package/docs/api/functions/clearAllModeStates.html +2 -2
- package/docs/api/functions/clearAutopilot.html +2 -2
- package/docs/api/functions/clearAutopilotState.html +2 -2
- package/docs/api/functions/clearBeadsContext.html +2 -2
- package/docs/api/functions/clearBoulderState.html +2 -2
- package/docs/api/functions/clearDetectionState.html +2 -2
- package/docs/api/functions/clearInjectedPaths.html +2 -2
- package/docs/api/functions/clearInjectedRules.html +2 -2
- package/docs/api/functions/clearLinkedUltraworkState.html +2 -2
- package/docs/api/functions/clearModeState.html +10 -10
- package/docs/api/functions/clearProjectMemorySession.html +4 -4
- package/docs/api/functions/clearRalphState.html +2 -2
- package/docs/api/functions/clearRapidFireDebounce.html +2 -2
- package/docs/api/functions/clearSkillSession.html +2 -2
- package/docs/api/functions/clearThinkModeState.html +2 -2
- package/docs/api/functions/clearTrackingState.html +2 -2
- package/docs/api/functions/clearUltraQAState.html +2 -2
- package/docs/api/functions/clearVerificationState.html +3 -3
- package/docs/api/functions/commandExists.html +2 -2
- package/docs/api/functions/compareVersions.html +3 -3
- package/docs/api/functions/completeUltraQA.html +2 -2
- package/docs/api/functions/completeUltrapilot.html +2 -2
- package/docs/api/functions/completeWorker.html +2 -2
- package/docs/api/functions/containsTokenLimitError.html +2 -2
- package/docs/api/functions/createAgentToolRestrictions.html +3 -3
- package/docs/api/functions/createAgentUsageReminderHook.html +1 -1
- package/docs/api/functions/createAutoSlashCommandHook.html +7 -7
- package/docs/api/functions/createBackgroundNotificationHook.html +7 -7
- package/docs/api/functions/createBackgroundTaskManager.html +2 -2
- package/docs/api/functions/createBoulderState.html +2 -2
- package/docs/api/functions/createCommentCheckerHook.html +6 -6
- package/docs/api/functions/createCompactCheckpoint.html +2 -2
- package/docs/api/functions/createContentHash.html +2 -2
- package/docs/api/functions/createContextInjectorHook.html +7 -7
- package/docs/api/functions/createDirectoryReadmeInjectorHook.html +9 -9
- package/docs/api/functions/createEmptyMessageSanitizerHook.html +6 -6
- package/docs/api/functions/createEnvContext.html +2 -2
- package/docs/api/functions/createHookOutput.html +4 -4
- package/docs/api/functions/createLearnedSkillsHook.html +6 -6
- package/docs/api/functions/createMagicKeywordProcessor.html +2 -2
- package/docs/api/functions/createModeMarker.html +6 -6
- package/docs/api/functions/createPrd.html +2 -2
- package/docs/api/functions/createPreemptiveCompactionHook.html +6 -6
- package/docs/api/functions/createRalphLoopHook.html +2 -2
- package/docs/api/functions/createRecoveryHook.html +7 -7
- package/docs/api/functions/createRulesInjectorHook.html +8 -8
- package/docs/api/functions/createSimplePrd.html +2 -2
- package/docs/api/functions/createSisyphusOrchestratorHook.html +7 -7
- package/docs/api/functions/createSisyphusSession.html +7 -7
- package/docs/api/functions/createThinkModeHook.html +7 -7
- package/docs/api/functions/createThinkingBlockValidatorHook.html +1 -1
- package/docs/api/functions/createTodoContinuationHook.html +2 -2
- package/docs/api/functions/createUltraworkStateHook.html +2 -2
- package/docs/api/functions/deactivateUltrawork.html +8 -8
- package/docs/api/functions/decayHotPaths.html +2 -2
- package/docs/api/functions/decomposeTask.html +11 -11
- package/docs/api/functions/deepMerge.html +2 -2
- package/docs/api/functions/detectArchitectApproval.html +2 -2
- package/docs/api/functions/detectArchitectRejection.html +2 -2
- package/docs/api/functions/detectContextLimitError.html +2 -2
- package/docs/api/functions/detectContextLimitErrorInText.html +2 -2
- package/docs/api/functions/detectDirectivesFromMessage.html +2 -2
- package/docs/api/functions/detectEditError.html +2 -2
- package/docs/api/functions/detectEditErrorInOutput.html +2 -2
- package/docs/api/functions/detectEditErrorInText.html +2 -2
- package/docs/api/functions/detectExtractableMoment.html +2 -2
- package/docs/api/functions/detectKeywordsWithType.html +11 -11
- package/docs/api/functions/detectMagicKeywords.html +2 -2
- package/docs/api/functions/detectProjectEnvironment.html +2 -2
- package/docs/api/functions/detectRecoverableError.html +3 -3
- package/docs/api/functions/detectSessionErrorType.html +2 -2
- package/docs/api/functions/detectSlashCommand.html +3 -3
- package/docs/api/functions/detectThinkKeyword.html +2 -2
- package/docs/api/functions/detectUltrathinkKeyword.html +2 -2
- package/docs/api/functions/discoverAllCommands.html +2 -2
- package/docs/api/functions/enablePrdMode.html +2 -2
- package/docs/api/functions/enhancePrompt.html +2 -2
- package/docs/api/functions/ensureAutopilotDir.html +2 -2
- package/docs/api/functions/ensureDirectoryStructure.html +2 -2
- package/docs/api/functions/ensureModeStateDir.html +2 -2
- package/docs/api/functions/ensureSkillsDir.html +2 -2
- package/docs/api/functions/estimateTokens.html +2 -2
- package/docs/api/functions/executeSlashCommand.html +2 -2
- package/docs/api/functions/expandCommand.html +8 -8
- package/docs/api/functions/expandCommandPrompt.html +6 -6
- package/docs/api/functions/expandCommands.html +2 -2
- package/docs/api/functions/exportSessionSummary.html +2 -2
- package/docs/api/functions/exportWisdomToNotepad.html +2 -2
- package/docs/api/functions/extractPromptText.html +11 -11
- package/docs/api/functions/extractSlashPromptText.html +2 -2
- package/docs/api/functions/extractThinkPromptText.html +2 -2
- package/docs/api/functions/failWorker.html +2 -2
- package/docs/api/functions/findCommand.html +2 -2
- package/docs/api/functions/findMatchingSkills.html +2 -2
- package/docs/api/functions/findPlannerPlans.html +3 -3
- package/docs/api/functions/findPrdPath.html +2 -2
- package/docs/api/functions/findPreviousThinkingContent.html +1 -1
- package/docs/api/functions/findProgressPath.html +2 -2
- package/docs/api/functions/findProjectRoot.html +3 -3
- package/docs/api/functions/findRecoveryEmptyMessages.html +2 -2
- package/docs/api/functions/findRecoveryOrphanThinking.html +2 -2
- package/docs/api/functions/findRecoveryThinkingBlocks.html +2 -2
- package/docs/api/functions/findRuleFiles.html +4 -4
- package/docs/api/functions/findSkillFiles.html +3 -3
- package/docs/api/functions/formatCancelMessage.html +2 -2
- package/docs/api/functions/formatCompactSummary.html +2 -2
- package/docs/api/functions/formatContextSummary.html +3 -3
- package/docs/api/functions/formatDirectivesForContext.html +2 -2
- package/docs/api/functions/formatFailureSummary.html +2 -2
- package/docs/api/functions/formatFile.html +2 -2
- package/docs/api/functions/formatFileChanges.html +2 -2
- package/docs/api/functions/formatFileList.html +2 -2
- package/docs/api/functions/formatFullContext.html +2 -2
- package/docs/api/functions/formatFullNotepad.html +2 -2
- package/docs/api/functions/formatLearningsForContext.html +2 -2
- package/docs/api/functions/formatNextStoryPrompt.html +2 -2
- package/docs/api/functions/formatNotepadContext.html +2 -2
- package/docs/api/functions/formatPatternsForContext.html +2 -2
- package/docs/api/functions/formatPrd.html +2 -2
- package/docs/api/functions/formatPrdStatus.html +2 -2
- package/docs/api/functions/formatPreCompactSummary.html +2 -2
- package/docs/api/functions/formatProgressForContext.html +2 -2
- package/docs/api/functions/formatProgressMessage.html +2 -2
- package/docs/api/functions/formatStory.html +2 -2
- package/docs/api/functions/formatSummary.html +2 -2
- package/docs/api/functions/formatUpdateNotification.html +2 -2
- package/docs/api/functions/formatValidationResults.html +2 -2
- package/docs/api/functions/generateExtractionPrompt.html +2 -2
- package/docs/api/functions/generateSkillFrontmatter.html +2 -2
- package/docs/api/functions/generateSummary.html +2 -2
- package/docs/api/functions/getActiveAgentCount.html +2 -2
- package/docs/api/functions/getActiveExclusiveMode.html +4 -4
- package/docs/api/functions/getActiveModes.html +2 -2
- package/docs/api/functions/getActivePlanPath.html +2 -2
- package/docs/api/functions/getAgentDefinitions.html +2 -2
- package/docs/api/functions/getAgentsByType.html +2 -2
- package/docs/api/functions/getAllCommands.html +2 -2
- package/docs/api/functions/getAllModeStatuses.html +5 -5
- package/docs/api/functions/getAllSkills.html +2 -2
- package/docs/api/functions/getArchitectRejectionContinuationPrompt.html +2 -2
- package/docs/api/functions/getArchitectVerificationPrompt.html +2 -2
- package/docs/api/functions/getAutoFormatMessage.html +2 -2
- package/docs/api/functions/getAutopilotStateAge.html +3 -3
- package/docs/api/functions/getAvailableAgents.html +2 -2
- package/docs/api/functions/getAxiomDir.html +1 -1
- package/docs/api/functions/getBackgroundTaskGuidance.html +4 -4
- package/docs/api/functions/getBeadsContextConfig.html +2 -2
- package/docs/api/functions/getBeadsInstructions.html +2 -2
- package/docs/api/functions/getBoulderFilePath.html +2 -2
- package/docs/api/functions/getCheckpointPath.html +2 -2
- package/docs/api/functions/getClaudeThinkingConfig.html +3 -3
- package/docs/api/functions/getCommand.html +2 -2
- package/docs/api/functions/getCommandsDir.html +2 -2
- package/docs/api/functions/getCompactionQueueDepth.html +3 -3
- package/docs/api/functions/getCompletedWorkers.html +2 -2
- package/docs/api/functions/getDefaultMcpServers.html +1 -1
- package/docs/api/functions/getDefaultModelForCategory.html +2 -2
- package/docs/api/functions/getDetectionStats.html +2 -2
- package/docs/api/functions/getDirectPlanningPrompt.html +3 -3
- package/docs/api/functions/getExecutionPrompt.html +2 -2
- package/docs/api/functions/getExpansionPrompt.html +3 -3
- package/docs/api/functions/getExpertGateMessage.html +1 -1
- package/docs/api/functions/getFailedWorkers.html +2 -2
- package/docs/api/functions/getFormatter.html +2 -2
- package/docs/api/functions/getGitDiffStats.html +2 -2
- package/docs/api/functions/getGlobalStateFilePath.html +4 -4
- package/docs/api/functions/getGoalCommand.html +2 -2
- package/docs/api/functions/getHighVariant.html +3 -3
- package/docs/api/functions/getInstallInfo.html +2 -2
- package/docs/api/functions/getInstalledVersion.html +2 -2
- package/docs/api/functions/getIssuesToFix.html +2 -2
- package/docs/api/functions/getLastDetection.html +2 -2
- package/docs/api/functions/getLearnerConfigValue.html +2 -2
- package/docs/api/functions/getLinter.html +2 -2
- package/docs/api/functions/getManualSection.html +2 -2
- package/docs/api/functions/getMemoryFilePaths.html +1 -1
- package/docs/api/functions/getModeMarkerFilePath.html +2 -2
- package/docs/api/functions/getModeStateFilePath.html +2 -2
- package/docs/api/functions/getNextStory.html +2 -2
- package/docs/api/functions/getNotepadPath.html +2 -2
- package/docs/api/functions/getNotepadStats.html +2 -2
- package/docs/api/functions/getOmcPrdPath.html +2 -2
- package/docs/api/functions/getOmcProgressPath.html +2 -2
- package/docs/api/functions/getOmcSystemPrompt.html +2 -2
- package/docs/api/functions/getOmcToolNames.html +3 -3
- package/docs/api/functions/getPatterns.html +2 -2
- package/docs/api/functions/getPhasePrompt.html +2 -2
- package/docs/api/functions/getPlanName.html +2 -2
- package/docs/api/functions/getPlanPath.html +2 -2
- package/docs/api/functions/getPlanProgress.html +2 -2
- package/docs/api/functions/getPlanSummaries.html +2 -2
- package/docs/api/functions/getPrdCompletionStatus.html +2 -2
- package/docs/api/functions/getPrdPath.html +2 -2
- package/docs/api/functions/getPrdStatus.html +2 -2
- package/docs/api/functions/getPreCommitReminderMessage.html +2 -2
- package/docs/api/functions/getPriorityContext.html +2 -2
- package/docs/api/functions/getProgressContext.html +2 -2
- package/docs/api/functions/getProgressPath.html +2 -2
- package/docs/api/functions/getPromotionCandidates.html +2 -2
- package/docs/api/functions/getQAPrompt.html +2 -2
- package/docs/api/functions/getRalphContext.html +3 -3
- package/docs/api/functions/getReadmesForPath.html +2 -2
- package/docs/api/functions/getRecentLearnings.html +2 -2
- package/docs/api/functions/getRulesForPath.html +2 -2
- package/docs/api/functions/getRunningAgents.html +2 -2
- package/docs/api/functions/getRunningWorkers.html +2 -2
- package/docs/api/functions/getSessionTokenEstimate.html +2 -2
- package/docs/api/functions/getSkillsDir.html +2 -2
- package/docs/api/functions/getSpecPath.html +2 -2
- package/docs/api/functions/getStaleAgents.html +2 -2
- package/docs/api/functions/getStateDir.html +2 -2
- package/docs/api/functions/getStory.html +2 -2
- package/docs/api/functions/getSubagentStateFilePath.html +2 -2
- package/docs/api/functions/getThinkModeState.html +2 -2
- package/docs/api/functions/getThinkingConfig.html +3 -3
- package/docs/api/functions/getTopHotPaths.html +2 -2
- package/docs/api/functions/getTrackingStats.html +2 -2
- package/docs/api/functions/getTransitionPrompt.html +2 -2
- package/docs/api/functions/getUltraworkPersistenceMessage.html +2 -2
- package/docs/api/functions/getValidationPrompt.html +2 -2
- package/docs/api/functions/getValidationSpawnPrompt.html +2 -2
- package/docs/api/functions/getValidationStats.html +1 -1
- package/docs/api/functions/getValidationStatus.html +2 -2
- package/docs/api/functions/getWorkingMemory.html +2 -2
- package/docs/api/functions/handleBackgroundEvent.html +3 -3
- package/docs/api/functions/handleContextWindowRecovery.html +2 -2
- package/docs/api/functions/handleEditErrorRecovery.html +2 -2
- package/docs/api/functions/handlePermissionRequest.html +2 -2
- package/docs/api/functions/handleRecovery.html +10 -10
- package/docs/api/functions/handleSessionEnd.html +2 -2
- package/docs/api/functions/handleSessionRecovery.html +2 -2
- package/docs/api/functions/handleSharedFiles.html +7 -7
- package/docs/api/functions/handleSubagentStart.html +2 -2
- package/docs/api/functions/handleSubagentStop.html +2 -2
- package/docs/api/functions/hasBoulder.html +2 -2
- package/docs/api/functions/hasContentParts.html +1 -1
- package/docs/api/functions/hasModeState.html +3 -3
- package/docs/api/functions/hasPrd.html +2 -2
- package/docs/api/functions/hasTextContent.html +2 -2
- package/docs/api/functions/hasValidContent.html +3 -3
- package/docs/api/functions/incrementAgentCount.html +2 -2
- package/docs/api/functions/incrementRalphIteration.html +2 -2
- package/docs/api/functions/incrementReinforcement.html +2 -2
- package/docs/api/functions/initAutopilot.html +2 -2
- package/docs/api/functions/initNotepad.html +2 -2
- package/docs/api/functions/initPrd.html +2 -2
- package/docs/api/functions/initProgress.html +2 -2
- package/docs/api/functions/initUltrapilot.html +2 -2
- package/docs/api/functions/injectContextIntoText.html +2 -2
- package/docs/api/functions/injectPendingContext.html +3 -3
- package/docs/api/functions/injectRecoveryTextPart.html +2 -2
- package/docs/api/functions/install.html +2 -2
- package/docs/api/functions/integrateResults.html +5 -5
- package/docs/api/functions/isActiveModeRunning.html +2 -2
- package/docs/api/functions/isAllowedPath.html +2 -2
- package/docs/api/functions/isAlreadyHighVariant.html +2 -2
- package/docs/api/functions/isAutopilotActive.html +2 -2
- package/docs/api/functions/isAxiomEnabled.html +1 -1
- package/docs/api/functions/isClaudeInstalled.html +3 -3
- package/docs/api/functions/isClaudeModel.html +2 -2
- package/docs/api/functions/isCompactionInProgress.html +3 -3
- package/docs/api/functions/isDuplicateByContentHash.html +2 -2
- package/docs/api/functions/isDuplicateByRealPath.html +2 -2
- package/docs/api/functions/isExcludedCommand.html +2 -2
- package/docs/api/functions/isExtendedThinkingModel.html +1 -1
- package/docs/api/functions/isFileOwnedByWorker.html +2 -2
- package/docs/api/functions/isFormatterAvailable.html +2 -2
- package/docs/api/functions/isGptModel.html +2 -2
- package/docs/api/functions/isInstalled.html +2 -2
- package/docs/api/functions/isLearnerEnabled.html +2 -2
- package/docs/api/functions/isModeActive.html +6 -6
- package/docs/api/functions/isNonInteractive.html +1 -1
- package/docs/api/functions/isRecoverableError.html +2 -2
- package/docs/api/functions/isSafeCommand.html +2 -2
- package/docs/api/functions/isSessionRecoverable.html +2 -2
- package/docs/api/functions/isSharedFile.html +2 -2
- package/docs/api/functions/isThinkModeActive.html +2 -2
- package/docs/api/functions/isToolPart.html +2 -2
- package/docs/api/functions/isUltraQAActive.html +1 -1
- package/docs/api/functions/isWriteEditTool.html +2 -2
- package/docs/api/functions/learnFromToolOutput.html +7 -7
- package/docs/api/functions/lintFile.html +2 -2
- package/docs/api/functions/listAvailableCommands.html +2 -2
- package/docs/api/functions/listCommands.html +2 -2
- package/docs/api/functions/listPromotableLearnings.html +2 -2
- package/docs/api/functions/loadAgentPrompt.html +7 -7
- package/docs/api/functions/loadAgentUsageState.html +1 -1
- package/docs/api/functions/loadAllSkills.html +3 -3
- package/docs/api/functions/loadConfig.html +2 -2
- package/docs/api/functions/loadInjectedPaths.html +2 -2
- package/docs/api/functions/loadInjectedRules.html +2 -2
- package/docs/api/functions/loadLearnerConfig.html +2 -2
- package/docs/api/functions/loadProjectMemory.html +3 -3
- package/docs/api/functions/loadSkillById.html +2 -2
- package/docs/api/functions/mapDirectoryStructure.html +2 -2
- package/docs/api/functions/markStoryComplete.html +2 -2
- package/docs/api/functions/markStoryIncomplete.html +2 -2
- package/docs/api/functions/mergeAgentConfig.html +2 -2
- package/docs/api/functions/parseAxiomState.html +1 -1
- package/docs/api/functions/parseContextLimitError.html +2 -2
- package/docs/api/functions/parseProgress.html +2 -2
- package/docs/api/functions/parseRuleFrontmatter.html +10 -10
- package/docs/api/functions/parseSkillFile.html +2 -2
- package/docs/api/functions/parseSlashCommand.html +2 -2
- package/docs/api/functions/parseTokenLimitError.html +2 -2
- package/docs/api/functions/performUpdate.html +2 -2
- package/docs/api/functions/prependRecoveryThinkingPart.html +2 -2
- package/docs/api/functions/prependThinkingBlock.html +1 -1
- package/docs/api/functions/processAxiomBoot.html +1 -1
- package/docs/api/functions/processAxiomGuards.html +1 -1
- package/docs/api/functions/processBackgroundNotification.html +2 -2
- package/docs/api/functions/processBackgroundNotificationHook.html +2 -2
- package/docs/api/functions/processEditOutput.html +2 -2
- package/docs/api/functions/processHook.html +3 -3
- package/docs/api/functions/processMessageForSkills.html +2 -2
- package/docs/api/functions/processOrchestratorPostTool.html +3 -3
- package/docs/api/functions/processOrchestratorPreTool.html +3 -3
- package/docs/api/functions/processPermissionRequest.html +2 -2
- package/docs/api/functions/processPreCompact.html +6 -6
- package/docs/api/functions/processProjectMemoryPreCompact.html +3 -3
- package/docs/api/functions/processResponseForDetection.html +3 -3
- package/docs/api/functions/processSessionEnd.html +2 -2
- package/docs/api/functions/processSetup.html +2 -2
- package/docs/api/functions/processSetupInit.html +2 -2
- package/docs/api/functions/processSetupMaintenance.html +2 -2
- package/docs/api/functions/processSlashCommand.html +2 -2
- package/docs/api/functions/processSubagentStart.html +2 -2
- package/docs/api/functions/processSubagentStop.html +2 -2
- package/docs/api/functions/processThinkMode.html +3 -3
- package/docs/api/functions/promoteLearning.html +2 -2
- package/docs/api/functions/pruneOldEntries.html +2 -2
- package/docs/api/functions/pruneOldStateFiles.html +2 -2
- package/docs/api/functions/readActiveContext.html +1 -1
- package/docs/api/functions/readAutopilotState.html +2 -2
- package/docs/api/functions/readBoulderState.html +2 -2
- package/docs/api/functions/readModeMarker.html +4 -4
- package/docs/api/functions/readNotepad.html +2 -2
- package/docs/api/functions/readPrd.html +2 -2
- package/docs/api/functions/readProgress.html +2 -2
- package/docs/api/functions/readProgressRaw.html +2 -2
- package/docs/api/functions/readProjectDecisions.html +1 -1
- package/docs/api/functions/readRalphState.html +2 -2
- package/docs/api/functions/readRecoveryMessages.html +2 -2
- package/docs/api/functions/readRecoveryParts.html +2 -2
- package/docs/api/functions/readTrackingState.html +3 -3
- package/docs/api/functions/readUltraQAState.html +2 -2
- package/docs/api/functions/readUltrapilotState.html +2 -2
- package/docs/api/functions/readUltraworkState.html +4 -4
- package/docs/api/functions/readUserPreferences.html +1 -1
- package/docs/api/functions/readVerificationState.html +3 -3
- package/docs/api/functions/recordArchitectFeedback.html +2 -2
- package/docs/api/functions/recordConflict.html +2 -2
- package/docs/api/functions/recordFailure.html +2 -2
- package/docs/api/functions/recordHookFire.html +2 -2
- package/docs/api/functions/recordHookResult.html +2 -2
- package/docs/api/functions/recordKeywordDetected.html +2 -2
- package/docs/api/functions/recordModeChange.html +2 -2
- package/docs/api/functions/recordPattern.html +2 -2
- package/docs/api/functions/recordSessionMetrics.html +2 -2
- package/docs/api/functions/recordSkillActivated.html +2 -2
- package/docs/api/functions/recordSkillInvoked.html +2 -2
- package/docs/api/functions/recordStoryProgress.html +2 -2
- package/docs/api/functions/recordValidationVerdict.html +2 -2
- package/docs/api/functions/registerBeadsContext.html +3 -3
- package/docs/api/functions/registerProjectMemoryContext.html +6 -6
- package/docs/api/functions/removeCodeBlocks.html +12 -12
- package/docs/api/functions/removeModeMarker.html +5 -5
- package/docs/api/functions/removeSlashCodeBlocks.html +2 -2
- package/docs/api/functions/removeThinkCodeBlocks.html +2 -2
- package/docs/api/functions/replaceRecoveryEmptyTextParts.html +2 -2
- package/docs/api/functions/rescanProjectEnvironment.html +4 -4
- package/docs/api/functions/resetSessionTokenEstimate.html +2 -2
- package/docs/api/functions/resumeAutopilot.html +2 -2
- package/docs/api/functions/runPreCommitChecks.html +2 -2
- package/docs/api/functions/runTests.html +2 -2
- package/docs/api/functions/runTypeCheck.html +2 -2
- package/docs/api/functions/sanitizeMessage.html +2 -2
- package/docs/api/functions/sanitizeMessages.html +2 -2
- package/docs/api/functions/saveAgentUsageState.html +1 -1
- package/docs/api/functions/saveInjectedPaths.html +2 -2
- package/docs/api/functions/saveInjectedRules.html +2 -2
- package/docs/api/functions/saveLearnerConfig.html +2 -2
- package/docs/api/functions/saveModeSummary.html +2 -2
- package/docs/api/functions/saveProjectMemory.html +3 -3
- package/docs/api/functions/saveVersionMetadata.html +2 -2
- package/docs/api/functions/setCurrentStory.html +2 -2
- package/docs/api/functions/setEnvironmentVariables.html +2 -2
- package/docs/api/functions/setLearnerConfigValue.html +2 -2
- package/docs/api/functions/setPriorityContext.html +2 -2
- package/docs/api/functions/shouldActivateThinkMode.html +3 -3
- package/docs/api/functions/shouldActivateUltrathink.html +2 -2
- package/docs/api/functions/shouldApplyRule.html +2 -2
- package/docs/api/functions/shouldCheckForUpdates.html +2 -2
- package/docs/api/functions/shouldCompleteByPrd.html +2 -2
- package/docs/api/functions/shouldPromptExtraction.html +2 -2
- package/docs/api/functions/shouldReinforceUltrawork.html +2 -2
- package/docs/api/functions/shouldRetryValidation.html +2 -2
- package/docs/api/functions/shouldRunInBackground.html +8 -8
- package/docs/api/functions/spawnWorkers.html +7 -7
- package/docs/api/functions/startUltraQA.html +3 -3
- package/docs/api/functions/startUltrapilot.html +7 -7
- package/docs/api/functions/startValidationRound.html +2 -2
- package/docs/api/functions/startVerification.html +2 -2
- package/docs/api/functions/startsWithThinkingBlock.html +1 -1
- package/docs/api/functions/stopUltraQA.html +2 -2
- package/docs/api/functions/stripRecoveryThinkingParts.html +2 -2
- package/docs/api/functions/toSdkMcpFormat.html +2 -2
- package/docs/api/functions/trackAccess.html +2 -2
- package/docs/api/functions/trackProgress.html +5 -5
- package/docs/api/functions/transitionPhase.html +2 -2
- package/docs/api/functions/transitionRalphToUltraQA.html +9 -9
- package/docs/api/functions/transitionToComplete.html +2 -2
- package/docs/api/functions/transitionToFailed.html +2 -2
- package/docs/api/functions/transitionUltraQAToValidation.html +2 -2
- package/docs/api/functions/updateDirectoryAccess.html +2 -2
- package/docs/api/functions/updateExecution.html +2 -2
- package/docs/api/functions/updateExpansion.html +2 -2
- package/docs/api/functions/updatePlanning.html +2 -2
- package/docs/api/functions/updateQA.html +2 -2
- package/docs/api/functions/updateValidation.html +2 -2
- package/docs/api/functions/updateWorkerState.html +2 -2
- package/docs/api/functions/validateAgentConfig.html +2 -2
- package/docs/api/functions/validateCommitMessage.html +2 -2
- package/docs/api/functions/validateConfigFiles.html +2 -2
- package/docs/api/functions/validateExtractionRequest.html +2 -2
- package/docs/api/functions/validateMessage.html +1 -1
- package/docs/api/functions/validateMessages.html +1 -1
- package/docs/api/functions/validateSkillMetadata.html +2 -2
- package/docs/api/functions/writeAutopilotState.html +2 -2
- package/docs/api/functions/writeBoulderState.html +2 -2
- package/docs/api/functions/writePrd.html +2 -2
- package/docs/api/functions/writeRalphState.html +2 -2
- package/docs/api/functions/writeSkill.html +2 -2
- package/docs/api/functions/writeTrackingState.html +5 -5
- package/docs/api/functions/writeUltraQAState.html +2 -2
- package/docs/api/functions/writeUltrapilotState.html +2 -2
- package/docs/api/functions/writeUltraworkState.html +2 -2
- package/docs/api/functions/writeVerificationState.html +2 -2
- package/docs/api/hierarchy.html +1 -1
- package/docs/api/index.html +843 -843
- package/docs/api/interfaces/AgentConfig.html +18 -18
- package/docs/api/interfaces/AgentOverrideConfig.html +10 -10
- package/docs/api/interfaces/AgentPromptMetadata.html +19 -19
- package/docs/api/interfaces/AgentState.html +5 -5
- package/docs/api/interfaces/AgentUsageState.html +8 -8
- package/docs/api/interfaces/AutoSlashCommandHookInput.html +5 -5
- package/docs/api/interfaces/AutoSlashCommandHookOutput.html +3 -3
- package/docs/api/interfaces/AutoSlashCommandResult.html +5 -5
- package/docs/api/interfaces/AutopilotConfig.html +26 -26
- package/docs/api/interfaces/AutopilotExecution.html +16 -16
- package/docs/api/interfaces/AutopilotExpansion.html +12 -12
- package/docs/api/interfaces/AutopilotPlanning.html +8 -8
- package/docs/api/interfaces/AutopilotQA.html +12 -12
- package/docs/api/interfaces/AutopilotResult.html +10 -10
- package/docs/api/interfaces/AutopilotState.html +36 -36
- package/docs/api/interfaces/AutopilotSummary.html +16 -16
- package/docs/api/interfaces/AutopilotValidation.html +10 -10
- package/docs/api/interfaces/AutopilotValidationResult.html +8 -8
- package/docs/api/interfaces/AvailableAgent.html +5 -5
- package/docs/api/interfaces/AxiomBootInput.html +3 -3
- package/docs/api/interfaces/AxiomBootOutput.html +4 -4
- package/docs/api/interfaces/AxiomGuardsInput.html +4 -4
- package/docs/api/interfaces/AxiomGuardsOutput.html +4 -4
- package/docs/api/interfaces/AxiomMemoryFiles.html +5 -5
- package/docs/api/interfaces/AxiomState.html +8 -8
- package/docs/api/interfaces/BackgroundNotificationHookConfig.html +11 -11
- package/docs/api/interfaces/BackgroundNotificationHookInput.html +8 -8
- package/docs/api/interfaces/BackgroundNotificationHookOutput.html +8 -8
- package/docs/api/interfaces/BackgroundTask.html +7 -7
- package/docs/api/interfaces/BackgroundTaskManager.html +26 -26
- package/docs/api/interfaces/BeadsContextConfig.html +4 -4
- package/docs/api/interfaces/BoulderState.html +12 -12
- package/docs/api/interfaces/BuildInfo.html +6 -6
- package/docs/api/interfaces/CanStartResult.html +4 -4
- package/docs/api/interfaces/CancelResult.html +4 -4
- package/docs/api/interfaces/ClaudeThinkingConfig.html +4 -4
- package/docs/api/interfaces/CodeConventions.html +5 -5
- package/docs/api/interfaces/CodebasePattern.html +5 -5
- package/docs/api/interfaces/CommandInfo.html +5 -5
- package/docs/api/interfaces/CommandMetadata.html +7 -7
- package/docs/api/interfaces/CommentCheckResult.html +10 -10
- package/docs/api/interfaces/CommentCheckerConfig.html +6 -6
- package/docs/api/interfaces/CommentInfo.html +14 -14
- package/docs/api/interfaces/CommentPendingCall.html +18 -18
- package/docs/api/interfaces/CommitConfig.html +9 -9
- package/docs/api/interfaces/CompactCheckpoint.html +7 -7
- package/docs/api/interfaces/ContextEntry.html +14 -14
- package/docs/api/interfaces/ContextUsageResult.html +12 -12
- package/docs/api/interfaces/CustomNote.html +5 -5
- package/docs/api/interfaces/DelegationDecision.html +7 -7
- package/docs/api/interfaces/DelegationRoute.html +7 -7
- package/docs/api/interfaces/DelegationRoutingConfig.html +5 -5
- package/docs/api/interfaces/DelegationTrigger.html +6 -6
- package/docs/api/interfaces/DetectedKeyword.html +13 -13
- package/docs/api/interfaces/DetectionConfig.html +8 -8
- package/docs/api/interfaces/DetectionResult.html +13 -13
- package/docs/api/interfaces/DirectoryInfo.html +7 -7
- package/docs/api/interfaces/EmptyMessageSanitizerConfig.html +6 -6
- package/docs/api/interfaces/EmptyMessageSanitizerInput.html +6 -6
- package/docs/api/interfaces/EmptyMessageSanitizerOutput.html +8 -8
- package/docs/api/interfaces/ExecuteResult.html +5 -5
- package/docs/api/interfaces/ExpandedCommand.html +4 -4
- package/docs/api/interfaces/ExternalModelPreference.html +4 -4
- package/docs/api/interfaces/ExternalModelsConfig.html +6 -6
- package/docs/api/interfaces/ExternalModelsDefaults.html +5 -5
- package/docs/api/interfaces/ExternalModelsFallbackPolicy.html +5 -5
- package/docs/api/interfaces/FileOwnership.html +8 -8
- package/docs/api/interfaces/FormatConfig.html +7 -7
- package/docs/api/interfaces/FrameworkDetection.html +4 -4
- package/docs/api/interfaces/FullAgentConfig.html +26 -26
- package/docs/api/interfaces/GateCheckResult.html +5 -5
- package/docs/api/interfaces/GitBranchPattern.html +3 -3
- package/docs/api/interfaces/HookContext.html +5 -5
- package/docs/api/interfaces/HookDefinition.html +5 -5
- package/docs/api/interfaces/HookInput.html +18 -18
- package/docs/api/interfaces/HookOutput.html +10 -10
- package/docs/api/interfaces/HookResult.html +4 -4
- package/docs/api/interfaces/HotPath.html +6 -6
- package/docs/api/interfaces/InjectedPathsData.html +9 -9
- package/docs/api/interfaces/InjectedRulesData.html +10 -10
- package/docs/api/interfaces/InjectedSkillsData.html +8 -8
- package/docs/api/interfaces/InjectionResult.html +8 -8
- package/docs/api/interfaces/InstallOptions.html +9 -9
- package/docs/api/interfaces/InstallResult.html +10 -10
- package/docs/api/interfaces/IntegrationResult.html +14 -14
- package/docs/api/interfaces/LanguageDetection.html +5 -5
- package/docs/api/interfaces/LearnedSkill.html +16 -16
- package/docs/api/interfaces/LearnerConfig.html +18 -18
- package/docs/api/interfaces/LintConfig.html +7 -7
- package/docs/api/interfaces/MagicKeyword.html +4 -4
- package/docs/api/interfaces/MatchResult.html +6 -6
- package/docs/api/interfaces/MessageContext.html +8 -8
- package/docs/api/interfaces/MessageInfo.html +9 -9
- package/docs/api/interfaces/MessagePart.html +15 -15
- package/docs/api/interfaces/MessageWithModel.html +3 -3
- package/docs/api/interfaces/MessageWithParts.html +6 -6
- package/docs/api/interfaces/MessagesTransformHook.html +3 -3
- package/docs/api/interfaces/MessagesTransformInput.html +3 -3
- package/docs/api/interfaces/MessagesTransformOutput.html +3 -3
- package/docs/api/interfaces/ModeConfig.html +13 -13
- package/docs/api/interfaces/ModeStatus.html +4 -4
- package/docs/api/interfaces/ModelRef.html +4 -4
- package/docs/api/interfaces/NonInteractiveEnvConfig.html +2 -2
- package/docs/api/interfaces/NotepadConfig.html +7 -7
- package/docs/api/interfaces/NotepadStats.html +11 -11
- package/docs/api/interfaces/NotificationCheckResult.html +8 -8
- package/docs/api/interfaces/OrchestratorToolInput.html +6 -6
- package/docs/api/interfaces/OrchestratorToolOutput.html +6 -6
- package/docs/api/interfaces/OutputPart.html +4 -4
- package/docs/api/interfaces/PRD.html +9 -9
- package/docs/api/interfaces/PRDStatus.html +13 -13
- package/docs/api/interfaces/ParsedSlashCommand.html +8 -8
- package/docs/api/interfaces/ParsedTokenLimitError.html +16 -16
- package/docs/api/interfaces/PendingContext.html +8 -8
- package/docs/api/interfaces/PermissionHookOutput.html +4 -4
- package/docs/api/interfaces/PermissionRequestInput.html +9 -9
- package/docs/api/interfaces/PersistentModeResult.html +9 -9
- package/docs/api/interfaces/PlanProgress.html +8 -8
- package/docs/api/interfaces/PlanSummary.html +10 -10
- package/docs/api/interfaces/PluginConfig.html +17 -17
- package/docs/api/interfaces/PreCommitResult.html +3 -3
- package/docs/api/interfaces/PreCompactHookOutput.html +4 -4
- package/docs/api/interfaces/PreCompactInput.html +8 -8
- package/docs/api/interfaces/PreemptiveCompactionConfig.html +14 -14
- package/docs/api/interfaces/PriorityContextResult.html +5 -5
- package/docs/api/interfaces/ProgressEntry.html +11 -11
- package/docs/api/interfaces/ProgressLog.html +7 -7
- package/docs/api/interfaces/ProjectMemory.html +14 -14
- package/docs/api/interfaces/ProjectStructure.html +5 -5
- package/docs/api/interfaces/PromotionCandidate.html +9 -9
- package/docs/api/interfaces/PruneResult.html +5 -5
- package/docs/api/interfaces/QualityValidation.html +10 -10
- package/docs/api/interfaces/RalphLoopHook.html +4 -4
- package/docs/api/interfaces/RalphLoopOptions.html +5 -5
- package/docs/api/interfaces/RalphLoopState.html +21 -21
- package/docs/api/interfaces/RecoveryConfig.html +16 -16
- package/docs/api/interfaces/RecoveryMessageData.html +4 -4
- package/docs/api/interfaces/RecoveryResult.html +10 -10
- package/docs/api/interfaces/RecoveryStoredMessageMeta.html +8 -8
- package/docs/api/interfaces/RecoveryStoredReasoningPart.html +7 -7
- package/docs/api/interfaces/RecoveryStoredTextPart.html +9 -9
- package/docs/api/interfaces/RecoveryStoredToolPart.html +9 -9
- package/docs/api/interfaces/RegisterContextOptions.html +12 -12
- package/docs/api/interfaces/ReleaseInfo.html +9 -9
- package/docs/api/interfaces/ResolveDelegationOptions.html +7 -7
- package/docs/api/interfaces/ResolveOptions.html +6 -6
- package/docs/api/interfaces/ResolvedModel.html +5 -5
- package/docs/api/interfaces/RetryState.html +6 -6
- package/docs/api/interfaces/RuleFileCandidate.html +12 -12
- package/docs/api/interfaces/RuleFrontmatterResult.html +6 -6
- package/docs/api/interfaces/RuleInfo.html +18 -18
- package/docs/api/interfaces/RuleMetadata.html +9 -9
- package/docs/api/interfaces/RuleToInject.html +10 -10
- package/docs/api/interfaces/SessionEndHookOutput.html +2 -2
- package/docs/api/interfaces/SessionEndInput.html +9 -9
- package/docs/api/interfaces/SessionMetrics.html +9 -9
- package/docs/api/interfaces/SessionState.html +5 -5
- package/docs/api/interfaces/SetupHookOutput.html +3 -3
- package/docs/api/interfaces/SetupInput.html +7 -7
- package/docs/api/interfaces/SetupResult.html +5 -5
- package/docs/api/interfaces/ShellHook.html +4 -4
- package/docs/api/interfaces/SisyphusOptions.html +14 -14
- package/docs/api/interfaces/SisyphusSession.html +16 -16
- package/docs/api/interfaces/SkillExtractionRequest.html +12 -12
- package/docs/api/interfaces/SkillFileCandidate.html +10 -10
- package/docs/api/interfaces/SkillHookContext.html +5 -5
- package/docs/api/interfaces/SkillMetadata.html +22 -22
- package/docs/api/interfaces/SkillParseResult.html +5 -5
- package/docs/api/interfaces/SubagentHookOutput.html +3 -3
- package/docs/api/interfaces/SubagentInfo.html +14 -14
- package/docs/api/interfaces/SubagentStartInput.html +10 -10
- package/docs/api/interfaces/SubagentStopInput.html +11 -11
- package/docs/api/interfaces/SubagentTrackingState.html +6 -6
- package/docs/api/interfaces/TaskExecutionDecision.html +10 -10
- package/docs/api/interfaces/TechStack.html +5 -5
- package/docs/api/interfaces/ThinkModeInput.html +4 -4
- package/docs/api/interfaces/ThinkModeState.html +12 -12
- package/docs/api/interfaces/ThinkingValidatorMessageInfo.html +6 -6
- package/docs/api/interfaces/ThinkingValidatorMessagePart.html +9 -9
- package/docs/api/interfaces/ThinkingValidatorMessageWithParts.html +4 -4
- package/docs/api/interfaces/TodoContinuationHook.html +2 -2
- package/docs/api/interfaces/TransitionResult.html +4 -4
- package/docs/api/interfaces/TruncateState.html +6 -6
- package/docs/api/interfaces/UltraQAOptions.html +5 -5
- package/docs/api/interfaces/UltraQAResult.html +9 -9
- package/docs/api/interfaces/UltraQAState.html +19 -19
- package/docs/api/interfaces/UltrapilotConfig.html +14 -14
- package/docs/api/interfaces/UltrapilotState.html +26 -26
- package/docs/api/interfaces/UltraworkState.html +17 -17
- package/docs/api/interfaces/UpdateCheckResult.html +7 -7
- package/docs/api/interfaces/UpdateResult.html +7 -7
- package/docs/api/interfaces/UserDirective.html +7 -7
- package/docs/api/interfaces/UserStory.html +15 -15
- package/docs/api/interfaces/ValidationCoordinatorResult.html +6 -6
- package/docs/api/interfaces/ValidationResult.html +10 -10
- package/docs/api/interfaces/VerificationState.html +17 -17
- package/docs/api/interfaces/VersionMetadata.html +12 -12
- package/docs/api/interfaces/WorkerState.html +24 -24
- package/docs/api/interfaces/WriteSkillResult.html +6 -6
- package/docs/api/modules.html +1 -1
- package/docs/api/types/AgentCategory.html +2 -2
- package/docs/api/types/AgentCost.html +3 -3
- package/docs/api/types/AgentFactory.html +2 -2
- package/docs/api/types/AgentOverrides.html +2 -2
- package/docs/api/types/AutopilotPhase.html +2 -2
- package/docs/api/types/AutopilotSignal.html +2 -2
- package/docs/api/types/CommandScope.html +2 -2
- package/docs/api/types/ContextPriority.html +3 -3
- package/docs/api/types/ContextSourceType.html +3 -3
- package/docs/api/types/DelegationProvider.html +2 -2
- package/docs/api/types/DelegationTool.html +2 -2
- package/docs/api/types/ExecutionMode.html +3 -3
- package/docs/api/types/ExternalModelProvider.html +2 -2
- package/docs/api/types/GateType.html +3 -3
- package/docs/api/types/InjectionStrategy.html +2 -2
- package/docs/api/types/KeywordType.html +10 -10
- package/docs/api/types/ModelType.html +2 -2
- package/docs/api/types/QAStatus.html +2 -2
- package/docs/api/types/RecoveryErrorType.html +2 -2
- package/docs/api/types/RecoveryStoredPart.html +2 -2
- package/docs/api/types/TaskTool.html +1 -1
- package/docs/api/types/ThinkingConfig.html +2 -2
- package/docs/api/types/UltraQAGoalType.html +1 -1
- package/docs/api/types/UserStoryInput.html +2 -2
- package/docs/api/types/ValidationVerdict.html +2 -2
- package/docs/api/types/ValidationVerdictType.html +2 -2
- package/docs/api/variables/AGENTS_DIR.html +1 -1
- package/docs/api/variables/AGENTS_FILENAME.html +2 -2
- package/docs/api/variables/AGENT_TOOLS.html +2 -2
- package/docs/api/variables/ALLOWED_PATH_PREFIX.html +2 -2
- package/docs/api/variables/ANALYST_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/ARCHITECT_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/AUTO_SLASH_COMMAND_HOOK_NAME.html +4 -4
- package/docs/api/variables/AUTO_SLASH_COMMAND_TAG_CLOSE.html +1 -1
- package/docs/api/variables/AUTO_SLASH_COMMAND_TAG_OPEN.html +2 -2
- package/docs/api/variables/BACKGROUND_NOTIFICATION_HOOK_NAME.html +2 -2
- package/docs/api/variables/BDD_KEYWORDS.html +2 -2
- package/docs/api/variables/BEADS_INSTRUCTIONS.html +1 -1
- package/docs/api/variables/BEADS_RUST_INSTRUCTIONS.html +1 -1
- package/docs/api/variables/BLOCKING_PATTERNS.html +3 -3
- package/docs/api/variables/BOULDER_CONTINUATION_PROMPT.html +2 -2
- package/docs/api/variables/BOULDER_DIR.html +2 -2
- package/docs/api/variables/BOULDER_FILE.html +2 -2
- package/docs/api/variables/BOULDER_STATE_PATH.html +2 -2
- package/docs/api/variables/CHARS_PER_TOKEN.html +2 -2
- package/docs/api/variables/CI_COMMANDS.html +2 -2
- package/docs/api/variables/CI_GATE_MESSAGE.html +1 -1
- package/docs/api/variables/CLAUDE_CONFIG_DIR.html +2 -2
- package/docs/api/variables/CLAUDE_DEFAULT_CONTEXT_LIMIT.html +2 -2
- package/docs/api/variables/COMMANDS_DIR.html +1 -1
- package/docs/api/variables/COMMENT_CHECKER_MESSAGE_HEADER.html +2 -2
- package/docs/api/variables/COMPACTION_COOLDOWN_MS.html +2 -2
- package/docs/api/variables/CONTENT_PART_TYPES.html +2 -2
- package/docs/api/variables/CONTEXT_CRITICAL_MESSAGE.html +2 -2
- package/docs/api/variables/CONTEXT_FILENAMES.html +2 -2
- package/docs/api/variables/CONTEXT_LIMIT_RECOVERY_MESSAGE.html +2 -2
- package/docs/api/variables/CONTEXT_LIMIT_SHORT_MESSAGE.html +2 -2
- package/docs/api/variables/CONTEXT_WARNING_MESSAGE.html +2 -2
- package/docs/api/variables/CRITICAL_THRESHOLD.html +2 -2
- package/docs/api/variables/CRITIC_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/DEFAULT_CONFIG.html +2 -2
- package/docs/api/variables/DEFAULT_MAX_BACKGROUND_TASKS.html +2 -2
- package/docs/api/variables/DEFAULT_THINKING_CONTENT.html +2 -2
- package/docs/api/variables/DIRECT_WORK_REMINDER.html +2 -2
- package/docs/api/variables/DOCUMENT_SPECIALIST_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/DOCUMENT_WRITER_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/EDIT_ERROR_PATTERNS.html +2 -2
- package/docs/api/variables/EDIT_ERROR_REMINDER.html +3 -3
- package/docs/api/variables/EMPTY_MESSAGE_SANITIZER_DEBUG_PREFIX.html +2 -2
- package/docs/api/variables/EMPTY_MESSAGE_SANITIZER_ERROR_PATTERNS.html +2 -2
- package/docs/api/variables/EMPTY_MESSAGE_SANITIZER_HOOK_NAME.html +2 -2
- package/docs/api/variables/ENTRY_SEPARATOR.html +1 -1
- package/docs/api/variables/EXCLUDED_COMMANDS.html +3 -3
- package/docs/api/variables/EXPERT_GATE_MESSAGE.html +1 -1
- package/docs/api/variables/EXPLORE_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/EXTENSION_TO_LANGUAGE.html +2 -2
- package/docs/api/variables/FEATURE_FLAG_KEY.html +2 -2
- package/docs/api/variables/FRONTEND_ENGINEER_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/GITHUB_API_URL.html +1 -1
- package/docs/api/variables/INSTALLER_CLAUDE_CONFIG_DIR.html +2 -2
- package/docs/api/variables/INSTALLER_VERSION.html +2 -2
- package/docs/api/variables/LINE_COMMENT_PATTERNS.html +2 -2
- package/docs/api/variables/LONG_RUNNING_PATTERNS.html +3 -3
- package/docs/api/variables/MANUAL_HEADER.html +1 -1
- package/docs/api/variables/MAX_SKILLS_PER_SESSION.html +2 -2
- package/docs/api/variables/MAX_SKILL_CONTENT_LENGTH.html +2 -2
- package/docs/api/variables/MAX_WARNINGS.html +2 -2
- package/docs/api/variables/MIN_QUALITY_SCORE.html +2 -2
- package/docs/api/variables/MODE_CONFIGS.html +4 -4
- package/docs/api/variables/MULTIMODAL_LOOKER_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/NON_EMPTY_CONTENT_RECOVERY_MESSAGE.html +2 -2
- package/docs/api/variables/NON_INTERACTIVE_ENV.html +1 -1
- package/docs/api/variables/NON_INTERACTIVE_ENV_HOOK_NAME.html +1 -1
- package/docs/api/variables/NOTEPAD_BASE_PATH.html +2 -2
- package/docs/api/variables/NOTEPAD_DEFAULT_CONFIG.html +1 -1
- package/docs/api/variables/NOTEPAD_DIR.html +2 -2
- package/docs/api/variables/NOTEPAD_FILENAME.html +1 -1
- package/docs/api/variables/OMC_ORCHESTRATOR_HOOK_NAME.html +4 -4
- package/docs/api/variables/ORCHESTRATOR_DELEGATION_REQUIRED.html +2 -2
- package/docs/api/variables/PATTERNS_HEADER.html +1 -1
- package/docs/api/variables/PLACEHOLDER_TEXT.html +3 -3
- package/docs/api/variables/PLANNER_PLANS_DIR.html +2 -2
- package/docs/api/variables/PLANNER_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/PLAN_EXTENSION.html +2 -2
- package/docs/api/variables/PRD_EXAMPLE_FILENAME.html +1 -1
- package/docs/api/variables/PRD_FILENAME.html +1 -1
- package/docs/api/variables/PREEMPTIVE_DEFAULT_THRESHOLD.html +2 -2
- package/docs/api/variables/PREVENTED_ERROR.html +2 -2
- package/docs/api/variables/PRIORITY_HEADER.html +1 -1
- package/docs/api/variables/PROGRESS_FILENAME.html +1 -1
- package/docs/api/variables/PROJECT_MARKERS.html +2 -2
- package/docs/api/variables/PROJECT_RULE_FILES.html +2 -2
- package/docs/api/variables/PROJECT_RULE_SUBDIRS.html +2 -2
- package/docs/api/variables/PROJECT_SKILLS_SUBDIR.html +2 -2
- package/docs/api/variables/RAPID_FIRE_DEBOUNCE_MS.html +7 -7
- package/docs/api/variables/README_FILENAME.html +2 -2
- package/docs/api/variables/README_INJECTOR_STORAGE.html +1 -1
- package/docs/api/variables/README_TRACKED_TOOLS.html +2 -2
- package/docs/api/variables/RECOVERY_FAILED_MESSAGE.html +2 -2
- package/docs/api/variables/RECOVERY_MESSAGES.html +2 -2
- package/docs/api/variables/RECOVERY_PLACEHOLDER_TEXT.html +2 -2
- package/docs/api/variables/REMINDER_MESSAGE.html +2 -2
- package/docs/api/variables/REPO_NAME.html +1 -1
- package/docs/api/variables/REPO_OWNER.html +2 -2
- package/docs/api/variables/RETRY_CONFIG.html +6 -6
- package/docs/api/variables/RULES_INJECTOR_STORAGE.html +1 -1
- package/docs/api/variables/RULE_EXTENSIONS.html +2 -2
- package/docs/api/variables/SHELL_COMMAND_PATTERNS.html +3 -3
- package/docs/api/variables/SINGLE_TASK_DIRECTIVE.html +2 -2
- package/docs/api/variables/SISYPHUS_JUNIOR_PROMPT_METADATA.html +1 -1
- package/docs/api/variables/SKILL_EXTENSION.html +2 -2
- package/docs/api/variables/SLASH_COMMAND_PATTERN.html +2 -2
- package/docs/api/variables/STALE_STATE_MAX_AGE_MS.html +2 -2
- package/docs/api/variables/SYNTHETIC_THINKING_ID_PREFIX.html +2 -2
- package/docs/api/variables/TARGET_TOOLS.html +2 -2
- package/docs/api/variables/THINKING_BLOCK_VALIDATOR_HOOK_NAME.html +2 -2
- package/docs/api/variables/THINKING_CONFIGS.html +2 -2
- package/docs/api/variables/THINKING_MODEL_PATTERNS.html +3 -3
- package/docs/api/variables/THINKING_PART_TYPES.html +2 -2
- package/docs/api/variables/TOKEN_LIMIT_KEYWORDS.html +2 -2
- package/docs/api/variables/TOKEN_LIMIT_PATTERNS.html +2 -2
- package/docs/api/variables/TOOL_PART_TYPES.html +2 -2
- package/docs/api/variables/TRACKED_TOOLS.html +2 -2
- package/docs/api/variables/TRUNCATE_CONFIG.html +6 -6
- package/docs/api/variables/TRUNCATION_APPLIED_MESSAGE.html +2 -2
- package/docs/api/variables/TYPE_CHECKER_PREFIXES.html +2 -2
- package/docs/api/variables/ULTRAPILOT_DEFAULT_CONFIG.html +2 -2
- package/docs/api/variables/USER_GATE_MESSAGE.html +1 -1
- package/docs/api/variables/USER_RULE_DIR.html +2 -2
- package/docs/api/variables/USER_SKILLS_DIR.html +2 -2
- package/docs/api/variables/VERIFICATION_REMINDER.html +2 -2
- package/docs/api/variables/VERSION_FILE.html +1 -1
- package/docs/api/variables/WORKING_MEMORY_HEADER.html +1 -1
- package/docs/api/variables/WRITE_EDIT_TOOLS.html +2 -2
- package/docs/api/variables/allCustomTools.html +3 -3
- package/docs/api/variables/analystAgent.html +1 -1
- package/docs/api/variables/architectAgent.html +1 -1
- package/docs/api/variables/astTools.html +2 -2
- package/docs/api/variables/contextCollector.html +2 -2
- package/docs/api/variables/criticAgent.html +1 -1
- package/docs/api/variables/designerAgent.html +1 -1
- package/docs/api/variables/executorAgent.html +1 -1
- package/docs/api/variables/exploreAgent.html +1 -1
- package/docs/api/variables/lspTools.html +2 -2
- package/docs/api/variables/nonInteractiveEnvHook.html +8 -8
- package/docs/api/variables/omcSystemPrompt.html +2 -2
- package/docs/api/variables/omcToolNames.html +3 -3
- package/docs/api/variables/omcToolsServer.html +4 -4
- package/docs/api/variables/plannerAgent.html +1 -1
- package/docs/api/variables/researcherAgent.html +1 -1
- package/docs/api/variables/visionAgent.html +1 -1
- package/docs/api/variables/writerAgent.html +1 -1
- package/docs/concepts/README.md +63 -0
- package/docs/concepts/agent-selection.md +83 -0
- package/docs/concepts/agents.md +63 -0
- package/docs/concepts/error-handling.md +121 -0
- package/docs/concepts/modes.md +70 -0
- package/docs/concepts/skills.md +68 -0
- package/docs/getting-started/concepts.md +127 -63
- package/docs/getting-started/quick-reference.md +135 -0
- package/docs/getting-started/quickstart.md +101 -17
- package/docs/quick-start.md +169 -0
- package/docs/reviews/autoresearch-integration/review_domain.md +295 -295
- package/docs/reviews/autoresearch-integration/review_product.md +287 -287
- package/docs/standards/README.md +1 -1
- package/docs/state-migration.md +98 -0
- package/docs/tasks/v7.0.1/sub_prds/T-001-test-optimization.md +66 -0
- package/hooks/run-hook.cmd +0 -0
- package/hooks/session-start +0 -0
- package/package.json +5 -1
- package/scripts/check-version-sync.mjs +33 -0
- package/scripts/fix-agent-headers.py +58 -58
- package/scripts/fix-blank-lines.py +19 -19
- package/scripts/fix-long-lines.py +41 -41
- package/scripts/migrate-console-to-logger.ts +91 -0
- package/scripts/persistent-mode.cjs +605 -605
- package/skills/release/SKILL.md +126 -0
- package/skills/systematic-debugging/find-polluter.sh +0 -0
- package/skills/writing-skills/graphviz-conventions.dot +171 -171
- package/skills/writing-skills/render-graphs.js +0 -0
- package/templates/axiom/scripts/Check-Memory.ps1 +68 -68
- package/templates/axiom/scripts/Poll-Memory.ps1 +36 -36
- package/templates/axiom/scripts/Watch-Memory.ps1 +149 -149
- package/templates/axiom/scripts/agent-runner.ps1 +101 -101
- package/templates/axiom/scripts/start-reviews.ps1 +19 -19
- package/templates/demo/README.md +39 -0
- package/templates/example-project/README.md +34 -0
- package/templates/example-project/dist/index.js +5 -0
- package/templates/example-project/package-lock.json +47 -0
- package/templates/example-project/package.json +13 -0
- package/templates/example-project/src/index.ts +5 -0
- package/templates/example-project/tsconfig.json +11 -0
package/dist/cli/index.js
CHANGED
|
@@ -2,1502 +2,72 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Oh-My-Claude-Sisyphus CLI
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
* Lazy-loaded command-line interface for the Sisyphus multi-agent system.
|
|
6
|
+
*/
|
|
7
|
+
import { createLogger } from '../lib/unified-logger.js';
|
|
8
|
+
const logger = createLogger('cli:index');
|
|
9
|
+
// Fast path for --version (skip heavy imports)
|
|
10
|
+
if (process.argv.includes('--version') || process.argv.includes('-V')) {
|
|
11
|
+
const { getRuntimePackageVersion } = await import('../lib/version.js');
|
|
12
|
+
logger.info(getRuntimePackageVersion());
|
|
13
|
+
process.exit(0);
|
|
14
|
+
}
|
|
13
15
|
import { Command } from 'commander';
|
|
14
|
-
import chalk from 'chalk';
|
|
15
|
-
import { writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
16
|
-
import * as fs from 'fs/promises';
|
|
17
|
-
import { join, dirname } from 'path';
|
|
18
|
-
import { fileURLToPath } from 'url';
|
|
19
|
-
import { homedir } from 'os';
|
|
20
|
-
import { loadConfig, getConfigPaths, generateConfigSchema } from '../config/loader.js';
|
|
21
|
-
import { createSisyphusSession } from '../index.js';
|
|
22
|
-
import { checkForUpdates, performUpdate, formatUpdateNotification, getInstalledVersion, getOMCConfig, reconcileUpdateRuntime, CONFIG_FILE, } from '../features/auto-update.js';
|
|
23
|
-
import { install as installSisyphus, isInstalled, getInstallInfo } from '../installer/index.js';
|
|
24
|
-
import { statsCommand } from './commands/stats.js';
|
|
25
|
-
import { costCommand } from './commands/cost.js';
|
|
26
|
-
import { sessionsCommand } from './commands/sessions.js';
|
|
27
|
-
import { agentsCommand } from './commands/agents.js';
|
|
28
|
-
import { exportCommand } from './commands/export.js';
|
|
29
|
-
import { cleanupCommand } from './commands/cleanup.js';
|
|
30
|
-
import { backfillCommand } from './commands/backfill.js';
|
|
31
|
-
import { perfCommand } from './commands/perf.js';
|
|
32
|
-
import { launchTokscaleTUI, isTokscaleCLIAvailable, getInstallInstructions } from './utils/tokscale-launcher.js';
|
|
33
|
-
import { waitCommand, waitStatusCommand, waitDaemonCommand, waitDetectCommand } from './commands/wait.js';
|
|
34
|
-
import { doctorConflictsCommand } from './commands/doctor-conflicts.js';
|
|
35
|
-
import { teleportCommand, teleportListCommand, teleportRemoveCommand } from './commands/teleport.js';
|
|
36
16
|
import { getRuntimePackageVersion } from '../lib/version.js';
|
|
37
|
-
import {
|
|
38
|
-
import { interopCommand } from './interop.js';
|
|
39
|
-
const ___dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
|
+
import { commandRegistry } from './commands/registry.js';
|
|
40
18
|
const version = getRuntimePackageVersion();
|
|
41
19
|
const program = new Command();
|
|
42
|
-
// Helper functions for auto-backfill
|
|
43
|
-
async function checkIfBackfillNeeded() {
|
|
44
|
-
const tokenLogPath = join(homedir(), '.omc', 'state', 'token-tracking.jsonl');
|
|
45
|
-
try {
|
|
46
|
-
await fs.access(tokenLogPath);
|
|
47
|
-
const stats = await fs.stat(tokenLogPath);
|
|
48
|
-
// Backfill if file is older than 1 hour or very small
|
|
49
|
-
const ageMs = Date.now() - stats.mtimeMs;
|
|
50
|
-
return stats.size < 100 || ageMs > 3600000;
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return true; // File doesn't exist
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
async function runQuickBackfill(silent = false) {
|
|
57
|
-
const { BackfillEngine } = await import('../analytics/backfill-engine.js');
|
|
58
|
-
const engine = new BackfillEngine();
|
|
59
|
-
const result = await engine.run({ verbose: false });
|
|
60
|
-
if (result.entriesAdded > 0 && !silent) {
|
|
61
|
-
console.log(chalk.green(`Backfilled ${result.entriesAdded} entries in ${result.timeElapsed}ms`));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
// Auto-backfill before analytics commands
|
|
65
|
-
async function ensureBackfillDone() {
|
|
66
|
-
const shouldBackfill = await checkIfBackfillNeeded();
|
|
67
|
-
if (shouldBackfill) {
|
|
68
|
-
await runQuickBackfill(true); // Silent backfill for subcommands
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// Display enhanced banner using gradient-string (loaded dynamically)
|
|
72
|
-
async function displayAnalyticsBanner() {
|
|
73
|
-
try {
|
|
74
|
-
// @ts-expect-error - gradient-string will be installed during setup
|
|
75
|
-
const gradient = await import('gradient-string');
|
|
76
|
-
const banner = gradient.default.pastel.multiline([
|
|
77
|
-
'╔═══════════════════════════════════════╗',
|
|
78
|
-
'║ Oh-My-ClaudeCode - Analytics Dashboard ║',
|
|
79
|
-
'╚═══════════════════════════════════════╝'
|
|
80
|
-
].join('\n'));
|
|
81
|
-
console.log(banner);
|
|
82
|
-
console.log('');
|
|
83
|
-
}
|
|
84
|
-
catch (_error) {
|
|
85
|
-
// Fallback if gradient-string not installed
|
|
86
|
-
console.log('╔═══════════════════════════════════════╗');
|
|
87
|
-
console.log('║ Oh-My-ClaudeCode - Analytics Dashboard ║');
|
|
88
|
-
console.log('╚═══════════════════════════════════════╝');
|
|
89
|
-
console.log('');
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
20
|
// Default action when running 'omc' with no args
|
|
93
|
-
// Check env var to decide between dashboard and launch
|
|
94
21
|
async function defaultAction() {
|
|
95
22
|
const defaultActionMode = process.env.OMC_DEFAULT_ACTION || 'launch';
|
|
96
23
|
if (defaultActionMode === 'dashboard') {
|
|
24
|
+
const { displayAnalyticsDashboard } = await import('./utils/dashboard.js');
|
|
97
25
|
await displayAnalyticsDashboard();
|
|
98
26
|
}
|
|
99
27
|
else {
|
|
100
|
-
|
|
28
|
+
const { launchCommand } = await import('./launch.js');
|
|
101
29
|
await launchCommand([]);
|
|
102
30
|
}
|
|
103
31
|
}
|
|
104
|
-
// Analytics dashboard - moved from defaultAction
|
|
105
|
-
async function displayAnalyticsDashboard() {
|
|
106
|
-
await displayAnalyticsBanner();
|
|
107
|
-
// Check if we need to backfill for agent data
|
|
108
|
-
const shouldAutoBackfill = await checkIfBackfillNeeded();
|
|
109
|
-
if (shouldAutoBackfill) {
|
|
110
|
-
console.log(chalk.yellow('First run detected - backfilling agent data...'));
|
|
111
|
-
await runQuickBackfill();
|
|
112
|
-
}
|
|
113
|
-
// Show aggregate session stats
|
|
114
|
-
console.log(chalk.bold('📊 Aggregate Session Statistics'));
|
|
115
|
-
console.log(chalk.gray('─'.repeat(50)));
|
|
116
|
-
await statsCommand({ json: false });
|
|
117
|
-
console.log('\n');
|
|
118
|
-
// Show cost breakdown
|
|
119
|
-
console.log(chalk.bold('💰 Cost Analysis (Monthly)'));
|
|
120
|
-
console.log(chalk.gray('─'.repeat(50)));
|
|
121
|
-
await costCommand('monthly', { json: false });
|
|
122
|
-
console.log('\n');
|
|
123
|
-
// Show top agents
|
|
124
|
-
console.log(chalk.bold('🤖 Top Agents'));
|
|
125
|
-
console.log(chalk.gray('─'.repeat(50)));
|
|
126
|
-
await agentsCommand({ json: false, limit: 10 });
|
|
127
|
-
console.log('\n');
|
|
128
|
-
console.log(chalk.dim('Run with --help to see all available commands'));
|
|
129
|
-
// Show tokscale hint if available
|
|
130
|
-
const tuiAvailable = await isTokscaleCLIAvailable();
|
|
131
|
-
if (tuiAvailable) {
|
|
132
|
-
console.log('');
|
|
133
|
-
console.log(chalk.dim('Tip: Run `omc tui` for an interactive token visualization dashboard'));
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
32
|
program
|
|
137
33
|
.name('omc')
|
|
138
34
|
.description('Multi-agent orchestration system for Claude Agent SDK with analytics')
|
|
139
35
|
.version(version)
|
|
140
36
|
.action(defaultAction);
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
.description('Launch Claude Code with native tmux shell integration')
|
|
147
|
-
.allowUnknownOption()
|
|
148
|
-
.addHelpText('after', `
|
|
149
|
-
Examples:
|
|
150
|
-
$ omc launch Launch Claude Code
|
|
151
|
-
$ omc launch --madmax Launch with permissions bypass
|
|
152
|
-
$ omc launch --yolo Launch with permissions bypass (alias)
|
|
153
|
-
|
|
154
|
-
Environment:
|
|
155
|
-
Set OMC_DEFAULT_ACTION=dashboard to show analytics dashboard when running 'omc' with no args`)
|
|
156
|
-
.action(async (args) => {
|
|
157
|
-
await launchCommand(args);
|
|
158
|
-
});
|
|
159
|
-
/**
|
|
160
|
-
* Dashboard command - Show analytics dashboard
|
|
161
|
-
*/
|
|
162
|
-
program
|
|
163
|
-
.command('dashboard')
|
|
164
|
-
.description('Show analytics dashboard (aggregate stats, costs, agents)')
|
|
165
|
-
.addHelpText('after', `
|
|
166
|
-
Note: This was the default 'omc' behavior. Now 'omc' launches Claude Code by default.
|
|
167
|
-
Set OMC_DEFAULT_ACTION=dashboard to restore the old behavior.`)
|
|
168
|
-
.action(async () => {
|
|
169
|
-
await displayAnalyticsDashboard();
|
|
170
|
-
});
|
|
171
|
-
/**
|
|
172
|
-
* Interop command - Split-pane tmux session with OMC and OMX
|
|
173
|
-
*/
|
|
174
|
-
program
|
|
175
|
-
.command('interop')
|
|
176
|
-
.description('Launch split-pane tmux session with Claude Code (OMC) and Codex (OMX)')
|
|
177
|
-
.addHelpText('after', `
|
|
178
|
-
Requirements:
|
|
179
|
-
- Must be running inside a tmux session
|
|
180
|
-
- Claude CLI must be installed
|
|
181
|
-
- Codex CLI recommended (graceful fallback if missing)`)
|
|
182
|
-
.action(() => {
|
|
183
|
-
interopCommand();
|
|
184
|
-
});
|
|
185
|
-
/**
|
|
186
|
-
* Analytics Commands
|
|
187
|
-
*/
|
|
188
|
-
// Stats command
|
|
189
|
-
program
|
|
190
|
-
.command('stats')
|
|
191
|
-
.description('Show aggregate statistics (or specific session with --session)')
|
|
192
|
-
.option('--json', 'Output as JSON')
|
|
193
|
-
.option('--session <id>', 'Show stats for specific session (defaults to aggregate)')
|
|
194
|
-
.addHelpText('after', `
|
|
195
|
-
Examples:
|
|
196
|
-
$ omc stats Show aggregate statistics
|
|
197
|
-
$ omc stats --session abc123 Show stats for a specific session
|
|
198
|
-
$ omc stats --json Output as JSON for scripting`)
|
|
199
|
-
.action(async (options) => {
|
|
200
|
-
await ensureBackfillDone();
|
|
201
|
-
await statsCommand(options);
|
|
202
|
-
});
|
|
203
|
-
// Cost command
|
|
204
|
-
program
|
|
205
|
-
.command('cost [period]')
|
|
206
|
-
.description('Generate cost report (period: daily, weekly, monthly)')
|
|
207
|
-
.option('--json', 'Output as JSON')
|
|
208
|
-
.addHelpText('after', `
|
|
209
|
-
Examples:
|
|
210
|
-
$ omc cost Show monthly cost report
|
|
211
|
-
$ omc cost daily Show daily cost breakdown
|
|
212
|
-
$ omc cost weekly --json Export weekly costs as JSON`)
|
|
213
|
-
.action(async (period = 'monthly', options) => {
|
|
214
|
-
if (!['daily', 'weekly', 'monthly'].includes(period)) {
|
|
215
|
-
console.error(chalk.red(`Invalid period "${period}". Valid options: daily, weekly, monthly`));
|
|
216
|
-
console.error(chalk.gray('Example: omc cost weekly'));
|
|
217
|
-
process.exit(1);
|
|
218
|
-
}
|
|
219
|
-
await ensureBackfillDone();
|
|
220
|
-
await costCommand(period, options);
|
|
221
|
-
});
|
|
222
|
-
// Sessions command
|
|
223
|
-
program
|
|
224
|
-
.command('sessions')
|
|
225
|
-
.description('View session history')
|
|
226
|
-
.option('--json', 'Output as JSON')
|
|
227
|
-
.option('-n, --limit <number>', 'Limit number of sessions', '10')
|
|
228
|
-
.addHelpText('after', `
|
|
229
|
-
Examples:
|
|
230
|
-
$ omc sessions Show last 10 sessions
|
|
231
|
-
$ omc sessions --limit 50 Show last 50 sessions
|
|
232
|
-
$ omc sessions --json Export session history as JSON`)
|
|
233
|
-
.action(async (options) => {
|
|
234
|
-
await ensureBackfillDone();
|
|
235
|
-
await sessionsCommand({ ...options, limit: parseInt(options.limit) });
|
|
236
|
-
});
|
|
237
|
-
// Agents command
|
|
238
|
-
program
|
|
239
|
-
.command('agents')
|
|
240
|
-
.description('Show agent usage breakdown')
|
|
241
|
-
.option('--json', 'Output as JSON')
|
|
242
|
-
.option('-n, --limit <number>', 'Limit number of agents', '10')
|
|
243
|
-
.addHelpText('after', `
|
|
244
|
-
Examples:
|
|
245
|
-
$ omc agents Show top 10 agents by usage
|
|
246
|
-
$ omc agents --limit 20 Show top 20 agents
|
|
247
|
-
$ omc agents --json Export agent data as JSON`)
|
|
248
|
-
.action(async (options) => {
|
|
249
|
-
await ensureBackfillDone();
|
|
250
|
-
await agentsCommand({ ...options, limit: parseInt(options.limit) });
|
|
251
|
-
});
|
|
252
|
-
// Export command
|
|
253
|
-
program
|
|
254
|
-
.command('export <type> <format> <output>')
|
|
255
|
-
.description('Export data (type: cost, sessions, patterns; format: json, csv)')
|
|
256
|
-
.option('--period <period>', 'Period for cost report (daily, weekly, monthly)', 'monthly')
|
|
257
|
-
.addHelpText('after', `
|
|
258
|
-
Examples:
|
|
259
|
-
$ omc export cost json costs.json Export monthly costs to JSON
|
|
260
|
-
$ omc export sessions csv sessions.csv Export sessions to CSV
|
|
261
|
-
$ omc export cost csv data.csv --period weekly Export weekly costs`)
|
|
262
|
-
.action((type, format, output, options) => {
|
|
263
|
-
if (!['cost', 'sessions', 'patterns'].includes(type)) {
|
|
264
|
-
console.error(chalk.red(`Invalid type "${type}". Valid options: cost, sessions, patterns`));
|
|
265
|
-
console.error(chalk.gray('Example: omc export cost json output.json'));
|
|
266
|
-
process.exit(1);
|
|
267
|
-
}
|
|
268
|
-
if (!['json', 'csv'].includes(format)) {
|
|
269
|
-
console.error(chalk.red(`Invalid format "${format}". Valid options: json, csv`));
|
|
270
|
-
console.error(chalk.gray('Example: omc export sessions csv sessions.csv'));
|
|
271
|
-
process.exit(1);
|
|
272
|
-
}
|
|
273
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- commander string narrowing
|
|
274
|
-
exportCommand(type, format, output, options);
|
|
275
|
-
});
|
|
276
|
-
// Cleanup command
|
|
277
|
-
program
|
|
278
|
-
.command('cleanup')
|
|
279
|
-
.description('Clean up old logs and orphaned background tasks')
|
|
280
|
-
.option('-r, --retention <days>', 'Retention period in days', '30')
|
|
281
|
-
.addHelpText('after', `
|
|
282
|
-
Examples:
|
|
283
|
-
$ omc cleanup Clean up logs older than 30 days
|
|
284
|
-
$ omc cleanup --retention 7 Clean up logs older than 7 days`)
|
|
285
|
-
.action(options => {
|
|
286
|
-
cleanupCommand({ ...options, retention: parseInt(options.retention) });
|
|
287
|
-
});
|
|
288
|
-
// Backfill command (deprecated - auto-backfill runs on every command)
|
|
289
|
-
program
|
|
290
|
-
.command('backfill')
|
|
291
|
-
.description('[DEPRECATED] Backfill now runs automatically. Use for manual re-sync only.')
|
|
292
|
-
.option('--project <path>', 'Filter to specific project path')
|
|
293
|
-
.option('--from <date>', 'Start date (ISO format: YYYY-MM-DD)')
|
|
294
|
-
.option('--to <date>', 'End date (ISO format: YYYY-MM-DD)')
|
|
295
|
-
.option('--dry-run', 'Preview without writing data')
|
|
296
|
-
.option('--reset', 'Clear deduplication index and re-process all transcripts')
|
|
297
|
-
.option('-v, --verbose', 'Show detailed progress')
|
|
298
|
-
.option('--json', 'Output as JSON')
|
|
299
|
-
.addHelpText('after', `
|
|
300
|
-
Examples:
|
|
301
|
-
$ omc backfill --reset Force full re-sync
|
|
302
|
-
$ omc backfill --project ~/myproject Backfill specific project
|
|
303
|
-
$ omc backfill --from 2024-01-01 --verbose Backfill from date with progress`)
|
|
304
|
-
.action(async (options) => {
|
|
305
|
-
if (!options.reset && !options.project && !options.from && !options.to) {
|
|
306
|
-
console.log(chalk.yellow('Note: Backfill now runs automatically with every omc command.'));
|
|
307
|
-
console.log(chalk.gray('Use --reset to force full re-sync, or --project/--from/--to for filtered backfill.\n'));
|
|
308
|
-
}
|
|
309
|
-
await backfillCommand(options);
|
|
310
|
-
});
|
|
311
|
-
// Performance monitoring command
|
|
312
|
-
program.addCommand(perfCommand);
|
|
313
|
-
// TUI command
|
|
314
|
-
program
|
|
315
|
-
.command('tui')
|
|
316
|
-
.description('Launch tokscale interactive TUI for token visualization')
|
|
317
|
-
.option('--models', 'Show models view')
|
|
318
|
-
.option('--daily', 'Show daily/monthly view')
|
|
319
|
-
.option('--no-claude', 'Show all providers (not just Claude)')
|
|
320
|
-
.addHelpText('after', `
|
|
321
|
-
Examples:
|
|
322
|
-
$ omc tui Launch interactive dashboard
|
|
323
|
-
$ omc tui --light Use light theme
|
|
324
|
-
$ omc tui --daily Start with daily view`)
|
|
325
|
-
.action(async (options) => {
|
|
326
|
-
const available = await isTokscaleCLIAvailable();
|
|
327
|
-
if (!available) {
|
|
328
|
-
console.log(chalk.yellow('tokscale is not installed.'));
|
|
329
|
-
console.log(getInstallInstructions());
|
|
330
|
-
process.exit(1);
|
|
331
|
-
}
|
|
332
|
-
const view = options.models ? 'models'
|
|
333
|
-
: options.daily ? 'daily'
|
|
334
|
-
: 'overview';
|
|
335
|
-
try {
|
|
336
|
-
await launchTokscaleTUI({
|
|
337
|
-
view,
|
|
338
|
-
claude: options.claude
|
|
339
|
-
});
|
|
340
|
-
}
|
|
341
|
-
catch (error) {
|
|
342
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
343
|
-
console.error(chalk.red(`Failed to launch TUI: ${message}`));
|
|
344
|
-
console.error(chalk.gray('Try running "omc tui" again, or check if tokscale is properly installed.'));
|
|
345
|
-
process.exit(1);
|
|
346
|
-
}
|
|
347
|
-
});
|
|
348
|
-
/**
|
|
349
|
-
* Init command - Initialize configuration
|
|
350
|
-
*/
|
|
351
|
-
program
|
|
352
|
-
.command('init')
|
|
353
|
-
.description('Initialize Sisyphus configuration in the current directory')
|
|
354
|
-
.option('-g, --global', 'Initialize global user configuration')
|
|
355
|
-
.option('-f, --force', 'Overwrite existing configuration')
|
|
356
|
-
.addHelpText('after', `
|
|
357
|
-
Examples:
|
|
358
|
-
$ omc init Initialize in current directory
|
|
359
|
-
$ omc init --global Initialize global configuration
|
|
360
|
-
$ omc init --force Overwrite existing config`)
|
|
361
|
-
.action(async (options) => {
|
|
362
|
-
console.log(chalk.yellow('⚠️ DEPRECATED: The init command is deprecated.'));
|
|
363
|
-
console.log(chalk.gray('Configuration is now managed automatically. Use /ultrapower:omc-setup instead.\n'));
|
|
364
|
-
const paths = getConfigPaths();
|
|
365
|
-
const targetPath = options.global ? paths.user : paths.project;
|
|
366
|
-
const targetDir = dirname(targetPath);
|
|
367
|
-
console.log(chalk.blue('Oh-My-ClaudeCode Configuration Setup\n'));
|
|
368
|
-
// Check if config already exists
|
|
369
|
-
if (existsSync(targetPath) && !options.force) {
|
|
370
|
-
console.log(chalk.yellow(`Configuration already exists at ${targetPath}`));
|
|
371
|
-
console.log(chalk.gray('Use --force to overwrite'));
|
|
372
|
-
return;
|
|
373
|
-
}
|
|
374
|
-
// Create directory if needed
|
|
375
|
-
if (!existsSync(targetDir)) {
|
|
376
|
-
mkdirSync(targetDir, { recursive: true });
|
|
377
|
-
console.log(chalk.green(`Created directory: ${targetDir}`));
|
|
378
|
-
}
|
|
379
|
-
// Generate config content
|
|
380
|
-
const configContent = `// Oh-My-ClaudeCode Configuration
|
|
381
|
-
// See: https://github.com/liangjie559567/ultrapower for documentation
|
|
382
|
-
{
|
|
383
|
-
"$schema": "./sisyphus-schema.json",
|
|
384
|
-
|
|
385
|
-
// Agent model configurations
|
|
386
|
-
"agents": {
|
|
387
|
-
"sisyphus": {
|
|
388
|
-
// Main orchestrator - uses the most capable model
|
|
389
|
-
"model": "claude-opus-4-6-20260205"
|
|
390
|
-
},
|
|
391
|
-
"architect": {
|
|
392
|
-
// Architecture and debugging expert
|
|
393
|
-
"model": "claude-opus-4-6-20260205",
|
|
394
|
-
"enabled": true
|
|
395
|
-
},
|
|
396
|
-
"researcher": {
|
|
397
|
-
// Documentation and codebase analysis
|
|
398
|
-
"model": "claude-sonnet-4-6-20260217"
|
|
399
|
-
},
|
|
400
|
-
"explore": {
|
|
401
|
-
// Fast pattern matching - uses fastest model
|
|
402
|
-
"model": "claude-3-5-haiku-20241022"
|
|
403
|
-
},
|
|
404
|
-
"frontendEngineer": {
|
|
405
|
-
"model": "claude-sonnet-4-6-20260217",
|
|
406
|
-
"enabled": true
|
|
407
|
-
},
|
|
408
|
-
"documentWriter": {
|
|
409
|
-
"model": "claude-3-5-haiku-20241022",
|
|
410
|
-
"enabled": true
|
|
411
|
-
},
|
|
412
|
-
"multimodalLooker": {
|
|
413
|
-
"model": "claude-sonnet-4-6-20260217",
|
|
414
|
-
"enabled": true
|
|
415
|
-
}
|
|
416
|
-
},
|
|
417
|
-
|
|
418
|
-
// Feature toggles
|
|
419
|
-
"features": {
|
|
420
|
-
"parallelExecution": true,
|
|
421
|
-
"lspTools": true,
|
|
422
|
-
"astTools": true,
|
|
423
|
-
"continuationEnforcement": true,
|
|
424
|
-
"autoContextInjection": true
|
|
425
|
-
},
|
|
426
|
-
|
|
427
|
-
// MCP server integrations
|
|
428
|
-
"mcpServers": {
|
|
429
|
-
"exa": {
|
|
430
|
-
"enabled": true
|
|
431
|
-
// Set EXA_API_KEY environment variable for API key
|
|
432
|
-
},
|
|
433
|
-
"context7": {
|
|
434
|
-
"enabled": true
|
|
435
|
-
}
|
|
436
|
-
},
|
|
437
|
-
|
|
438
|
-
// Permission settings
|
|
439
|
-
"permissions": {
|
|
440
|
-
"allowBash": true,
|
|
441
|
-
"allowEdit": true,
|
|
442
|
-
"allowWrite": true,
|
|
443
|
-
"maxBackgroundTasks": 5
|
|
444
|
-
},
|
|
445
|
-
|
|
446
|
-
// Magic keyword triggers (customize if desired)
|
|
447
|
-
"magicKeywords": {
|
|
448
|
-
"ultrawork": ["ultrawork", "ulw", "uw"],
|
|
449
|
-
"search": ["search", "find", "locate"],
|
|
450
|
-
"analyze": ["analyze", "investigate", "examine"]
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
`;
|
|
454
|
-
writeFileSync(targetPath, configContent);
|
|
455
|
-
console.log(chalk.green(`Created configuration: ${targetPath}`));
|
|
456
|
-
// Also create the JSON schema for editor support
|
|
457
|
-
const schemaPath = join(targetDir, 'sisyphus-schema.json');
|
|
458
|
-
writeFileSync(schemaPath, JSON.stringify(generateConfigSchema(), null, 2));
|
|
459
|
-
console.log(chalk.green(`Created JSON schema: ${schemaPath}`));
|
|
460
|
-
console.log(chalk.blue('\nSetup complete!'));
|
|
461
|
-
console.log(chalk.gray('Edit the configuration file to customize your setup.'));
|
|
462
|
-
// Create AGENTS.md template if it doesn't exist
|
|
463
|
-
const agentsMdPath = join(process.cwd(), 'AGENTS.md');
|
|
464
|
-
if (!existsSync(agentsMdPath) && !options.global) {
|
|
465
|
-
const agentsMdContent = `# Project Agents Configuration
|
|
466
|
-
|
|
467
|
-
This file provides context and instructions to AI agents working on this project.
|
|
468
|
-
|
|
469
|
-
## Project Overview
|
|
470
|
-
|
|
471
|
-
<!-- Describe your project here -->
|
|
472
|
-
|
|
473
|
-
## Architecture
|
|
474
|
-
|
|
475
|
-
<!-- Describe the architecture and key components -->
|
|
476
|
-
|
|
477
|
-
## Conventions
|
|
478
|
-
|
|
479
|
-
<!-- List coding conventions, naming patterns, etc. -->
|
|
480
|
-
|
|
481
|
-
## Important Files
|
|
482
|
-
|
|
483
|
-
<!-- List key files agents should know about -->
|
|
484
|
-
|
|
485
|
-
## Common Tasks
|
|
486
|
-
|
|
487
|
-
<!-- Describe common development tasks and how to perform them -->
|
|
488
|
-
`;
|
|
489
|
-
writeFileSync(agentsMdPath, agentsMdContent);
|
|
490
|
-
console.log(chalk.green(`Created AGENTS.md template`));
|
|
491
|
-
}
|
|
492
|
-
});
|
|
493
|
-
/**
|
|
494
|
-
* Config command - Show or validate configuration
|
|
495
|
-
*/
|
|
496
|
-
program
|
|
497
|
-
.command('config')
|
|
498
|
-
.description('Show current configuration')
|
|
499
|
-
.option('-v, --validate', 'Validate configuration')
|
|
500
|
-
.option('-p, --paths', 'Show configuration file paths')
|
|
501
|
-
.addHelpText('after', `
|
|
502
|
-
Examples:
|
|
503
|
-
$ omc config Show current configuration
|
|
504
|
-
$ omc config --validate Validate configuration files
|
|
505
|
-
$ omc config --paths Show config file locations
|
|
506
|
-
|
|
507
|
-
}`)
|
|
508
|
-
.action(async (options) => {
|
|
509
|
-
if (options.paths) {
|
|
510
|
-
const paths = getConfigPaths();
|
|
511
|
-
console.log(chalk.blue('Configuration file paths:'));
|
|
512
|
-
console.log(` User: ${paths.user}`);
|
|
513
|
-
console.log(` Project: ${paths.project}`);
|
|
514
|
-
console.log(chalk.blue('\nFile status:'));
|
|
515
|
-
console.log(` User: ${existsSync(paths.user) ? chalk.green('exists') : chalk.gray('not found')}`);
|
|
516
|
-
console.log(` Project: ${existsSync(paths.project) ? chalk.green('exists') : chalk.gray('not found')}`);
|
|
37
|
+
// Lazy-load commands on demand
|
|
38
|
+
program.hook('preAction', async (thisCommand) => {
|
|
39
|
+
const commandName = thisCommand.name();
|
|
40
|
+
// Skip for root command
|
|
41
|
+
if (commandName === 'omc')
|
|
517
42
|
return;
|
|
518
|
-
|
|
519
|
-
const
|
|
520
|
-
if (
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
}
|
|
542
|
-
return;
|
|
543
|
-
}
|
|
544
|
-
console.log(chalk.blue('Current configuration:\n'));
|
|
545
|
-
console.log(JSON.stringify(config, null, 2));
|
|
546
|
-
});
|
|
547
|
-
/**
|
|
548
|
-
* Config stop-callback subcommand - Configure stop hook callbacks
|
|
549
|
-
*/
|
|
550
|
-
const _configStopCallback = program
|
|
551
|
-
.command('config-stop-callback <type>')
|
|
552
|
-
.description('Configure stop hook callbacks (file/telegram/discord)')
|
|
553
|
-
.option('--enable', 'Enable callback')
|
|
554
|
-
.option('--disable', 'Disable callback')
|
|
555
|
-
.option('--path <path>', 'File path (supports {session_id}, {date}, {time})')
|
|
556
|
-
.option('--format <format>', 'File format: markdown | json')
|
|
557
|
-
.option('--token <token>', 'Bot token (telegram or discord-bot)')
|
|
558
|
-
.option('--chat <id>', 'Telegram chat ID')
|
|
559
|
-
.option('--webhook <url>', 'Discord webhook URL')
|
|
560
|
-
.option('--channel-id <id>', 'Discord bot channel ID (used with --profile)')
|
|
561
|
-
.option('--tag-list <csv>', 'Replace tag list (comma-separated, telegram/discord only)')
|
|
562
|
-
.option('--add-tag <tag>', 'Append one tag (telegram/discord only)')
|
|
563
|
-
.option('--remove-tag <tag>', 'Remove one tag (telegram/discord only)')
|
|
564
|
-
.option('--clear-tags', 'Clear all tags (telegram/discord only)')
|
|
565
|
-
.option('--profile <name>', 'Named notification profile to configure')
|
|
566
|
-
.option('--show', 'Show current configuration')
|
|
567
|
-
.addHelpText('after', `
|
|
568
|
-
Types:
|
|
569
|
-
file File system callback (saves session summary to disk)
|
|
570
|
-
telegram Telegram bot notification
|
|
571
|
-
discord Discord webhook notification
|
|
572
|
-
|
|
573
|
-
Profile types (use with --profile):
|
|
574
|
-
discord-bot Discord Bot API (token + channel ID)
|
|
575
|
-
slack Slack incoming webhook
|
|
576
|
-
webhook Generic webhook (POST with JSON body)
|
|
577
|
-
|
|
578
|
-
Examples:
|
|
579
|
-
$ omc config-stop-callback file --enable --path ~/.claude/logs/{date}.md
|
|
580
|
-
$ omc config-stop-callback telegram --enable --token <token> --chat <id>
|
|
581
|
-
$ omc config-stop-callback discord --enable --webhook <url>
|
|
582
|
-
$ omc config-stop-callback file --disable
|
|
583
|
-
$ omc config-stop-callback file --show
|
|
584
|
-
|
|
585
|
-
# Named profiles (stored in notificationProfiles):
|
|
586
|
-
$ omc config-stop-callback discord --profile work --enable --webhook <url>
|
|
587
|
-
$ omc config-stop-callback telegram --profile work --enable --token <tk> --chat <id>
|
|
588
|
-
$ omc config-stop-callback discord-bot --profile ops --enable --token <tk> --channel-id <id>
|
|
589
|
-
|
|
590
|
-
# Select profile at launch:
|
|
591
|
-
$ OMC_NOTIFY_PROFILE=work claude`)
|
|
592
|
-
.action(async (type, options) => {
|
|
593
|
-
// When --profile is used, route to profile-based config
|
|
594
|
-
if (options.profile) {
|
|
595
|
-
const profileValidTypes = ['file', 'telegram', 'discord', 'discord-bot', 'slack', 'webhook'];
|
|
596
|
-
if (!profileValidTypes.includes(type)) {
|
|
597
|
-
console.error(chalk.red(`Invalid type for profile: ${type}`));
|
|
598
|
-
console.error(chalk.gray(`Valid types: ${profileValidTypes.join(', ')}`));
|
|
599
|
-
process.exit(1);
|
|
600
|
-
}
|
|
601
|
-
const config = getOMCConfig();
|
|
602
|
-
config.notificationProfiles = config.notificationProfiles || {};
|
|
603
|
-
const profileName = options.profile;
|
|
604
|
-
const profile = config.notificationProfiles[profileName] || { enabled: true };
|
|
605
|
-
// Show current profile config
|
|
606
|
-
if (options.show) {
|
|
607
|
-
if (config.notificationProfiles[profileName]) {
|
|
608
|
-
console.log(chalk.blue(`Profile "${profileName}" — ${type} configuration:`));
|
|
609
|
-
const platformConfig = profile[type];
|
|
610
|
-
if (platformConfig) {
|
|
611
|
-
console.log(JSON.stringify(platformConfig, null, 2));
|
|
612
|
-
}
|
|
613
|
-
else {
|
|
614
|
-
console.log(chalk.yellow(`No ${type} platform configured in profile "${profileName}".`));
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
else {
|
|
618
|
-
console.log(chalk.yellow(`Profile "${profileName}" not found.`));
|
|
619
|
-
}
|
|
620
|
-
return;
|
|
621
|
-
}
|
|
622
|
-
let enabled;
|
|
623
|
-
if (options.enable)
|
|
624
|
-
enabled = true;
|
|
625
|
-
else if (options.disable)
|
|
626
|
-
enabled = false;
|
|
627
|
-
switch (type) {
|
|
628
|
-
case 'discord': {
|
|
629
|
-
const current = profile.discord;
|
|
630
|
-
if (enabled === true && (!options.webhook && !current?.webhookUrl)) {
|
|
631
|
-
console.error(chalk.red('Discord requires --webhook <webhook_url>'));
|
|
632
|
-
process.exit(1);
|
|
43
|
+
// Find and load the command if not already loaded
|
|
44
|
+
const commandLoader = commandRegistry.find(c => c.name === commandName);
|
|
45
|
+
if (commandLoader && !thisCommand.commands.some(c => c.name() === commandName)) {
|
|
46
|
+
const { default: cmd } = await commandLoader.loader();
|
|
47
|
+
program.addCommand(cmd);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
// Register command stubs for help text
|
|
51
|
+
for (const { name } of commandRegistry) {
|
|
52
|
+
if (!program.commands.some(c => c.name() === name)) {
|
|
53
|
+
const stub = new Command(name)
|
|
54
|
+
.description(`Loading ${name}...`)
|
|
55
|
+
.allowUnknownOption()
|
|
56
|
+
.allowExcessArguments();
|
|
57
|
+
stub.action(async (...args) => {
|
|
58
|
+
const loader = commandRegistry.find(c => c.name === name);
|
|
59
|
+
if (loader) {
|
|
60
|
+
const { default: cmd } = await loader.loader();
|
|
61
|
+
// Parse as standalone command with remaining args
|
|
62
|
+
const cmdIndex = process.argv.findIndex(arg => arg === name);
|
|
63
|
+
if (cmdIndex !== -1) {
|
|
64
|
+
const cmdArgv = [process.argv[0], process.argv[1], ...process.argv.slice(cmdIndex + 1)];
|
|
65
|
+
await cmd.parseAsync(cmdArgv, { from: 'node' });
|
|
633
66
|
}
|
|
634
|
-
profile.discord = {
|
|
635
|
-
...current,
|
|
636
|
-
enabled: enabled ?? current?.enabled ?? false,
|
|
637
|
-
webhookUrl: options.webhook ?? current?.webhookUrl,
|
|
638
|
-
};
|
|
639
|
-
break;
|
|
640
|
-
}
|
|
641
|
-
case 'discord-bot': {
|
|
642
|
-
const current = profile['discord-bot'];
|
|
643
|
-
if (enabled === true && (!options.token && !current?.botToken)) {
|
|
644
|
-
console.error(chalk.red('Discord bot requires --token <bot_token>'));
|
|
645
|
-
process.exit(1);
|
|
646
|
-
}
|
|
647
|
-
if (enabled === true && (!options.channelId && !current?.channelId)) {
|
|
648
|
-
console.error(chalk.red('Discord bot requires --channel-id <channel_id>'));
|
|
649
|
-
process.exit(1);
|
|
650
|
-
}
|
|
651
|
-
profile['discord-bot'] = {
|
|
652
|
-
...current,
|
|
653
|
-
enabled: enabled ?? current?.enabled ?? false,
|
|
654
|
-
botToken: options.token ?? current?.botToken,
|
|
655
|
-
channelId: options.channelId ?? current?.channelId,
|
|
656
|
-
};
|
|
657
|
-
break;
|
|
658
|
-
}
|
|
659
|
-
case 'telegram': {
|
|
660
|
-
const current = profile.telegram;
|
|
661
|
-
if (enabled === true && (!options.token && !current?.botToken)) {
|
|
662
|
-
console.error(chalk.red('Telegram requires --token <bot_token>'));
|
|
663
|
-
process.exit(1);
|
|
664
|
-
}
|
|
665
|
-
if (enabled === true && (!options.chat && !current?.chatId)) {
|
|
666
|
-
console.error(chalk.red('Telegram requires --chat <chat_id>'));
|
|
667
|
-
process.exit(1);
|
|
668
|
-
}
|
|
669
|
-
profile.telegram = {
|
|
670
|
-
...current,
|
|
671
|
-
enabled: enabled ?? current?.enabled ?? false,
|
|
672
|
-
botToken: options.token ?? current?.botToken,
|
|
673
|
-
chatId: options.chat ?? current?.chatId,
|
|
674
|
-
};
|
|
675
|
-
break;
|
|
676
|
-
}
|
|
677
|
-
case 'slack': {
|
|
678
|
-
const current = profile.slack;
|
|
679
|
-
if (enabled === true && (!options.webhook && !current?.webhookUrl)) {
|
|
680
|
-
console.error(chalk.red('Slack requires --webhook <webhook_url>'));
|
|
681
|
-
process.exit(1);
|
|
682
|
-
}
|
|
683
|
-
profile.slack = {
|
|
684
|
-
...current,
|
|
685
|
-
enabled: enabled ?? current?.enabled ?? false,
|
|
686
|
-
webhookUrl: options.webhook ?? current?.webhookUrl,
|
|
687
|
-
};
|
|
688
|
-
break;
|
|
689
|
-
}
|
|
690
|
-
case 'webhook': {
|
|
691
|
-
const current = profile.webhook;
|
|
692
|
-
if (enabled === true && (!options.webhook && !current?.url)) {
|
|
693
|
-
console.error(chalk.red('Webhook requires --webhook <url>'));
|
|
694
|
-
process.exit(1);
|
|
695
|
-
}
|
|
696
|
-
profile.webhook = {
|
|
697
|
-
...current,
|
|
698
|
-
enabled: enabled ?? current?.enabled ?? false,
|
|
699
|
-
url: options.webhook ?? current?.url,
|
|
700
|
-
};
|
|
701
|
-
break;
|
|
702
|
-
}
|
|
703
|
-
case 'file': {
|
|
704
|
-
console.error(chalk.yellow('File callbacks are not supported in notification profiles.'));
|
|
705
|
-
console.error(chalk.gray('Use without --profile for file callbacks.'));
|
|
706
|
-
process.exit(1);
|
|
707
|
-
break;
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
config.notificationProfiles[profileName] = profile;
|
|
711
|
-
try {
|
|
712
|
-
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
|
|
713
|
-
console.log(chalk.green(`\u2713 Profile "${profileName}" — ${type} configured`));
|
|
714
|
-
console.log(JSON.stringify(profile[type], null, 2));
|
|
715
|
-
}
|
|
716
|
-
catch (error) {
|
|
717
|
-
console.error(chalk.red('Failed to write configuration:'), error);
|
|
718
|
-
process.exit(1);
|
|
719
|
-
}
|
|
720
|
-
return;
|
|
721
|
-
}
|
|
722
|
-
// Legacy (non-profile) path
|
|
723
|
-
const validTypes = ['file', 'telegram', 'discord'];
|
|
724
|
-
if (!validTypes.includes(type)) {
|
|
725
|
-
console.error(chalk.red(`Invalid callback type: ${type}`));
|
|
726
|
-
console.error(chalk.gray(`Valid types: ${validTypes.join(', ')}`));
|
|
727
|
-
process.exit(1);
|
|
728
|
-
}
|
|
729
|
-
const config = getOMCConfig();
|
|
730
|
-
config.stopHookCallbacks = config.stopHookCallbacks || {};
|
|
731
|
-
// Show current config
|
|
732
|
-
if (options.show) {
|
|
733
|
-
const current = config.stopHookCallbacks[type];
|
|
734
|
-
if (current) {
|
|
735
|
-
console.log(chalk.blue(`Current ${type} callback configuration:`));
|
|
736
|
-
console.log(JSON.stringify(current, null, 2));
|
|
737
|
-
}
|
|
738
|
-
else {
|
|
739
|
-
console.log(chalk.yellow(`No ${type} callback configured.`));
|
|
740
|
-
}
|
|
741
|
-
return;
|
|
742
|
-
}
|
|
743
|
-
// Determine enabled state
|
|
744
|
-
let enabled;
|
|
745
|
-
if (options.enable) {
|
|
746
|
-
enabled = true;
|
|
747
|
-
}
|
|
748
|
-
else if (options.disable) {
|
|
749
|
-
enabled = false;
|
|
750
|
-
}
|
|
751
|
-
const hasTagListChanges = options.tagList !== undefined
|
|
752
|
-
|| options.addTag !== undefined
|
|
753
|
-
|| options.removeTag !== undefined
|
|
754
|
-
|| options.clearTags;
|
|
755
|
-
const parseTagList = (value) => value
|
|
756
|
-
.split(',')
|
|
757
|
-
.map((tag) => tag.trim())
|
|
758
|
-
.filter(Boolean);
|
|
759
|
-
const resolveTagList = (currentTagList) => {
|
|
760
|
-
let next = options.tagList !== undefined
|
|
761
|
-
? parseTagList(options.tagList)
|
|
762
|
-
: [...(currentTagList ?? [])];
|
|
763
|
-
if (options.clearTags) {
|
|
764
|
-
next = [];
|
|
765
|
-
}
|
|
766
|
-
if (options.addTag !== undefined) {
|
|
767
|
-
const tagToAdd = String(options.addTag).trim();
|
|
768
|
-
if (tagToAdd && !next.includes(tagToAdd)) {
|
|
769
|
-
next.push(tagToAdd);
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
if (options.removeTag !== undefined) {
|
|
773
|
-
const tagToRemove = String(options.removeTag).trim();
|
|
774
|
-
if (tagToRemove) {
|
|
775
|
-
next = next.filter((tag) => tag !== tagToRemove);
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
return next;
|
|
779
|
-
};
|
|
780
|
-
// Update config based on type
|
|
781
|
-
switch (type) {
|
|
782
|
-
case 'file': {
|
|
783
|
-
const current = config.stopHookCallbacks.file;
|
|
784
|
-
config.stopHookCallbacks.file = {
|
|
785
|
-
enabled: enabled ?? current?.enabled ?? false,
|
|
786
|
-
path: options.path ?? current?.path ?? '~/.claude/session-logs/{session_id}.md',
|
|
787
|
-
format: options.format ?? current?.format ?? 'markdown',
|
|
788
|
-
};
|
|
789
|
-
break;
|
|
790
|
-
}
|
|
791
|
-
case 'telegram': {
|
|
792
|
-
const current = config.stopHookCallbacks.telegram;
|
|
793
|
-
if (enabled === true && (!options.token && !current?.botToken)) {
|
|
794
|
-
console.error(chalk.red('Telegram requires --token <bot_token>'));
|
|
795
|
-
process.exit(1);
|
|
796
|
-
}
|
|
797
|
-
if (enabled === true && (!options.chat && !current?.chatId)) {
|
|
798
|
-
console.error(chalk.red('Telegram requires --chat <chat_id>'));
|
|
799
|
-
process.exit(1);
|
|
800
|
-
}
|
|
801
|
-
config.stopHookCallbacks.telegram = {
|
|
802
|
-
...current,
|
|
803
|
-
enabled: enabled ?? current?.enabled ?? false,
|
|
804
|
-
botToken: options.token ?? current?.botToken,
|
|
805
|
-
chatId: options.chat ?? current?.chatId,
|
|
806
|
-
tagList: hasTagListChanges ? resolveTagList(current?.tagList) : current?.tagList,
|
|
807
|
-
};
|
|
808
|
-
break;
|
|
809
|
-
}
|
|
810
|
-
case 'discord': {
|
|
811
|
-
const current = config.stopHookCallbacks.discord;
|
|
812
|
-
if (enabled === true && (!options.webhook && !current?.webhookUrl)) {
|
|
813
|
-
console.error(chalk.red('Discord requires --webhook <webhook_url>'));
|
|
814
|
-
process.exit(1);
|
|
815
|
-
}
|
|
816
|
-
config.stopHookCallbacks.discord = {
|
|
817
|
-
...current,
|
|
818
|
-
enabled: enabled ?? current?.enabled ?? false,
|
|
819
|
-
webhookUrl: options.webhook ?? current?.webhookUrl,
|
|
820
|
-
tagList: hasTagListChanges ? resolveTagList(current?.tagList) : current?.tagList,
|
|
821
|
-
};
|
|
822
|
-
break;
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
// Write config
|
|
826
|
-
try {
|
|
827
|
-
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
|
|
828
|
-
console.log(chalk.green(`\u2713 Stop callback '${type}' configured`));
|
|
829
|
-
console.log(JSON.stringify(config.stopHookCallbacks[type], null, 2));
|
|
830
|
-
}
|
|
831
|
-
catch (error) {
|
|
832
|
-
console.error(chalk.red('Failed to write configuration:'), error);
|
|
833
|
-
process.exit(1);
|
|
834
|
-
}
|
|
835
|
-
});
|
|
836
|
-
/**
|
|
837
|
-
* Config notify-profile subcommand - List, show, and delete notification profiles
|
|
838
|
-
*/
|
|
839
|
-
program
|
|
840
|
-
.command('config-notify-profile [name]')
|
|
841
|
-
.description('Manage notification profiles')
|
|
842
|
-
.option('--list', 'List all profiles')
|
|
843
|
-
.option('--show', 'Show profile configuration')
|
|
844
|
-
.option('--delete', 'Delete a profile')
|
|
845
|
-
.addHelpText('after', `
|
|
846
|
-
Examples:
|
|
847
|
-
$ omc config-notify-profile --list
|
|
848
|
-
$ omc config-notify-profile work --show
|
|
849
|
-
$ omc config-notify-profile work --delete
|
|
850
|
-
|
|
851
|
-
# Create/update profiles via config-stop-callback --profile:
|
|
852
|
-
$ omc config-stop-callback discord --profile work --enable --webhook <url>
|
|
853
|
-
|
|
854
|
-
# Select profile at launch:
|
|
855
|
-
$ OMC_NOTIFY_PROFILE=work claude`)
|
|
856
|
-
.action(async (name, options) => {
|
|
857
|
-
const config = getOMCConfig();
|
|
858
|
-
const profiles = config.notificationProfiles || {};
|
|
859
|
-
if (options.list || !name) {
|
|
860
|
-
const names = Object.keys(profiles);
|
|
861
|
-
if (names.length === 0) {
|
|
862
|
-
console.log(chalk.yellow('No notification profiles configured.'));
|
|
863
|
-
console.log(chalk.gray('Create one with: omc config-stop-callback <type> --profile <name> --enable ...'));
|
|
864
|
-
}
|
|
865
|
-
else {
|
|
866
|
-
console.log(chalk.blue('Notification profiles:'));
|
|
867
|
-
for (const pName of names) {
|
|
868
|
-
const p = profiles[pName];
|
|
869
|
-
const platforms = ['discord', 'discord-bot', 'telegram', 'slack', 'webhook']
|
|
870
|
-
.filter((plat) => p[plat] && (p[plat])?.enabled)
|
|
871
|
-
.join(', ');
|
|
872
|
-
const status = p.enabled !== false ? chalk.green('enabled') : chalk.red('disabled');
|
|
873
|
-
console.log(` ${chalk.bold(pName)} [${status}] — ${platforms || 'no platforms'}`);
|
|
874
|
-
}
|
|
875
|
-
}
|
|
876
|
-
const activeProfile = process.env.OMC_NOTIFY_PROFILE;
|
|
877
|
-
if (activeProfile) {
|
|
878
|
-
console.log(chalk.gray(`\nActive profile (OMC_NOTIFY_PROFILE): ${activeProfile}`));
|
|
879
|
-
}
|
|
880
|
-
return;
|
|
881
|
-
}
|
|
882
|
-
if (options.show) {
|
|
883
|
-
if (profiles[name]) {
|
|
884
|
-
console.log(chalk.blue(`Profile "${name}":`));
|
|
885
|
-
console.log(JSON.stringify(profiles[name], null, 2));
|
|
886
|
-
}
|
|
887
|
-
else {
|
|
888
|
-
console.log(chalk.yellow(`Profile "${name}" not found.`));
|
|
889
|
-
}
|
|
890
|
-
return;
|
|
891
|
-
}
|
|
892
|
-
if (options.delete) {
|
|
893
|
-
if (!profiles[name]) {
|
|
894
|
-
console.log(chalk.yellow(`Profile "${name}" not found.`));
|
|
895
|
-
return;
|
|
896
|
-
}
|
|
897
|
-
delete profiles[name];
|
|
898
|
-
config.notificationProfiles = profiles;
|
|
899
|
-
if (Object.keys(profiles).length === 0) {
|
|
900
|
-
delete config.notificationProfiles;
|
|
901
|
-
}
|
|
902
|
-
try {
|
|
903
|
-
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
|
|
904
|
-
console.log(chalk.green(`\u2713 Profile "${name}" deleted`));
|
|
905
|
-
}
|
|
906
|
-
catch (error) {
|
|
907
|
-
console.error(chalk.red('Failed to write configuration:'), error);
|
|
908
|
-
process.exit(1);
|
|
909
|
-
}
|
|
910
|
-
return;
|
|
911
|
-
}
|
|
912
|
-
// Default: show the named profile
|
|
913
|
-
if (profiles[name]) {
|
|
914
|
-
console.log(chalk.blue(`Profile "${name}":`));
|
|
915
|
-
console.log(JSON.stringify(profiles[name], null, 2));
|
|
916
|
-
}
|
|
917
|
-
else {
|
|
918
|
-
console.log(chalk.yellow(`Profile "${name}" not found.`));
|
|
919
|
-
console.log(chalk.gray('Create it with: omc config-stop-callback <type> --profile ' + name + ' --enable ...'));
|
|
920
|
-
}
|
|
921
|
-
});
|
|
922
|
-
/**
|
|
923
|
-
* Info command - Show system information
|
|
924
|
-
*/
|
|
925
|
-
program
|
|
926
|
-
.command('info')
|
|
927
|
-
.description('Show system and agent information')
|
|
928
|
-
.addHelpText('after', `
|
|
929
|
-
Examples:
|
|
930
|
-
$ omc info Show agents, features, and MCP servers`)
|
|
931
|
-
.action(async () => {
|
|
932
|
-
const session = createSisyphusSession();
|
|
933
|
-
console.log(chalk.blue.bold('\nOh-My-ClaudeCode System Information\n'));
|
|
934
|
-
console.log(chalk.gray('━'.repeat(50)));
|
|
935
|
-
console.log(chalk.blue('\nAvailable Agents:'));
|
|
936
|
-
const agents = session.queryOptions.options.agents;
|
|
937
|
-
for (const [name, agent] of Object.entries(agents)) {
|
|
938
|
-
console.log(` ${chalk.green(name)}`);
|
|
939
|
-
console.log(` ${chalk.gray(agent.description.split('\n')[0])}`);
|
|
940
|
-
}
|
|
941
|
-
console.log(chalk.blue('\nEnabled Features:'));
|
|
942
|
-
const features = session.config.features;
|
|
943
|
-
if (features) {
|
|
944
|
-
console.log(` Parallel Execution: ${features.parallelExecution ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
945
|
-
console.log(` LSP Tools: ${features.lspTools ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
946
|
-
console.log(` AST Tools: ${features.astTools ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
947
|
-
console.log(` Continuation Enforcement:${features.continuationEnforcement ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
948
|
-
console.log(` Auto Context Injection: ${features.autoContextInjection ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
949
|
-
}
|
|
950
|
-
console.log(chalk.blue('\nMCP Servers:'));
|
|
951
|
-
const mcpServers = session.queryOptions.options.mcpServers;
|
|
952
|
-
for (const name of Object.keys(mcpServers)) {
|
|
953
|
-
console.log(` ${chalk.green(name)}`);
|
|
954
|
-
}
|
|
955
|
-
console.log(chalk.blue('\nMagic Keywords:'));
|
|
956
|
-
console.log(` Ultrawork: ${chalk.cyan(session.config.magicKeywords?.ultrawork?.join(', ') ?? 'ultrawork, ulw, uw')}`);
|
|
957
|
-
console.log(` Search: ${chalk.cyan(session.config.magicKeywords?.search?.join(', ') ?? 'search, find, locate')}`);
|
|
958
|
-
console.log(` Analyze: ${chalk.cyan(session.config.magicKeywords?.analyze?.join(', ') ?? 'analyze, investigate, examine')}`);
|
|
959
|
-
console.log(chalk.gray('\n━'.repeat(50)));
|
|
960
|
-
console.log(chalk.gray(`Version: ${version}`));
|
|
961
|
-
});
|
|
962
|
-
/**
|
|
963
|
-
* Test command - Test prompt enhancement
|
|
964
|
-
*/
|
|
965
|
-
program
|
|
966
|
-
.command('test-prompt <prompt>')
|
|
967
|
-
.description('Test how a prompt would be enhanced')
|
|
968
|
-
.addHelpText('after', `
|
|
969
|
-
Examples:
|
|
970
|
-
$ omc test-prompt "ultrawork fix bugs" See how magic keywords are detected
|
|
971
|
-
$ omc test-prompt "analyze this code" Test prompt enhancement`)
|
|
972
|
-
.action(async (prompt) => {
|
|
973
|
-
const session = createSisyphusSession();
|
|
974
|
-
console.log(chalk.blue('Original prompt:'));
|
|
975
|
-
console.log(chalk.gray(prompt));
|
|
976
|
-
const keywords = session.detectKeywords(prompt);
|
|
977
|
-
if (keywords.length > 0) {
|
|
978
|
-
console.log(chalk.blue('\nDetected magic keywords:'));
|
|
979
|
-
console.log(chalk.yellow(keywords.join(', ')));
|
|
980
|
-
}
|
|
981
|
-
console.log(chalk.blue('\nEnhanced prompt:'));
|
|
982
|
-
console.log(chalk.green(session.processPrompt(prompt)));
|
|
983
|
-
});
|
|
984
|
-
/**
|
|
985
|
-
* Update command - Check for and install updates
|
|
986
|
-
*/
|
|
987
|
-
program
|
|
988
|
-
.command('update')
|
|
989
|
-
.description('Check for and install updates')
|
|
990
|
-
.option('-c, --check', 'Only check for updates, do not install')
|
|
991
|
-
.option('-f, --force', 'Force reinstall even if up to date')
|
|
992
|
-
.option('-q, --quiet', 'Suppress output except for errors')
|
|
993
|
-
.option('--standalone', 'Force npm update even in plugin context')
|
|
994
|
-
.addHelpText('after', `
|
|
995
|
-
Examples:
|
|
996
|
-
$ omc update Check and install updates
|
|
997
|
-
$ omc update --check Only check, don't install
|
|
998
|
-
$ omc update --force Force reinstall
|
|
999
|
-
$ omc update --standalone Force npm update in plugin context`)
|
|
1000
|
-
.action(async (options) => {
|
|
1001
|
-
if (!options.quiet) {
|
|
1002
|
-
console.log(chalk.blue('Oh-My-ClaudeCode Update\n'));
|
|
1003
|
-
}
|
|
1004
|
-
try {
|
|
1005
|
-
// Show current version
|
|
1006
|
-
const installed = getInstalledVersion();
|
|
1007
|
-
if (!options.quiet) {
|
|
1008
|
-
console.log(chalk.gray(`Current version: ${installed?.version ?? 'unknown'}`));
|
|
1009
|
-
console.log(chalk.gray(`Install method: ${installed?.installMethod ?? 'unknown'}`));
|
|
1010
|
-
console.log('');
|
|
1011
|
-
}
|
|
1012
|
-
// Check for updates
|
|
1013
|
-
if (!options.quiet) {
|
|
1014
|
-
console.log('Checking for updates...');
|
|
1015
|
-
}
|
|
1016
|
-
const checkResult = await checkForUpdates();
|
|
1017
|
-
if (!checkResult.updateAvailable && !options.force) {
|
|
1018
|
-
if (!options.quiet) {
|
|
1019
|
-
console.log(chalk.green(`\n✓ You are running the latest version (${checkResult.currentVersion})`));
|
|
1020
|
-
}
|
|
1021
|
-
return;
|
|
1022
|
-
}
|
|
1023
|
-
if (!options.quiet) {
|
|
1024
|
-
console.log(formatUpdateNotification(checkResult));
|
|
1025
|
-
}
|
|
1026
|
-
// If check-only mode, stop here
|
|
1027
|
-
if (options.check) {
|
|
1028
|
-
if (checkResult.updateAvailable) {
|
|
1029
|
-
console.log(chalk.yellow('\nRun without --check to install the update.'));
|
|
1030
|
-
}
|
|
1031
|
-
return;
|
|
1032
|
-
}
|
|
1033
|
-
// Perform the update
|
|
1034
|
-
if (!options.quiet) {
|
|
1035
|
-
console.log(chalk.blue('\nStarting update...\n'));
|
|
1036
|
-
}
|
|
1037
|
-
const result = await performUpdate({ verbose: !options.quiet, standalone: options.standalone });
|
|
1038
|
-
if (result.success) {
|
|
1039
|
-
if (!options.quiet) {
|
|
1040
|
-
console.log(chalk.green(`\n✓ ${result.message}`));
|
|
1041
|
-
console.log(chalk.gray('\nPlease restart your Claude Code session to use the new version.'));
|
|
1042
|
-
}
|
|
1043
|
-
}
|
|
1044
|
-
else {
|
|
1045
|
-
console.error(chalk.red(`\n✗ ${result.message}`));
|
|
1046
|
-
if (result.errors) {
|
|
1047
|
-
result.errors.forEach(err => console.error(chalk.red(` - ${err}`)));
|
|
1048
|
-
}
|
|
1049
|
-
process.exit(1);
|
|
1050
|
-
}
|
|
1051
|
-
}
|
|
1052
|
-
catch (error) {
|
|
1053
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
1054
|
-
console.error(chalk.red(`Update failed: ${message}`));
|
|
1055
|
-
console.error(chalk.gray('Try again with "omc update --force", or reinstall with "omc install --force".'));
|
|
1056
|
-
process.exit(1);
|
|
1057
|
-
}
|
|
1058
|
-
});
|
|
1059
|
-
/**
|
|
1060
|
-
* Update reconcile command - Internal command for post-update reconciliation
|
|
1061
|
-
* Called automatically after npm install to ensure hooks/settings are updated with NEW code
|
|
1062
|
-
*/
|
|
1063
|
-
program
|
|
1064
|
-
.command('update-reconcile')
|
|
1065
|
-
.description('Internal: Reconcile runtime state after update (called by update command)')
|
|
1066
|
-
.option('-v, --verbose', 'Show detailed output')
|
|
1067
|
-
.action(async (options) => {
|
|
1068
|
-
try {
|
|
1069
|
-
const reconcileResult = reconcileUpdateRuntime({ verbose: options.verbose });
|
|
1070
|
-
if (!reconcileResult.success) {
|
|
1071
|
-
console.error(chalk.red('Reconciliation failed:'));
|
|
1072
|
-
if (reconcileResult.errors) {
|
|
1073
|
-
reconcileResult.errors.forEach(err => console.error(chalk.red(` - ${err}`)));
|
|
1074
|
-
}
|
|
1075
|
-
process.exit(1);
|
|
1076
|
-
}
|
|
1077
|
-
if (options.verbose) {
|
|
1078
|
-
console.log(chalk.green(reconcileResult.message));
|
|
1079
|
-
}
|
|
1080
|
-
}
|
|
1081
|
-
catch (error) {
|
|
1082
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
1083
|
-
console.error(chalk.red(`Reconciliation error: ${message}`));
|
|
1084
|
-
process.exit(1);
|
|
1085
|
-
}
|
|
1086
|
-
});
|
|
1087
|
-
/**
|
|
1088
|
-
* Version command - Show version information
|
|
1089
|
-
*/
|
|
1090
|
-
program
|
|
1091
|
-
.command('version')
|
|
1092
|
-
.description('Show detailed version information')
|
|
1093
|
-
.addHelpText('after', `
|
|
1094
|
-
Examples:
|
|
1095
|
-
$ omc version Show version, install method, and commit hash`)
|
|
1096
|
-
.action(async () => {
|
|
1097
|
-
const installed = getInstalledVersion();
|
|
1098
|
-
console.log(chalk.blue.bold('\nOh-My-ClaudeCode Version Information\n'));
|
|
1099
|
-
console.log(chalk.gray('━'.repeat(50)));
|
|
1100
|
-
console.log(`\n Package version: ${chalk.green(version)}`);
|
|
1101
|
-
if (installed) {
|
|
1102
|
-
console.log(` Installed version: ${chalk.green(installed.version)}`);
|
|
1103
|
-
console.log(` Install method: ${chalk.cyan(installed.installMethod)}`);
|
|
1104
|
-
console.log(` Installed at: ${chalk.gray(installed.installedAt)}`);
|
|
1105
|
-
if (installed.lastCheckAt) {
|
|
1106
|
-
console.log(` Last update check: ${chalk.gray(installed.lastCheckAt)}`);
|
|
1107
|
-
}
|
|
1108
|
-
if (installed.commitHash) {
|
|
1109
|
-
console.log(` Commit hash: ${chalk.gray(installed.commitHash)}`);
|
|
1110
|
-
}
|
|
1111
|
-
}
|
|
1112
|
-
else {
|
|
1113
|
-
console.log(chalk.yellow(' No installation metadata found'));
|
|
1114
|
-
console.log(chalk.gray(' (Run the install script to create version metadata)'));
|
|
1115
|
-
}
|
|
1116
|
-
console.log(chalk.gray('\n━'.repeat(50)));
|
|
1117
|
-
console.log(chalk.gray('\nTo check for updates, run: ultrapower update --check'));
|
|
1118
|
-
});
|
|
1119
|
-
/**
|
|
1120
|
-
* Install command - Install agents and commands to ~/.claude/
|
|
1121
|
-
*/
|
|
1122
|
-
program
|
|
1123
|
-
.command('install')
|
|
1124
|
-
.description('Install Sisyphus agents and commands to Claude Code config (~/.claude/)')
|
|
1125
|
-
.option('-f, --force', 'Overwrite existing files')
|
|
1126
|
-
.option('-q, --quiet', 'Suppress output except for errors')
|
|
1127
|
-
.option('--skip-claude-check', 'Skip checking if Claude Code is installed')
|
|
1128
|
-
.addHelpText('after', `
|
|
1129
|
-
Examples:
|
|
1130
|
-
$ omc install Install to ~/.claude/
|
|
1131
|
-
$ omc install --force Reinstall, overwriting existing files
|
|
1132
|
-
$ omc install --quiet Silent install for scripts`)
|
|
1133
|
-
.action(async (options) => {
|
|
1134
|
-
if (!options.quiet) {
|
|
1135
|
-
console.log(chalk.blue('╔═══════════════════════════════════════════════════════════╗'));
|
|
1136
|
-
console.log(chalk.blue('║ Oh-My-ClaudeCode Installer ║'));
|
|
1137
|
-
console.log(chalk.blue('║ Multi-Agent Orchestration for Claude Code ║'));
|
|
1138
|
-
console.log(chalk.blue('╚═══════════════════════════════════════════════════════════╝'));
|
|
1139
|
-
console.log('');
|
|
1140
|
-
}
|
|
1141
|
-
// Check if already installed
|
|
1142
|
-
if (isInstalled() && !options.force) {
|
|
1143
|
-
const info = getInstallInfo();
|
|
1144
|
-
if (!options.quiet) {
|
|
1145
|
-
console.log(chalk.yellow('Sisyphus is already installed.'));
|
|
1146
|
-
if (info) {
|
|
1147
|
-
console.log(chalk.gray(` Version: ${info.version}`));
|
|
1148
|
-
console.log(chalk.gray(` Installed: ${info.installedAt}`));
|
|
1149
|
-
}
|
|
1150
|
-
console.log(chalk.gray('\nUse --force to reinstall.'));
|
|
1151
|
-
}
|
|
1152
|
-
return;
|
|
1153
|
-
}
|
|
1154
|
-
// Run installation
|
|
1155
|
-
const result = installSisyphus({
|
|
1156
|
-
force: options.force,
|
|
1157
|
-
verbose: !options.quiet,
|
|
1158
|
-
skipClaudeCheck: options.skipClaudeCheck
|
|
1159
|
-
});
|
|
1160
|
-
if (result.success) {
|
|
1161
|
-
if (!options.quiet) {
|
|
1162
|
-
console.log('');
|
|
1163
|
-
console.log(chalk.green('╔═══════════════════════════════════════════════════════════╗'));
|
|
1164
|
-
console.log(chalk.green('║ Installation Complete! ║'));
|
|
1165
|
-
console.log(chalk.green('╚═══════════════════════════════════════════════════════════╝'));
|
|
1166
|
-
console.log('');
|
|
1167
|
-
console.log(chalk.gray(`Installed to: ~/.claude/`));
|
|
1168
|
-
console.log('');
|
|
1169
|
-
console.log(chalk.yellow('Usage:'));
|
|
1170
|
-
console.log(' claude # Start Claude Code normally');
|
|
1171
|
-
console.log('');
|
|
1172
|
-
console.log(chalk.yellow('Slash Commands:'));
|
|
1173
|
-
console.log(' /sisyphus <task> # Activate Sisyphus orchestration mode');
|
|
1174
|
-
console.log(' /sisyphus-default # Configure for current project');
|
|
1175
|
-
console.log(' /sisyphus-default-global # Configure globally');
|
|
1176
|
-
console.log(' /ultrawork <task> # Maximum performance mode');
|
|
1177
|
-
console.log(' /deepsearch <query> # Thorough codebase search');
|
|
1178
|
-
console.log(' /analyze <target> # Deep analysis mode');
|
|
1179
|
-
console.log(' /plan <description> # Start planning with Planner');
|
|
1180
|
-
console.log(' /review [plan-path] # Review plan with Critic');
|
|
1181
|
-
console.log('');
|
|
1182
|
-
console.log(chalk.yellow('Available Agents (via Task tool):'));
|
|
1183
|
-
console.log(chalk.gray(' Base Agents:'));
|
|
1184
|
-
console.log(' architect - Architecture & debugging (Opus)');
|
|
1185
|
-
console.log(' document-specialist - External docs & reference lookup (Sonnet)');
|
|
1186
|
-
console.log(' explore - Fast pattern matching (Haiku)');
|
|
1187
|
-
console.log(' designer - UI/UX specialist (Sonnet)');
|
|
1188
|
-
console.log(' writer - Technical writing (Haiku)');
|
|
1189
|
-
console.log(' vision - Visual analysis (Sonnet)');
|
|
1190
|
-
console.log(' critic - Plan review (Opus)');
|
|
1191
|
-
console.log(' analyst - Pre-planning analysis (Opus)');
|
|
1192
|
-
console.log(' orchestrator-sisyphus - Todo coordination (Opus)');
|
|
1193
|
-
console.log(' executor - Focused execution (Sonnet)');
|
|
1194
|
-
console.log(' planner - Strategic planning (Opus)');
|
|
1195
|
-
console.log(' qa-tester - Interactive CLI testing (Sonnet)');
|
|
1196
|
-
console.log(chalk.gray(' Tiered Variants (for smart routing):'));
|
|
1197
|
-
console.log(' architect-medium - Simpler analysis (Sonnet)');
|
|
1198
|
-
console.log(' architect-low - Quick questions (Haiku)');
|
|
1199
|
-
console.log(' executor-high - Complex tasks (Opus)');
|
|
1200
|
-
console.log(' executor-low - Trivial tasks (Haiku)');
|
|
1201
|
-
console.log(' designer-high - Design systems (Opus)');
|
|
1202
|
-
console.log(' designer-low - Simple styling (Haiku)');
|
|
1203
|
-
console.log('');
|
|
1204
|
-
console.log(chalk.yellow('After Updates:'));
|
|
1205
|
-
console.log(' Run \'/sisyphus-default\' (project) or \'/sisyphus-default-global\' (global)');
|
|
1206
|
-
console.log(' to download the latest CLAUDE.md configuration.');
|
|
1207
|
-
console.log(' This ensures you get the newest features and agent behaviors.');
|
|
1208
|
-
console.log('');
|
|
1209
|
-
console.log(chalk.blue('Quick Start:'));
|
|
1210
|
-
console.log(' 1. Run \'claude\' to start Claude Code');
|
|
1211
|
-
console.log(' 2. Type \'/sisyphus-default\' for project or \'/sisyphus-default-global\' for global');
|
|
1212
|
-
console.log(' 3. Or use \'/sisyphus <task>\' for one-time activation');
|
|
1213
|
-
}
|
|
1214
|
-
}
|
|
1215
|
-
else {
|
|
1216
|
-
console.error(chalk.red(`Installation failed: ${result.message}`));
|
|
1217
|
-
if (result.errors.length > 0) {
|
|
1218
|
-
result.errors.forEach(err => console.error(chalk.red(` - ${err}`)));
|
|
1219
|
-
}
|
|
1220
|
-
console.error(chalk.gray('\nTry "omc install --force" to overwrite existing files.'));
|
|
1221
|
-
console.error(chalk.gray('For more diagnostics, run "omc doctor conflicts".'));
|
|
1222
|
-
process.exit(1);
|
|
1223
|
-
}
|
|
1224
|
-
});
|
|
1225
|
-
/**
|
|
1226
|
-
* Wait command - Rate limit wait and auto-resume
|
|
1227
|
-
*
|
|
1228
|
-
* Zero learning curve design:
|
|
1229
|
-
* - `omc wait` alone shows status and suggests next action
|
|
1230
|
-
* - `omc wait --start` starts the daemon (shortcut)
|
|
1231
|
-
* - `omc wait --stop` stops the daemon (shortcut)
|
|
1232
|
-
* - Subcommands available for power users
|
|
1233
|
-
*/
|
|
1234
|
-
const waitCmd = program
|
|
1235
|
-
.command('wait')
|
|
1236
|
-
.description('Rate limit wait and auto-resume (just run "omc wait" to get started)')
|
|
1237
|
-
.option('--json', 'Output as JSON')
|
|
1238
|
-
.option('--start', 'Start the auto-resume daemon')
|
|
1239
|
-
.option('--stop', 'Stop the auto-resume daemon')
|
|
1240
|
-
.addHelpText('after', `
|
|
1241
|
-
Examples:
|
|
1242
|
-
$ omc wait Show status and suggestions
|
|
1243
|
-
$ omc wait --start Start auto-resume daemon
|
|
1244
|
-
$ omc wait --stop Stop auto-resume daemon
|
|
1245
|
-
$ omc wait status Show detailed rate limit status
|
|
1246
|
-
$ omc wait detect Scan for blocked tmux sessions`)
|
|
1247
|
-
.action(async (options) => {
|
|
1248
|
-
await waitCommand(options);
|
|
1249
|
-
});
|
|
1250
|
-
waitCmd
|
|
1251
|
-
.command('status')
|
|
1252
|
-
.description('Show detailed rate limit and daemon status')
|
|
1253
|
-
.option('--json', 'Output as JSON')
|
|
1254
|
-
.action(async (options) => {
|
|
1255
|
-
await waitStatusCommand(options);
|
|
1256
|
-
});
|
|
1257
|
-
waitCmd
|
|
1258
|
-
.command('daemon <action>')
|
|
1259
|
-
.description('Start or stop the auto-resume daemon')
|
|
1260
|
-
.option('-v, --verbose', 'Enable verbose logging')
|
|
1261
|
-
.option('-f, --foreground', 'Run in foreground (blocking)')
|
|
1262
|
-
.option('-i, --interval <seconds>', 'Poll interval in seconds', '60')
|
|
1263
|
-
.addHelpText('after', `
|
|
1264
|
-
Examples:
|
|
1265
|
-
$ omc wait daemon start Start background daemon
|
|
1266
|
-
$ omc wait daemon stop Stop the daemon
|
|
1267
|
-
$ omc wait daemon start -f Run in foreground`)
|
|
1268
|
-
.action(async (action, options) => {
|
|
1269
|
-
if (action !== 'start' && action !== 'stop') {
|
|
1270
|
-
console.error(chalk.red(`Invalid action "${action}". Valid options: start, stop`));
|
|
1271
|
-
console.error(chalk.gray('Example: omc wait daemon start'));
|
|
1272
|
-
process.exit(1);
|
|
1273
|
-
}
|
|
1274
|
-
await waitDaemonCommand(action, {
|
|
1275
|
-
verbose: options.verbose,
|
|
1276
|
-
foreground: options.foreground,
|
|
1277
|
-
interval: parseInt(options.interval),
|
|
1278
|
-
});
|
|
1279
|
-
});
|
|
1280
|
-
waitCmd
|
|
1281
|
-
.command('detect')
|
|
1282
|
-
.description('Scan for blocked Claude Code sessions in tmux')
|
|
1283
|
-
.option('--json', 'Output as JSON')
|
|
1284
|
-
.option('-l, --lines <number>', 'Number of pane lines to analyze', '15')
|
|
1285
|
-
.action(async (options) => {
|
|
1286
|
-
await waitDetectCommand({
|
|
1287
|
-
json: options.json,
|
|
1288
|
-
lines: parseInt(options.lines),
|
|
1289
|
-
});
|
|
1290
|
-
});
|
|
1291
|
-
/**
|
|
1292
|
-
* Teleport command - Quick worktree creation
|
|
1293
|
-
*
|
|
1294
|
-
* Usage:
|
|
1295
|
-
* - `omc teleport #123` - Create worktree for issue/PR #123
|
|
1296
|
-
* - `omc teleport my-feature` - Create worktree for feature branch
|
|
1297
|
-
* - `omc teleport list` - List existing worktrees
|
|
1298
|
-
* - `omc teleport remove <path>` - Remove a worktree
|
|
1299
|
-
*/
|
|
1300
|
-
const teleportCmd = program
|
|
1301
|
-
.command('teleport [ref]')
|
|
1302
|
-
.description('Create git worktree for isolated development (e.g., omc teleport #123)')
|
|
1303
|
-
.option('--worktree', 'Create worktree (default behavior, flag kept for compatibility)')
|
|
1304
|
-
.option('-p, --path <path>', 'Custom worktree path (default: ~/Workspace/omc-worktrees/)')
|
|
1305
|
-
.option('-b, --base <branch>', 'Base branch to create from (default: main)')
|
|
1306
|
-
.option('--json', 'Output as JSON')
|
|
1307
|
-
.addHelpText('after', `
|
|
1308
|
-
Examples:
|
|
1309
|
-
$ omc teleport #42 Create worktree for issue/PR #42
|
|
1310
|
-
$ omc teleport add-auth Create worktree for a feature branch
|
|
1311
|
-
$ omc teleport list List existing worktrees
|
|
1312
|
-
$ omc teleport remove ./path Remove a worktree`)
|
|
1313
|
-
.action(async (ref, options) => {
|
|
1314
|
-
if (!ref) {
|
|
1315
|
-
// No ref provided, show help
|
|
1316
|
-
console.log(chalk.blue('Teleport - Quick worktree creation\n'));
|
|
1317
|
-
console.log('Usage:');
|
|
1318
|
-
console.log(' omc teleport <ref> Create worktree for issue/PR/feature');
|
|
1319
|
-
console.log(' omc teleport list List existing worktrees');
|
|
1320
|
-
console.log(' omc teleport remove <path> Remove a worktree');
|
|
1321
|
-
console.log('');
|
|
1322
|
-
console.log('Reference formats:');
|
|
1323
|
-
console.log(' #123 Issue/PR in current repo');
|
|
1324
|
-
console.log(' owner/repo#123 Issue/PR in specific repo');
|
|
1325
|
-
console.log(' my-feature Feature branch name');
|
|
1326
|
-
console.log(' https://github.com/... GitHub URL');
|
|
1327
|
-
console.log('');
|
|
1328
|
-
console.log('Examples:');
|
|
1329
|
-
console.log(' omc teleport #42 Create worktree for issue #42');
|
|
1330
|
-
console.log(' omc teleport add-auth Create worktree for feature "add-auth"');
|
|
1331
|
-
console.log('');
|
|
1332
|
-
return;
|
|
1333
|
-
}
|
|
1334
|
-
await teleportCommand(ref, {
|
|
1335
|
-
worktree: true, // Always create worktree
|
|
1336
|
-
worktreePath: options.path,
|
|
1337
|
-
base: options.base,
|
|
1338
|
-
json: options.json,
|
|
1339
|
-
});
|
|
1340
|
-
});
|
|
1341
|
-
teleportCmd
|
|
1342
|
-
.command('list')
|
|
1343
|
-
.description('List existing worktrees in ~/Workspace/omc-worktrees/')
|
|
1344
|
-
.option('--json', 'Output as JSON')
|
|
1345
|
-
.action(async (options) => {
|
|
1346
|
-
await teleportListCommand(options);
|
|
1347
|
-
});
|
|
1348
|
-
teleportCmd
|
|
1349
|
-
.command('remove <path>')
|
|
1350
|
-
.alias('rm')
|
|
1351
|
-
.description('Remove a worktree')
|
|
1352
|
-
.option('-f, --force', 'Force removal even with uncommitted changes')
|
|
1353
|
-
.option('--json', 'Output as JSON')
|
|
1354
|
-
.action(async (path, options) => {
|
|
1355
|
-
await teleportRemoveCommand(path, options);
|
|
1356
|
-
});
|
|
1357
|
-
/**
|
|
1358
|
-
* Doctor command - Diagnostic tools
|
|
1359
|
-
*/
|
|
1360
|
-
const doctorCmd = program
|
|
1361
|
-
.command('doctor')
|
|
1362
|
-
.description('Diagnostic tools for troubleshooting OMC installation')
|
|
1363
|
-
.addHelpText('after', `
|
|
1364
|
-
Examples:
|
|
1365
|
-
$ omc doctor conflicts Check for plugin conflicts`);
|
|
1366
|
-
doctorCmd
|
|
1367
|
-
.command('conflicts')
|
|
1368
|
-
.description('Check for plugin coexistence issues and configuration conflicts')
|
|
1369
|
-
.option('--json', 'Output as JSON')
|
|
1370
|
-
.addHelpText('after', `
|
|
1371
|
-
Examples:
|
|
1372
|
-
$ omc doctor conflicts Check for configuration issues
|
|
1373
|
-
$ omc doctor conflicts --json Output results as JSON`)
|
|
1374
|
-
.action(async (options) => {
|
|
1375
|
-
const exitCode = await doctorConflictsCommand(options);
|
|
1376
|
-
// Version consistency check
|
|
1377
|
-
try {
|
|
1378
|
-
const { checkVersionConsistency } = await import('../lib/plugin-registry.js');
|
|
1379
|
-
const report = checkVersionConsistency();
|
|
1380
|
-
if (!report.consistent && !report.isUpdating) {
|
|
1381
|
-
console.log(chalk.yellow('[WARN] Version drift detected:'));
|
|
1382
|
-
if (report.registryVersion) {
|
|
1383
|
-
console.log(` installed_plugins.json: v${report.registryVersion}`);
|
|
1384
67
|
}
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
}
|
|
1388
|
-
console.log(` package.json: v${report.packageJsonVersion}`);
|
|
1389
|
-
if (report.fixCommand) {
|
|
1390
|
-
console.log(` Fix: ${report.fixCommand}`);
|
|
1391
|
-
}
|
|
1392
|
-
}
|
|
1393
|
-
else if (report.consistent) {
|
|
1394
|
-
console.log(chalk.green('✓ Version consistency: OK'));
|
|
1395
|
-
}
|
|
1396
|
-
}
|
|
1397
|
-
catch {
|
|
1398
|
-
// Non-fatal: version check failure should not affect other doctor checks
|
|
1399
|
-
}
|
|
1400
|
-
process.exit(exitCode);
|
|
1401
|
-
});
|
|
1402
|
-
/**
|
|
1403
|
-
* Setup command - Official CLI entry point for omc-setup
|
|
1404
|
-
*
|
|
1405
|
-
* User-friendly command that syncs all OMC components:
|
|
1406
|
-
* - Installs/updates hooks, agents, and skills
|
|
1407
|
-
* - Reconciles runtime state after updates
|
|
1408
|
-
* - Shows clear summary of what was installed/updated
|
|
1409
|
-
*/
|
|
1410
|
-
program
|
|
1411
|
-
.command('setup')
|
|
1412
|
-
.description('Run OMC setup to sync all components (hooks, agents, skills)')
|
|
1413
|
-
.option('-f, --force', 'Force reinstall even if already up to date')
|
|
1414
|
-
.option('-q, --quiet', 'Suppress output except for errors')
|
|
1415
|
-
.option('--skip-hooks', 'Skip hook installation')
|
|
1416
|
-
.option('--force-hooks', 'Force reinstall hooks even if unchanged')
|
|
1417
|
-
.addHelpText('after', `
|
|
1418
|
-
Examples:
|
|
1419
|
-
$ omc setup Sync all OMC components
|
|
1420
|
-
$ omc setup --force Force reinstall everything
|
|
1421
|
-
$ omc setup --quiet Silent setup for scripts
|
|
1422
|
-
$ omc setup --skip-hooks Install without hooks
|
|
1423
|
-
$ omc setup --force-hooks Force reinstall hooks`)
|
|
1424
|
-
.action(async (options) => {
|
|
1425
|
-
if (!options.quiet) {
|
|
1426
|
-
console.log(chalk.blue('Oh-My-ClaudeCode Setup\n'));
|
|
1427
|
-
}
|
|
1428
|
-
// Step 1: Run installation (which handles hooks, agents, skills)
|
|
1429
|
-
if (!options.quiet) {
|
|
1430
|
-
console.log(chalk.gray('Syncing OMC components...'));
|
|
1431
|
-
}
|
|
1432
|
-
const result = installSisyphus({
|
|
1433
|
-
force: !!options.force,
|
|
1434
|
-
verbose: !options.quiet,
|
|
1435
|
-
skipClaudeCheck: true,
|
|
1436
|
-
forceHooks: !!options.forceHooks,
|
|
1437
|
-
});
|
|
1438
|
-
if (!result.success) {
|
|
1439
|
-
console.error(chalk.red(`Setup failed: ${result.message}`));
|
|
1440
|
-
if (result.errors.length > 0) {
|
|
1441
|
-
result.errors.forEach(err => console.error(chalk.red(` - ${err}`)));
|
|
1442
|
-
}
|
|
1443
|
-
process.exit(1);
|
|
1444
|
-
}
|
|
1445
|
-
// Step 2: Show summary
|
|
1446
|
-
if (!options.quiet) {
|
|
1447
|
-
console.log('');
|
|
1448
|
-
console.log(chalk.green('Setup complete!'));
|
|
1449
|
-
console.log('');
|
|
1450
|
-
if (result.installedAgents.length > 0) {
|
|
1451
|
-
console.log(chalk.gray(` Agents: ${result.installedAgents.length} synced`));
|
|
1452
|
-
}
|
|
1453
|
-
if (result.installedCommands.length > 0) {
|
|
1454
|
-
console.log(chalk.gray(` Commands: ${result.installedCommands.length} synced`));
|
|
1455
|
-
}
|
|
1456
|
-
if (result.installedSkills.length > 0) {
|
|
1457
|
-
console.log(chalk.gray(` Skills: ${result.installedSkills.length} synced`));
|
|
1458
|
-
}
|
|
1459
|
-
if (result.hooksConfigured) {
|
|
1460
|
-
console.log(chalk.gray(' Hooks: configured'));
|
|
1461
|
-
}
|
|
1462
|
-
if (result.hookConflicts.length > 0) {
|
|
1463
|
-
console.log('');
|
|
1464
|
-
console.log(chalk.yellow(' Hook conflicts detected:'));
|
|
1465
|
-
result.hookConflicts.forEach(c => {
|
|
1466
|
-
console.log(chalk.yellow(` - ${c.eventType}: ${c.existingCommand}`));
|
|
1467
|
-
});
|
|
1468
|
-
}
|
|
1469
|
-
console.log('');
|
|
1470
|
-
console.log(chalk.gray(`Version: ${version}`));
|
|
1471
|
-
console.log(chalk.gray('Start Claude Code and use /ultrapower:omc-setup for interactive setup.'));
|
|
1472
|
-
}
|
|
1473
|
-
});
|
|
1474
|
-
/**
|
|
1475
|
-
* Postinstall command - Silent install for npm postinstall hook
|
|
1476
|
-
*/
|
|
1477
|
-
program
|
|
1478
|
-
.command('postinstall', { hidden: true })
|
|
1479
|
-
.description('Run post-install setup (called automatically by npm)')
|
|
1480
|
-
.action(async () => {
|
|
1481
|
-
// Silent install - only show errors
|
|
1482
|
-
const result = installSisyphus({
|
|
1483
|
-
force: false,
|
|
1484
|
-
verbose: false,
|
|
1485
|
-
skipClaudeCheck: true
|
|
1486
|
-
});
|
|
1487
|
-
if (result.success) {
|
|
1488
|
-
console.log(chalk.green('✓ Oh-My-ClaudeCode installed successfully!'));
|
|
1489
|
-
console.log(chalk.gray(' Run "ultrapower info" to see available agents.'));
|
|
1490
|
-
console.log(chalk.yellow(' Run "/sisyphus-default" (project) or "/sisyphus-default-global" (global) in Claude Code.'));
|
|
1491
|
-
}
|
|
1492
|
-
else {
|
|
1493
|
-
// Don't fail the npm install, just warn
|
|
1494
|
-
console.warn(chalk.yellow('⚠ Could not complete Sisyphus setup:'), result.message);
|
|
1495
|
-
console.warn(chalk.gray(' Run "ultrapower install" manually to complete setup.'));
|
|
68
|
+
});
|
|
69
|
+
program.addCommand(stub);
|
|
1496
70
|
}
|
|
1497
|
-
}
|
|
1498
|
-
// Plugin management commands
|
|
1499
|
-
import { pluginCommand } from './commands/plugin.js';
|
|
1500
|
-
program.addCommand(pluginCommand());
|
|
1501
|
-
// Parse arguments
|
|
71
|
+
}
|
|
1502
72
|
program.parse();
|
|
1503
73
|
//# sourceMappingURL=index.js.map
|