agent-relay 1.1.0 → 1.2.3

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 (567) hide show
  1. package/.gitattributes +3 -0
  2. package/.nvmrc +1 -0
  3. package/.trajectories/completed/2026-01/traj_1dviorhnkcb5.json +65 -0
  4. package/.trajectories/completed/2026-01/traj_1dviorhnkcb5.md +37 -0
  5. package/.trajectories/completed/2026-01/traj_1k5if5snst2e.json +65 -0
  6. package/.trajectories/completed/2026-01/traj_1k5if5snst2e.md +37 -0
  7. package/.trajectories/completed/2026-01/traj_1rp3rges5811.json +49 -0
  8. package/.trajectories/completed/2026-01/traj_1rp3rges5811.md +31 -0
  9. package/.trajectories/completed/2026-01/traj_22bhyulruouw.json +113 -0
  10. package/.trajectories/completed/2026-01/traj_22bhyulruouw.md +57 -0
  11. package/.trajectories/completed/2026-01/traj_2dao7ddgnta0.json +53 -0
  12. package/.trajectories/completed/2026-01/traj_2dao7ddgnta0.md +32 -0
  13. package/.trajectories/completed/2026-01/traj_3t0440mjeunc.json +26 -0
  14. package/.trajectories/completed/2026-01/traj_3t0440mjeunc.md +6 -0
  15. package/.trajectories/completed/2026-01/traj_45x9494d9xnr.json +47 -0
  16. package/.trajectories/completed/2026-01/traj_45x9494d9xnr.md +32 -0
  17. package/.trajectories/completed/2026-01/traj_4aa0bb77s4nh.json +53 -0
  18. package/.trajectories/completed/2026-01/traj_4aa0bb77s4nh.md +32 -0
  19. package/.trajectories/completed/2026-01/traj_5lhmzq8rxpqv.json +59 -0
  20. package/.trajectories/completed/2026-01/traj_5lhmzq8rxpqv.md +33 -0
  21. package/.trajectories/completed/2026-01/traj_5vr4e9erb1fs.json +53 -0
  22. package/.trajectories/completed/2026-01/traj_5vr4e9erb1fs.md +32 -0
  23. package/.trajectories/completed/2026-01/traj_6fgiwdoklvym.json +48 -0
  24. package/.trajectories/completed/2026-01/traj_6fgiwdoklvym.md +24 -0
  25. package/.trajectories/completed/2026-01/traj_7ludwvz45veh.json +209 -0
  26. package/.trajectories/completed/2026-01/traj_7ludwvz45veh.md +97 -0
  27. package/.trajectories/completed/2026-01/traj_9921cuhel0pj.json +48 -0
  28. package/.trajectories/completed/2026-01/traj_9921cuhel0pj.md +24 -0
  29. package/.trajectories/completed/2026-01/traj_ajs7zqfux4wc.json +49 -0
  30. package/.trajectories/completed/2026-01/traj_ajs7zqfux4wc.md +23 -0
  31. package/.trajectories/completed/2026-01/traj_cvtqhlwcq9s0.json +53 -0
  32. package/.trajectories/completed/2026-01/traj_cvtqhlwcq9s0.md +32 -0
  33. package/.trajectories/completed/2026-01/traj_cxofprm2m2en.json +49 -0
  34. package/.trajectories/completed/2026-01/traj_cxofprm2m2en.md +31 -0
  35. package/.trajectories/completed/2026-01/traj_d2hhz3k0vrhn.json +26 -0
  36. package/.trajectories/completed/2026-01/traj_d2hhz3k0vrhn.md +6 -0
  37. package/.trajectories/completed/2026-01/traj_dfuvww9pege5.json +59 -0
  38. package/.trajectories/completed/2026-01/traj_dfuvww9pege5.md +37 -0
  39. package/.trajectories/completed/2026-01/traj_g0fisy9h51mf.json +77 -0
  40. package/.trajectories/completed/2026-01/traj_g0fisy9h51mf.md +42 -0
  41. package/.trajectories/completed/2026-01/traj_gjdre5voouod.json +53 -0
  42. package/.trajectories/completed/2026-01/traj_gjdre5voouod.md +32 -0
  43. package/.trajectories/completed/2026-01/traj_gtlyqtta3x8l.json +25 -0
  44. package/.trajectories/completed/2026-01/traj_gtlyqtta3x8l.md +15 -0
  45. package/.trajectories/completed/2026-01/traj_h4xijiuip3w4.json +101 -0
  46. package/.trajectories/completed/2026-01/traj_h4xijiuip3w4.md +44 -0
  47. package/.trajectories/completed/2026-01/traj_hhxte7w4gjjx.json +22 -0
  48. package/.trajectories/completed/2026-01/traj_hhxte7w4gjjx.md +5 -0
  49. package/.trajectories/completed/2026-01/traj_hpungyhoj6v5.json +53 -0
  50. package/.trajectories/completed/2026-01/traj_hpungyhoj6v5.md +32 -0
  51. package/.trajectories/completed/2026-01/traj_m2xkjv0w2sq7.json +25 -0
  52. package/.trajectories/completed/2026-01/traj_m2xkjv0w2sq7.md +15 -0
  53. package/.trajectories/completed/2026-01/traj_noq5zbvnrdvz.json +53 -0
  54. package/.trajectories/completed/2026-01/traj_noq5zbvnrdvz.md +32 -0
  55. package/.trajectories/completed/2026-01/traj_ntbs6ppopf46.json +53 -0
  56. package/.trajectories/completed/2026-01/traj_ntbs6ppopf46.md +32 -0
  57. package/.trajectories/completed/2026-01/traj_ozd98si6a7ns.json +48 -0
  58. package/.trajectories/completed/2026-01/traj_ozd98si6a7ns.md +24 -0
  59. package/.trajectories/completed/2026-01/traj_prdza7a5cxp5.json +53 -0
  60. package/.trajectories/completed/2026-01/traj_prdza7a5cxp5.md +32 -0
  61. package/.trajectories/completed/2026-01/traj_qb3twvvywfwi.json +77 -0
  62. package/.trajectories/completed/2026-01/traj_qb3twvvywfwi.md +42 -0
  63. package/.trajectories/completed/2026-01/traj_qft54mi7nfor.json +53 -0
  64. package/.trajectories/completed/2026-01/traj_qft54mi7nfor.md +32 -0
  65. package/.trajectories/completed/2026-01/traj_qx9uhf8whhxo.json +83 -0
  66. package/.trajectories/completed/2026-01/traj_qx9uhf8whhxo.md +47 -0
  67. package/.trajectories/completed/2026-01/traj_rd9toccj18a0.json +59 -0
  68. package/.trajectories/completed/2026-01/traj_rd9toccj18a0.md +37 -0
  69. package/.trajectories/completed/2026-01/traj_rt4fiw3ecp50.json +48 -0
  70. package/.trajectories/completed/2026-01/traj_rt4fiw3ecp50.md +16 -0
  71. package/.trajectories/completed/2026-01/traj_st8j35b0hrlc.json +59 -0
  72. package/.trajectories/completed/2026-01/traj_st8j35b0hrlc.md +37 -0
  73. package/.trajectories/completed/2026-01/traj_t1yy8m7hbuxp.json +53 -0
  74. package/.trajectories/completed/2026-01/traj_t1yy8m7hbuxp.md +32 -0
  75. package/.trajectories/completed/2026-01/traj_tmux_orchestrator_analysis.json +84 -0
  76. package/.trajectories/completed/2026-01/traj_tmux_orchestrator_analysis.md +109 -0
  77. package/.trajectories/completed/2026-01/traj_u9n9eqasw16k.json +53 -0
  78. package/.trajectories/completed/2026-01/traj_u9n9eqasw16k.md +32 -0
  79. package/.trajectories/completed/2026-01/traj_v87hypnongqx.json +71 -0
  80. package/.trajectories/completed/2026-01/traj_v87hypnongqx.md +42 -0
  81. package/.trajectories/completed/2026-01/traj_wkp2fgzdyinb.json +53 -0
  82. package/.trajectories/completed/2026-01/traj_wkp2fgzdyinb.md +32 -0
  83. package/.trajectories/completed/2026-01/traj_x14t8w8rn7xg.json +20 -0
  84. package/.trajectories/completed/2026-01/traj_x14t8w8rn7xg.md +6 -0
  85. package/.trajectories/completed/2026-01/traj_xnwbznkvv8ua.json +175 -0
  86. package/.trajectories/completed/2026-01/traj_xnwbznkvv8ua.md +82 -0
  87. package/.trajectories/completed/2026-01/traj_ysjc8zaeqtd3.json +47 -0
  88. package/.trajectories/completed/2026-01/traj_ysjc8zaeqtd3.md +32 -0
  89. package/.trajectories/completed/2026-01/traj_yvdadtvdgnz3.json +59 -0
  90. package/.trajectories/completed/2026-01/traj_yvdadtvdgnz3.md +37 -0
  91. package/.trajectories/completed/2026-01/traj_z0vcw1wrzide.json +53 -0
  92. package/.trajectories/completed/2026-01/traj_z0vcw1wrzide.md +32 -0
  93. package/.trajectories/index.json +314 -0
  94. package/ARCHITECTURE.md +1245 -0
  95. package/README.md +1 -1
  96. package/TESTING.md +278 -0
  97. package/deploy/init-db.sql +5 -0
  98. package/deploy/scripts/setup-fly-workspaces.sh +69 -0
  99. package/deploy/scripts/setup-railway.sh +75 -0
  100. package/deploy/workspace/entrypoint-browser.sh +118 -0
  101. package/deploy/workspace/entrypoint.sh +348 -0
  102. package/deploy/workspace/git-credential-relay +111 -0
  103. package/dist/bridge/spawner.d.ts +53 -0
  104. package/dist/bridge/spawner.js +203 -19
  105. package/dist/bridge/types.d.ts +12 -0
  106. package/dist/cli/index.js +618 -5
  107. package/dist/cloud/api/auth.d.ts +3 -2
  108. package/dist/cloud/api/auth.js +10 -98
  109. package/dist/cloud/api/billing.js +30 -9
  110. package/dist/cloud/api/cli-pty-runner.d.ts +54 -0
  111. package/dist/cloud/api/cli-pty-runner.js +119 -0
  112. package/dist/cloud/api/codex-auth-helper.d.ts +15 -0
  113. package/dist/cloud/api/codex-auth-helper.js +100 -0
  114. package/dist/cloud/api/generic-webhooks.d.ts +8 -0
  115. package/dist/cloud/api/generic-webhooks.js +129 -0
  116. package/dist/cloud/api/git.d.ts +8 -0
  117. package/dist/cloud/api/git.js +152 -0
  118. package/dist/cloud/api/github-app.d.ts +11 -0
  119. package/dist/cloud/api/github-app.js +189 -0
  120. package/dist/cloud/api/middleware/planLimits.d.ts +7 -0
  121. package/dist/cloud/api/middleware/planLimits.js +39 -1
  122. package/dist/cloud/api/monitoring.d.ts +11 -0
  123. package/dist/cloud/api/monitoring.js +578 -0
  124. package/dist/cloud/api/nango-auth.d.ts +9 -0
  125. package/dist/cloud/api/nango-auth.js +377 -0
  126. package/dist/cloud/api/onboarding.d.ts +8 -1
  127. package/dist/cloud/api/onboarding.js +313 -119
  128. package/dist/cloud/api/policy.d.ts +8 -0
  129. package/dist/cloud/api/policy.js +229 -0
  130. package/dist/cloud/api/providers.js +114 -42
  131. package/dist/cloud/api/repos.d.ts +1 -0
  132. package/dist/cloud/api/repos.js +186 -0
  133. package/dist/cloud/api/test-helpers.d.ts +10 -0
  134. package/dist/cloud/api/test-helpers.js +575 -0
  135. package/dist/cloud/api/webhooks.d.ts +8 -0
  136. package/dist/cloud/api/webhooks.js +645 -0
  137. package/dist/cloud/api/workspaces.js +320 -12
  138. package/dist/cloud/billing/plans.js +32 -19
  139. package/dist/cloud/billing/types.d.ts +9 -3
  140. package/dist/cloud/config.d.ts +9 -2
  141. package/dist/cloud/config.js +13 -4
  142. package/dist/cloud/db/drizzle.d.ts +84 -1
  143. package/dist/cloud/db/drizzle.js +470 -0
  144. package/dist/cloud/db/index.d.ts +9 -4
  145. package/dist/cloud/db/index.js +11 -3
  146. package/dist/cloud/db/schema.d.ts +3283 -556
  147. package/dist/cloud/db/schema.js +314 -1
  148. package/dist/cloud/index.d.ts +1 -0
  149. package/dist/cloud/index.js +2 -0
  150. package/dist/cloud/provisioner/index.d.ts +56 -0
  151. package/dist/cloud/provisioner/index.js +676 -34
  152. package/dist/cloud/server.d.ts +1 -0
  153. package/dist/cloud/server.js +362 -13
  154. package/dist/cloud/services/auto-scaler.d.ts +152 -0
  155. package/dist/cloud/services/auto-scaler.js +439 -0
  156. package/dist/cloud/services/capacity-manager.d.ts +148 -0
  157. package/dist/cloud/services/capacity-manager.js +449 -0
  158. package/dist/cloud/services/ci-agent-spawner.d.ts +49 -0
  159. package/dist/cloud/services/ci-agent-spawner.js +373 -0
  160. package/dist/cloud/services/index.d.ts +12 -0
  161. package/dist/cloud/services/index.js +15 -0
  162. package/dist/cloud/services/mention-handler.d.ts +65 -0
  163. package/dist/cloud/services/mention-handler.js +405 -0
  164. package/dist/cloud/services/nango.d.ts +186 -0
  165. package/dist/cloud/services/nango.js +344 -0
  166. package/dist/cloud/services/persistence.d.ts +131 -0
  167. package/dist/cloud/services/persistence.js +200 -0
  168. package/dist/cloud/services/planLimits.d.ts +37 -0
  169. package/dist/cloud/services/planLimits.js +86 -5
  170. package/dist/cloud/services/scaling-orchestrator.d.ts +159 -0
  171. package/dist/cloud/services/scaling-orchestrator.js +502 -0
  172. package/dist/cloud/services/scaling-policy.d.ts +121 -0
  173. package/dist/cloud/services/scaling-policy.js +415 -0
  174. package/dist/cloud/vault/index.js +1 -1
  175. package/dist/cloud/webhooks/index.d.ts +24 -0
  176. package/dist/cloud/webhooks/index.js +29 -0
  177. package/dist/cloud/webhooks/parsers/github.d.ts +8 -0
  178. package/dist/cloud/webhooks/parsers/github.js +234 -0
  179. package/dist/cloud/webhooks/parsers/index.d.ts +23 -0
  180. package/dist/cloud/webhooks/parsers/index.js +30 -0
  181. package/dist/cloud/webhooks/parsers/linear.d.ts +9 -0
  182. package/dist/cloud/webhooks/parsers/linear.js +258 -0
  183. package/dist/cloud/webhooks/parsers/slack.d.ts +9 -0
  184. package/dist/cloud/webhooks/parsers/slack.js +214 -0
  185. package/dist/cloud/webhooks/responders/github.d.ts +8 -0
  186. package/dist/cloud/webhooks/responders/github.js +73 -0
  187. package/dist/cloud/webhooks/responders/index.d.ts +23 -0
  188. package/dist/cloud/webhooks/responders/index.js +30 -0
  189. package/dist/cloud/webhooks/responders/linear.d.ts +9 -0
  190. package/dist/cloud/webhooks/responders/linear.js +149 -0
  191. package/dist/cloud/webhooks/responders/slack.d.ts +20 -0
  192. package/dist/cloud/webhooks/responders/slack.js +178 -0
  193. package/dist/cloud/webhooks/router.d.ts +25 -0
  194. package/dist/cloud/webhooks/router.js +504 -0
  195. package/dist/cloud/webhooks/rules-engine.d.ts +24 -0
  196. package/dist/cloud/webhooks/rules-engine.js +287 -0
  197. package/dist/cloud/webhooks/types.d.ts +186 -0
  198. package/dist/cloud/webhooks/types.js +8 -0
  199. package/dist/continuity/formatter.d.ts +51 -0
  200. package/dist/continuity/formatter.js +313 -0
  201. package/dist/continuity/handoff-store.d.ts +67 -0
  202. package/dist/continuity/handoff-store.js +472 -0
  203. package/dist/continuity/index.d.ts +45 -0
  204. package/dist/continuity/index.js +48 -0
  205. package/dist/continuity/ledger-store.d.ts +110 -0
  206. package/dist/continuity/ledger-store.js +500 -0
  207. package/dist/continuity/manager.d.ts +178 -0
  208. package/dist/continuity/manager.js +562 -0
  209. package/dist/continuity/parser.d.ts +76 -0
  210. package/dist/continuity/parser.js +579 -0
  211. package/dist/continuity/types.d.ts +180 -0
  212. package/dist/continuity/types.js +9 -0
  213. package/dist/daemon/agent-manager.d.ts +27 -0
  214. package/dist/daemon/agent-manager.js +107 -6
  215. package/dist/daemon/agent-registry.d.ts +32 -0
  216. package/dist/daemon/agent-registry.js +42 -2
  217. package/dist/daemon/api.d.ts +12 -0
  218. package/dist/daemon/api.js +131 -2
  219. package/dist/daemon/cli-auth.d.ts +67 -0
  220. package/dist/daemon/cli-auth.js +537 -0
  221. package/dist/daemon/cloud-sync.js +9 -7
  222. package/dist/daemon/orchestrator.js +30 -0
  223. package/dist/daemon/router.d.ts +5 -0
  224. package/dist/daemon/router.js +78 -26
  225. package/dist/daemon/server.d.ts +5 -0
  226. package/dist/daemon/server.js +9 -1
  227. package/dist/daemon/services/browser-testing.d.ts +88 -0
  228. package/dist/daemon/services/browser-testing.js +244 -0
  229. package/dist/daemon/services/container-spawner.d.ts +135 -0
  230. package/dist/daemon/services/container-spawner.js +313 -0
  231. package/dist/daemon/types.d.ts +5 -1
  232. package/dist/dashboard/out/404.html +1 -1
  233. package/dist/dashboard/out/_next/static/chunks/116-2502180def231162.js +1 -0
  234. package/dist/dashboard/out/_next/static/chunks/282-980c2eb8fff20123.js +1 -0
  235. package/dist/dashboard/out/_next/static/chunks/699-3b1cd6618a45d259.js +1 -0
  236. package/dist/dashboard/out/_next/static/chunks/724-2dae7627550ab88f.js +9 -0
  237. package/dist/dashboard/out/_next/static/chunks/766-1f2dd8cb7f766b0b.js +1 -0
  238. package/dist/dashboard/out/_next/static/chunks/app/app/onboarding/page-3fdfa60e53f2810d.js +1 -0
  239. package/dist/dashboard/out/_next/static/chunks/app/app/page-e6381e5a6e1fbcfd.js +1 -0
  240. package/dist/dashboard/out/_next/static/chunks/app/connect-repos/page-3538dfe0ffe984b8.js +1 -0
  241. package/dist/dashboard/out/_next/static/chunks/app/history/{page-b6edd4dde8d08194.js → page-abb9ab2d329f56e9.js} +1 -1
  242. package/dist/dashboard/out/_next/static/chunks/app/layout-c0d118c0f92d969c.js +1 -0
  243. package/dist/dashboard/out/_next/static/chunks/app/login/page-c22d080201cbd9fb.js +1 -0
  244. package/dist/dashboard/out/_next/static/chunks/app/metrics/page-67a3e98d9a43a6ed.js +1 -0
  245. package/dist/dashboard/out/_next/static/chunks/app/page-77e9c65420a06cfb.js +1 -0
  246. package/dist/dashboard/out/_next/static/chunks/app/pricing/page-b08ed1c34d14434a.js +1 -0
  247. package/dist/dashboard/out/_next/static/chunks/app/providers/page-e88bc117ef7671c3.js +1 -0
  248. package/dist/dashboard/out/_next/static/chunks/app/signup/page-68d34f50baa8ab6b.js +1 -0
  249. package/dist/dashboard/out/_next/static/chunks/e868780c-48e5f147c90a3a41.js +18 -0
  250. package/dist/dashboard/out/_next/static/chunks/{main-app-5d692157a8eb1fd9.js → main-app-6e8e8d3ef4e0192a.js} +1 -1
  251. package/dist/dashboard/out/_next/static/chunks/{main-c2f423b9c9f4591b.js → main-ed4e1fb6f29c34cf.js} +1 -1
  252. package/dist/dashboard/out/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +1 -0
  253. package/dist/dashboard/out/_next/static/css/29852f26181969a0.css +1 -0
  254. package/dist/dashboard/out/_next/static/css/7c3ae9e8617d42a5.css +1 -0
  255. package/dist/dashboard/out/app/onboarding.html +1 -0
  256. package/dist/dashboard/out/app/onboarding.txt +7 -0
  257. package/dist/dashboard/out/app.html +1 -14
  258. package/dist/dashboard/out/app.txt +2 -2
  259. package/dist/dashboard/out/connect-repos.html +1 -0
  260. package/dist/dashboard/out/connect-repos.txt +7 -0
  261. package/dist/dashboard/out/history.html +1 -1
  262. package/dist/dashboard/out/history.txt +2 -2
  263. package/dist/dashboard/out/index.html +1 -1
  264. package/dist/dashboard/out/index.txt +2 -2
  265. package/dist/dashboard/out/login.html +6 -0
  266. package/dist/dashboard/out/login.txt +7 -0
  267. package/dist/dashboard/out/metrics.html +1 -1
  268. package/dist/dashboard/out/metrics.txt +2 -2
  269. package/dist/dashboard/out/pricing.html +3 -3
  270. package/dist/dashboard/out/pricing.txt +2 -2
  271. package/dist/dashboard/out/providers.html +1 -0
  272. package/dist/dashboard/out/providers.txt +7 -0
  273. package/dist/dashboard/out/signup.html +6 -0
  274. package/dist/dashboard/out/signup.txt +7 -0
  275. package/dist/dashboard-server/server.js +1308 -8
  276. package/dist/hooks/emitter.d.ts +40 -0
  277. package/dist/hooks/emitter.js +63 -0
  278. package/dist/hooks/index.d.ts +3 -0
  279. package/dist/hooks/index.js +3 -0
  280. package/dist/hooks/registry.d.ts +173 -0
  281. package/dist/hooks/registry.js +476 -0
  282. package/dist/hooks/trajectory-hooks.d.ts +52 -0
  283. package/dist/hooks/trajectory-hooks.js +183 -0
  284. package/dist/hooks/types.d.ts +141 -0
  285. package/dist/index.d.ts +2 -0
  286. package/dist/index.js +3 -0
  287. package/dist/memory/adapters/index.d.ts +8 -0
  288. package/dist/memory/adapters/index.js +8 -0
  289. package/dist/memory/adapters/inmemory.d.ts +59 -0
  290. package/dist/memory/adapters/inmemory.js +195 -0
  291. package/dist/memory/adapters/supermemory.d.ts +71 -0
  292. package/dist/memory/adapters/supermemory.js +338 -0
  293. package/dist/memory/factory.d.ts +48 -0
  294. package/dist/memory/factory.js +143 -0
  295. package/dist/memory/index.d.ts +32 -0
  296. package/dist/memory/index.js +32 -0
  297. package/dist/memory/memory-hooks.d.ts +60 -0
  298. package/dist/memory/memory-hooks.js +313 -0
  299. package/dist/memory/service.d.ts +49 -0
  300. package/dist/memory/service.js +146 -0
  301. package/dist/memory/types.d.ts +195 -0
  302. package/dist/memory/types.js +8 -0
  303. package/dist/policy/agent-policy.d.ts +225 -0
  304. package/dist/policy/agent-policy.js +665 -0
  305. package/dist/policy/cloud-policy-fetcher.d.ts +12 -0
  306. package/dist/policy/cloud-policy-fetcher.js +64 -0
  307. package/dist/resiliency/crash-insights.d.ts +156 -0
  308. package/dist/resiliency/crash-insights.js +492 -0
  309. package/dist/resiliency/gossip-health.d.ts +137 -0
  310. package/dist/resiliency/gossip-health.js +241 -0
  311. package/dist/resiliency/index.d.ts +5 -0
  312. package/dist/resiliency/index.js +5 -0
  313. package/dist/resiliency/leader-watchdog.d.ts +109 -0
  314. package/dist/resiliency/leader-watchdog.js +189 -0
  315. package/dist/resiliency/memory-monitor.d.ts +172 -0
  316. package/dist/resiliency/memory-monitor.js +593 -0
  317. package/dist/resiliency/stateless-lead.d.ts +149 -0
  318. package/dist/resiliency/stateless-lead.js +308 -0
  319. package/dist/resiliency/supervisor.d.ts +38 -0
  320. package/dist/resiliency/supervisor.js +122 -0
  321. package/dist/shared/cli-auth-config.d.ts +91 -0
  322. package/dist/shared/cli-auth-config.js +264 -0
  323. package/dist/storage/adapter.d.ts +1 -1
  324. package/dist/trajectory/config.d.ts +84 -0
  325. package/dist/trajectory/config.js +163 -0
  326. package/dist/trajectory/index.d.ts +8 -0
  327. package/dist/trajectory/index.js +8 -0
  328. package/dist/trajectory/integration.d.ts +292 -0
  329. package/dist/trajectory/integration.js +834 -0
  330. package/dist/utils/logger.js +1 -1
  331. package/dist/utils/project-namespace.d.ts +24 -0
  332. package/dist/utils/project-namespace.js +84 -0
  333. package/dist/wrapper/parser.d.ts +10 -0
  334. package/dist/wrapper/parser.js +100 -33
  335. package/dist/wrapper/pty-wrapper.d.ts +197 -16
  336. package/dist/wrapper/pty-wrapper.js +943 -106
  337. package/dist/wrapper/shared.d.ts +165 -0
  338. package/dist/wrapper/shared.js +270 -0
  339. package/dist/wrapper/tmux-wrapper.d.ts +73 -11
  340. package/dist/wrapper/tmux-wrapper.js +541 -120
  341. package/package.json +16 -16
  342. package/scripts/postinstall.js +60 -0
  343. package/test-push.txt +1 -0
  344. package/bin/tmux +0 -0
  345. package/dist/bridge/config.d.ts.map +0 -1
  346. package/dist/bridge/config.js.map +0 -1
  347. package/dist/bridge/index.d.ts.map +0 -1
  348. package/dist/bridge/index.js.map +0 -1
  349. package/dist/bridge/multi-project-client.d.ts.map +0 -1
  350. package/dist/bridge/multi-project-client.js.map +0 -1
  351. package/dist/bridge/shadow-cli.d.ts.map +0 -1
  352. package/dist/bridge/shadow-cli.js.map +0 -1
  353. package/dist/bridge/shadow-config.d.ts.map +0 -1
  354. package/dist/bridge/shadow-config.js.map +0 -1
  355. package/dist/bridge/spawner.d.ts.map +0 -1
  356. package/dist/bridge/spawner.js.map +0 -1
  357. package/dist/bridge/teams-config.d.ts.map +0 -1
  358. package/dist/bridge/teams-config.js.map +0 -1
  359. package/dist/bridge/types.d.ts.map +0 -1
  360. package/dist/bridge/types.js.map +0 -1
  361. package/dist/bridge/utils.d.ts.map +0 -1
  362. package/dist/bridge/utils.js.map +0 -1
  363. package/dist/cli/index.d.ts.map +0 -1
  364. package/dist/cli/index.js.map +0 -1
  365. package/dist/cloud/api/auth.d.ts.map +0 -1
  366. package/dist/cloud/api/auth.js.map +0 -1
  367. package/dist/cloud/api/billing.d.ts.map +0 -1
  368. package/dist/cloud/api/billing.js.map +0 -1
  369. package/dist/cloud/api/coordinators.d.ts.map +0 -1
  370. package/dist/cloud/api/coordinators.js.map +0 -1
  371. package/dist/cloud/api/daemons.d.ts.map +0 -1
  372. package/dist/cloud/api/daemons.js.map +0 -1
  373. package/dist/cloud/api/middleware/planLimits.d.ts.map +0 -1
  374. package/dist/cloud/api/middleware/planLimits.js.map +0 -1
  375. package/dist/cloud/api/onboarding.d.ts.map +0 -1
  376. package/dist/cloud/api/onboarding.js.map +0 -1
  377. package/dist/cloud/api/providers.d.ts.map +0 -1
  378. package/dist/cloud/api/providers.js.map +0 -1
  379. package/dist/cloud/api/repos.d.ts.map +0 -1
  380. package/dist/cloud/api/repos.js.map +0 -1
  381. package/dist/cloud/api/teams.d.ts.map +0 -1
  382. package/dist/cloud/api/teams.js.map +0 -1
  383. package/dist/cloud/api/usage.d.ts.map +0 -1
  384. package/dist/cloud/api/usage.js.map +0 -1
  385. package/dist/cloud/api/workspaces.d.ts.map +0 -1
  386. package/dist/cloud/api/workspaces.js.map +0 -1
  387. package/dist/cloud/billing/index.d.ts.map +0 -1
  388. package/dist/cloud/billing/index.js.map +0 -1
  389. package/dist/cloud/billing/plans.d.ts.map +0 -1
  390. package/dist/cloud/billing/plans.js.map +0 -1
  391. package/dist/cloud/billing/service.d.ts.map +0 -1
  392. package/dist/cloud/billing/service.js.map +0 -1
  393. package/dist/cloud/billing/types.d.ts.map +0 -1
  394. package/dist/cloud/billing/types.js.map +0 -1
  395. package/dist/cloud/config.d.ts.map +0 -1
  396. package/dist/cloud/config.js.map +0 -1
  397. package/dist/cloud/db/drizzle.d.ts.map +0 -1
  398. package/dist/cloud/db/drizzle.js.map +0 -1
  399. package/dist/cloud/db/index.d.ts.map +0 -1
  400. package/dist/cloud/db/index.js.map +0 -1
  401. package/dist/cloud/db/schema.d.ts.map +0 -1
  402. package/dist/cloud/db/schema.js.map +0 -1
  403. package/dist/cloud/index.d.ts.map +0 -1
  404. package/dist/cloud/index.js.map +0 -1
  405. package/dist/cloud/provisioner/index.d.ts.map +0 -1
  406. package/dist/cloud/provisioner/index.js.map +0 -1
  407. package/dist/cloud/server.d.ts.map +0 -1
  408. package/dist/cloud/server.js.map +0 -1
  409. package/dist/cloud/services/coordinator.d.ts.map +0 -1
  410. package/dist/cloud/services/coordinator.js.map +0 -1
  411. package/dist/cloud/services/planLimits.d.ts.map +0 -1
  412. package/dist/cloud/services/planLimits.js.map +0 -1
  413. package/dist/cloud/vault/index.d.ts.map +0 -1
  414. package/dist/cloud/vault/index.js.map +0 -1
  415. package/dist/daemon/agent-manager.d.ts.map +0 -1
  416. package/dist/daemon/agent-manager.js.map +0 -1
  417. package/dist/daemon/agent-registry.d.ts.map +0 -1
  418. package/dist/daemon/agent-registry.js.map +0 -1
  419. package/dist/daemon/api.d.ts.map +0 -1
  420. package/dist/daemon/api.js.map +0 -1
  421. package/dist/daemon/auth.d.ts.map +0 -1
  422. package/dist/daemon/auth.js.map +0 -1
  423. package/dist/daemon/cloud-sync.d.ts.map +0 -1
  424. package/dist/daemon/cloud-sync.js.map +0 -1
  425. package/dist/daemon/connection.d.ts.map +0 -1
  426. package/dist/daemon/connection.js.map +0 -1
  427. package/dist/daemon/index.d.ts.map +0 -1
  428. package/dist/daemon/index.js.map +0 -1
  429. package/dist/daemon/orchestrator.d.ts.map +0 -1
  430. package/dist/daemon/orchestrator.js.map +0 -1
  431. package/dist/daemon/registry.d.ts.map +0 -1
  432. package/dist/daemon/registry.js.map +0 -1
  433. package/dist/daemon/router.d.ts.map +0 -1
  434. package/dist/daemon/router.js.map +0 -1
  435. package/dist/daemon/server.d.ts.map +0 -1
  436. package/dist/daemon/server.js.map +0 -1
  437. package/dist/daemon/types.d.ts.map +0 -1
  438. package/dist/daemon/types.js.map +0 -1
  439. package/dist/daemon/workspace-manager.d.ts.map +0 -1
  440. package/dist/daemon/workspace-manager.js.map +0 -1
  441. package/dist/dashboard/out/_next/static/chunks/693-7b3301d8f6bc5014.js +0 -1
  442. package/dist/dashboard/out/_next/static/chunks/713-f78477eb185f1f4d.js +0 -1
  443. package/dist/dashboard/out/_next/static/chunks/766-e53e1cfe39b0b5b5.js +0 -1
  444. package/dist/dashboard/out/_next/static/chunks/900-037c64bfd797fb2a.js +0 -1
  445. package/dist/dashboard/out/_next/static/chunks/app/app/page-e3d9e1f4466b9bae.js +0 -1
  446. package/dist/dashboard/out/_next/static/chunks/app/layout-2433bb48965f4333.js +0 -1
  447. package/dist/dashboard/out/_next/static/chunks/app/metrics/page-e68825a81db67ba1.js +0 -1
  448. package/dist/dashboard/out/_next/static/chunks/app/page-cc108bf68c8a657f.js +0 -1
  449. package/dist/dashboard/out/_next/static/chunks/app/pricing/page-d80e03a5297f95b6.js +0 -1
  450. package/dist/dashboard/out/_next/static/chunks/webpack-a5acc2831d094776.js +0 -1
  451. package/dist/dashboard/out/_next/static/css/79b80143647a07d7.css +0 -1
  452. package/dist/dashboard/out/_next/static/css/8cf277370ad48cfe.css +0 -1
  453. package/dist/dashboard-server/metrics.d.ts.map +0 -1
  454. package/dist/dashboard-server/metrics.js.map +0 -1
  455. package/dist/dashboard-server/needs-attention.d.ts.map +0 -1
  456. package/dist/dashboard-server/needs-attention.js.map +0 -1
  457. package/dist/dashboard-server/server.d.ts.map +0 -1
  458. package/dist/dashboard-server/server.js.map +0 -1
  459. package/dist/dashboard-server/start.d.ts.map +0 -1
  460. package/dist/dashboard-server/start.js.map +0 -1
  461. package/dist/hooks/inbox-check/hook.d.ts.map +0 -1
  462. package/dist/hooks/inbox-check/hook.js.map +0 -1
  463. package/dist/hooks/inbox-check/index.d.ts.map +0 -1
  464. package/dist/hooks/inbox-check/index.js.map +0 -1
  465. package/dist/hooks/inbox-check/types.d.ts.map +0 -1
  466. package/dist/hooks/inbox-check/types.js.map +0 -1
  467. package/dist/hooks/inbox-check/utils.d.ts.map +0 -1
  468. package/dist/hooks/inbox-check/utils.js.map +0 -1
  469. package/dist/hooks/index.d.ts.map +0 -1
  470. package/dist/hooks/index.js.map +0 -1
  471. package/dist/hooks/types.d.ts.map +0 -1
  472. package/dist/hooks/types.js.map +0 -1
  473. package/dist/index.d.ts.map +0 -1
  474. package/dist/index.js.map +0 -1
  475. package/dist/protocol/framing.d.ts.map +0 -1
  476. package/dist/protocol/framing.js.map +0 -1
  477. package/dist/protocol/index.d.ts.map +0 -1
  478. package/dist/protocol/index.js.map +0 -1
  479. package/dist/protocol/types.d.ts.map +0 -1
  480. package/dist/protocol/types.js.map +0 -1
  481. package/dist/resiliency/context-persistence.d.ts.map +0 -1
  482. package/dist/resiliency/context-persistence.js.map +0 -1
  483. package/dist/resiliency/health-monitor.d.ts.map +0 -1
  484. package/dist/resiliency/health-monitor.js.map +0 -1
  485. package/dist/resiliency/index.d.ts.map +0 -1
  486. package/dist/resiliency/index.js.map +0 -1
  487. package/dist/resiliency/logger.d.ts.map +0 -1
  488. package/dist/resiliency/logger.js.map +0 -1
  489. package/dist/resiliency/metrics.d.ts.map +0 -1
  490. package/dist/resiliency/metrics.js.map +0 -1
  491. package/dist/resiliency/provider-context.d.ts.map +0 -1
  492. package/dist/resiliency/provider-context.js.map +0 -1
  493. package/dist/resiliency/supervisor.d.ts.map +0 -1
  494. package/dist/resiliency/supervisor.js.map +0 -1
  495. package/dist/state/agent-state.d.ts.map +0 -1
  496. package/dist/state/agent-state.js.map +0 -1
  497. package/dist/storage/adapter.d.ts.map +0 -1
  498. package/dist/storage/adapter.js.map +0 -1
  499. package/dist/storage/sqlite-adapter.d.ts.map +0 -1
  500. package/dist/storage/sqlite-adapter.js.map +0 -1
  501. package/dist/utils/agent-config.d.ts.map +0 -1
  502. package/dist/utils/agent-config.js.map +0 -1
  503. package/dist/utils/command-resolver.d.ts.map +0 -1
  504. package/dist/utils/command-resolver.js.map +0 -1
  505. package/dist/utils/index.d.ts.map +0 -1
  506. package/dist/utils/index.js.map +0 -1
  507. package/dist/utils/logger.d.ts.map +0 -1
  508. package/dist/utils/logger.js.map +0 -1
  509. package/dist/utils/name-generator.d.ts.map +0 -1
  510. package/dist/utils/name-generator.js.map +0 -1
  511. package/dist/utils/project-namespace.d.ts.map +0 -1
  512. package/dist/utils/project-namespace.js.map +0 -1
  513. package/dist/utils/tmux-resolver.d.ts.map +0 -1
  514. package/dist/utils/tmux-resolver.js.map +0 -1
  515. package/dist/utils/update-checker.d.ts.map +0 -1
  516. package/dist/utils/update-checker.js.map +0 -1
  517. package/dist/wrapper/client.d.ts.map +0 -1
  518. package/dist/wrapper/client.js.map +0 -1
  519. package/dist/wrapper/inbox.d.ts.map +0 -1
  520. package/dist/wrapper/inbox.js.map +0 -1
  521. package/dist/wrapper/index.d.ts.map +0 -1
  522. package/dist/wrapper/index.js.map +0 -1
  523. package/dist/wrapper/parser.d.ts.map +0 -1
  524. package/dist/wrapper/parser.js.map +0 -1
  525. package/dist/wrapper/pty-wrapper.d.ts.map +0 -1
  526. package/dist/wrapper/pty-wrapper.js.map +0 -1
  527. package/dist/wrapper/tmux-wrapper.d.ts.map +0 -1
  528. package/dist/wrapper/tmux-wrapper.js.map +0 -1
  529. package/docs/AGENTS.md +0 -513
  530. package/docs/ARCHITECTURE_DECISIONS.md +0 -175
  531. package/docs/CHANGELOG.md +0 -11
  532. package/docs/CLI-SIMPLIFICATION-COMPLETE.md +0 -48
  533. package/docs/CLOUD-ARCHITECTURE.md +0 -652
  534. package/docs/CLOUD-ONBOARDING-DESIGN.md +0 -1983
  535. package/docs/COMPETITIVE_ANALYSIS.md +0 -897
  536. package/docs/CONTRIBUTING.md +0 -151
  537. package/docs/DESIGN_BRIDGE_STAFFING.md +0 -878
  538. package/docs/DESIGN_V2.md +0 -1079
  539. package/docs/INTEGRATION-GUIDE.md +0 -926
  540. package/docs/MONETIZATION.md +0 -1679
  541. package/docs/PROPOSAL-trajectories.md +0 -1582
  542. package/docs/PROTOCOL.md +0 -325
  543. package/docs/SCALING_ANALYSIS.md +0 -280
  544. package/docs/TESTING_PRESENCE_FEATURES.md +0 -327
  545. package/docs/TMUX_IMPLEMENTATION_NOTES.md +0 -364
  546. package/docs/TMUX_IMPROVEMENTS.md +0 -968
  547. package/docs/agent-relay-snippet.md +0 -168
  548. package/docs/competitive-analysis-mcp-agent-mail.md +0 -389
  549. package/docs/dashboard-v2-plan.md +0 -179
  550. package/docs/guides/CLOUD.md +0 -236
  551. package/docs/guides/LOCAL.md +0 -535
  552. package/docs/guides/SELF-HOSTED.md +0 -494
  553. package/docs/proposals/shadow-as-subagent.md +0 -765
  554. package/docs/proposals/slack-bot-integration.md +0 -1457
  555. package/docs/removable-code-analysis.md +0 -24
  556. package/scripts/dev/PUBLIC_RELEASE_PLAN.md +0 -88
  557. package/scripts/dev/dev-team-setup.sh +0 -431
  558. package/scripts/e2e-test.sh +0 -119
  559. package/scripts/games/game-protocol.md +0 -79
  560. package/scripts/games/hearts-setup.sh +0 -264
  561. package/scripts/tictactoe-setup.sh +0 -181
  562. /package/dist/dashboard/out/_next/static/chunks/{117-b2cd8d6485aacf2b.js → 117-f7b8ab0809342e77.js} +0 -0
  563. /package/dist/dashboard/out/_next/static/chunks/{648-8f3f26864ce515e5.js → 648-5cc6e1921389a58a.js} +0 -0
  564. /package/dist/dashboard/out/_next/static/chunks/app/_not-found/{page-0b990dbb71d72a98.js → page-53b8a69f76db17d0.js} +0 -0
  565. /package/dist/dashboard/out/_next/static/chunks/{fd9d1056-bf46c09eb57e019c.js → fd9d1056-609918ca7b6280bb.js} +0 -0
  566. /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → wPgKJtcOmTFLpUncDg16A}/_buildManifest.js +0 -0
  567. /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → wPgKJtcOmTFLpUncDg16A}/_ssgManifest.js +0 -0
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { Pool } from 'pg';
8
8
  import * as schema from './schema.js';
