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
@@ -0,0 +1,226 @@
1
+ // Licensed under the Hungry Ghost Hive License. See LICENSE.
2
+ import initSqlJs from 'sql.js';
3
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
4
+ import { ReadOnlySqliteProvider, SqliteProvider } from './provider.js';
5
+ describe('SqliteProvider', () => {
6
+ let db;
7
+ let saveFn;
8
+ let provider;
9
+ beforeEach(async () => {
10
+ const SQL = await initSqlJs();
11
+ db = new SQL.Database();
12
+ db.run('PRAGMA foreign_keys = ON');
13
+ db.run(`
14
+ CREATE TABLE IF NOT EXISTS test_items (
15
+ id TEXT PRIMARY KEY,
16
+ name TEXT NOT NULL,
17
+ value INTEGER
18
+ )
19
+ `);
20
+ saveFn = vi.fn();
21
+ provider = new SqliteProvider(db, saveFn);
22
+ });
23
+ describe('queryAll', () => {
24
+ it('should return all matching rows', async () => {
25
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
26
+ '1',
27
+ 'a',
28
+ 10,
29
+ ]);
30
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
31
+ '2',
32
+ 'b',
33
+ 20,
34
+ ]);
35
+ const results = await provider.queryAll('SELECT * FROM test_items ORDER BY id');
36
+ expect(results).toHaveLength(2);
37
+ expect(results[0]).toEqual({ id: '1', name: 'a', value: 10 });
38
+ expect(results[1]).toEqual({ id: '2', name: 'b', value: 20 });
39
+ });
40
+ it('should return empty array when no matches', async () => {
41
+ const results = await provider.queryAll('SELECT * FROM test_items');
42
+ expect(results).toEqual([]);
43
+ });
44
+ it('should support parameterized queries', async () => {
45
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
46
+ '1',
47
+ 'a',
48
+ 10,
49
+ ]);
50
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
51
+ '2',
52
+ 'b',
53
+ 20,
54
+ ]);
55
+ const results = await provider.queryAll('SELECT * FROM test_items WHERE value > ?', [15]);
56
+ expect(results).toHaveLength(1);
57
+ expect(results[0].id).toBe('2');
58
+ });
59
+ });
60
+ describe('queryOne', () => {
61
+ it('should return the first matching row', async () => {
62
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
63
+ '1',
64
+ 'a',
65
+ 10,
66
+ ]);
67
+ const result = await provider.queryOne('SELECT * FROM test_items WHERE id = ?', ['1']);
68
+ expect(result).toEqual({ id: '1', name: 'a', value: 10 });
69
+ });
70
+ it('should return undefined when no match', async () => {
71
+ const result = await provider.queryOne('SELECT * FROM test_items WHERE id = ?', [
72
+ 'nonexistent',
73
+ ]);
74
+ expect(result).toBeUndefined();
75
+ });
76
+ });
77
+ describe('run', () => {
78
+ it('should execute INSERT statements', async () => {
79
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
80
+ '1',
81
+ 'test',
82
+ 42,
83
+ ]);
84
+ const result = await provider.queryOne('SELECT * FROM test_items WHERE id = ?', ['1']);
85
+ expect(result).toEqual({ id: '1', name: 'test', value: 42 });
86
+ });
87
+ it('should execute UPDATE statements', async () => {
88
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
89
+ '1',
90
+ 'test',
91
+ 42,
92
+ ]);
93
+ await provider.run('UPDATE test_items SET value = ? WHERE id = ?', [99, '1']);
94
+ const result = await provider.queryOne('SELECT value FROM test_items WHERE id = ?', ['1']);
95
+ expect(result?.value).toBe(99);
96
+ });
97
+ it('should execute DELETE statements', async () => {
98
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
99
+ '1',
100
+ 'test',
101
+ 42,
102
+ ]);
103
+ await provider.run('DELETE FROM test_items WHERE id = ?', ['1']);
104
+ const result = await provider.queryOne('SELECT * FROM test_items WHERE id = ?', ['1']);
105
+ expect(result).toBeUndefined();
106
+ });
107
+ });
108
+ describe('withTransaction', () => {
109
+ it('should commit on success and call save', async () => {
110
+ await provider.withTransaction(async () => {
111
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
112
+ '1',
113
+ 'a',
114
+ 10,
115
+ ]);
116
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
117
+ '2',
118
+ 'b',
119
+ 20,
120
+ ]);
121
+ });
122
+ const results = await provider.queryAll('SELECT * FROM test_items');
123
+ expect(results).toHaveLength(2);
124
+ expect(saveFn).toHaveBeenCalledOnce();
125
+ });
126
+ it('should rollback on error and not call save', async () => {
127
+ await expect(provider.withTransaction(async () => {
128
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
129
+ '1',
130
+ 'a',
131
+ 10,
132
+ ]);
133
+ throw new Error('test error');
134
+ })).rejects.toThrow('test error');
135
+ const results = await provider.queryAll('SELECT * FROM test_items');
136
+ expect(results).toHaveLength(0);
137
+ expect(saveFn).not.toHaveBeenCalled();
138
+ });
139
+ it('should support async functions', async () => {
140
+ await provider.withTransaction(async () => {
141
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
142
+ '1',
143
+ 'a',
144
+ 10,
145
+ ]);
146
+ await Promise.resolve();
147
+ await provider.run('INSERT INTO test_items (id, name, value) VALUES (?, ?, ?)', [
148
+ '2',
149
+ 'b',
150
+ 20,
151
+ ]);
152
+ });
153
+ const results = await provider.queryAll('SELECT * FROM test_items');
154
+ expect(results).toHaveLength(2);
155
+ });
156
+ });
157
+ describe('save', () => {
158
+ it('should call the save function', () => {
159
+ provider.save();
160
+ expect(saveFn).toHaveBeenCalledOnce();
161
+ });
162
+ it('should be a no-op when no save function provided', () => {
163
+ const providerNoSave = new SqliteProvider(db);
164
+ expect(() => providerNoSave.save()).not.toThrow();
165
+ });
166
+ });
167
+ describe('close', () => {
168
+ it('should close the underlying database', async () => {
169
+ await provider.close();
170
+ await expect(provider.queryAll('SELECT 1')).rejects.toThrow();
171
+ });
172
+ });
173
+ describe('db property', () => {
174
+ it('should expose the underlying sql.js database', () => {
175
+ expect(provider.db).toBe(db);
176
+ });
177
+ });
178
+ });
179
+ describe('ReadOnlySqliteProvider', () => {
180
+ let db;
181
+ let provider;
182
+ beforeEach(async () => {
183
+ const SQL = await initSqlJs();
184
+ db = new SQL.Database();
185
+ db.run('PRAGMA foreign_keys = ON');
186
+ db.run(`
187
+ CREATE TABLE IF NOT EXISTS test_items (
188
+ id TEXT PRIMARY KEY,
189
+ name TEXT NOT NULL,
190
+ value INTEGER
191
+ )
192
+ `);
193
+ // Pre-populate some data
194
+ db.run("INSERT INTO test_items (id, name, value) VALUES ('1', 'a', 10)");
195
+ db.run("INSERT INTO test_items (id, name, value) VALUES ('2', 'b', 20)");
196
+ provider = new ReadOnlySqliteProvider(db);
197
+ });
198
+ describe('queryAll', () => {
199
+ it('should return all matching rows', async () => {
200
+ const results = await provider.queryAll('SELECT * FROM test_items ORDER BY id');
201
+ expect(results).toHaveLength(2);
202
+ expect(results[0].name).toBe('a');
203
+ });
204
+ });
205
+ describe('queryOne', () => {
206
+ it('should return the first matching row', async () => {
207
+ const result = await provider.queryOne('SELECT name FROM test_items WHERE id = ?', ['1']);
208
+ expect(result?.name).toBe('a');
209
+ });
210
+ });
211
+ describe('withTransaction', () => {
212
+ it('should commit on success without saving', async () => {
213
+ await provider.withTransaction(async () => {
214
+ await provider.run("INSERT INTO test_items (id, name, value) VALUES ('3', 'c', 30)");
215
+ });
216
+ const results = await provider.queryAll('SELECT * FROM test_items');
217
+ expect(results).toHaveLength(3);
218
+ });
219
+ });
220
+ describe('db property', () => {
221
+ it('should expose the underlying sql.js database', () => {
222
+ expect(provider.db).toBe(db);
223
+ });
224
+ });
225
+ });
226
+ //# sourceMappingURL=provider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.test.js","sourceRoot":"","sources":["../../src/db/provider.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { Database } from 'sql.js';
2
1
  import { type AgentRow } from '../client.js';
