oh-my-claude-sisyphus 3.8.9 → 3.8.11
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 +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/agents/architect.md +78 -0
- package/agents/explore.md +15 -0
- package/agents/qa-tester.md +159 -1
- package/agents/writer.md +20 -0
- package/commands/help.md +1 -1
- package/commands/omc-setup.md +1 -1
- package/dist/__tests__/agent-registry.test.d.ts +2 -0
- package/dist/__tests__/agent-registry.test.d.ts.map +1 -0
- package/dist/__tests__/agent-registry.test.js +39 -0
- package/dist/__tests__/agent-registry.test.js.map +1 -0
- package/dist/__tests__/load-agent-prompt.test.d.ts +2 -0
- package/dist/__tests__/load-agent-prompt.test.d.ts.map +1 -0
- package/dist/__tests__/load-agent-prompt.test.js +68 -0
- package/dist/__tests__/load-agent-prompt.test.js.map +1 -0
- package/dist/__tests__/model-routing.test.js +5 -34
- package/dist/__tests__/model-routing.test.js.map +1 -1
- package/dist/agents/analyst.d.ts.map +1 -1
- package/dist/agents/analyst.js +2 -77
- package/dist/agents/analyst.js.map +1 -1
- package/dist/agents/architect.d.ts.map +1 -1
- package/dist/agents/architect.js +3 -148
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/coordinator-deprecated.d.ts +18 -0
- package/dist/agents/coordinator-deprecated.d.ts.map +1 -0
- package/dist/agents/coordinator-deprecated.js +34 -0
- package/dist/agents/coordinator-deprecated.js.map +1 -0
- package/dist/agents/critic.d.ts.map +1 -1
- package/dist/agents/critic.js +2 -90
- package/dist/agents/critic.js.map +1 -1
- package/dist/agents/definitions.d.ts +2 -0
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +3 -32
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/designer.d.ts.map +1 -1
- package/dist/agents/designer.js +2 -73
- package/dist/agents/designer.js.map +1 -1
- package/dist/agents/executor.d.ts +1 -0
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +3 -56
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/explore.d.ts.map +1 -1
- package/dist/agents/explore.js +2 -64
- package/dist/agents/explore.js.map +1 -1
- package/dist/agents/index.d.ts +4 -3
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +6 -3
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +2 -157
- package/dist/agents/planner.js.map +1 -1
- package/dist/agents/qa-tester.d.ts.map +1 -1
- package/dist/agents/qa-tester.js +2 -324
- package/dist/agents/qa-tester.js.map +1 -1
- package/dist/agents/researcher.d.ts.map +1 -1
- package/dist/agents/researcher.js +2 -65
- package/dist/agents/researcher.js.map +1 -1
- package/dist/agents/scientist.d.ts.map +1 -1
- package/dist/agents/scientist.js +2 -293
- package/dist/agents/scientist.js.map +1 -1
- package/dist/agents/utils.d.ts +7 -0
- package/dist/agents/utils.d.ts.map +1 -1
- package/dist/agents/utils.js +50 -0
- package/dist/agents/utils.js.map +1 -1
- package/dist/agents/vision.d.ts.map +1 -1
- package/dist/agents/vision.js +2 -32
- package/dist/agents/vision.js.map +1 -1
- package/dist/agents/writer.d.ts.map +1 -1
- package/dist/agents/writer.js +2 -171
- package/dist/agents/writer.js.map +1 -1
- package/dist/cli/analytics.js +0 -0
- package/dist/cli/index.js +0 -0
- package/dist/features/model-routing/index.d.ts +1 -1
- package/dist/features/model-routing/index.d.ts.map +1 -1
- package/dist/features/model-routing/index.js +1 -1
- package/dist/features/model-routing/index.js.map +1 -1
- package/dist/features/model-routing/router.d.ts +1 -15
- package/dist/features/model-routing/router.d.ts.map +1 -1
- package/dist/features/model-routing/router.js +2 -33
- package/dist/features/model-routing/router.js.map +1 -1
- package/dist/features/model-routing/rules.d.ts.map +1 -1
- package/dist/features/model-routing/rules.js +0 -8
- package/dist/features/model-routing/rules.js.map +1 -1
- package/dist/features/model-routing/types.d.ts +1 -2
- package/dist/features/model-routing/types.d.ts.map +1 -1
- package/dist/features/model-routing/types.js +2 -6
- package/dist/features/model-routing/types.js.map +1 -1
- package/dist/features/task-decomposer/index.d.ts +1 -1
- package/dist/features/task-decomposer/index.d.ts.map +1 -1
- package/dist/features/task-decomposer/index.js +5 -8
- package/dist/features/task-decomposer/index.js.map +1 -1
- package/dist/features/task-decomposer/types.d.ts +4 -4
- package/dist/features/task-decomposer/types.d.ts.map +1 -1
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +56 -49
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.js +89 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
- package/dist/hooks/keyword-detector/index.d.ts +5 -1
- package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
- package/dist/hooks/keyword-detector/index.js +32 -11
- package/dist/hooks/keyword-detector/index.js.map +1 -1
- package/dist/hooks/ultrapilot/decomposer.d.ts +1 -1
- package/dist/hooks/ultrapilot/decomposer.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/docs/CLAUDE.md +44 -4
- package/docs/FEATURES.md +1 -1
- package/docs/MIGRATION.md +5 -5
- package/docs/REFERENCE.md +6 -2
- package/package.json +1 -1
- package/scripts/keyword-detector.mjs +140 -59
- package/skills/help/SKILL.md +1 -1
- package/skills/omc-setup/SKILL.md +1 -1
- package/templates/hooks/keyword-detector.mjs +280 -118
- package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
- package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
- package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
- package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
- package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
- package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
- package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
- package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
- package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
- package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
- package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
- package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
- package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
- package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
- package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/config.test.js +0 -37
- package/dist/__tests__/learned-skills/config.test.js.map +0 -1
- package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/detector.test.js +0 -99
- package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
- package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/finder.test.js +0 -59
- package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
- package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/loader.test.js +0 -69
- package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
- package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/parser.test.js +0 -81
- package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
- package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
- package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
- package/dist/__tests__/learned-skills/validator.test.js +0 -85
- package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
- package/dist/agents/codex-agents.d.ts +0 -20
- package/dist/agents/codex-agents.d.ts.map +0 -1
- package/dist/agents/codex-agents.js +0 -36
- package/dist/agents/codex-agents.js.map +0 -1
- package/dist/agents/coordinator.d.ts +0 -11
- package/dist/agents/coordinator.d.ts.map +0 -1
- package/dist/agents/coordinator.js +0 -115
- package/dist/agents/coordinator.js.map +0 -1
- package/dist/agents/document-writer.d.ts +0 -11
- package/dist/agents/document-writer.d.ts.map +0 -1
- package/dist/agents/document-writer.js +0 -209
- package/dist/agents/document-writer.js.map +0 -1
- package/dist/agents/frontend-engineer.d.ts +0 -11
- package/dist/agents/frontend-engineer.d.ts.map +0 -1
- package/dist/agents/frontend-engineer.js +0 -115
- package/dist/agents/frontend-engineer.js.map +0 -1
- package/dist/agents/librarian.d.ts +0 -12
- package/dist/agents/librarian.d.ts.map +0 -1
- package/dist/agents/librarian.js +0 -103
- package/dist/agents/librarian.js.map +0 -1
- package/dist/agents/metis.d.ts +0 -12
- package/dist/agents/metis.d.ts.map +0 -1
- package/dist/agents/metis.js +0 -117
- package/dist/agents/metis.js.map +0 -1
- package/dist/agents/momus.d.ts +0 -12
- package/dist/agents/momus.d.ts.map +0 -1
- package/dist/agents/momus.js +0 -128
- package/dist/agents/momus.js.map +0 -1
- package/dist/agents/multimodal-looker.d.ts +0 -11
- package/dist/agents/multimodal-looker.d.ts.map +0 -1
- package/dist/agents/multimodal-looker.js +0 -70
- package/dist/agents/multimodal-looker.js.map +0 -1
- package/dist/agents/oracle.d.ts +0 -13
- package/dist/agents/oracle.d.ts.map +0 -1
- package/dist/agents/oracle.js +0 -191
- package/dist/agents/oracle.js.map +0 -1
- package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
- package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
- package/dist/agents/orchestrator-sisyphus.js +0 -115
- package/dist/agents/orchestrator-sisyphus.js.map +0 -1
- package/dist/agents/prometheus.d.ts +0 -12
- package/dist/agents/prometheus.d.ts.map +0 -1
- package/dist/agents/prometheus.js +0 -195
- package/dist/agents/prometheus.js.map +0 -1
- package/dist/agents/sisyphus-junior.d.ts +0 -12
- package/dist/agents/sisyphus-junior.d.ts.map +0 -1
- package/dist/agents/sisyphus-junior.js +0 -93
- package/dist/agents/sisyphus-junior.js.map +0 -1
- package/dist/cli/components/CostDashboard.d.ts +0 -15
- package/dist/cli/components/CostDashboard.d.ts.map +0 -1
- package/dist/cli/components/CostDashboard.js +0 -15
- package/dist/cli/components/CostDashboard.js.map +0 -1
- package/dist/cli/components/LiveStats.d.ts +0 -16
- package/dist/cli/components/LiveStats.d.ts.map +0 -1
- package/dist/cli/components/LiveStats.js +0 -16
- package/dist/cli/components/LiveStats.js.map +0 -1
- package/dist/cli/components/SessionBrowser.d.ts +0 -14
- package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
- package/dist/cli/components/SessionBrowser.js +0 -14
- package/dist/cli/components/SessionBrowser.js.map +0 -1
- package/dist/cli/tui.d.ts +0 -21
- package/dist/cli/tui.d.ts.map +0 -1
- package/dist/cli/tui.js +0 -21
- package/dist/cli/tui.js.map +0 -1
- package/dist/hooks/autopilot/signals.d.ts +0 -20
- package/dist/hooks/autopilot/signals.d.ts.map +0 -1
- package/dist/hooks/autopilot/signals.js +0 -75
- package/dist/hooks/autopilot/signals.js.map +0 -1
- package/dist/hooks/autopilot/summary.d.ts +0 -27
- package/dist/hooks/autopilot/summary.d.ts.map +0 -1
- package/dist/hooks/autopilot/summary.js +0 -160
- package/dist/hooks/autopilot/summary.js.map +0 -1
- package/dist/hooks/autopilot/transition.d.ts +0 -39
- package/dist/hooks/autopilot/transition.d.ts.map +0 -1
- package/dist/hooks/autopilot/transition.js +0 -216
- package/dist/hooks/autopilot/transition.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
- package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
- package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
- package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/index.js +0 -201
- package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
- package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
- package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
- package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
- package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
- package/dist/hooks/context-window-limit-recovery/types.js +0 -34
- package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
- package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
- package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
- package/dist/hooks/edit-error-recovery/index.js +0 -89
- package/dist/hooks/edit-error-recovery/index.js.map +0 -1
- package/dist/hooks/github-auto-responder/classifier.d.ts +0 -43
- package/dist/hooks/github-auto-responder/classifier.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/classifier.js +0 -150
- package/dist/hooks/github-auto-responder/classifier.js.map +0 -1
- package/dist/hooks/github-auto-responder/config.d.ts +0 -109
- package/dist/hooks/github-auto-responder/config.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/config.js +0 -69
- package/dist/hooks/github-auto-responder/config.js.map +0 -1
- package/dist/hooks/github-auto-responder/constants.d.ts +0 -45
- package/dist/hooks/github-auto-responder/constants.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/constants.js +0 -60
- package/dist/hooks/github-auto-responder/constants.js.map +0 -1
- package/dist/hooks/github-auto-responder/filters.d.ts +0 -95
- package/dist/hooks/github-auto-responder/filters.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/filters.js +0 -174
- package/dist/hooks/github-auto-responder/filters.js.map +0 -1
- package/dist/hooks/github-auto-responder/github-client.d.ts +0 -65
- package/dist/hooks/github-auto-responder/github-client.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/github-client.js +0 -128
- package/dist/hooks/github-auto-responder/github-client.js.map +0 -1
- package/dist/hooks/github-auto-responder/idempotency.d.ts +0 -68
- package/dist/hooks/github-auto-responder/idempotency.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/idempotency.js +0 -147
- package/dist/hooks/github-auto-responder/idempotency.js.map +0 -1
- package/dist/hooks/github-auto-responder/index.d.ts +0 -140
- package/dist/hooks/github-auto-responder/index.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/index.js +0 -145
- package/dist/hooks/github-auto-responder/index.js.map +0 -1
- package/dist/hooks/github-auto-responder/persona.d.ts +0 -40
- package/dist/hooks/github-auto-responder/persona.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/persona.js +0 -99
- package/dist/hooks/github-auto-responder/persona.js.map +0 -1
- package/dist/hooks/github-auto-responder/responder.d.ts +0 -122
- package/dist/hooks/github-auto-responder/responder.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/responder.js +0 -264
- package/dist/hooks/github-auto-responder/responder.js.map +0 -1
- package/dist/hooks/github-auto-responder/server.d.ts +0 -140
- package/dist/hooks/github-auto-responder/server.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/server.js +0 -301
- package/dist/hooks/github-auto-responder/server.js.map +0 -1
- package/dist/hooks/github-auto-responder/signature.d.ts +0 -34
- package/dist/hooks/github-auto-responder/signature.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/signature.js +0 -79
- package/dist/hooks/github-auto-responder/signature.js.map +0 -1
- package/dist/hooks/github-auto-responder/templates.d.ts +0 -16
- package/dist/hooks/github-auto-responder/templates.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/templates.js +0 -93
- package/dist/hooks/github-auto-responder/templates.js.map +0 -1
- package/dist/hooks/github-auto-responder/types.d.ts +0 -246
- package/dist/hooks/github-auto-responder/types.d.ts.map +0 -1
- package/dist/hooks/github-auto-responder/types.js +0 -7
- package/dist/hooks/github-auto-responder/types.js.map +0 -1
- package/dist/hooks/learned-skills/config.d.ts +0 -53
- package/dist/hooks/learned-skills/config.d.ts.map +0 -1
- package/dist/hooks/learned-skills/config.js +0 -103
- package/dist/hooks/learned-skills/config.js.map +0 -1
- package/dist/hooks/learned-skills/constants.d.ts +0 -24
- package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
- package/dist/hooks/learned-skills/constants.js +0 -26
- package/dist/hooks/learned-skills/constants.js.map +0 -1
- package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
- package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
- package/dist/hooks/learned-skills/detection-hook.js +0 -83
- package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
- package/dist/hooks/learned-skills/detector.d.ts +0 -30
- package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
- package/dist/hooks/learned-skills/detector.js +0 -150
- package/dist/hooks/learned-skills/detector.js.map +0 -1
- package/dist/hooks/learned-skills/finder.d.ts +0 -21
- package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
- package/dist/hooks/learned-skills/finder.js +0 -117
- package/dist/hooks/learned-skills/finder.js.map +0 -1
- package/dist/hooks/learned-skills/index.d.ts +0 -62
- package/dist/hooks/learned-skills/index.d.ts.map +0 -1
- package/dist/hooks/learned-skills/index.js +0 -137
- package/dist/hooks/learned-skills/index.js.map +0 -1
- package/dist/hooks/learned-skills/loader.d.ts +0 -20
- package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
- package/dist/hooks/learned-skills/loader.js +0 -107
- package/dist/hooks/learned-skills/loader.js.map +0 -1
- package/dist/hooks/learned-skills/parser.d.ts +0 -21
- package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
- package/dist/hooks/learned-skills/parser.js +0 -190
- package/dist/hooks/learned-skills/parser.js.map +0 -1
- package/dist/hooks/learned-skills/promotion.d.ts +0 -29
- package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
- package/dist/hooks/learned-skills/promotion.js +0 -87
- package/dist/hooks/learned-skills/promotion.js.map +0 -1
- package/dist/hooks/learned-skills/types.d.ts +0 -109
- package/dist/hooks/learned-skills/types.d.ts.map +0 -1
- package/dist/hooks/learned-skills/types.js +0 -8
- package/dist/hooks/learned-skills/types.js.map +0 -1
- package/dist/hooks/learned-skills/validator.d.ts +0 -15
- package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
- package/dist/hooks/learned-skills/validator.js +0 -87
- package/dist/hooks/learned-skills/validator.js.map +0 -1
- package/dist/hooks/learned-skills/writer.d.ts +0 -27
- package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
- package/dist/hooks/learned-skills/writer.js +0 -126
- package/dist/hooks/learned-skills/writer.js.map +0 -1
- package/dist/hooks/mnemosyne/config.d.ts +0 -53
- package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/config.js +0 -103
- package/dist/hooks/mnemosyne/config.js.map +0 -1
- package/dist/hooks/mnemosyne/constants.d.ts +0 -24
- package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/constants.js +0 -26
- package/dist/hooks/mnemosyne/constants.js.map +0 -1
- package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
- package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/detection-hook.js +0 -83
- package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
- package/dist/hooks/mnemosyne/detector.d.ts +0 -30
- package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/detector.js +0 -150
- package/dist/hooks/mnemosyne/detector.js.map +0 -1
- package/dist/hooks/mnemosyne/finder.d.ts +0 -21
- package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/finder.js +0 -117
- package/dist/hooks/mnemosyne/finder.js.map +0 -1
- package/dist/hooks/mnemosyne/index.d.ts +0 -62
- package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/index.js +0 -137
- package/dist/hooks/mnemosyne/index.js.map +0 -1
- package/dist/hooks/mnemosyne/loader.d.ts +0 -20
- package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/loader.js +0 -113
- package/dist/hooks/mnemosyne/loader.js.map +0 -1
- package/dist/hooks/mnemosyne/parser.d.ts +0 -21
- package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/parser.js +0 -190
- package/dist/hooks/mnemosyne/parser.js.map +0 -1
- package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
- package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/promotion.js +0 -87
- package/dist/hooks/mnemosyne/promotion.js.map +0 -1
- package/dist/hooks/mnemosyne/types.d.ts +0 -109
- package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/types.js +0 -8
- package/dist/hooks/mnemosyne/types.js.map +0 -1
- package/dist/hooks/mnemosyne/validator.d.ts +0 -15
- package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/validator.js +0 -87
- package/dist/hooks/mnemosyne/validator.js.map +0 -1
- package/dist/hooks/mnemosyne/writer.d.ts +0 -27
- package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
- package/dist/hooks/mnemosyne/writer.js +0 -126
- package/dist/hooks/mnemosyne/writer.js.map +0 -1
- package/dist/hooks/ralph-loop/index.d.ts +0 -116
- package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
- package/dist/hooks/ralph-loop/index.js +0 -322
- package/dist/hooks/ralph-loop/index.js.map +0 -1
- package/dist/hooks/ralph-prd/index.d.ts +0 -130
- package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
- package/dist/hooks/ralph-prd/index.js +0 -310
- package/dist/hooks/ralph-prd/index.js.map +0 -1
- package/dist/hooks/ralph-progress/index.d.ts +0 -102
- package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
- package/dist/hooks/ralph-progress/index.js +0 -408
- package/dist/hooks/ralph-progress/index.js.map +0 -1
- package/dist/hooks/ralph-verifier/index.d.ts +0 -72
- package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
- package/dist/hooks/ralph-verifier/index.js +0 -223
- package/dist/hooks/ralph-verifier/index.js.map +0 -1
- package/dist/hooks/session-recovery/constants.d.ts +0 -56
- package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
- package/dist/hooks/session-recovery/constants.js +0 -78
- package/dist/hooks/session-recovery/constants.js.map +0 -1
- package/dist/hooks/session-recovery/index.d.ts +0 -53
- package/dist/hooks/session-recovery/index.d.ts.map +0 -1
- package/dist/hooks/session-recovery/index.js +0 -321
- package/dist/hooks/session-recovery/index.js.map +0 -1
- package/dist/hooks/session-recovery/storage.d.ts +0 -76
- package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
- package/dist/hooks/session-recovery/storage.js +0 -383
- package/dist/hooks/session-recovery/storage.js.map +0 -1
- package/dist/hooks/session-recovery/types.d.ts +0 -145
- package/dist/hooks/session-recovery/types.d.ts.map +0 -1
- package/dist/hooks/session-recovery/types.js +0 -8
- package/dist/hooks/session-recovery/types.js.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
- package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
- package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
- package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
- package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
- package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
- package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
- package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
- package/dist/hooks/ultraqa-loop/index.js +0 -216
- package/dist/hooks/ultraqa-loop/index.js.map +0 -1
- package/dist/hooks/ultrawork-state/index.d.ts +0 -62
- package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
- package/dist/hooks/ultrawork-state/index.js +0 -208
- package/dist/hooks/ultrawork-state/index.js.map +0 -1
- package/dist/hud/sisyphus-state.d.ts +0 -31
- package/dist/hud/sisyphus-state.d.ts.map +0 -1
- package/dist/hud/sisyphus-state.js +0 -163
- package/dist/hud/sisyphus-state.js.map +0 -1
- package/dist/mcp/standalone-server.cjs +0 -19135
|
@@ -1,43 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// OMC Keyword Detector Hook (Node.js)
|
|
3
|
-
// Detects ultrawork/ultrathink/search/analyze keywords and injects enhanced mode messages
|
|
4
|
-
// Cross-platform: Windows, macOS, Linux
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- NO Premature Stopping - ALL TODOs must be complete
|
|
33
|
-
- NO TEST DELETION - fix code, not tests
|
|
34
|
-
|
|
35
|
-
THE USER ASKED FOR X. DELIVER EXACTLY X.
|
|
36
|
-
|
|
37
|
-
</ultrawork-mode>
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
`;
|
|
3
|
+
/**
|
|
4
|
+
* OMC Keyword Detector Hook (Node.js)
|
|
5
|
+
* Detects magic keywords and invokes skill tools
|
|
6
|
+
* Cross-platform: Windows, macOS, Linux
|
|
7
|
+
*
|
|
8
|
+
* Supported keywords (in priority order):
|
|
9
|
+
* 1. cancelomc/stopomc: Stop active modes
|
|
10
|
+
* 2. ralph: Persistence mode until task completion
|
|
11
|
+
* 3. autopilot: Full autonomous execution
|
|
12
|
+
* 4. ultrapilot: Parallel autopilot
|
|
13
|
+
* 5. ultrawork/ulw: Maximum parallel execution
|
|
14
|
+
* 6. ecomode/eco: Token-efficient execution
|
|
15
|
+
* 7. swarm: N coordinated agents
|
|
16
|
+
* 8. pipeline: Sequential agent chaining
|
|
17
|
+
* 9. ralplan: Iterative planning with consensus
|
|
18
|
+
* 10. plan: Planning interview mode
|
|
19
|
+
* 11. tdd: Test-driven development
|
|
20
|
+
* 12. research: Research orchestration
|
|
21
|
+
* 13. ultrathink/think: Extended reasoning
|
|
22
|
+
* 14. deepsearch: Codebase search (restricted patterns)
|
|
23
|
+
* 15. analyze: Analysis mode (restricted patterns)
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import { writeFileSync, mkdirSync, existsSync, unlinkSync } from 'fs';
|
|
27
|
+
import { join } from 'path';
|
|
28
|
+
import { homedir } from 'os';
|
|
41
29
|
|
|
42
30
|
const ULTRATHINK_MESSAGE = `<think-mode>
|
|
43
31
|
|
|
@@ -56,34 +44,6 @@ Use your extended thinking capabilities to provide the most thorough and well-re
|
|
|
56
44
|
---
|
|
57
45
|
`;
|
|
58
46
|
|
|
59
|
-
const SEARCH_MESSAGE = `<search-mode>
|
|
60
|
-
MAXIMIZE SEARCH EFFORT. Launch multiple background agents IN PARALLEL:
|
|
61
|
-
- explore agents (codebase patterns, file structures)
|
|
62
|
-
- librarian agents (remote repos, official docs, GitHub examples)
|
|
63
|
-
Plus direct tools: Grep, Glob
|
|
64
|
-
NEVER stop at first result - be exhaustive.
|
|
65
|
-
</search-mode>
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
`;
|
|
69
|
-
|
|
70
|
-
const ANALYZE_MESSAGE = `<analyze-mode>
|
|
71
|
-
ANALYSIS MODE. Gather context before diving deep:
|
|
72
|
-
|
|
73
|
-
CONTEXT GATHERING (parallel):
|
|
74
|
-
- 1-2 explore agents (codebase patterns, implementations)
|
|
75
|
-
- 1-2 librarian agents (if external library involved)
|
|
76
|
-
- Direct tools: Grep, Glob, LSP for targeted searches
|
|
77
|
-
|
|
78
|
-
IF COMPLEX (architecture, multi-system, debugging after 2+ failures):
|
|
79
|
-
- Consult oracle agent for strategic guidance
|
|
80
|
-
|
|
81
|
-
SYNTHESIZE findings before proceeding.
|
|
82
|
-
</analyze-mode>
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
`;
|
|
86
|
-
|
|
87
47
|
// Read all stdin
|
|
88
48
|
async function readStdin() {
|
|
89
49
|
const chunks = [];
|
|
@@ -120,12 +80,8 @@ function removeCodeBlocks(text) {
|
|
|
120
80
|
.replace(/`[^`]+`/g, '');
|
|
121
81
|
}
|
|
122
82
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
import { homedir } from 'os';
|
|
126
|
-
|
|
127
|
-
// Create ultrawork state file
|
|
128
|
-
function activateUltraworkState(directory, prompt) {
|
|
83
|
+
// Create state file for a mode
|
|
84
|
+
function activateState(directory, prompt, stateName) {
|
|
129
85
|
const state = {
|
|
130
86
|
active: true,
|
|
131
87
|
started_at: new Date().toISOString(),
|
|
@@ -133,12 +89,121 @@ function activateUltraworkState(directory, prompt) {
|
|
|
133
89
|
reinforcement_count: 0,
|
|
134
90
|
last_checked_at: new Date().toISOString()
|
|
135
91
|
};
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
92
|
+
|
|
93
|
+
// Write to local .omc/state directory
|
|
94
|
+
const localDir = join(directory, '.omc', 'state');
|
|
95
|
+
if (!existsSync(localDir)) {
|
|
96
|
+
try { mkdirSync(localDir, { recursive: true }); } catch {}
|
|
97
|
+
}
|
|
98
|
+
try { writeFileSync(join(localDir, `${stateName}-state.json`), JSON.stringify(state, null, 2)); } catch {}
|
|
99
|
+
|
|
100
|
+
// Write to global .omc/state directory
|
|
101
|
+
const globalDir = join(homedir(), '.omc', 'state');
|
|
102
|
+
if (!existsSync(globalDir)) {
|
|
103
|
+
try { mkdirSync(globalDir, { recursive: true }); } catch {}
|
|
104
|
+
}
|
|
105
|
+
try { writeFileSync(join(globalDir, `${stateName}-state.json`), JSON.stringify(state, null, 2)); } catch {}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Clear state files for cancel operation
|
|
110
|
+
*/
|
|
111
|
+
function clearStateFiles(directory, modeNames) {
|
|
112
|
+
for (const name of modeNames) {
|
|
113
|
+
const localPath = join(directory, '.omc', 'state', `${name}-state.json`);
|
|
114
|
+
const globalPath = join(homedir(), '.omc', 'state', `${name}-state.json`);
|
|
115
|
+
try { if (existsSync(localPath)) unlinkSync(localPath); } catch {}
|
|
116
|
+
try { if (existsSync(globalPath)) unlinkSync(globalPath); } catch {}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Create a skill invocation message that tells Claude to use the Skill tool
|
|
122
|
+
*/
|
|
123
|
+
function createSkillInvocation(skillName, originalPrompt, args = '') {
|
|
124
|
+
const argsSection = args ? `\nArguments: ${args}` : '';
|
|
125
|
+
return `[MAGIC KEYWORD: ${skillName.toUpperCase()}]
|
|
126
|
+
|
|
127
|
+
You MUST invoke the skill using the Skill tool:
|
|
128
|
+
|
|
129
|
+
Skill: oh-my-claudecode:${skillName}${argsSection}
|
|
130
|
+
|
|
131
|
+
User request:
|
|
132
|
+
${originalPrompt}
|
|
133
|
+
|
|
134
|
+
IMPORTANT: Invoke the skill IMMEDIATELY. Do not proceed without loading the skill instructions.`;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Create multi-skill invocation message for combined keywords
|
|
139
|
+
*/
|
|
140
|
+
function createMultiSkillInvocation(skills, originalPrompt) {
|
|
141
|
+
if (skills.length === 0) return '';
|
|
142
|
+
if (skills.length === 1) {
|
|
143
|
+
return createSkillInvocation(skills[0].name, originalPrompt, skills[0].args);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const skillBlocks = skills.map((s, i) => {
|
|
147
|
+
const argsSection = s.args ? `\nArguments: ${s.args}` : '';
|
|
148
|
+
return `### Skill ${i + 1}: ${s.name.toUpperCase()}
|
|
149
|
+
Skill: oh-my-claudecode:${s.name}${argsSection}`;
|
|
150
|
+
}).join('\n\n');
|
|
151
|
+
|
|
152
|
+
return `[MAGIC KEYWORDS DETECTED: ${skills.map(s => s.name.toUpperCase()).join(', ')}]
|
|
153
|
+
|
|
154
|
+
You MUST invoke ALL of the following skills using the Skill tool, in order:
|
|
155
|
+
|
|
156
|
+
${skillBlocks}
|
|
157
|
+
|
|
158
|
+
User request:
|
|
159
|
+
${originalPrompt}
|
|
160
|
+
|
|
161
|
+
IMPORTANT: Invoke ALL skills listed above. Start with the first skill IMMEDIATELY. After it completes, invoke the next skill in order. Do not skip any skill.`;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Resolve conflicts between detected keywords
|
|
166
|
+
*/
|
|
167
|
+
function resolveConflicts(matches) {
|
|
168
|
+
const names = matches.map(m => m.name);
|
|
169
|
+
|
|
170
|
+
// Cancel is exclusive
|
|
171
|
+
if (names.includes('cancel')) {
|
|
172
|
+
return [matches.find(m => m.name === 'cancel')];
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
let resolved = [...matches];
|
|
176
|
+
|
|
177
|
+
// Ecomode beats ultrawork
|
|
178
|
+
if (names.includes('ecomode') && names.includes('ultrawork')) {
|
|
179
|
+
resolved = resolved.filter(m => m.name !== 'ultrawork');
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Ultrapilot beats autopilot
|
|
183
|
+
if (names.includes('ultrapilot') && names.includes('autopilot')) {
|
|
184
|
+
resolved = resolved.filter(m => m.name !== 'autopilot');
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Sort by priority order
|
|
188
|
+
const priorityOrder = ['cancel','ralph','autopilot','ultrapilot','ultrawork','ecomode',
|
|
189
|
+
'swarm','pipeline','ralplan','plan','tdd','research','ultrathink','deepsearch','analyze'];
|
|
190
|
+
resolved.sort((a, b) => priorityOrder.indexOf(a.name) - priorityOrder.indexOf(b.name));
|
|
191
|
+
|
|
192
|
+
return resolved;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Create proper hook output with additionalContext (Claude Code hooks API)
|
|
197
|
+
* The 'message' field is NOT a valid hook output - use hookSpecificOutput.additionalContext
|
|
198
|
+
*/
|
|
199
|
+
function createHookOutput(additionalContext) {
|
|
200
|
+
return {
|
|
201
|
+
continue: true,
|
|
202
|
+
hookSpecificOutput: {
|
|
203
|
+
hookEventName: 'UserPromptSubmit',
|
|
204
|
+
additionalContext
|
|
205
|
+
}
|
|
206
|
+
};
|
|
142
207
|
}
|
|
143
208
|
|
|
144
209
|
// Main
|
|
@@ -162,57 +227,154 @@ async function main() {
|
|
|
162
227
|
|
|
163
228
|
const cleanPrompt = removeCodeBlocks(prompt).toLowerCase();
|
|
164
229
|
|
|
165
|
-
//
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
230
|
+
// Collect all matching keywords
|
|
231
|
+
const matches = [];
|
|
232
|
+
|
|
233
|
+
// Cancel keywords
|
|
234
|
+
if (/\b(cancelomc|stopomc)\b/i.test(cleanPrompt)) {
|
|
235
|
+
matches.push({ name: 'cancel', args: '' });
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// Ralph keywords
|
|
239
|
+
if (/\b(ralph|don't stop|must complete|until done)\b/i.test(cleanPrompt)) {
|
|
240
|
+
matches.push({ name: 'ralph', args: '' });
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// Autopilot keywords
|
|
244
|
+
if (/\b(autopilot|auto pilot|auto-pilot|autonomous|full auto|fullsend)\b/i.test(cleanPrompt) ||
|
|
245
|
+
/\bbuild\s+me\s+/i.test(cleanPrompt) ||
|
|
246
|
+
/\bcreate\s+me\s+/i.test(cleanPrompt) ||
|
|
247
|
+
/\bmake\s+me\s+/i.test(cleanPrompt) ||
|
|
248
|
+
/\bi\s+want\s+a\s+/i.test(cleanPrompt) ||
|
|
249
|
+
/\bi\s+want\s+an\s+/i.test(cleanPrompt) ||
|
|
250
|
+
/\bhandle\s+it\s+all\b/i.test(cleanPrompt) ||
|
|
251
|
+
/\bend\s+to\s+end\b/i.test(cleanPrompt) ||
|
|
252
|
+
/\be2e\s+this\b/i.test(cleanPrompt)) {
|
|
253
|
+
matches.push({ name: 'autopilot', args: '' });
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Ultrapilot keywords
|
|
257
|
+
if (/\b(ultrapilot|ultra-pilot)\b/i.test(cleanPrompt) ||
|
|
258
|
+
/\bparallel\s+build\b/i.test(cleanPrompt) ||
|
|
259
|
+
/\bswarm\s+build\b/i.test(cleanPrompt)) {
|
|
260
|
+
matches.push({ name: 'ultrapilot', args: '' });
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// Ultrawork keywords
|
|
264
|
+
if (/\b(ultrawork|ulw|uw)\b/i.test(cleanPrompt)) {
|
|
265
|
+
matches.push({ name: 'ultrawork', args: '' });
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// Ecomode keywords
|
|
269
|
+
if (/\b(eco|ecomode|eco-mode|efficient|save-tokens|budget)\b/i.test(cleanPrompt)) {
|
|
270
|
+
matches.push({ name: 'ecomode', args: '' });
|
|
176
271
|
}
|
|
177
272
|
|
|
178
|
-
//
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
273
|
+
// Swarm - parse N from "swarm N agents"
|
|
274
|
+
const swarmMatch = cleanPrompt.match(/\bswarm\s+(\d+)\s+agents?\b/i);
|
|
275
|
+
if (swarmMatch || /\bcoordinated\s+agents\b/i.test(cleanPrompt)) {
|
|
276
|
+
const agentCount = swarmMatch ? swarmMatch[1] : '3';
|
|
277
|
+
matches.push({ name: 'swarm', args: agentCount });
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// Pipeline keywords
|
|
281
|
+
if (/\b(pipeline)\b/i.test(cleanPrompt) || /\bchain\s+agents\b/i.test(cleanPrompt)) {
|
|
282
|
+
matches.push({ name: 'pipeline', args: '' });
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// Ralplan keyword
|
|
286
|
+
if (/\b(ralplan)\b/i.test(cleanPrompt)) {
|
|
287
|
+
matches.push({ name: 'ralplan', args: '' });
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// Plan keywords
|
|
291
|
+
if (/\b(plan this|plan the)\b/i.test(cleanPrompt)) {
|
|
292
|
+
matches.push({ name: 'plan', args: '' });
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// TDD keywords
|
|
296
|
+
if (/\b(tdd)\b/i.test(cleanPrompt) ||
|
|
297
|
+
/\btest\s+first\b/i.test(cleanPrompt) ||
|
|
298
|
+
/\bred\s+green\b/i.test(cleanPrompt)) {
|
|
299
|
+
matches.push({ name: 'tdd', args: '' });
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
// Research keywords
|
|
303
|
+
if (/\b(research)\b/i.test(cleanPrompt) ||
|
|
304
|
+
/\banalyze\s+data\b/i.test(cleanPrompt) ||
|
|
305
|
+
/\bstatistics\b/i.test(cleanPrompt)) {
|
|
306
|
+
matches.push({ name: 'research', args: '' });
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
// Ultrathink keywords
|
|
310
|
+
if (/\b(ultrathink|think hard|think deeply)\b/i.test(cleanPrompt)) {
|
|
311
|
+
matches.push({ name: 'ultrathink', args: '' });
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
// Deepsearch keywords
|
|
315
|
+
if (/\b(deepsearch)\b/i.test(cleanPrompt) ||
|
|
316
|
+
/\bsearch\s+(the\s+)?(codebase|code|files?|project)\b/i.test(cleanPrompt) ||
|
|
317
|
+
/\bfind\s+(in\s+)?(codebase|code|all\s+files?)\b/i.test(cleanPrompt)) {
|
|
318
|
+
matches.push({ name: 'deepsearch', args: '' });
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// Analyze keywords
|
|
322
|
+
if (/\b(deep\s*analyze)\b/i.test(cleanPrompt) ||
|
|
323
|
+
/\binvestigate\s+(the|this|why)\b/i.test(cleanPrompt) ||
|
|
324
|
+
/\bdebug\s+(the|this|why)\b/i.test(cleanPrompt)) {
|
|
325
|
+
matches.push({ name: 'analyze', args: '' });
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
// No matches - pass through
|
|
329
|
+
if (matches.length === 0) {
|
|
330
|
+
console.log(JSON.stringify({ continue: true }));
|
|
187
331
|
return;
|
|
188
332
|
}
|
|
189
333
|
|
|
190
|
-
//
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
}));
|
|
334
|
+
// Resolve conflicts
|
|
335
|
+
const resolved = resolveConflicts(matches);
|
|
336
|
+
|
|
337
|
+
// Handle cancel specially - clear states and emit
|
|
338
|
+
if (resolved.length > 0 && resolved[0].name === 'cancel') {
|
|
339
|
+
clearStateFiles(directory, ['ralph', 'autopilot', 'ultrapilot', 'ultrawork', 'ecomode', 'swarm', 'pipeline']);
|
|
340
|
+
console.log(JSON.stringify(createHookOutput(createSkillInvocation('cancel', prompt))));
|
|
199
341
|
return;
|
|
200
342
|
}
|
|
201
343
|
|
|
202
|
-
//
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
344
|
+
// Activate states for modes that need them
|
|
345
|
+
const stateModes = resolved.filter(m => ['ralph', 'autopilot', 'ultrapilot', 'ultrawork', 'ecomode'].includes(m.name));
|
|
346
|
+
for (const mode of stateModes) {
|
|
347
|
+
activateState(directory, prompt, mode.name);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// Special: Ralph with ultrawork (only if ecomode NOT present)
|
|
351
|
+
const hasRalph = resolved.some(m => m.name === 'ralph');
|
|
352
|
+
const hasEcomode = resolved.some(m => m.name === 'ecomode');
|
|
353
|
+
const hasUltrawork = resolved.some(m => m.name === 'ultrawork');
|
|
354
|
+
if (hasRalph && !hasEcomode && !hasUltrawork) {
|
|
355
|
+
activateState(directory, prompt, 'ultrawork');
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// Handle ultrathink specially - prepend message instead of skill invocation
|
|
359
|
+
const ultrathinkIndex = resolved.findIndex(m => m.name === 'ultrathink');
|
|
360
|
+
if (ultrathinkIndex !== -1) {
|
|
361
|
+
// Remove ultrathink from skill list
|
|
362
|
+
resolved.splice(ultrathinkIndex, 1);
|
|
363
|
+
|
|
364
|
+
// If ultrathink was the only match, emit message
|
|
365
|
+
if (resolved.length === 0) {
|
|
366
|
+
console.log(JSON.stringify(createHookOutput(ULTRATHINK_MESSAGE)));
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// Otherwise, prepend ultrathink message to skill invocation
|
|
371
|
+
const skillMessage = createMultiSkillInvocation(resolved, prompt);
|
|
372
|
+
console.log(JSON.stringify(createHookOutput(ULTRATHINK_MESSAGE + skillMessage)));
|
|
211
373
|
return;
|
|
212
374
|
}
|
|
213
375
|
|
|
214
|
-
//
|
|
215
|
-
console.log(JSON.stringify(
|
|
376
|
+
// Emit skill invocation(s)
|
|
377
|
+
console.log(JSON.stringify(createHookOutput(createMultiSkillInvocation(resolved, prompt))));
|
|
216
378
|
} catch (error) {
|
|
217
379
|
// On any error, allow continuation
|
|
218
380
|
console.log(JSON.stringify({ continue: true }));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-summary.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/analytics/analytics-summary.test.ts"],"names":[],"mappings":""}
|