9
- export type { User, NewUser, Credential, NewCredential, Workspace, NewWorkspace, WorkspaceConfig, WorkspaceMember, NewWorkspaceMember, ProjectGroup, NewProjectGroup, CoordinatorAgentConfig, ProjectAgentConfig, Repository, NewRepository, LinkedDaemon, NewLinkedDaemon, Subscription, NewSubscription, UsageRecord, NewUsageRecord, } from './schema.js';
9
+ export type { User, NewUser, GitHubInstallation, NewGitHubInstallation, Credential, NewCredential, Workspace, NewWorkspace, WorkspaceConfig, WorkspaceMember, NewWorkspaceMember, ProjectGroup, NewProjectGroup, CoordinatorAgentConfig, ProjectAgentConfig, Repository, NewRepository, LinkedDaemon, NewLinkedDaemon, Subscription, NewSubscription, UsageRecord, NewUsageRecord, AgentSession, NewAgentSession, AgentSummary, NewAgentSummary, } from './schema.js';
10
10
  export * from './schema.js';
11
11
  export declare function getDb(): import("drizzle-orm/node-postgres").NodePgDatabase<Record<string, unknown>> & {
12
12
  $client: Pool;
@@ -16,10 +16,29 @@ export interface UserQueries {
16
16
  findByGithubId(githubId: string): Promise<schema.User | null>;
17
17
  findByGithubUsername(username: string): Promise<schema.User | null>;
18
18
  findByEmail(email: string): Promise<schema.User | null>;
19
+ findByNangoConnectionId(connectionId: string): Promise<schema.User | null>;
20
+ findByIncomingConnectionId(connectionId: string): Promise<schema.User | null>;
19
21
  upsert(data: schema.NewUser): Promise<schema.User>;
22
+ update(id: string, data: Partial<Omit<schema.User, 'id' | 'createdAt'>>): Promise<void>;
20
23
  completeOnboarding(userId: string): Promise<void>;
24
+ clearIncomingConnectionId(userId: string): Promise<void>;
25
+ setPendingInstallationRequest(userId: string): Promise<void>;
26
+ clearPendingInstallationRequest(userId: string): Promise<void>;
21
27
  }
22
28
  export declare const userQueries: UserQueries;
29
+ export interface GitHubInstallationQueries {
30
+ findById(id: string): Promise<schema.GitHubInstallation | null>;
31
+ findByInstallationId(installationId: string): Promise<schema.GitHubInstallation | null>;
32
+ findByAccountLogin(accountLogin: string): Promise<schema.GitHubInstallation | null>;
33
+ findByInstalledBy(userId: string): Promise<schema.GitHubInstallation[]>;
34
+ findAll(): Promise<schema.GitHubInstallation[]>;
35
+ upsert(data: schema.NewGitHubInstallation): Promise<schema.GitHubInstallation>;
36
+ updatePermissions(installationId: string, permissions: Record<string, string>, events: string[]): Promise<void>;
37
+ suspend(installationId: string, suspendedBy: string): Promise<void>;
38
+ unsuspend(installationId: string): Promise<void>;
39
+ delete(installationId: string): Promise<void>;
40
+ }
41
+ export declare const githubInstallationQueries: GitHubInstallationQueries;
23
42
  export interface CredentialQueries {
24
43
  findByUserId(userId: string): Promise<schema.Credential[]>;
25
44
  findByUserAndProvider(userId: string, provider: string): Promise<schema.Credential | null>;
@@ -38,6 +57,7 @@ export interface WorkspaceQueries {
38
57
  publicUrl?: string;
39
58
  errorMessage?: string;
40
59
  }): Promise<void>;
60
+ updateConfig(id: string, config: schema.WorkspaceConfig): Promise<void>;
41
61
  setCustomDomain(id: string, customDomain: string, status?: string): Promise<void>;
42
62
  updateCustomDomainStatus(id: string, status: string): Promise<void>;
43
63
  removeCustomDomain(id: string): Promise<void>;
@@ -116,6 +136,7 @@ export interface ProjectGroupQueries {
116
136
  export declare const projectGroupQueries: ProjectGroupQueries;
117
137
  export interface RepositoryQueries {
118
138
  findById(id: string): Promise<schema.Repository | null>;
139
+ findByFullName(fullName: string): Promise<schema.Repository | null>;
119
140
  findByUserId(userId: string): Promise<schema.Repository[]>;
120
141
  findByWorkspaceId(workspaceId: string): Promise<schema.Repository[]>;
121
142
  findByProjectGroupId(projectGroupId: string): Promise<schema.Repository[]>;
@@ -127,6 +148,68 @@ export interface RepositoryQueries {
127
148
  delete(id: string): Promise<void>;
128
149
  }
129
150
  export declare const repositoryQueries: RepositoryQueries;
151
+ export interface AgentSessionQueries {
152
+ findById(id: string): Promise<schema.AgentSession | null>;
153
+ findByWorkspaceId(workspaceId: string): Promise<schema.AgentSession[]>;
154
+ findActiveByWorkspace(workspaceId: string): Promise<schema.AgentSession[]>;
155
+ create(data: schema.NewAgentSession): Promise<schema.AgentSession>;
156
+ endSession(id: string, endMarker?: {
157
+ summary?: string;
158
+ completedTasks?: string[];
159
+ }): Promise<void>;
160
+ delete(id: string): Promise<void>;
161
+ }
162
+ export declare const agentSessionQueries: AgentSessionQueries;
163
+ export interface AgentSummaryQueries {
164
+ findBySessionId(sessionId: string): Promise<schema.AgentSummary[]>;
165
+ findLatestByAgent(agentName: string): Promise<schema.AgentSummary | null>;
166
+ create(data: schema.NewAgentSummary): Promise<schema.AgentSummary>;
167
+ deleteBySession(sessionId: string): Promise<void>;
168
+ }
169
+ export declare const agentSummaryQueries: AgentSummaryQueries;
170
+ export interface CIFailureEventQueries {
171
+ findById(id: string): Promise<schema.CIFailureEvent | null>;
172
+ findByRepository(repository: string, limit?: number): Promise<schema.CIFailureEvent[]>;
173
+ findByPR(repository: string, prNumber: number): Promise<schema.CIFailureEvent[]>;
174
+ findRecentUnprocessed(limit?: number): Promise<schema.CIFailureEvent[]>;
175
+ create(data: schema.NewCIFailureEvent): Promise<schema.CIFailureEvent>;
176
+ markProcessed(id: string, agentSpawned: boolean): Promise<void>;
177
+ delete(id: string): Promise<void>;
178
+ }
179
+ export declare const ciFailureEventQueries: CIFailureEventQueries;
180
+ export interface CIFixAttemptQueries {
181
+ findById(id: string): Promise<schema.CIFixAttempt | null>;
182
+ findByFailureEvent(failureEventId: string): Promise<schema.CIFixAttempt[]>;
183
+ findActiveByRepository(repository: string): Promise<schema.CIFixAttempt[]>;
184
+ create(data: schema.NewCIFixAttempt): Promise<schema.CIFixAttempt>;
185
+ updateStatus(id: string, status: string, errorMessage?: string): Promise<void>;
186
+ complete(id: string, status: 'success' | 'failed', commitSha?: string, errorMessage?: string): Promise<void>;
187
+ }
188
+ export declare const ciFixAttemptQueries: CIFixAttemptQueries;
189
+ export interface IssueAssignmentQueries {
190
+ findById(id: string): Promise<schema.IssueAssignment | null>;
191
+ findByRepository(repository: string, limit?: number): Promise<schema.IssueAssignment[]>;
192
+ findByIssue(repository: string, issueNumber: number): Promise<schema.IssueAssignment | null>;
193
+ findByAgent(agentId: string): Promise<schema.IssueAssignment[]>;
194
+ findPending(limit?: number): Promise<schema.IssueAssignment[]>;
195
+ create(data: schema.NewIssueAssignment): Promise<schema.IssueAssignment>;
196
+ assignAgent(id: string, agentId: string, agentName: string): Promise<void>;
197
+ updateStatus(id: string, status: string, resolution?: string): Promise<void>;
198
+ linkPR(id: string, prNumber: number): Promise<void>;
199
+ }
200
+ export declare const issueAssignmentQueries: IssueAssignmentQueries;
201
+ export interface CommentMentionQueries {
202
+ findById(id: string): Promise<schema.CommentMention | null>;
203
+ findByRepository(repository: string, limit?: number): Promise<schema.CommentMention[]>;
204
+ findBySource(sourceType: string, sourceId: number): Promise<schema.CommentMention | null>;
205
+ findPending(limit?: number): Promise<schema.CommentMention[]>;
206
+ findByMentionedAgent(mentionedAgent: string, limit?: number): Promise<schema.CommentMention[]>;
207
+ create(data: schema.NewCommentMention): Promise<schema.CommentMention>;
208
+ markProcessing(id: string, agentId: string, agentName: string): Promise<void>;
209
+ markResponded(id: string, responseCommentId: number, responseBody: string): Promise<void>;
210
+ markIgnored(id: string): Promise<void>;
211
+ }
212
+ export declare const commentMentionQueries: CommentMentionQueries;
130
213
  export declare function runMigrations(): Promise<void>;
131
214
  export declare function closeDb(): Promise<void>;
132
215
  //# sourceMappingURL=drizzle.d.ts.map
@@ -48,6 +48,19 @@ export const userQueries = {
48
48
  const result = await db.select().from(schema.users).where(eq(schema.users.email, email));
49
49
  return result[0] ?? null;
50
50
  },
51
+ async findByNangoConnectionId(connectionId) {
52
+ const db = getDb();
53
+ const result = await db
54
+ .select()
55
+ .from(schema.users)
56
+ .where(eq(schema.users.nangoConnectionId, connectionId));
57
+ return result[0] ?? null;
58
+ },
59
+ async findByIncomingConnectionId(connectionId) {
60
+ const db = getDb();
61
+ const result = await db.select().from(schema.users).where(eq(schema.users.incomingConnectionId, connectionId));
62
+ return result[0] ?? null;
63
+ },
51
64
  async upsert(data) {
52
65
  const db = getDb();
53
66
  const result = await db
@@ -72,6 +85,113 @@ export const userQueries = {
72
85
  .set({ onboardingCompletedAt: new Date(), updatedAt: new Date() })
73
86
  .where(eq(schema.users.id, userId));
74
87
  },
88
+ async update(id, data) {
89
+ const db = getDb();
90
+ await db
91
+ .update(schema.users)
92
+ .set({ ...data, updatedAt: new Date() })
93
+ .where(eq(schema.users.id, id));
94
+ },
95
+ async clearIncomingConnectionId(userId) {
96
+ const db = getDb();
97
+ await db
98
+ .update(schema.users)
99
+ .set({ incomingConnectionId: null, updatedAt: new Date() })
100
+ .where(eq(schema.users.id, userId));
101
+ },
102
+ async setPendingInstallationRequest(userId) {
103
+ const db = getDb();
104
+ await db
105
+ .update(schema.users)
106
+ .set({ pendingInstallationRequest: new Date(), updatedAt: new Date() })
107
+ .where(eq(schema.users.id, userId));
108
+ },
109
+ async clearPendingInstallationRequest(userId) {
110
+ const db = getDb();
111
+ await db
112
+ .update(schema.users)
113
+ .set({ pendingInstallationRequest: null, updatedAt: new Date() })
114
+ .where(eq(schema.users.id, userId));
115
+ },
116
+ };
117
+ export const githubInstallationQueries = {
118
+ async findById(id) {
119
+ const db = getDb();
120
+ const result = await db.select().from(schema.githubInstallations).where(eq(schema.githubInstallations.id, id));
121
+ return result[0] ?? null;
122
+ },
123
+ async findByInstallationId(installationId) {
124
+ const db = getDb();
125
+ const result = await db
126
+ .select()
127
+ .from(schema.githubInstallations)
128
+ .where(eq(schema.githubInstallations.installationId, installationId));
129
+ return result[0] ?? null;
130
+ },
131
+ async findByAccountLogin(accountLogin) {
132
+ const db = getDb();
133
+ const result = await db
134
+ .select()
135
+ .from(schema.githubInstallations)
136
+ .where(eq(schema.githubInstallations.accountLogin, accountLogin));
137
+ return result[0] ?? null;
138
+ },
139
+ async findByInstalledBy(userId) {
140
+ const db = getDb();
141
+ return db
142
+ .select()
143
+ .from(schema.githubInstallations)
144
+ .where(eq(schema.githubInstallations.installedById, userId));
145
+ },
146
+ async findAll() {
147
+ const db = getDb();
148
+ return db.select().from(schema.githubInstallations).orderBy(schema.githubInstallations.accountLogin);
149
+ },
150
+ async upsert(data) {
151
+ const db = getDb();
152
+ const result = await db
153
+ .insert(schema.githubInstallations)
154
+ .values(data)
155
+ .onConflictDoUpdate({
156
+ target: schema.githubInstallations.installationId,
157
+ set: {
158
+ accountType: data.accountType,
159
+ accountLogin: data.accountLogin,
160
+ accountId: data.accountId,
161
+ permissions: data.permissions,
162
+ events: data.events,
163
+ installedById: data.installedById,
164
+ updatedAt: new Date(),
165
+ },
166
+ })
167
+ .returning();
168
+ return result[0];
169
+ },
170
+ async updatePermissions(installationId, permissions, events) {
171
+ const db = getDb();
172
+ await db
173
+ .update(schema.githubInstallations)
174
+ .set({ permissions, events, updatedAt: new Date() })
175
+ .where(eq(schema.githubInstallations.installationId, installationId));
176
+ },
177
+ async suspend(installationId, suspendedBy) {
178
+ const db = getDb();
179
+ await db
180
+ .update(schema.githubInstallations)
181
+ .set({ suspended: true, suspendedAt: new Date(), suspendedBy, updatedAt: new Date() })
182
+ .where(eq(schema.githubInstallations.installationId, installationId));
183
+ },
184
+ async unsuspend(installationId) {
185
+ const db = getDb();
186
+ await db
187
+ .update(schema.githubInstallations)
188
+ .set({ suspended: false, suspendedAt: null, suspendedBy: null, updatedAt: new Date() })
189
+ .where(eq(schema.githubInstallations.installationId, installationId));
190
+ },
191
+ async delete(installationId) {
192
+ const db = getDb();
193
+ await db.delete(schema.githubInstallations).where(eq(schema.githubInstallations.installationId, installationId));
194
+ },
75
195
  };
76
196
  export const credentialQueries = {
77
197
  async findByUserId(userId) {
@@ -170,6 +290,16 @@ export const workspaceQueries = {
170
290
  })
171
291
  .where(eq(schema.workspaces.id, id));
172
292
  },
293
+ async updateConfig(id, config) {
294
+ const db = getDb();
295
+ await db
296
+ .update(schema.workspaces)
297
+ .set({
298
+ config,
299
+ updatedAt: new Date(),
300
+ })
301
+ .where(eq(schema.workspaces.id, id));
302
+ },
173
303
  async setCustomDomain(id, customDomain, status = 'pending') {
174
304
  const db = getDb();
175
305
  await db
@@ -514,6 +644,14 @@ export const repositoryQueries = {
514
644
  const result = await db.select().from(schema.repositories).where(eq(schema.repositories.id, id));
515
645
  return result[0] ?? null;
516
646
  },
647
+ async findByFullName(fullName) {
648
+ const db = getDb();
649
+ const result = await db
650
+ .select()
651
+ .from(schema.repositories)
652
+ .where(eq(schema.repositories.githubFullName, fullName));
653
+ return result[0] ?? null;
654
+ },
517
655
  async findByUserId(userId) {
518
656
  const db = getDb();
519
657
  return db
@@ -591,6 +729,338 @@ export const repositoryQueries = {
591
729
  await db.delete(schema.repositories).where(eq(schema.repositories.id, id));
592
730
  },
593
731
  };
732
+ export const agentSessionQueries = {
733
+ async findById(id) {
734
+ const db = getDb();
735
+ const result = await db.select().from(schema.agentSessions).where(eq(schema.agentSessions.id, id));
736
+ return result[0] ?? null;
737
+ },
738
+ async findByWorkspaceId(workspaceId) {
739
+ const db = getDb();
740
+ return db
741
+ .select()
742
+ .from(schema.agentSessions)
743
+ .where(eq(schema.agentSessions.workspaceId, workspaceId))
744
+ .orderBy(desc(schema.agentSessions.startedAt));
745
+ },
746
+ async findActiveByWorkspace(workspaceId) {
747
+ const db = getDb();
748
+ return db
749
+ .select()
750
+ .from(schema.agentSessions)
751
+ .where(and(eq(schema.agentSessions.workspaceId, workspaceId), eq(schema.agentSessions.status, 'active')));
752
+ },
753
+ async create(data) {
754
+ const db = getDb();
755
+ const result = await db.insert(schema.agentSessions).values(data).returning();
756
+ return result[0];
757
+ },
758
+ async endSession(id, endMarker) {
759
+ const db = getDb();
760
+ await db
761
+ .update(schema.agentSessions)
762
+ .set({
763
+ status: 'ended',
764
+ endedAt: new Date(),
765
+ endMarker: endMarker ?? null,
766
+ })
767
+ .where(eq(schema.agentSessions.id, id));
768
+ },
769
+ async delete(id) {
770
+ const db = getDb();
771
+ await db.delete(schema.agentSessions).where(eq(schema.agentSessions.id, id));
772
+ },
773
+ };
774
+ export const agentSummaryQueries = {
775
+ async findBySessionId(sessionId) {
776
+ const db = getDb();
777
+ return db
778
+ .select()
779
+ .from(schema.agentSummaries)
780
+ .where(eq(schema.agentSummaries.sessionId, sessionId))
781
+ .orderBy(schema.agentSummaries.createdAt);
782
+ },
783
+ async findLatestByAgent(agentName) {
784
+ const db = getDb();
785
+ const result = await db
786
+ .select()
787
+ .from(schema.agentSummaries)
788
+ .where(eq(schema.agentSummaries.agentName, agentName))
789
+ .orderBy(desc(schema.agentSummaries.createdAt))
790
+ .limit(1);
791
+ return result[0] ?? null;
792
+ },
793
+ async create(data) {
794
+ const db = getDb();
795
+ const result = await db.insert(schema.agentSummaries).values(data).returning();
796
+ return result[0];
797
+ },
798
+ async deleteBySession(sessionId) {
799
+ const db = getDb();
800
+ await db.delete(schema.agentSummaries).where(eq(schema.agentSummaries.sessionId, sessionId));
801
+ },
802
+ };
803
+ export const ciFailureEventQueries = {
804
+ async findById(id) {
805
+ const db = getDb();
806
+ const result = await db.select().from(schema.ciFailureEvents).where(eq(schema.ciFailureEvents.id, id));
807
+ return result[0] ?? null;
808
+ },
809
+ async findByRepository(repository, limit = 50) {
810
+ const db = getDb();
811
+ return db
812
+ .select()
813
+ .from(schema.ciFailureEvents)
814
+ .where(eq(schema.ciFailureEvents.repository, repository))
815
+ .orderBy(desc(schema.ciFailureEvents.createdAt))
816
+ .limit(limit);
817
+ },
818
+ async findByPR(repository, prNumber) {
819
+ const db = getDb();
820
+ return db
821
+ .select()
822
+ .from(schema.ciFailureEvents)
823
+ .where(and(eq(schema.ciFailureEvents.repository, repository), eq(schema.ciFailureEvents.prNumber, prNumber)))
824
+ .orderBy(desc(schema.ciFailureEvents.createdAt));
825
+ },
826
+ async findRecentUnprocessed(limit = 100) {
827
+ const db = getDb();
828
+ return db
829
+ .select()
830
+ .from(schema.ciFailureEvents)
831
+ .where(isNull(schema.ciFailureEvents.processedAt))
832
+ .orderBy(schema.ciFailureEvents.createdAt)
833
+ .limit(limit);
834
+ },
835
+ async create(data) {
836
+ const db = getDb();
837
+ const result = await db.insert(schema.ciFailureEvents).values(data).returning();
838
+ return result[0];
839
+ },
840
+ async markProcessed(id, agentSpawned) {
841
+ const db = getDb();
842
+ await db
843
+ .update(schema.ciFailureEvents)
844
+ .set({ processedAt: new Date(), agentSpawned })
845
+ .where(eq(schema.ciFailureEvents.id, id));
846
+ },
847
+ async delete(id) {
848
+ const db = getDb();
849
+ await db.delete(schema.ciFailureEvents).where(eq(schema.ciFailureEvents.id, id));
850
+ },
851
+ };
852
+ export const ciFixAttemptQueries = {
853
+ async findById(id) {
854
+ const db = getDb();
855
+ const result = await db.select().from(schema.ciFixAttempts).where(eq(schema.ciFixAttempts.id, id));
856
+ return result[0] ?? null;
857
+ },
858
+ async findByFailureEvent(failureEventId) {
859
+ const db = getDb();
860
+ return db
861
+ .select()
862
+ .from(schema.ciFixAttempts)
863
+ .where(eq(schema.ciFixAttempts.failureEventId, failureEventId))
864
+ .orderBy(desc(schema.ciFixAttempts.startedAt));
865
+ },
866
+ async findActiveByRepository(repository) {
867
+ const db = getDb();
868
+ // Find active fix attempts by joining with failure events
869
+ return db
870
+ .select({
871
+ id: schema.ciFixAttempts.id,
872
+ failureEventId: schema.ciFixAttempts.failureEventId,
873
+ agentId: schema.ciFixAttempts.agentId,
874
+ agentName: schema.ciFixAttempts.agentName,
875
+ status: schema.ciFixAttempts.status,
876
+ commitSha: schema.ciFixAttempts.commitSha,
877
+ errorMessage: schema.ciFixAttempts.errorMessage,
878
+ startedAt: schema.ciFixAttempts.startedAt,
879
+ completedAt: schema.ciFixAttempts.completedAt,
880
+ })
881
+ .from(schema.ciFixAttempts)
882
+ .innerJoin(schema.ciFailureEvents, eq(schema.ciFixAttempts.failureEventId, schema.ciFailureEvents.id))
883
+ .where(and(eq(schema.ciFailureEvents.repository, repository), sql `${schema.ciFixAttempts.status} IN ('pending', 'in_progress')`));
884
+ },
885
+ async create(data) {
886
+ const db = getDb();
887
+ const result = await db.insert(schema.ciFixAttempts).values(data).returning();
888
+ return result[0];
889
+ },
890
+ async updateStatus(id, status, errorMessage) {
891
+ const db = getDb();
892
+ const updates = { status };
893
+ if (errorMessage) {
894
+ updates.errorMessage = errorMessage;
895
+ }
896
+ await db
897
+ .update(schema.ciFixAttempts)
898
+ .set(updates)
899
+ .where(eq(schema.ciFixAttempts.id, id));
900
+ },
901
+ async complete(id, status, commitSha, errorMessage) {
902
+ const db = getDb();
903
+ await db
904
+ .update(schema.ciFixAttempts)
905
+ .set({
906
+ status,
907
+ completedAt: new Date(),
908
+ commitSha: commitSha ?? null,
909
+ errorMessage: errorMessage ?? null,
910
+ })
911
+ .where(eq(schema.ciFixAttempts.id, id));
912
+ },
913
+ };
914
+ export const issueAssignmentQueries = {
915
+ async findById(id) {
916
+ const db = getDb();
917
+ const result = await db.select().from(schema.issueAssignments).where(eq(schema.issueAssignments.id, id));
918
+ return result[0] ?? null;
919
+ },
920
+ async findByRepository(repository, limit = 50) {
921
+ const db = getDb();
922
+ return db
923
+ .select()
924
+ .from(schema.issueAssignments)
925
+ .where(eq(schema.issueAssignments.repository, repository))
926
+ .orderBy(desc(schema.issueAssignments.createdAt))
927
+ .limit(limit);
928
+ },
929
+ async findByIssue(repository, issueNumber) {
930
+ const db = getDb();
931
+ const result = await db
932
+ .select()
933
+ .from(schema.issueAssignments)
934
+ .where(and(eq(schema.issueAssignments.repository, repository), eq(schema.issueAssignments.issueNumber, issueNumber)));
935
+ return result[0] ?? null;
936
+ },
937
+ async findByAgent(agentId) {
938
+ const db = getDb();
939
+ return db
940
+ .select()
941
+ .from(schema.issueAssignments)
942
+ .where(eq(schema.issueAssignments.agentId, agentId))
943
+ .orderBy(desc(schema.issueAssignments.createdAt));
944
+ },
945
+ async findPending(limit = 100) {
946
+ const db = getDb();
947
+ return db
948
+ .select()
949
+ .from(schema.issueAssignments)
950
+ .where(eq(schema.issueAssignments.status, 'pending'))
951
+ .orderBy(schema.issueAssignments.createdAt)
952
+ .limit(limit);
953
+ },
954
+ async create(data) {
955
+ const db = getDb();
956
+ const result = await db.insert(schema.issueAssignments).values(data).returning();
957
+ return result[0];
958
+ },
959
+ async assignAgent(id, agentId, agentName) {
960
+ const db = getDb();
961
+ await db
962
+ .update(schema.issueAssignments)
963
+ .set({
964
+ agentId,
965
+ agentName,
966
+ assignedAt: new Date(),
967
+ status: 'assigned',
968
+ updatedAt: new Date(),
969
+ })
970
+ .where(eq(schema.issueAssignments.id, id));
971
+ },
972
+ async updateStatus(id, status, resolution) {
973
+ const db = getDb();
974
+ const updates = { status, updatedAt: new Date() };
975
+ if (resolution) {
976
+ updates.resolution = resolution;
977
+ }
978
+ await db
979
+ .update(schema.issueAssignments)
980
+ .set(updates)
981
+ .where(eq(schema.issueAssignments.id, id));
982
+ },
983
+ async linkPR(id, prNumber) {
984
+ const db = getDb();
985
+ await db
986
+ .update(schema.issueAssignments)
987
+ .set({ linkedPrNumber: prNumber, updatedAt: new Date() })
988
+ .where(eq(schema.issueAssignments.id, id));
989
+ },
990
+ };
991
+ export const commentMentionQueries = {
992
+ async findById(id) {
993
+ const db = getDb();
994
+ const result = await db.select().from(schema.commentMentions).where(eq(schema.commentMentions.id, id));
995
+ return result[0] ?? null;
996
+ },
997
+ async findByRepository(repository, limit = 50) {
998
+ const db = getDb();
999
+ return db
1000
+ .select()
1001
+ .from(schema.commentMentions)
1002
+ .where(eq(schema.commentMentions.repository, repository))
1003
+ .orderBy(desc(schema.commentMentions.createdAt))
1004
+ .limit(limit);
1005
+ },
1006
+ async findBySource(sourceType, sourceId) {
1007
+ const db = getDb();
1008
+ const result = await db
1009
+ .select()
1010
+ .from(schema.commentMentions)
1011
+ .where(and(eq(schema.commentMentions.sourceType, sourceType), eq(schema.commentMentions.sourceId, sourceId)));
1012
+ return result[0] ?? null;
1013
+ },
1014
+ async findPending(limit = 100) {
1015
+ const db = getDb();
1016
+ return db
1017
+ .select()
1018
+ .from(schema.commentMentions)
1019
+ .where(eq(schema.commentMentions.status, 'pending'))
1020
+ .orderBy(schema.commentMentions.createdAt)
1021
+ .limit(limit);
1022
+ },
1023
+ async findByMentionedAgent(mentionedAgent, limit = 50) {
1024
+ const db = getDb();
1025
+ return db
1026
+ .select()
1027
+ .from(schema.commentMentions)
1028
+ .where(eq(schema.commentMentions.mentionedAgent, mentionedAgent))
1029
+ .orderBy(desc(schema.commentMentions.createdAt))
1030
+ .limit(limit);
1031
+ },
1032
+ async create(data) {
1033
+ const db = getDb();
1034
+ const result = await db.insert(schema.commentMentions).values(data).returning();
1035
+ return result[0];
1036
+ },
1037
+ async markProcessing(id, agentId, agentName) {
1038
+ const db = getDb();
1039
+ await db
1040
+ .update(schema.commentMentions)
1041
+ .set({ status: 'processing', agentId, agentName })
1042
+ .where(eq(schema.commentMentions.id, id));
1043
+ },
1044
+ async markResponded(id, responseCommentId, responseBody) {
1045
+ const db = getDb();
1046
+ await db
1047
+ .update(schema.commentMentions)
1048
+ .set({
1049
+ status: 'responded',
1050
+ responseCommentId,
1051
+ responseBody,
1052
+ respondedAt: new Date(),
1053
+ })
1054
+ .where(eq(schema.commentMentions.id, id));
1055
+ },
1056
+ async markIgnored(id) {
1057
+ const db = getDb();
1058
+ await db
1059
+ .update(schema.commentMentions)
1060
+ .set({ status: 'ignored' })
1061
+ .where(eq(schema.commentMentions.id, id));
1062
+ },
1063
+ };
594
1064
  // ============================================================================
595
1065
  // Migration helper
596
1066
  // ============================================================================
@@ -7,24 +7,29 @@
7
7
  * Generate migrations: npm run db:generate
8
8
  * Run migrations: npm run db:migrate
9
9
  */
10
- export type { User, NewUser, Credential, NewCredential, Workspace, NewWorkspace, WorkspaceConfig, WorkspaceMember, NewWorkspaceMember, ProjectGroup, NewProjectGroup, CoordinatorAgentConfig, ProjectAgentConfig, Repository, NewRepository, LinkedDaemon, NewLinkedDaemon, Subscription, NewSubscription, UsageRecord, NewUsageRecord, } from './schema.js';
11
- export { users as usersTable, credentials as credentialsTable, workspaces as workspacesTable, workspaceMembers as workspaceMembersTable, projectGroups as projectGroupsTable, repositories as repositoriesTable, linkedDaemons as linkedDaemonsTable, subscriptions as subscriptionsTable, usageRecords as usageRecordsTable, } from './schema.js';
12
- import { getDb, closeDb, runMigrations, userQueries, credentialQueries, workspaceQueries, workspaceMemberQueries, linkedDaemonQueries, projectGroupQueries, repositoryQueries } from './drizzle.js';
10
+ export type { User, NewUser, GitHubInstallation, NewGitHubInstallation, Credential, NewCredential, Workspace, NewWorkspace, WorkspaceConfig, WorkspaceAgentPolicy, AgentPolicyRule, WorkspaceMember, NewWorkspaceMember, ProjectGroup, NewProjectGroup, CoordinatorAgentConfig, ProjectAgentConfig, Repository, NewRepository, LinkedDaemon, NewLinkedDaemon, Subscription, NewSubscription, UsageRecord, NewUsageRecord, CIAnnotation, CIFailureEvent, NewCIFailureEvent, CIFixAttempt, NewCIFixAttempt, CICheckStrategy, CIWebhookConfig, IssueAssignment, NewIssueAssignment, CommentMention, NewCommentMention, AgentTriggerConfig, } from './schema.js';
11
+ export { users as usersTable, githubInstallations as githubInstallationsTable, credentials as credentialsTable, workspaces as workspacesTable, workspaceMembers as workspaceMembersTable, projectGroups as projectGroupsTable, repositories as repositoriesTable, linkedDaemons as linkedDaemonsTable, subscriptions as subscriptionsTable, usageRecords as usageRecordsTable, ciFailureEvents as ciFailureEventsTable, ciFixAttempts as ciFixAttemptsTable, issueAssignments as issueAssignmentsTable, commentMentions as commentMentionsTable, } from './schema.js';
12
+ import { getDb, closeDb, runMigrations, userQueries, githubInstallationQueries, credentialQueries, workspaceQueries, workspaceMemberQueries, linkedDaemonQueries, projectGroupQueries, repositoryQueries, ciFailureEventQueries, ciFixAttemptQueries, issueAssignmentQueries, commentMentionQueries } from './drizzle.js';
13
13
  export type PlanType = 'free' | 'pro' | 'team' | 'enterprise';
14
14
  export type WorkspaceMemberRole = 'owner' | 'admin' | 'member' | 'viewer';
15
15
  export declare const db: {
16
16
  users: import("./drizzle.js").UserQueries;
17
+ githubInstallations: import("./drizzle.js").GitHubInstallationQueries;
17
18
  credentials: import("./drizzle.js").CredentialQueries;
18
19
  workspaces: import("./drizzle.js").WorkspaceQueries;
19
20
  workspaceMembers: import("./drizzle.js").WorkspaceMemberQueries;
20
21
  projectGroups: import("./drizzle.js").ProjectGroupQueries;
21
22
  repositories: import("./drizzle.js").RepositoryQueries;
22
23
  linkedDaemons: import("./drizzle.js").LinkedDaemonQueries;
24
+ ciFailureEvents: import("./drizzle.js").CIFailureEventQueries;
25
+ ciFixAttempts: import("./drizzle.js").CIFixAttemptQueries;
26
+ issueAssignments: import("./drizzle.js").IssueAssignmentQueries;
27
+ commentMentions: import("./drizzle.js").CommentMentionQueries;
23
28
  getDb: typeof getDb;
24
29
  close: typeof closeDb;
25
30
  runMigrations: typeof runMigrations;
26
31
  };
27
- export { userQueries, credentialQueries, workspaceQueries, workspaceMemberQueries, projectGroupQueries, repositoryQueries, linkedDaemonQueries, };
32
+ export { userQueries, githubInstallationQueries, credentialQueries, workspaceQueries, workspaceMemberQueries, projectGroupQueries, repositoryQueries, linkedDaemonQueries, ciFailureEventQueries, ciFixAttemptQueries, issueAssignmentQueries, commentMentionQueries, };
28
33
  export { getDb, closeDb, runMigrations };
29
34
  export declare function initializeDatabase(): Promise<void>;
30
35
  //# sourceMappingURL=index.d.ts.map