devchain-cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/LICENSE +53 -0
  2. package/README.md +74 -0
  3. package/dist/cli.js +782 -0
  4. package/dist/drizzle/0000_flippant_the_spike.sql +220 -0
  5. package/dist/drizzle/0001_shiny_snowbird.sql +7 -0
  6. package/dist/drizzle/0002_high_zemo.sql +19 -0
  7. package/dist/drizzle/0003_noisy_scarecrow.sql +21 -0
  8. package/dist/drizzle/0004_mcp_metadata.sql +5 -0
  9. package/dist/drizzle/0005_agent_profile_instructions.sql +3 -0
  10. package/dist/drizzle/0006_wakeful_marvex.sql +15 -0
  11. package/dist/drizzle/0007_agent_profile_options.sql +7 -0
  12. package/dist/drizzle/0008_event_logs.sql +31 -0
  13. package/dist/drizzle/0009_chat_tables.sql +42 -0
  14. package/dist/drizzle/0010_amazing_the_initiative.sql +11 -0
  15. package/dist/drizzle/0011_curved_payback.sql +16 -0
  16. package/dist/drizzle/0012_terminal_activity.sql +8 -0
  17. package/dist/drizzle/0013_chat_activities.sql +18 -0
  18. package/dist/drizzle/0014_chat_activities_start_msg_nullable.sql +5 -0
  19. package/dist/drizzle/0015_projects_is_template.sql +4 -0
  20. package/dist/drizzle/0016_agent_profiles_project_scoped.sql +4 -0
  21. package/dist/drizzle/meta/0000_snapshot.json +1388 -0
  22. package/dist/drizzle/meta/0001_snapshot.json +1434 -0
  23. package/dist/drizzle/meta/0002_snapshot.json +1434 -0
  24. package/dist/drizzle/meta/0003_snapshot.json +1583 -0
  25. package/dist/drizzle/meta/0004_snapshot.json +1605 -0
  26. package/dist/drizzle/meta/0005_snapshot.json +1612 -0
  27. package/dist/drizzle/meta/0006_snapshot.json +1742 -0
  28. package/dist/drizzle/meta/0007_snapshot.json +1742 -0
  29. package/dist/drizzle/meta/0008_snapshot.json +1897 -0
  30. package/dist/drizzle/meta/0009_snapshot.json +2202 -0
  31. package/dist/drizzle/meta/0010_snapshot.json +2283 -0
  32. package/dist/drizzle/meta/0011_snapshot.json +2407 -0
  33. package/dist/drizzle/meta/_journal.json +125 -0
  34. package/dist/lib/interactive-cli.js +279 -0
  35. package/dist/server/app.module.d.ts +4 -0
  36. package/dist/server/app.module.js +64 -0
  37. package/dist/server/app.module.js.map +1 -0
  38. package/dist/server/common/config/env.config.d.ts +23 -0
  39. package/dist/server/common/config/env.config.js +60 -0
  40. package/dist/server/common/config/env.config.js.map +1 -0
  41. package/dist/server/common/config/feature-flags.d.ts +5 -0
  42. package/dist/server/common/config/feature-flags.js +8 -0
  43. package/dist/server/common/config/feature-flags.js.map +1 -0
  44. package/dist/server/common/errors/error-types.d.ts +30 -0
  45. package/dist/server/common/errors/error-types.js +63 -0
  46. package/dist/server/common/errors/error-types.js.map +1 -0
  47. package/dist/server/common/filters/http-exception.filter.d.ts +4 -0
  48. package/dist/server/common/filters/http-exception.filter.js +72 -0
  49. package/dist/server/common/filters/http-exception.filter.js.map +1 -0
  50. package/dist/server/common/filters/ws-exception.filter.d.ts +5 -0
  51. package/dist/server/common/filters/ws-exception.filter.js +102 -0
  52. package/dist/server/common/filters/ws-exception.filter.js.map +1 -0
  53. package/dist/server/common/logging/logger.d.ts +3 -0
  54. package/dist/server/common/logging/logger.js +29 -0
  55. package/dist/server/common/logging/logger.js.map +1 -0
  56. package/dist/server/common/middleware/request-id.middleware.d.ts +12 -0
  57. package/dist/server/common/middleware/request-id.middleware.js +24 -0
  58. package/dist/server/common/middleware/request-id.middleware.js.map +1 -0
  59. package/dist/server/main.d.ts +1 -0
  60. package/dist/server/main.js +94 -0
  61. package/dist/server/main.js.map +1 -0
  62. package/dist/server/modules/agents/agents.module.d.ts +2 -0
  63. package/dist/server/modules/agents/agents.module.js +22 -0
  64. package/dist/server/modules/agents/agents.module.js.map +1 -0
  65. package/dist/server/modules/agents/controllers/agents.controller.d.ts +12 -0
  66. package/dist/server/modules/agents/controllers/agents.controller.js +115 -0
  67. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -0
  68. package/dist/server/modules/chat/chat.module.d.ts +2 -0
  69. package/dist/server/modules/chat/chat.module.js +28 -0
  70. package/dist/server/modules/chat/chat.module.js.map +1 -0
  71. package/dist/server/modules/chat/controllers/chat-settings.controller.d.ts +8 -0
  72. package/dist/server/modules/chat/controllers/chat-settings.controller.js +66 -0
  73. package/dist/server/modules/chat/controllers/chat-settings.controller.js.map +1 -0
  74. package/dist/server/modules/chat/controllers/chat.controller.d.ts +15 -0
  75. package/dist/server/modules/chat/controllers/chat.controller.js +152 -0
  76. package/dist/server/modules/chat/controllers/chat.controller.js.map +1 -0
  77. package/dist/server/modules/chat/dtos/chat-settings.dto.d.ts +31 -0
  78. package/dist/server/modules/chat/dtos/chat-settings.dto.js +17 -0
  79. package/dist/server/modules/chat/dtos/chat-settings.dto.js.map +1 -0
  80. package/dist/server/modules/chat/dtos/chat.dto.d.ts +309 -0
  81. package/dist/server/modules/chat/dtos/chat.dto.js +80 -0
  82. package/dist/server/modules/chat/dtos/chat.dto.js.map +1 -0
  83. package/dist/server/modules/chat/services/chat-settings.service.d.ts +12 -0
  84. package/dist/server/modules/chat/services/chat-settings.service.js +120 -0
  85. package/dist/server/modules/chat/services/chat-settings.service.js.map +1 -0
  86. package/dist/server/modules/chat/services/chat.service.d.ts +45 -0
  87. package/dist/server/modules/chat/services/chat.service.js +730 -0
  88. package/dist/server/modules/chat/services/chat.service.js.map +1 -0
  89. package/dist/server/modules/chat/services/invite-template.util.d.ts +17 -0
  90. package/dist/server/modules/chat/services/invite-template.util.js +70 -0
  91. package/dist/server/modules/chat/services/invite-template.util.js.map +1 -0
  92. package/dist/server/modules/core/controllers/health.controller.d.ts +7 -0
  93. package/dist/server/modules/core/controllers/health.controller.js +39 -0
  94. package/dist/server/modules/core/controllers/health.controller.js.map +1 -0
  95. package/dist/server/modules/core/controllers/preflight.controller.d.ts +10 -0
  96. package/dist/server/modules/core/controllers/preflight.controller.js +58 -0
  97. package/dist/server/modules/core/controllers/preflight.controller.js.map +1 -0
  98. package/dist/server/modules/core/core.module.d.ts +2 -0
  99. package/dist/server/modules/core/core.module.js +27 -0
  100. package/dist/server/modules/core/core.module.js.map +1 -0
  101. package/dist/server/modules/core/services/preflight.service.d.ts +44 -0
  102. package/dist/server/modules/core/services/preflight.service.js +400 -0
  103. package/dist/server/modules/core/services/preflight.service.js.map +1 -0
  104. package/dist/server/modules/documents/controllers/documents.controller.d.ts +12 -0
  105. package/dist/server/modules/documents/controllers/documents.controller.js +173 -0
  106. package/dist/server/modules/documents/controllers/documents.controller.js.map +1 -0
  107. package/dist/server/modules/documents/documents.module.d.ts +2 -0
  108. package/dist/server/modules/documents/documents.module.js +22 -0
  109. package/dist/server/modules/documents/documents.module.js.map +1 -0
  110. package/dist/server/modules/epics/controllers/epic-comments.controller.d.ts +10 -0
  111. package/dist/server/modules/epics/controllers/epic-comments.controller.js +94 -0
  112. package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -0
  113. package/dist/server/modules/epics/controllers/epics.controller.d.ts +16 -0
  114. package/dist/server/modules/epics/controllers/epics.controller.js +201 -0
  115. package/dist/server/modules/epics/controllers/epics.controller.js.map +1 -0
  116. package/dist/server/modules/epics/epics.module.d.ts +2 -0
  117. package/dist/server/modules/epics/epics.module.js +28 -0
  118. package/dist/server/modules/epics/epics.module.js.map +1 -0
  119. package/dist/server/modules/epics/services/epics.service.d.ts +34 -0
  120. package/dist/server/modules/epics/services/epics.service.js +251 -0
  121. package/dist/server/modules/epics/services/epics.service.js.map +1 -0
  122. package/dist/server/modules/events/catalog/epic.assigned.d.ts +36 -0
  123. package/dist/server/modules/events/catalog/epic.assigned.js +19 -0
  124. package/dist/server/modules/events/catalog/epic.assigned.js.map +1 -0
  125. package/dist/server/modules/events/catalog/index.d.ts +71 -0
  126. package/dist/server/modules/events/catalog/index.js +15 -0
  127. package/dist/server/modules/events/catalog/index.js.map +1 -0
  128. package/dist/server/modules/events/catalog/session.crashed.d.ts +15 -0
  129. package/dist/server/modules/events/catalog/session.crashed.js +12 -0
  130. package/dist/server/modules/events/catalog/session.crashed.js.map +1 -0
  131. package/dist/server/modules/events/catalog/session.started.d.ts +21 -0
  132. package/dist/server/modules/events/catalog/session.started.js +14 -0
  133. package/dist/server/modules/events/catalog/session.started.js.map +1 -0
  134. package/dist/server/modules/events/catalog/session.stopped.d.ts +12 -0
  135. package/dist/server/modules/events/catalog/session.stopped.js +11 -0
  136. package/dist/server/modules/events/catalog/session.stopped.js.map +1 -0
  137. package/dist/server/modules/events/controllers/event-log.controller.d.ts +7 -0
  138. package/dist/server/modules/events/controllers/event-log.controller.js +75 -0
  139. package/dist/server/modules/events/controllers/event-log.controller.js.map +1 -0
  140. package/dist/server/modules/events/dtos/event-log.dto.d.ts +33 -0
  141. package/dist/server/modules/events/dtos/event-log.dto.js +3 -0
  142. package/dist/server/modules/events/dtos/event-log.dto.js.map +1 -0
  143. package/dist/server/modules/events/events.module.d.ts +2 -0
  144. package/dist/server/modules/events/events.module.js +45 -0
  145. package/dist/server/modules/events/events.module.js.map +1 -0
  146. package/dist/server/modules/events/index.d.ts +6 -0
  147. package/dist/server/modules/events/index.js +23 -0
  148. package/dist/server/modules/events/index.js.map +1 -0
  149. package/dist/server/modules/events/services/event-log.service.d.ts +38 -0
  150. package/dist/server/modules/events/services/event-log.service.js +272 -0
  151. package/dist/server/modules/events/services/event-log.service.js.map +1 -0
  152. package/dist/server/modules/events/services/events-stream.service.d.ts +23 -0
  153. package/dist/server/modules/events/services/events-stream.service.js +45 -0
  154. package/dist/server/modules/events/services/events-stream.service.js.map +1 -0
  155. package/dist/server/modules/events/services/events.service.d.ts +14 -0
  156. package/dist/server/modules/events/services/events.service.js +65 -0
  157. package/dist/server/modules/events/services/events.service.js.map +1 -0
  158. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.d.ts +20 -0
  159. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.js +47 -0
  160. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.js.map +1 -0
  161. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +24 -0
  162. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js +81 -0
  163. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +1 -0
  164. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.d.ts +25 -0
  165. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js +223 -0
  166. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +1 -0
  167. package/dist/server/modules/events/subscribers/index.d.ts +2 -0
  168. package/dist/server/modules/events/subscribers/index.js +12 -0
  169. package/dist/server/modules/events/subscribers/index.js.map +1 -0
  170. package/dist/server/modules/fs/fs.controller.d.ts +18 -0
  171. package/dist/server/modules/fs/fs.controller.js +56 -0
  172. package/dist/server/modules/fs/fs.controller.js.map +1 -0
  173. package/dist/server/modules/fs/fs.module.d.ts +2 -0
  174. package/dist/server/modules/fs/fs.module.js +20 -0
  175. package/dist/server/modules/fs/fs.module.js.map +1 -0
  176. package/dist/server/modules/mcp/constants.d.ts +9 -0
  177. package/dist/server/modules/mcp/constants.js +38 -0
  178. package/dist/server/modules/mcp/constants.js.map +1 -0
  179. package/dist/server/modules/mcp/controllers/mcp-http.controller.d.ts +16 -0
  180. package/dist/server/modules/mcp/controllers/mcp-http.controller.js +790 -0
  181. package/dist/server/modules/mcp/controllers/mcp-http.controller.js.map +1 -0
  182. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.d.ts +12 -0
  183. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js +676 -0
  184. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js.map +1 -0
  185. package/dist/server/modules/mcp/controllers/mcp-test.controller.d.ts +50 -0
  186. package/dist/server/modules/mcp/controllers/mcp-test.controller.js +115 -0
  187. package/dist/server/modules/mcp/controllers/mcp-test.controller.js.map +1 -0
  188. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +1094 -0
  189. package/dist/server/modules/mcp/dtos/mcp.dto.js +257 -0
  190. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -0
  191. package/dist/server/modules/mcp/gateways/mcp.gateway.d.ts +21 -0
  192. package/dist/server/modules/mcp/gateways/mcp.gateway.js +141 -0
  193. package/dist/server/modules/mcp/gateways/mcp.gateway.js.map +1 -0
  194. package/dist/server/modules/mcp/mcp.module.d.ts +2 -0
  195. package/dist/server/modules/mcp/mcp.module.js +83 -0
  196. package/dist/server/modules/mcp/mcp.module.js.map +1 -0
  197. package/dist/server/modules/mcp/services/instructions-resolver.d.ts +24 -0
  198. package/dist/server/modules/mcp/services/instructions-resolver.js +203 -0
  199. package/dist/server/modules/mcp/services/instructions-resolver.js.map +1 -0
  200. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +52 -0
  201. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +327 -0
  202. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -0
  203. package/dist/server/modules/mcp/services/mcp-server.service.d.ts +6 -0
  204. package/dist/server/modules/mcp/services/mcp-server.service.js +26 -0
  205. package/dist/server/modules/mcp/services/mcp-server.service.js.map +1 -0
  206. package/dist/server/modules/mcp/services/mcp.service.d.ts +69 -0
  207. package/dist/server/modules/mcp/services/mcp.service.js +2056 -0
  208. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -0
  209. package/dist/server/modules/mcp/services/terminal-activity.service.d.ts +9 -0
  210. package/dist/server/modules/mcp/services/terminal-activity.service.js +51 -0
  211. package/dist/server/modules/mcp/services/terminal-activity.service.js.map +1 -0
  212. package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +45 -0
  213. package/dist/server/modules/profiles/controllers/profiles.controller.js +188 -0
  214. package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -0
  215. package/dist/server/modules/profiles/dto.d.ts +75 -0
  216. package/dist/server/modules/profiles/dto.js +24 -0
  217. package/dist/server/modules/profiles/dto.js.map +1 -0
  218. package/dist/server/modules/profiles/profiles.module.d.ts +2 -0
  219. package/dist/server/modules/profiles/profiles.module.js +22 -0
  220. package/dist/server/modules/profiles/profiles.module.js.map +1 -0
  221. package/dist/server/modules/projects/controllers/projects.controller.d.ts +131 -0
  222. package/dist/server/modules/projects/controllers/projects.controller.js +196 -0
  223. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -0
  224. package/dist/server/modules/projects/projects.module.d.ts +2 -0
  225. package/dist/server/modules/projects/projects.module.js +26 -0
  226. package/dist/server/modules/projects/projects.module.js.map +1 -0
  227. package/dist/server/modules/projects/services/projects.service.d.ts +138 -0
  228. package/dist/server/modules/projects/services/projects.service.js +564 -0
  229. package/dist/server/modules/projects/services/projects.service.js.map +1 -0
  230. package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +11 -0
  231. package/dist/server/modules/prompts/controllers/prompts.controller.js +112 -0
  232. package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -0
  233. package/dist/server/modules/prompts/prompts.module.d.ts +2 -0
  234. package/dist/server/modules/prompts/prompts.module.js +22 -0
  235. package/dist/server/modules/prompts/prompts.module.js.map +1 -0
  236. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +9 -0
  237. package/dist/server/modules/providers/adapters/claude.adapter.js +46 -0
  238. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -0
  239. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +9 -0
  240. package/dist/server/modules/providers/adapters/codex.adapter.js +46 -0
  241. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -0
  242. package/dist/server/modules/providers/adapters/index.d.ts +4 -0
  243. package/dist/server/modules/providers/adapters/index.js +21 -0
  244. package/dist/server/modules/providers/adapters/index.js.map +1 -0
  245. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +8 -0
  246. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +42 -0
  247. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -0
  248. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +18 -0
  249. package/dist/server/modules/providers/adapters/provider-adapter.interface.js +3 -0
  250. package/dist/server/modules/providers/adapters/provider-adapter.interface.js.map +1 -0
  251. package/dist/server/modules/providers/controllers/providers.controller.d.ts +33 -0
  252. package/dist/server/modules/providers/controllers/providers.controller.js +399 -0
  253. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -0
  254. package/dist/server/modules/providers/providers.module.d.ts +2 -0
  255. package/dist/server/modules/providers/providers.module.js +27 -0
  256. package/dist/server/modules/providers/providers.module.js.map +1 -0
  257. package/dist/server/modules/records/controllers/records.controller.d.ts +13 -0
  258. package/dist/server/modules/records/controllers/records.controller.js +83 -0
  259. package/dist/server/modules/records/controllers/records.controller.js.map +1 -0
  260. package/dist/server/modules/records/records.module.d.ts +2 -0
  261. package/dist/server/modules/records/records.module.js +22 -0
  262. package/dist/server/modules/records/records.module.js.map +1 -0
  263. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +13 -0
  264. package/dist/server/modules/sessions/controllers/sessions.controller.js +93 -0
  265. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -0
  266. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +67 -0
  267. package/dist/server/modules/sessions/dtos/sessions.dto.js +18 -0
  268. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -0
  269. package/dist/server/modules/sessions/services/activity-tracker.service.d.ts +15 -0
  270. package/dist/server/modules/sessions/services/activity-tracker.service.js +103 -0
  271. package/dist/server/modules/sessions/services/activity-tracker.service.js.map +1 -0
  272. package/dist/server/modules/sessions/services/sessions.service.d.ts +49 -0
  273. package/dist/server/modules/sessions/services/sessions.service.js +511 -0
  274. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -0
  275. package/dist/server/modules/sessions/sessions.module.d.ts +2 -0
  276. package/dist/server/modules/sessions/sessions.module.js +36 -0
  277. package/dist/server/modules/sessions/sessions.module.js.map +1 -0
  278. package/dist/server/modules/sessions/utils/profile-options.d.ts +4 -0
  279. package/dist/server/modules/sessions/utils/profile-options.js +70 -0
  280. package/dist/server/modules/sessions/utils/profile-options.js.map +1 -0
  281. package/dist/server/modules/sessions/utils/template-renderer.d.ts +27 -0
  282. package/dist/server/modules/sessions/utils/template-renderer.js +38 -0
  283. package/dist/server/modules/sessions/utils/template-renderer.js.map +1 -0
  284. package/dist/server/modules/settings/controllers/settings.controller.d.ts +10 -0
  285. package/dist/server/modules/settings/controllers/settings.controller.js +77 -0
  286. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -0
  287. package/dist/server/modules/settings/dtos/settings.dto.d.ts +104 -0
  288. package/dist/server/modules/settings/dtos/settings.dto.js +44 -0
  289. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -0
  290. package/dist/server/modules/settings/services/settings.service.d.ts +20 -0
  291. package/dist/server/modules/settings/services/settings.service.js +310 -0
  292. package/dist/server/modules/settings/services/settings.service.js.map +1 -0
  293. package/dist/server/modules/settings/settings.module.d.ts +2 -0
  294. package/dist/server/modules/settings/settings.module.js +26 -0
  295. package/dist/server/modules/settings/settings.module.js.map +1 -0
  296. package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +17 -0
  297. package/dist/server/modules/statuses/controllers/statuses.controller.js +124 -0
  298. package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -0
  299. package/dist/server/modules/statuses/statuses.module.d.ts +2 -0
  300. package/dist/server/modules/statuses/statuses.module.js +22 -0
  301. package/dist/server/modules/statuses/statuses.module.js.map +1 -0
  302. package/dist/server/modules/storage/db/db.config.d.ts +5 -0
  303. package/dist/server/modules/storage/db/db.config.js +19 -0
  304. package/dist/server/modules/storage/db/db.config.js.map +1 -0
  305. package/dist/server/modules/storage/db/db.module.d.ts +2 -0
  306. package/dist/server/modules/storage/db/db.module.js +22 -0
  307. package/dist/server/modules/storage/db/db.module.js.map +1 -0
  308. package/dist/server/modules/storage/db/db.provider.d.ts +3 -0
  309. package/dist/server/modules/storage/db/db.provider.js +61 -0
  310. package/dist/server/modules/storage/db/db.provider.js.map +1 -0
  311. package/dist/server/modules/storage/db/migrate.d.ts +1 -0
  312. package/dist/server/modules/storage/db/migrate.js +32 -0
  313. package/dist/server/modules/storage/db/migrate.js.map +1 -0
  314. package/dist/server/modules/storage/db/schema.d.ts +4058 -0
  315. package/dist/server/modules/storage/db/schema.js +393 -0
  316. package/dist/server/modules/storage/db/schema.js.map +1 -0
  317. package/dist/server/modules/storage/db/sqlite-raw.d.ts +3 -0
  318. package/dist/server/modules/storage/db/sqlite-raw.js +8 -0
  319. package/dist/server/modules/storage/db/sqlite-raw.js.map +1 -0
  320. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +193 -0
  321. package/dist/server/modules/storage/interfaces/storage.interface.js +5 -0
  322. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -0
  323. package/dist/server/modules/storage/local/local-storage.service.d.ts +105 -0
  324. package/dist/server/modules/storage/local/local-storage.service.js +2069 -0
  325. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -0
  326. package/dist/server/modules/storage/models/domain.models.d.ts +152 -0
  327. package/dist/server/modules/storage/models/domain.models.js +3 -0
  328. package/dist/server/modules/storage/models/domain.models.js.map +1 -0
  329. package/dist/server/modules/storage/storage.module.d.ts +2 -0
  330. package/dist/server/modules/storage/storage.module.js +29 -0
  331. package/dist/server/modules/storage/storage.module.js.map +1 -0
  332. package/dist/server/modules/terminal/dtos/ws-envelope.dto.d.ts +103 -0
  333. package/dist/server/modules/terminal/dtos/ws-envelope.dto.js +50 -0
  334. package/dist/server/modules/terminal/dtos/ws-envelope.dto.js.map +1 -0
  335. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +83 -0
  336. package/dist/server/modules/terminal/gateways/terminal.gateway.js +622 -0
  337. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -0
  338. package/dist/server/modules/terminal/services/pty.service.d.ts +29 -0
  339. package/dist/server/modules/terminal/services/pty.service.js +236 -0
  340. package/dist/server/modules/terminal/services/pty.service.js.map +1 -0
  341. package/dist/server/modules/terminal/services/terminal-emulator.service.d.ts +40 -0
  342. package/dist/server/modules/terminal/services/terminal-emulator.service.js +356 -0
  343. package/dist/server/modules/terminal/services/terminal-emulator.service.js.map +1 -0
  344. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +29 -0
  345. package/dist/server/modules/terminal/services/terminal-seed.service.js +233 -0
  346. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -0
  347. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.d.ts +5 -0
  348. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.js +36 -0
  349. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.js.map +1 -0
  350. package/dist/server/modules/terminal/services/terminal-stream.service.d.ts +17 -0
  351. package/dist/server/modules/terminal/services/terminal-stream.service.js +88 -0
  352. package/dist/server/modules/terminal/services/terminal-stream.service.js.map +1 -0
  353. package/dist/server/modules/terminal/services/tmux.service.d.ts +42 -0
  354. package/dist/server/modules/terminal/services/tmux.service.js +318 -0
  355. package/dist/server/modules/terminal/services/tmux.service.js.map +1 -0
  356. package/dist/server/modules/terminal/terminal.module.d.ts +2 -0
  357. package/dist/server/modules/terminal/terminal.module.js +47 -0
  358. package/dist/server/modules/terminal/terminal.module.js.map +1 -0
  359. package/dist/server/modules/terminal/utils/ansi-sanitizer.d.ts +8 -0
  360. package/dist/server/modules/terminal/utils/ansi-sanitizer.js +48 -0
  361. package/dist/server/modules/terminal/utils/ansi-sanitizer.js.map +1 -0
  362. package/dist/server/modules/terminal/utils/control-keys.d.ts +3 -0
  363. package/dist/server/modules/terminal/utils/control-keys.js +30 -0
  364. package/dist/server/modules/terminal/utils/control-keys.js.map +1 -0
  365. package/dist/server/modules/ui/ui.controller.d.ts +4 -0
  366. package/dist/server/modules/ui/ui.controller.js +55 -0
  367. package/dist/server/modules/ui/ui.controller.js.map +1 -0
  368. package/dist/server/modules/ui/ui.module.d.ts +2 -0
  369. package/dist/server/modules/ui/ui.module.js +22 -0
  370. package/dist/server/modules/ui/ui.module.js.map +1 -0
  371. package/dist/server/test-setup.d.ts +1 -0
  372. package/dist/server/test-setup.js +14 -0
  373. package/dist/server/test-setup.js.map +1 -0
  374. package/dist/server/tsconfig.tsbuildinfo +1 -0
  375. package/dist/server/ui/assets/index-DFChYYFN.css +32 -0
  376. package/dist/server/ui/assets/index-DpXRypHy.js +636 -0
  377. package/dist/server/ui/index.html +26 -0
  378. package/dist/templates/simple-codex.json +134 -0
  379. package/package.json +105 -0
  380. package/prebuilds/README.md +7 -0
