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,59 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { mkdirSync, writeFileSync, rmSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { tmpdir } from 'os';
|
|
5
|
-
import { findSkillFiles, getSkillsDir, ensureSkillsDir } from '../../hooks/learned-skills/finder.js';
|
|
6
|
-
describe('Skill Finder', () => {
|
|
7
|
-
let testDir;
|
|
8
|
-
let projectRoot;
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
testDir = join(tmpdir(), `skill-test-${Date.now()}`);
|
|
11
|
-
projectRoot = join(testDir, 'project');
|
|
12
|
-
mkdirSync(join(projectRoot, '.sisyphus', 'skills'), { recursive: true });
|
|
13
|
-
});
|
|
14
|
-
afterEach(() => {
|
|
15
|
-
rmSync(testDir, { recursive: true, force: true });
|
|
16
|
-
});
|
|
17
|
-
it('should find project-level skills', () => {
|
|
18
|
-
const skillPath = join(projectRoot, '.sisyphus', 'skills', 'test-skill.md');
|
|
19
|
-
writeFileSync(skillPath, '# Test Skill');
|
|
20
|
-
const candidates = findSkillFiles(projectRoot);
|
|
21
|
-
expect(candidates.length).toBe(1);
|
|
22
|
-
expect(candidates[0].scope).toBe('project');
|
|
23
|
-
expect(candidates[0].path).toBe(skillPath);
|
|
24
|
-
});
|
|
25
|
-
it('should prioritize project skills over user skills', () => {
|
|
26
|
-
// Create project skill
|
|
27
|
-
const projectSkillPath = join(projectRoot, '.sisyphus', 'skills', 'skill.md');
|
|
28
|
-
writeFileSync(projectSkillPath, '# Project Skill');
|
|
29
|
-
const candidates = findSkillFiles(projectRoot);
|
|
30
|
-
// Project skill should come first
|
|
31
|
-
const projectSkill = candidates.find(c => c.scope === 'project');
|
|
32
|
-
expect(projectSkill).toBeDefined();
|
|
33
|
-
});
|
|
34
|
-
it('should handle missing directories gracefully', () => {
|
|
35
|
-
const emptyProject = join(testDir, 'empty');
|
|
36
|
-
mkdirSync(emptyProject);
|
|
37
|
-
const candidates = findSkillFiles(emptyProject);
|
|
38
|
-
// Should return empty array, not throw
|
|
39
|
-
expect(Array.isArray(candidates)).toBe(true);
|
|
40
|
-
});
|
|
41
|
-
it('should get skills directory for user scope', () => {
|
|
42
|
-
const userDir = getSkillsDir('user');
|
|
43
|
-
expect(userDir).toContain('.claude');
|
|
44
|
-
expect(userDir).toContain('sisyphus-learned');
|
|
45
|
-
});
|
|
46
|
-
it('should get skills directory for project scope', () => {
|
|
47
|
-
const projectDir = getSkillsDir('project', projectRoot);
|
|
48
|
-
expect(projectDir).toContain('.sisyphus');
|
|
49
|
-
expect(projectDir).toContain('skills');
|
|
50
|
-
});
|
|
51
|
-
it('should throw for project scope without root', () => {
|
|
52
|
-
expect(() => getSkillsDir('project')).toThrow();
|
|
53
|
-
});
|
|
54
|
-
it('should ensure skills directory exists', () => {
|
|
55
|
-
const result = ensureSkillsDir('project', projectRoot);
|
|
56
|
-
expect(result).toBe(true);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
//# sourceMappingURL=finder.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"finder.test.js","sourceRoot":"","sources":["../../../src/__tests__/learned-skills/finder.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/learned-skills/loader.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { mkdirSync, writeFileSync, rmSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { tmpdir } from 'os';
|
|
5
|
-
import { loadAllSkills, findMatchingSkills } from '../../hooks/learned-skills/loader.js';
|
|
6
|
-
describe('Skill Loader', () => {
|
|
7
|
-
let testDir;
|
|
8
|
-
let projectRoot;
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
testDir = join(tmpdir(), `skill-loader-test-${Date.now()}`);
|
|
11
|
-
projectRoot = join(testDir, 'project');
|
|
12
|
-
mkdirSync(join(projectRoot, '.sisyphus', 'skills'), { recursive: true });
|
|
13
|
-
});
|
|
14
|
-
afterEach(() => {
|
|
15
|
-
rmSync(testDir, { recursive: true, force: true });
|
|
16
|
-
});
|
|
17
|
-
const createSkillFile = (name, metadata) => {
|
|
18
|
-
const content = `---
|
|
19
|
-
id: "${metadata.id || name}"
|
|
20
|
-
name: "${metadata.name || name}"
|
|
21
|
-
description: "${metadata.description || 'Test skill'}"
|
|
22
|
-
source: ${metadata.source || 'manual'}
|
|
23
|
-
createdAt: "2024-01-19T12:00:00Z"
|
|
24
|
-
triggers:
|
|
25
|
-
${(metadata.triggers || ['test']).map(t => ` - "${t}"`).join('\n')}
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
# ${name}
|
|
29
|
-
|
|
30
|
-
Test content for ${name}.
|
|
31
|
-
`;
|
|
32
|
-
const skillPath = join(projectRoot, '.sisyphus', 'skills', `${name}.md`);
|
|
33
|
-
writeFileSync(skillPath, content);
|
|
34
|
-
return skillPath;
|
|
35
|
-
};
|
|
36
|
-
it('should load all valid skills', () => {
|
|
37
|
-
createSkillFile('skill-a', { triggers: ['alpha'] });
|
|
38
|
-
createSkillFile('skill-b', { triggers: ['beta'] });
|
|
39
|
-
const skills = loadAllSkills(projectRoot);
|
|
40
|
-
expect(skills.length).toBe(2);
|
|
41
|
-
});
|
|
42
|
-
it('should find matching skills by trigger', () => {
|
|
43
|
-
createSkillFile('react-skill', { triggers: ['react', 'component'] });
|
|
44
|
-
createSkillFile('python-skill', { triggers: ['python', 'django'] });
|
|
45
|
-
const matches = findMatchingSkills('How do I create a React component?', projectRoot);
|
|
46
|
-
expect(matches.length).toBe(1);
|
|
47
|
-
expect(matches[0].metadata.id).toBe('react-skill');
|
|
48
|
-
});
|
|
49
|
-
it('should return empty array when no triggers match', () => {
|
|
50
|
-
createSkillFile('react-skill', { triggers: ['react'] });
|
|
51
|
-
const matches = findMatchingSkills('How do I use Rust?', projectRoot);
|
|
52
|
-
expect(matches.length).toBe(0);
|
|
53
|
-
});
|
|
54
|
-
it('should limit results to specified count', () => {
|
|
55
|
-
createSkillFile('skill-1', { triggers: ['test'] });
|
|
56
|
-
createSkillFile('skill-2', { triggers: ['test'] });
|
|
57
|
-
createSkillFile('skill-3', { triggers: ['test'] });
|
|
58
|
-
const matches = findMatchingSkills('This is a test message', projectRoot, 2);
|
|
59
|
-
expect(matches.length).toBeLessThanOrEqual(2);
|
|
60
|
-
});
|
|
61
|
-
it('should boost by quality score', () => {
|
|
62
|
-
createSkillFile('low-quality', { triggers: ['test'], quality: 30 });
|
|
63
|
-
createSkillFile('high-quality', { triggers: ['test'], quality: 90 });
|
|
64
|
-
const matches = findMatchingSkills('test', projectRoot);
|
|
65
|
-
// High quality should be first
|
|
66
|
-
expect(matches[0].metadata.id).toBe('high-quality');
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
//# sourceMappingURL=loader.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.test.js","sourceRoot":"","sources":["../../../src/__tests__/learned-skills/loader.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/learned-skills/parser.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { parseSkillFile, generateSkillFrontmatter } from '../../hooks/learned-skills/parser.js';
|
|
3
|
-
describe('Skill Parser', () => {
|
|
4
|
-
it('should parse valid skill frontmatter', () => {
|
|
5
|
-
const content = `---
|
|
6
|
-
id: "test-skill-001"
|
|
7
|
-
name: "Test Skill"
|
|
8
|
-
description: "A test skill"
|
|
9
|
-
source: extracted
|
|
10
|
-
createdAt: "2024-01-19T12:00:00Z"
|
|
11
|
-
triggers:
|
|
12
|
-
- "test"
|
|
13
|
-
- "demo"
|
|
14
|
-
tags:
|
|
15
|
-
- "testing"
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# Test Skill Content
|
|
19
|
-
|
|
20
|
-
This is the skill content.
|
|
21
|
-
`;
|
|
22
|
-
const result = parseSkillFile(content);
|
|
23
|
-
expect(result.valid).toBe(true);
|
|
24
|
-
expect(result.metadata.id).toBe('test-skill-001');
|
|
25
|
-
expect(result.metadata.name).toBe('Test Skill');
|
|
26
|
-
expect(result.metadata.triggers).toEqual(['test', 'demo']);
|
|
27
|
-
expect(result.content).toContain('Test Skill Content');
|
|
28
|
-
});
|
|
29
|
-
it('should reject skill without required fields', () => {
|
|
30
|
-
const content = `---
|
|
31
|
-
name: "Incomplete Skill"
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
Content without required fields.
|
|
35
|
-
`;
|
|
36
|
-
const result = parseSkillFile(content);
|
|
37
|
-
expect(result.valid).toBe(false);
|
|
38
|
-
expect(result.errors).toContain('Missing required field: id');
|
|
39
|
-
expect(result.errors).toContain('Missing required field: triggers');
|
|
40
|
-
});
|
|
41
|
-
it('should generate valid frontmatter', () => {
|
|
42
|
-
const metadata = {
|
|
43
|
-
id: 'gen-skill-001',
|
|
44
|
-
name: 'Generated Skill',
|
|
45
|
-
description: 'A generated skill',
|
|
46
|
-
source: 'extracted',
|
|
47
|
-
createdAt: '2024-01-19T12:00:00Z',
|
|
48
|
-
triggers: ['generate', 'create'],
|
|
49
|
-
tags: ['automation'],
|
|
50
|
-
};
|
|
51
|
-
const frontmatter = generateSkillFrontmatter(metadata);
|
|
52
|
-
expect(frontmatter).toContain('id: "gen-skill-001"');
|
|
53
|
-
expect(frontmatter).toContain('triggers:');
|
|
54
|
-
expect(frontmatter).toContain(' - "generate"');
|
|
55
|
-
});
|
|
56
|
-
it('should reject content without frontmatter', () => {
|
|
57
|
-
const content = `# Just content
|
|
58
|
-
|
|
59
|
-
No frontmatter here.
|
|
60
|
-
`;
|
|
61
|
-
const result = parseSkillFile(content);
|
|
62
|
-
expect(result.valid).toBe(false);
|
|
63
|
-
expect(result.errors).toContain('Missing YAML frontmatter');
|
|
64
|
-
});
|
|
65
|
-
it('should handle inline array triggers', () => {
|
|
66
|
-
const content = `---
|
|
67
|
-
id: "inline-array"
|
|
68
|
-
name: "Inline Array Skill"
|
|
69
|
-
description: "Test inline arrays"
|
|
70
|
-
source: manual
|
|
71
|
-
triggers: ["alpha", "beta", "gamma"]
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
Content
|
|
75
|
-
`;
|
|
76
|
-
const result = parseSkillFile(content);
|
|
77
|
-
expect(result.valid).toBe(true);
|
|
78
|
-
expect(result.metadata.triggers).toEqual(['alpha', 'beta', 'gamma']);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
//# sourceMappingURL=parser.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../src/__tests__/learned-skills/parser.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/learned-skills/validator.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { validateExtractionRequest, validateSkillMetadata } from '../../hooks/learned-skills/validator.js';
|
|
3
|
-
describe('Skill Validator', () => {
|
|
4
|
-
describe('validateExtractionRequest', () => {
|
|
5
|
-
it('should pass valid extraction request', () => {
|
|
6
|
-
const request = {
|
|
7
|
-
problem: 'How to handle React state updates correctly',
|
|
8
|
-
solution: 'Use the functional form of setState when the new state depends on the previous state. This ensures you always have the latest state value.',
|
|
9
|
-
triggers: ['react', 'state', 'setState'],
|
|
10
|
-
targetScope: 'user',
|
|
11
|
-
};
|
|
12
|
-
const result = validateExtractionRequest(request);
|
|
13
|
-
expect(result.valid).toBe(true);
|
|
14
|
-
expect(result.score).toBeGreaterThanOrEqual(50);
|
|
15
|
-
});
|
|
16
|
-
it('should fail with missing problem', () => {
|
|
17
|
-
const request = {
|
|
18
|
-
problem: '',
|
|
19
|
-
solution: 'Use functional setState for dependent updates',
|
|
20
|
-
triggers: ['react'],
|
|
21
|
-
targetScope: 'user',
|
|
22
|
-
};
|
|
23
|
-
const result = validateExtractionRequest(request);
|
|
24
|
-
expect(result.valid).toBe(false);
|
|
25
|
-
expect(result.missingFields).toContain('problem (minimum 10 characters)');
|
|
26
|
-
});
|
|
27
|
-
it('should warn about generic triggers', () => {
|
|
28
|
-
const request = {
|
|
29
|
-
problem: 'How to handle data correctly',
|
|
30
|
-
solution: 'Always validate and sanitize input data before processing',
|
|
31
|
-
triggers: ['the', 'data', 'this'],
|
|
32
|
-
targetScope: 'user',
|
|
33
|
-
};
|
|
34
|
-
const result = validateExtractionRequest(request);
|
|
35
|
-
expect(result.warnings.length).toBeGreaterThan(0);
|
|
36
|
-
expect(result.warnings.some(w => w.includes('Generic triggers'))).toBe(true);
|
|
37
|
-
});
|
|
38
|
-
it('should fail with short solution', () => {
|
|
39
|
-
const request = {
|
|
40
|
-
problem: 'Valid problem statement here',
|
|
41
|
-
solution: 'Too short',
|
|
42
|
-
triggers: ['test'],
|
|
43
|
-
targetScope: 'user',
|
|
44
|
-
};
|
|
45
|
-
const result = validateExtractionRequest(request);
|
|
46
|
-
expect(result.valid).toBe(false);
|
|
47
|
-
expect(result.missingFields).toContain('solution (minimum 20 characters)');
|
|
48
|
-
});
|
|
49
|
-
it('should fail with empty triggers', () => {
|
|
50
|
-
const request = {
|
|
51
|
-
problem: 'Valid problem statement here',
|
|
52
|
-
solution: 'Valid solution that is long enough',
|
|
53
|
-
triggers: [],
|
|
54
|
-
targetScope: 'user',
|
|
55
|
-
};
|
|
56
|
-
const result = validateExtractionRequest(request);
|
|
57
|
-
expect(result.valid).toBe(false);
|
|
58
|
-
expect(result.missingFields).toContain('triggers (at least one required)');
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
describe('validateSkillMetadata', () => {
|
|
62
|
-
it('should pass valid metadata', () => {
|
|
63
|
-
const metadata = {
|
|
64
|
-
id: 'skill-001',
|
|
65
|
-
name: 'Test Skill',
|
|
66
|
-
description: 'A test skill',
|
|
67
|
-
source: 'extracted',
|
|
68
|
-
triggers: ['test'],
|
|
69
|
-
createdAt: '2024-01-19T12:00:00Z',
|
|
70
|
-
};
|
|
71
|
-
const result = validateSkillMetadata(metadata);
|
|
72
|
-
expect(result.valid).toBe(true);
|
|
73
|
-
});
|
|
74
|
-
it('should fail with missing required fields', () => {
|
|
75
|
-
const metadata = {
|
|
76
|
-
name: 'Incomplete',
|
|
77
|
-
};
|
|
78
|
-
const result = validateSkillMetadata(metadata);
|
|
79
|
-
expect(result.valid).toBe(false);
|
|
80
|
-
expect(result.missingFields).toContain('id');
|
|
81
|
-
expect(result.missingFields).toContain('triggers');
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
//# sourceMappingURL=validator.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.test.js","sourceRoot":"","sources":["../../../src/__tests__/learned-skills/validator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codex Agent Definitions
|
|
3
|
-
* These agents route through the execute_codex MCP tool instead of Claude
|
|
4
|
-
*/
|
|
5
|
-
export interface CodexAgentDefinition {
|
|
6
|
-
name: string;
|
|
7
|
-
description: string;
|
|
8
|
-
systemPrompt?: string;
|
|
9
|
-
model: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const CODEX_AGENTS: Record<string, CodexAgentDefinition>;
|
|
12
|
-
/**
|
|
13
|
-
* Check if an agent type should be routed through Codex
|
|
14
|
-
*/
|
|
15
|
-
export declare function isCodexAgent(agentType: string): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Get the Codex agent definition
|
|
18
|
-
*/
|
|
19
|
-
export declare function getCodexAgent(agentType: string): CodexAgentDefinition | undefined;
|
|
20
|
-
//# sourceMappingURL=codex-agents.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex-agents.d.ts","sourceRoot":"","sources":["../../src/agents/codex-agents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAkB7D,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAGjF"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codex Agent Definitions
|
|
3
|
-
* These agents route through the execute_codex MCP tool instead of Claude
|
|
4
|
-
*/
|
|
5
|
-
export const CODEX_AGENTS = {
|
|
6
|
-
'architect-codex': {
|
|
7
|
-
name: 'architect-codex',
|
|
8
|
-
description: 'Codex-powered Architecture & Debugging Advisor (Opus tier, uses OpenAI Codex CLI)',
|
|
9
|
-
model: 'gpt-5.2'
|
|
10
|
-
},
|
|
11
|
-
'planner-codex': {
|
|
12
|
-
name: 'planner-codex',
|
|
13
|
-
description: 'Codex-powered Strategic Planner (Opus tier, uses OpenAI Codex CLI)',
|
|
14
|
-
model: 'gpt-5.2'
|
|
15
|
-
},
|
|
16
|
-
'critic-codex': {
|
|
17
|
-
name: 'critic-codex',
|
|
18
|
-
description: 'Codex-powered Plan Reviewer and Critic (Opus tier, uses OpenAI Codex CLI)',
|
|
19
|
-
model: 'gpt-5.2'
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Check if an agent type should be routed through Codex
|
|
24
|
-
*/
|
|
25
|
-
export function isCodexAgent(agentType) {
|
|
26
|
-
const normalizedType = agentType.replace('oh-my-claudecode:', '');
|
|
27
|
-
return Object.hasOwn(CODEX_AGENTS, normalizedType);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Get the Codex agent definition
|
|
31
|
-
*/
|
|
32
|
-
export function getCodexAgent(agentType) {
|
|
33
|
-
const normalizedType = agentType.replace('oh-my-claudecode:', '');
|
|
34
|
-
return CODEX_AGENTS[normalizedType];
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=codex-agents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex-agents.js","sourceRoot":"","sources":["../../src/agents/codex-agents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,CAAC,MAAM,YAAY,GAAyC;IAChE,iBAAiB,EAAE;QACjB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mFAAmF;QAChG,KAAK,EAAE,SAAS;KACjB;IAED,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oEAAoE;QACjF,KAAK,EAAE,SAAS;KACjB;IAED,cAAc,EAAE;QACd,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,2EAA2E;QACxF,KAAK,EAAE,SAAS;KACjB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Orchestrator Sisyphus Agent
|
|
3
|
-
*
|
|
4
|
-
* Master orchestrator for complex multi-step tasks.
|
|
5
|
-
*
|
|
6
|
-
* Ported from oh-my-opencode's agent definitions.
|
|
7
|
-
*/
|
|
8
|
-
import type { AgentConfig, AgentPromptMetadata } from './types.js';
|
|
9
|
-
export declare const ORCHESTRATOR_SISYPHUS_PROMPT_METADATA: AgentPromptMetadata;
|
|
10
|
-
export declare const coordinatorAgent: AgentConfig;
|
|
11
|
-
//# sourceMappingURL=coordinator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/agents/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,qCAAqC,EAAE,mBAyBnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,WAgF9B,CAAC"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Orchestrator Sisyphus Agent
|
|
3
|
-
*
|
|
4
|
-
* Master orchestrator for complex multi-step tasks.
|
|
5
|
-
*
|
|
6
|
-
* Ported from oh-my-opencode's agent definitions.
|
|
7
|
-
*/
|
|
8
|
-
export const ORCHESTRATOR_SISYPHUS_PROMPT_METADATA = {
|
|
9
|
-
category: 'orchestration',
|
|
10
|
-
cost: 'CHEAP',
|
|
11
|
-
promptAlias: 'coordinator',
|
|
12
|
-
triggers: [
|
|
13
|
-
{
|
|
14
|
-
domain: 'Complex Tasks',
|
|
15
|
-
trigger: 'Multi-step coordination, parallel execution',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
domain: 'Todo Management',
|
|
19
|
-
trigger: 'Todo list reading and task delegation',
|
|
20
|
-
},
|
|
21
|
-
],
|
|
22
|
-
useWhen: [
|
|
23
|
-
'Complex multi-step tasks',
|
|
24
|
-
'Tasks requiring parallel agent execution',
|
|
25
|
-
'Todo list based workflows',
|
|
26
|
-
'Tasks requiring coordination of multiple specialists',
|
|
27
|
-
],
|
|
28
|
-
avoidWhen: [
|
|
29
|
-
'Simple, single-step tasks',
|
|
30
|
-
'Tasks one agent can handle alone',
|
|
31
|
-
'When direct implementation is more efficient',
|
|
32
|
-
],
|
|
33
|
-
};
|
|
34
|
-
export const coordinatorAgent = {
|
|
35
|
-
name: 'coordinator',
|
|
36
|
-
description: `Master orchestrator for complex multi-step tasks. Reads todo lists, delegates to specialist agents via omc_task(), coordinates parallel execution, and ensures ALL tasks complete.`,
|
|
37
|
-
prompt: `You are "Sisyphus" - Powerful AI Agent with orchestration capabilities from OhMyOpenCode.
|
|
38
|
-
|
|
39
|
-
**Why Sisyphus?**: Humans roll their boulder every day. So do you. We're not so different—your code should be indistinguishable from a senior engineer's.
|
|
40
|
-
|
|
41
|
-
**Identity**: SF Bay Area engineer. Work, delegate, verify, ship. No AI slop.
|
|
42
|
-
|
|
43
|
-
**Core Competencies**:
|
|
44
|
-
- Parsing implicit requirements from explicit requests
|
|
45
|
-
- Adapting to codebase maturity (disciplined vs chaotic)
|
|
46
|
-
- Delegating specialized work to the right subagents
|
|
47
|
-
- Parallel execution for maximum throughput
|
|
48
|
-
- Follows user instructions. NEVER START IMPLEMENTING, UNLESS USER WANTS YOU TO IMPLEMENT SOMETHING EXPLICITLY.
|
|
49
|
-
|
|
50
|
-
**Operating Mode**: You NEVER work alone when specialists are available. Frontend work → delegate. Deep research → parallel background agents. Complex architecture → consult architect.
|
|
51
|
-
|
|
52
|
-
## CORE MISSION
|
|
53
|
-
Orchestrate work via \`omc_task()\` to complete ALL tasks in a given todo list until fully done.
|
|
54
|
-
|
|
55
|
-
## IDENTITY & PHILOSOPHY
|
|
56
|
-
|
|
57
|
-
### THE CONDUCTOR MINDSET
|
|
58
|
-
You do NOT execute tasks yourself. You DELEGATE, COORDINATE, and VERIFY. Think of yourself as:
|
|
59
|
-
- An orchestra conductor who doesn't play instruments but ensures perfect harmony
|
|
60
|
-
- A general who commands troops but doesn't fight on the front lines
|
|
61
|
-
- A project manager who coordinates specialists but doesn't code
|
|
62
|
-
|
|
63
|
-
### NON-NEGOTIABLE PRINCIPLES
|
|
64
|
-
|
|
65
|
-
1. **DELEGATE IMPLEMENTATION, NOT EVERYTHING**:
|
|
66
|
-
- ✅ YOU CAN: Read files, run commands, verify results, check tests, inspect outputs
|
|
67
|
-
- ❌ YOU MUST DELEGATE: Code writing, file modification, bug fixes, test creation
|
|
68
|
-
2. **VERIFY OBSESSIVELY**: Subagents LIE. Always verify their claims with your own tools (Read, Bash, lsp_diagnostics).
|
|
69
|
-
3. **PARALLELIZE WHEN POSSIBLE**: If tasks are independent, invoke multiple \`omc_task()\` calls in PARALLEL.
|
|
70
|
-
4. **ONE TASK PER CALL**: Each \`omc_task()\` call handles EXACTLY ONE task.
|
|
71
|
-
5. **CONTEXT IS KING**: Pass COMPLETE, DETAILED context in every \`omc_task()\` prompt.
|
|
72
|
-
|
|
73
|
-
## CRITICAL: DETAILED PROMPTS ARE MANDATORY
|
|
74
|
-
|
|
75
|
-
**The #1 cause of agent failure is VAGUE PROMPTS.**
|
|
76
|
-
|
|
77
|
-
When delegating, your prompt MUST include:
|
|
78
|
-
- **TASK**: Atomic, specific goal
|
|
79
|
-
- **EXPECTED OUTCOME**: Concrete deliverables with success criteria
|
|
80
|
-
- **REQUIRED TOOLS**: Explicit tool whitelist
|
|
81
|
-
- **MUST DO**: Exhaustive requirements
|
|
82
|
-
- **MUST NOT DO**: Forbidden actions
|
|
83
|
-
- **CONTEXT**: File paths, existing patterns, constraints
|
|
84
|
-
|
|
85
|
-
**Vague prompts = rejected. Be exhaustive.**
|
|
86
|
-
|
|
87
|
-
## Task Management (CRITICAL)
|
|
88
|
-
|
|
89
|
-
**DEFAULT BEHAVIOR**: Create todos BEFORE starting any non-trivial task.
|
|
90
|
-
|
|
91
|
-
1. **IMMEDIATELY on receiving request**: Use TodoWrite to plan atomic steps
|
|
92
|
-
2. **Before starting each step**: Mark \`in_progress\` (only ONE at a time)
|
|
93
|
-
3. **After completing each step**: Mark \`completed\` IMMEDIATELY (NEVER batch)
|
|
94
|
-
4. **If scope changes**: Update todos before proceeding
|
|
95
|
-
|
|
96
|
-
## Communication Style
|
|
97
|
-
|
|
98
|
-
- Start work immediately. No acknowledgments.
|
|
99
|
-
- Answer directly without preamble
|
|
100
|
-
- Don't summarize what you did unless asked
|
|
101
|
-
- One word answers are acceptable when appropriate
|
|
102
|
-
|
|
103
|
-
## Anti-Patterns (BLOCKING)
|
|
104
|
-
|
|
105
|
-
| Violation | Why It's Bad |
|
|
106
|
-
|-----------|--------------|
|
|
107
|
-
| Skipping todos on multi-step tasks | User has no visibility |
|
|
108
|
-
| Batch-completing multiple todos | Defeats real-time tracking |
|
|
109
|
-
| Short prompts to subagents | Agents fail without context |
|
|
110
|
-
| Trying to implement yourself | You are the ORCHESTRATOR |`,
|
|
111
|
-
tools: ['Read', 'Grep', 'Glob', 'Task', 'TodoWrite'],
|
|
112
|
-
model: 'opus',
|
|
113
|
-
metadata: ORCHESTRATOR_SISYPHUS_PROMPT_METADATA,
|
|
114
|
-
};
|
|
115
|
-
//# sourceMappingURL=coordinator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/agents/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,qCAAqC,GAAwB;IACxE,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,6CAA6C;SACvD;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,uCAAuC;SACjD;KACF;IACD,OAAO,EAAE;QACP,0BAA0B;QAC1B,0CAA0C;QAC1C,2BAA2B;QAC3B,sDAAsD;KACvD;IACD,SAAS,EAAE;QACT,2BAA2B;QAC3B,kCAAkC;QAClC,8CAA8C;KAC/C;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,oLAAoL;IACjM,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4DAyEkD;IAC1D,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;IACpD,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,qCAAqC;CAChD,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Document Writer Agent
|
|
3
|
-
*
|
|
4
|
-
* Technical writer who crafts clear, comprehensive documentation.
|
|
5
|
-
*
|
|
6
|
-
* Ported from oh-my-opencode's agent definitions.
|
|
7
|
-
*/
|
|
8
|
-
import type { AgentConfig, AgentPromptMetadata } from './types.js';
|
|
9
|
-
export declare const DOCUMENT_WRITER_PROMPT_METADATA: AgentPromptMetadata;
|
|
10
|
-
export declare const documentWriterAgent: AgentConfig;
|
|
11
|
-
//# sourceMappingURL=document-writer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/agents/document-writer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,+BAA+B,EAAE,mBAsB7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,WAiLjC,CAAC"}
|