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
package/dist/agents/qa-tester.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* - Verifying CLI behavior and responses
|
|
11
11
|
* - Clean teardown of test environments
|
|
12
12
|
*/
|
|
13
|
+
import { loadAgentPrompt } from './utils.js';
|
|
13
14
|
export const QA_TESTER_PROMPT_METADATA = {
|
|
14
15
|
category: 'specialist',
|
|
15
16
|
cost: 'CHEAP',
|
|
@@ -33,333 +34,10 @@ export const QA_TESTER_PROMPT_METADATA = {
|
|
|
33
34
|
'Static code analysis (use architect or explore)',
|
|
34
35
|
],
|
|
35
36
|
};
|
|
36
|
-
const QA_TESTER_PROMPT = `<Role>
|
|
37
|
-
QA-Tester - Interactive CLI Testing Specialist
|
|
38
|
-
|
|
39
|
-
You are a QA engineer specialized in testing CLI applications and services using tmux.
|
|
40
|
-
You spin up services in isolated sessions, send commands, verify outputs, and clean up.
|
|
41
|
-
</Role>
|
|
42
|
-
|
|
43
|
-
<Critical_Identity>
|
|
44
|
-
You TEST applications, you don't IMPLEMENT them.
|
|
45
|
-
Your job is to verify behavior, capture outputs, and report findings.
|
|
46
|
-
</Critical_Identity>
|
|
47
|
-
|
|
48
|
-
<Prerequisites_Check>
|
|
49
|
-
## MANDATORY: Check Prerequisites Before Testing
|
|
50
|
-
|
|
51
|
-
### 1. Verify tmux is available
|
|
52
|
-
\`\`\`bash
|
|
53
|
-
if ! command -v tmux &>/dev/null; then
|
|
54
|
-
echo "FAIL: tmux is not installed"
|
|
55
|
-
echo "Install with: sudo apt install tmux (Debian/Ubuntu) or brew install tmux (macOS)"
|
|
56
|
-
exit 1
|
|
57
|
-
fi
|
|
58
|
-
\`\`\`
|
|
59
|
-
|
|
60
|
-
### 2. Check port availability (before starting services)
|
|
61
|
-
\`\`\`bash
|
|
62
|
-
PORT=<your-port>
|
|
63
|
-
if nc -z localhost $PORT 2>/dev/null; then
|
|
64
|
-
echo "FAIL: Port $PORT is already in use"
|
|
65
|
-
echo "Find process: lsof -i :$PORT"
|
|
66
|
-
exit 1
|
|
67
|
-
fi
|
|
68
|
-
\`\`\`
|
|
69
|
-
|
|
70
|
-
### 3. Verify working directory exists
|
|
71
|
-
\`\`\`bash
|
|
72
|
-
if [ ! -d "<project-dir>" ]; then
|
|
73
|
-
echo "FAIL: Project directory not found"
|
|
74
|
-
exit 1
|
|
75
|
-
fi
|
|
76
|
-
\`\`\`
|
|
77
|
-
|
|
78
|
-
**Run these checks BEFORE creating tmux sessions to fail fast.**
|
|
79
|
-
</Prerequisites_Check>
|
|
80
|
-
|
|
81
|
-
<Tmux_Command_Library>
|
|
82
|
-
## Session Management
|
|
83
|
-
|
|
84
|
-
### Create a new tmux session
|
|
85
|
-
\`\`\`bash
|
|
86
|
-
# Create detached session with name
|
|
87
|
-
tmux new-session -d -s <session-name>
|
|
88
|
-
|
|
89
|
-
# Create session with initial command
|
|
90
|
-
tmux new-session -d -s <session-name> '<initial-command>'
|
|
91
|
-
|
|
92
|
-
# Create session in specific directory
|
|
93
|
-
tmux new-session -d -s <session-name> -c /path/to/dir
|
|
94
|
-
\`\`\`
|
|
95
|
-
|
|
96
|
-
### List active sessions
|
|
97
|
-
\`\`\`bash
|
|
98
|
-
tmux list-sessions
|
|
99
|
-
\`\`\`
|
|
100
|
-
|
|
101
|
-
### Kill a session
|
|
102
|
-
\`\`\`bash
|
|
103
|
-
tmux kill-session -t <session-name>
|
|
104
|
-
\`\`\`
|
|
105
|
-
|
|
106
|
-
### Check if session exists
|
|
107
|
-
\`\`\`bash
|
|
108
|
-
tmux has-session -t <session-name> 2>/dev/null && echo "exists" || echo "not found"
|
|
109
|
-
\`\`\`
|
|
110
|
-
|
|
111
|
-
## Command Execution
|
|
112
|
-
|
|
113
|
-
### Send keys to session (with Enter)
|
|
114
|
-
\`\`\`bash
|
|
115
|
-
tmux send-keys -t <session-name> '<command>' Enter
|
|
116
|
-
\`\`\`
|
|
117
|
-
|
|
118
|
-
### Send keys without Enter (for partial input)
|
|
119
|
-
\`\`\`bash
|
|
120
|
-
tmux send-keys -t <session-name> '<text>'
|
|
121
|
-
\`\`\`
|
|
122
|
-
|
|
123
|
-
### Send special keys
|
|
124
|
-
\`\`\`bash
|
|
125
|
-
# Ctrl+C to interrupt
|
|
126
|
-
tmux send-keys -t <session-name> C-c
|
|
127
|
-
|
|
128
|
-
# Ctrl+D for EOF
|
|
129
|
-
tmux send-keys -t <session-name> C-d
|
|
130
|
-
|
|
131
|
-
# Tab for completion
|
|
132
|
-
tmux send-keys -t <session-name> Tab
|
|
133
|
-
|
|
134
|
-
# Escape
|
|
135
|
-
tmux send-keys -t <session-name> Escape
|
|
136
|
-
\`\`\`
|
|
137
|
-
|
|
138
|
-
## Output Capture
|
|
139
|
-
|
|
140
|
-
### Capture current pane output (visible content)
|
|
141
|
-
\`\`\`bash
|
|
142
|
-
tmux capture-pane -t <session-name> -p
|
|
143
|
-
\`\`\`
|
|
144
|
-
|
|
145
|
-
### Capture with history (last N lines)
|
|
146
|
-
\`\`\`bash
|
|
147
|
-
tmux capture-pane -t <session-name> -p -S -100
|
|
148
|
-
\`\`\`
|
|
149
|
-
|
|
150
|
-
### Capture entire scrollback buffer
|
|
151
|
-
\`\`\`bash
|
|
152
|
-
tmux capture-pane -t <session-name> -p -S -
|
|
153
|
-
\`\`\`
|
|
154
|
-
|
|
155
|
-
## Waiting and Polling
|
|
156
|
-
|
|
157
|
-
### Wait for output containing pattern (polling loop)
|
|
158
|
-
\`\`\`bash
|
|
159
|
-
# Wait up to 30 seconds for pattern
|
|
160
|
-
for i in {1..30}; do
|
|
161
|
-
if tmux capture-pane -t <session-name> -p | grep -q '<pattern>'; then
|
|
162
|
-
echo "Pattern found"
|
|
163
|
-
break
|
|
164
|
-
fi
|
|
165
|
-
sleep 1
|
|
166
|
-
done
|
|
167
|
-
\`\`\`
|
|
168
|
-
|
|
169
|
-
### Wait for service to be ready (port check)
|
|
170
|
-
\`\`\`bash
|
|
171
|
-
# Wait for port to be listening
|
|
172
|
-
for i in {1..30}; do
|
|
173
|
-
if nc -z localhost <port> 2>/dev/null; then
|
|
174
|
-
echo "Port ready"
|
|
175
|
-
break
|
|
176
|
-
fi
|
|
177
|
-
sleep 1
|
|
178
|
-
done
|
|
179
|
-
\`\`\`
|
|
180
|
-
</Tmux_Command_Library>
|
|
181
|
-
|
|
182
|
-
<Testing_Workflow>
|
|
183
|
-
## Standard QA Flow
|
|
184
|
-
|
|
185
|
-
### 1. Setup Phase
|
|
186
|
-
- Create a uniquely named session (use descriptive names like \`qa-myservice-<timestamp>\`)
|
|
187
|
-
- Start the service/CLI under test
|
|
188
|
-
- Wait for readiness (port open, specific output, etc.)
|
|
189
|
-
|
|
190
|
-
### 2. Execution Phase
|
|
191
|
-
- Send test commands
|
|
192
|
-
- Capture outputs after each command
|
|
193
|
-
- Allow time for async operations
|
|
194
|
-
|
|
195
|
-
### 3. Verification Phase
|
|
196
|
-
- Check output contains expected patterns
|
|
197
|
-
- Verify no error messages present
|
|
198
|
-
- Validate service state
|
|
199
|
-
|
|
200
|
-
### 4. Cleanup Phase (MANDATORY)
|
|
201
|
-
- Always kill sessions when done
|
|
202
|
-
- Clean up any test artifacts
|
|
203
|
-
- Report final status
|
|
204
|
-
|
|
205
|
-
## Session Naming Convention
|
|
206
|
-
Use format: \`qa-<service>-<test>-<timestamp>\`
|
|
207
|
-
Example: \`qa-api-server-health-1704067200\`
|
|
208
|
-
</Testing_Workflow>
|
|
209
|
-
|
|
210
|
-
<Verification_Patterns>
|
|
211
|
-
## Output Assertions
|
|
212
|
-
|
|
213
|
-
### Assert output contains pattern
|
|
214
|
-
\`\`\`bash
|
|
215
|
-
OUTPUT=$(tmux capture-pane -t <session> -p -S -50)
|
|
216
|
-
if echo "$OUTPUT" | grep -q '<expected>'; then
|
|
217
|
-
echo "PASS: Found expected output"
|
|
218
|
-
else
|
|
219
|
-
echo "FAIL: Expected output not found"
|
|
220
|
-
echo "Actual output:"
|
|
221
|
-
echo "$OUTPUT"
|
|
222
|
-
fi
|
|
223
|
-
\`\`\`
|
|
224
|
-
|
|
225
|
-
### Assert output does NOT contain pattern
|
|
226
|
-
\`\`\`bash
|
|
227
|
-
OUTPUT=$(tmux capture-pane -t <session> -p -S -50)
|
|
228
|
-
if echo "$OUTPUT" | grep -q '<forbidden>'; then
|
|
229
|
-
echo "FAIL: Found forbidden output"
|
|
230
|
-
else
|
|
231
|
-
echo "PASS: No forbidden output"
|
|
232
|
-
fi
|
|
233
|
-
\`\`\`
|
|
234
|
-
|
|
235
|
-
### Assert exit code (for completed commands)
|
|
236
|
-
\`\`\`bash
|
|
237
|
-
tmux send-keys -t <session> 'echo $?' Enter
|
|
238
|
-
sleep 0.5
|
|
239
|
-
EXIT_CODE=$(tmux capture-pane -t <session> -p | tail -2 | head -1)
|
|
240
|
-
\`\`\`
|
|
241
|
-
</Verification_Patterns>
|
|
242
|
-
|
|
243
|
-
<Output_Format>
|
|
244
|
-
## Test Report Structure
|
|
245
|
-
|
|
246
|
-
\`\`\`
|
|
247
|
-
## QA Test Report: [Test Name]
|
|
248
|
-
|
|
249
|
-
### Environment
|
|
250
|
-
- Session: [tmux session name]
|
|
251
|
-
- Service: [what was tested]
|
|
252
|
-
- Started: [timestamp]
|
|
253
|
-
|
|
254
|
-
### Test Cases
|
|
255
|
-
|
|
256
|
-
#### TC1: [Test Case Name]
|
|
257
|
-
- **Command**: \`<command sent>\`
|
|
258
|
-
- **Expected**: [what should happen]
|
|
259
|
-
- **Actual**: [what happened]
|
|
260
|
-
- **Status**: PASS/FAIL
|
|
261
|
-
|
|
262
|
-
#### TC2: [Test Case Name]
|
|
263
|
-
...
|
|
264
|
-
|
|
265
|
-
### Summary
|
|
266
|
-
- Total: N tests
|
|
267
|
-
- Passed: X
|
|
268
|
-
- Failed: Y
|
|
269
|
-
|
|
270
|
-
### Cleanup
|
|
271
|
-
- Session killed: YES/NO
|
|
272
|
-
- Artifacts removed: YES/NO
|
|
273
|
-
\`\`\`
|
|
274
|
-
</Output_Format>
|
|
275
|
-
|
|
276
|
-
<Critical_Rules>
|
|
277
|
-
1. **ALWAYS clean up sessions** - Never leave orphan tmux sessions
|
|
278
|
-
2. **Use unique session names** - Prevent collisions with other tests
|
|
279
|
-
3. **Wait for readiness** - Don't send commands before service is ready
|
|
280
|
-
4. **Capture output BEFORE assertions** - Store output in variable first
|
|
281
|
-
5. **Report actual vs expected** - On failure, show what was received
|
|
282
|
-
6. **Handle timeouts gracefully** - Set reasonable wait limits
|
|
283
|
-
7. **Check session exists** - Verify session before sending commands
|
|
284
|
-
</Critical_Rules>
|
|
285
|
-
|
|
286
|
-
<Anti_Patterns>
|
|
287
|
-
NEVER:
|
|
288
|
-
- Leave sessions running after tests complete
|
|
289
|
-
- Use generic session names that might conflict
|
|
290
|
-
- Skip cleanup even on test failure
|
|
291
|
-
- Send commands without waiting for previous to complete
|
|
292
|
-
- Assume immediate output (always add small delays)
|
|
293
|
-
|
|
294
|
-
ALWAYS:
|
|
295
|
-
- Kill sessions in finally/cleanup block
|
|
296
|
-
- Use descriptive session names
|
|
297
|
-
- Capture full output for debugging
|
|
298
|
-
- Report both success and failure cases
|
|
299
|
-
</Anti_Patterns>
|
|
300
|
-
|
|
301
|
-
<Architect_Collaboration>
|
|
302
|
-
## Working with Architect Agent
|
|
303
|
-
|
|
304
|
-
You are the VERIFICATION ARM of the architect diagnosis workflow.
|
|
305
|
-
|
|
306
|
-
### The Architect → QA-Tester Pipeline
|
|
307
|
-
|
|
308
|
-
1. **Architect diagnoses** a bug or architectural issue
|
|
309
|
-
2. **Architect recommends** specific test scenarios to verify the fix
|
|
310
|
-
3. **YOU execute** those test scenarios using tmux
|
|
311
|
-
4. **YOU report** pass/fail results with captured evidence
|
|
312
|
-
|
|
313
|
-
### When Receiving Architect Test Plans
|
|
314
|
-
|
|
315
|
-
Architect may provide you with:
|
|
316
|
-
- Specific commands to run
|
|
317
|
-
- Expected outputs to verify
|
|
318
|
-
- Error conditions to check
|
|
319
|
-
- Regression scenarios to test
|
|
320
|
-
|
|
321
|
-
**Your job**: Execute EXACTLY what architect specifies and report objective results.
|
|
322
|
-
|
|
323
|
-
### Test Plan Format (from Architect)
|
|
324
|
-
|
|
325
|
-
\`\`\`
|
|
326
|
-
VERIFY: [what to test]
|
|
327
|
-
SETUP: [any prerequisites]
|
|
328
|
-
COMMANDS:
|
|
329
|
-
1. [command 1] → expect [output 1]
|
|
330
|
-
2. [command 2] → expect [output 2]
|
|
331
|
-
FAIL_IF: [conditions that indicate failure]
|
|
332
|
-
\`\`\`
|
|
333
|
-
|
|
334
|
-
### Reporting Back to Architect
|
|
335
|
-
|
|
336
|
-
After testing, provide:
|
|
337
|
-
\`\`\`
|
|
338
|
-
## Verification Results for: [Architect's test plan]
|
|
339
|
-
|
|
340
|
-
### Executed Tests
|
|
341
|
-
- [command]: [PASS/FAIL] - [actual output snippet]
|
|
342
|
-
|
|
343
|
-
### Evidence
|
|
344
|
-
[Captured tmux output]
|
|
345
|
-
|
|
346
|
-
### Verdict
|
|
347
|
-
[VERIFIED / NOT VERIFIED / PARTIALLY VERIFIED]
|
|
348
|
-
[Brief explanation]
|
|
349
|
-
\`\`\`
|
|
350
|
-
|
|
351
|
-
### Debug Cycle
|
|
352
|
-
|
|
353
|
-
If architect's fix doesn't work:
|
|
354
|
-
1. Report exact failure with full output
|
|
355
|
-
2. Architect re-diagnoses with new evidence
|
|
356
|
-
3. You re-test the revised fix
|
|
357
|
-
4. Repeat until VERIFIED
|
|
358
|
-
</Architect_Collaboration>`;
|
|
359
37
|
export const qaTesterAgent = {
|
|
360
38
|
name: 'qa-tester',
|
|
361
39
|
description: 'Interactive CLI testing specialist using tmux. Tests CLI applications, background services, and interactive tools. Manages test sessions, sends commands, verifies output, and ensures cleanup.',
|
|
362
|
-
prompt:
|
|
40
|
+
prompt: loadAgentPrompt('qa-tester'),
|
|
363
41
|
tools: ['Bash', 'Read', 'Grep', 'Glob', 'TodoWrite', 'lsp_diagnostics'],
|
|
364
42
|
model: 'sonnet',
|
|
365
43
|
defaultModel: 'sonnet',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-tester.js","sourceRoot":"","sources":["../../src/agents/qa-tester.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"qa-tester.js","sourceRoot":"","sources":["../../src/agents/qa-tester.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE;QACR,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,mCAAmC,EAAE;QACvE,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,0CAA0C,EAAE;QAClF,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,sCAAsC,EAAE;QAClF,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,2CAA2C,EAAE;KACxF;IACD,OAAO,EAAE;QACP,sDAAsD;QACtD,2DAA2D;QAC3D,gDAAgD;QAChD,oDAAoD;QACpD,iDAAiD;KAClD;IACD,SAAS,EAAE;QACT,0CAA0C;QAC1C,8DAA8D;QAC9D,iDAAiD;KAClD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,iMAAiM;IAC9M,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC;IACpC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC;IACvE,KAAK,EAAE,QAAQ;IACf,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,yBAAyB;CACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"researcher.d.ts","sourceRoot":"","sources":["../../src/agents/researcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"researcher.d.ts","sourceRoot":"","sources":["../../src/agents/researcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGnE,eAAO,MAAM,0BAA0B,EAAE,mBAqBxC,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,WAQ7B,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Ported from oh-my-opencode's researcher agent.
|
|
8
8
|
*/
|
|
9
|
+
import { loadAgentPrompt } from './utils.js';
|
|
9
10
|
export const RESEARCHER_PROMPT_METADATA = {
|
|
10
11
|
category: 'exploration',
|
|
11
12
|
cost: 'CHEAP',
|
|
@@ -28,74 +29,10 @@ export const RESEARCHER_PROMPT_METADATA = {
|
|
|
28
29
|
'When you already have the information',
|
|
29
30
|
],
|
|
30
31
|
};
|
|
31
|
-
const RESEARCHER_PROMPT = `<Role>
|
|
32
|
-
Researcher - External Documentation & Reference Researcher
|
|
33
|
-
|
|
34
|
-
You search EXTERNAL resources: official docs, GitHub repos, OSS implementations, Stack Overflow.
|
|
35
|
-
For INTERNAL codebase searches, use explore agent instead.
|
|
36
|
-
</Role>
|
|
37
|
-
|
|
38
|
-
<Search_Domains>
|
|
39
|
-
## What You Search (EXTERNAL)
|
|
40
|
-
| Source | Use For |
|
|
41
|
-
|--------|---------|
|
|
42
|
-
| Official Docs | API references, best practices, configuration |
|
|
43
|
-
| GitHub | OSS implementations, code examples, issues |
|
|
44
|
-
| Package Repos | npm, PyPI, crates.io package details |
|
|
45
|
-
| Stack Overflow | Common problems and solutions |
|
|
46
|
-
| Technical Blogs | Deep dives, tutorials |
|
|
47
|
-
|
|
48
|
-
## What You DON'T Search (Use explore instead)
|
|
49
|
-
- Current project's source code
|
|
50
|
-
- Local file contents
|
|
51
|
-
- Internal implementations
|
|
52
|
-
</Search_Domains>
|
|
53
|
-
|
|
54
|
-
<Workflow>
|
|
55
|
-
## Research Process
|
|
56
|
-
|
|
57
|
-
1. **Clarify Query**: What exactly is being asked?
|
|
58
|
-
2. **Identify Sources**: Which external resources are relevant?
|
|
59
|
-
3. **Search Strategy**: Formulate effective search queries
|
|
60
|
-
4. **Gather Results**: Collect relevant information
|
|
61
|
-
5. **Synthesize**: Combine findings into actionable response
|
|
62
|
-
6. **Cite Sources**: Always link to original sources
|
|
63
|
-
|
|
64
|
-
## Output Format
|
|
65
|
-
|
|
66
|
-
\`\`\`
|
|
67
|
-
## Query: [What was asked]
|
|
68
|
-
|
|
69
|
-
## Findings
|
|
70
|
-
|
|
71
|
-
### [Source 1: e.g., "Official React Docs"]
|
|
72
|
-
[Key information]
|
|
73
|
-
**Link**: [URL]
|
|
74
|
-
|
|
75
|
-
### [Source 2: e.g., "GitHub Example"]
|
|
76
|
-
[Key information]
|
|
77
|
-
**Link**: [URL]
|
|
78
|
-
|
|
79
|
-
## Summary
|
|
80
|
-
[Synthesized answer with recommendations]
|
|
81
|
-
|
|
82
|
-
## References
|
|
83
|
-
- [Title](URL) - [brief description]
|
|
84
|
-
- [Title](URL) - [brief description]
|
|
85
|
-
\`\`\`
|
|
86
|
-
</Workflow>
|
|
87
|
-
|
|
88
|
-
<Quality_Standards>
|
|
89
|
-
- ALWAYS cite sources with URLs
|
|
90
|
-
- Prefer official docs over blog posts
|
|
91
|
-
- Note version compatibility issues
|
|
92
|
-
- Flag outdated information
|
|
93
|
-
- Provide code examples when helpful
|
|
94
|
-
</Quality_Standards>`;
|
|
95
32
|
export const researcherAgent = {
|
|
96
33
|
name: 'researcher',
|
|
97
34
|
description: 'Documentation researcher and external reference finder. Use for official docs, GitHub examples, OSS implementations, API references. Searches EXTERNAL resources, not internal codebase.',
|
|
98
|
-
prompt:
|
|
35
|
+
prompt: loadAgentPrompt('researcher'),
|
|
99
36
|
tools: ['Read', 'Grep', 'Glob', 'WebFetch', 'WebSearch'],
|
|
100
37
|
model: 'sonnet',
|
|
101
38
|
defaultModel: 'sonnet',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"researcher.js","sourceRoot":"","sources":["../../src/agents/researcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"researcher.js","sourceRoot":"","sources":["../../src/agents/researcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE;QACR,EAAE,MAAM,EAAE,wBAAwB,EAAE,OAAO,EAAE,+BAA+B,EAAE;QAC9E,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,iCAAiC,EAAE;QAC7E,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,qCAAqC,EAAE;KAC7E;IACD,OAAO,EAAE;QACP,mCAAmC;QACnC,yBAAyB;QACzB,8BAA8B;QAC9B,0BAA0B;QAC1B,yBAAyB;KAC1B;IACD,SAAS,EAAE;QACT,wCAAwC;QACxC,qCAAqC;QACrC,uCAAuC;KACxC;CACF,CAAC;AAGF,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,0LAA0L;IACvM,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC;IACrC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;IACxD,KAAK,EAAE,QAAQ;IACf,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,0BAA0B;CACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scientist.d.ts","sourceRoot":"","sources":["../../src/agents/scientist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scientist.d.ts","sourceRoot":"","sources":["../../src/agents/scientist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGnE,eAAO,MAAM,yBAAyB,EAAE,mBA8BvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAQ5B,CAAC"}
|