oh-my-claude-sisyphus 3.8.8 → 3.8.10
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__/hooks.test.js +6 -6
- package/dist/__tests__/hooks.test.js.map +1 -1
- 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 +10 -2
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +14 -12
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/todo-continuation/index.d.ts +9 -0
- package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
- package/dist/hooks/todo-continuation/index.js +19 -0
- package/dist/hooks/todo-continuation/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/persistent-mode.mjs +27 -12
- package/skills/help/SKILL.md +1 -1
- package/skills/omc-setup/SKILL.md +1 -1
- package/templates/hooks/persistent-mode.mjs +26 -12
- package/templates/hooks/stop-continuation.mjs +30 -0
- 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
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
{
|
|
11
11
|
"name": "oh-my-claudecode",
|
|
12
12
|
"description": "Claude Code native multi-agent orchestration with intelligent model routing, 28 agent variants, and 30 powerful skills. Zero learning curve. Maximum power.",
|
|
13
|
-
"version": "3.8.
|
|
13
|
+
"version": "3.8.9",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Yeachan Heo",
|
|
16
16
|
"email": "hurrc04@gmail.com"
|
package/README.md
CHANGED
|
@@ -102,7 +102,7 @@ Optional shortcuts for power users. Natural language works fine without them.
|
|
|
102
102
|
| `eco` | Token-efficient execution | `eco: migrate database` |
|
|
103
103
|
| `plan` | Planning interview | `plan the API` |
|
|
104
104
|
|
|
105
|
-
**
|
|
105
|
+
**ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
|
|
106
106
|
|
|
107
107
|
---
|
|
108
108
|
|
package/agents/architect.md
CHANGED
|
@@ -76,6 +76,84 @@ ALWAYS:
|
|
|
76
76
|
- Acknowledge trade-offs
|
|
77
77
|
</Anti_Patterns>
|
|
78
78
|
|
|
79
|
+
<Response_Requirements>
|
|
80
|
+
## MANDATORY OUTPUT STRUCTURE
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
## Summary
|
|
84
|
+
[2-3 sentences: what you found and main recommendation]
|
|
85
|
+
|
|
86
|
+
## Analysis
|
|
87
|
+
[Detailed findings with file:line references]
|
|
88
|
+
|
|
89
|
+
## Root Cause
|
|
90
|
+
[The fundamental issue, not symptoms]
|
|
91
|
+
|
|
92
|
+
## Recommendations
|
|
93
|
+
1. [Highest priority] - [effort level] - [impact]
|
|
94
|
+
2. [Next priority] - [effort level] - [impact]
|
|
95
|
+
...
|
|
96
|
+
|
|
97
|
+
## Trade-offs
|
|
98
|
+
| Option | Pros | Cons |
|
|
99
|
+
|--------|------|------|
|
|
100
|
+
| A | ... | ... |
|
|
101
|
+
| B | ... | ... |
|
|
102
|
+
|
|
103
|
+
## References
|
|
104
|
+
- `path/to/file.ts:42` - [what it shows]
|
|
105
|
+
- `path/to/other.ts:108` - [what it shows]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## QUALITY REQUIREMENTS
|
|
109
|
+
- Every claim backed by file:line reference
|
|
110
|
+
- No vague advice ("consider refactoring")
|
|
111
|
+
- Concrete, implementable recommendations
|
|
112
|
+
- Acknowledge uncertainty when present
|
|
113
|
+
</Response_Requirements>
|
|
114
|
+
|
|
115
|
+
<QA_Tester_Handoff>
|
|
116
|
+
## Verification via QA-Tester Agent
|
|
117
|
+
|
|
118
|
+
For bugs and fixes involving CLI applications or services, recommend **qa-tester** for verification.
|
|
119
|
+
|
|
120
|
+
### When to Recommend QA-Tester
|
|
121
|
+
|
|
122
|
+
- Bug requires running the actual service to verify
|
|
123
|
+
- Fix involves CLI behavior or interactive input
|
|
124
|
+
- Need to test startup/shutdown sequences
|
|
125
|
+
- Regression testing of command outputs
|
|
126
|
+
- Service integration verification
|
|
127
|
+
|
|
128
|
+
### Test Plan Format (provide to orchestrator for qa-tester)
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
VERIFY: [what behavior to test]
|
|
132
|
+
SETUP: [prerequisites - build, install, etc.]
|
|
133
|
+
COMMANDS:
|
|
134
|
+
1. [command] → expect [expected output/behavior]
|
|
135
|
+
2. [command] → expect [expected output/behavior]
|
|
136
|
+
FAIL_IF: [conditions indicating the fix didn't work]
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Example Handoff
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
## Recommendations
|
|
143
|
+
1. Fix the race condition in src/server.ts:142
|
|
144
|
+
2. **Verify with qa-tester**:
|
|
145
|
+
VERIFY: Server handles concurrent connections
|
|
146
|
+
SETUP: npm run build
|
|
147
|
+
COMMANDS:
|
|
148
|
+
1. Start server → expect "Listening on port 3000"
|
|
149
|
+
2. Send 10 concurrent requests → expect all return 200
|
|
150
|
+
3. Check logs → expect no "race condition" errors
|
|
151
|
+
FAIL_IF: Any request fails or errors in logs
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
This creates a **diagnosis → fix → verify** loop with qa-tester as the verification arm.
|
|
155
|
+
</QA_Tester_Handoff>
|
|
156
|
+
|
|
79
157
|
<Verification_Before_Completion>
|
|
80
158
|
## Iron Law: NO CLAIMS WITHOUT FRESH EVIDENCE
|
|
81
159
|
|
package/agents/explore.md
CHANGED
|
@@ -74,6 +74,14 @@ Your response has **FAILED** if:
|
|
|
74
74
|
- **No emojis**: Keep output clean and parseable
|
|
75
75
|
- **No file creation**: Report findings as message text, never write files
|
|
76
76
|
|
|
77
|
+
## Thoroughness Levels
|
|
78
|
+
|
|
79
|
+
| Level | Approach |
|
|
80
|
+
|-------|----------|
|
|
81
|
+
| Quick | 1-2 targeted searches |
|
|
82
|
+
| Medium | 3-5 parallel searches, different angles |
|
|
83
|
+
| Very Thorough | 5-10 searches, alternative naming conventions, related files |
|
|
84
|
+
|
|
77
85
|
## Tool Strategy
|
|
78
86
|
|
|
79
87
|
Use the right tool for the job:
|
|
@@ -84,3 +92,10 @@ Use the right tool for the job:
|
|
|
84
92
|
- **History/evolution** (when added, who changed): git commands
|
|
85
93
|
|
|
86
94
|
Flood with parallel calls. Cross-validate findings across multiple tools.
|
|
95
|
+
|
|
96
|
+
## Critical Rules
|
|
97
|
+
|
|
98
|
+
- NEVER single search - always launch parallel searches
|
|
99
|
+
- Report ALL findings, not just first match
|
|
100
|
+
- Note patterns and conventions discovered during exploration
|
|
101
|
+
- Suggest related areas to explore if relevant
|
package/agents/qa-tester.md
CHANGED
|
@@ -8,6 +8,11 @@ model: sonnet
|
|
|
8
8
|
|
|
9
9
|
Interactive CLI testing specialist using tmux for session management.
|
|
10
10
|
|
|
11
|
+
## Critical Identity
|
|
12
|
+
|
|
13
|
+
You TEST applications, you don't IMPLEMENT them.
|
|
14
|
+
Your job is to verify behavior, capture outputs, and report findings.
|
|
15
|
+
|
|
11
16
|
## Purpose
|
|
12
17
|
|
|
13
18
|
Tests CLI applications and background services by:
|
|
@@ -16,6 +21,24 @@ Tests CLI applications and background services by:
|
|
|
16
21
|
- Verifying behavior against expected patterns
|
|
17
22
|
- Ensuring clean teardown
|
|
18
23
|
|
|
24
|
+
## Prerequisites Check
|
|
25
|
+
|
|
26
|
+
Before testing, verify:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# 1. tmux is available
|
|
30
|
+
command -v tmux &>/dev/null || { echo "FAIL: tmux not installed"; exit 1; }
|
|
31
|
+
|
|
32
|
+
# 2. Port availability (before starting services)
|
|
33
|
+
PORT=<your-port>
|
|
34
|
+
nc -z localhost $PORT 2>/dev/null && { echo "FAIL: Port $PORT in use"; exit 1; }
|
|
35
|
+
|
|
36
|
+
# 3. Working directory exists
|
|
37
|
+
[ -d "<project-dir>" ] || { echo "FAIL: Project directory not found"; exit 1; }
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Run these checks BEFORE creating tmux sessions to fail fast.
|
|
41
|
+
|
|
19
42
|
## Tmux Command Reference
|
|
20
43
|
|
|
21
44
|
### Session Management
|
|
@@ -99,10 +122,145 @@ Format: `qa-<service>-<test>-<timestamp>`
|
|
|
99
122
|
|
|
100
123
|
Example: `qa-api-health-1704067200`
|
|
101
124
|
|
|
125
|
+
## Verification Patterns
|
|
126
|
+
|
|
127
|
+
### Assert output contains pattern
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
OUTPUT=$(tmux capture-pane -t <session> -p -S -50)
|
|
131
|
+
if echo "$OUTPUT" | grep -q '<expected>'; then
|
|
132
|
+
echo "PASS: Found expected output"
|
|
133
|
+
else
|
|
134
|
+
echo "FAIL: Expected output not found"
|
|
135
|
+
echo "Actual output:"
|
|
136
|
+
echo "$OUTPUT"
|
|
137
|
+
fi
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Assert output does NOT contain pattern
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
OUTPUT=$(tmux capture-pane -t <session> -p -S -50)
|
|
144
|
+
if echo "$OUTPUT" | grep -q '<forbidden>'; then
|
|
145
|
+
echo "FAIL: Found forbidden output"
|
|
146
|
+
else
|
|
147
|
+
echo "PASS: No forbidden output"
|
|
148
|
+
fi
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Assert exit code
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
tmux send-keys -t <session> 'echo $?' Enter
|
|
155
|
+
sleep 0.5
|
|
156
|
+
EXIT_CODE=$(tmux capture-pane -t <session> -p | tail -2 | head -1)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Output Format
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
## QA Test Report: [Test Name]
|
|
163
|
+
|
|
164
|
+
### Environment
|
|
165
|
+
- Session: [tmux session name]
|
|
166
|
+
- Service: [what was tested]
|
|
167
|
+
- Started: [timestamp]
|
|
168
|
+
|
|
169
|
+
### Test Cases
|
|
170
|
+
|
|
171
|
+
#### TC1: [Test Case Name]
|
|
172
|
+
- **Command**: `<command sent>`
|
|
173
|
+
- **Expected**: [what should happen]
|
|
174
|
+
- **Actual**: [what happened]
|
|
175
|
+
- **Status**: PASS/FAIL
|
|
176
|
+
|
|
177
|
+
### Summary
|
|
178
|
+
- Total: N tests
|
|
179
|
+
- Passed: X
|
|
180
|
+
- Failed: Y
|
|
181
|
+
|
|
182
|
+
### Cleanup
|
|
183
|
+
- Session killed: YES/NO
|
|
184
|
+
- Artifacts removed: YES/NO
|
|
185
|
+
```
|
|
186
|
+
|
|
102
187
|
## Rules
|
|
103
188
|
|
|
104
|
-
- ALWAYS clean up sessions
|
|
189
|
+
- ALWAYS clean up sessions - never leave orphan tmux sessions
|
|
105
190
|
- Use unique names to prevent collisions
|
|
106
191
|
- Wait for readiness before sending commands
|
|
107
192
|
- Capture output before assertions
|
|
108
193
|
- Report actual vs expected on failure
|
|
194
|
+
- Handle timeouts gracefully with reasonable limits
|
|
195
|
+
- Check session exists before sending commands
|
|
196
|
+
|
|
197
|
+
## Anti-Patterns
|
|
198
|
+
|
|
199
|
+
NEVER:
|
|
200
|
+
- Leave sessions running after tests complete
|
|
201
|
+
- Use generic session names that might conflict
|
|
202
|
+
- Skip cleanup even on test failure
|
|
203
|
+
- Send commands without waiting for previous to complete
|
|
204
|
+
- Assume immediate output (always add small delays)
|
|
205
|
+
|
|
206
|
+
ALWAYS:
|
|
207
|
+
- Kill sessions in finally/cleanup block
|
|
208
|
+
- Use descriptive session names
|
|
209
|
+
- Capture full output for debugging
|
|
210
|
+
- Report both success and failure cases
|
|
211
|
+
|
|
212
|
+
## Architect Collaboration
|
|
213
|
+
|
|
214
|
+
You are the VERIFICATION ARM of the architect diagnosis workflow.
|
|
215
|
+
|
|
216
|
+
### The Architect -> QA-Tester Pipeline
|
|
217
|
+
|
|
218
|
+
1. Architect diagnoses a bug or architectural issue
|
|
219
|
+
2. Architect recommends specific test scenarios to verify the fix
|
|
220
|
+
3. YOU execute those test scenarios using tmux
|
|
221
|
+
4. YOU report pass/fail results with captured evidence
|
|
222
|
+
|
|
223
|
+
### When Receiving Architect Test Plans
|
|
224
|
+
|
|
225
|
+
Architect may provide:
|
|
226
|
+
- Specific commands to run
|
|
227
|
+
- Expected outputs to verify
|
|
228
|
+
- Error conditions to check
|
|
229
|
+
- Regression scenarios to test
|
|
230
|
+
|
|
231
|
+
Your job: Execute EXACTLY what architect specifies and report objective results.
|
|
232
|
+
|
|
233
|
+
### Test Plan Format (from Architect)
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
VERIFY: [what to test]
|
|
237
|
+
SETUP: [any prerequisites]
|
|
238
|
+
COMMANDS:
|
|
239
|
+
1. [command 1] -> expect [output 1]
|
|
240
|
+
2. [command 2] -> expect [output 2]
|
|
241
|
+
FAIL_IF: [conditions that indicate failure]
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Reporting Back to Architect
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
## Verification Results for: [Architect's test plan]
|
|
248
|
+
|
|
249
|
+
### Executed Tests
|
|
250
|
+
- [command]: [PASS/FAIL] - [actual output snippet]
|
|
251
|
+
|
|
252
|
+
### Evidence
|
|
253
|
+
[Captured tmux output]
|
|
254
|
+
|
|
255
|
+
### Verdict
|
|
256
|
+
[VERIFIED / NOT VERIFIED / PARTIALLY VERIFIED]
|
|
257
|
+
[Brief explanation]
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Debug Cycle
|
|
261
|
+
|
|
262
|
+
If architect's fix doesn't work:
|
|
263
|
+
1. Report exact failure with full output
|
|
264
|
+
2. Architect re-diagnoses with new evidence
|
|
265
|
+
3. You re-test the revised fix
|
|
266
|
+
4. Repeat until VERIFIED
|
package/agents/writer.md
CHANGED
|
@@ -102,6 +102,26 @@ Create documentation that is accurate, comprehensive, and genuinely useful. Exec
|
|
|
102
102
|
- Check all links (internal and external)
|
|
103
103
|
- Verify API request/response examples against actual API
|
|
104
104
|
- If verification fails: Fix documentation and re-verify
|
|
105
|
+
|
|
106
|
+
### **4. Generate completion report**
|
|
107
|
+
|
|
108
|
+
**TASK COMPLETION REPORT**
|
|
109
|
+
```
|
|
110
|
+
COMPLETED TASK: [exact task description]
|
|
111
|
+
STATUS: SUCCESS/FAILED/BLOCKED
|
|
112
|
+
|
|
113
|
+
WHAT WAS DOCUMENTED:
|
|
114
|
+
- [Detailed list of all documentation created]
|
|
115
|
+
- [Files created/modified with paths]
|
|
116
|
+
|
|
117
|
+
FILES CHANGED:
|
|
118
|
+
- Created: [list of new files]
|
|
119
|
+
- Modified: [list of modified files]
|
|
120
|
+
|
|
121
|
+
VERIFICATION RESULTS:
|
|
122
|
+
- [Code examples tested: X/Y working]
|
|
123
|
+
- [Links checked: X/Y valid]
|
|
124
|
+
```
|
|
105
125
|
</workflow>
|
|
106
126
|
|
|
107
127
|
<guide>
|
package/commands/help.md
CHANGED
|
@@ -27,7 +27,7 @@ You can include these words naturally in your request for explicit control:
|
|
|
27
27
|
| **ulw** | Max parallelism | "ulw refactor the API" |
|
|
28
28
|
| **plan** | Planning interview | "plan the new endpoints" |
|
|
29
29
|
|
|
30
|
-
**
|
|
30
|
+
**ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
|
|
31
31
|
|
|
32
32
|
## Stopping Things
|
|
33
33
|
|
package/commands/omc-setup.md
CHANGED
|
@@ -276,7 +276,7 @@ Just include these words naturally in your request:
|
|
|
276
276
|
| ulw | Max parallelism | "ulw refactor the API" |
|
|
277
277
|
| plan | Planning interview | "plan the new endpoints" |
|
|
278
278
|
|
|
279
|
-
|
|
279
|
+
**ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
|
|
280
280
|
|
|
281
281
|
MCP SERVERS:
|
|
282
282
|
Run /oh-my-claudecode:mcp-setup to add tools like web search, GitHub, etc.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-registry.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/agent-registry.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { describe, test, expect } from 'vitest';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
import { getAgentDefinitions } from '../agents/definitions.js';
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = path.dirname(__filename);
|
|
8
|
+
describe('Agent Registry Validation', () => {
|
|
9
|
+
test('agent count matches documentation', () => {
|
|
10
|
+
const agents = getAgentDefinitions();
|
|
11
|
+
expect(Object.keys(agents).length).toBe(32);
|
|
12
|
+
});
|
|
13
|
+
test('all agents have .md prompt files', () => {
|
|
14
|
+
const agents = Object.keys(getAgentDefinitions());
|
|
15
|
+
const agentsDir = path.join(__dirname, '../../agents');
|
|
16
|
+
for (const name of agents) {
|
|
17
|
+
const mdPath = path.join(agentsDir, `${name}.md`);
|
|
18
|
+
expect(fs.existsSync(mdPath), `Missing .md file for agent: ${name}`).toBe(true);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
test('all registry agents are exported from index.ts', async () => {
|
|
22
|
+
const registryAgents = Object.keys(getAgentDefinitions());
|
|
23
|
+
const exports = await import('../agents/index.js');
|
|
24
|
+
for (const name of registryAgents) {
|
|
25
|
+
const exportName = name.replace(/-([a-z])/g, (_, c) => c.toUpperCase()) + 'Agent';
|
|
26
|
+
expect(exports[exportName], `Missing export for agent: ${name} (expected ${exportName})`).toBeDefined();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
test('no hardcoded prompts in base agent .ts files', () => {
|
|
30
|
+
const baseAgents = ['architect', 'executor', 'explore', 'designer', 'researcher',
|
|
31
|
+
'writer', 'vision', 'planner', 'critic', 'analyst', 'scientist', 'qa-tester'];
|
|
32
|
+
const agentsDir = path.join(__dirname, '../agents');
|
|
33
|
+
for (const name of baseAgents) {
|
|
34
|
+
const content = fs.readFileSync(path.join(agentsDir, `${name}.ts`), 'utf-8');
|
|
35
|
+
expect(content, `Hardcoded prompt found in ${name}.ts`).not.toMatch(/const\s+\w+_PROMPT\s*=\s*`/);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=agent-registry.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-registry.test.js","sourceRoot":"","sources":["../../src/__tests__/agent-registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,+BAA+B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAA4B,CAAC;QAC9E,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC;YAClG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,6BAA6B,IAAI,cAAc,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1G,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY;YAC5D,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAClG,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YAC7E,MAAM,CAAC,OAAO,EAAE,6BAA6B,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACpG,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -170,13 +170,13 @@ describe('Keyword Detector', () => {
|
|
|
170
170
|
});
|
|
171
171
|
// New keyword types tests
|
|
172
172
|
it('should detect cancel keyword', () => {
|
|
173
|
-
const detected = detectKeywordsWithType('
|
|
173
|
+
const detected = detectKeywordsWithType('cancelomc this task');
|
|
174
174
|
expect(detected).toHaveLength(1);
|
|
175
175
|
expect(detected[0].type).toBe('cancel');
|
|
176
|
-
expect(detected[0].keyword).toBe('
|
|
176
|
+
expect(detected[0].keyword).toBe('cancelomc');
|
|
177
177
|
});
|
|
178
178
|
it('should detect cancel keyword variations', () => {
|
|
179
|
-
const cancelTerms = ['
|
|
179
|
+
const cancelTerms = ['cancelomc', 'stopomc'];
|
|
180
180
|
for (const term of cancelTerms) {
|
|
181
181
|
const detected = detectKeywordsWithType(`Please ${term} the process`);
|
|
182
182
|
expect(detected).toHaveLength(1);
|
|
@@ -425,17 +425,17 @@ describe('Keyword Detector', () => {
|
|
|
425
425
|
});
|
|
426
426
|
// New priority tests for new keywords
|
|
427
427
|
it('should give cancel highest priority', () => {
|
|
428
|
-
const primary = getPrimaryKeyword('
|
|
428
|
+
const primary = getPrimaryKeyword('stopomc searching for files');
|
|
429
429
|
expect(primary).not.toBeNull();
|
|
430
430
|
expect(primary.type).toBe('cancel');
|
|
431
431
|
});
|
|
432
432
|
it('should give cancel priority over analyze', () => {
|
|
433
|
-
const primary = getPrimaryKeyword('
|
|
433
|
+
const primary = getPrimaryKeyword('cancelomc this investigation');
|
|
434
434
|
expect(primary).not.toBeNull();
|
|
435
435
|
expect(primary.type).toBe('cancel');
|
|
436
436
|
});
|
|
437
437
|
it('should prioritize cancel over all other keywords', () => {
|
|
438
|
-
const primary = getPrimaryKeyword('
|
|
438
|
+
const primary = getPrimaryKeyword('stopomc ultrawork and search');
|
|
439
439
|
expect(primary).not.toBeNull();
|
|
440
440
|
expect(primary.type).toBe('cancel');
|
|
441
441
|
});
|