agent-tower 0.4.15 → 0.4.16-beta.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 (279) hide show
  1. package/dist/app.test.js +2 -0
  2. package/dist/app.test.js.map +1 -1
  3. package/dist/core/event-bus.d.ts +2 -0
  4. package/dist/core/event-bus.d.ts.map +1 -1
  5. package/dist/core/event-bus.js.map +1 -1
  6. package/dist/executors/__tests__/codex.executor.test.d.ts +2 -0
  7. package/dist/executors/__tests__/codex.executor.test.d.ts.map +1 -0
  8. package/dist/executors/__tests__/codex.executor.test.js +28 -0
  9. package/dist/executors/__tests__/codex.executor.test.js.map +1 -0
  10. package/dist/executors/codex.executor.d.ts +1 -0
  11. package/dist/executors/codex.executor.d.ts.map +1 -1
  12. package/dist/executors/codex.executor.js +19 -1
  13. package/dist/executors/codex.executor.js.map +1 -1
  14. package/dist/git/git-cli.d.ts +18 -1
  15. package/dist/git/git-cli.d.ts.map +1 -1
  16. package/dist/git/git-cli.js +17 -1
  17. package/dist/git/git-cli.js.map +1 -1
  18. package/dist/git/worktree.manager.d.ts +29 -2
  19. package/dist/git/worktree.manager.d.ts.map +1 -1
  20. package/dist/git/worktree.manager.js +137 -16
  21. package/dist/git/worktree.manager.js.map +1 -1
  22. package/dist/git/worktree.manager.test.d.ts +2 -0
  23. package/dist/git/worktree.manager.test.d.ts.map +1 -0
  24. package/dist/git/worktree.manager.test.js +104 -0
  25. package/dist/git/worktree.manager.test.js.map +1 -0
  26. package/dist/mcp/context.d.ts +3 -0
  27. package/dist/mcp/context.d.ts.map +1 -1
  28. package/dist/mcp/context.js +10 -1
  29. package/dist/mcp/context.js.map +1 -1
  30. package/dist/mcp/http-client.d.ts +24 -1
  31. package/dist/mcp/http-client.d.ts.map +1 -1
  32. package/dist/mcp/http-client.js +37 -3
  33. package/dist/mcp/http-client.js.map +1 -1
  34. package/dist/mcp/server.d.ts.map +1 -1
  35. package/dist/mcp/server.js +190 -0
  36. package/dist/mcp/server.js.map +1 -1
  37. package/dist/middleware/tunnel-auth.d.ts.map +1 -1
  38. package/dist/middleware/tunnel-auth.js +2 -0
  39. package/dist/middleware/tunnel-auth.js.map +1 -1
  40. package/dist/output/__tests__/codex-parser.test.d.ts +2 -0
  41. package/dist/output/__tests__/codex-parser.test.d.ts.map +1 -0
  42. package/dist/output/__tests__/codex-parser.test.js +148 -0
  43. package/dist/output/__tests__/codex-parser.test.js.map +1 -0
  44. package/dist/output/codex-parser.d.ts +12 -0
  45. package/dist/output/codex-parser.d.ts.map +1 -1
  46. package/dist/output/codex-parser.js +129 -12
  47. package/dist/output/codex-parser.js.map +1 -1
  48. package/dist/routes/__tests__/attachments.test.d.ts +2 -0
  49. package/dist/routes/__tests__/attachments.test.d.ts.map +1 -0
  50. package/dist/routes/__tests__/attachments.test.js +86 -0
  51. package/dist/routes/__tests__/attachments.test.js.map +1 -0
  52. package/dist/routes/__tests__/filesystem.test.d.ts +2 -0
  53. package/dist/routes/__tests__/filesystem.test.d.ts.map +1 -0
  54. package/dist/routes/__tests__/filesystem.test.js +80 -0
  55. package/dist/routes/__tests__/filesystem.test.js.map +1 -0
  56. package/dist/routes/__tests__/previews.test.d.ts +2 -0
  57. package/dist/routes/__tests__/previews.test.d.ts.map +1 -0
  58. package/dist/routes/__tests__/previews.test.js +89 -0
  59. package/dist/routes/__tests__/previews.test.js.map +1 -0
  60. package/dist/routes/__tests__/tasks.test.d.ts +2 -0
  61. package/dist/routes/__tests__/tasks.test.d.ts.map +1 -0
  62. package/dist/routes/__tests__/tasks.test.js +72 -0
  63. package/dist/routes/__tests__/tasks.test.js.map +1 -0
  64. package/dist/routes/attachments.d.ts.map +1 -1
  65. package/dist/routes/attachments.js +36 -16
  66. package/dist/routes/attachments.js.map +1 -1
  67. package/dist/routes/filesystem.d.ts.map +1 -1
  68. package/dist/routes/filesystem.js +24 -3
  69. package/dist/routes/filesystem.js.map +1 -1
  70. package/dist/routes/index.d.ts.map +1 -1
  71. package/dist/routes/index.js +6 -0
  72. package/dist/routes/index.js.map +1 -1
  73. package/dist/routes/previews.d.ts +6 -0
  74. package/dist/routes/previews.d.ts.map +1 -0
  75. package/dist/routes/previews.js +413 -0
  76. package/dist/routes/previews.js.map +1 -0
  77. package/dist/routes/projects.d.ts.map +1 -1
  78. package/dist/routes/projects.js +1 -0
  79. package/dist/routes/projects.js.map +1 -1
  80. package/dist/routes/system.d.ts.map +1 -1
  81. package/dist/routes/system.js +35 -1
  82. package/dist/routes/system.js.map +1 -1
  83. package/dist/routes/tasks.js +2 -2
  84. package/dist/routes/tasks.js.map +1 -1
  85. package/dist/routes/team-runs.d.ts +11 -0
  86. package/dist/routes/team-runs.d.ts.map +1 -0
  87. package/dist/routes/team-runs.js +309 -0
  88. package/dist/routes/team-runs.js.map +1 -0
  89. package/dist/routes/tunnel.d.ts.map +1 -1
  90. package/dist/routes/tunnel.js +20 -0
  91. package/dist/routes/tunnel.js.map +1 -1
  92. package/dist/routes/workspaces.d.ts.map +1 -1
  93. package/dist/routes/workspaces.js +15 -1
  94. package/dist/routes/workspaces.js.map +1 -1
  95. package/dist/services/__tests__/preview.service.test.d.ts +2 -0
  96. package/dist/services/__tests__/preview.service.test.d.ts.map +1 -0
  97. package/dist/services/__tests__/preview.service.test.js +29 -0
  98. package/dist/services/__tests__/preview.service.test.js.map +1 -0
  99. package/dist/services/__tests__/session-manager.team-run.test.d.ts +2 -0
  100. package/dist/services/__tests__/session-manager.team-run.test.d.ts.map +1 -0
  101. package/dist/services/__tests__/session-manager.team-run.test.js +286 -0
  102. package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -0
  103. package/dist/services/__tests__/task.service.test.d.ts +2 -0
  104. package/dist/services/__tests__/task.service.test.d.ts.map +1 -0
  105. package/dist/services/__tests__/task.service.test.js +65 -0
  106. package/dist/services/__tests__/task.service.test.js.map +1 -0
  107. package/dist/services/__tests__/team-lock.service.test.d.ts +2 -0
  108. package/dist/services/__tests__/team-lock.service.test.d.ts.map +1 -0
  109. package/dist/services/__tests__/team-lock.service.test.js +81 -0
  110. package/dist/services/__tests__/team-lock.service.test.js.map +1 -0
  111. package/dist/services/__tests__/team-reconciler.service.test.d.ts +2 -0
  112. package/dist/services/__tests__/team-reconciler.service.test.d.ts.map +1 -0
  113. package/dist/services/__tests__/team-reconciler.service.test.js +1536 -0
  114. package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -0
  115. package/dist/services/__tests__/team-run.service.test.d.ts +2 -0
  116. package/dist/services/__tests__/team-run.service.test.d.ts.map +1 -0
  117. package/dist/services/__tests__/team-run.service.test.js +699 -0
  118. package/dist/services/__tests__/team-run.service.test.js.map +1 -0
  119. package/dist/services/__tests__/team-scheduler.service.test.d.ts +2 -0
  120. package/dist/services/__tests__/team-scheduler.service.test.d.ts.map +1 -0
  121. package/dist/services/__tests__/team-scheduler.service.test.js +1688 -0
  122. package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -0
  123. package/dist/services/__tests__/tunnel.service.test.d.ts +2 -0
  124. package/dist/services/__tests__/tunnel.service.test.d.ts.map +1 -0
  125. package/dist/services/__tests__/tunnel.service.test.js +138 -0
  126. package/dist/services/__tests__/tunnel.service.test.js.map +1 -0
  127. package/dist/services/__tests__/workspace.service.test.d.ts +2 -0
  128. package/dist/services/__tests__/workspace.service.test.d.ts.map +1 -0
  129. package/dist/services/__tests__/workspace.service.test.js +695 -0
  130. package/dist/services/__tests__/workspace.service.test.js.map +1 -0
  131. package/dist/services/attachment-context.d.ts +3 -0
  132. package/dist/services/attachment-context.d.ts.map +1 -0
  133. package/dist/services/attachment-context.js +34 -0
  134. package/dist/services/attachment-context.js.map +1 -0
  135. package/dist/services/preview.service.d.ts +19 -0
  136. package/dist/services/preview.service.d.ts.map +1 -0
  137. package/dist/services/preview.service.js +147 -0
  138. package/dist/services/preview.service.js.map +1 -0
  139. package/dist/services/project.service.d.ts +2 -0
  140. package/dist/services/project.service.d.ts.map +1 -1
  141. package/dist/services/project.service.js +87 -18
  142. package/dist/services/project.service.js.map +1 -1
  143. package/dist/services/session-manager.d.ts +43 -1
  144. package/dist/services/session-manager.d.ts.map +1 -1
  145. package/dist/services/session-manager.js +110 -2
  146. package/dist/services/session-manager.js.map +1 -1
  147. package/dist/services/task.service.d.ts +6 -0
  148. package/dist/services/task.service.d.ts.map +1 -1
  149. package/dist/services/task.service.js +15 -3
  150. package/dist/services/task.service.js.map +1 -1
  151. package/dist/services/team-lock.service.d.ts +25 -0
  152. package/dist/services/team-lock.service.d.ts.map +1 -0
  153. package/dist/services/team-lock.service.js +56 -0
  154. package/dist/services/team-lock.service.js.map +1 -0
  155. package/dist/services/team-reconciler.service.d.ts +44 -0
  156. package/dist/services/team-reconciler.service.d.ts.map +1 -0
  157. package/dist/services/team-reconciler.service.js +286 -0
  158. package/dist/services/team-reconciler.service.js.map +1 -0
  159. package/dist/services/team-run-events.d.ts +13 -0
  160. package/dist/services/team-run-events.d.ts.map +1 -0
  161. package/dist/services/team-run-events.js +27 -0
  162. package/dist/services/team-run-events.js.map +1 -0
  163. package/dist/services/team-run.service.d.ts +92 -0
  164. package/dist/services/team-run.service.d.ts.map +1 -0
  165. package/dist/services/team-run.service.js +835 -0
  166. package/dist/services/team-run.service.js.map +1 -0
  167. package/dist/services/team-scheduler.service.d.ts +104 -0
  168. package/dist/services/team-scheduler.service.d.ts.map +1 -0
  169. package/dist/services/team-scheduler.service.js +843 -0
  170. package/dist/services/team-scheduler.service.js.map +1 -0
  171. package/dist/services/tunnel.service.d.ts +31 -5
  172. package/dist/services/tunnel.service.d.ts.map +1 -1
  173. package/dist/services/tunnel.service.js +293 -32
  174. package/dist/services/tunnel.service.js.map +1 -1
  175. package/dist/services/workspace.service.d.ts +161 -7
  176. package/dist/services/workspace.service.d.ts.map +1 -1
  177. package/dist/services/workspace.service.js +396 -51
  178. package/dist/services/workspace.service.js.map +1 -1
  179. package/dist/socket/events.d.ts +1 -1
  180. package/dist/socket/events.d.ts.map +1 -1
  181. package/dist/socket/events.js.map +1 -1
  182. package/dist/socket/socket-gateway.d.ts.map +1 -1
  183. package/dist/socket/socket-gateway.js +5 -1
  184. package/dist/socket/socket-gateway.js.map +1 -1
  185. package/dist/web/assets/AgentDemoPage-Bf6labVB.js +1 -0
  186. package/dist/web/assets/{DemoPage-XwuS8vNB.js → DemoPage-DlfG47rV.js} +3 -3
  187. package/dist/web/assets/{GeneralSettingsPage-CliIgpwf.js → GeneralSettingsPage-DefqwzVn.js} +1 -1
  188. package/dist/web/assets/MemberAvatar-DVw_TedB.js +1 -0
  189. package/dist/web/assets/NotificationSettingsPage-C9h1U1Za.js +1 -0
  190. package/dist/web/assets/{ProfileSettingsPage-CkU_kZKG.js → ProfileSettingsPage-BkZE2yVP.js} +1 -1
  191. package/dist/web/assets/ProjectKanbanPage-B1Ckl1uY.js +89 -0
  192. package/dist/web/assets/ProjectSettingsPage-ByZ13awb.js +2 -0
  193. package/dist/web/assets/{ProviderSettingsPage-CfvdeoEU.js → ProviderSettingsPage-DSQYe8B6.js} +12 -12
  194. package/dist/web/assets/TeamSettingsPage-DUukJ_Ih.js +1 -0
  195. package/dist/web/assets/agent-tower-logo-COx9gy77.png +0 -0
  196. package/dist/web/assets/{button-BWFTEdOr.js → button-Bpm98eOV.js} +1 -1
  197. package/dist/web/assets/{chevron-down-CuPdBAx-.js → chevron-down-DSKKXCi8.js} +1 -1
  198. package/dist/web/assets/{chevron-right-Cs8vYTMn.js → chevron-right-CZdDV9GU.js} +1 -1
  199. package/dist/web/assets/chevron-up-gnnlwvYe.js +1 -0
  200. package/dist/web/assets/{circle-check-BXZTzqw0.js → circle-check-DeD_VuLK.js} +1 -1
  201. package/dist/web/assets/{code-block-OCS4YCEC-BxUpvXK_.js → code-block-OCS4YCEC-BrGjkdjS.js} +1 -1
  202. package/dist/web/assets/{confirm-dialog-CDLHRthd.js → confirm-dialog-CEVVvAcE.js} +1 -1
  203. package/dist/web/assets/folder-picker-ZBQlFEWL.js +1 -0
  204. package/dist/web/assets/index-B5g4V0NU.js +13 -0
  205. package/dist/web/assets/index-ltjI8o6A.css +1 -0
  206. package/dist/web/assets/loader-circle-GMfBClX0.js +1 -0
  207. package/dist/web/assets/{log-adapter-CeKrvZcz.js → log-adapter-DKKM3sxS.js} +1 -1
  208. package/dist/web/assets/{mermaid-NOHMQCX5-BOSwJqP0.js → mermaid-NOHMQCX5-D5USvUiZ.js} +44 -44
  209. package/dist/web/assets/modal-JMpuh-LG.js +1 -0
  210. package/dist/web/assets/{pencil-BMxBxIhw.js → pencil-QrCW47nn.js} +1 -1
  211. package/dist/web/assets/{select-BUmRG0LY.js → select-CINRzLiE.js} +1 -1
  212. package/dist/web/assets/upload-vFxZxKHo.js +1 -0
  213. package/dist/web/assets/{use-profiles-C1vlPE-2.js → use-profiles-SrVWPYv0.js} +1 -1
  214. package/dist/web/assets/{use-providers-Cdxr4Jbz.js → use-providers-BihMydl0.js} +1 -1
  215. package/dist/web/avatars/presets/avatar-preset-01-developer.png +0 -0
  216. package/dist/web/avatars/presets/avatar-preset-02-architect.png +0 -0
  217. package/dist/web/avatars/presets/avatar-preset-03-tester.png +0 -0
  218. package/dist/web/avatars/presets/avatar-preset-04-devops.png +0 -0
  219. package/dist/web/avatars/presets/avatar-preset-05-data-scientist.png +0 -0
  220. package/dist/web/avatars/presets/avatar-preset-06-frontend.png +0 -0
  221. package/dist/web/avatars/presets/avatar-preset-07-backend.png +0 -0
  222. package/dist/web/avatars/presets/avatar-preset-08-security.png +0 -0
  223. package/dist/web/avatars/presets/avatar-preset-09-project-manager.png +0 -0
  224. package/dist/web/avatars/presets/avatar-preset-10-product-manager.png +0 -0
  225. package/dist/web/avatars/presets/avatar-preset-11-scrum-master.png +0 -0
  226. package/dist/web/avatars/presets/avatar-preset-12-tech-lead.png +0 -0
  227. package/dist/web/avatars/presets/avatar-preset-13-coordinator.png +0 -0
  228. package/dist/web/avatars/presets/avatar-preset-14-mentor.png +0 -0
  229. package/dist/web/avatars/presets/avatar-preset-15-reviewer.png +0 -0
  230. package/dist/web/avatars/presets/avatar-preset-16-ui-designer.png +0 -0
  231. package/dist/web/avatars/presets/avatar-preset-17-ux-researcher.png +0 -0
  232. package/dist/web/avatars/presets/avatar-preset-18-documenter.png +0 -0
  233. package/dist/web/avatars/presets/avatar-preset-19-translator.png +0 -0
  234. package/dist/web/avatars/presets/avatar-preset-20-analyst.png +0 -0
  235. package/dist/web/avatars/presets/avatar-preset-21-consultant.png +0 -0
  236. package/dist/web/avatars/presets/avatar-preset-22-creative-director.png +0 -0
  237. package/dist/web/avatars/presets/avatar-preset-23-support.png +0 -0
  238. package/dist/web/avatars/presets/avatar-preset-24-assistant.png +0 -0
  239. package/dist/web/avatars/presets/avatar-preset-25-robot.png +0 -0
  240. package/dist/web/avatars/presets/avatar-preset-grid.png +0 -0
  241. package/dist/web/index.html +2 -2
  242. package/node_modules/@agent-tower/shared/dist/socket/events.d.ts +10 -0
  243. package/node_modules/@agent-tower/shared/dist/socket/events.d.ts.map +1 -1
  244. package/node_modules/@agent-tower/shared/dist/socket/events.js +1 -0
  245. package/node_modules/@agent-tower/shared/dist/socket/events.js.map +1 -1
  246. package/node_modules/@agent-tower/shared/dist/types.d.ts +161 -0
  247. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  248. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  249. package/node_modules/@prisma/client/.prisma/client/default.d.ts +1 -0
  250. package/node_modules/@prisma/client/.prisma/client/default.js +1 -0
  251. package/node_modules/@prisma/client/.prisma/client/edge.d.ts +1 -0
  252. package/node_modules/@prisma/client/.prisma/client/edge.js +396 -0
  253. package/node_modules/@prisma/client/.prisma/client/index-browser.js +385 -0
  254. package/node_modules/@prisma/client/.prisma/client/index.d.ts +26996 -0
  255. package/node_modules/@prisma/client/.prisma/client/index.js +421 -0
  256. package/node_modules/@prisma/client/.prisma/client/libquery_engine-darwin-arm64.dylib.node +0 -0
  257. package/node_modules/@prisma/client/.prisma/client/package.json +97 -0
  258. package/node_modules/@prisma/client/.prisma/client/query_engine-windows.dll.node +0 -0
  259. package/node_modules/@prisma/client/.prisma/client/schema.prisma +296 -0
  260. package/node_modules/@prisma/client/.prisma/client/wasm.d.ts +1 -0
  261. package/node_modules/@prisma/client/.prisma/client/wasm.js +385 -0
  262. package/node_modules/@prisma/client/package.json +3 -2
  263. package/package.json +2 -1
  264. package/prisma/migrations/20260515000000_add_workspace_preview_target/migration.sql +2 -0
  265. package/prisma/migrations/20260518000000_add_team_run_collaboration/migration.sql +150 -0
  266. package/prisma/migrations/20260522000000_add_team_member_session_policy/migration.sql +2 -0
  267. package/prisma/migrations/20260526000000_add_team_run_main_and_dedicated_workspaces/migration.sql +21 -0
  268. package/prisma/schema.prisma +147 -1
  269. package/dist/web/assets/AgentDemoPage-ClnGPAV9.js +0 -1
  270. package/dist/web/assets/NotificationSettingsPage-y3vhVgPv.js +0 -1
  271. package/dist/web/assets/ProjectKanbanPage-BddzfZRV.js +0 -87
  272. package/dist/web/assets/ProjectSettingsPage-B6xhbziO.js +0 -2
  273. package/dist/web/assets/circle-alert-EUyZcWhp.js +0 -1
  274. package/dist/web/assets/folder-picker-CUbhsnhi.js +0 -1
  275. package/dist/web/assets/index-BGvfX18x.css +0 -1
  276. package/dist/web/assets/index-CHN8jahE.js +0 -13
  277. package/dist/web/assets/loader-circle-BHzDVpxt.js +0 -1
  278. package/dist/web/assets/modal-D_AU4URz.js +0 -1
  279. package/dist/web/assets/use-projects-Bcd5hIOY.js +0 -1