2
+ import type { DatabaseProvider } from '../provider.js';
3
3
  export type { AgentRow };
4
4
  export type AgentType = 'tech_lead' | 'senior' | 'intermediate' | 'junior' | 'qa' | 'feature_test' | 'auditor';
5
5
  export type AgentStatus = 'idle' | 'working' | 'blocked' | 'terminated';
@@ -18,16 +18,16 @@ export interface UpdateAgentInput {
18
18
  worktreePath?: string | null;
19
19
  createdAt?: string;
20
20
  }
21
- export declare function createAgent(db: Database, input: CreateAgentInput): AgentRow;
22
- export declare function getAgentById(db: Database, id: string): AgentRow | undefined;
23
- export declare function getAgentsByTeam(db: Database, teamId: string): AgentRow[];
24
- export declare function getAgentsByType(db: Database, type: AgentType): AgentRow[];
25
- export declare function getAgentsByStatus(db: Database, status: AgentStatus): AgentRow[];
26
- export declare function getAllAgents(db: Database): AgentRow[];
27
- export declare function getActiveAgents(db: Database): AgentRow[];
28
- export declare function getTechLead(db: Database): AgentRow | undefined;
29
- export declare function updateAgent(db: Database, id: string, input: UpdateAgentInput): AgentRow | undefined;
30
- export declare function deleteAgent(db: Database, id: string): void;
31
- export declare function getAgentByTmuxSession(db: Database, tmuxSession: string): AgentRow | undefined;
32
- export declare function terminateAgent(db: Database, id: string): void;
21
+ export declare function createAgent(provider: DatabaseProvider, input: CreateAgentInput): Promise<AgentRow>;
22
+ export declare function getAgentById(provider: DatabaseProvider, id: string): Promise<AgentRow | undefined>;
23
+ export declare function getAgentsByTeam(provider: DatabaseProvider, teamId: string): Promise<AgentRow[]>;
24
+ export declare function getAgentsByType(provider: DatabaseProvider, type: AgentType): Promise<AgentRow[]>;
25
+ export declare function getAgentsByStatus(provider: DatabaseProvider, status: AgentStatus): Promise<AgentRow[]>;
26
+ export declare function getAllAgents(provider: DatabaseProvider): Promise<AgentRow[]>;
27
+ export declare function getActiveAgents(provider: DatabaseProvider): Promise<AgentRow[]>;
28
+ export declare function getTechLead(provider: DatabaseProvider): Promise<AgentRow | undefined>;
29
+ export declare function updateAgent(provider: DatabaseProvider, id: string, input: UpdateAgentInput): Promise<AgentRow | undefined>;
30
+ export declare function deleteAgent(provider: DatabaseProvider, id: string): Promise<void>;
31
+ export declare function getAgentByTmuxSession(provider: DatabaseProvider, tmuxSession: string): Promise<AgentRow | undefined>;
32
+ export declare function terminateAgent(provider: DatabaseProvider, id: string): Promise<void>;
33
33
  //# sourceMappingURL=agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/db/queries/agents.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEtE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,QAAQ,GACR,cAAc,GACd,QAAQ,GACR,IAAI,GACJ,cAAc,GACd,SAAS,CAAC;AACd,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,GAAG,QAAQ,CAwB3E;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE3E;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAExE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,EAAE,CAEzE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,QAAQ,EAAE,CAE/E;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAErD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,CASxD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,gBAAgB,GACtB,QAAQ,GAAG,SAAS,CAqCtB;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAI7F;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAE7D"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/db/queries/agents.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,QAAQ,GACR,cAAc,GACd,QAAQ,GACR,IAAI,GACJ,cAAc,GACd,SAAS,CAAC;AACd,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,QAAQ,CAAC,CAuBnB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAE/B;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,EAAE,CAAC,CAErB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,QAAQ,EAAE,CAAC,CAErB;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAErB;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAElF;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAMrF;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAE3F;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,gBAAgB,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAqC/B;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAI/B;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F"}
