hungry-ghost-hive 0.48.0 → 0.49.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.
Files changed (472) hide show
  1. package/dist/agents/base-agent.d.ts +11 -11
  2. package/dist/agents/base-agent.d.ts.map +1 -1
  3. package/dist/agents/base-agent.js +25 -25
  4. package/dist/agents/base-agent.js.map +1 -1
  5. package/dist/agents/base-agent.test.js +2 -1
  6. package/dist/agents/base-agent.test.js.map +1 -1
  7. package/dist/agents/intermediate.d.ts +2 -0
  8. package/dist/agents/intermediate.d.ts.map +1 -1
  9. package/dist/agents/intermediate.js +25 -18
  10. package/dist/agents/intermediate.js.map +1 -1
  11. package/dist/agents/junior.d.ts +2 -0
  12. package/dist/agents/junior.d.ts.map +1 -1
  13. package/dist/agents/junior.js +25 -18
  14. package/dist/agents/junior.js.map +1 -1
  15. package/dist/agents/qa.d.ts +2 -0
  16. package/dist/agents/qa.d.ts.map +1 -1
  17. package/dist/agents/qa.js +47 -38
  18. package/dist/agents/qa.js.map +1 -1
  19. package/dist/agents/senior.d.ts +2 -0
  20. package/dist/agents/senior.d.ts.map +1 -1
  21. package/dist/agents/senior.js +40 -27
  22. package/dist/agents/senior.js.map +1 -1
  23. package/dist/agents/tech-lead.d.ts +2 -0
  24. package/dist/agents/tech-lead.d.ts.map +1 -1
  25. package/dist/agents/tech-lead.js +37 -31
  26. package/dist/agents/tech-lead.js.map +1 -1
  27. package/dist/cli/commands/add-repo.js +2 -2
  28. package/dist/cli/commands/add-repo.js.map +1 -1
  29. package/dist/cli/commands/add-repo.test.js +1 -1
  30. package/dist/cli/commands/add-repo.test.js.map +1 -1
  31. package/dist/cli/commands/agents.d.ts.map +1 -1
  32. package/dist/cli/commands/agents.js +12 -10
  33. package/dist/cli/commands/agents.js.map +1 -1
  34. package/dist/cli/commands/agents.test.js +7 -7
  35. package/dist/cli/commands/agents.test.js.map +1 -1
  36. package/dist/cli/commands/approach.js +2 -2
  37. package/dist/cli/commands/approach.js.map +1 -1
  38. package/dist/cli/commands/approvals.js +7 -7
  39. package/dist/cli/commands/approvals.js.map +1 -1
  40. package/dist/cli/commands/approvals.test.js +8 -8
  41. package/dist/cli/commands/approvals.test.js.map +1 -1
  42. package/dist/cli/commands/assign.js +4 -4
  43. package/dist/cli/commands/assign.js.map +1 -1
  44. package/dist/cli/commands/assign.test.js +18 -16
  45. package/dist/cli/commands/assign.test.js.map +1 -1
  46. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  47. package/dist/cli/commands/cleanup.js +8 -8
  48. package/dist/cli/commands/cleanup.js.map +1 -1
  49. package/dist/cli/commands/cleanup.test.js +5 -1
  50. package/dist/cli/commands/cleanup.test.js.map +1 -1
  51. package/dist/cli/commands/escalations.js +9 -7
  52. package/dist/cli/commands/escalations.js.map +1 -1
  53. package/dist/cli/commands/escalations.test.js +2 -2
  54. package/dist/cli/commands/escalations.test.js.map +1 -1
  55. package/dist/cli/commands/init.d.ts.map +1 -1
  56. package/dist/cli/commands/init.js +48 -5
  57. package/dist/cli/commands/init.js.map +1 -1
  58. package/dist/cli/commands/init.test.js +4 -0
  59. package/dist/cli/commands/init.test.js.map +1 -1
  60. package/dist/cli/commands/manager/agent-monitoring.d.ts +2 -2
  61. package/dist/cli/commands/manager/agent-monitoring.d.ts.map +1 -1
  62. package/dist/cli/commands/manager/agent-monitoring.js +1 -1
  63. package/dist/cli/commands/manager/agent-monitoring.js.map +1 -1
  64. package/dist/cli/commands/manager/auditor-lifecycle.js +3 -3
  65. package/dist/cli/commands/manager/auditor-lifecycle.js.map +1 -1
  66. package/dist/cli/commands/manager/auditor-lifecycle.test.js +21 -14
  67. package/dist/cli/commands/manager/auditor-lifecycle.test.js.map +1 -1
  68. package/dist/cli/commands/manager/auto-reject-comment-only-reviews.test.js +28 -23
  69. package/dist/cli/commands/manager/auto-reject-comment-only-reviews.test.js.map +1 -1
  70. package/dist/cli/commands/manager/escalation-handler.d.ts +2 -2
  71. package/dist/cli/commands/manager/escalation-handler.d.ts.map +1 -1
  72. package/dist/cli/commands/manager/escalation-handler.js +11 -10
  73. package/dist/cli/commands/manager/escalation-handler.js.map +1 -1
  74. package/dist/cli/commands/manager/escalation-handler.test.js +8 -8
  75. package/dist/cli/commands/manager/escalation-handler.test.js.map +1 -1
  76. package/dist/cli/commands/manager/feature-sign-off.js +7 -7
  77. package/dist/cli/commands/manager/feature-sign-off.js.map +1 -1
  78. package/dist/cli/commands/manager/feature-sign-off.test.js +40 -31
  79. package/dist/cli/commands/manager/feature-sign-off.test.js.map +1 -1
  80. package/dist/cli/commands/manager/feature-test-result.d.ts.map +1 -1
  81. package/dist/cli/commands/manager/feature-test-result.js +12 -13
  82. package/dist/cli/commands/manager/feature-test-result.js.map +1 -1
  83. package/dist/cli/commands/manager/handoff-recovery.d.ts.map +1 -1
  84. package/dist/cli/commands/manager/handoff-recovery.js +14 -15
  85. package/dist/cli/commands/manager/handoff-recovery.js.map +1 -1
  86. package/dist/cli/commands/manager/index.d.ts.map +1 -1
  87. package/dist/cli/commands/manager/index.js +26 -26
  88. package/dist/cli/commands/manager/index.js.map +1 -1
  89. package/dist/cli/commands/manager/index.test.js +3 -3
  90. package/dist/cli/commands/manager/index.test.js.map +1 -1
  91. package/dist/cli/commands/manager/merged-story-cleanup.d.ts +2 -2
  92. package/dist/cli/commands/manager/merged-story-cleanup.d.ts.map +1 -1
  93. package/dist/cli/commands/manager/merged-story-cleanup.js +6 -7
  94. package/dist/cli/commands/manager/merged-story-cleanup.js.map +1 -1
  95. package/dist/cli/commands/manager/merged-story-cleanup.test.js +27 -18
  96. package/dist/cli/commands/manager/merged-story-cleanup.test.js.map +1 -1
  97. package/dist/cli/commands/manager/pr-sync-orchestrator.d.ts.map +1 -1
  98. package/dist/cli/commands/manager/pr-sync-orchestrator.js +46 -38
  99. package/dist/cli/commands/manager/pr-sync-orchestrator.js.map +1 -1
  100. package/dist/cli/commands/manager/qa-review-handler.d.ts.map +1 -1
  101. package/dist/cli/commands/manager/qa-review-handler.js +25 -22
  102. package/dist/cli/commands/manager/qa-review-handler.js.map +1 -1
  103. package/dist/cli/commands/manager/spin-down.d.ts.map +1 -1
  104. package/dist/cli/commands/manager/spin-down.js +23 -19
  105. package/dist/cli/commands/manager/spin-down.js.map +1 -1
  106. package/dist/cli/commands/manager/stale-escalations.d.ts +2 -3
  107. package/dist/cli/commands/manager/stale-escalations.d.ts.map +1 -1
  108. package/dist/cli/commands/manager/stale-escalations.js.map +1 -1
  109. package/dist/cli/commands/manager/stuck-story-helpers.js +8 -8
  110. package/dist/cli/commands/manager/stuck-story-helpers.js.map +1 -1
  111. package/dist/cli/commands/manager/stuck-story-processor.d.ts +2 -2
  112. package/dist/cli/commands/manager/stuck-story-processor.d.ts.map +1 -1
  113. package/dist/cli/commands/manager/stuck-story-processor.js +23 -22
  114. package/dist/cli/commands/manager/stuck-story-processor.js.map +1 -1
  115. package/dist/cli/commands/manager/tech-lead-lifecycle.js +6 -6
  116. package/dist/cli/commands/manager/tech-lead-lifecycle.js.map +1 -1
  117. package/dist/cli/commands/manager/types.d.ts +2 -3
  118. package/dist/cli/commands/manager/types.d.ts.map +1 -1
  119. package/dist/cli/commands/manager/types.js.map +1 -1
  120. package/dist/cli/commands/msg.test.js +2 -2
  121. package/dist/cli/commands/msg.test.js.map +1 -1
  122. package/dist/cli/commands/my-stories.d.ts.map +1 -1
  123. package/dist/cli/commands/my-stories.js +17 -18
  124. package/dist/cli/commands/my-stories.js.map +1 -1
  125. package/dist/cli/commands/my-stories.test.js +2 -2
  126. package/dist/cli/commands/my-stories.test.js.map +1 -1
  127. package/dist/cli/commands/nuke.test.js +1 -1
  128. package/dist/cli/commands/nuke.test.js.map +1 -1
  129. package/dist/cli/commands/pr.js +32 -32
  130. package/dist/cli/commands/pr.js.map +1 -1
  131. package/dist/cli/commands/pr.test.js +10 -6
  132. package/dist/cli/commands/pr.test.js.map +1 -1
  133. package/dist/cli/commands/progress.d.ts.map +1 -1
  134. package/dist/cli/commands/progress.js +4 -5
  135. package/dist/cli/commands/progress.js.map +1 -1
  136. package/dist/cli/commands/progress.test.js +1 -1
  137. package/dist/cli/commands/progress.test.js.map +1 -1
  138. package/dist/cli/commands/req-headless.test.d.ts +2 -0
  139. package/dist/cli/commands/req-headless.test.d.ts.map +1 -0
  140. package/dist/cli/commands/req-headless.test.js +128 -0
  141. package/dist/cli/commands/req-headless.test.js.map +1 -0
  142. package/dist/cli/commands/req-spawn.test.js +5 -1
  143. package/dist/cli/commands/req-spawn.test.js.map +1 -1
  144. package/dist/cli/commands/req.d.ts.map +1 -1
  145. package/dist/cli/commands/req.js +13 -14
  146. package/dist/cli/commands/req.js.map +1 -1
  147. package/dist/cli/commands/resume.d.ts.map +1 -1
  148. package/dist/cli/commands/resume.js +7 -8
  149. package/dist/cli/commands/resume.js.map +1 -1
  150. package/dist/cli/commands/resume.test.js +1 -1
  151. package/dist/cli/commands/resume.test.js.map +1 -1
  152. package/dist/cli/commands/status.d.ts.map +1 -1
  153. package/dist/cli/commands/status.js +42 -40
  154. package/dist/cli/commands/status.js.map +1 -1
  155. package/dist/cli/commands/status.test.js +1 -1
  156. package/dist/cli/commands/status.test.js.map +1 -1
  157. package/dist/cli/commands/stories.js +9 -9
  158. package/dist/cli/commands/stories.js.map +1 -1
  159. package/dist/cli/commands/stories.test.js +2 -2
  160. package/dist/cli/commands/stories.test.js.map +1 -1
  161. package/dist/cli/commands/teams.js +11 -11
  162. package/dist/cli/commands/teams.js.map +1 -1
  163. package/dist/cli/commands/teams.test.js +2 -2
  164. package/dist/cli/commands/teams.test.js.map +1 -1
  165. package/dist/cli/dashboard/index.d.ts +2 -2
  166. package/dist/cli/dashboard/index.d.ts.map +1 -1
  167. package/dist/cli/dashboard/index.js +29 -20
  168. package/dist/cli/dashboard/index.js.map +1 -1
  169. package/dist/cli/dashboard/index.test.js +34 -32
  170. package/dist/cli/dashboard/index.test.js.map +1 -1
  171. package/dist/cli/dashboard/panels/activity.d.ts +3 -3
  172. package/dist/cli/dashboard/panels/activity.d.ts.map +1 -1
  173. package/dist/cli/dashboard/panels/activity.js +1 -1
  174. package/dist/cli/dashboard/panels/activity.js.map +1 -1
  175. package/dist/cli/dashboard/panels/agents.d.ts +3 -3
  176. package/dist/cli/dashboard/panels/agents.d.ts.map +1 -1
  177. package/dist/cli/dashboard/panels/agents.js +2 -2
  178. package/dist/cli/dashboard/panels/agents.js.map +1 -1
  179. package/dist/cli/dashboard/panels/escalations.d.ts +3 -3
  180. package/dist/cli/dashboard/panels/escalations.d.ts.map +1 -1
  181. package/dist/cli/dashboard/panels/escalations.js +1 -1
  182. package/dist/cli/dashboard/panels/escalations.js.map +1 -1
  183. package/dist/cli/dashboard/panels/merge-queue.d.ts +3 -3
  184. package/dist/cli/dashboard/panels/merge-queue.d.ts.map +1 -1
  185. package/dist/cli/dashboard/panels/merge-queue.js +1 -1
  186. package/dist/cli/dashboard/panels/merge-queue.js.map +1 -1
  187. package/dist/cli/dashboard/panels/pipeline.d.ts +3 -3
  188. package/dist/cli/dashboard/panels/pipeline.d.ts.map +1 -1
  189. package/dist/cli/dashboard/panels/pipeline.js +1 -1
  190. package/dist/cli/dashboard/panels/pipeline.js.map +1 -1
  191. package/dist/config/schema.d.ts +85 -82
  192. package/dist/config/schema.d.ts.map +1 -1
  193. package/dist/config/schema.js +1 -0
  194. package/dist/config/schema.js.map +1 -1
  195. package/dist/connectors/project-management/operations.d.ts +7 -7
  196. package/dist/connectors/project-management/operations.d.ts.map +1 -1
  197. package/dist/connectors/project-management/operations.js +2 -3
  198. package/dist/connectors/project-management/operations.js.map +1 -1
  199. package/dist/context-files/index.test.js +1 -0
  200. package/dist/context-files/index.test.js.map +1 -1
  201. package/dist/db/client.d.ts +6 -0
  202. package/dist/db/client.d.ts.map +1 -1
  203. package/dist/db/client.js +7 -0
  204. package/dist/db/client.js.map +1 -1
  205. package/dist/db/postgres-provider.d.ts +43 -0
  206. package/dist/db/postgres-provider.d.ts.map +1 -0
  207. package/dist/db/postgres-provider.integration.test.d.ts +2 -0
  208. package/dist/db/postgres-provider.integration.test.d.ts.map +1 -0
  209. package/dist/db/postgres-provider.integration.test.js +399 -0
  210. package/dist/db/postgres-provider.integration.test.js.map +1 -0
  211. package/dist/db/postgres-provider.js +315 -0
  212. package/dist/db/postgres-provider.js.map +1 -0
  213. package/dist/db/postgres-provider.test.d.ts +2 -0
  214. package/dist/db/postgres-provider.test.d.ts.map +1 -0
  215. package/dist/db/postgres-provider.test.js +72 -0
  216. package/dist/db/postgres-provider.test.js.map +1 -0
  217. package/dist/db/provider.d.ts +59 -0
  218. package/dist/db/provider.d.ts.map +1 -0
  219. package/dist/db/provider.js +121 -0
  220. package/dist/db/provider.js.map +1 -0
  221. package/dist/db/provider.test.d.ts +2 -0
  222. package/dist/db/provider.test.d.ts.map +1 -0
  223. package/dist/db/provider.test.js +226 -0
  224. package/dist/db/provider.test.js.map +1 -0
  225. package/dist/db/queries/agents.d.ts +13 -13
  226. package/dist/db/queries/agents.d.ts.map +1 -1
  227. package/dist/db/queries/agents.js +27 -28
  228. package/dist/db/queries/agents.js.map +1 -1
  229. package/dist/db/queries/agents.test.js +113 -111
  230. package/dist/db/queries/agents.test.js.map +1 -1
  231. package/dist/db/queries/escalations.d.ts +16 -16
  232. package/dist/db/queries/escalations.d.ts.map +1 -1
  233. package/dist/db/queries/escalations.js +34 -35
  234. package/dist/db/queries/escalations.js.map +1 -1
  235. package/dist/db/queries/escalations.test.js +133 -131
  236. package/dist/db/queries/escalations.test.js.map +1 -1
  237. package/dist/db/queries/heartbeat.d.ts +5 -5
  238. package/dist/db/queries/heartbeat.d.ts.map +1 -1
  239. package/dist/db/queries/heartbeat.js +7 -23
  240. package/dist/db/queries/heartbeat.js.map +1 -1
  241. package/dist/db/queries/heartbeat.test.js +76 -76
  242. package/dist/db/queries/heartbeat.test.js.map +1 -1
  243. package/dist/db/queries/integration-sync.d.ts +7 -7
  244. package/dist/db/queries/integration-sync.d.ts.map +1 -1
  245. package/dist/db/queries/integration-sync.js +13 -14
  246. package/dist/db/queries/integration-sync.js.map +1 -1
  247. package/dist/db/queries/logs.d.ts +10 -10
  248. package/dist/db/queries/logs.d.ts.map +1 -1
  249. package/dist/db/queries/logs.js +44 -42
  250. package/dist/db/queries/logs.js.map +1 -1
  251. package/dist/db/queries/logs.test.js +149 -146
  252. package/dist/db/queries/logs.test.js.map +1 -1
  253. package/dist/db/queries/messages.d.ts +6 -6
  254. package/dist/db/queries/messages.d.ts.map +1 -1
  255. package/dist/db/queries/messages.js +12 -11
  256. package/dist/db/queries/messages.js.map +1 -1
  257. package/dist/db/queries/messages.test.js +47 -46
  258. package/dist/db/queries/messages.test.js.map +1 -1
  259. package/dist/db/queries/pull-requests.d.ts +18 -18
  260. package/dist/db/queries/pull-requests.d.ts.map +1 -1
  261. package/dist/db/queries/pull-requests.js +50 -48
  262. package/dist/db/queries/pull-requests.js.map +1 -1
  263. package/dist/db/queries/pull-requests.test.js +195 -198
  264. package/dist/db/queries/pull-requests.test.js.map +1 -1
  265. package/dist/db/queries/requirements.d.ts +8 -8
  266. package/dist/db/queries/requirements.d.ts.map +1 -1
  267. package/dist/db/queries/requirements.js +17 -18
  268. package/dist/db/queries/requirements.js.map +1 -1
  269. package/dist/db/queries/requirements.test.js +83 -81
  270. package/dist/db/queries/requirements.test.js.map +1 -1
  271. package/dist/db/queries/stories.d.ts +29 -29
  272. package/dist/db/queries/stories.d.ts.map +1 -1
  273. package/dist/db/queries/stories.js +58 -64
  274. package/dist/db/queries/stories.js.map +1 -1
  275. package/dist/db/queries/stories.test.js +172 -170
  276. package/dist/db/queries/stories.test.js.map +1 -1
  277. package/dist/db/queries/teams.d.ts +6 -6
  278. package/dist/db/queries/teams.d.ts.map +1 -1
  279. package/dist/db/queries/teams.js +11 -12
  280. package/dist/db/queries/teams.js.map +1 -1
  281. package/dist/db/queries/teams.test.js +36 -34
  282. package/dist/db/queries/teams.test.js.map +1 -1
  283. package/dist/integrations/jira/repair.test.js +26 -24
  284. package/dist/integrations/jira/repair.test.js.map +1 -1
  285. package/dist/integrations/jira/stories.d.ts +3 -3
  286. package/dist/integrations/jira/stories.d.ts.map +1 -1
  287. package/dist/integrations/jira/stories.js +12 -12
  288. package/dist/integrations/jira/stories.js.map +1 -1
  289. package/dist/integrations/jira/stories.test.js +10 -8
  290. package/dist/integrations/jira/stories.test.js.map +1 -1
  291. package/dist/integrations/jira/sync.d.ts +7 -7
  292. package/dist/integrations/jira/sync.d.ts.map +1 -1
  293. package/dist/integrations/jira/sync.js +17 -20
  294. package/dist/integrations/jira/sync.js.map +1 -1
  295. package/dist/integrations/jira/sync.test.js +63 -62
  296. package/dist/integrations/jira/sync.test.js.map +1 -1
  297. package/dist/integrations/jira/transitions.d.ts +3 -3
  298. package/dist/integrations/jira/transitions.d.ts.map +1 -1
  299. package/dist/integrations/jira/transitions.js +3 -3
  300. package/dist/integrations/jira/transitions.js.map +1 -1
  301. package/dist/orchestrator/agent-selector.d.ts +3 -3
  302. package/dist/orchestrator/agent-selector.d.ts.map +1 -1
  303. package/dist/orchestrator/agent-selector.js +5 -6
  304. package/dist/orchestrator/agent-selector.js.map +1 -1
  305. package/dist/orchestrator/dependency-resolver.d.ts +4 -4
  306. package/dist/orchestrator/dependency-resolver.d.ts.map +1 -1
  307. package/dist/orchestrator/dependency-resolver.js +6 -6
  308. package/dist/orchestrator/dependency-resolver.js.map +1 -1
  309. package/dist/orchestrator/feature-branch.d.ts +3 -3
  310. package/dist/orchestrator/feature-branch.d.ts.map +1 -1
  311. package/dist/orchestrator/feature-branch.js +9 -10
  312. package/dist/orchestrator/feature-branch.js.map +1 -1
  313. package/dist/orchestrator/feature-branch.test.js +80 -78
  314. package/dist/orchestrator/feature-branch.test.js.map +1 -1
  315. package/dist/orchestrator/orphan-recovery.d.ts +2 -2
  316. package/dist/orchestrator/orphan-recovery.d.ts.map +1 -1
  317. package/dist/orchestrator/orphan-recovery.js +10 -10
  318. package/dist/orchestrator/orphan-recovery.js.map +1 -1
  319. package/dist/orchestrator/scheduler.d.ts +4 -4
  320. package/dist/orchestrator/scheduler.d.ts.map +1 -1
  321. package/dist/orchestrator/scheduler.js +90 -76
  322. package/dist/orchestrator/scheduler.js.map +1 -1
  323. package/dist/orchestrator/scheduler.test.js +496 -374
  324. package/dist/orchestrator/scheduler.test.js.map +1 -1
  325. package/dist/utils/auto-merge.d.ts.map +1 -1
  326. package/dist/utils/auto-merge.js +74 -56
  327. package/dist/utils/auto-merge.js.map +1 -1
  328. package/dist/utils/auto-merge.test.js +101 -66
  329. package/dist/utils/auto-merge.test.js.map +1 -1
  330. package/dist/utils/cli-helpers.d.ts +5 -5
  331. package/dist/utils/cli-helpers.d.ts.map +1 -1
  332. package/dist/utils/cli-helpers.js +8 -9
  333. package/dist/utils/cli-helpers.js.map +1 -1
  334. package/dist/utils/cli-helpers.test.js +28 -30
  335. package/dist/utils/cli-helpers.test.js.map +1 -1
  336. package/dist/utils/paths.d.ts +6 -0
  337. package/dist/utils/paths.d.ts.map +1 -1
  338. package/dist/utils/paths.js +12 -1
  339. package/dist/utils/paths.js.map +1 -1
  340. package/dist/utils/paths.test.js +1 -0
  341. package/dist/utils/paths.test.js.map +1 -1
  342. package/dist/utils/pr-sync.d.ts +10 -10
  343. package/dist/utils/pr-sync.d.ts.map +1 -1
  344. package/dist/utils/pr-sync.js +20 -21
  345. package/dist/utils/pr-sync.js.map +1 -1
  346. package/dist/utils/pr-sync.test.js +52 -50
  347. package/dist/utils/pr-sync.test.js.map +1 -1
  348. package/dist/utils/with-hive-context.d.ts.map +1 -1
  349. package/dist/utils/with-hive-context.js +70 -1
  350. package/dist/utils/with-hive-context.js.map +1 -1
  351. package/package.json +3 -1
  352. package/src/agents/base-agent.test.ts +2 -1
  353. package/src/agents/base-agent.ts +32 -28
  354. package/src/agents/intermediate.ts +27 -18
  355. package/src/agents/junior.ts +27 -18
  356. package/src/agents/qa.ts +54 -40
  357. package/src/agents/senior.ts +42 -27
  358. package/src/agents/tech-lead.ts +42 -32
  359. package/src/cli/commands/add-repo.test.ts +1 -1
  360. package/src/cli/commands/add-repo.ts +2 -2
  361. package/src/cli/commands/agents.test.ts +7 -7
  362. package/src/cli/commands/agents.ts +12 -10
  363. package/src/cli/commands/approach.ts +2 -2
  364. package/src/cli/commands/approvals.test.ts +8 -8
  365. package/src/cli/commands/approvals.ts +9 -7
  366. package/src/cli/commands/assign.test.ts +19 -18
  367. package/src/cli/commands/assign.ts +4 -4
  368. package/src/cli/commands/cleanup.test.ts +5 -1
  369. package/src/cli/commands/cleanup.ts +11 -9
  370. package/src/cli/commands/escalations.test.ts +2 -2
  371. package/src/cli/commands/escalations.ts +9 -7
  372. package/src/cli/commands/init.test.ts +5 -0
  373. package/src/cli/commands/init.ts +53 -5
  374. package/src/cli/commands/manager/agent-monitoring.ts +3 -3
  375. package/src/cli/commands/manager/auditor-lifecycle.test.ts +21 -14
  376. package/src/cli/commands/manager/auditor-lifecycle.ts +3 -3
  377. package/src/cli/commands/manager/auto-reject-comment-only-reviews.test.ts +28 -23
  378. package/src/cli/commands/manager/escalation-handler.test.ts +13 -13
  379. package/src/cli/commands/manager/escalation-handler.ts +19 -12
  380. package/src/cli/commands/manager/feature-sign-off.test.ts +40 -31
  381. package/src/cli/commands/manager/feature-sign-off.ts +7 -7
  382. package/src/cli/commands/manager/feature-test-result.ts +13 -16
  383. package/src/cli/commands/manager/handoff-recovery.ts +20 -20
  384. package/src/cli/commands/manager/index.test.ts +4 -4
  385. package/src/cli/commands/manager/index.ts +58 -59
  386. package/src/cli/commands/manager/merged-story-cleanup.test.ts +28 -19
  387. package/src/cli/commands/manager/merged-story-cleanup.ts +11 -14
  388. package/src/cli/commands/manager/pr-sync-orchestrator.ts +115 -110
  389. package/src/cli/commands/manager/qa-review-handler.ts +50 -63
  390. package/src/cli/commands/manager/spin-down.ts +27 -25
  391. package/src/cli/commands/manager/stale-escalations.ts +2 -3
  392. package/src/cli/commands/manager/stuck-story-helpers.ts +10 -10
  393. package/src/cli/commands/manager/stuck-story-processor.ts +56 -62
  394. package/src/cli/commands/manager/tech-lead-lifecycle.ts +6 -6
  395. package/src/cli/commands/manager/types.ts +2 -3
  396. package/src/cli/commands/msg.test.ts +2 -2
  397. package/src/cli/commands/my-stories.test.ts +4 -2
  398. package/src/cli/commands/my-stories.ts +22 -27
  399. package/src/cli/commands/nuke.test.ts +1 -1
  400. package/src/cli/commands/pr.test.ts +10 -6
  401. package/src/cli/commands/pr.ts +41 -32
  402. package/src/cli/commands/progress.test.ts +1 -1
  403. package/src/cli/commands/progress.ts +11 -6
  404. package/src/cli/commands/req-headless.test.ts +170 -0
  405. package/src/cli/commands/req-spawn.test.ts +12 -2
  406. package/src/cli/commands/req.ts +13 -14
  407. package/src/cli/commands/resume.test.ts +1 -1
  408. package/src/cli/commands/resume.ts +7 -8
  409. package/src/cli/commands/status.test.ts +1 -1
  410. package/src/cli/commands/status.ts +52 -40
  411. package/src/cli/commands/stories.test.ts +4 -2
  412. package/src/cli/commands/stories.ts +11 -11
  413. package/src/cli/commands/teams.test.ts +2 -2
  414. package/src/cli/commands/teams.ts +11 -11
  415. package/src/cli/dashboard/index.test.ts +35 -34
  416. package/src/cli/dashboard/index.ts +34 -23
  417. package/src/cli/dashboard/panels/activity.ts +10 -4
  418. package/src/cli/dashboard/panels/agents.ts +8 -5
  419. package/src/cli/dashboard/panels/escalations.ts +4 -4
  420. package/src/cli/dashboard/panels/merge-queue.ts +4 -4
  421. package/src/cli/dashboard/panels/pipeline.ts +10 -4
  422. package/src/config/schema.ts +1 -0
  423. package/src/connectors/project-management/operations.ts +9 -10
  424. package/src/context-files/index.test.ts +1 -0
  425. package/src/db/client.ts +17 -0
  426. package/src/db/pg-migrations/001-full-schema.sql +209 -0
  427. package/src/db/postgres-provider.integration.test.ts +574 -0
  428. package/src/db/postgres-provider.test.ts +97 -0
  429. package/src/db/postgres-provider.ts +364 -0
  430. package/src/db/provider.test.ts +283 -0
  431. package/src/db/provider.ts +161 -0
  432. package/src/db/queries/agents.test.ts +114 -113
  433. package/src/db/queries/agents.ts +50 -36
  434. package/src/db/queries/escalations.test.ts +134 -133
  435. package/src/db/queries/escalations.ts +72 -57
  436. package/src/db/queries/heartbeat.test.ts +77 -78
  437. package/src/db/queries/heartbeat.ts +24 -46
  438. package/src/db/queries/integration-sync.ts +26 -26
  439. package/src/db/queries/logs.test.ts +151 -148
  440. package/src/db/queries/logs.ts +78 -53
  441. package/src/db/queries/messages.test.ts +48 -50
  442. package/src/db/queries/messages.ts +26 -18
  443. package/src/db/queries/pull-requests.test.ts +194 -199
  444. package/src/db/queries/pull-requests.ts +117 -88
  445. package/src/db/queries/requirements.test.ts +84 -83
  446. package/src/db/queries/requirements.ts +33 -28
  447. package/src/db/queries/stories.test.ts +173 -172
  448. package/src/db/queries/stories.ts +141 -110
  449. package/src/db/queries/teams.test.ts +37 -36
  450. package/src/db/queries/teams.ts +22 -14
  451. package/src/integrations/jira/repair.test.ts +27 -26
  452. package/src/integrations/jira/stories.test.ts +15 -16
  453. package/src/integrations/jira/stories.ts +15 -15
  454. package/src/integrations/jira/sync.test.ts +68 -68
  455. package/src/integrations/jira/sync.ts +29 -39
  456. package/src/integrations/jira/transitions.ts +6 -6
  457. package/src/orchestrator/agent-selector.ts +9 -8
  458. package/src/orchestrator/dependency-resolver.ts +16 -7
  459. package/src/orchestrator/feature-branch.test.ts +85 -80
  460. package/src/orchestrator/feature-branch.ts +13 -14
  461. package/src/orchestrator/orphan-recovery.ts +14 -13
  462. package/src/orchestrator/scheduler.test.ts +536 -394
  463. package/src/orchestrator/scheduler.ts +129 -115
  464. package/src/utils/auto-merge.test.ts +102 -68
  465. package/src/utils/auto-merge.ts +161 -168
  466. package/src/utils/cli-helpers.test.ts +30 -32
  467. package/src/utils/cli-helpers.ts +15 -11
  468. package/src/utils/paths.test.ts +1 -0
  469. package/src/utils/paths.ts +14 -1
  470. package/src/utils/pr-sync.test.ts +55 -52
  471. package/src/utils/pr-sync.ts +27 -32
  472. package/src/utils/with-hive-context.ts +89 -1