@@ -0,0 +1,97 @@
1
+ {
2
+ "name": "prisma-client-73d32b69287bb50dd59424054f3f2e89d7670eeb8eaecbb37806051f52ad454b",
3
+ "main": "index.js",
4
+ "types": "index.d.ts",
5
+ "browser": "index-browser.js",
6
+ "exports": {
7
+ "./package.json": "./package.json",
8
+ ".": {
9
+ "require": {
10
+ "node": "./index.js",
11
+ "edge-light": "./wasm.js",
12
+ "workerd": "./wasm.js",
13
+ "worker": "./wasm.js",
14
+ "browser": "./index-browser.js",
15
+ "default": "./index.js"
16
+ },
17
+ "import": {
18
+ "node": "./index.js",
19
+ "edge-light": "./wasm.js",
20
+ "workerd": "./wasm.js",
21
+ "worker": "./wasm.js",
22
+ "browser": "./index-browser.js",
23
+ "default": "./index.js"
24
+ },
25
+ "default": "./index.js"
26
+ },
27
+ "./edge": {
28
+ "types": "./edge.d.ts",
29
+ "require": "./edge.js",
30
+ "import": "./edge.js",
31
+ "default": "./edge.js"
32
+ },
33
+ "./react-native": {
34
+ "types": "./react-native.d.ts",
35
+ "require": "./react-native.js",
36
+ "import": "./react-native.js",
37
+ "default": "./react-native.js"
38
+ },
39
+ "./extension": {
40
+ "types": "./extension.d.ts",
41
+ "require": "./extension.js",
42
+ "import": "./extension.js",
43
+ "default": "./extension.js"
44
+ },
45
+ "./index-browser": {
46
+ "types": "./index.d.ts",
47
+ "require": "./index-browser.js",
48
+ "import": "./index-browser.js",
49
+ "default": "./index-browser.js"
50
+ },
51
+ "./index": {
52
+ "types": "./index.d.ts",
53
+ "require": "./index.js",
54
+ "import": "./index.js",
55
+ "default": "./index.js"
56
+ },
57
+ "./wasm": {
58
+ "types": "./wasm.d.ts",
59
+ "require": "./wasm.js",
60
+ "import": "./wasm.js",
61
+ "default": "./wasm.js"
62
+ },
63
+ "./runtime/library": {
64
+ "types": "./runtime/library.d.ts",
65
+ "require": "./runtime/library.js",
66
+ "import": "./runtime/library.js",
67
+ "default": "./runtime/library.js"
68
+ },
69
+ "./runtime/binary": {
70
+ "types": "./runtime/binary.d.ts",
71
+ "require": "./runtime/binary.js",
72
+ "import": "./runtime/binary.js",
73
+ "default": "./runtime/binary.js"
74
+ },
75
+ "./generator-build": {
76
+ "require": "./generator-build/index.js",
77
+ "import": "./generator-build/index.js",
78
+ "default": "./generator-build/index.js"
79
+ },
80
+ "./sql": {
81
+ "require": {
82
+ "types": "./sql.d.ts",
83
+ "node": "./sql.js",
84
+ "default": "./sql.js"
85
+ },
86
+ "import": {
87
+ "types": "./sql.d.ts",
88
+ "node": "./sql.mjs",
89
+ "default": "./sql.mjs"
90
+ },
91
+ "default": "./sql.js"
92
+ },
93
+ "./*": "./*"
94
+ },
95
+ "version": "5.22.0",
96
+ "sideEffects": false
97
+ }
@@ -0,0 +1,296 @@
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ binaryTargets = ["native", "windows"]
4
+ }
5
+
6
+ datasource db {
7
+ provider = "sqlite"
8
+ url = env("AGENT_TOWER_DATABASE_URL")
9
+ }
10
+
11
+ // 项目
12
+ model Project {
13
+ id String @id @default(uuid())
14
+ name String
15
+ description String?
16
+ repoPath String
17
+ repoRemoteUrl String?
18
+ mainBranch String @default("main")
19
+ copyFiles String? // 逗号分隔的 glob/路径列表,worktree 创建后自动复制
20
+ setupScript String? // 多行命令文本,worktree 创建后自动执行
21
+ quickCommands String? // JSON: [{ name, command }],终端快捷命令
22
+ archivedAt DateTime?
23
+ repoDeletedAt DateTime?
24
+ createdAt DateTime @default(now())
25
+ updatedAt DateTime @updatedAt
26
+ tasks Task[]
27
+
28
+ @@index([archivedAt])
29
+ @@index([repoDeletedAt])
30
+ }
31
+
32
+ // 任务
33
+ // TaskStatus: TODO, IN_PROGRESS, IN_REVIEW, DONE, CANCELLED
34
+ model Task {
35
+ id String @id @default(uuid())
36
+ title String
37
+ description String?
38
+ status String @default("TODO")
39
+ priority Int @default(0)
40
+ position Int @default(0)
41
+ projectId String
42
+ project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
43
+ workspaces Workspace[]
44
+ teamRun TeamRun?
45
+ createdAt DateTime @default(now())
46
+ updatedAt DateTime @updatedAt
47
+
48
+ @@index([projectId])
49
+ @@index([status])
50
+ }
51
+
52
+ model MemberPreset {
53
+ id String @id @default(uuid())
54
+ name String
55
+ aliases String // JSON string: string[]
56
+ providerId String
57
+ rolePrompt String
58
+ capabilities String // JSON TeamMemberCapabilities
59
+ workspacePolicy String
60
+ triggerPolicy String
61
+ sessionPolicy String @default("new_per_request")
62
+ avatar String? // JSON or string ref
63
+ createdAt DateTime @default(now())
64
+ updatedAt DateTime @updatedAt
65
+ }
66
+
67
+ model TeamTemplate {
68
+ id String @id @default(uuid())
69
+ name String
70
+ members TeamTemplateMember[]
71
+ createdAt DateTime @default(now())
72
+ updatedAt DateTime @updatedAt
73
+ }
74
+
75
+ model TeamTemplateMember {
76
+ id String @id @default(uuid())
77
+ teamTemplateId String
78
+ teamTemplate TeamTemplate @relation(fields: [teamTemplateId], references: [id], onDelete: Cascade)
79
+ memberPresetId String
80
+ position Int @default(0)
81
+
82
+ @@index([teamTemplateId])
83
+ @@index([memberPresetId])
84
+ }
85
+
86
+ model TeamRun {
87
+ id String @id @default(uuid())
88
+ taskId String @unique
89
+ task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
90
+ mainWorkspaceId String?
91
+ mainWorkspace Workspace? @relation("TeamRunMainWorkspace", fields: [mainWorkspaceId], references: [id], onDelete: SetNull)
92
+ mode String
93
+ reviewReason String?
94
+ createdAt DateTime @default(now())
95
+ updatedAt DateTime @updatedAt
96
+ members TeamMember[]
97
+ messages RoomMessage[]
98
+ workRequests WorkRequest[]
99
+ invocations AgentInvocation[]
100
+
101
+ @@index([mainWorkspaceId])
102
+ }
103
+
104
+ model TeamMember {
105
+ id String @id @default(uuid())
106
+ teamRunId String
107
+ teamRun TeamRun @relation(fields: [teamRunId], references: [id], onDelete: Cascade)
108
+ presetId String?
109
+ name String
110
+ aliases String // JSON string: string[]
111
+ providerId String
112
+ rolePrompt String
113
+ capabilities String // JSON TeamMemberCapabilities
114
+ workspacePolicy String
115
+ triggerPolicy String
116
+ sessionPolicy String @default("new_per_request")
117
+ avatar String?
118
+ status String @default("IDLE")
119
+ ownedWorkspaces Workspace[] @relation("WorkspaceOwner")
120
+ createdAt DateTime @default(now())
121
+ updatedAt DateTime @updatedAt
122
+
123
+ @@index([teamRunId])
124
+ }
125
+
126
+ model RoomMessage {
127
+ id String @id @default(uuid())
128
+ teamRunId String
129
+ teamRun TeamRun @relation(fields: [teamRunId], references: [id], onDelete: Cascade)
130
+ senderType String
131
+ senderId String?
132
+ senderInvocationId String?
133
+ kind String
134
+ content String
135
+ mentions String // JSON StructuredMention[]
136
+ workRequestIds String? // JSON string[]
137
+ artifactRefs String? // JSON string[]
138
+ attachmentIds String? // JSON string[]
139
+ createdAt DateTime @default(now())
140
+
141
+ @@index([teamRunId])
142
+ @@index([senderInvocationId])
143
+ }
144
+
145
+ model WorkRequest {
146
+ id String @id @default(uuid())
147
+ teamRunId String
148
+ teamRun TeamRun @relation(fields: [teamRunId], references: [id], onDelete: Cascade)
149
+ requesterMemberId String?
150
+ requesterType String
151
+ targetMemberId String
152
+ triggerMessageId String
153
+ instruction String
154
+ ifBusy String @default("queue")
155
+ cancelQueued Boolean @default(false)
156
+ status String @default("QUEUED")
157
+ createdAt DateTime @default(now())
158
+ updatedAt DateTime @updatedAt
159
+
160
+ @@index([teamRunId])
161
+ @@index([targetMemberId])
162
+ @@index([status])
163
+ }
164
+
165
+ model AgentInvocation {
166
+ id String @id @default(uuid())
167
+ teamRunId String
168
+ teamRun TeamRun @relation(fields: [teamRunId], references: [id], onDelete: Cascade)
169
+ workRequestId String
170
+ memberId String
171
+ workspaceId String?
172
+ sessionId String?
173
+ status String @default("QUEUED")
174
+ roomReplyReminderCount Int @default(0)
175
+ nextRoomReplyReminderAt DateTime?
176
+ createdAt DateTime @default(now())
177
+ updatedAt DateTime @updatedAt
178
+
179
+ @@index([teamRunId])
180
+ @@index([memberId])
181
+ @@index([sessionId])
182
+ @@index([status])
183
+ }
184
+
185
+ // 工作空间 (对应一个 git worktree)
186
+ // WorkspaceStatus: ACTIVE, MERGED, ABANDONED, HIBERNATED
187
+ model Workspace {
188
+ id String @id @default(uuid())
189
+ taskId String
190
+ task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
191
+ parentWorkspaceId String?
192
+ parentWorkspace Workspace? @relation("WorkspaceChildren", fields: [parentWorkspaceId], references: [id], onDelete: SetNull)
193
+ childWorkspaces Workspace[] @relation("WorkspaceChildren")
194
+ ownerMemberId String?
195
+ ownerMember TeamMember? @relation("WorkspaceOwner", fields: [ownerMemberId], references: [id], onDelete: SetNull)
196
+ mainForTeamRuns TeamRun[] @relation("TeamRunMainWorkspace")
197
+ branchName String
198
+ baseBranch String?
199
+ worktreePath String
200
+ status String @default("ACTIVE")
201
+ commitMessage String? // AI 生成的 commit message(合并时使用)
202
+ previewTarget String? // Preview 代理目标(仅允许 loopback 地址)
203
+ hibernatedAt DateTime? // 自动休眠时间
204
+ sessions Session[]
205
+ createdAt DateTime @default(now())
206
+ updatedAt DateTime @updatedAt
207
+
208
+ @@unique([parentWorkspaceId, ownerMemberId])
209
+ @@index([taskId])
210
+ @@index([parentWorkspaceId])
211
+ @@index([ownerMemberId])
212
+ @@index([taskId, parentWorkspaceId])
213
+ }
214
+
215
+ // 会话 (一次 AI 代理执行)
216
+ // AgentType: CLAUDE_CODE, GEMINI_CLI, CURSOR_AGENT
217
+ // SessionStatus: PENDING, RUNNING, COMPLETED, FAILED, CANCELLED
218
+ // SessionPurpose: CHAT, COMMIT_MSG
219
+ model Session {
220
+ id String @id @default(uuid())
221
+ workspaceId String
222
+ workspace Workspace @relation(fields: [workspaceId], references: [id], onDelete: Cascade)
223
+ agentType String
224
+ variant String @default("DEFAULT")
225
+ providerId String?
226
+ prompt String
227
+ status String @default("PENDING")
228
+ purpose String @default("CHAT") // CHAT: 正常��话, COMMIT_MSG: 生成提交消息
229
+ logSnapshot String? // 序列化的 NormalizedConversation JSON,session 结束时持久化
230
+ tokenUsage String? // JSON: { totalTokens, modelContextWindow? }
231
+ processes ExecutionProcess[]
232
+ createdAt DateTime @default(now())
233
+ updatedAt DateTime @updatedAt
234
+
235
+ @@index([workspaceId])
236
+ }
237
+
238
+ // 执行进程
239
+ model ExecutionProcess {
240
+ id String @id @default(uuid())
241
+ sessionId String
242
+ session Session @relation(fields: [sessionId], references: [id], onDelete: Cascade)
243
+ pid Int?
244
+ exitCode Int?
245
+ createdAt DateTime @default(now())
246
+ updatedAt DateTime @updatedAt
247
+
248
+ @@index([sessionId])
249
+ }
250
+
251
+ // 执行日志
252
+ model ExecutionLog {
253
+ id String @id @default(uuid())
254
+ processId String
255
+ content String
256
+ timestamp DateTime @default(now())
257
+
258
+ @@index([processId])
259
+ }
260
+
261
+ // 附件
262
+ model Attachment {
263
+ id String @id @default(uuid())
264
+ originalName String
265
+ mimeType String
266
+ sizeBytes Int
267
+ storagePath String
268
+ hash String
269
+ createdAt DateTime @default(now())
270
+
271
+ @@index([hash])
272
+ }
273
+
274
+ // 应用设置 (单例,只有一行)
275
+ model AppSettings {
276
+ id String @id @default("singleton")
277
+ locale String?
278
+ commitMessageProviderId String?
279
+ commitMessagePrompt String?
280
+ }
281
+
282
+ // 通知配置 (单例,只有一行)
283
+ // thirdPartyChannel: none, feishu
284
+ model NotificationSettings {
285
+ id String @id @default("singleton")
286
+ osNotificationEnabled Boolean @default(true)
287
+ thirdPartyChannel String @default("none")
288
+ feishuWebhookUrl String?
289
+
290
+ // 第三方通知跳转地址
291
+ thirdPartyBaseUrl String?
292
+
293
+ // 通知模板
294
+ taskInReviewTitleTemplate String @default("Agent Tower")
295
+ taskInReviewBodyTemplate String @default("✅ \"{taskTitle}\" 已完成,等待审查")
296
+ }
@@ -0,0 +1 @@
1
+ export * from "./index"