agent-tower 0.7.2-beta.7 → 0.7.2-beta.8

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 (550) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +4 -1
  3. package/dist/app.js.map +1 -1
  4. package/dist/app.test.js +80 -1
  5. package/dist/app.test.js.map +1 -1
  6. package/dist/cli.js +4 -10
  7. package/dist/cli.js.map +1 -1
  8. package/dist/core/container.d.ts +8 -0
  9. package/dist/core/container.d.ts.map +1 -1
  10. package/dist/core/container.js +42 -0
  11. package/dist/core/container.js.map +1 -1
  12. package/dist/core/event-bus.d.ts +2 -0
  13. package/dist/core/event-bus.d.ts.map +1 -1
  14. package/dist/core/event-bus.js.map +1 -1
  15. package/dist/executors/__tests__/image-utils.test.d.ts +2 -0
  16. package/dist/executors/__tests__/image-utils.test.d.ts.map +1 -0
  17. package/dist/executors/__tests__/image-utils.test.js +25 -0
  18. package/dist/executors/__tests__/image-utils.test.js.map +1 -0
  19. package/dist/executors/base.executor.d.ts +2 -0
  20. package/dist/executors/base.executor.d.ts.map +1 -1
  21. package/dist/executors/base.executor.js +6 -0
  22. package/dist/executors/base.executor.js.map +1 -1
  23. package/dist/executors/image-utils.d.ts.map +1 -1
  24. package/dist/executors/image-utils.js +10 -8
  25. package/dist/executors/image-utils.js.map +1 -1
  26. package/dist/git/git-cli.d.ts +2 -0
  27. package/dist/git/git-cli.d.ts.map +1 -1
  28. package/dist/git/git-cli.js +2 -0
  29. package/dist/git/git-cli.js.map +1 -1
  30. package/dist/git/worktree.manager.d.ts +2 -1
  31. package/dist/git/worktree.manager.d.ts.map +1 -1
  32. package/dist/git/worktree.manager.js +18 -12
  33. package/dist/git/worktree.manager.js.map +1 -1
  34. package/dist/index.js +16 -31
  35. package/dist/index.js.map +1 -1
  36. package/dist/mcp/http-client.d.ts +1 -0
  37. package/dist/mcp/http-client.d.ts.map +1 -1
  38. package/dist/mcp/http-client.js +3 -0
  39. package/dist/mcp/http-client.js.map +1 -1
  40. package/dist/mcp/server.d.ts.map +1 -1
  41. package/dist/mcp/server.js +15 -0
  42. package/dist/mcp/server.js.map +1 -1
  43. package/dist/mcp/tools/sessions.js +2 -2
  44. package/dist/mcp/tools/sessions.js.map +1 -1
  45. package/dist/mcp/tools/workspaces.d.ts.map +1 -1
  46. package/dist/mcp/tools/workspaces.js +2 -1
  47. package/dist/mcp/tools/workspaces.js.map +1 -1
  48. package/dist/middleware/access-auth.d.ts +1 -0
  49. package/dist/middleware/access-auth.d.ts.map +1 -1
  50. package/dist/middleware/access-auth.js +1 -1
  51. package/dist/middleware/access-auth.js.map +1 -1
  52. package/dist/output/__tests__/text-block-lifecycle.test.d.ts +2 -0
  53. package/dist/output/__tests__/text-block-lifecycle.test.d.ts.map +1 -0
  54. package/dist/output/__tests__/text-block-lifecycle.test.js +241 -0
  55. package/dist/output/__tests__/text-block-lifecycle.test.js.map +1 -0
  56. package/dist/output/claude-code-parser.d.ts +3 -0
  57. package/dist/output/claude-code-parser.d.ts.map +1 -1
  58. package/dist/output/claude-code-parser.js +58 -7
  59. package/dist/output/claude-code-parser.js.map +1 -1
  60. package/dist/output/codex-parser.d.ts.map +1 -1
  61. package/dist/output/codex-parser.js +4 -6
  62. package/dist/output/codex-parser.js.map +1 -1
  63. package/dist/output/cursor-agent-parser.d.ts.map +1 -1
  64. package/dist/output/cursor-agent-parser.js +4 -0
  65. package/dist/output/cursor-agent-parser.js.map +1 -1
  66. package/dist/output/gemini-parser.d.ts +18 -0
  67. package/dist/output/gemini-parser.d.ts.map +1 -0
  68. package/dist/output/gemini-parser.js +91 -0
  69. package/dist/output/gemini-parser.js.map +1 -0
  70. package/dist/output/msg-store.d.ts +6 -0
  71. package/dist/output/msg-store.d.ts.map +1 -1
  72. package/dist/output/msg-store.js +17 -0
  73. package/dist/output/msg-store.js.map +1 -1
  74. package/dist/output/text-block-tracker.d.ts +29 -0
  75. package/dist/output/text-block-tracker.d.ts.map +1 -0
  76. package/dist/output/text-block-tracker.js +149 -0
  77. package/dist/output/text-block-tracker.js.map +1 -0
  78. package/dist/output/types.d.ts +9 -0
  79. package/dist/output/types.d.ts.map +1 -1
  80. package/dist/output/types.js +0 -4
  81. package/dist/output/types.js.map +1 -1
  82. package/dist/routes/__tests__/sessions-runtime.test.js +3 -0
  83. package/dist/routes/__tests__/sessions-runtime.test.js.map +1 -1
  84. package/dist/routes/__tests__/team-run-translations.test.d.ts +2 -0
  85. package/dist/routes/__tests__/team-run-translations.test.d.ts.map +1 -0
  86. package/dist/routes/__tests__/team-run-translations.test.js +418 -0
  87. package/dist/routes/__tests__/team-run-translations.test.js.map +1 -0
  88. package/dist/routes/__tests__/translations.test.d.ts +2 -0
  89. package/dist/routes/__tests__/translations.test.d.ts.map +1 -0
  90. package/dist/routes/__tests__/translations.test.js +286 -0
  91. package/dist/routes/__tests__/translations.test.js.map +1 -0
  92. package/dist/routes/__tests__/workspaces.test.js +140 -0
  93. package/dist/routes/__tests__/workspaces.test.js.map +1 -1
  94. package/dist/routes/conversations.d.ts.map +1 -1
  95. package/dist/routes/conversations.js +19 -2
  96. package/dist/routes/conversations.js.map +1 -1
  97. package/dist/routes/index.d.ts.map +1 -1
  98. package/dist/routes/index.js +2 -0
  99. package/dist/routes/index.js.map +1 -1
  100. package/dist/routes/sessions.d.ts.map +1 -1
  101. package/dist/routes/sessions.js +32 -3
  102. package/dist/routes/sessions.js.map +1 -1
  103. package/dist/routes/team-runs.d.ts.map +1 -1
  104. package/dist/routes/team-runs.js +84 -15
  105. package/dist/routes/team-runs.js.map +1 -1
  106. package/dist/routes/translations.d.ts +4 -0
  107. package/dist/routes/translations.d.ts.map +1 -0
  108. package/dist/routes/translations.js +148 -0
  109. package/dist/routes/translations.js.map +1 -0
  110. package/dist/routes/user-input-origin.d.ts +4 -0
  111. package/dist/routes/user-input-origin.d.ts.map +1 -0
  112. package/dist/routes/user-input-origin.js +7 -0
  113. package/dist/routes/user-input-origin.js.map +1 -0
  114. package/dist/routes/workspaces.d.ts.map +1 -1
  115. package/dist/routes/workspaces.js +32 -2
  116. package/dist/routes/workspaces.js.map +1 -1
  117. package/dist/runtime/__tests__/acp-driver-lifecycle.test.js +2 -2
  118. package/dist/runtime/__tests__/acp-driver-lifecycle.test.js.map +1 -1
  119. package/dist/runtime/__tests__/acp-driver-submission.test.d.ts +2 -0
  120. package/dist/runtime/__tests__/acp-driver-submission.test.d.ts.map +1 -0
  121. package/dist/runtime/__tests__/acp-driver-submission.test.js +88 -0
  122. package/dist/runtime/__tests__/acp-driver-submission.test.js.map +1 -0
  123. package/dist/runtime/__tests__/acp-history-reconciler.test.js +244 -0
  124. package/dist/runtime/__tests__/acp-history-reconciler.test.js.map +1 -1
  125. package/dist/runtime/__tests__/acp-projector.test.js +36 -0
  126. package/dist/runtime/__tests__/acp-projector.test.js.map +1 -1
  127. package/dist/runtime/__tests__/claude-cli-control.test.js +20 -0
  128. package/dist/runtime/__tests__/claude-cli-control.test.js.map +1 -1
  129. package/dist/runtime/__tests__/cli-driver-submission.test.d.ts +2 -0
  130. package/dist/runtime/__tests__/cli-driver-submission.test.d.ts.map +1 -0
  131. package/dist/runtime/__tests__/cli-driver-submission.test.js +61 -0
  132. package/dist/runtime/__tests__/cli-driver-submission.test.js.map +1 -0
  133. package/dist/runtime/__tests__/codex-cli-control.test.js +25 -0
  134. package/dist/runtime/__tests__/codex-cli-control.test.js.map +1 -1
  135. package/dist/runtime/acp/acp-driver.js +38 -1
  136. package/dist/runtime/acp/acp-driver.js.map +1 -1
  137. package/dist/runtime/acp/history-reconciler.d.ts.map +1 -1
  138. package/dist/runtime/acp/history-reconciler.js +95 -36
  139. package/dist/runtime/acp/history-reconciler.js.map +1 -1
  140. package/dist/runtime/acp/projector.d.ts +5 -2
  141. package/dist/runtime/acp/projector.d.ts.map +1 -1
  142. package/dist/runtime/acp/projector.js +50 -23
  143. package/dist/runtime/acp/projector.js.map +1 -1
  144. package/dist/runtime/claude-cli-control.d.ts +4 -1
  145. package/dist/runtime/claude-cli-control.d.ts.map +1 -1
  146. package/dist/runtime/claude-cli-control.js +3 -1
  147. package/dist/runtime/claude-cli-control.js.map +1 -1
  148. package/dist/runtime/cli-driver.js +21 -7
  149. package/dist/runtime/cli-driver.js.map +1 -1
  150. package/dist/runtime/cli-parser.d.ts.map +1 -1
  151. package/dist/runtime/cli-parser.js +3 -0
  152. package/dist/runtime/cli-parser.js.map +1 -1
  153. package/dist/runtime/codex-cli-control.d.ts +4 -1
  154. package/dist/runtime/codex-cli-control.d.ts.map +1 -1
  155. package/dist/runtime/codex-cli-control.js +9 -6
  156. package/dist/runtime/codex-cli-control.js.map +1 -1
  157. package/dist/runtime/codex-cli-projector.d.ts +1 -1
  158. package/dist/runtime/codex-cli-projector.d.ts.map +1 -1
  159. package/dist/runtime/codex-cli-projector.js +4 -2
  160. package/dist/runtime/codex-cli-projector.js.map +1 -1
  161. package/dist/runtime/contracts.d.ts +15 -2
  162. package/dist/runtime/contracts.d.ts.map +1 -1
  163. package/dist/runtime/runtime-coordinator.d.ts.map +1 -1
  164. package/dist/runtime/runtime-coordinator.js +34 -1
  165. package/dist/runtime/runtime-coordinator.js.map +1 -1
  166. package/dist/services/__tests__/conflict-admission.test.d.ts +2 -0
  167. package/dist/services/__tests__/conflict-admission.test.d.ts.map +1 -0
  168. package/dist/services/__tests__/conflict-admission.test.js +37 -0
  169. package/dist/services/__tests__/conflict-admission.test.js.map +1 -0
  170. package/dist/services/__tests__/conflict-recovery-key.test.d.ts +2 -0
  171. package/dist/services/__tests__/conflict-recovery-key.test.d.ts.map +1 -0
  172. package/dist/services/__tests__/conflict-recovery-key.test.js +143 -0
  173. package/dist/services/__tests__/conflict-recovery-key.test.js.map +1 -0
  174. package/dist/services/__tests__/message-delivery.integration.test.d.ts +2 -0
  175. package/dist/services/__tests__/message-delivery.integration.test.d.ts.map +1 -0
  176. package/dist/services/__tests__/message-delivery.integration.test.js +1137 -0
  177. package/dist/services/__tests__/message-delivery.integration.test.js.map +1 -0
  178. package/dist/services/__tests__/review-team-user-counterexamples.test.d.ts +2 -0
  179. package/dist/services/__tests__/review-team-user-counterexamples.test.d.ts.map +1 -0
  180. package/dist/services/__tests__/review-team-user-counterexamples.test.js +200 -0
  181. package/dist/services/__tests__/review-team-user-counterexamples.test.js.map +1 -0
  182. package/dist/services/__tests__/session-manager.lifecycle.test.js +37 -0
  183. package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
  184. package/dist/services/__tests__/session-manager.team-run.test.js +19 -2
  185. package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -1
  186. package/dist/services/__tests__/team-initial-delivery.integration.test.d.ts +2 -0
  187. package/dist/services/__tests__/team-initial-delivery.integration.test.d.ts.map +1 -0
  188. package/dist/services/__tests__/team-initial-delivery.integration.test.js +469 -0
  189. package/dist/services/__tests__/team-initial-delivery.integration.test.js.map +1 -0
  190. package/dist/services/__tests__/team-reconciler.service.test.js +102 -101
  191. package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
  192. package/dist/services/__tests__/team-room-delivery.test.d.ts +2 -0
  193. package/dist/services/__tests__/team-room-delivery.test.d.ts.map +1 -0
  194. package/dist/services/__tests__/team-room-delivery.test.js +670 -0
  195. package/dist/services/__tests__/team-room-delivery.test.js.map +1 -0
  196. package/dist/services/__tests__/team-user-delivery.integration.test.d.ts +2 -0
  197. package/dist/services/__tests__/team-user-delivery.integration.test.d.ts.map +1 -0
  198. package/dist/services/__tests__/team-user-delivery.integration.test.js +622 -0
  199. package/dist/services/__tests__/team-user-delivery.integration.test.js.map +1 -0
  200. package/dist/services/__tests__/translation-client.test.d.ts +2 -0
  201. package/dist/services/__tests__/translation-client.test.d.ts.map +1 -0
  202. package/dist/services/__tests__/translation-client.test.js +240 -0
  203. package/dist/services/__tests__/translation-client.test.js.map +1 -0
  204. package/dist/services/__tests__/translation-protection.test.d.ts +2 -0
  205. package/dist/services/__tests__/translation-protection.test.d.ts.map +1 -0
  206. package/dist/services/__tests__/translation-protection.test.js +156 -0
  207. package/dist/services/__tests__/translation-protection.test.js.map +1 -0
  208. package/dist/services/__tests__/translation-queue.test.d.ts +2 -0
  209. package/dist/services/__tests__/translation-queue.test.d.ts.map +1 -0
  210. package/dist/services/__tests__/translation-queue.test.js +277 -0
  211. package/dist/services/__tests__/translation-queue.test.js.map +1 -0
  212. package/dist/services/__tests__/translation-room-admission.test.d.ts +2 -0
  213. package/dist/services/__tests__/translation-room-admission.test.d.ts.map +1 -0
  214. package/dist/services/__tests__/translation-room-admission.test.js +371 -0
  215. package/dist/services/__tests__/translation-room-admission.test.js.map +1 -0
  216. package/dist/services/__tests__/translation-session-blocks.test.d.ts +2 -0
  217. package/dist/services/__tests__/translation-session-blocks.test.d.ts.map +1 -0
  218. package/dist/services/__tests__/translation-session-blocks.test.js +367 -0
  219. package/dist/services/__tests__/translation-session-blocks.test.js.map +1 -0
  220. package/dist/services/__tests__/translation-settings.service.test.d.ts +2 -0
  221. package/dist/services/__tests__/translation-settings.service.test.d.ts.map +1 -0
  222. package/dist/services/__tests__/translation-settings.service.test.js +154 -0
  223. package/dist/services/__tests__/translation-settings.service.test.js.map +1 -0
  224. package/dist/services/__tests__/translation.service.test.d.ts +2 -0
  225. package/dist/services/__tests__/translation.service.test.d.ts.map +1 -0
  226. package/dist/services/__tests__/translation.service.test.js +480 -0
  227. package/dist/services/__tests__/translation.service.test.js.map +1 -0
  228. package/dist/services/access-auth.service.d.ts +1 -0
  229. package/dist/services/access-auth.service.d.ts.map +1 -1
  230. package/dist/services/access-auth.service.js +8 -0
  231. package/dist/services/access-auth.service.js.map +1 -1
  232. package/dist/services/attachment-context.d.ts +7 -1
  233. package/dist/services/attachment-context.d.ts.map +1 -1
  234. package/dist/services/attachment-context.js +23 -2
  235. package/dist/services/attachment-context.js.map +1 -1
  236. package/dist/services/conflict-admission.d.ts +37 -0
  237. package/dist/services/conflict-admission.d.ts.map +1 -0
  238. package/dist/services/conflict-admission.js +97 -0
  239. package/dist/services/conflict-admission.js.map +1 -0
  240. package/dist/services/conflict-resolution-context.d.ts +33 -0
  241. package/dist/services/conflict-resolution-context.d.ts.map +1 -0
  242. package/dist/services/conflict-resolution-context.js +434 -0
  243. package/dist/services/conflict-resolution-context.js.map +1 -0
  244. package/dist/services/message-delivery.service.d.ts +195 -0
  245. package/dist/services/message-delivery.service.d.ts.map +1 -0
  246. package/dist/services/message-delivery.service.js +956 -0
  247. package/dist/services/message-delivery.service.js.map +1 -0
  248. package/dist/services/project.service.d.ts +1 -1
  249. package/dist/services/session-manager.d.ts +94 -74
  250. package/dist/services/session-manager.d.ts.map +1 -1
  251. package/dist/services/session-manager.js +91 -17
  252. package/dist/services/session-manager.js.map +1 -1
  253. package/dist/services/task.service.d.ts +26 -20
  254. package/dist/services/task.service.d.ts.map +1 -1
  255. package/dist/services/task.service.js +9 -26
  256. package/dist/services/task.service.js.map +1 -1
  257. package/dist/services/team-room-delivery.d.ts +541 -0
  258. package/dist/services/team-room-delivery.d.ts.map +1 -0
  259. package/dist/services/team-room-delivery.js +123 -0
  260. package/dist/services/team-room-delivery.js.map +1 -0
  261. package/dist/services/team-run.service.d.ts +83 -0
  262. package/dist/services/team-run.service.d.ts.map +1 -1
  263. package/dist/services/team-run.service.js +207 -18
  264. package/dist/services/team-run.service.js.map +1 -1
  265. package/dist/services/team-scheduler.service.d.ts +3 -0
  266. package/dist/services/team-scheduler.service.d.ts.map +1 -1
  267. package/dist/services/team-scheduler.service.js +65 -11
  268. package/dist/services/team-scheduler.service.js.map +1 -1
  269. package/dist/services/team-task-input.d.ts +37 -0
  270. package/dist/services/team-task-input.d.ts.map +1 -0
  271. package/dist/services/team-task-input.js +98 -0
  272. package/dist/services/team-task-input.js.map +1 -0
  273. package/dist/services/team-task-input.service.d.ts +72 -0
  274. package/dist/services/team-task-input.service.d.ts.map +1 -0
  275. package/dist/services/team-task-input.service.js +205 -0
  276. package/dist/services/team-task-input.service.js.map +1 -0
  277. package/dist/services/translation-client.d.ts +31 -0
  278. package/dist/services/translation-client.d.ts.map +1 -0
  279. package/dist/services/translation-client.js +169 -0
  280. package/dist/services/translation-client.js.map +1 -0
  281. package/dist/services/translation-errors.d.ts +14 -0
  282. package/dist/services/translation-errors.d.ts.map +1 -0
  283. package/dist/services/translation-errors.js +16 -0
  284. package/dist/services/translation-errors.js.map +1 -0
  285. package/dist/services/translation-protection.d.ts +27 -0
  286. package/dist/services/translation-protection.d.ts.map +1 -0
  287. package/dist/services/translation-protection.js +547 -0
  288. package/dist/services/translation-protection.js.map +1 -0
  289. package/dist/services/translation-queue.d.ts +49 -0
  290. package/dist/services/translation-queue.d.ts.map +1 -0
  291. package/dist/services/translation-queue.js +211 -0
  292. package/dist/services/translation-queue.js.map +1 -0
  293. package/dist/services/translation-settings.service.d.ts +152 -0
  294. package/dist/services/translation-settings.service.d.ts.map +1 -0
  295. package/dist/services/translation-settings.service.js +174 -0
  296. package/dist/services/translation-settings.service.js.map +1 -0
  297. package/dist/services/translation.service.d.ts +168 -0
  298. package/dist/services/translation.service.d.ts.map +1 -0
  299. package/dist/services/translation.service.js +861 -0
  300. package/dist/services/translation.service.js.map +1 -0
  301. package/dist/services/workspace.service.d.ts +84 -93
  302. package/dist/services/workspace.service.d.ts.map +1 -1
  303. package/dist/services/workspace.service.js +69 -5
  304. package/dist/services/workspace.service.js.map +1 -1
  305. package/dist/socket/__tests__/socket-gateway.test.js +131 -1
  306. package/dist/socket/__tests__/socket-gateway.test.js.map +1 -1
  307. package/dist/socket/socket-gateway.d.ts +6 -0
  308. package/dist/socket/socket-gateway.d.ts.map +1 -1
  309. package/dist/socket/socket-gateway.js +312 -6
  310. package/dist/socket/socket-gateway.js.map +1 -1
  311. package/dist/utils/database-schema.d.ts +9 -0
  312. package/dist/utils/database-schema.d.ts.map +1 -0
  313. package/dist/utils/database-schema.js +434 -0
  314. package/dist/utils/database-schema.js.map +1 -0
  315. package/dist/utils/database-schema.test.d.ts +2 -0
  316. package/dist/utils/database-schema.test.d.ts.map +1 -0
  317. package/dist/utils/database-schema.test.js +359 -0
  318. package/dist/utils/database-schema.test.js.map +1 -0
  319. package/dist/utils/database-team-foundation.test.d.ts +2 -0
  320. package/dist/utils/database-team-foundation.test.d.ts.map +1 -0
  321. package/dist/utils/database-team-foundation.test.js +467 -0
  322. package/dist/utils/database-team-foundation.test.js.map +1 -0
  323. package/dist/utils/owned-child-process.test.js +6 -3
  324. package/dist/utils/owned-child-process.test.js.map +1 -1
  325. package/dist/utils/text-preview.d.ts +4 -0
  326. package/dist/utils/text-preview.d.ts.map +1 -0
  327. package/dist/utils/text-preview.js +21 -0
  328. package/dist/utils/text-preview.js.map +1 -0
  329. package/dist/web/assets/AgentDemoPage-CtCYXopw.js +1 -0
  330. package/dist/web/assets/{AgentEnvironmentSettingsPage-SnxiaHvN.js → AgentEnvironmentSettingsPage-DSWN546Y.js} +1 -1
  331. package/dist/web/assets/AttachmentPreview-DRG5_cfN.js +2 -0
  332. package/dist/web/assets/BranchSelect-Dxs7HnMM.js +1 -0
  333. package/dist/web/assets/BrandLogo-Ilm880Xs.js +1 -0
  334. package/dist/web/assets/ConversationPage-B55Bj_ft.js +1 -0
  335. package/dist/web/assets/CreateTaskInput-CxWPeToI.js +1 -0
  336. package/dist/web/assets/{DemoPage-BHbnnZFF.js → DemoPage-Dyn-U9JO.js} +3 -3
  337. package/dist/web/assets/DesignSystemPage-BxypsRUZ.js +12 -0
  338. package/dist/web/assets/EditableTaskTitle-Dh-SmvFW.js +70 -0
  339. package/dist/web/assets/{ExecutionPermissionSelector-DcC4IBOF.js → ExecutionPermissionSelector-CQ_GNxR0.js} +1 -1
  340. package/dist/web/assets/GeneralSettingsPage-CzoejPZP.js +1 -0
  341. package/dist/web/assets/{LoadingPreviewPage-dE_jyl19.js → LoadingPreviewPage-BlW2PJhI.js} +1 -1
  342. package/dist/web/assets/{McpSettingsPage-CIuQ4bvy.js → McpSettingsPage-DD7EqD4L.js} +1 -1
  343. package/dist/web/assets/{MemberAvatar-BG0VDZKf.js → MemberAvatar-B2pAdWUi.js} +1 -1
  344. package/dist/web/assets/MobileTaskDetail-CvmNW0BQ.js +3 -0
  345. package/dist/web/assets/NotificationSettingsPage-BIqldIRf.js +1 -0
  346. package/dist/web/assets/ProfileSettingsPage-DMxpHmF1.js +3 -0
  347. package/dist/web/assets/ProjectKanbanPage-CHW79td4.js +12 -0
  348. package/dist/web/assets/ProjectSettingsPage-DKiEUkoa.js +2 -0
  349. package/dist/web/assets/{ProviderSettingsPage-DLq-GBxp.js → ProviderSettingsPage-DZT7wyE2.js} +2 -2
  350. package/dist/web/assets/{SettingsMasterDetail-UfyoKAum.js → SettingsMasterDetail-DnF0lsV1.js} +1 -1
  351. package/dist/web/assets/TaskDetail-D_970BDY.js +1 -0
  352. package/dist/web/assets/TeamSettingsPage-BJIEZ7xL.js +1 -0
  353. package/dist/web/assets/TranslationSettingsPage-D3mazqEW.js +1 -0
  354. package/dist/web/assets/arc-hUh7ykl8.js +1 -0
  355. package/dist/web/assets/{architectureDiagram-3BPJPVTR-BCNj6ZWE.js → architectureDiagram-3BPJPVTR-CcV9CLkm.js} +1 -1
  356. package/dist/web/assets/{at-sign-C4VhWike.js → at-sign-B-nhoGyH.js} +1 -1
  357. package/dist/web/assets/{blockDiagram-GPEHLZMM-D1kmB9gz.js → blockDiagram-GPEHLZMM-5q3Y9y0e.js} +1 -1
  358. package/dist/web/assets/{c4Diagram-AAUBKEIU-DbWKTkSe.js → c4Diagram-AAUBKEIU-CorBXi06.js} +1 -1
  359. package/dist/web/assets/channel-By24WpLg.js +1 -0
  360. package/dist/web/assets/check-DqPSoX0r.js +1 -0
  361. package/dist/web/assets/chevron-down-CPnvItQw.js +1 -0
  362. package/dist/web/assets/{chevron-up-DOkDFvIc.js → chevron-up-B8PE5N0G.js} +1 -1
  363. package/dist/web/assets/{chunk-2J33WTMH-B3TA0-LD.js → chunk-2J33WTMH-BUf5B4z4.js} +1 -1
  364. package/dist/web/assets/{chunk-4BX2VUAB-CvPTiBSV.js → chunk-4BX2VUAB-CdnOHkro.js} +1 -1
  365. package/dist/web/assets/{chunk-55IACEB6-xGe9Fu9Z.js → chunk-55IACEB6-U7edZDpP.js} +1 -1
  366. package/dist/web/assets/{chunk-727SXJPM-H8pz3amK.js → chunk-727SXJPM-B64Tuhla.js} +1 -1
  367. package/dist/web/assets/{chunk-AQP2D5EJ-BmYYNxcL.js → chunk-AQP2D5EJ-dXfe56jB.js} +1 -1
  368. package/dist/web/assets/{chunk-FMBD7UC4-BmOEsLTE.js → chunk-FMBD7UC4-DDYbxc1Q.js} +1 -1
  369. package/dist/web/assets/{chunk-ND2GUHAM-C5MfA0xc.js → chunk-ND2GUHAM-BQDGMv0R.js} +1 -1
  370. package/dist/web/assets/{chunk-QZHKN3VN-BcrGYZ7V.js → chunk-QZHKN3VN-DB8q4xAj.js} +1 -1
  371. package/dist/web/assets/classDiagram-4FO5ZUOK-DxHoimtR.js +1 -0
  372. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-DxHoimtR.js +1 -0
  373. package/dist/web/assets/code-block-OCS4YCEC-BSdICyOa.js +2 -0
  374. package/dist/web/assets/confirm-dialog-DxEBZEbV.js +1 -0
  375. package/dist/web/assets/content-CMUL3HGx.js +2 -0
  376. package/dist/web/assets/{copy-CdzVE3kf.js → copy-DyxlXxiU.js} +1 -1
  377. package/dist/web/assets/{cose-bilkent-S5V4N54A-CLQ-m71G.js → cose-bilkent-S5V4N54A-Dx6eMnll.js} +1 -1
  378. package/dist/web/assets/cssMode-ZnNWfjZ6.js +1 -0
  379. package/dist/web/assets/{dagre-BM42HDAG-CmDqxOfn.js → dagre-BM42HDAG-Cxe8pLgD.js} +1 -1
  380. package/dist/web/assets/{diagram-2AECGRRQ-D-fSbEll.js → diagram-2AECGRRQ-RMsswEBe.js} +1 -1
  381. package/dist/web/assets/{diagram-5GNKFQAL-HPywThAf.js → diagram-5GNKFQAL-Bi4E0hzx.js} +1 -1
  382. package/dist/web/assets/{diagram-KO2AKTUF-DAzLhllz.js → diagram-KO2AKTUF-Mv6CDCyn.js} +1 -1
  383. package/dist/web/assets/{diagram-LMA3HP47-DXYB9h8L.js → diagram-LMA3HP47-CJ3qKNzK.js} +1 -1
  384. package/dist/web/assets/{diagram-OG6HWLK6-vv4kz4Zo.js → diagram-OG6HWLK6-D8SBY4ft.js} +1 -1
  385. package/dist/web/assets/dialog-BYdeYC2Y.js +5 -0
  386. package/dist/web/assets/{erDiagram-TEJ5UH35-Cu6aVKAa.js → erDiagram-TEJ5UH35-DwVSCU6X.js} +1 -1
  387. package/dist/web/assets/{flowDiagram-I6XJVG4X-BKDe8WSQ.js → flowDiagram-I6XJVG4X-CyipYAWd.js} +1 -1
  388. package/dist/web/assets/{freemarker2-DI2giuAo.js → freemarker2-DbH_yMCO.js} +2 -2
  389. package/dist/web/assets/{ganttDiagram-6RSMTGT7-DMVLzmAE.js → ganttDiagram-6RSMTGT7-CsC6Wjt4.js} +1 -1
  390. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-vogzYdKn.js → gitGraphDiagram-PVQCEYII-E5jNbqlq.js} +1 -1
  391. package/dist/web/assets/{globe-Rnn-nKw-.js → globe-B2rgTPH3.js} +1 -1
  392. package/dist/web/assets/handlebars-C5VY_S-z.js +1 -0
  393. package/dist/web/assets/hooks-Ct0srfV-.js +1 -0
  394. package/dist/web/assets/html-e5uLnAgN.js +1 -0
  395. package/dist/web/assets/htmlMode-BeNiGozX.js +1 -0
  396. package/dist/web/assets/{icon-button-CuSuXgr_.js → icon-button-BEMJj_6T.js} +1 -1
  397. package/dist/web/assets/index-0XPZayUU.css +1 -0
  398. package/dist/web/assets/index-BYPOXP6w.js +1 -0
  399. package/dist/web/assets/{index-B88xAivn.js → index-C-M0QDqc.js} +5 -5
  400. package/dist/web/assets/index-CAjqC8pT.js +41 -0
  401. package/dist/web/assets/index-CPGzLjEC.js +1 -0
  402. package/dist/web/assets/index-Cm6snkmR.js +122 -0
  403. package/dist/web/assets/index-DNdMmXBr.js +1 -0
  404. package/dist/web/assets/{index-CMjLMilU.js → index-DppwrK2G.js} +1 -1
  405. package/dist/web/assets/index-IMdA08Ok.js +1 -0
  406. package/dist/web/assets/index-kr6U6_pi.js +1 -0
  407. package/dist/web/assets/{infoDiagram-5YYISTIA-CEfSHkNq.js → infoDiagram-5YYISTIA-5_0wrRXl.js} +1 -1
  408. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-BXKZuWtD.js → ishikawaDiagram-YF4QCWOH-aQujIFZw.js} +5 -5
  409. package/dist/web/assets/javascript-D7QVj9jR.js +1 -0
  410. package/dist/web/assets/{journeyDiagram-JHISSGLW-wsOUYlu7.js → journeyDiagram-JHISSGLW-ClMzHdqI.js} +1 -1
  411. package/dist/web/assets/jsonMode-nHmLVf-n.js +7 -0
  412. package/dist/web/assets/{kanban-definition-UN3LZRKU-DNsuvOrU.js → kanban-definition-UN3LZRKU-BFVlt0tz.js} +1 -1
  413. package/dist/web/assets/{kbd-B3m64lRd.js → kbd-Bfq5K6Ux.js} +1 -1
  414. package/dist/web/assets/{key-round-DpYSyeDH.js → key-round-BqsaQdce.js} +1 -1
  415. package/dist/web/assets/{layers-CxqMQVmH.js → layers-DI4vFJ4F.js} +1 -1
  416. package/dist/web/assets/{linear-BmmCZdOQ.js → linear-DZ-6PAPS.js} +1 -1
  417. package/dist/web/assets/{link-DbSpzB1w.js → link-BU4PN723.js} +1 -1
  418. package/dist/web/assets/liquid-BPIyogoj.js +1 -0
  419. package/dist/web/assets/{lspLanguageFeatures-WhdC7zdf.js → lspLanguageFeatures-DH4Z8jiM.js} +1 -1
  420. package/dist/web/assets/mdx-CI8yO2pV.js +1 -0
  421. package/dist/web/assets/menu-C3uB3M7p.js +1 -0
  422. package/dist/web/assets/{mermaid-NOHMQCX5-DmKVQY9m.js → mermaid-NOHMQCX5-BqeX1osS.js} +71 -71
  423. package/dist/web/assets/{message-square-CfNb-MTd.js → message-square-E5K8E3A-.js} +1 -1
  424. package/dist/web/assets/{mindmap-definition-RKZ34NQL-0RzXjZ9G.js → mindmap-definition-RKZ34NQL-C7dea0db.js} +1 -1
  425. package/dist/web/assets/{modal-Kpqn-nDO.js → modal-Cz1iIVeD.js} +1 -1
  426. package/dist/web/assets/{monaco-I1fXAMIt.js → monaco-DM3DuGN5.js} +3 -3
  427. package/dist/web/assets/{paperclip-BBrzKZQC.js → paperclip-COXNce_v.js} +1 -1
  428. package/dist/web/assets/{pencil-pzVKblxj.js → pencil-BFc4n44f.js} +1 -1
  429. package/dist/web/assets/{people-C6b3eeLq.js → people-BaCetIqh.js} +1 -1
  430. package/dist/web/assets/{pieDiagram-4H26LBE5-Bcvzb8TW.js → pieDiagram-4H26LBE5-2q5medug.js} +2 -2
  431. package/dist/web/assets/popover-CJCQLoGu.js +1 -0
  432. package/dist/web/assets/python-CSxVPG9p.js +1 -0
  433. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-DwNhxMxj.js → quadrantDiagram-W4KKPZXB-DHPEM56s.js} +1 -1
  434. package/dist/web/assets/razor-CVoIieeS.js +1 -0
  435. package/dist/web/assets/{requirementDiagram-4Y6WPE33-D2wSGYn2.js → requirementDiagram-4Y6WPE33-B_KyH7PP.js} +1 -1
  436. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-l3LLF--T.js → sankeyDiagram-5OEKKPKP-CrqkZAYW.js} +1 -1
  437. package/dist/web/assets/search-CkiBPir_.js +1 -0
  438. package/dist/web/assets/search-field-CbM2P2KE.js +1 -0
  439. package/dist/web/assets/{select-DGwKE4l0.js → select-Br0TAs7A.js} +1 -1
  440. package/dist/web/assets/select-DJsEG0jq.js +1 -0
  441. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-BAGsbTS_.js → sequenceDiagram-3UESZ5HK-BRTm1WQA.js} +1 -1
  442. package/dist/web/assets/{server-BIPZ9Ka-.js → server-DYeSE1wn.js} +1 -1
  443. package/dist/web/assets/stateDiagram-AJRCARHV-qN49iyR2.js +1 -0
  444. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-B1clBPkJ.js +1 -0
  445. package/dist/web/assets/{textarea-Bnfq7adW.js → textarea-B7vtoRE3.js} +1 -1
  446. package/dist/web/assets/{timeline-definition-PNZ67QCA-Dt-DcRrG.js → timeline-definition-PNZ67QCA-BzarcDi3.js} +1 -1
  447. package/dist/web/assets/toggles-jo27o0AH.js +1 -0
  448. package/dist/web/assets/tooltip-DbVtCXcO.js +1 -0
  449. package/dist/web/assets/{track-B_K578io.js → track-C0vxnITw.js} +1 -1
  450. package/dist/web/assets/{trash-2-ALAYDudv.js → trash-2-CUM-XX8B.js} +1 -1
  451. package/dist/web/assets/tsMode-7D3gqep6.js +11 -0
  452. package/dist/web/assets/typescript-CbOVEQNg.js +1 -0
  453. package/dist/web/assets/{upload-D7hKT2VA.js → upload-CJ6jVmte.js} +1 -1
  454. package/dist/web/assets/{use-profiles-Ncqxdw7S.js → use-profiles-B0xXAf7Z.js} +1 -1
  455. package/dist/web/assets/{use-projects-Dwy9AfAG.js → use-projects-BlTwWxkY.js} +1 -1
  456. package/dist/web/assets/{use-providers-BRyZjuBG.js → use-providers-FMSfyTD1.js} +1 -1
  457. package/dist/web/assets/use-translation-settings-BOlszecX.js +1 -0
  458. package/dist/web/assets/use-workspaces-DYrEp0Lw.js +1 -0
  459. package/dist/web/assets/useNormalizedLogs-D0N8MJdH.js +1 -0
  460. package/dist/web/assets/useTokenUsage-WB3ZQ25v.js +1 -0
  461. package/dist/web/assets/{vennDiagram-CIIHVFJN-Cr55FtiY.js → vennDiagram-CIIHVFJN-B6oZetvf.js} +1 -1
  462. package/dist/web/assets/{wardley-L42UT6IY-CtwMk9MJ.js → wardley-L42UT6IY-Bzuhm76f.js} +1 -1
  463. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-BeyHmTu3.js → wardleyDiagram-YWT4CUSO-DaC-FUf5.js} +1 -1
  464. package/dist/web/assets/xml-Cfa9tkdT.js +1 -0
  465. package/dist/web/assets/{xychartDiagram-2RQKCTM6-9g34Lq8E.js → xychartDiagram-2RQKCTM6-CCvRIJRL.js} +1 -1
  466. package/dist/web/assets/yaml-C86f7VLL.js +1 -0
  467. package/dist/web/index.html +2 -2
  468. package/node_modules/@agent-tower/shared/dist/index.d.ts +1 -0
  469. package/node_modules/@agent-tower/shared/dist/index.d.ts.map +1 -1
  470. package/node_modules/@agent-tower/shared/dist/index.js +1 -0
  471. package/node_modules/@agent-tower/shared/dist/index.js.map +1 -1
  472. package/node_modules/@agent-tower/shared/dist/log-adapter.d.ts +11 -0
  473. package/node_modules/@agent-tower/shared/dist/log-adapter.d.ts.map +1 -1
  474. package/node_modules/@agent-tower/shared/dist/log-adapter.js +2 -0
  475. package/node_modules/@agent-tower/shared/dist/log-adapter.js.map +1 -1
  476. package/node_modules/@agent-tower/shared/dist/socket/events.d.ts +5 -2
  477. package/node_modules/@agent-tower/shared/dist/socket/events.d.ts.map +1 -1
  478. package/node_modules/@agent-tower/shared/dist/socket/events.js +2 -0
  479. package/node_modules/@agent-tower/shared/dist/socket/events.js.map +1 -1
  480. package/node_modules/@agent-tower/shared/dist/translation.d.ts +306 -0
  481. package/node_modules/@agent-tower/shared/dist/translation.d.ts.map +1 -0
  482. package/node_modules/@agent-tower/shared/dist/translation.js +8 -0
  483. package/node_modules/@agent-tower/shared/dist/translation.js.map +1 -0
  484. package/node_modules/@agent-tower/shared/dist/types.d.ts +23 -0
  485. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  486. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  487. package/package.json +1 -1
  488. package/prisma/migrations/20261016000000_add_translation_foundation/migration.sql +104 -0
  489. package/prisma/migrations/20261016010000_add_message_deliveries/migration.sql +158 -0
  490. package/prisma/migrations/20261019000000_add_room_translation_eligibility/migration.sql +3 -0
  491. package/prisma/migrations/20261019100000_add_team_delivery_foundation/migration.sql +217 -0
  492. package/prisma/schema.prisma +224 -0
  493. package/dist/web/assets/AgentDemoPage-CaR_Yk9_.js +0 -1
  494. package/dist/web/assets/BranchSelect-D-kqavDG.js +0 -1
  495. package/dist/web/assets/BrandLogo-CC1alVsd.js +0 -1
  496. package/dist/web/assets/ConversationPage-RWKLxe1j.js +0 -3
  497. package/dist/web/assets/CreateTaskInput-SHJ1YpRe.js +0 -1
  498. package/dist/web/assets/DesignSystemPage-ChCrzeKT.js +0 -12
  499. package/dist/web/assets/EditableTaskTitle-CGVeZUSt.js +0 -70
  500. package/dist/web/assets/GeneralSettingsPage-C_tkwpmF.js +0 -1
  501. package/dist/web/assets/MobileTaskDetail-DxE6ZDAS.js +0 -5
  502. package/dist/web/assets/NotificationSettingsPage-B-Ot2OMg.js +0 -1
  503. package/dist/web/assets/ProfileSettingsPage-Dn1lrjJr.js +0 -3
  504. package/dist/web/assets/ProjectKanbanPage-jcW8sA7x.js +0 -12
  505. package/dist/web/assets/ProjectSettingsPage-BFPty2eA.js +0 -2
  506. package/dist/web/assets/TaskDetail-a1jalILy.js +0 -3
  507. package/dist/web/assets/TeamSettingsPage-BxGc4W7K.js +0 -1
  508. package/dist/web/assets/arc-dhk0OSs5.js +0 -1
  509. package/dist/web/assets/channel-K0AG6Tl1.js +0 -1
  510. package/dist/web/assets/check-DYlb0A_N.js +0 -1
  511. package/dist/web/assets/classDiagram-4FO5ZUOK-BTJ44hwx.js +0 -1
  512. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-BTJ44hwx.js +0 -1
  513. package/dist/web/assets/code-block-OCS4YCEC-DLPrDBDy.js +0 -2
  514. package/dist/web/assets/confirm-dialog-BRkrtULz.js +0 -1
  515. package/dist/web/assets/content-DPCGELMz.js +0 -2
  516. package/dist/web/assets/cssMode-ChMyv9Nj.js +0 -1
  517. package/dist/web/assets/dialog-B_vC5R4B.js +0 -5
  518. package/dist/web/assets/handlebars-B9tmKQPV.js +0 -1
  519. package/dist/web/assets/hooks-DK4m7-FN.js +0 -1
  520. package/dist/web/assets/html-B_E2U0g5.js +0 -1
  521. package/dist/web/assets/htmlMode-DRHM_Cwq.js +0 -1
  522. package/dist/web/assets/index-B6Lvy5Sr.js +0 -1
  523. package/dist/web/assets/index-BCV57B4O.js +0 -41
  524. package/dist/web/assets/index-CTG-4w90.js +0 -1
  525. package/dist/web/assets/index-Cz73HpYH.js +0 -122
  526. package/dist/web/assets/index-CzvAGoau.css +0 -1
  527. package/dist/web/assets/index-DENY_U7o.js +0 -1
  528. package/dist/web/assets/index-ZO2tqdha.js +0 -1
  529. package/dist/web/assets/javascript-ClWqjgn3.js +0 -1
  530. package/dist/web/assets/jsonMode-DVAoDfae.js +0 -7
  531. package/dist/web/assets/liquid-CZf3xdoq.js +0 -1
  532. package/dist/web/assets/mdx-xzVEPP01.js +0 -1
  533. package/dist/web/assets/menu-0A0v_lRV.js +0 -1
  534. package/dist/web/assets/popover-BYz89aiY.js +0 -1
  535. package/dist/web/assets/python-DL05HvW4.js +0 -1
  536. package/dist/web/assets/razor-BCZ3_uDf.js +0 -1
  537. package/dist/web/assets/search-field-B5czD2Pl.js +0 -1
  538. package/dist/web/assets/select-yem-xN9Z.js +0 -1
  539. package/dist/web/assets/stateDiagram-AJRCARHV-C0BHmXYX.js +0 -1
  540. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Be3UCkeQ.js +0 -1
  541. package/dist/web/assets/toggles-DxNDJZsN.js +0 -1
  542. package/dist/web/assets/tooltip-CHOgkFbE.js +0 -1
  543. package/dist/web/assets/tsMode-kXxq-Lw7.js +0 -11
  544. package/dist/web/assets/typescript-E3_QcT_u.js +0 -1
  545. package/dist/web/assets/use-attachments-CK7y5KsN.js +0 -2
  546. package/dist/web/assets/use-workspaces-BBbahdwU.js +0 -1
  547. package/dist/web/assets/useNormalizedLogs-CRHRedwp.js +0 -1
  548. package/dist/web/assets/useTokenUsage-YwiF0xnT.js +0 -1
  549. package/dist/web/assets/xml-DxKND8qX.js +0 -1
  550. package/dist/web/assets/yaml-BqpCqTY6.js +0 -1