@@ -2,7 +2,6 @@
2
2
  import { join } from 'path';
3
3
  import { loadConfig } from '../config/loader.js';
4
4
  import { postLifecycleComment, syncStatusForStory, } from '../connectors/project-management/operations.js';
5
- import { queryOne, withTransaction } from '../db/client.js';
6
5
  import { getAgentById, updateAgent } from '../db/queries/agents.js';
7
6
  import { createLog } from '../db/queries/logs.js';
8
7
  import { getApprovedPullRequests, updatePullRequest, } from '../db/queries/pull-requests.js';
@@ -95,18 +94,19 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
95
94
  // === Phase 1 (with lock): Read approved PRs and claim them ===
96
95
  const claimedPRs = [];
97
96
  const claimPhase = async (phaseDb) => {
98
- const approvedPRs = getApprovedPullRequests(phaseDb.db).filter(pr => !isManualMergeRequired(pr.review_notes));
97
+ const approvedPRs = (await getApprovedPullRequests(phaseDb.provider)).filter(pr => !isManualMergeRequired(pr.review_notes));
99
98
  for (const pr of approvedPRs) {
100
99
  if (!pr.github_pr_number)
101
100
  continue;
102
101
  let claimed = false;
103
- await withTransaction(phaseDb.db, () => {
104
- const currentPR = queryOne(phaseDb.db, `SELECT status FROM pull_requests WHERE id = ?`, [pr.id]);
102
+ await phaseDb.provider.withTransaction(async () => {
103
+ const currentPR = await phaseDb.provider.queryOne(`SELECT status FROM pull_requests WHERE id = ?`, [pr.id]);
105
104
  if (currentPR?.status === 'approved') {
106
- updatePullRequest(phaseDb.db, pr.id, { status: 'queued' });
105
+ await updatePullRequest(phaseDb.provider, pr.id, { status: 'queued' });
107
106
  claimed = true;
108
107
  }
109
- }, () => phaseDb.save());
108
+ });
109
+ phaseDb.save();
110
110
  if (!claimed)
111
111
  continue;
112
112
  // Resolve team/repo info while we have the lock
@@ -114,14 +114,14 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
114
114
  let repoCwd = root;
115
115
  let repoSlug = null;
116
116
  if (teamId) {
117
- const team = getAllTeams(phaseDb.db).find(t => t.id === teamId);
117
+ const team = (await getAllTeams(phaseDb.provider)).find(t => t.id === teamId);
118
118
  if (team?.repo_path)
119
119
  repoCwd = join(root, team.repo_path);
120
120
  if (team?.repo_url)
121
121
  repoSlug = ghRepoSlug(team.repo_url);
122
122
  }
123
123
  else if (pr.branch_name) {
124
- const teams = getAllTeams(phaseDb.db);
124
+ const teams = await getAllTeams(phaseDb.provider);
125
125
  for (const team of teams) {
126
126
  if (team.repo_path) {
127
127
  repoCwd = join(root, team.repo_path);
@@ -277,7 +277,7 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
277
277
  const { pr } = result.claimed;
278
278
  switch (result.outcome.type) {
279
279
  case 'unknown_state': {
280
- createLog(phaseDb.db, {
280
+ await createLog(phaseDb.provider, {
281
281
  agentId: 'manager',
282
282
  storyId: pr.story_id || undefined,
283
283
  eventType: 'PR_MERGE_SKIPPED',
@@ -290,43 +290,50 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
290
290
  case 'already_closed': {
291
291
  const prState = result.outcome.prState;
292
292
  const newStatus = prState.state === 'MERGED' ? 'merged' : 'closed';
293
- await withTransaction(phaseDb.db, () => {
294
- updatePullRequest(phaseDb.db, pr.id, { status: newStatus });
293
+ await phaseDb.provider.withTransaction(async () => {
294
+ await updatePullRequest(phaseDb.provider, pr.id, { status: newStatus });
295
295
  if (pr.story_id && prState.state === 'MERGED') {
296
- const story = getStoryById(phaseDb.db, pr.story_id);
296
+ const story = await getStoryById(phaseDb.provider, pr.story_id);
297
297
  if (story?.assigned_agent_id) {
298
- const agent = getAgentById(phaseDb.db, story.assigned_agent_id);
298
+ const agent = await getAgentById(phaseDb.provider, story.assigned_agent_id);
299
299
  if (agent && agent.current_story_id === pr.story_id) {
300
- updateAgent(phaseDb.db, agent.id, { currentStoryId: null, status: 'idle' });
300
+ await updateAgent(phaseDb.provider, agent.id, {
301
+ currentStoryId: null,
302
+ status: 'idle',
303
+ });
301
304
  }
302
305
  }
303
- updateStory(phaseDb.db, pr.story_id, { status: 'merged', assignedAgentId: null });
304
- createLog(phaseDb.db, {
306
+ await updateStory(phaseDb.provider, pr.story_id, {
307
+ status: 'merged',
308
+ assignedAgentId: null,
309
+ });
310
+ await createLog(phaseDb.provider, {
305
311
  agentId: 'manager',
306
312
  storyId: pr.story_id,
307
313
  eventType: 'STORY_MERGED',
308
314
  message: `Story merged (PR #${pr.github_pr_number} was already merged on GitHub)`,
309
315
  metadata: { pr_id: pr.id },
310
316
  });
311
- postLifecycleComment(phaseDb.db, paths.hiveDir, config, pr.story_id, 'merged').catch(() => {
317
+ postLifecycleComment(phaseDb.provider, paths.hiveDir, config, pr.story_id, 'merged').catch(() => {
312
318
  /* non-fatal */
313
319
  });
314
320
  }
315
- createLog(phaseDb.db, {
321
+ await createLog(phaseDb.provider, {
316
322
  agentId: 'manager',
317
323
  storyId: pr.story_id || undefined,
318
324
  eventType: 'PR_MERGE_SKIPPED',
319
325
  message: `PR #${pr.github_pr_number} is already ${prState.state.toLowerCase()}, skipping merge`,
320
326
  metadata: { pr_id: pr.id, github_state: prState.state },
321
327
  });
322
- }, () => phaseDb.save());
328
+ });
329
+ phaseDb.save();
323
330
  if (pr.story_id && prState.state === 'MERGED') {
324
- syncStatusForStory(root, phaseDb.db, pr.story_id, 'merged');
331
+ syncStatusForStory(root, phaseDb.provider, pr.story_id, 'merged');
325
332
  }
326
333
  break;
327
334
  }
328
335
  case 'conflicts': {
329
- createLog(phaseDb.db, {
336
+ await createLog(phaseDb.provider, {
330
337
  agentId: 'manager',
331
338
  storyId: pr.story_id || undefined,
332
339
  eventType: 'PR_MERGE_SKIPPED',
@@ -337,9 +344,9 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
337
344
  break;
338
345
  }
339
346
  case 'ci_blocked': {
340
- await withTransaction(phaseDb.db, () => {
341
- updatePullRequest(phaseDb.db, pr.id, { status: 'approved' });
342
- createLog(phaseDb.db, {
347
+ await phaseDb.provider.withTransaction(async () => {
348
+ await updatePullRequest(phaseDb.provider, pr.id, { status: 'approved' });
349
+ await createLog(phaseDb.provider, {
343
350
  agentId: 'manager',
344
351
  storyId: pr.story_id || undefined,
345
352
  eventType: 'PR_MERGE_SKIPPED',
@@ -347,24 +354,28 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
347
354
  message: `Skipped auto-merge of PR #${pr.github_pr_number}: CI checks are failing (not pre-existing on base branch)`,
348
355
  metadata: { pr_id: pr.id },
349
356
  });
350
- }, () => phaseDb.save());
357
+ });
358
+ phaseDb.save();
351
359
  break;
352
360
  }
353
361
  case 'ci_bypassed': {
354
362
  const storyId = pr.story_id;
355
363
  const bypassedChecks = result.outcome.bypassedChecks;
356
- await withTransaction(phaseDb.db, () => {
357
- updatePullRequest(phaseDb.db, pr.id, { status: 'merged' });
364
+ await phaseDb.provider.withTransaction(async () => {
365
+ await updatePullRequest(phaseDb.provider, pr.id, { status: 'merged' });
358
366
  if (storyId) {
359
- updateStory(phaseDb.db, storyId, { status: 'merged' });
360
- const story = getStoryById(phaseDb.db, storyId);
367
+ await updateStory(phaseDb.provider, storyId, { status: 'merged' });
368
+ const story = await getStoryById(phaseDb.provider, storyId);
361
369
  if (story?.assigned_agent_id) {
362
- const agent = getAgentById(phaseDb.db, story.assigned_agent_id);
370
+ const agent = await getAgentById(phaseDb.provider, story.assigned_agent_id);
363
371
  if (agent && agent.current_story_id === storyId) {
364
- updateAgent(phaseDb.db, agent.id, { currentStoryId: null, status: 'idle' });
372
+ await updateAgent(phaseDb.provider, agent.id, {
373
+ currentStoryId: null,
374
+ status: 'idle',
375
+ });
365
376
  }
366
377
  }
367
- createLog(phaseDb.db, {
378
+ await createLog(phaseDb.provider, {
368
379
  agentId: 'manager',
369
380
  storyId,
370
381
  eventType: 'STORY_MERGED',
@@ -372,37 +383,41 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
372
383
  });
373
384
  }
374
385
  else {
375
- createLog(phaseDb.db, {
386
+ await createLog(phaseDb.provider, {
376
387
  agentId: 'manager',
377
388
  eventType: 'PR_MERGED',
378
389
  message: `PR ${pr.id} auto-merged (GitHub PR #${pr.github_pr_number}, bypassed pre-existing CI failures: ${bypassedChecks.join(', ')})`,
379
390
  metadata: { pr_id: pr.id },
380
391
  });
381
392
  }
382
- }, () => phaseDb.save());
393
+ });
394
+ phaseDb.save();
383
395
  mergedCount++;
384
396
  if (storyId) {
385
- postLifecycleComment(phaseDb.db, paths.hiveDir, config, storyId, 'merged').catch(() => {
397
+ postLifecycleComment(phaseDb.provider, paths.hiveDir, config, storyId, 'merged').catch(() => {
386
398
  /* non-fatal */
387
399
  });
388
- syncStatusForStory(root, phaseDb.db, storyId, 'merged');
400
+ syncStatusForStory(root, phaseDb.provider, storyId, 'merged');
389
401
  }
390
402
  break;
391
403
  }
392
404
  case 'merged': {
393
405
  const storyId = pr.story_id;
394
- await withTransaction(phaseDb.db, () => {
395
- updatePullRequest(phaseDb.db, pr.id, { status: 'merged' });
406
+ await phaseDb.provider.withTransaction(async () => {
407
+ await updatePullRequest(phaseDb.provider, pr.id, { status: 'merged' });
396
408
  if (storyId) {
397
- updateStory(phaseDb.db, storyId, { status: 'merged' });
398
- const story = getStoryById(phaseDb.db, storyId);
409
+ await updateStory(phaseDb.provider, storyId, { status: 'merged' });
410
+ const story = await getStoryById(phaseDb.provider, storyId);
399
411
  if (story?.assigned_agent_id) {
400
- const agent = getAgentById(phaseDb.db, story.assigned_agent_id);
412
+ const agent = await getAgentById(phaseDb.provider, story.assigned_agent_id);
401
413
  if (agent && agent.current_story_id === storyId) {
402
- updateAgent(phaseDb.db, agent.id, { currentStoryId: null, status: 'idle' });
414
+ await updateAgent(phaseDb.provider, agent.id, {
415
+ currentStoryId: null,
416
+ status: 'idle',
417
+ });
403
418
  }
404
419
  }
405
- createLog(phaseDb.db, {
420
+ await createLog(phaseDb.provider, {
406
421
  agentId: 'manager',
407
422
  storyId,
408
423
  eventType: 'STORY_MERGED',
@@ -410,25 +425,26 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
410
425
  });
411
426
  }
412
427
  else {
413
- createLog(phaseDb.db, {
428
+ await createLog(phaseDb.provider, {
414
429
  agentId: 'manager',
415
430
  eventType: 'PR_MERGED',
416
431
  message: `PR ${pr.id} auto-merged (GitHub PR #${pr.github_pr_number})`,
417
432
  metadata: { pr_id: pr.id },
418
433
  });
419
434
  }
420
- }, () => phaseDb.save());
435
+ });
436
+ phaseDb.save();
421
437
  mergedCount++;
422
438
  if (storyId) {
423
- postLifecycleComment(phaseDb.db, paths.hiveDir, config, storyId, 'merged').catch(() => {
439
+ postLifecycleComment(phaseDb.provider, paths.hiveDir, config, storyId, 'merged').catch(() => {
424
440
  /* non-fatal */
425
441
  });
426
- syncStatusForStory(root, phaseDb.db, storyId, 'merged');
442
+ syncStatusForStory(root, phaseDb.provider, storyId, 'merged');
427
443
  }
428
444
  break;
429
445
  }
430
446
  case 'auto_merge_pending': {
431
- createLog(phaseDb.db, {
447
+ await createLog(phaseDb.provider, {
432
448
  agentId: 'manager',
433
449
  storyId: pr.story_id || undefined,
434
450
  eventType: 'PR_MERGE_SKIPPED',
@@ -440,9 +456,9 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
440
456
  }
441
457
  case 'branch_updated': {
442
458
  // Reset to 'approved' so the PR is retried on the next cycle once CI passes
443
- await withTransaction(phaseDb.db, () => {
444
- updatePullRequest(phaseDb.db, pr.id, { status: 'approved' });
445
- createLog(phaseDb.db, {
459
+ await phaseDb.provider.withTransaction(async () => {
460
+ await updatePullRequest(phaseDb.provider, pr.id, { status: 'approved' });
461
+ await createLog(phaseDb.provider, {
446
462
  agentId: 'manager',
447
463
  storyId: pr.story_id || undefined,
448
464
  eventType: 'PR_MERGE_SKIPPED',
@@ -450,13 +466,14 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
450
466
  message: `Updated stale branch for PR #${pr.github_pr_number} (was behind base branch), will retry merge`,
451
467
  metadata: { pr_id: pr.id },
452
468
  });
453
- }, () => phaseDb.save());
469
+ });
470
+ phaseDb.save();
454
471
  break;
455
472
  }
456
473
  case 'merge_failed': {
457
- await withTransaction(phaseDb.db, () => {
458
- updatePullRequest(phaseDb.db, pr.id, { status: 'approved' });
459
- createLog(phaseDb.db, {
474
+ await phaseDb.provider.withTransaction(async () => {
475
+ await updatePullRequest(phaseDb.provider, pr.id, { status: 'approved' });
476
+ await createLog(phaseDb.provider, {
460
477
  agentId: 'manager',
461
478
  storyId: pr.story_id || undefined,
462
479
  eventType: 'PR_MERGE_FAILED',
@@ -464,7 +481,8 @@ export async function autoMergeApprovedPRs(root, db, withLock) {
464
481
  message: `Failed to auto-merge PR ${pr.id} (GitHub PR #${pr.github_pr_number}): ${result.outcome.type === 'merge_failed' ? result.outcome.error.message : 'Unknown error'}`,
465
482
  metadata: { pr_id: pr.id },
466
483
  });
467
- }, () => phaseDb.save());
484
+ });
485
+ phaseDb.save();
468
486
  break;
469
487
  }
470
488
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-merge.js","sourceRoot":"","sources":["../../src/utils/auto-merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-merge.js","sourceRoot":"","sources":["../../src/utils/auto-merge.ts"],"names":[],"mappings":"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"}