@@ -1,10 +1,9 @@
1
1
  // Licensed under the Hungry Ghost Hive License. See LICENSE.
2
2
  import { nanoid } from 'nanoid';
3
- import { queryAll, queryOne, run } from '../client.js';
4
- export function createAgent(db, input) {
3
+ export async function createAgent(provider, input) {
5
4
  const id = input.type === 'tech_lead' ? 'tech-lead' : `${input.type}-${nanoid(8)}`;
6
5
  const now = new Date().toISOString();
7
- run(db, `
6
+ await provider.run(`
8
7
  INSERT INTO agents (id, type, team_id, tmux_session, model, status, worktree_path, created_at, updated_at, last_seen)
9
8
  VALUES (?, ?, ?, ?, ?, 'idle', ?, ?, ?, ?)
10
9
  `, [
@@ -18,34 +17,34 @@ export function createAgent(db, input) {
18
17
  now,
19
18
  now,
20
19
  ]);
21
- return getAgentById(db, id);
20
+ return (await getAgentById(provider, id));
22
21
  }
23
- export function getAgentById(db, id) {
24
- return queryOne(db, 'SELECT * FROM agents WHERE id = ?', [id]);
22
+ export async function getAgentById(provider, id) {
23
+ return await provider.queryOne('SELECT * FROM agents WHERE id = ?', [id]);
25
24
  }
26
- export function getAgentsByTeam(db, teamId) {
27
- return queryAll(db, 'SELECT * FROM agents WHERE team_id = ?', [teamId]);
25
+ export async function getAgentsByTeam(provider, teamId) {
26
+ return await provider.queryAll('SELECT * FROM agents WHERE team_id = ?', [teamId]);
28
27
  }
29
- export function getAgentsByType(db, type) {
30
- return queryAll(db, 'SELECT * FROM agents WHERE type = ?', [type]);
28
+ export async function getAgentsByType(provider, type) {
29
+ return await provider.queryAll('SELECT * FROM agents WHERE type = ?', [type]);
31
30
  }
32
- export function getAgentsByStatus(db, status) {
33
- return queryAll(db, 'SELECT * FROM agents WHERE status = ?', [status]);
31
+ export async function getAgentsByStatus(provider, status) {
32
+ return await provider.queryAll('SELECT * FROM agents WHERE status = ?', [status]);
34
33
  }
35
- export function getAllAgents(db) {
36
- return queryAll(db, 'SELECT * FROM agents ORDER BY type, team_id');
34
+ export async function getAllAgents(provider) {
35
+ return await provider.queryAll('SELECT * FROM agents ORDER BY type, team_id');
37
36
  }
38
- export function getActiveAgents(db) {
39
- return queryAll(db, `
37
+ export async function getActiveAgents(provider) {
38
+ return await provider.queryAll(`
40
39
  SELECT * FROM agents
41
40
  WHERE status IN ('idle', 'working', 'blocked')
42
41
  ORDER BY type, team_id
43
42
  `);
44
43
  }
45
- export function getTechLead(db) {
46
- return queryOne(db, `SELECT * FROM agents WHERE type = 'tech_lead'`);
44
+ export async function getTechLead(provider) {
45
+ return await provider.queryOne(`SELECT * FROM agents WHERE type = 'tech_lead'`);
47
46
  }
48
- export function updateAgent(db, id, input) {
47
+ export async function updateAgent(provider, id, input) {
49
48
  const updates = ['updated_at = ?'];
50
49
  const values = [new Date().toISOString()];
51
50
  if (input.status !== undefined) {
@@ -74,21 +73,21 @@ export function updateAgent(db, id, input) {
74
73
  }
75
74
  if (updates.length === 1) {
76
75
  // Only updated_at, nothing to update
77
- return getAgentById(db, id);
76
+ return await getAgentById(provider, id);
78
77
  }
79
78
  values.push(id);
80
- run(db, `UPDATE agents SET ${updates.join(', ')} WHERE id = ?`, values);
81
- return getAgentById(db, id);
79
+ await provider.run(`UPDATE agents SET ${updates.join(', ')} WHERE id = ?`, values);
80
+ return await getAgentById(provider, id);
82
81
  }
83
- export function deleteAgent(db, id) {
84
- run(db, 'DELETE FROM agents WHERE id = ?', [id]);
82
+ export async function deleteAgent(provider, id) {
83
+ await provider.run('DELETE FROM agents WHERE id = ?', [id]);
85
84
  }
86
- export function getAgentByTmuxSession(db, tmuxSession) {
87
- return queryOne(db, 'SELECT * FROM agents WHERE tmux_session = ? LIMIT 1', [
85
+ export async function getAgentByTmuxSession(provider, tmuxSession) {
86
+ return await provider.queryOne('SELECT * FROM agents WHERE tmux_session = ? LIMIT 1', [
88
87
  tmuxSession,
89
88
  ]);
90
89
  }
91
- export function terminateAgent(db, id) {
92
- updateAgent(db, id, { status: 'terminated', tmuxSession: null });
90
+ export async function terminateAgent(provider, id) {
91
+ await updateAgent(provider, id, { status: 'terminated', tmuxSession: null });
93
92
  }
94
93
  //# sourceMappingURL=agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/db/queries/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/db/queries/agents.ts"],"names":[],"mappings":"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"}