hungry-ghost-hive 0.16.0 → 0.17.1
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 +2 -2
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +4 -2
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/senior.d.ts +0 -1
- package/dist/agents/senior.d.ts.map +1 -1
- package/dist/agents/senior.js +6 -81
- package/dist/agents/senior.js.map +1 -1
- package/dist/agents/tech-lead.d.ts.map +1 -1
- package/dist/agents/tech-lead.js +3 -1
- 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 +56 -65
- package/dist/cli/commands/add-repo.js.map +1 -1
- package/dist/cli/commands/agents.js +15 -62
- 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 +111 -103
- package/dist/cli/commands/assign.js.map +1 -1
- package/dist/cli/commands/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/cleanup.js +3 -14
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/config.js +72 -84
- 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 -50
- package/dist/cli/commands/escalations.js.map +1 -1
- package/dist/cli/commands/manager.d.ts.map +1 -1
- package/dist/cli/commands/manager.js +456 -462
- package/dist/cli/commands/manager.js.map +1 -1
- package/dist/cli/commands/msg.js +12 -62
- 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 +10 -50
- 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 +10 -50
- 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 +28 -129
- 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 +123 -120
- 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 +9 -19
- 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 +39 -23
- 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 +6 -27
- 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 +7 -38
- package/dist/cli/commands/teams.js.map +1 -1
- package/dist/cli/dashboard/index.d.ts +5 -0
- package/dist/cli/dashboard/index.d.ts.map +1 -1
- package/dist/cli/dashboard/index.js +16 -4
- package/dist/cli/dashboard/index.js.map +1 -1
- package/dist/cli/dashboard/index.test.d.ts +2 -0
- package/dist/cli/dashboard/index.test.d.ts.map +1 -0
- package/dist/cli/dashboard/index.test.js +85 -0
- package/dist/cli/dashboard/index.test.js.map +1 -0
- package/dist/cli-runtimes/index.js +1 -1
- package/dist/cli-runtimes/index.js.map +1 -1
- package/dist/db/client.d.ts +1 -0
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +13 -1
- package/dist/db/client.js.map +1 -1
- package/dist/db/lock.js +1 -1
- package/dist/db/lock.js.map +1 -1
- package/dist/db/queries/heartbeat.d.ts.map +1 -1
- package/dist/db/queries/heartbeat.js +4 -2
- package/dist/db/queries/heartbeat.js.map +1 -1
- package/dist/db/queries/requirements.d.ts +2 -0
- package/dist/db/queries/requirements.d.ts.map +1 -1
- package/dist/db/queries/requirements.js +7 -3
- package/dist/db/queries/requirements.js.map +1 -1
- package/dist/db/queries/requirements.test.js +28 -0
- package/dist/db/queries/requirements.test.js.map +1 -1
- package/dist/db/queries/test-helpers.d.ts.map +1 -1
- package/dist/db/queries/test-helpers.js +1 -0
- package/dist/db/queries/test-helpers.js.map +1 -1
- package/dist/git/branches.js +3 -3
- package/dist/git/branches.js.map +1 -1
- package/dist/git/github.js +1 -1
- package/dist/git/github.js.map +1 -1
- package/dist/git/submodules.js +2 -2
- package/dist/git/submodules.js.map +1 -1
- package/dist/git/worktree.d.ts +17 -0
- package/dist/git/worktree.d.ts.map +1 -0
- package/dist/git/worktree.js +31 -0
- package/dist/git/worktree.js.map +1 -0
- package/dist/git/worktree.test.d.ts +2 -0
- package/dist/git/worktree.test.d.ts.map +1 -0
- package/dist/git/worktree.test.js +53 -0
- package/dist/git/worktree.test.js.map +1 -0
- package/dist/orchestrator/index.d.ts +0 -2
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +0 -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 +19 -5
- package/dist/orchestrator/prompt-templates.js.map +1 -1
- package/dist/orchestrator/prompt-templates.test.js +27 -1
- package/dist/orchestrator/prompt-templates.test.js.map +1 -1
- package/dist/orchestrator/scheduler.d.ts +7 -1
- package/dist/orchestrator/scheduler.d.ts.map +1 -1
- package/dist/orchestrator/scheduler.js +71 -32
- package/dist/orchestrator/scheduler.js.map +1 -1
- package/dist/orchestrator/scheduler.test.js +94 -15
- package/dist/orchestrator/scheduler.test.js.map +1 -1
- package/dist/state-detectors/base.d.ts +48 -0
- package/dist/state-detectors/base.d.ts.map +1 -0
- package/dist/state-detectors/base.js +88 -0
- package/dist/state-detectors/base.js.map +1 -0
- package/dist/state-detectors/base.test.d.ts +2 -0
- package/dist/state-detectors/base.test.d.ts.map +1 -0
- package/dist/state-detectors/base.test.js +137 -0
- package/dist/state-detectors/base.test.js.map +1 -0
- package/dist/state-detectors/claude.d.ts +5 -21
- package/dist/state-detectors/claude.d.ts.map +1 -1
- package/dist/state-detectors/claude.js +7 -92
- package/dist/state-detectors/claude.js.map +1 -1
- package/dist/state-detectors/codex.d.ts +5 -21
- package/dist/state-detectors/codex.d.ts.map +1 -1
- package/dist/state-detectors/codex.js +7 -92
- package/dist/state-detectors/codex.js.map +1 -1
- package/dist/state-detectors/gemini.d.ts +5 -21
- package/dist/state-detectors/gemini.d.ts.map +1 -1
- package/dist/state-detectors/gemini.js +7 -92
- package/dist/state-detectors/gemini.js.map +1 -1
- package/dist/state-detectors/index.d.ts +2 -0
- package/dist/state-detectors/index.d.ts.map +1 -1
- package/dist/state-detectors/index.js +2 -0
- package/dist/state-detectors/index.js.map +1 -1
- package/dist/tmux/manager.d.ts.map +1 -1
- package/dist/tmux/manager.js +55 -24
- package/dist/tmux/manager.js.map +1 -1
- package/dist/utils/auto-merge.d.ts.map +1 -1
- package/dist/utils/auto-merge.js +8 -4
- package/dist/utils/auto-merge.js.map +1 -1
- package/dist/utils/github.js +1 -1
- package/dist/utils/github.js.map +1 -1
- package/dist/utils/pr-sync.d.ts +59 -0
- package/dist/utils/pr-sync.d.ts.map +1 -0
- package/dist/utils/pr-sync.js +156 -0
- package/dist/utils/pr-sync.js.map +1 -0
- package/dist/utils/pr-sync.test.d.ts +2 -0
- package/dist/utils/pr-sync.test.d.ts.map +1 -0
- package/dist/utils/pr-sync.test.js +190 -0
- package/dist/utils/pr-sync.test.js.map +1 -0
- package/dist/utils/story-id.d.ts +3 -1
- package/dist/utils/story-id.d.ts.map +1 -1
- package/dist/utils/story-id.js +38 -4
- package/dist/utils/story-id.js.map +1 -1
- package/dist/utils/story-id.test.d.ts +2 -0
- package/dist/utils/story-id.test.d.ts.map +1 -0
- package/dist/utils/story-id.test.js +62 -0
- package/dist/utils/story-id.test.js.map +1 -0
- package/dist/utils/version.js +2 -2
- package/dist/utils/version.js.map +1 -1
- package/dist/utils/with-hive-context.d.ts +14 -0
- package/dist/utils/with-hive-context.d.ts.map +1 -0
- package/dist/utils/with-hive-context.js +27 -0
- package/dist/utils/with-hive-context.js.map +1 -0
- package/dist/utils/with-hive-context.test.d.ts +2 -0
- package/dist/utils/with-hive-context.test.d.ts.map +1 -0
- package/dist/utils/with-hive-context.test.js +95 -0
- package/dist/utils/with-hive-context.test.js.map +1 -0
- package/package.json +1 -1
- package/src/agents/base-agent.ts +5 -2
- package/src/agents/senior.ts +6 -94
- package/src/agents/tech-lead.ts +3 -1
- package/src/cli/commands/add-repo.ts +59 -70
- package/src/cli/commands/agents.ts +15 -67
- package/src/cli/commands/assign.ts +117 -107
- package/src/cli/commands/cleanup.ts +4 -15
- package/src/cli/commands/config.ts +66 -84
- package/src/cli/commands/escalations.ts +9 -54
- package/src/cli/commands/manager.ts +605 -556
- package/src/cli/commands/msg.ts +12 -67
- package/src/cli/commands/my-stories.ts +10 -54
- package/src/cli/commands/nuke.ts +10 -54
- package/src/cli/commands/pr.ts +28 -149
- package/src/cli/commands/req.ts +141 -132
- package/src/cli/commands/resume.ts +13 -21
- package/src/cli/commands/status.ts +39 -24
- package/src/cli/commands/stories.ts +6 -29
- package/src/cli/commands/teams.ts +7 -41
- package/src/cli/dashboard/index.test.ts +105 -0
- package/src/cli/dashboard/index.ts +21 -4
- package/src/cli-runtimes/index.ts +1 -1
- package/src/db/client.ts +18 -1
- package/src/db/lock.ts +1 -1
- package/src/db/queries/heartbeat.ts +5 -2
- package/src/db/queries/requirements.test.ts +36 -0
- package/src/db/queries/requirements.ts +10 -4
- package/src/db/queries/test-helpers.ts +1 -0
- package/src/git/branches.ts +3 -3
- package/src/git/github.ts +1 -1
- package/src/git/submodules.ts +2 -2
- package/src/git/worktree.test.ts +82 -0
- package/src/git/worktree.ts +42 -0
- package/src/orchestrator/index.ts +0 -2
- package/src/orchestrator/prompt-templates.test.ts +39 -1
- package/src/orchestrator/prompt-templates.ts +19 -5
- package/src/orchestrator/scheduler.test.ts +105 -14
- package/src/orchestrator/scheduler.ts +80 -32
- package/src/state-detectors/base.test.ts +165 -0
- package/src/state-detectors/base.ts +114 -0
- package/src/state-detectors/claude.ts +8 -108
- package/src/state-detectors/codex.ts +8 -108
- package/src/state-detectors/gemini.ts +8 -108
- package/src/state-detectors/index.ts +4 -0
- package/src/tmux/manager.ts +65 -26
- package/src/utils/auto-merge.ts +9 -4
- package/src/utils/github.ts +1 -1
- package/src/utils/pr-sync.test.ts +233 -0
- package/src/utils/pr-sync.ts +232 -0
- package/src/utils/story-id.test.ts +77 -0
- package/src/utils/story-id.ts +46 -4
- package/src/utils/version.ts +2 -2
- package/src/utils/with-hive-context.test.ts +118 -0
- package/src/utils/with-hive-context.ts +39 -0
- package/dist/db/dao/__tests__/agent.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/agent.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/agent.sqlite-dao.test.js +0 -133
- package/dist/db/dao/__tests__/agent.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/dao-broader.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/dao-broader.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/dao-broader.sqlite-dao.test.js +0 -488
- package/dist/db/dao/__tests__/dao-broader.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/dao-interface.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/dao-interface.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/dao-interface.sqlite-dao.test.js +0 -145
- package/dist/db/dao/__tests__/dao-interface.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/edge-cases.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/edge-cases.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/edge-cases.sqlite-dao.test.js +0 -286
- package/dist/db/dao/__tests__/edge-cases.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/escalation.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/escalation.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/escalation.sqlite-dao.test.js +0 -156
- package/dist/db/dao/__tests__/escalation.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/helpers.d.ts +0 -6
- package/dist/db/dao/__tests__/helpers.d.ts.map +0 -1
- package/dist/db/dao/__tests__/helpers.js +0 -150
- package/dist/db/dao/__tests__/helpers.js.map +0 -1
- package/dist/db/dao/__tests__/hive-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/hive-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/hive-dao.test.js +0 -110
- package/dist/db/dao/__tests__/hive-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/leveldb-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/leveldb-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/leveldb-dao.test.js +0 -152
- package/dist/db/dao/__tests__/leveldb-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/leveldb-helpers.d.ts +0 -7
- package/dist/db/dao/__tests__/leveldb-helpers.d.ts.map +0 -1
- package/dist/db/dao/__tests__/leveldb-helpers.js +0 -17
- package/dist/db/dao/__tests__/leveldb-helpers.js.map +0 -1
- package/dist/db/dao/__tests__/log.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/log.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/log.sqlite-dao.test.js +0 -152
- package/dist/db/dao/__tests__/log.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/message.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/message.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/message.sqlite-dao.test.js +0 -77
- package/dist/db/dao/__tests__/message.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/pull-request.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/pull-request.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/pull-request.sqlite-dao.test.js +0 -149
- package/dist/db/dao/__tests__/pull-request.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/requirement.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/requirement.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/requirement.sqlite-dao.test.js +0 -98
- package/dist/db/dao/__tests__/requirement.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/story.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/story.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/story.sqlite-dao.test.js +0 -234
- package/dist/db/dao/__tests__/story.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/__tests__/team.sqlite-dao.test.d.ts +0 -2
- package/dist/db/dao/__tests__/team.sqlite-dao.test.d.ts.map +0 -1
- package/dist/db/dao/__tests__/team.sqlite-dao.test.js +0 -73
- package/dist/db/dao/__tests__/team.sqlite-dao.test.js.map +0 -1
- package/dist/db/dao/hive-dao.d.ts +0 -21
- package/dist/db/dao/hive-dao.d.ts.map +0 -1
- package/dist/db/dao/hive-dao.js +0 -21
- package/dist/db/dao/hive-dao.js.map +0 -1
- package/dist/db/dao/index.d.ts +0 -14
- package/dist/db/dao/index.d.ts.map +0 -1
- package/dist/db/dao/index.js +0 -8
- package/dist/db/dao/index.js.map +0 -1
- package/dist/db/dao/interfaces/agent.dao.d.ts +0 -26
- package/dist/db/dao/interfaces/agent.dao.d.ts.map +0 -1
- package/dist/db/dao/interfaces/agent.dao.js +0 -2
- package/dist/db/dao/interfaces/agent.dao.js.map +0 -1
- package/dist/db/dao/interfaces/escalation.dao.d.ts +0 -18
- package/dist/db/dao/interfaces/escalation.dao.d.ts.map +0 -1
- package/dist/db/dao/interfaces/escalation.dao.js +0 -2
- package/dist/db/dao/interfaces/escalation.dao.js.map +0 -1
- package/dist/db/dao/interfaces/index.d.ts +0 -17
- package/dist/db/dao/interfaces/index.d.ts.map +0 -1
- package/dist/db/dao/interfaces/index.js +0 -2
- package/dist/db/dao/interfaces/index.js.map +0 -1
- package/dist/db/dao/interfaces/log.dao.d.ts +0 -13
- package/dist/db/dao/interfaces/log.dao.d.ts.map +0 -1
- package/dist/db/dao/interfaces/log.dao.js +0 -2
- package/dist/db/dao/interfaces/log.dao.js.map +0 -1
- package/dist/db/dao/interfaces/message.dao.d.ts +0 -9
- package/dist/db/dao/interfaces/message.dao.d.ts.map +0 -1
- package/dist/db/dao/interfaces/message.dao.js +0 -2
- package/dist/db/dao/interfaces/message.dao.js.map +0 -1
- package/dist/db/dao/interfaces/pull-request.dao.d.ts +0 -18
- package/dist/db/dao/interfaces/pull-request.dao.d.ts.map +0 -1
- package/dist/db/dao/interfaces/pull-request.dao.js +0 -2
- package/dist/db/dao/interfaces/pull-request.dao.js.map +0 -1
- package/dist/db/dao/interfaces/requirement.dao.d.ts +0 -12
- package/dist/db/dao/interfaces/requirement.dao.d.ts.map +0 -1
- package/dist/db/dao/interfaces/requirement.dao.js +0 -2
- package/dist/db/dao/interfaces/requirement.dao.js.map +0 -1
- package/dist/db/dao/interfaces/story.dao.d.ts +0 -28
- package/dist/db/dao/interfaces/story.dao.d.ts.map +0 -1
- package/dist/db/dao/interfaces/story.dao.js +0 -2
- package/dist/db/dao/interfaces/story.dao.js.map +0 -1
- package/dist/db/dao/interfaces/team.dao.d.ts +0 -10
- package/dist/db/dao/interfaces/team.dao.d.ts.map +0 -1
- package/dist/db/dao/interfaces/team.dao.js +0 -2
- package/dist/db/dao/interfaces/team.dao.js.map +0 -1
- package/dist/db/dao/leveldb/agent.leveldb-dao.d.ts +0 -23
- package/dist/db/dao/leveldb/agent.leveldb-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/agent.leveldb-dao.js +0 -161
- package/dist/db/dao/leveldb/agent.leveldb-dao.js.map +0 -1
- package/dist/db/dao/leveldb/escalation.leveldb-dao.d.ts +0 -22
- package/dist/db/dao/leveldb/escalation.leveldb-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/escalation.leveldb-dao.js +0 -99
- package/dist/db/dao/leveldb/escalation.leveldb-dao.js.map +0 -1
- package/dist/db/dao/leveldb/hive-dao.d.ts +0 -8
- package/dist/db/dao/leveldb/hive-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/hive-dao.js +0 -24
- package/dist/db/dao/leveldb/hive-dao.js.map +0 -1
- package/dist/db/dao/leveldb/index.d.ts +0 -11
- package/dist/db/dao/leveldb/index.d.ts.map +0 -1
- package/dist/db/dao/leveldb/index.js +0 -10
- package/dist/db/dao/leveldb/index.js.map +0 -1
- package/dist/db/dao/leveldb/leveldb-store.d.ts +0 -17
- package/dist/db/dao/leveldb/leveldb-store.d.ts.map +0 -1
- package/dist/db/dao/leveldb/leveldb-store.js +0 -44
- package/dist/db/dao/leveldb/leveldb-store.js.map +0 -1
- package/dist/db/dao/leveldb/log.leveldb-dao.d.ts +0 -17
- package/dist/db/dao/leveldb/log.leveldb-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/log.leveldb-dao.js +0 -67
- package/dist/db/dao/leveldb/log.leveldb-dao.js.map +0 -1
- package/dist/db/dao/leveldb/message.leveldb-dao.d.ts +0 -12
- package/dist/db/dao/leveldb/message.leveldb-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/message.leveldb-dao.js +0 -32
- package/dist/db/dao/leveldb/message.leveldb-dao.js.map +0 -1
- package/dist/db/dao/leveldb/pull-request.leveldb-dao.d.ts +0 -22
- package/dist/db/dao/leveldb/pull-request.leveldb-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/pull-request.leveldb-dao.js +0 -116
- package/dist/db/dao/leveldb/pull-request.leveldb-dao.js.map +0 -1
- package/dist/db/dao/leveldb/requirement.leveldb-dao.d.ts +0 -16
- package/dist/db/dao/leveldb/requirement.leveldb-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/requirement.leveldb-dao.js +0 -68
- package/dist/db/dao/leveldb/requirement.leveldb-dao.js.map +0 -1
- package/dist/db/dao/leveldb/sort.d.ts +0 -23
- package/dist/db/dao/leveldb/sort.d.ts.map +0 -1
- package/dist/db/dao/leveldb/sort.js +0 -25
- package/dist/db/dao/leveldb/sort.js.map +0 -1
- package/dist/db/dao/leveldb/story.leveldb-dao.d.ts +0 -32
- package/dist/db/dao/leveldb/story.leveldb-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/story.leveldb-dao.js +0 -220
- package/dist/db/dao/leveldb/story.leveldb-dao.js.map +0 -1
- package/dist/db/dao/leveldb/team.leveldb-dao.d.ts +0 -14
- package/dist/db/dao/leveldb/team.leveldb-dao.d.ts.map +0 -1
- package/dist/db/dao/leveldb/team.leveldb-dao.js +0 -44
- package/dist/db/dao/leveldb/team.leveldb-dao.js.map +0 -1
- package/dist/db/dao/sqlite/agent.sqlite-dao.d.ts +0 -22
- package/dist/db/dao/sqlite/agent.sqlite-dao.d.ts.map +0 -1
- package/dist/db/dao/sqlite/agent.sqlite-dao.js +0 -139
- package/dist/db/dao/sqlite/agent.sqlite-dao.js.map +0 -1
- package/dist/db/dao/sqlite/escalation.sqlite-dao.d.ts +0 -21
- package/dist/db/dao/sqlite/escalation.sqlite-dao.d.ts.map +0 -1
- package/dist/db/dao/sqlite/escalation.sqlite-dao.js +0 -111
- package/dist/db/dao/sqlite/escalation.sqlite-dao.js.map +0 -1
- package/dist/db/dao/sqlite/index.d.ts +0 -9
- package/dist/db/dao/sqlite/index.d.ts.map +0 -1
- package/dist/db/dao/sqlite/index.js +0 -9
- package/dist/db/dao/sqlite/index.js.map +0 -1
- package/dist/db/dao/sqlite/log.sqlite-dao.d.ts +0 -16
- package/dist/db/dao/sqlite/log.sqlite-dao.d.ts.map +0 -1
- package/dist/db/dao/sqlite/log.sqlite-dao.js +0 -76
- package/dist/db/dao/sqlite/log.sqlite-dao.js.map +0 -1
- package/dist/db/dao/sqlite/message.sqlite-dao.d.ts +0 -12
- package/dist/db/dao/sqlite/message.sqlite-dao.d.ts.map +0 -1
- package/dist/db/dao/sqlite/message.sqlite-dao.js +0 -30
- package/dist/db/dao/sqlite/message.sqlite-dao.js.map +0 -1
- package/dist/db/dao/sqlite/pull-request.sqlite-dao.d.ts +0 -21
- package/dist/db/dao/sqlite/pull-request.sqlite-dao.d.ts.map +0 -1
- package/dist/db/dao/sqlite/pull-request.sqlite-dao.js +0 -137
- package/dist/db/dao/sqlite/pull-request.sqlite-dao.js.map +0 -1
- package/dist/db/dao/sqlite/requirement.sqlite-dao.d.ts +0 -15
- package/dist/db/dao/sqlite/requirement.sqlite-dao.d.ts.map +0 -1
- package/dist/db/dao/sqlite/requirement.sqlite-dao.js +0 -59
- package/dist/db/dao/sqlite/requirement.sqlite-dao.js.map +0 -1
- package/dist/db/dao/sqlite/story.sqlite-dao.d.ts +0 -31
- package/dist/db/dao/sqlite/story.sqlite-dao.d.ts.map +0 -1
- package/dist/db/dao/sqlite/story.sqlite-dao.js +0 -200
- package/dist/db/dao/sqlite/story.sqlite-dao.js.map +0 -1
- package/dist/db/dao/sqlite/team.sqlite-dao.d.ts +0 -13
- package/dist/db/dao/sqlite/team.sqlite-dao.d.ts.map +0 -1
- package/dist/db/dao/sqlite/team.sqlite-dao.js +0 -30
- package/dist/db/dao/sqlite/team.sqlite-dao.js.map +0 -1
- package/dist/orchestrator/scaler.d.ts +0 -42
- package/dist/orchestrator/scaler.d.ts.map +0 -1
- package/dist/orchestrator/scaler.js +0 -164
- package/dist/orchestrator/scaler.js.map +0 -1
- package/dist/orchestrator/workflow.d.ts +0 -18
- package/dist/orchestrator/workflow.d.ts.map +0 -1
- package/dist/orchestrator/workflow.js +0 -105
- package/dist/orchestrator/workflow.js.map +0 -1
- package/src/db/dao/__tests__/agent.sqlite-dao.test.ts +0 -164
- package/src/db/dao/__tests__/dao-broader.sqlite-dao.test.ts +0 -621
- package/src/db/dao/__tests__/dao-interface.sqlite-dao.test.ts +0 -177
- package/src/db/dao/__tests__/edge-cases.sqlite-dao.test.ts +0 -340
- package/src/db/dao/__tests__/escalation.sqlite-dao.test.ts +0 -193
- package/src/db/dao/__tests__/helpers.ts +0 -166
- package/src/db/dao/__tests__/hive-dao.test.ts +0 -136
- package/src/db/dao/__tests__/leveldb-dao.test.ts +0 -182
- package/src/db/dao/__tests__/leveldb-helpers.ts +0 -23
- package/src/db/dao/__tests__/log.sqlite-dao.test.ts +0 -196
- package/src/db/dao/__tests__/message.sqlite-dao.test.ts +0 -102
- package/src/db/dao/__tests__/pull-request.sqlite-dao.test.ts +0 -185
- package/src/db/dao/__tests__/requirement.sqlite-dao.test.ts +0 -120
- package/src/db/dao/__tests__/story.sqlite-dao.test.ts +0 -289
- package/src/db/dao/__tests__/team.sqlite-dao.test.ts +0 -89
- package/src/db/dao/hive-dao.ts +0 -41
- package/src/db/dao/index.ts +0 -39
- package/src/db/dao/interfaces/agent.dao.ts +0 -35
- package/src/db/dao/interfaces/escalation.dao.ts +0 -24
- package/src/db/dao/interfaces/index.ts +0 -39
- package/src/db/dao/interfaces/log.dao.ts +0 -14
- package/src/db/dao/interfaces/message.dao.ts +0 -10
- package/src/db/dao/interfaces/pull-request.dao.ts +0 -24
- package/src/db/dao/interfaces/requirement.dao.ts +0 -18
- package/src/db/dao/interfaces/story.dao.ts +0 -31
- package/src/db/dao/interfaces/team.dao.ts +0 -11
- package/src/db/dao/leveldb/agent.leveldb-dao.ts +0 -186
- package/src/db/dao/leveldb/escalation.leveldb-dao.ts +0 -128
- package/src/db/dao/leveldb/hive-dao.ts +0 -34
- package/src/db/dao/leveldb/index.ts +0 -10
- package/src/db/dao/leveldb/leveldb-store.ts +0 -52
- package/src/db/dao/leveldb/log.leveldb-dao.ts +0 -84
- package/src/db/dao/leveldb/message.leveldb-dao.ts +0 -36
- package/src/db/dao/leveldb/pull-request.leveldb-dao.ts +0 -143
- package/src/db/dao/leveldb/requirement.leveldb-dao.ts +0 -90
- package/src/db/dao/leveldb/sort.ts +0 -35
- package/src/db/dao/leveldb/story.leveldb-dao.ts +0 -255
- package/src/db/dao/leveldb/team.leveldb-dao.ts +0 -55
- package/src/db/dao/sqlite/agent.sqlite-dao.ts +0 -177
- package/src/db/dao/sqlite/escalation.sqlite-dao.ts +0 -163
- package/src/db/dao/sqlite/index.ts +0 -8
- package/src/db/dao/sqlite/log.sqlite-dao.ts +0 -117
- package/src/db/dao/sqlite/message.sqlite-dao.ts +0 -41
- package/src/db/dao/sqlite/pull-request.sqlite-dao.ts +0 -199
- package/src/db/dao/sqlite/requirement.sqlite-dao.ts +0 -93
- package/src/db/dao/sqlite/story.sqlite-dao.ts +0 -285
- package/src/db/dao/sqlite/team.sqlite-dao.ts +0 -41
- package/src/orchestrator/scaler.ts +0 -213
- package/src/orchestrator/workflow.ts +0 -138
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://github.com/nikrich/hungry-ghost-hive/actions/workflows/ci.yml)
|
|
4
4
|
[](https://www.npmjs.com/package/hungry-ghost-hive)
|
|
5
5
|
[](https://nodejs.org/)
|
|
6
|
-
[](LICENSE)
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://codecov.io/gh/nikrich/hungry-ghost-hive)
|
|
9
9
|
|
|
@@ -479,7 +479,7 @@ git status # MUST show "up to date with origin"
|
|
|
479
479
|
|
|
480
480
|
## License
|
|
481
481
|
|
|
482
|
-
This project is licensed under the **Hungry Ghost
|
|
482
|
+
This project is licensed under the **Hungry Ghost Restricted License**. See the [LICENSE](./LICENSE) file for details.
|
|
483
483
|
|
|
484
484
|
### License Summary
|
|
485
485
|
|
|
@@ -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,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { updateAgent, } from '../db/queries/agents.js';
|
|
2
2
|
import { updateAgentHeartbeat } from '../db/queries/heartbeat.js';
|
|
3
3
|
import { createLog } from '../db/queries/logs.js';
|
|
4
|
+
/** Interval in ms between agent heartbeats */
|
|
5
|
+
const HEARTBEAT_INTERVAL_MS = 10000;
|
|
4
6
|
export class BaseAgent {
|
|
5
7
|
db;
|
|
6
8
|
provider;
|
|
@@ -50,10 +52,10 @@ export class BaseAgent {
|
|
|
50
52
|
startHeartbeat() {
|
|
51
53
|
// Send initial heartbeat
|
|
52
54
|
this.sendHeartbeat();
|
|
53
|
-
// Send heartbeat
|
|
55
|
+
// Send heartbeat at configured interval
|
|
54
56
|
this.heartbeatInterval = setInterval(() => {
|
|
55
57
|
this.sendHeartbeat();
|
|
56
|
-
},
|
|
58
|
+
}, HEARTBEAT_INTERVAL_MS);
|
|
57
59
|
}
|
|
58
60
|
sendHeartbeat() {
|
|
59
61
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,GAIZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAkB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/senior.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export declare class SeniorAgent extends BaseAgent {
|
|
|
10
10
|
execute(): Promise<void>;
|
|
11
11
|
private analyzeCodebase;
|
|
12
12
|
private processStory;
|
|
13
|
-
private delegateStory;
|
|
14
13
|
private implementStory;
|
|
15
14
|
private reviewStory;
|
|
16
15
|
escalateToTechLead(reason: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senior.d.ts","sourceRoot":"","sources":["../../src/agents/senior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"senior.d.ts","sourceRoot":"","sources":["../../src/agents/senior.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/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;IAuCnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBhB,eAAe;YAwBf,YAAY;YAQZ,cAAc;YAyDd,WAAW;IA8CnB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBxD"}
|
package/dist/agents/senior.js
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { loadConfig } from '../config/index.js';
|
|
3
|
-
import { createAgent, getTechLead, updateAgent } from '../db/queries/agents.js';
|
|
1
|
+
import { getTechLead, updateAgent } from '../db/queries/agents.js';
|
|
4
2
|
import { createEscalation } from '../db/queries/escalations.js';
|
|
5
3
|
import { getStoriesByTeam, updateStory } from '../db/queries/stories.js';
|
|
6
4
|
import { getTeamById } from '../db/queries/teams.js';
|
|
7
|
-
import { NotFoundError } from '../errors/index.js';
|
|
8
|
-
import { generateSessionName, spawnTmuxSession } from '../tmux/manager.js';
|
|
9
|
-
import { findHiveRoot, getHivePaths } from '../utils/paths.js';
|
|
10
5
|
import { BaseAgent } from './base-agent.js';
|
|
11
6
|
export class SeniorAgent extends BaseAgent {
|
|
12
7
|
team = null;
|
|
@@ -38,13 +33,9 @@ ${storiesInfo}
|
|
|
38
33
|
## Your Responsibilities
|
|
39
34
|
1. Conduct codebase analysis when requested
|
|
40
35
|
2. Estimate story complexity accurately
|
|
41
|
-
3.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
- 6+ points → Handle directly
|
|
45
|
-
4. Review code from delegated work
|
|
46
|
-
5. Handle complex implementations
|
|
47
|
-
6. Escalate blockers to Tech Lead
|
|
36
|
+
3. Implement assigned stories directly
|
|
37
|
+
4. Handle complex implementations
|
|
38
|
+
5. Escalate blockers to Tech Lead
|
|
48
39
|
|
|
49
40
|
## Development Guidelines
|
|
50
41
|
- Create feature branches: feature/{story-id}-{slug}
|
|
@@ -96,76 +87,10 @@ This will help with story estimation and implementation.`;
|
|
|
96
87
|
});
|
|
97
88
|
}
|
|
98
89
|
async processStory(story) {
|
|
99
|
-
const complexity = story.complexity_score || 5;
|
|
100
90
|
this.setCurrentTask(story.id, 'processing');
|
|
101
91
|
this.log('STORY_STARTED', `Processing story: ${story.title}`, { storyId: story.id });
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
await this.delegateStory(story, 'junior');
|
|
105
|
-
}
|
|
106
|
-
else if (complexity <= 5) {
|
|
107
|
-
// Delegate to Intermediate
|
|
108
|
-
await this.delegateStory(story, 'intermediate');
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// Handle directly
|
|
112
|
-
await this.implementStory(story);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
async delegateStory(story, agentType) {
|
|
116
|
-
this.log('STORY_ASSIGNED', `Delegating to ${agentType}`, {
|
|
117
|
-
storyId: story.id,
|
|
118
|
-
agentType,
|
|
119
|
-
});
|
|
120
|
-
// Create subordinate agent
|
|
121
|
-
const subordinate = createAgent(this.db, {
|
|
122
|
-
type: agentType,
|
|
123
|
-
teamId: this.teamId,
|
|
124
|
-
});
|
|
125
|
-
// Spawn tmux session
|
|
126
|
-
const sessionName = generateSessionName(agentType, this.team?.name);
|
|
127
|
-
try {
|
|
128
|
-
// Load config and get CLI runtime settings for the subordinate agent type
|
|
129
|
-
const hiveRoot = findHiveRoot(this.workDir);
|
|
130
|
-
if (!hiveRoot) {
|
|
131
|
-
throw new NotFoundError('Hive root not found');
|
|
132
|
-
}
|
|
133
|
-
const paths = getHivePaths(hiveRoot);
|
|
134
|
-
const config = loadConfig(paths.hiveDir);
|
|
135
|
-
const agentConfig = config.models[agentType];
|
|
136
|
-
const cliTool = agentConfig.cli_tool;
|
|
137
|
-
const model = agentConfig.model;
|
|
138
|
-
// Build spawn command using CLI runtime builder (spawn fresh session, will be resumed later)
|
|
139
|
-
const runtimeBuilder = getCliRuntimeBuilder(cliTool);
|
|
140
|
-
const commandArray = runtimeBuilder.buildSpawnCommand(model);
|
|
141
|
-
const command = commandArray.join(' ');
|
|
142
|
-
await spawnTmuxSession({
|
|
143
|
-
sessionName,
|
|
144
|
-
workDir: this.workDir,
|
|
145
|
-
command,
|
|
146
|
-
});
|
|
147
|
-
updateAgent(this.db, subordinate.id, {
|
|
148
|
-
tmuxSession: sessionName,
|
|
149
|
-
status: 'working',
|
|
150
|
-
currentStoryId: story.id,
|
|
151
|
-
});
|
|
152
|
-
// Update story assignment
|
|
153
|
-
updateStory(this.db, story.id, {
|
|
154
|
-
assignedAgentId: subordinate.id,
|
|
155
|
-
status: 'in_progress',
|
|
156
|
-
});
|
|
157
|
-
this.log('AGENT_SPAWNED', `${agentType} spawned for story ${story.id}`, {
|
|
158
|
-
agentId: subordinate.id,
|
|
159
|
-
storyId: story.id,
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
catch (err) {
|
|
163
|
-
// If delegation fails, handle it ourselves
|
|
164
|
-
this.log('STORY_PROGRESS_UPDATE', `Failed to delegate, handling directly: ${err instanceof Error ? err.message : 'Unknown error'}`, {
|
|
165
|
-
storyId: story.id,
|
|
166
|
-
});
|
|
167
|
-
await this.implementStory(story);
|
|
168
|
-
}
|
|
92
|
+
// Implement all stories directly - the Scheduler handles routing to appropriate agents
|
|
93
|
+
await this.implementStory(story);
|
|
169
94
|
}
|
|
170
95
|
async implementStory(story) {
|
|
171
96
|
// Update assignment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senior.js","sourceRoot":"","sources":["../../src/agents/senior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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":"AAoBA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/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;IAyCnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BhB,kBAAkB;YAyElB,aAAa;YAkDb,qBAAqB;
|
|
1
|
+
{"version":3,"file":"tech-lead.d.ts","sourceRoot":"","sources":["../../src/agents/tech-lead.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/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;IAyCnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BhB,kBAAkB;YAyElB,aAAa;YAkDb,qBAAqB;YA8FrB,eAAe;CAe9B"}
|
package/dist/agents/tech-lead.js
CHANGED
|
@@ -130,7 +130,7 @@ Respond in JSON format:
|
|
|
130
130
|
return JSON.parse(jsonMatch[0]);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
catch {
|
|
133
|
+
catch (_error) {
|
|
134
134
|
// If parsing fails, request clarification
|
|
135
135
|
}
|
|
136
136
|
return {
|
|
@@ -233,12 +233,14 @@ Respond in JSON format:
|
|
|
233
233
|
agentId: senior.id,
|
|
234
234
|
teamId,
|
|
235
235
|
tmuxSession: sessionName,
|
|
236
|
+
godmode: this.requirement?.godmode ? true : false,
|
|
236
237
|
});
|
|
237
238
|
}
|
|
238
239
|
catch (err) {
|
|
239
240
|
this.log('AGENT_SPAWNED', `Failed to spawn Senior tmux session: ${err instanceof Error ? err.message : 'Unknown error'}`, {
|
|
240
241
|
agentId: senior.id,
|
|
241
242
|
teamId,
|
|
243
|
+
godmode: this.requirement?.godmode ? true : false,
|
|
242
244
|
});
|
|
243
245
|
}
|
|
244
246
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tech-lead.js","sourceRoot":"","sources":["../../src/agents/tech-lead.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tech-lead.js","sourceRoot":"","sources":["../../src/agents/tech-lead.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-repo.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/add-repo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"add-repo.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/add-repo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,cAAc,SAwEvB,CAAC"}
|
|
@@ -4,81 +4,72 @@ import { execa } from 'execa';
|
|
|
4
4
|
import { existsSync } from 'fs';
|
|
5
5
|
import ora from 'ora';
|
|
6
6
|
import { join } from 'path';
|
|
7
|
-
import { getDatabase } from '../../db/client.js';
|
|
8
7
|
import { createTeam, getTeamByName } from '../../db/queries/teams.js';
|
|
9
|
-
import {
|
|
8
|
+
import { withHiveContext } from '../../utils/with-hive-context.js';
|
|
10
9
|
export const addRepoCommand = new Command('add-repo')
|
|
11
10
|
.description('Add a repository as a git submodule with team assignment')
|
|
12
11
|
.requiredOption('--url <url>', 'Repository URL')
|
|
13
12
|
.requiredOption('--team <name>', 'Team name')
|
|
14
13
|
.option('--branch <branch>', 'Branch to track', 'main')
|
|
15
14
|
.action(async (options) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const spinner = ora('Adding repository...').start();
|
|
23
|
-
// Extract repo name from URL
|
|
24
|
-
const repoName = options.url.split('/').pop()?.replace('.git', '') || 'repo';
|
|
25
|
-
const repoPath = join(paths.reposDir, repoName);
|
|
26
|
-
const relativeRepoPath = `repos/${repoName}`;
|
|
27
|
-
try {
|
|
28
|
-
// Check if team already exists
|
|
29
|
-
const db = await getDatabase(paths.hiveDir);
|
|
30
|
-
const existingTeam = getTeamByName(db.db, options.team);
|
|
31
|
-
if (existingTeam) {
|
|
32
|
-
spinner.fail(chalk.red(`Team "${options.team}" already exists`));
|
|
33
|
-
db.close();
|
|
34
|
-
process.exit(1);
|
|
35
|
-
}
|
|
36
|
-
// Check if repo path already exists
|
|
37
|
-
if (existsSync(repoPath)) {
|
|
38
|
-
spinner.fail(chalk.red(`Repository path already exists: ${repoPath}`));
|
|
39
|
-
db.close();
|
|
40
|
-
process.exit(1);
|
|
41
|
-
}
|
|
42
|
-
// Add git submodule
|
|
43
|
-
spinner.text = 'Adding git submodule...';
|
|
15
|
+
await withHiveContext(async ({ root, paths, db }) => {
|
|
16
|
+
const spinner = ora('Adding repository...').start();
|
|
17
|
+
// Extract repo name from URL
|
|
18
|
+
const repoName = options.url.split('/').pop()?.replace('.git', '') || 'repo';
|
|
19
|
+
const repoPath = join(paths.reposDir, repoName);
|
|
20
|
+
const relativeRepoPath = `repos/${repoName}`;
|
|
44
21
|
try {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// If submodule already exists, try to init/update instead
|
|
51
|
-
const error = gitErr;
|
|
52
|
-
if (error.stderr?.includes('already exists')) {
|
|
53
|
-
spinner.text = 'Submodule exists, initializing...';
|
|
54
|
-
await execa('git', ['submodule', 'init', relativeRepoPath], { cwd: root });
|
|
55
|
-
await execa('git', ['submodule', 'update', relativeRepoPath], { cwd: root });
|
|
22
|
+
// Check if team already exists
|
|
23
|
+
const existingTeam = getTeamByName(db.db, options.team);
|
|
24
|
+
if (existingTeam) {
|
|
25
|
+
spinner.fail(chalk.red(`Team "${options.team}" already exists`));
|
|
26
|
+
process.exit(1);
|
|
56
27
|
}
|
|
57
|
-
|
|
58
|
-
|
|
28
|
+
// Check if repo path already exists
|
|
29
|
+
if (existsSync(repoPath)) {
|
|
30
|
+
spinner.fail(chalk.red(`Repository path already exists: ${repoPath}`));
|
|
31
|
+
process.exit(1);
|
|
59
32
|
}
|
|
33
|
+
// Add git submodule
|
|
34
|
+
spinner.text = 'Adding git submodule...';
|
|
35
|
+
try {
|
|
36
|
+
await execa('git', ['submodule', 'add', '-b', options.branch, options.url, relativeRepoPath], {
|
|
37
|
+
cwd: root,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
catch (gitErr) {
|
|
41
|
+
// If submodule already exists, try to init/update instead
|
|
42
|
+
const error = gitErr;
|
|
43
|
+
if (error.stderr?.includes('already exists')) {
|
|
44
|
+
spinner.text = 'Submodule exists, initializing...';
|
|
45
|
+
await execa('git', ['submodule', 'init', relativeRepoPath], { cwd: root });
|
|
46
|
+
await execa('git', ['submodule', 'update', relativeRepoPath], { cwd: root });
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
throw gitErr;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Create team in database
|
|
53
|
+
spinner.text = 'Creating team...';
|
|
54
|
+
const team = createTeam(db.db, {
|
|
55
|
+
repoUrl: options.url,
|
|
56
|
+
repoPath: relativeRepoPath,
|
|
57
|
+
name: options.team,
|
|
58
|
+
});
|
|
59
|
+
spinner.succeed(chalk.green(`Repository added successfully!`));
|
|
60
|
+
console.log();
|
|
61
|
+
console.log(chalk.bold('Team created:'));
|
|
62
|
+
console.log(chalk.gray(` ID: ${team.id}`));
|
|
63
|
+
console.log(chalk.gray(` Name: ${team.name}`));
|
|
64
|
+
console.log(chalk.gray(` Repo: ${team.repo_url}`));
|
|
65
|
+
console.log(chalk.gray(` Path: ${team.repo_path}`));
|
|
66
|
+
console.log();
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
spinner.fail(chalk.red('Failed to add repository'));
|
|
70
|
+
console.error(err);
|
|
71
|
+
process.exit(1);
|
|
60
72
|
}
|
|
61
|
-
|
|
62
|
-
spinner.text = 'Creating team...';
|
|
63
|
-
const team = createTeam(db.db, {
|
|
64
|
-
repoUrl: options.url,
|
|
65
|
-
repoPath: relativeRepoPath,
|
|
66
|
-
name: options.team,
|
|
67
|
-
});
|
|
68
|
-
db.close();
|
|
69
|
-
spinner.succeed(chalk.green(`Repository added successfully!`));
|
|
70
|
-
console.log();
|
|
71
|
-
console.log(chalk.bold('Team created:'));
|
|
72
|
-
console.log(chalk.gray(` ID: ${team.id}`));
|
|
73
|
-
console.log(chalk.gray(` Name: ${team.name}`));
|
|
74
|
-
console.log(chalk.gray(` Repo: ${team.repo_url}`));
|
|
75
|
-
console.log(chalk.gray(` Path: ${team.repo_path}`));
|
|
76
|
-
console.log();
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
spinner.fail(chalk.red('Failed to add repository'));
|
|
80
|
-
console.error(err);
|
|
81
|
-
process.exit(1);
|
|
82
|
-
}
|
|
73
|
+
});
|
|
83
74
|
});
|
|
84
75
|
//# sourceMappingURL=add-repo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-repo.js","sourceRoot":"","sources":["../../../src/cli/commands/add-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"add-repo.js","sourceRoot":"","sources":["../../../src/cli/commands/add-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
import { getDatabase } from '../../db/client.js';
|
|
4
3
|
import { deleteAgent, getActiveAgents, getAgentById, getAgentsByStatus, getAllAgents, } from '../../db/queries/agents.js';
|
|
5
4
|
import { getLogsByAgent } from '../../db/queries/logs.js';
|
|
5
|
+
import { removeWorktree } from '../../git/worktree.js';
|
|
6
6
|
import { statusColor } from '../../utils/logger.js';
|
|
7
|
-
import {
|
|
7
|
+
import { withHiveContext } from '../../utils/with-hive-context.js';
|
|
8
8
|
export const agentsCommand = new Command('agents').description('Manage agents');
|
|
9
9
|
agentsCommand
|
|
10
10
|
.command('list')
|
|
@@ -12,14 +12,7 @@ agentsCommand
|
|
|
12
12
|
.option('--active', 'Show only active agents')
|
|
13
13
|
.option('--json', 'Output as JSON')
|
|
14
14
|
.action(async (options) => {
|
|
15
|
-
|
|
16
|
-
if (!root) {
|
|
17
|
-
console.error(chalk.red('Not in a Hive workspace. Run "hive init" first.'));
|
|
18
|
-
process.exit(1);
|
|
19
|
-
}
|
|
20
|
-
const paths = getHivePaths(root);
|
|
21
|
-
const db = await getDatabase(paths.hiveDir);
|
|
22
|
-
try {
|
|
15
|
+
await withHiveContext(async ({ db }) => {
|
|
23
16
|
const agents = options.active ? getActiveAgents(db.db) : getAllAgents(db.db);
|
|
24
17
|
if (options.json) {
|
|
25
18
|
console.log(JSON.stringify(agents, null, 2));
|
|
@@ -40,10 +33,7 @@ agentsCommand
|
|
|
40
33
|
console.log(`${chalk.cyan(agent.id.padEnd(25))} ${agent.type.padEnd(12)} ${model.padEnd(10)} ${team.padEnd(15)} ${statusColor(agent.status).padEnd(12)} ${story}`);
|
|
41
34
|
}
|
|
42
35
|
console.log();
|
|
43
|
-
}
|
|
44
|
-
finally {
|
|
45
|
-
db.close();
|
|
46
|
-
}
|
|
36
|
+
});
|
|
47
37
|
});
|
|
48
38
|
agentsCommand
|
|
49
39
|
.command('logs <agent-id>')
|
|
@@ -51,14 +41,7 @@ agentsCommand
|
|
|
51
41
|
.option('-n, --limit <number>', 'Number of logs to show', '50')
|
|
52
42
|
.option('--json', 'Output as JSON')
|
|
53
43
|
.action(async (agentId, options) => {
|
|
54
|
-
|
|
55
|
-
if (!root) {
|
|
56
|
-
console.error(chalk.red('Not in a Hive workspace. Run "hive init" first.'));
|
|
57
|
-
process.exit(1);
|
|
58
|
-
}
|
|
59
|
-
const paths = getHivePaths(root);
|
|
60
|
-
const db = await getDatabase(paths.hiveDir);
|
|
61
|
-
try {
|
|
44
|
+
await withHiveContext(async ({ db }) => {
|
|
62
45
|
const agent = getAgentById(db.db, agentId);
|
|
63
46
|
if (!agent) {
|
|
64
47
|
console.error(chalk.red(`Agent not found: ${agentId}`));
|
|
@@ -84,29 +67,19 @@ agentsCommand
|
|
|
84
67
|
const meta = JSON.parse(log.metadata);
|
|
85
68
|
console.log(chalk.gray(` ${JSON.stringify(meta)}`));
|
|
86
69
|
}
|
|
87
|
-
catch {
|
|
70
|
+
catch (_error) {
|
|
88
71
|
// Ignore parse errors
|
|
89
72
|
}
|
|
90
73
|
}
|
|
91
74
|
}
|
|
92
75
|
console.log();
|
|
93
|
-
}
|
|
94
|
-
finally {
|
|
95
|
-
db.close();
|
|
96
|
-
}
|
|
76
|
+
});
|
|
97
77
|
});
|
|
98
78
|
agentsCommand
|
|
99
79
|
.command('inspect <agent-id>')
|
|
100
80
|
.description('View detailed agent state')
|
|
101
81
|
.action(async (agentId) => {
|
|
102
|
-
|
|
103
|
-
if (!root) {
|
|
104
|
-
console.error(chalk.red('Not in a Hive workspace. Run "hive init" first.'));
|
|
105
|
-
process.exit(1);
|
|
106
|
-
}
|
|
107
|
-
const paths = getHivePaths(root);
|
|
108
|
-
const db = await getDatabase(paths.hiveDir);
|
|
109
|
-
try {
|
|
82
|
+
await withHiveContext(async ({ db }) => {
|
|
110
83
|
const agent = getAgentById(db.db, agentId);
|
|
111
84
|
if (!agent) {
|
|
112
85
|
console.error(chalk.red(`Agent not found: ${agentId}`));
|
|
@@ -127,7 +100,7 @@ agentsCommand
|
|
|
127
100
|
const state = JSON.parse(agent.memory_state);
|
|
128
101
|
console.log(JSON.stringify(state, null, 2));
|
|
129
102
|
}
|
|
130
|
-
catch {
|
|
103
|
+
catch (_error) {
|
|
131
104
|
console.log(agent.memory_state);
|
|
132
105
|
}
|
|
133
106
|
}
|
|
@@ -142,24 +115,14 @@ agentsCommand
|
|
|
142
115
|
}
|
|
143
116
|
}
|
|
144
117
|
console.log();
|
|
145
|
-
}
|
|
146
|
-
finally {
|
|
147
|
-
db.close();
|
|
148
|
-
}
|
|
118
|
+
});
|
|
149
119
|
});
|
|
150
120
|
agentsCommand
|
|
151
121
|
.command('cleanup')
|
|
152
122
|
.description('Clean up terminated agents from the database')
|
|
153
123
|
.option('--dry-run', 'Show what would be deleted without actually deleting')
|
|
154
124
|
.action(async (options) => {
|
|
155
|
-
|
|
156
|
-
if (!root) {
|
|
157
|
-
console.error(chalk.red('Not in a Hive workspace. Run "hive init" first.'));
|
|
158
|
-
process.exit(1);
|
|
159
|
-
}
|
|
160
|
-
const paths = getHivePaths(root);
|
|
161
|
-
const db = await getDatabase(paths.hiveDir);
|
|
162
|
-
try {
|
|
125
|
+
await withHiveContext(async ({ root, db }) => {
|
|
163
126
|
const terminatedAgents = getAgentsByStatus(db.db, 'terminated');
|
|
164
127
|
if (terminatedAgents.length === 0) {
|
|
165
128
|
console.log(chalk.green('No terminated agents to clean up.'));
|
|
@@ -185,16 +148,9 @@ agentsCommand
|
|
|
185
148
|
try {
|
|
186
149
|
// Remove worktree if exists
|
|
187
150
|
if (agent.worktree_path) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
execSync(`git worktree remove "${fullWorktreePath}" --force`, {
|
|
192
|
-
cwd: root,
|
|
193
|
-
stdio: 'pipe',
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
catch (err) {
|
|
197
|
-
console.error(chalk.yellow(`Warning: Failed to remove worktree for ${agent.id}: ${err instanceof Error ? err.message : 'Unknown error'}`));
|
|
151
|
+
const result = removeWorktree(root, agent.worktree_path);
|
|
152
|
+
if (!result.success) {
|
|
153
|
+
console.error(chalk.yellow(`Warning: Failed to remove worktree for ${agent.id}: ${result.error}`));
|
|
198
154
|
}
|
|
199
155
|
}
|
|
200
156
|
deleteAgent(db.db, agent.id);
|
|
@@ -205,9 +161,6 @@ agentsCommand
|
|
|
205
161
|
}
|
|
206
162
|
}
|
|
207
163
|
console.log(chalk.green(`✓ Cleaned up ${deleted} terminated agent(s).`));
|
|
208
|
-
}
|
|
209
|
-
finally {
|
|
210
|
-
db.close();
|
|
211
|
-
}
|
|
164
|
+
});
|
|
212
165
|
});
|
|
213
166
|
//# sourceMappingURL=agents.js.map
|