hungry-ghost-hive 0.14.1 → 0.15.0
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/README.md +7 -1
- package/dist/agents/base-agent.d.ts +2 -2
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +7 -6
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/index.d.ts +3 -3
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/intermediate.d.ts.map +1 -1
- package/dist/agents/intermediate.js +8 -6
- package/dist/agents/intermediate.js.map +1 -1
- package/dist/agents/junior.d.ts.map +1 -1
- package/dist/agents/junior.js +8 -6
- package/dist/agents/junior.js.map +1 -1
- package/dist/agents/qa.d.ts.map +1 -1
- package/dist/agents/qa.js +21 -15
- package/dist/agents/qa.js.map +1 -1
- package/dist/agents/senior.d.ts.map +1 -1
- package/dist/agents/senior.js +10 -5
- package/dist/agents/senior.js.map +1 -1
- package/dist/agents/tech-lead.d.ts.map +1 -1
- package/dist/agents/tech-lead.js +8 -7
- package/dist/agents/tech-lead.js.map +1 -1
- package/dist/cli/commands/add-repo.d.ts.map +1 -1
- package/dist/cli/commands/add-repo.js +4 -4
- package/dist/cli/commands/add-repo.js.map +1 -1
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +4 -5
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/assign.d.ts.map +1 -1
- package/dist/cli/commands/assign.js +6 -6
- package/dist/cli/commands/assign.js.map +1 -1
- package/dist/cli/commands/assign.test.js +36 -6
- package/dist/cli/commands/assign.test.js.map +1 -1
- package/dist/cli/commands/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/cleanup.js +11 -15
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +3 -4
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/escalations.d.ts.map +1 -1
- package/dist/cli/commands/escalations.js +9 -6
- package/dist/cli/commands/escalations.js.map +1 -1
- package/dist/cli/commands/index.d.ts +11 -11
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +11 -11
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/manager.d.ts.map +1 -1
- package/dist/cli/commands/manager.js +35 -27
- package/dist/cli/commands/manager.js.map +1 -1
- package/dist/cli/commands/manager.test.js +1 -1
- package/dist/cli/commands/manager.test.js.map +1 -1
- package/dist/cli/commands/msg.d.ts.map +1 -1
- package/dist/cli/commands/msg.js +13 -8
- package/dist/cli/commands/msg.js.map +1 -1
- package/dist/cli/commands/my-stories.d.ts.map +1 -1
- package/dist/cli/commands/my-stories.js +3 -3
- package/dist/cli/commands/my-stories.js.map +1 -1
- package/dist/cli/commands/nuke.d.ts.map +1 -1
- package/dist/cli/commands/nuke.js +5 -6
- package/dist/cli/commands/nuke.js.map +1 -1
- package/dist/cli/commands/pr.d.ts.map +1 -1
- package/dist/cli/commands/pr.js +20 -15
- package/dist/cli/commands/pr.js.map +1 -1
- package/dist/cli/commands/req.d.ts.map +1 -1
- package/dist/cli/commands/req.js +9 -9
- package/dist/cli/commands/req.js.map +1 -1
- package/dist/cli/commands/resume.d.ts.map +1 -1
- package/dist/cli/commands/resume.js +8 -8
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +8 -8
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/stories.d.ts.map +1 -1
- package/dist/cli/commands/stories.js +4 -5
- package/dist/cli/commands/stories.js.map +1 -1
- package/dist/cli/commands/teams.d.ts.map +1 -1
- package/dist/cli/commands/teams.js +14 -7
- package/dist/cli/commands/teams.js.map +1 -1
- package/dist/cli/commands/version.d.ts.map +1 -1
- package/dist/cli/commands/version.js +1 -1
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/cli/dashboard/index.d.ts.map +1 -1
- package/dist/cli/dashboard/index.js +13 -9
- package/dist/cli/dashboard/index.js.map +1 -1
- package/dist/cli/dashboard/panels/activity.d.ts +1 -1
- package/dist/cli/dashboard/panels/activity.d.ts.map +1 -1
- package/dist/cli/dashboard/panels/activity.js.map +1 -1
- package/dist/cli/dashboard/panels/agents.d.ts +1 -1
- package/dist/cli/dashboard/panels/agents.d.ts.map +1 -1
- package/dist/cli/dashboard/panels/agents.js +4 -6
- package/dist/cli/dashboard/panels/agents.js.map +1 -1
- package/dist/cli/dashboard/panels/escalations.d.ts +1 -1
- package/dist/cli/dashboard/panels/escalations.d.ts.map +1 -1
- package/dist/cli/dashboard/panels/escalations.js.map +1 -1
- package/dist/cli/dashboard/panels/merge-queue.d.ts +1 -1
- package/dist/cli/dashboard/panels/merge-queue.d.ts.map +1 -1
- package/dist/cli/dashboard/panels/merge-queue.js.map +1 -1
- package/dist/cli/dashboard/panels/pipeline.d.ts +1 -1
- package/dist/cli/dashboard/panels/pipeline.d.ts.map +1 -1
- package/dist/cli/dashboard/panels/pipeline.js +4 -1
- package/dist/cli/dashboard/panels/pipeline.js.map +1 -1
- package/dist/cli/dashboard/panels/stories.d.ts +1 -1
- package/dist/cli/dashboard/panels/stories.d.ts.map +1 -1
- package/dist/cli/dashboard/panels/stories.js.map +1 -1
- package/dist/cli-runtimes/claude.d.ts.map +1 -1
- package/dist/cli-runtimes/claude.js +2 -14
- package/dist/cli-runtimes/claude.js.map +1 -1
- package/dist/cli-runtimes/codex.d.ts.map +1 -1
- package/dist/cli-runtimes/codex.js +2 -14
- package/dist/cli-runtimes/codex.js.map +1 -1
- package/dist/cli-runtimes/gemini.d.ts.map +1 -1
- package/dist/cli-runtimes/gemini.js +2 -16
- package/dist/cli-runtimes/gemini.js.map +1 -1
- package/dist/cli-runtimes/index.d.ts.map +1 -1
- package/dist/cli-runtimes/index.js +5 -4
- package/dist/cli-runtimes/index.js.map +1 -1
- package/dist/cli-runtimes/index.test.js +7 -18
- package/dist/cli-runtimes/index.test.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +2 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +14 -14
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +4 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/config/schema.test.js +2 -2
- package/dist/config/schema.test.js.map +1 -1
- package/dist/context-files/generator.d.ts.map +1 -1
- package/dist/context-files/generator.js +4 -3
- package/dist/context-files/generator.js.map +1 -1
- package/dist/context-files/index.d.ts +3 -3
- package/dist/context-files/index.d.ts.map +1 -1
- package/dist/context-files/index.js +1 -2
- package/dist/context-files/index.js.map +1 -1
- package/dist/context-files/index.test.js +38 -8
- package/dist/context-files/index.test.js.map +1 -1
- package/dist/context-files/templates.d.ts.map +1 -1
- package/dist/context-files/templates.js +1 -1
- package/dist/context-files/templates.js.map +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +24 -26
- package/dist/db/client.js.map +1 -1
- package/dist/db/lock.d.ts.map +1 -1
- package/dist/db/lock.js +2 -1
- package/dist/db/lock.js.map +1 -1
- package/dist/db/lock.test.js +4 -4
- package/dist/db/lock.test.js.map +1 -1
- package/dist/db/queries/agents.d.ts.map +1 -1
- package/dist/db/queries/agents.js +12 -4
- package/dist/db/queries/agents.js.map +1 -1
- package/dist/db/queries/agents.test.js +3 -3
- package/dist/db/queries/agents.test.js.map +1 -1
- package/dist/db/queries/escalations.d.ts.map +1 -1
- package/dist/db/queries/escalations.js +1 -1
- package/dist/db/queries/escalations.js.map +1 -1
- package/dist/db/queries/escalations.test.js +5 -5
- package/dist/db/queries/escalations.test.js.map +1 -1
- package/dist/db/queries/heartbeat.d.ts.map +1 -1
- package/dist/db/queries/heartbeat.js +1 -1
- package/dist/db/queries/heartbeat.js.map +1 -1
- package/dist/db/queries/heartbeat.test.js +4 -4
- package/dist/db/queries/heartbeat.test.js.map +1 -1
- package/dist/db/queries/index.d.ts +4 -4
- package/dist/db/queries/index.d.ts.map +1 -1
- package/dist/db/queries/index.js +4 -4
- package/dist/db/queries/index.js.map +1 -1
- package/dist/db/queries/index.test.js +1 -1
- package/dist/db/queries/index.test.js.map +1 -1
- package/dist/db/queries/logs.d.ts.map +1 -1
- package/dist/db/queries/logs.js +1 -1
- package/dist/db/queries/logs.js.map +1 -1
- package/dist/db/queries/logs.test.js +4 -4
- package/dist/db/queries/logs.test.js.map +1 -1
- package/dist/db/queries/messages.d.ts.map +1 -1
- package/dist/db/queries/messages.js.map +1 -1
- package/dist/db/queries/messages.test.js +4 -4
- package/dist/db/queries/messages.test.js.map +1 -1
- package/dist/db/queries/pull-requests.d.ts.map +1 -1
- package/dist/db/queries/pull-requests.js +5 -3
- package/dist/db/queries/pull-requests.js.map +1 -1
- package/dist/db/queries/pull-requests.test.js +6 -19
- package/dist/db/queries/pull-requests.test.js.map +1 -1
- package/dist/db/queries/requirements.d.ts.map +1 -1
- package/dist/db/queries/requirements.js.map +1 -1
- package/dist/db/queries/requirements.test.js +4 -4
- package/dist/db/queries/requirements.test.js.map +1 -1
- package/dist/db/queries/stories.d.ts.map +1 -1
- package/dist/db/queries/stories.js +20 -4
- package/dist/db/queries/stories.js.map +1 -1
- package/dist/db/queries/stories.test.js +6 -6
- package/dist/db/queries/stories.test.js.map +1 -1
- package/dist/db/queries/teams.d.ts.map +1 -1
- package/dist/db/queries/teams.js.map +1 -1
- package/dist/db/queries/teams.test.js +4 -4
- package/dist/db/queries/teams.test.js.map +1 -1
- package/dist/errors/index.d.ts +66 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +106 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/git/branches.d.ts.map +1 -1
- package/dist/git/branches.js +7 -10
- package/dist/git/branches.js.map +1 -1
- package/dist/git/github.d.ts.map +1 -1
- package/dist/git/github.js +27 -24
- package/dist/git/github.js.map +1 -1
- package/dist/git/index.d.ts +1 -1
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +1 -1
- package/dist/git/index.js.map +1 -1
- package/dist/git/submodules.d.ts.map +1 -1
- package/dist/git/submodules.js +3 -5
- package/dist/git/submodules.js.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/llm/anthropic.d.ts +1 -1
- package/dist/llm/anthropic.d.ts.map +1 -1
- package/dist/llm/anthropic.js +1 -4
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +2 -1
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/openai.d.ts +1 -1
- package/dist/llm/openai.d.ts.map +1 -1
- package/dist/llm/openai.js +1 -4
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/provider.d.ts.map +1 -1
- package/dist/llm/provider.js +2 -1
- package/dist/llm/provider.js.map +1 -1
- package/dist/orchestrator/index.d.ts +2 -2
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +2 -2
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/prompt-templates.d.ts.map +1 -1
- package/dist/orchestrator/prompt-templates.js +3 -1
- package/dist/orchestrator/prompt-templates.js.map +1 -1
- package/dist/orchestrator/scaler.d.ts.map +1 -1
- package/dist/orchestrator/scaler.js +8 -7
- package/dist/orchestrator/scaler.js.map +1 -1
- package/dist/orchestrator/scheduler.d.ts +1 -1
- package/dist/orchestrator/scheduler.d.ts.map +1 -1
- package/dist/orchestrator/scheduler.js +54 -24
- package/dist/orchestrator/scheduler.js.map +1 -1
- package/dist/orchestrator/scheduler.test.js +143 -33
- package/dist/orchestrator/scheduler.test.js.map +1 -1
- package/dist/orchestrator/workflow.d.ts.map +1 -1
- package/dist/orchestrator/workflow.js +5 -6
- package/dist/orchestrator/workflow.js.map +1 -1
- package/dist/state-detectors/claude.d.ts.map +1 -1
- package/dist/state-detectors/claude.js +8 -40
- package/dist/state-detectors/claude.js.map +1 -1
- package/dist/state-detectors/claude.test.js +1 -1
- package/dist/state-detectors/claude.test.js.map +1 -1
- package/dist/state-detectors/codex.d.ts.map +1 -1
- package/dist/state-detectors/codex.js +6 -33
- package/dist/state-detectors/codex.js.map +1 -1
- package/dist/state-detectors/codex.test.js +1 -1
- package/dist/state-detectors/codex.test.js.map +1 -1
- package/dist/state-detectors/factory.d.ts.map +1 -1
- package/dist/state-detectors/factory.js +2 -1
- package/dist/state-detectors/factory.js.map +1 -1
- package/dist/state-detectors/factory.test.js +2 -2
- package/dist/state-detectors/factory.test.js.map +1 -1
- package/dist/state-detectors/gemini.d.ts.map +1 -1
- package/dist/state-detectors/gemini.js +6 -34
- package/dist/state-detectors/gemini.js.map +1 -1
- package/dist/state-detectors/gemini.test.js +1 -1
- package/dist/state-detectors/gemini.test.js.map +1 -1
- package/dist/state-detectors/index.d.ts +1 -1
- package/dist/state-detectors/index.d.ts.map +1 -1
- package/dist/state-detectors/index.js +1 -0
- package/dist/state-detectors/index.js.map +1 -1
- package/dist/tmux/manager.d.ts.map +1 -1
- package/dist/tmux/manager.js +14 -17
- package/dist/tmux/manager.js.map +1 -1
- package/dist/tmux/manager.test.js +1 -1
- package/dist/tmux/manager.test.js.map +1 -1
- package/dist/utils/auto-merge.d.ts.map +1 -1
- package/dist/utils/auto-merge.js +5 -5
- package/dist/utils/auto-merge.js.map +1 -1
- package/dist/utils/auto-merge.test.js +4 -4
- package/dist/utils/auto-merge.test.js.map +1 -1
- package/dist/utils/claude-code-state.d.ts.map +1 -1
- package/dist/utils/claude-code-state.js +7 -21
- package/dist/utils/claude-code-state.js.map +1 -1
- package/dist/utils/cli-builder.d.ts.map +1 -1
- package/dist/utils/cli-builder.js +3 -2
- package/dist/utils/cli-builder.js.map +1 -1
- package/dist/utils/github.test.js +1 -1
- package/dist/utils/github.test.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/timeout.d.ts.map +1 -1
- package/dist/utils/timeout.js +3 -3
- package/dist/utils/timeout.js.map +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/utils/version.js.map +1 -1
- package/package.json +6 -1
- package/src/agents/base-agent.ts +28 -18
- package/src/agents/index.ts +3 -3
- package/src/agents/intermediate.ts +24 -12
- package/src/agents/junior.ts +22 -11
- package/src/agents/qa.ts +36 -20
- package/src/agents/senior.ts +30 -14
- package/src/agents/tech-lead.ts +29 -14
- package/src/cli/commands/add-repo.ts +11 -7
- package/src/cli/commands/agents.ts +27 -11
- package/src/cli/commands/assign.test.ts +36 -6
- package/src/cli/commands/assign.ts +6 -6
- package/src/cli/commands/cleanup.ts +198 -150
- package/src/cli/commands/config.ts +9 -4
- package/src/cli/commands/escalations.ts +16 -6
- package/src/cli/commands/index.ts +11 -11
- package/src/cli/commands/init.ts +5 -5
- package/src/cli/commands/manager.test.ts +3 -2
- package/src/cli/commands/manager.ts +179 -76
- package/src/cli/commands/msg.ts +61 -34
- package/src/cli/commands/my-stories.ts +52 -22
- package/src/cli/commands/nuke.ts +34 -15
- package/src/cli/commands/pr.ts +141 -117
- package/src/cli/commands/req.ts +145 -136
- package/src/cli/commands/resume.ts +10 -9
- package/src/cli/commands/status.ts +20 -12
- package/src/cli/commands/stories.ts +13 -6
- package/src/cli/commands/teams.ts +27 -10
- package/src/cli/commands/version.ts +1 -1
- package/src/cli/dashboard/index.ts +19 -10
- package/src/cli/dashboard/panels/activity.ts +1 -2
- package/src/cli/dashboard/panels/agents.ts +47 -17
- package/src/cli/dashboard/panels/escalations.ts +8 -4
- package/src/cli/dashboard/panels/merge-queue.ts +12 -4
- package/src/cli/dashboard/panels/pipeline.ts +5 -3
- package/src/cli/dashboard/panels/stories.ts +10 -4
- package/src/cli-runtimes/claude.ts +2 -14
- package/src/cli-runtimes/codex.ts +2 -14
- package/src/cli-runtimes/gemini.ts +2 -16
- package/src/cli-runtimes/index.test.ts +9 -20
- package/src/cli-runtimes/index.ts +11 -10
- package/src/config/index.ts +1 -1
- package/src/config/loader.ts +2 -2
- package/src/config/schema.test.ts +2 -2
- package/src/config/schema.ts +8 -6
- package/src/context-files/generator.ts +11 -6
- package/src/context-files/index.test.ts +42 -12
- package/src/context-files/index.ts +4 -5
- package/src/context-files/templates.ts +15 -9
- package/src/db/client.ts +50 -34
- package/src/db/lock.test.ts +4 -4
- package/src/db/lock.ts +2 -1
- package/src/db/queries/agents.test.ts +7 -7
- package/src/db/queries/agents.ts +28 -9
- package/src/db/queries/escalations.test.ts +13 -13
- package/src/db/queries/escalations.ts +77 -31
- package/src/db/queries/heartbeat.test.ts +4 -8
- package/src/db/queries/heartbeat.ts +10 -6
- package/src/db/queries/index.test.ts +1 -1
- package/src/db/queries/index.ts +4 -4
- package/src/db/queries/logs.test.ts +22 -13
- package/src/db/queries/logs.ts +56 -24
- package/src/db/queries/messages.test.ts +24 -10
- package/src/db/queries/messages.ts +16 -5
- package/src/db/queries/pull-requests.test.ts +18 -27
- package/src/db/queries/pull-requests.ts +92 -38
- package/src/db/queries/requirements.test.ts +7 -7
- package/src/db/queries/requirements.ts +26 -8
- package/src/db/queries/stories.test.ts +17 -17
- package/src/db/queries/stories.ts +92 -31
- package/src/db/queries/teams.test.ts +4 -10
- package/src/db/queries/teams.ts +7 -3
- package/src/errors/index.ts +116 -0
- package/src/git/branches.ts +32 -20
- package/src/git/github.ts +53 -34
- package/src/git/index.ts +1 -1
- package/src/git/submodules.ts +7 -5
- package/src/index.ts +19 -13
- package/src/llm/anthropic.ts +10 -11
- package/src/llm/index.ts +2 -1
- package/src/llm/openai.ts +10 -11
- package/src/llm/provider.ts +3 -1
- package/src/orchestrator/index.ts +2 -2
- package/src/orchestrator/prompt-templates.ts +29 -7
- package/src/orchestrator/scaler.ts +16 -12
- package/src/orchestrator/scheduler.test.ts +149 -33
- package/src/orchestrator/scheduler.ts +181 -50
- package/src/orchestrator/workflow.ts +12 -11
- package/src/state-detectors/claude.test.ts +1 -1
- package/src/state-detectors/claude.ts +11 -41
- package/src/state-detectors/codex.test.ts +1 -1
- package/src/state-detectors/codex.ts +9 -34
- package/src/state-detectors/factory.test.ts +2 -2
- package/src/state-detectors/factory.ts +2 -1
- package/src/state-detectors/gemini.test.ts +1 -1
- package/src/state-detectors/gemini.ts +9 -35
- package/src/state-detectors/index.ts +1 -1
- package/src/tmux/manager.test.ts +1 -1
- package/src/tmux/manager.ts +30 -31
- package/src/utils/auto-merge.test.ts +14 -10
- package/src/utils/auto-merge.ts +19 -11
- package/src/utils/claude-code-state.ts +10 -22
- package/src/utils/cli-builder.ts +4 -3
- package/src/utils/github.test.ts +1 -1
- package/src/utils/index.ts +1 -1
- package/src/utils/timeout.ts +9 -12
- package/src/utils/version.ts +1 -1
package/README.md
CHANGED
|
@@ -294,7 +294,7 @@ models:
|
|
|
294
294
|
|
|
295
295
|
# Complexity thresholds for delegation
|
|
296
296
|
scaling:
|
|
297
|
-
junior_max_complexity: 3
|
|
297
|
+
junior_max_complexity: 3 # 1-3 → Junior
|
|
298
298
|
intermediate_max_complexity: 5 # 4-5 → Intermediate
|
|
299
299
|
senior_capacity: 20 # Story points before scaling up
|
|
300
300
|
refactor:
|
|
@@ -323,11 +323,13 @@ graph LR
|
|
|
323
323
|
```
|
|
324
324
|
|
|
325
325
|
Check escalations:
|
|
326
|
+
|
|
326
327
|
```bash
|
|
327
328
|
hive escalations list
|
|
328
329
|
```
|
|
329
330
|
|
|
330
331
|
Resolve with guidance:
|
|
332
|
+
|
|
331
333
|
```bash
|
|
332
334
|
hive escalations resolve ESC-001 --message "Use OAuth2 with PKCE flow"
|
|
333
335
|
```
|
|
@@ -342,23 +344,27 @@ hive escalations resolve ESC-001 --message "Use OAuth2 with PKCE flow"
|
|
|
342
344
|
## Troubleshooting
|
|
343
345
|
|
|
344
346
|
### Agents seem stuck
|
|
347
|
+
|
|
345
348
|
```bash
|
|
346
349
|
hive manager check # Nudge all agents
|
|
347
350
|
hive manager health # Sync status with tmux
|
|
348
351
|
```
|
|
349
352
|
|
|
350
353
|
### Agent session died
|
|
354
|
+
|
|
351
355
|
```bash
|
|
352
356
|
hive manager health # Cleans up dead agents, respawns as needed
|
|
353
357
|
```
|
|
354
358
|
|
|
355
359
|
### View agent logs
|
|
360
|
+
|
|
356
361
|
```bash
|
|
357
362
|
tmux attach -t hive-senior-alpha # Attach to see what agent is doing
|
|
358
363
|
# Detach with Ctrl+B, D
|
|
359
364
|
```
|
|
360
365
|
|
|
361
366
|
### Reset everything
|
|
367
|
+
|
|
362
368
|
```bash
|
|
363
369
|
hive nuke --all # WARNING: Deletes all data
|
|
364
370
|
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Database } from 'sql.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type AgentRow, type AgentStatus, type AgentType } from '../db/queries/agents.js';
|
|
3
3
|
import { type EventType } from '../db/queries/logs.js';
|
|
4
|
-
import
|
|
4
|
+
import type { LLMProvider, Message } from '../llm/provider.js';
|
|
5
5
|
export interface MemoryState {
|
|
6
6
|
conversationSummary: string;
|
|
7
7
|
currentTask?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { updateAgent } from '../db/queries/agents.js';
|
|
1
|
+
import { updateAgent, } from '../db/queries/agents.js';
|
|
3
2
|
import { updateAgentHeartbeat } from '../db/queries/heartbeat.js';
|
|
3
|
+
import { createLog } from '../db/queries/logs.js';
|
|
4
4
|
export class BaseAgent {
|
|
5
5
|
db;
|
|
6
6
|
provider;
|
|
@@ -36,9 +36,7 @@ export class BaseAgent {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
// Initialize messages with system prompt
|
|
39
|
-
this.messages = [
|
|
40
|
-
{ role: 'system', content: this.getSystemPrompt() },
|
|
41
|
-
];
|
|
39
|
+
this.messages = [{ role: 'system', content: this.getSystemPrompt() }];
|
|
42
40
|
// Add memory context if resuming
|
|
43
41
|
if (this.memoryState.conversationSummary) {
|
|
44
42
|
this.messages.push({
|
|
@@ -133,7 +131,10 @@ Keep it under 500 words.`;
|
|
|
133
131
|
// Reset messages but keep context
|
|
134
132
|
this.messages = [
|
|
135
133
|
{ role: 'system', content: this.getSystemPrompt() },
|
|
136
|
-
{
|
|
134
|
+
{
|
|
135
|
+
role: 'user',
|
|
136
|
+
content: `Previous context:\n${this.memoryState.conversationSummary}\n\nContinue from where you left off.`,
|
|
137
|
+
},
|
|
137
138
|
];
|
|
138
139
|
this.totalTokens = 0;
|
|
139
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { BaseAgent, type
|
|
2
|
-
export { TechLeadAgent, type TechLeadContext } from './tech-lead.js';
|
|
3
|
-
export { SeniorAgent, type SeniorContext } from './senior.js';
|
|
1
|
+
export { BaseAgent, type AgentContext, type MemoryState } from './base-agent.js';
|
|
4
2
|
export { IntermediateAgent, type IntermediateContext } from './intermediate.js';
|
|
5
3
|
export { JuniorAgent, type JuniorContext } from './junior.js';
|
|
6
4
|
export { QAAgent, type QAContext } from './qa.js';
|
|
5
|
+
export { SeniorAgent, type SeniorContext } from './senior.js';
|
|
6
|
+
export { TechLeadAgent, type TechLeadContext } from './tech-lead.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/agents/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { BaseAgent } from './base-agent.js';
|
|
2
|
-
export { TechLeadAgent } from './tech-lead.js';
|
|
3
|
-
export { SeniorAgent } from './senior.js';
|
|
4
2
|
export { IntermediateAgent } from './intermediate.js';
|
|
5
3
|
export { JuniorAgent } from './junior.js';
|
|
6
4
|
export { QAAgent } from './qa.js';
|
|
5
|
+
export { SeniorAgent } from './senior.js';
|
|
6
|
+
export { TechLeadAgent } from './tech-lead.js';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/agents/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuC,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuC,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAA4B,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intermediate.d.ts","sourceRoot":"","sources":["../../src/agents/intermediate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"intermediate.d.ts","sourceRoot":"","sources":["../../src/agents/intermediate.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,SAAQ,SAAS;IAC9C,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,EAAE,mBAAmB;IAYxC,eAAe,IAAI,MAAM;IAoCnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA+BhB,cAAc;YAyDd,gBAAgB;CAuB/B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BaseAgent } from './base-agent.js';
|
|
2
|
-
import { getTeamById } from '../db/queries/teams.js';
|
|
3
|
-
import { updateStory, getStoryById } from '../db/queries/stories.js';
|
|
4
1
|
import { getAgentsByTeam } from '../db/queries/agents.js';
|
|
5
2
|
import { createEscalation } from '../db/queries/escalations.js';
|
|
3
|
+
import { getStoryById, updateStory } from '../db/queries/stories.js';
|
|
4
|
+
import { getTeamById } from '../db/queries/teams.js';
|
|
5
|
+
import { BaseAgent } from './base-agent.js';
|
|
6
6
|
export class IntermediateAgent extends BaseAgent {
|
|
7
7
|
team = null;
|
|
8
8
|
story = null;
|
|
@@ -80,7 +80,10 @@ ${this.memoryState.conversationSummary || 'Starting fresh.'}`;
|
|
|
80
80
|
if (!this.story)
|
|
81
81
|
return;
|
|
82
82
|
const branchName = this.story.branch_name ||
|
|
83
|
-
`feature/${this.story.id.toLowerCase()}-${this.story.title
|
|
83
|
+
`feature/${this.story.id.toLowerCase()}-${this.story.title
|
|
84
|
+
.toLowerCase()
|
|
85
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
86
|
+
.substring(0, 30)}`;
|
|
84
87
|
// Update story with branch name if not set
|
|
85
88
|
if (!this.story.branch_name) {
|
|
86
89
|
updateStory(this.db, this.story.id, { branchName });
|
|
@@ -124,8 +127,7 @@ Begin implementation.`;
|
|
|
124
127
|
}
|
|
125
128
|
async escalateToSenior(reason) {
|
|
126
129
|
// Find Senior for this team
|
|
127
|
-
const seniors = getAgentsByTeam(this.db, this.teamId)
|
|
128
|
-
.filter(a => a.type === 'senior' && a.status !== 'terminated');
|
|
130
|
+
const seniors = getAgentsByTeam(this.db, this.teamId).filter(a => a.type === 'senior' && a.status !== 'terminated');
|
|
129
131
|
const seniorId = seniors[0]?.id;
|
|
130
132
|
const escalation = createEscalation(this.db, {
|
|
131
133
|
storyId: this.story?.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intermediate.js","sourceRoot":"","sources":["../../src/agents/intermediate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"intermediate.js","sourceRoot":"","sources":["../../src/agents/intermediate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"junior.d.ts","sourceRoot":"","sources":["../../src/agents/junior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"junior.d.ts","sourceRoot":"","sources":["../../src/agents/junior.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,EAAE,aAAa;IAYlC,eAAe,IAAI,MAAM;IA0CnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA+BhB,cAAc;YAwDd,gBAAgB;CAsB/B"}
|
package/dist/agents/junior.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BaseAgent } from './base-agent.js';
|
|
2
|
-
import { getTeamById } from '../db/queries/teams.js';
|
|
3
|
-
import { updateStory, getStoryById } from '../db/queries/stories.js';
|
|
4
1
|
import { getAgentsByTeam } from '../db/queries/agents.js';
|
|
5
2
|
import { createEscalation } from '../db/queries/escalations.js';
|
|
3
|
+
import { getStoryById, updateStory } from '../db/queries/stories.js';
|
|
4
|
+
import { getTeamById } from '../db/queries/teams.js';
|
|
5
|
+
import { BaseAgent } from './base-agent.js';
|
|
6
6
|
export class JuniorAgent extends BaseAgent {
|
|
7
7
|
team = null;
|
|
8
8
|
story = null;
|
|
@@ -86,7 +86,10 @@ ${this.memoryState.conversationSummary || 'Starting fresh.'}`;
|
|
|
86
86
|
if (!this.story)
|
|
87
87
|
return;
|
|
88
88
|
const branchName = this.story.branch_name ||
|
|
89
|
-
`feature/${this.story.id.toLowerCase()}-${this.story.title
|
|
89
|
+
`feature/${this.story.id.toLowerCase()}-${this.story.title
|
|
90
|
+
.toLowerCase()
|
|
91
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
92
|
+
.substring(0, 30)}`;
|
|
90
93
|
if (!this.story.branch_name) {
|
|
91
94
|
updateStory(this.db, this.story.id, { branchName });
|
|
92
95
|
}
|
|
@@ -129,8 +132,7 @@ Please help me identify which files I need to read and modify.`;
|
|
|
129
132
|
});
|
|
130
133
|
}
|
|
131
134
|
async escalateToSenior(reason) {
|
|
132
|
-
const seniors = getAgentsByTeam(this.db, this.teamId)
|
|
133
|
-
.filter(a => a.type === 'senior' && a.status !== 'terminated');
|
|
135
|
+
const seniors = getAgentsByTeam(this.db, this.teamId).filter(a => a.type === 'senior' && a.status !== 'terminated');
|
|
134
136
|
const seniorId = seniors[0]?.id;
|
|
135
137
|
const escalation = createEscalation(this.db, {
|
|
136
138
|
storyId: this.story?.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"junior.js","sourceRoot":"","sources":["../../src/agents/junior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"junior.js","sourceRoot":"","sources":["../../src/agents/junior.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/qa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/agents/qa.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/agents/qa.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,OAAQ,SAAQ,SAAS;IACpC,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,cAAc,CAAkB;gBAE5B,OAAO,EAAE,SAAS;IAY9B,eAAe,IAAI,MAAM;IAqCnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAWhB,YAAY;YAuDZ,gBAAgB;YAqBhB,QAAQ;YAkBR,QAAQ;YAoBR,QAAQ;IA2EtB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,cAAc;CAuBvB"}
|
package/dist/agents/qa.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { BaseAgent } from './base-agent.js';
|
|
2
|
-
import { getTeamById } from '../db/queries/teams.js';
|
|
3
|
-
import { getStoriesByStatus, updateStory } from '../db/queries/stories.js';
|
|
4
|
-
import { createPullRequest, getPullRequestByStory } from '../db/queries/pull-requests.js';
|
|
5
|
-
import { countQaFailuresByStory } from '../db/queries/logs.js';
|
|
6
|
-
import { createEscalation } from '../db/queries/escalations.js';
|
|
7
|
-
import { getAgentsByType } from '../db/queries/agents.js';
|
|
8
1
|
import { execa } from 'execa';
|
|
2
|
+
import { getAgentsByType } from '../db/queries/agents.js';
|
|
3
|
+
import { createEscalation } from '../db/queries/escalations.js';
|
|
4
|
+
import { countQaFailuresByStory } from '../db/queries/logs.js';
|
|
5
|
+
import { createPullRequest, getPullRequestByStory } from '../db/queries/pull-requests.js';
|
|
6
|
+
import { getStoriesByStatus, updateStory } from '../db/queries/stories.js';
|
|
7
|
+
import { getTeamById } from '../db/queries/teams.js';
|
|
8
|
+
import { BaseAgent } from './base-agent.js';
|
|
9
9
|
export class QAAgent extends BaseAgent {
|
|
10
10
|
team = null;
|
|
11
11
|
qaConfig;
|
|
@@ -15,8 +15,7 @@ export class QAAgent extends BaseAgent {
|
|
|
15
15
|
this.qaConfig = context.qaConfig;
|
|
16
16
|
if (context.agentRow.team_id) {
|
|
17
17
|
this.team = getTeamById(this.db, context.agentRow.team_id) || null;
|
|
18
|
-
this.pendingStories = getStoriesByStatus(this.db, 'qa')
|
|
19
|
-
.filter(s => s.team_id === context.agentRow.team_id);
|
|
18
|
+
this.pendingStories = getStoriesByStatus(this.db, 'qa').filter(s => s.team_id === context.agentRow.team_id);
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
getSystemPrompt() {
|
|
@@ -183,11 +182,16 @@ ${this.memoryState.conversationSummary || 'Starting fresh.'}`;
|
|
|
183
182
|
const title = `${story.id}: ${story.title}`;
|
|
184
183
|
const body = this.generatePRBody(story);
|
|
185
184
|
const { stdout } = await execa('gh', [
|
|
186
|
-
'pr',
|
|
187
|
-
'
|
|
188
|
-
'--
|
|
189
|
-
|
|
190
|
-
'--
|
|
185
|
+
'pr',
|
|
186
|
+
'create',
|
|
187
|
+
'--title',
|
|
188
|
+
title,
|
|
189
|
+
'--body',
|
|
190
|
+
body,
|
|
191
|
+
'--base',
|
|
192
|
+
'main',
|
|
193
|
+
'--head',
|
|
194
|
+
story.branch_name,
|
|
191
195
|
], { cwd: this.workDir });
|
|
192
196
|
// Extract PR URL from output
|
|
193
197
|
const prUrl = stdout.trim();
|
|
@@ -243,7 +247,9 @@ ${this.memoryState.conversationSummary || 'Starting fresh.'}`;
|
|
|
243
247
|
}
|
|
244
248
|
generatePRBody(story) {
|
|
245
249
|
const acceptanceCriteria = story.acceptance_criteria
|
|
246
|
-
? JSON.parse(story.acceptance_criteria)
|
|
250
|
+
? JSON.parse(story.acceptance_criteria)
|
|
251
|
+
.map((c) => `- [ ] ${c}`)
|
|
252
|
+
.join('\n')
|
|
247
253
|
: 'N/A';
|
|
248
254
|
return `## Story: ${story.id}
|
|
249
255
|
|
package/dist/agents/qa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/agents/qa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/agents/qa.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senior.d.ts","sourceRoot":"","sources":["../../src/agents/senior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"senior.d.ts","sourceRoot":"","sources":["../../src/agents/senior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAW/D,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,OAAO,EAAE,aAAa;IAUlC,eAAe,IAAI,MAAM;IA2CnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBhB,eAAe;YAwBf,YAAY;YAkBZ,aAAa;YAqEb,cAAc;YAyDd,WAAW;IA8CnB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBxD"}
|
package/dist/agents/senior.js
CHANGED
|
@@ -7,6 +7,7 @@ import { spawnTmuxSession, generateSessionName } from '../tmux/manager.js';
|
|
|
7
7
|
import { loadConfig } from '../config/index.js';
|
|
8
8
|
import { getCliRuntimeBuilder } from '../cli-runtimes/index.js';
|
|
9
9
|
import { findHiveRoot, getHivePaths } from '../utils/paths.js';
|
|
10
|
+
import { NotFoundError } from '../errors/index.js';
|
|
10
11
|
export class SeniorAgent extends BaseAgent {
|
|
11
12
|
team = null;
|
|
12
13
|
assignedStories = [];
|
|
@@ -14,8 +15,7 @@ export class SeniorAgent extends BaseAgent {
|
|
|
14
15
|
super(context);
|
|
15
16
|
if (context.teamId) {
|
|
16
17
|
this.team = getTeamById(this.db, context.teamId) || null;
|
|
17
|
-
this.assignedStories = getStoriesByTeam(this.db, context.teamId)
|
|
18
|
-
.filter(s => ['planned', 'in_progress', 'review'].includes(s.status));
|
|
18
|
+
this.assignedStories = getStoriesByTeam(this.db, context.teamId).filter((s) => ['planned', 'in_progress', 'review'].includes(s.status));
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
getSystemPrompt() {
|
|
@@ -23,7 +23,9 @@ export class SeniorAgent extends BaseAgent {
|
|
|
23
23
|
? `Team: ${this.team.name}\nRepository: ${this.team.repo_url}\nPath: ${this.team.repo_path}`
|
|
24
24
|
: 'No team assigned';
|
|
25
25
|
const storiesInfo = this.assignedStories.length > 0
|
|
26
|
-
? this.assignedStories
|
|
26
|
+
? this.assignedStories
|
|
27
|
+
.map((s) => `- ${s.id}: ${s.title} (${s.status}, complexity: ${s.complexity_score})`)
|
|
28
|
+
.join('\n')
|
|
27
29
|
: 'No stories assigned';
|
|
28
30
|
return `You are a Senior Developer responsible for a specific team and repository.
|
|
29
31
|
|
|
@@ -126,7 +128,7 @@ This will help with story estimation and implementation.`;
|
|
|
126
128
|
// Load config and get CLI runtime settings for the subordinate agent type
|
|
127
129
|
const hiveRoot = findHiveRoot(this.workDir);
|
|
128
130
|
if (!hiveRoot) {
|
|
129
|
-
throw new
|
|
131
|
+
throw new NotFoundError('Hive root not found');
|
|
130
132
|
}
|
|
131
133
|
const paths = getHivePaths(hiveRoot);
|
|
132
134
|
const config = loadConfig(paths.hiveDir);
|
|
@@ -173,7 +175,10 @@ This will help with story estimation and implementation.`;
|
|
|
173
175
|
});
|
|
174
176
|
updateAgent(this.db, this.agentId, { currentStoryId: story.id });
|
|
175
177
|
// Create feature branch
|
|
176
|
-
const branchName = `feature/${story.id.toLowerCase()}-${story.title
|
|
178
|
+
const branchName = `feature/${story.id.toLowerCase()}-${story.title
|
|
179
|
+
.toLowerCase()
|
|
180
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
181
|
+
.substring(0, 30)}`;
|
|
177
182
|
this.log('STORY_STARTED', `Implementing: ${story.title}`, { branchName });
|
|
178
183
|
const prompt = `Implement this story:
|
|
179
184
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senior.js","sourceRoot":"","sources":["../../src/agents/senior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAgB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAiB,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"senior.js","sourceRoot":"","sources":["../../src/agents/senior.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tech-lead.d.ts","sourceRoot":"","sources":["../../src/agents/tech-lead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"tech-lead.d.ts","sourceRoot":"","sources":["../../src/agents/tech-lead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAkB/D,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,aAAc,SAAQ,SAAS;IAC1C,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAiB;gBAEzB,OAAO,EAAE,eAAe;IAUpC,eAAe,IAAI,MAAM;IA2CnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BhB,kBAAkB;YAyElB,aAAa;YAkDb,qBAAqB;YA4FrB,eAAe;CAe9B"}
|
package/dist/agents/tech-lead.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseAgent } from './base-agent.js';
|
|
2
2
|
import { getAllTeams } from '../db/queries/teams.js';
|
|
3
|
-
import { getRequirementById, updateRequirement } from '../db/queries/requirements.js';
|
|
3
|
+
import { getRequirementById, updateRequirement, } from '../db/queries/requirements.js';
|
|
4
4
|
import { createStory, updateStory, getStoryById } from '../db/queries/stories.js';
|
|
5
5
|
import { createAgent, getAgentsByType, updateAgent } from '../db/queries/agents.js';
|
|
6
6
|
import { createEscalation } from '../db/queries/escalations.js';
|
|
@@ -10,6 +10,7 @@ import { addStoryDependency } from '../db/queries/stories.js';
|
|
|
10
10
|
import { loadConfig } from '../config/index.js';
|
|
11
11
|
import { getCliRuntimeBuilder } from '../cli-runtimes/index.js';
|
|
12
12
|
import { findHiveRoot, getHivePaths } from '../utils/paths.js';
|
|
13
|
+
import { NotFoundError } from '../errors/index.js';
|
|
13
14
|
export class TechLeadAgent extends BaseAgent {
|
|
14
15
|
teams = [];
|
|
15
16
|
requirementId;
|
|
@@ -24,7 +25,7 @@ export class TechLeadAgent extends BaseAgent {
|
|
|
24
25
|
}
|
|
25
26
|
getSystemPrompt() {
|
|
26
27
|
const teamList = this.teams
|
|
27
|
-
.map(t => `- ${t.name} (${t.repo_path}): ${t.repo_url}`)
|
|
28
|
+
.map((t) => `- ${t.name} (${t.repo_path}): ${t.repo_url}`)
|
|
28
29
|
.join('\n');
|
|
29
30
|
return `You are the Tech Lead of Hive, an AI development team orchestrator.
|
|
30
31
|
|
|
@@ -94,7 +95,7 @@ Description:
|
|
|
94
95
|
${this.requirement.description}
|
|
95
96
|
|
|
96
97
|
## Available Teams
|
|
97
|
-
${this.teams.map(t => `- ${t.name}: ${t.repo_path}`).join('\n')}
|
|
98
|
+
${this.teams.map((t) => `- ${t.name}: ${t.repo_path}`).join('\n')}
|
|
98
99
|
|
|
99
100
|
## Instructions
|
|
100
101
|
1. Identify which teams are affected
|
|
@@ -146,7 +147,7 @@ Respond in JSON format:
|
|
|
146
147
|
const storyIds = [];
|
|
147
148
|
const storyIdMap = {};
|
|
148
149
|
for (const story of analysis.stories) {
|
|
149
|
-
const team = this.teams.find(t => t.name === story.teamName);
|
|
150
|
+
const team = this.teams.find((t) => t.name === story.teamName);
|
|
150
151
|
const storyRow = createStory(this.db, {
|
|
151
152
|
requirementId: this.requirement.id,
|
|
152
153
|
teamId: team?.id,
|
|
@@ -193,11 +194,11 @@ Respond in JSON format:
|
|
|
193
194
|
}
|
|
194
195
|
// Spawn or assign Senior for each team
|
|
195
196
|
for (const teamId of teamIds) {
|
|
196
|
-
const team = this.teams.find(t => t.id === teamId);
|
|
197
|
+
const team = this.teams.find((t) => t.id === teamId);
|
|
197
198
|
if (!team)
|
|
198
199
|
continue;
|
|
199
200
|
// Check if Senior already exists for this team
|
|
200
|
-
let seniors = getAgentsByType(this.db, 'senior').filter(s => s.team_id === teamId);
|
|
201
|
+
let seniors = getAgentsByType(this.db, 'senior').filter((s) => s.team_id === teamId);
|
|
201
202
|
if (seniors.length === 0) {
|
|
202
203
|
// Create a new Senior agent
|
|
203
204
|
const senior = createAgent(this.db, {
|
|
@@ -211,7 +212,7 @@ Respond in JSON format:
|
|
|
211
212
|
// Load config and get CLI runtime settings for the senior agent type
|
|
212
213
|
const hiveRoot = findHiveRoot(this.workDir);
|
|
213
214
|
if (!hiveRoot) {
|
|
214
|
-
throw new
|
|
215
|
+
throw new NotFoundError('Hive root not found');
|
|
215
216
|
}
|
|
216
217
|
const paths = getHivePaths(hiveRoot);
|
|
217
218
|
const config = loadConfig(paths.hiveDir);
|