@@ -0,0 +1,104 @@
1
+ -- CreateTable
2
+ CREATE TABLE "TranslationSettings" (
3
+ "id" TEXT NOT NULL PRIMARY KEY DEFAULT 'singleton',
4
+ "enabled" BOOLEAN NOT NULL DEFAULT false,
5
+ "revision" INTEGER NOT NULL DEFAULT 0,
6
+ "enableEpoch" INTEGER NOT NULL DEFAULT 0,
7
+ "apiBaseUrl" TEXT NOT NULL DEFAULT '',
8
+ "model" TEXT NOT NULL DEFAULT '',
9
+ "apiKey" TEXT,
10
+ "credentialRevision" INTEGER NOT NULL DEFAULT 0,
11
+ "sendTargetLanguage" TEXT NOT NULL DEFAULT 'English',
12
+ "displayTargetLanguage" TEXT NOT NULL DEFAULT '简体中文',
13
+ "promptTemplate" TEXT NOT NULL DEFAULT '请将以下内容翻译为 {{target_language}},保持原意,只返回译文:
14
+
15
+ {{text}}',
16
+ "maxConcurrency" INTEGER NOT NULL DEFAULT 4,
17
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
18
+ "updatedAt" DATETIME NOT NULL
19
+ );
20
+
21
+ -- CreateTable
22
+ CREATE TABLE "TranslationSource" (
23
+ "id" TEXT NOT NULL PRIMARY KEY,
24
+ "scopeType" TEXT NOT NULL,
25
+ "scopeId" TEXT NOT NULL,
26
+ "sourceKind" TEXT NOT NULL,
27
+ "sourceKey" TEXT NOT NULL,
28
+ "laneKey" TEXT NOT NULL,
29
+ "sessionId" TEXT,
30
+ "turnId" TEXT,
31
+ "blockId" TEXT,
32
+ "messageId" TEXT,
33
+ "deliveryId" TEXT,
34
+ "direction" TEXT NOT NULL,
35
+ "originalText" TEXT NOT NULL,
36
+ "sourceRevision" INTEGER NOT NULL DEFAULT 1,
37
+ "sourceHash" TEXT NOT NULL,
38
+ "blockState" TEXT NOT NULL DEFAULT 'OPEN',
39
+ "jobState" TEXT NOT NULL DEFAULT 'OPEN',
40
+ "currentAttemptVersion" INTEGER NOT NULL DEFAULT 0,
41
+ "effectiveAttemptId" TEXT,
42
+ "generation" INTEGER NOT NULL DEFAULT 0,
43
+ "enableEpoch" INTEGER NOT NULL DEFAULT 0,
44
+ "retryChainId" TEXT,
45
+ "retryCount" INTEGER NOT NULL DEFAULT 0,
46
+ "budgetStartedAt" DATETIME,
47
+ "nextRetryAt" DATETIME,
48
+ "deletedAt" DATETIME,
49
+ "overlayRevision" INTEGER NOT NULL DEFAULT 0,
50
+ "errorCode" TEXT,
51
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
52
+ "updatedAt" DATETIME NOT NULL
53
+ );
54
+
55
+ -- CreateTable
56
+ CREATE TABLE "TranslationAttempt" (
57
+ "id" TEXT NOT NULL PRIMARY KEY,
58
+ "sourceId" TEXT NOT NULL,
59
+ "sourceRevision" INTEGER NOT NULL,
60
+ "sourceHash" TEXT NOT NULL,
61
+ "attemptVersion" INTEGER NOT NULL,
62
+ "configRevision" INTEGER NOT NULL,
63
+ "credentialRevision" INTEGER NOT NULL,
64
+ "targetLanguage" TEXT NOT NULL,
65
+ "sanitizedConfigSnapshot" TEXT NOT NULL,
66
+ "protectionVersion" TEXT NOT NULL,
67
+ "status" TEXT NOT NULL DEFAULT 'RUNNING',
68
+ "resultText" TEXT,
69
+ "errorCode" TEXT,
70
+ "generation" INTEGER NOT NULL,
71
+ "enableEpoch" INTEGER NOT NULL,
72
+ "retryIndex" INTEGER NOT NULL DEFAULT 0,
73
+ "nextRetryAt" DATETIME,
74
+ "leaseOwner" TEXT,
75
+ "leaseExpiresAt" DATETIME,
76
+ "startedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
77
+ "completedAt" DATETIME,
78
+ CONSTRAINT "TranslationAttempt_sourceId_fkey" FOREIGN KEY ("sourceId") REFERENCES "TranslationSource" ("id") ON DELETE CASCADE ON UPDATE CASCADE
79
+ );
80
+
81
+ -- CreateIndex
82
+ CREATE INDEX "TranslationSource_scopeType_scopeId_deletedAt_idx" ON "TranslationSource"("scopeType", "scopeId", "deletedAt");
83
+
84
+ -- CreateIndex
85
+ CREATE INDEX "TranslationSource_jobState_nextRetryAt_idx" ON "TranslationSource"("jobState", "nextRetryAt");
86
+
87
+ -- CreateIndex
88
+ CREATE INDEX "TranslationSource_sessionId_idx" ON "TranslationSource"("sessionId");
89
+
90
+ -- CreateIndex
91
+ CREATE INDEX "TranslationSource_messageId_idx" ON "TranslationSource"("messageId");
92
+
93
+ -- CreateIndex
94
+ CREATE UNIQUE INDEX "TranslationSource_sourceKind_sourceKey_direction_key" ON "TranslationSource"("sourceKind", "sourceKey", "direction");
95
+
96
+ -- CreateIndex
97
+ CREATE INDEX "TranslationAttempt_status_nextRetryAt_idx" ON "TranslationAttempt"("status", "nextRetryAt");
98
+
99
+ -- CreateIndex
100
+ CREATE INDEX "TranslationAttempt_sourceId_sourceRevision_idx" ON "TranslationAttempt"("sourceId", "sourceRevision");
101
+
102
+ -- CreateIndex
103
+ CREATE UNIQUE INDEX "TranslationAttempt_sourceId_attemptVersion_key" ON "TranslationAttempt"("sourceId", "attemptVersion");
104
+
@@ -0,0 +1,158 @@
1
+ -- AlterTable
2
+ ALTER TABLE "Workspace" ADD COLUMN "creationFingerprint" TEXT;
3
+ ALTER TABLE "Workspace" ADD COLUMN "creationSubmissionId" TEXT;
4
+
5
+ -- AlterTable
6
+ ALTER TABLE "Session" ADD COLUMN "creationFingerprint" TEXT;
7
+ ALTER TABLE "Session" ADD COLUMN "creationSubmissionId" TEXT;
8
+ ALTER TABLE "Session" ADD COLUMN "initialDeliveryId" TEXT;
9
+ ALTER TABLE "Session" ADD COLUMN "inputIntent" TEXT;
10
+
11
+ -- CreateTable
12
+ CREATE TABLE "MessageDelivery" (
13
+ "id" TEXT NOT NULL PRIMARY KEY,
14
+ "clientSubmissionId" TEXT NOT NULL,
15
+ "requestFingerprint" TEXT NOT NULL,
16
+ "sessionId" TEXT NOT NULL,
17
+ "channelKey" TEXT NOT NULL,
18
+ "sequence" INTEGER NOT NULL,
19
+ "origin" TEXT NOT NULL,
20
+ "originalText" TEXT NOT NULL,
21
+ "attachmentIds" TEXT NOT NULL DEFAULT '[]',
22
+ "intent" TEXT NOT NULL DEFAULT '{}',
23
+ "sourceRevision" INTEGER NOT NULL DEFAULT 1,
24
+ "sourceHash" TEXT NOT NULL,
25
+ "translationSourceId" TEXT,
26
+ "enableEpoch" INTEGER NOT NULL,
27
+ "requiresTranslation" BOOLEAN NOT NULL,
28
+ "state" TEXT NOT NULL,
29
+ "sentMode" TEXT,
30
+ "acceptedText" TEXT,
31
+ "actualSentText" TEXT,
32
+ "sentAt" DATETIME,
33
+ "acceptedDestinationId" TEXT,
34
+ "lastError" TEXT,
35
+ "revision" INTEGER NOT NULL DEFAULT 1,
36
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
37
+ "updatedAt" DATETIME NOT NULL,
38
+ CONSTRAINT "MessageDelivery_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "Session" ("id") ON DELETE CASCADE ON UPDATE CASCADE
39
+ );
40
+
41
+ -- CreateTable
42
+ CREATE TABLE "DeliveryReceipt" (
43
+ "deliveryId" TEXT NOT NULL PRIMARY KEY,
44
+ "generation" INTEGER NOT NULL,
45
+ "phase" TEXT NOT NULL,
46
+ "runtimeInstanceId" TEXT,
47
+ "turnId" TEXT,
48
+ "evidence" TEXT,
49
+ "submittedAt" DATETIME,
50
+ "updatedAt" DATETIME NOT NULL,
51
+ CONSTRAINT "DeliveryReceipt_deliveryId_fkey" FOREIGN KEY ("deliveryId") REFERENCES "MessageDelivery" ("id") ON DELETE CASCADE ON UPDATE CASCADE
52
+ );
53
+
54
+ -- CreateTable
55
+ CREATE TABLE "DeliveryAction" (
56
+ "actionId" TEXT NOT NULL PRIMARY KEY,
57
+ "deliveryId" TEXT NOT NULL,
58
+ "fingerprint" TEXT NOT NULL,
59
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
60
+ CONSTRAINT "DeliveryAction_deliveryId_fkey" FOREIGN KEY ("deliveryId") REFERENCES "MessageDelivery" ("id") ON DELETE CASCADE ON UPDATE CASCADE
61
+ );
62
+
63
+ -- RedefineTables
64
+ PRAGMA defer_foreign_keys=ON;
65
+ PRAGMA foreign_keys=OFF;
66
+ CREATE TABLE "new_ConversationTurn" (
67
+ "id" TEXT NOT NULL PRIMARY KEY,
68
+ "sessionId" TEXT NOT NULL,
69
+ "deliveryId" TEXT,
70
+ "originalText" TEXT,
71
+ "deliveryRevision" INTEGER,
72
+ "message" TEXT NOT NULL,
73
+ "userEntryId" TEXT,
74
+ "providerId" TEXT,
75
+ "status" TEXT NOT NULL DEFAULT 'QUEUED',
76
+ "attempts" INTEGER NOT NULL DEFAULT 0,
77
+ "lastError" TEXT,
78
+ "queuedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
79
+ "startedAt" DATETIME,
80
+ "completedAt" DATETIME,
81
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
82
+ "updatedAt" DATETIME NOT NULL,
83
+ CONSTRAINT "ConversationTurn_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "Session" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
84
+ CONSTRAINT "ConversationTurn_deliveryId_fkey" FOREIGN KEY ("deliveryId") REFERENCES "MessageDelivery" ("id") ON DELETE CASCADE ON UPDATE CASCADE
85
+ );
86
+ INSERT INTO "new_ConversationTurn" ("attempts", "completedAt", "createdAt", "id", "lastError", "message", "providerId", "queuedAt", "sessionId", "startedAt", "status", "updatedAt", "userEntryId") SELECT "attempts", "completedAt", "createdAt", "id", "lastError", "message", "providerId", "queuedAt", "sessionId", "startedAt", "status", "updatedAt", "userEntryId" FROM "ConversationTurn";
87
+ DROP TABLE "ConversationTurn";
88
+ ALTER TABLE "new_ConversationTurn" RENAME TO "ConversationTurn";
89
+ CREATE UNIQUE INDEX "ConversationTurn_deliveryId_key" ON "ConversationTurn"("deliveryId");
90
+ CREATE INDEX "ConversationTurn_sessionId_status_queuedAt_idx" ON "ConversationTurn"("sessionId", "status", "queuedAt");
91
+ CREATE INDEX "ConversationTurn_status_queuedAt_idx" ON "ConversationTurn"("status", "queuedAt");
92
+ CREATE TABLE "new_TranslationSource" (
93
+ "id" TEXT NOT NULL PRIMARY KEY,
94
+ "scopeType" TEXT NOT NULL,
95
+ "scopeId" TEXT NOT NULL,
96
+ "sourceKind" TEXT NOT NULL,
97
+ "sourceKey" TEXT NOT NULL,
98
+ "laneKey" TEXT NOT NULL,
99
+ "sessionId" TEXT,
100
+ "turnId" TEXT,
101
+ "blockId" TEXT,
102
+ "messageId" TEXT,
103
+ "deliveryId" TEXT,
104
+ "direction" TEXT NOT NULL,
105
+ "originalText" TEXT NOT NULL,
106
+ "sourceRevision" INTEGER NOT NULL DEFAULT 1,
107
+ "sourceHash" TEXT NOT NULL,
108
+ "blockState" TEXT NOT NULL DEFAULT 'OPEN',
109
+ "jobState" TEXT NOT NULL DEFAULT 'OPEN',
110
+ "currentAttemptVersion" INTEGER NOT NULL DEFAULT 0,
111
+ "effectiveAttemptId" TEXT,
112
+ "generation" INTEGER NOT NULL DEFAULT 0,
113
+ "enableEpoch" INTEGER NOT NULL DEFAULT 0,
114
+ "retryChainId" TEXT,
115
+ "retryCount" INTEGER NOT NULL DEFAULT 0,
116
+ "budgetStartedAt" DATETIME,
117
+ "nextRetryAt" DATETIME,
118
+ "deletedAt" DATETIME,
119
+ "overlayRevision" INTEGER NOT NULL DEFAULT 0,
120
+ "errorCode" TEXT,
121
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
122
+ "updatedAt" DATETIME NOT NULL,
123
+ CONSTRAINT "TranslationSource_deliveryId_fkey" FOREIGN KEY ("deliveryId") REFERENCES "MessageDelivery" ("id") ON DELETE CASCADE ON UPDATE CASCADE
124
+ );
125
+ INSERT INTO "new_TranslationSource" ("blockId", "blockState", "budgetStartedAt", "createdAt", "currentAttemptVersion", "deletedAt", "deliveryId", "direction", "effectiveAttemptId", "enableEpoch", "errorCode", "generation", "id", "jobState", "laneKey", "messageId", "nextRetryAt", "originalText", "overlayRevision", "retryChainId", "retryCount", "scopeId", "scopeType", "sessionId", "sourceHash", "sourceKey", "sourceKind", "sourceRevision", "turnId", "updatedAt") SELECT "blockId", "blockState", "budgetStartedAt", "createdAt", "currentAttemptVersion", "deletedAt", "deliveryId", "direction", "effectiveAttemptId", "enableEpoch", "errorCode", "generation", "id", "jobState", "laneKey", "messageId", "nextRetryAt", "originalText", "overlayRevision", "retryChainId", "retryCount", "scopeId", "scopeType", "sessionId", "sourceHash", "sourceKey", "sourceKind", "sourceRevision", "turnId", "updatedAt" FROM "TranslationSource";
126
+ DROP TABLE "TranslationSource";
127
+ ALTER TABLE "new_TranslationSource" RENAME TO "TranslationSource";
128
+ CREATE INDEX "TranslationSource_scopeType_scopeId_deletedAt_idx" ON "TranslationSource"("scopeType", "scopeId", "deletedAt");
129
+ CREATE INDEX "TranslationSource_jobState_nextRetryAt_idx" ON "TranslationSource"("jobState", "nextRetryAt");
130
+ CREATE INDEX "TranslationSource_sessionId_idx" ON "TranslationSource"("sessionId");
131
+ CREATE INDEX "TranslationSource_messageId_idx" ON "TranslationSource"("messageId");
132
+ CREATE UNIQUE INDEX "TranslationSource_sourceKind_sourceKey_direction_key" ON "TranslationSource"("sourceKind", "sourceKey", "direction");
133
+ PRAGMA foreign_keys=ON;
134
+ PRAGMA defer_foreign_keys=OFF;
135
+
136
+ -- CreateIndex
137
+ CREATE UNIQUE INDEX "MessageDelivery_clientSubmissionId_key" ON "MessageDelivery"("clientSubmissionId");
138
+
139
+ -- CreateIndex
140
+ CREATE UNIQUE INDEX "MessageDelivery_translationSourceId_key" ON "MessageDelivery"("translationSourceId");
141
+
142
+ -- CreateIndex
143
+ CREATE INDEX "MessageDelivery_sessionId_sequence_idx" ON "MessageDelivery"("sessionId", "sequence");
144
+
145
+ -- CreateIndex
146
+ CREATE INDEX "MessageDelivery_state_updatedAt_idx" ON "MessageDelivery"("state", "updatedAt");
147
+
148
+ -- CreateIndex
149
+ CREATE UNIQUE INDEX "MessageDelivery_channelKey_sequence_key" ON "MessageDelivery"("channelKey", "sequence");
150
+
151
+ -- CreateIndex
152
+ CREATE UNIQUE INDEX "Workspace_creationSubmissionId_key" ON "Workspace"("creationSubmissionId");
153
+
154
+ -- CreateIndex
155
+ CREATE UNIQUE INDEX "Session_creationSubmissionId_key" ON "Session"("creationSubmissionId");
156
+
157
+ -- CreateIndex
158
+ CREATE UNIQUE INDEX "Session_initialDeliveryId_key" ON "Session"("initialDeliveryId");
@@ -0,0 +1,3 @@
1
+ -- Existing publication facts remain ineligible; do not backfill history.
2
+ ALTER TABLE "RoomMessage" ADD COLUMN "translationEligibilityEpoch" INTEGER;
3
+ CREATE INDEX "RoomMessage_translationEligibilityEpoch_id_idx" ON "RoomMessage"("translationEligibilityEpoch", "id");
@@ -0,0 +1,217 @@
1
+ -- CreateTable
2
+ CREATE TABLE "TeamTaskInputSnapshot" (
3
+ "id" TEXT NOT NULL PRIMARY KEY,
4
+ "teamRunId" TEXT NOT NULL,
5
+ "taskId" TEXT NOT NULL,
6
+ "taskSourceHash" TEXT NOT NULL,
7
+ "originalTitle" TEXT NOT NULL,
8
+ "originalDescription" TEXT,
9
+ "state" TEXT NOT NULL DEFAULT 'PENDING',
10
+ "effectiveUserText" TEXT,
11
+ "translationSourceId" TEXT,
12
+ "acceptedAttemptId" TEXT,
13
+ "sentMode" TEXT,
14
+ "acceptedAt" DATETIME,
15
+ "revision" INTEGER NOT NULL DEFAULT 1,
16
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
17
+ "updatedAt" DATETIME NOT NULL,
18
+ CONSTRAINT "TeamTaskInputSnapshot_teamRunId_fkey" FOREIGN KEY ("teamRunId") REFERENCES "TeamRun" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
19
+ CONSTRAINT "TeamTaskInputSnapshot_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "Task" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
20
+ CONSTRAINT "TeamTaskInputSnapshot_translationSourceId_fkey" FOREIGN KEY ("translationSourceId") REFERENCES "TranslationSource" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
21
+ CONSTRAINT "TeamTaskInputSnapshot_acceptedAttemptId_fkey" FOREIGN KEY ("acceptedAttemptId") REFERENCES "TranslationAttempt" ("id") ON DELETE SET NULL ON UPDATE CASCADE
22
+ );
23
+
24
+ -- CreateTable
25
+ CREATE TABLE "TeamTaskInputAction" (
26
+ "actionId" TEXT NOT NULL PRIMARY KEY,
27
+ "snapshotId" TEXT NOT NULL,
28
+ "fingerprint" TEXT NOT NULL,
29
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
30
+ CONSTRAINT "TeamTaskInputAction_snapshotId_fkey" FOREIGN KEY ("snapshotId") REFERENCES "TeamTaskInputSnapshot" ("id") ON DELETE CASCADE ON UPDATE CASCADE
31
+ );
32
+
33
+ -- RedefineTables
34
+ PRAGMA defer_foreign_keys=ON;
35
+ PRAGMA foreign_keys=OFF;
36
+ CREATE TABLE "new_TeamRun" (
37
+ "id" TEXT NOT NULL PRIMARY KEY,
38
+ "taskId" TEXT NOT NULL,
39
+ "mainWorkspaceId" TEXT,
40
+ "mode" TEXT NOT NULL,
41
+ "heartbeatTimeoutMinutes" INTEGER NOT NULL DEFAULT 10,
42
+ "reviewReason" TEXT,
43
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
44
+ "updatedAt" DATETIME NOT NULL,
45
+ "currentTaskInputSnapshotId" TEXT,
46
+ CONSTRAINT "TeamRun_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "Task" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
47
+ CONSTRAINT "TeamRun_mainWorkspaceId_fkey" FOREIGN KEY ("mainWorkspaceId") REFERENCES "Workspace" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
48
+ CONSTRAINT "TeamRun_currentTaskInputSnapshotId_fkey" FOREIGN KEY ("currentTaskInputSnapshotId") REFERENCES "TeamTaskInputSnapshot" ("id") ON DELETE SET NULL ON UPDATE CASCADE
49
+ );
50
+ INSERT INTO "new_TeamRun" ("createdAt", "heartbeatTimeoutMinutes", "id", "mainWorkspaceId", "mode", "reviewReason", "taskId", "updatedAt") SELECT "createdAt", "heartbeatTimeoutMinutes", "id", "mainWorkspaceId", "mode", "reviewReason", "taskId", "updatedAt" FROM "TeamRun";
51
+ DROP TABLE "TeamRun";
52
+ ALTER TABLE "new_TeamRun" RENAME TO "TeamRun";
53
+ CREATE UNIQUE INDEX "TeamRun_taskId_key" ON "TeamRun"("taskId");
54
+ CREATE INDEX "TeamRun_mainWorkspaceId_idx" ON "TeamRun"("mainWorkspaceId");
55
+ CREATE TABLE "new_RoomMessage" (
56
+ "deliveryId" TEXT,
57
+ "id" TEXT NOT NULL PRIMARY KEY,
58
+ "teamRunId" TEXT NOT NULL,
59
+ "senderType" TEXT NOT NULL,
60
+ "senderId" TEXT,
61
+ "senderInvocationId" TEXT,
62
+ "kind" TEXT NOT NULL,
63
+ "visibility" TEXT NOT NULL DEFAULT 'PUBLIC',
64
+ "content" TEXT NOT NULL,
65
+ "translationEligibilityEpoch" INTEGER,
66
+ "mentions" TEXT NOT NULL,
67
+ "workRequestIds" TEXT,
68
+ "artifactRefs" TEXT,
69
+ "attachmentIds" TEXT,
70
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
71
+ CONSTRAINT "RoomMessage_deliveryId_fkey" FOREIGN KEY ("deliveryId") REFERENCES "MessageDelivery" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
72
+ CONSTRAINT "RoomMessage_teamRunId_fkey" FOREIGN KEY ("teamRunId") REFERENCES "TeamRun" ("id") ON DELETE CASCADE ON UPDATE CASCADE
73
+ );
74
+ INSERT INTO "new_RoomMessage" ("artifactRefs", "attachmentIds", "content", "createdAt", "id", "kind", "mentions", "senderId", "senderInvocationId", "senderType", "teamRunId", "translationEligibilityEpoch", "visibility", "workRequestIds") SELECT "artifactRefs", "attachmentIds", "content", "createdAt", "id", "kind", "mentions", "senderId", "senderInvocationId", "senderType", "teamRunId", "translationEligibilityEpoch", "visibility", "workRequestIds" FROM "RoomMessage";
75
+ DROP TABLE "RoomMessage";
76
+ ALTER TABLE "new_RoomMessage" RENAME TO "RoomMessage";
77
+ CREATE UNIQUE INDEX "RoomMessage_deliveryId_key" ON "RoomMessage"("deliveryId");
78
+ CREATE INDEX "RoomMessage_teamRunId_idx" ON "RoomMessage"("teamRunId");
79
+ CREATE INDEX "RoomMessage_teamRunId_visibility_idx" ON "RoomMessage"("teamRunId", "visibility");
80
+ CREATE INDEX "RoomMessage_senderInvocationId_idx" ON "RoomMessage"("senderInvocationId");
81
+ CREATE INDEX "RoomMessage_translationEligibilityEpoch_id_idx" ON "RoomMessage"("translationEligibilityEpoch", "id");
82
+ CREATE TABLE "new_WorkRequest" (
83
+ "taskInputSnapshotId" TEXT,
84
+ "id" TEXT NOT NULL PRIMARY KEY,
85
+ "teamRunId" TEXT NOT NULL,
86
+ "requesterMemberId" TEXT,
87
+ "requesterType" TEXT NOT NULL,
88
+ "targetMemberId" TEXT NOT NULL,
89
+ "targetKind" TEXT,
90
+ "targetPurpose" TEXT,
91
+ "targetSourceWorkspaceId" TEXT,
92
+ "targetSourceMemberId" TEXT,
93
+ "targetHeadSha" TEXT,
94
+ "targetBranchName" TEXT,
95
+ "targetPlanItemId" TEXT,
96
+ "triggerMessageId" TEXT NOT NULL,
97
+ "instruction" TEXT NOT NULL,
98
+ "ifBusy" TEXT NOT NULL DEFAULT 'queue',
99
+ "cancelQueued" BOOLEAN NOT NULL DEFAULT false,
100
+ "status" TEXT NOT NULL DEFAULT 'QUEUED',
101
+ "startAttemptCount" INTEGER NOT NULL DEFAULT 0,
102
+ "lastStartError" TEXT,
103
+ "nextStartRetryAt" DATETIME,
104
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
105
+ "updatedAt" DATETIME NOT NULL,
106
+ CONSTRAINT "WorkRequest_taskInputSnapshotId_fkey" FOREIGN KEY ("taskInputSnapshotId") REFERENCES "TeamTaskInputSnapshot" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
107
+ CONSTRAINT "WorkRequest_teamRunId_fkey" FOREIGN KEY ("teamRunId") REFERENCES "TeamRun" ("id") ON DELETE CASCADE ON UPDATE CASCADE
108
+ );
109
+ INSERT INTO "new_WorkRequest" ("cancelQueued", "createdAt", "id", "ifBusy", "instruction", "lastStartError", "nextStartRetryAt", "requesterMemberId", "requesterType", "startAttemptCount", "status", "targetBranchName", "targetHeadSha", "targetKind", "targetMemberId", "targetPlanItemId", "targetPurpose", "targetSourceMemberId", "targetSourceWorkspaceId", "teamRunId", "triggerMessageId", "updatedAt") SELECT "cancelQueued", "createdAt", "id", "ifBusy", "instruction", "lastStartError", "nextStartRetryAt", "requesterMemberId", "requesterType", "startAttemptCount", "status", "targetBranchName", "targetHeadSha", "targetKind", "targetMemberId", "targetPlanItemId", "targetPurpose", "targetSourceMemberId", "targetSourceWorkspaceId", "teamRunId", "triggerMessageId", "updatedAt" FROM "WorkRequest";
110
+ DROP TABLE "WorkRequest";
111
+ ALTER TABLE "new_WorkRequest" RENAME TO "WorkRequest";
112
+ CREATE INDEX "WorkRequest_teamRunId_idx" ON "WorkRequest"("teamRunId");
113
+ CREATE INDEX "WorkRequest_targetMemberId_idx" ON "WorkRequest"("targetMemberId");
114
+ CREATE INDEX "WorkRequest_targetSourceWorkspaceId_idx" ON "WorkRequest"("targetSourceWorkspaceId");
115
+ CREATE INDEX "WorkRequest_targetHeadSha_idx" ON "WorkRequest"("targetHeadSha");
116
+ CREATE INDEX "WorkRequest_status_idx" ON "WorkRequest"("status");
117
+ CREATE INDEX "WorkRequest_status_nextStartRetryAt_idx" ON "WorkRequest"("status", "nextStartRetryAt");
118
+ CREATE INDEX "WorkRequest_taskInputSnapshotId_status_idx" ON "WorkRequest"("taskInputSnapshotId", "status");
119
+ CREATE TABLE "new_AgentInvocation" (
120
+ "taskInputSnapshotId" TEXT,
121
+ "id" TEXT NOT NULL PRIMARY KEY,
122
+ "teamRunId" TEXT NOT NULL,
123
+ "workRequestId" TEXT NOT NULL,
124
+ "memberId" TEXT NOT NULL,
125
+ "workspaceId" TEXT,
126
+ "sessionId" TEXT,
127
+ "targetKind" TEXT,
128
+ "targetPurpose" TEXT,
129
+ "targetSourceWorkspaceId" TEXT,
130
+ "targetSourceMemberId" TEXT,
131
+ "targetHeadSha" TEXT,
132
+ "targetBranchName" TEXT,
133
+ "targetPlanItemId" TEXT,
134
+ "targetSyncStatus" TEXT,
135
+ "targetSyncError" TEXT,
136
+ "targetExecutionBranch" TEXT,
137
+ "targetPort" INTEGER,
138
+ "targetVitePort" INTEGER,
139
+ "targetE2EPort" INTEGER,
140
+ "status" TEXT NOT NULL DEFAULT 'QUEUED',
141
+ "roomReplyReminderCount" INTEGER NOT NULL DEFAULT 0,
142
+ "nextRoomReplyReminderAt" DATETIME,
143
+ "lastHeartbeatAt" DATETIME,
144
+ "firstNudgeAt" DATETIME,
145
+ "dispatchRevokedAt" DATETIME,
146
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
147
+ "updatedAt" DATETIME NOT NULL,
148
+ CONSTRAINT "AgentInvocation_taskInputSnapshotId_fkey" FOREIGN KEY ("taskInputSnapshotId") REFERENCES "TeamTaskInputSnapshot" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
149
+ CONSTRAINT "AgentInvocation_teamRunId_fkey" FOREIGN KEY ("teamRunId") REFERENCES "TeamRun" ("id") ON DELETE CASCADE ON UPDATE CASCADE
150
+ );
151
+ INSERT INTO "new_AgentInvocation" ("createdAt", "dispatchRevokedAt", "firstNudgeAt", "id", "lastHeartbeatAt", "memberId", "nextRoomReplyReminderAt", "roomReplyReminderCount", "sessionId", "status", "targetBranchName", "targetE2EPort", "targetExecutionBranch", "targetHeadSha", "targetKind", "targetPlanItemId", "targetPort", "targetPurpose", "targetSourceMemberId", "targetSourceWorkspaceId", "targetSyncError", "targetSyncStatus", "targetVitePort", "teamRunId", "updatedAt", "workRequestId", "workspaceId") SELECT "createdAt", "dispatchRevokedAt", "firstNudgeAt", "id", "lastHeartbeatAt", "memberId", "nextRoomReplyReminderAt", "roomReplyReminderCount", "sessionId", "status", "targetBranchName", "targetE2EPort", "targetExecutionBranch", "targetHeadSha", "targetKind", "targetPlanItemId", "targetPort", "targetPurpose", "targetSourceMemberId", "targetSourceWorkspaceId", "targetSyncError", "targetSyncStatus", "targetVitePort", "teamRunId", "updatedAt", "workRequestId", "workspaceId" FROM "AgentInvocation";
152
+ DROP TABLE "AgentInvocation";
153
+ ALTER TABLE "new_AgentInvocation" RENAME TO "AgentInvocation";
154
+ CREATE INDEX "AgentInvocation_teamRunId_idx" ON "AgentInvocation"("teamRunId");
155
+ CREATE INDEX "AgentInvocation_memberId_idx" ON "AgentInvocation"("memberId");
156
+ CREATE INDEX "AgentInvocation_sessionId_idx" ON "AgentInvocation"("sessionId");
157
+ CREATE INDEX "AgentInvocation_targetSourceWorkspaceId_idx" ON "AgentInvocation"("targetSourceWorkspaceId");
158
+ CREATE INDEX "AgentInvocation_targetHeadSha_idx" ON "AgentInvocation"("targetHeadSha");
159
+ CREATE INDEX "AgentInvocation_targetSyncStatus_idx" ON "AgentInvocation"("targetSyncStatus");
160
+ CREATE INDEX "AgentInvocation_status_idx" ON "AgentInvocation"("status");
161
+ CREATE TABLE "new_MessageDelivery" (
162
+ "id" TEXT NOT NULL PRIMARY KEY,
163
+ "clientSubmissionId" TEXT NOT NULL,
164
+ "requestFingerprint" TEXT NOT NULL,
165
+ "sessionId" TEXT,
166
+ "taskId" TEXT,
167
+ "teamRunId" TEXT,
168
+ "taskInputSnapshotId" TEXT,
169
+ "channelKey" TEXT NOT NULL,
170
+ "sequence" INTEGER NOT NULL,
171
+ "origin" TEXT NOT NULL,
172
+ "originalText" TEXT NOT NULL,
173
+ "attachmentIds" TEXT NOT NULL DEFAULT '[]',
174
+ "intent" TEXT NOT NULL DEFAULT '{}',
175
+ "sourceRevision" INTEGER NOT NULL DEFAULT 1,
176
+ "sourceHash" TEXT NOT NULL,
177
+ "translationSourceId" TEXT,
178
+ "enableEpoch" INTEGER NOT NULL,
179
+ "requiresTranslation" BOOLEAN NOT NULL,
180
+ "state" TEXT NOT NULL,
181
+ "sentMode" TEXT,
182
+ "acceptedText" TEXT,
183
+ "actualSentText" TEXT,
184
+ "sentAt" DATETIME,
185
+ "acceptedDestinationId" TEXT,
186
+ "lastError" TEXT,
187
+ "revision" INTEGER NOT NULL DEFAULT 1,
188
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
189
+ "updatedAt" DATETIME NOT NULL,
190
+ CONSTRAINT "MessageDelivery_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "Session" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
191
+ CONSTRAINT "MessageDelivery_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "Task" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
192
+ CONSTRAINT "MessageDelivery_teamRunId_fkey" FOREIGN KEY ("teamRunId") REFERENCES "TeamRun" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
193
+ CONSTRAINT "MessageDelivery_taskInputSnapshotId_fkey" FOREIGN KEY ("taskInputSnapshotId") REFERENCES "TeamTaskInputSnapshot" ("id") ON DELETE SET NULL ON UPDATE CASCADE
194
+ );
195
+ INSERT INTO "new_MessageDelivery" ("acceptedDestinationId", "acceptedText", "actualSentText", "attachmentIds", "channelKey", "clientSubmissionId", "createdAt", "enableEpoch", "id", "intent", "lastError", "origin", "originalText", "requestFingerprint", "requiresTranslation", "revision", "sentAt", "sentMode", "sequence", "sessionId", "sourceHash", "sourceRevision", "state", "translationSourceId", "updatedAt") SELECT "acceptedDestinationId", "acceptedText", "actualSentText", "attachmentIds", "channelKey", "clientSubmissionId", "createdAt", "enableEpoch", "id", "intent", "lastError", "origin", "originalText", "requestFingerprint", "requiresTranslation", "revision", "sentAt", "sentMode", "sequence", "sessionId", "sourceHash", "sourceRevision", "state", "translationSourceId", "updatedAt" FROM "MessageDelivery";
196
+ DROP TABLE "MessageDelivery";
197
+ ALTER TABLE "new_MessageDelivery" RENAME TO "MessageDelivery";
198
+ CREATE UNIQUE INDEX "MessageDelivery_clientSubmissionId_key" ON "MessageDelivery"("clientSubmissionId");
199
+ CREATE UNIQUE INDEX "MessageDelivery_translationSourceId_key" ON "MessageDelivery"("translationSourceId");
200
+ CREATE INDEX "MessageDelivery_sessionId_sequence_idx" ON "MessageDelivery"("sessionId", "sequence");
201
+ CREATE INDEX "MessageDelivery_taskId_sequence_idx" ON "MessageDelivery"("taskId", "sequence");
202
+ CREATE INDEX "MessageDelivery_teamRunId_sequence_idx" ON "MessageDelivery"("teamRunId", "sequence");
203
+ CREATE INDEX "MessageDelivery_taskInputSnapshotId_idx" ON "MessageDelivery"("taskInputSnapshotId");
204
+ CREATE INDEX "MessageDelivery_channelKey_state_sequence_idx" ON "MessageDelivery"("channelKey", "state", "sequence");
205
+ CREATE INDEX "MessageDelivery_state_updatedAt_idx" ON "MessageDelivery"("state", "updatedAt");
206
+ CREATE UNIQUE INDEX "MessageDelivery_channelKey_sequence_key" ON "MessageDelivery"("channelKey", "sequence");
207
+ PRAGMA foreign_keys=ON;
208
+ PRAGMA defer_foreign_keys=OFF;
209
+
210
+ -- CreateIndex
211
+ CREATE UNIQUE INDEX "TeamTaskInputSnapshot_translationSourceId_key" ON "TeamTaskInputSnapshot"("translationSourceId");
212
+
213
+ -- CreateIndex
214
+ CREATE INDEX "TeamTaskInputSnapshot_teamRunId_state_idx" ON "TeamTaskInputSnapshot"("teamRunId", "state");
215
+
216
+ -- CreateIndex
217
+ CREATE UNIQUE INDEX "TeamTaskInputSnapshot_teamRunId_taskSourceHash_key" ON "TeamTaskInputSnapshot"("teamRunId", "taskSourceHash");