@@ -0,0 +1,220 @@
1
+ CREATE TABLE `providers` (
2
+ `id` text PRIMARY KEY NOT NULL,
3
+ `name` text NOT NULL,
4
+ `bin_path` text,
5
+ `created_at` text NOT NULL,
6
+ `updated_at` text NOT NULL
7
+ );
8
+ --> statement-breakpoint
9
+ CREATE UNIQUE INDEX `providers_name_unique` ON `providers` (`name`);--> statement-breakpoint
10
+ CREATE TABLE `agent_profile_prompts` (
11
+ `profile_id` text NOT NULL,
12
+ `prompt_id` text NOT NULL,
13
+ `created_at` text NOT NULL,
14
+ FOREIGN KEY (`profile_id`) REFERENCES `agent_profiles`(`id`) ON UPDATE no action ON DELETE cascade,
15
+ FOREIGN KEY (`prompt_id`) REFERENCES `prompts`(`id`) ON UPDATE no action ON DELETE cascade
16
+ );
17
+ --> statement-breakpoint
18
+ CREATE TABLE `agent_profiles` (
19
+ `id` text PRIMARY KEY NOT NULL,
20
+ `name` text NOT NULL,
21
+ `provider_id` text,
22
+ `options` text,
23
+ `system_prompt` text,
24
+ `instructions` text,
25
+ `temperature` integer,
26
+ `max_tokens` integer,
27
+ `project_id` text,
28
+ `created_at` text NOT NULL,
29
+ `updated_at` text NOT NULL,
30
+ FOREIGN KEY (`provider_id`) REFERENCES `providers`(`id`) ON UPDATE no action ON DELETE no action,
31
+ FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE no action ON DELETE no action
32
+ );
33
+ --> statement-breakpoint
34
+ CREATE UNIQUE INDEX `agent_profiles_project_name_unique` ON `agent_profiles` (`project_id`,`name`);--> statement-breakpoint
35
+ CREATE TABLE `agents` (
36
+ `id` text PRIMARY KEY NOT NULL,
37
+ `project_id` text NOT NULL,
38
+ `profile_id` text NOT NULL,
39
+ `name` text NOT NULL,
40
+ `created_at` text NOT NULL,
41
+ `updated_at` text NOT NULL,
42
+ FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE no action ON DELETE cascade,
43
+ FOREIGN KEY (`profile_id`) REFERENCES `agent_profiles`(`id`) ON UPDATE no action ON DELETE no action
44
+ );
45
+ --> statement-breakpoint
46
+ CREATE TABLE `api_keys` (
47
+ `id` text PRIMARY KEY NOT NULL,
48
+ `user_id` text NOT NULL,
49
+ `key_hash` text NOT NULL,
50
+ `name` text NOT NULL,
51
+ `last_used_at` text,
52
+ `created_at` text NOT NULL,
53
+ `updated_at` text NOT NULL,
54
+ FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
55
+ );
56
+ --> statement-breakpoint
57
+ CREATE TABLE `companies` (
58
+ `id` text PRIMARY KEY NOT NULL,
59
+ `name` text NOT NULL,
60
+ `created_at` text NOT NULL,
61
+ `updated_at` text NOT NULL
62
+ );
63
+ --> statement-breakpoint
64
+ CREATE TABLE `epic_tags` (
65
+ `epic_id` text NOT NULL,
66
+ `tag_id` text NOT NULL,
67
+ `created_at` text NOT NULL,
68
+ FOREIGN KEY (`epic_id`) REFERENCES `epics`(`id`) ON UPDATE no action ON DELETE cascade,
69
+ FOREIGN KEY (`tag_id`) REFERENCES `tags`(`id`) ON UPDATE no action ON DELETE cascade
70
+ );
71
+ --> statement-breakpoint
72
+ CREATE TABLE `epics` (
73
+ `id` text PRIMARY KEY NOT NULL,
74
+ `project_id` text NOT NULL,
75
+ `title` text NOT NULL,
76
+ `description` text,
77
+ `status_id` text NOT NULL,
78
+ `version` integer DEFAULT 1 NOT NULL,
79
+ `data` text,
80
+ `created_at` text NOT NULL,
81
+ `updated_at` text NOT NULL,
82
+ FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE no action ON DELETE cascade,
83
+ FOREIGN KEY (`status_id`) REFERENCES `statuses`(`id`) ON UPDATE no action ON DELETE no action
84
+ );
85
+ --> statement-breakpoint
86
+ CREATE TABLE `memberships` (
87
+ `id` text PRIMARY KEY NOT NULL,
88
+ `user_id` text NOT NULL,
89
+ `company_id` text NOT NULL,
90
+ `role` text NOT NULL,
91
+ `created_at` text NOT NULL,
92
+ `updated_at` text NOT NULL,
93
+ FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade,
94
+ FOREIGN KEY (`company_id`) REFERENCES `companies`(`id`) ON UPDATE no action ON DELETE cascade
95
+ );
96
+ --> statement-breakpoint
97
+ CREATE TABLE `project_paths` (
98
+ `id` text PRIMARY KEY NOT NULL,
99
+ `path` text NOT NULL,
100
+ `last_accessed_at` text NOT NULL,
101
+ `created_at` text NOT NULL
102
+ );
103
+ --> statement-breakpoint
104
+ CREATE UNIQUE INDEX `project_paths_path_unique` ON `project_paths` (`path`);--> statement-breakpoint
105
+ CREATE TABLE `projects` (
106
+ `id` text PRIMARY KEY NOT NULL,
107
+ `name` text NOT NULL,
108
+ `description` text,
109
+ `root_path` text NOT NULL,
110
+ `is_private` integer DEFAULT false,
111
+ `is_template` integer DEFAULT 0,
112
+ `owner_user_id` text,
113
+ `created_at` text NOT NULL,
114
+ `updated_at` text NOT NULL
115
+ );
116
+ --> statement-breakpoint
117
+ CREATE TABLE `prompt_tags` (
118
+ `prompt_id` text NOT NULL,
119
+ `tag_id` text NOT NULL,
120
+ `created_at` text NOT NULL,
121
+ FOREIGN KEY (`prompt_id`) REFERENCES `prompts`(`id`) ON UPDATE no action ON DELETE cascade,
122
+ FOREIGN KEY (`tag_id`) REFERENCES `tags`(`id`) ON UPDATE no action ON DELETE cascade
123
+ );
124
+ --> statement-breakpoint
125
+ CREATE TABLE `prompts` (
126
+ `id` text PRIMARY KEY NOT NULL,
127
+ `project_id` text,
128
+ `title` text NOT NULL,
129
+ `content` text NOT NULL,
130
+ `version` integer DEFAULT 1 NOT NULL,
131
+ `created_at` text NOT NULL,
132
+ `updated_at` text NOT NULL,
133
+ FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE no action ON DELETE cascade
134
+ );
135
+ --> statement-breakpoint
136
+ CREATE TABLE `record_tags` (
137
+ `record_id` text NOT NULL,
138
+ `tag_id` text NOT NULL,
139
+ `created_at` text NOT NULL,
140
+ FOREIGN KEY (`record_id`) REFERENCES `records`(`id`) ON UPDATE no action ON DELETE cascade,
141
+ FOREIGN KEY (`tag_id`) REFERENCES `tags`(`id`) ON UPDATE no action ON DELETE cascade
142
+ );
143
+ --> statement-breakpoint
144
+ CREATE TABLE `records` (
145
+ `id` text PRIMARY KEY NOT NULL,
146
+ `epic_id` text NOT NULL,
147
+ `type` text NOT NULL DEFAULT 'note',
148
+ `data` text NOT NULL DEFAULT '{}',
149
+ `version` integer DEFAULT 1 NOT NULL,
150
+ `created_at` text NOT NULL,
151
+ `updated_at` text NOT NULL,
152
+ FOREIGN KEY (`epic_id`) REFERENCES `epics`(`id`) ON UPDATE no action ON DELETE cascade
153
+ );
154
+ --> statement-breakpoint
155
+ CREATE TABLE `sessions` (
156
+ `id` text PRIMARY KEY NOT NULL,
157
+ `epic_id` text, -- nullable: sessions may exist without epic
158
+ `agent_id` text,
159
+ `tmux_session_id` text,
160
+ `status` text NOT NULL,
161
+ `started_at` text NOT NULL,
162
+ `ended_at` text,
163
+ `last_activity_at` text, -- added for activity tracking
164
+ `activity_state` text, -- 'idle' | 'busy'
165
+ `busy_since` text, -- timestamp when became busy
166
+ `created_at` text NOT NULL,
167
+ `updated_at` text NOT NULL,
168
+ FOREIGN KEY (`epic_id`) REFERENCES `epics`(`id`) ON UPDATE no action ON DELETE set null,
169
+ FOREIGN KEY (`agent_id`) REFERENCES `agents`(`id`) ON UPDATE no action ON DELETE restrict
170
+ );
171
+ --> statement-breakpoint
172
+ CREATE TABLE `settings` (
173
+ `id` text PRIMARY KEY NOT NULL,
174
+ `key` text NOT NULL,
175
+ `value` text NOT NULL,
176
+ `created_at` text NOT NULL,
177
+ `updated_at` text NOT NULL
178
+ );
179
+ --> statement-breakpoint
180
+ CREATE UNIQUE INDEX `settings_key_unique` ON `settings` (`key`);--> statement-breakpoint
181
+ CREATE TABLE `statuses` (
182
+ `id` text PRIMARY KEY NOT NULL,
183
+ `project_id` text NOT NULL,
184
+ `label` text NOT NULL,
185
+ `color` text NOT NULL,
186
+ `position` integer NOT NULL,
187
+ `created_at` text NOT NULL,
188
+ `updated_at` text NOT NULL,
189
+ FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE no action ON DELETE cascade
190
+ );
191
+ --> statement-breakpoint
192
+ CREATE UNIQUE INDEX `statuses_project_position_idx` ON `statuses` (`project_id`,`position`);--> statement-breakpoint
193
+ CREATE TABLE `tags` (
194
+ `id` text PRIMARY KEY NOT NULL,
195
+ `project_id` text,
196
+ `name` text NOT NULL,
197
+ `created_at` text NOT NULL,
198
+ `updated_at` text NOT NULL,
199
+ FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE no action ON DELETE cascade
200
+ );
201
+ --> statement-breakpoint
202
+ CREATE TABLE `transcripts` (
203
+ `id` text PRIMARY KEY NOT NULL,
204
+ `session_id` text NOT NULL,
205
+ `content` text NOT NULL,
206
+ `archived_at` text,
207
+ `created_at` text NOT NULL,
208
+ `updated_at` text NOT NULL,
209
+ FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON UPDATE no action ON DELETE cascade
210
+ );
211
+ --> statement-breakpoint
212
+ CREATE TABLE `users` (
213
+ `id` text PRIMARY KEY NOT NULL,
214
+ `email` text NOT NULL,
215
+ `name` text,
216
+ `created_at` text NOT NULL,
217
+ `updated_at` text NOT NULL
218
+ );
219
+ --> statement-breakpoint
220
+ CREATE UNIQUE INDEX `users_email_unique` ON `users` (`email`);
@@ -0,0 +1,7 @@
1
+ -- This migration is now a no-op because all changes were backported to migration 0000
2
+ -- Originally:
3
+ -- - Created providers table
4
+ -- - Migrated agent_profiles from provider/model to provider_id
5
+ -- - Migrated records table from key/value to type/data
6
+ -- All these changes are now included in the initial schema to support fresh database creation without errors.
7
+ SELECT 1 WHERE 1=0;
@@ -0,0 +1,19 @@
1
+ PRAGMA foreign_keys=OFF;--> statement-breakpoint
2
+ CREATE TABLE `__new_sessions` (
3
+ `id` text PRIMARY KEY NOT NULL,
4
+ `epic_id` text,
5
+ `agent_id` text,
6
+ `tmux_session_id` text,
7
+ `status` text NOT NULL,
8
+ `started_at` text NOT NULL,
9
+ `ended_at` text,
10
+ `created_at` text NOT NULL,
11
+ `updated_at` text NOT NULL,
12
+ FOREIGN KEY (`epic_id`) REFERENCES `epics`(`id`) ON UPDATE no action ON DELETE set null,
13
+ FOREIGN KEY (`agent_id`) REFERENCES `agents`(`id`) ON UPDATE no action ON DELETE restrict
14
+ );
15
+ --> statement-breakpoint
16
+ INSERT INTO `__new_sessions`("id", "epic_id", "agent_id", "tmux_session_id", "status", "started_at", "ended_at", "created_at", "updated_at") SELECT "id", "epic_id", "agent_id", "tmux_session_id", "status", "started_at", "ended_at", "created_at", "updated_at" FROM `sessions`;--> statement-breakpoint
17
+ DROP TABLE `sessions`;--> statement-breakpoint
18
+ ALTER TABLE `__new_sessions` RENAME TO `sessions`;--> statement-breakpoint
19
+ PRAGMA foreign_keys=ON;
@@ -0,0 +1,21 @@
1
+ CREATE TABLE `documents` (
2
+ `id` text PRIMARY KEY NOT NULL,
3
+ `project_id` text,
4
+ `title` text NOT NULL,
5
+ `slug` text NOT NULL,
6
+ `content_md` text NOT NULL,
7
+ `version` integer DEFAULT 1 NOT NULL,
8
+ `archived` integer DEFAULT false NOT NULL,
9
+ `created_at` text NOT NULL,
10
+ `updated_at` text NOT NULL,
11
+ FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE no action ON DELETE cascade
12
+ );
13
+ --> statement-breakpoint
14
+ CREATE TABLE `document_tags` (
15
+ `document_id` text NOT NULL,
16
+ `tag_id` text NOT NULL,
17
+ FOREIGN KEY (`document_id`) REFERENCES `documents`(`id`) ON UPDATE no action ON DELETE cascade,
18
+ FOREIGN KEY (`tag_id`) REFERENCES `tags`(`id`) ON UPDATE no action ON DELETE cascade
19
+ );
20
+ --> statement-breakpoint
21
+ CREATE UNIQUE INDEX `documents_project_slug_unique` ON `documents` (`project_id`,`slug`);
@@ -0,0 +1,5 @@
1
+ ALTER TABLE `providers` ADD COLUMN `mcp_configured` integer DEFAULT false NOT NULL;
2
+ --> statement-breakpoint
3
+ ALTER TABLE `providers` ADD COLUMN `mcp_endpoint` text;
4
+ --> statement-breakpoint
5
+ ALTER TABLE `providers` ADD COLUMN `mcp_registered_at` text;
@@ -0,0 +1,3 @@
1
+ -- This migration is now a no-op because instructions column was backported to migration 0000
2
+ -- Originally added instructions column to agent_profiles table.
3
+ SELECT 1 WHERE 1=0;
@@ -0,0 +1,15 @@
1
+ CREATE TABLE `epic_comments` (
2
+ `id` text PRIMARY KEY NOT NULL,
3
+ `epic_id` text NOT NULL,
4
+ `author_name` text NOT NULL,
5
+ `content` text NOT NULL,
6
+ `created_at` text NOT NULL,
7
+ `updated_at` text NOT NULL,
8
+ FOREIGN KEY (`epic_id`) REFERENCES `epics`(`id`) ON UPDATE no action ON DELETE cascade
9
+ );
10
+ --> statement-breakpoint
11
+ CREATE INDEX `epic_comments_epic_id_created_at_idx` ON `epic_comments` (`epic_id`,`created_at`);--> statement-breakpoint
12
+ ALTER TABLE `epics` ADD `parent_id` text REFERENCES epics(id) ON DELETE set null;--> statement-breakpoint
13
+ ALTER TABLE `epics` ADD `agent_id` text REFERENCES agents(id) ON DELETE set null;--> statement-breakpoint
14
+ CREATE INDEX `epics_parent_id_idx` ON `epics` (`parent_id`);--> statement-breakpoint
15
+ CREATE INDEX `epics_agent_id_idx` ON `epics` (`agent_id`);
@@ -0,0 +1,7 @@
1
+ -- This migration is now a no-op because options column was backported to migration 0000
2
+ -- Originally:
3
+ -- - Added options column to agent_profiles
4
+ -- - Migrated model column data into options column
5
+ -- - Updated foreign key constraints for sessions table
6
+ -- All relevant schema changes are now included in the initial schema to support fresh database creation without errors.
7
+ SELECT 1 WHERE 1=0;
@@ -0,0 +1,31 @@
1
+ PRAGMA foreign_keys=OFF;--> statement-breakpoint
2
+ CREATE TABLE `events` (
3
+ `id` text PRIMARY KEY NOT NULL,
4
+ `name` text NOT NULL,
5
+ `payload_json` text NOT NULL,
6
+ `request_id` text,
7
+ `published_at` text NOT NULL
8
+ );
9
+ --> statement-breakpoint
10
+ CREATE INDEX `events_name_idx` ON `events` (`name`);
11
+ --> statement-breakpoint
12
+ CREATE INDEX `events_published_at_idx` ON `events` (`published_at`);
13
+ --> statement-breakpoint
14
+ CREATE TABLE `event_handlers` (
15
+ `id` text PRIMARY KEY NOT NULL,
16
+ `event_id` text NOT NULL,
17
+ `handler` text NOT NULL,
18
+ `status` text NOT NULL,
19
+ `detail` text,
20
+ `started_at` text NOT NULL,
21
+ `ended_at` text,
22
+ FOREIGN KEY (`event_id`) REFERENCES `events`(`id`) ON UPDATE no action ON DELETE cascade
23
+ );
24
+ --> statement-breakpoint
25
+ CREATE INDEX `event_handlers_event_id_idx` ON `event_handlers` (`event_id`);
26
+ --> statement-breakpoint
27
+ CREATE INDEX `event_handlers_handler_idx` ON `event_handlers` (`handler`);
28
+ --> statement-breakpoint
29
+ CREATE INDEX `event_handlers_status_idx` ON `event_handlers` (`status`);
30
+ --> statement-breakpoint
31
+ PRAGMA foreign_keys=ON;
@@ -0,0 +1,42 @@
1
+ CREATE TABLE `chat_members` (
2
+ `thread_id` text NOT NULL,
3
+ `agent_id` text NOT NULL,
4
+ `created_at` text NOT NULL,
5
+ FOREIGN KEY (`thread_id`) REFERENCES `chat_threads`(`id`) ON UPDATE no action ON DELETE cascade,
6
+ FOREIGN KEY (`agent_id`) REFERENCES `agents`(`id`) ON UPDATE no action ON DELETE cascade
7
+ );
8
+ --> statement-breakpoint
9
+ CREATE TABLE `chat_message_targets` (
10
+ `id` text PRIMARY KEY NOT NULL,
11
+ `message_id` text NOT NULL,
12
+ `agent_id` text NOT NULL,
13
+ `created_at` text NOT NULL,
14
+ FOREIGN KEY (`message_id`) REFERENCES `chat_messages`(`id`) ON UPDATE no action ON DELETE cascade,
15
+ FOREIGN KEY (`agent_id`) REFERENCES `agents`(`id`) ON UPDATE no action ON DELETE cascade
16
+ );
17
+ --> statement-breakpoint
18
+ CREATE TABLE `chat_messages` (
19
+ `id` text PRIMARY KEY NOT NULL,
20
+ `thread_id` text NOT NULL,
21
+ `author_type` text NOT NULL,
22
+ `author_agent_id` text,
23
+ `content` text NOT NULL,
24
+ `created_at` text NOT NULL,
25
+ FOREIGN KEY (`thread_id`) REFERENCES `chat_threads`(`id`) ON UPDATE no action ON DELETE cascade,
26
+ FOREIGN KEY (`author_agent_id`) REFERENCES `agents`(`id`) ON UPDATE no action ON DELETE set null
27
+ );
28
+ --> statement-breakpoint
29
+ CREATE INDEX `chat_messages_thread_id_idx` ON `chat_messages` (`thread_id`);--> statement-breakpoint
30
+ CREATE INDEX `chat_messages_created_at_idx` ON `chat_messages` (`created_at`);--> statement-breakpoint
31
+ CREATE TABLE `chat_threads` (
32
+ `id` text PRIMARY KEY NOT NULL,
33
+ `project_id` text NOT NULL,
34
+ `title` text,
35
+ `is_group` integer DEFAULT false NOT NULL,
36
+ `created_by_type` text NOT NULL,
37
+ `created_by_user_id` text,
38
+ `created_by_agent_id` text,
39
+ `created_at` text NOT NULL,
40
+ `updated_at` text NOT NULL,
41
+ FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON UPDATE no action ON DELETE cascade
42
+ );
@@ -0,0 +1,11 @@
1
+ CREATE TABLE `chat_message_reads` (
2
+ `message_id` text NOT NULL,
3
+ `agent_id` text NOT NULL,
4
+ `read_at` text NOT NULL,
5
+ FOREIGN KEY (`message_id`) REFERENCES `chat_messages`(`id`) ON UPDATE no action ON DELETE cascade,
6
+ FOREIGN KEY (`agent_id`) REFERENCES `agents`(`id`) ON UPDATE no action ON DELETE cascade
7
+ );
8
+ --> statement-breakpoint
9
+ CREATE UNIQUE INDEX `chat_message_reads_pk` ON `chat_message_reads` (`message_id`,`agent_id`);--> statement-breakpoint
10
+ CREATE INDEX `chat_message_reads_message_id_idx` ON `chat_message_reads` (`message_id`);--> statement-breakpoint
11
+ CREATE INDEX `chat_message_reads_agent_id_idx` ON `chat_message_reads` (`agent_id`);
@@ -0,0 +1,16 @@
1
+ CREATE TABLE `chat_thread_session_invites` (
2
+ `id` text PRIMARY KEY NOT NULL,
3
+ `thread_id` text NOT NULL,
4
+ `agent_id` text NOT NULL,
5
+ `session_id` text NOT NULL,
6
+ `invite_message_id` text NOT NULL,
7
+ `sent_at` text NOT NULL,
8
+ `acknowledged_at` text,
9
+ FOREIGN KEY (`thread_id`) REFERENCES `chat_threads`(`id`) ON UPDATE no action ON DELETE cascade,
10
+ FOREIGN KEY (`agent_id`) REFERENCES `agents`(`id`) ON UPDATE no action ON DELETE cascade,
11
+ FOREIGN KEY (`invite_message_id`) REFERENCES `chat_messages`(`id`) ON UPDATE no action ON DELETE cascade
12
+ );
13
+ --> statement-breakpoint
14
+ CREATE UNIQUE INDEX `chat_thread_session_invites_unique` ON `chat_thread_session_invites` (`thread_id`,`agent_id`,`session_id`);--> statement-breakpoint
15
+ CREATE INDEX `chat_thread_session_invites_thread_agent_idx` ON `chat_thread_session_invites` (`thread_id`,`agent_id`);--> statement-breakpoint
16
+ ALTER TABLE `chat_threads` ADD `last_user_cleared_at` text;
@@ -0,0 +1,8 @@
1
+ -- Add activity tracking columns to sessions table
2
+ -- Note: These columns exist in 0000 for the schema, but due to migration ordering/snapshot issues,
3
+ -- they may not exist in actual databases. Using ALTER TABLE ensures they're added if missing.
4
+ ALTER TABLE sessions ADD COLUMN last_activity_at text;
5
+ --> statement-breakpoint
6
+ ALTER TABLE sessions ADD COLUMN activity_state text;
7
+ --> statement-breakpoint
8
+ ALTER TABLE sessions ADD COLUMN busy_since text;
@@ -0,0 +1,18 @@
1
+ CREATE TABLE `chat_activities` (
2
+ `id` text PRIMARY KEY NOT NULL,
3
+ `thread_id` text NOT NULL,
4
+ `agent_id` text NOT NULL,
5
+ `title` text NOT NULL,
6
+ `status` text NOT NULL,
7
+ `started_at` text NOT NULL,
8
+ `finished_at` text,
9
+ `start_message_id` text,
10
+ `finish_message_id` text,
11
+ FOREIGN KEY (`thread_id`) REFERENCES `chat_threads`(`id`) ON UPDATE no action ON DELETE cascade,
12
+ FOREIGN KEY (`agent_id`) REFERENCES `agents`(`id`) ON UPDATE no action ON DELETE cascade,
13
+ FOREIGN KEY (`start_message_id`) REFERENCES `chat_messages`(`id`) ON UPDATE no action ON DELETE set null,
14
+ FOREIGN KEY (`finish_message_id`) REFERENCES `chat_messages`(`id`) ON UPDATE no action ON DELETE set null
15
+ );
16
+ --> statement-breakpoint
17
+ CREATE INDEX `chat_activities_thread_agent_idx` ON `chat_activities` (`thread_id`,`agent_id`);--> statement-breakpoint
18
+ CREATE INDEX `chat_activities_started_at_idx` ON `chat_activities` (`started_at`);
@@ -0,0 +1,5 @@
1
+ -- This migration is now a no-op for fresh databases (0013 was fixed to create the correct schema)
2
+ -- For existing databases that already ran the old 0013, manual migration may be needed
3
+ -- No-op statement required for Drizzle migrator
4
+ SELECT 1 WHERE 1=0;
5
+
@@ -0,0 +1,4 @@
1
+ -- This migration is now a no-op because is_template column was backported to migration 0000
2
+ -- Originally added is_template column to projects table, but this is now included in the initial schema
3
+ -- to support fresh database creation without errors.
4
+ SELECT 1 WHERE 1=0;
@@ -0,0 +1,4 @@
1
+ -- This migration is now a no-op because agent_profiles.project_id column and unique index were backported to migration 0000
2
+ -- Originally made agent_profiles project-scoped by adding project_id column and unique index,
3
+ -- but this is now included in the initial schema to support fresh database creation without errors.
4
+ SELECT 1 WHERE 1=0;