@mtkn/mega-agent 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 (295) hide show
  1. package/dist/artifact/artifact.repository.d.ts +17 -0
  2. package/dist/artifact/artifact.repository.d.ts.map +1 -0
  3. package/dist/artifact/artifact.repository.js +66 -0
  4. package/dist/artifact/artifact.repository.js.map +1 -0
  5. package/dist/artifact/artifact.service.d.ts +22 -0
  6. package/dist/artifact/artifact.service.d.ts.map +1 -0
  7. package/dist/artifact/artifact.service.js +87 -0
  8. package/dist/artifact/artifact.service.js.map +1 -0
  9. package/dist/artifact/artifact.types.d.ts +41 -0
  10. package/dist/artifact/artifact.types.d.ts.map +1 -0
  11. package/dist/artifact/artifact.types.js +6 -0
  12. package/dist/artifact/artifact.types.js.map +1 -0
  13. package/dist/artifact/index.d.ts +6 -0
  14. package/dist/artifact/index.d.ts.map +1 -0
  15. package/dist/artifact/index.js +4 -0
  16. package/dist/artifact/index.js.map +1 -0
  17. package/dist/chat/chat-memory.integration.d.ts +59 -0
  18. package/dist/chat/chat-memory.integration.d.ts.map +1 -0
  19. package/dist/chat/chat-memory.integration.js +148 -0
  20. package/dist/chat/chat-memory.integration.js.map +1 -0
  21. package/dist/chat/chat.repository.d.ts +58 -0
  22. package/dist/chat/chat.repository.d.ts.map +1 -0
  23. package/dist/chat/chat.repository.js +128 -0
  24. package/dist/chat/chat.repository.js.map +1 -0
  25. package/dist/chat/chat.service.d.ts +28 -0
  26. package/dist/chat/chat.service.d.ts.map +1 -0
  27. package/dist/chat/chat.service.js +217 -0
  28. package/dist/chat/chat.service.js.map +1 -0
  29. package/dist/chat/chat.types.d.ts +198 -0
  30. package/dist/chat/chat.types.d.ts.map +1 -0
  31. package/dist/chat/chat.types.js +8 -0
  32. package/dist/chat/chat.types.js.map +1 -0
  33. package/dist/chat/index.d.ts +17 -0
  34. package/dist/chat/index.d.ts.map +1 -0
  35. package/dist/chat/index.js +16 -0
  36. package/dist/chat/index.js.map +1 -0
  37. package/dist/chat/memory-detector.d.ts +53 -0
  38. package/dist/chat/memory-detector.d.ts.map +1 -0
  39. package/dist/chat/memory-detector.js +172 -0
  40. package/dist/chat/memory-detector.js.map +1 -0
  41. package/dist/chat/prompts/index.d.ts +6 -0
  42. package/dist/chat/prompts/index.d.ts.map +1 -0
  43. package/dist/chat/prompts/index.js +6 -0
  44. package/dist/chat/prompts/index.js.map +1 -0
  45. package/dist/chat/prompts/system.prompts.d.ts +23 -0
  46. package/dist/chat/prompts/system.prompts.d.ts.map +1 -0
  47. package/dist/chat/prompts/system.prompts.js +102 -0
  48. package/dist/chat/prompts/system.prompts.js.map +1 -0
  49. package/dist/chat/response-parser.d.ts +24 -0
  50. package/dist/chat/response-parser.d.ts.map +1 -0
  51. package/dist/chat/response-parser.js +198 -0
  52. package/dist/chat/response-parser.js.map +1 -0
  53. package/dist/chat/response.types.d.ts +90 -0
  54. package/dist/chat/response.types.d.ts.map +1 -0
  55. package/dist/chat/response.types.js +6 -0
  56. package/dist/chat/response.types.js.map +1 -0
  57. package/dist/common/errors.d.ts +60 -0
  58. package/dist/common/errors.d.ts.map +1 -0
  59. package/dist/common/errors.js +105 -0
  60. package/dist/common/errors.js.map +1 -0
  61. package/dist/common/index.d.ts +3 -0
  62. package/dist/common/index.d.ts.map +1 -0
  63. package/dist/common/index.js +3 -0
  64. package/dist/common/index.js.map +1 -0
  65. package/dist/common/retry.d.ts +23 -0
  66. package/dist/common/retry.d.ts.map +1 -0
  67. package/dist/common/retry.js +57 -0
  68. package/dist/common/retry.js.map +1 -0
  69. package/dist/create-mega-agent.d.ts +100 -0
  70. package/dist/create-mega-agent.d.ts.map +1 -0
  71. package/dist/create-mega-agent.js +153 -0
  72. package/dist/create-mega-agent.js.map +1 -0
  73. package/dist/embedding/embedding.service.d.ts +34 -0
  74. package/dist/embedding/embedding.service.d.ts.map +1 -0
  75. package/dist/embedding/embedding.service.js +68 -0
  76. package/dist/embedding/embedding.service.js.map +1 -0
  77. package/dist/embedding/embedding.types.d.ts +38 -0
  78. package/dist/embedding/embedding.types.d.ts.map +1 -0
  79. package/dist/embedding/embedding.types.js +6 -0
  80. package/dist/embedding/embedding.types.js.map +1 -0
  81. package/dist/embedding/index.d.ts +9 -0
  82. package/dist/embedding/index.d.ts.map +1 -0
  83. package/dist/embedding/index.js +9 -0
  84. package/dist/embedding/index.js.map +1 -0
  85. package/dist/embedding/providers/base.provider.d.ts +29 -0
  86. package/dist/embedding/providers/base.provider.d.ts.map +1 -0
  87. package/dist/embedding/providers/base.provider.js +19 -0
  88. package/dist/embedding/providers/base.provider.js.map +1 -0
  89. package/dist/embedding/providers/index.d.ts +7 -0
  90. package/dist/embedding/providers/index.d.ts.map +1 -0
  91. package/dist/embedding/providers/index.js +7 -0
  92. package/dist/embedding/providers/index.js.map +1 -0
  93. package/dist/embedding/providers/openai.provider.d.ts +17 -0
  94. package/dist/embedding/providers/openai.provider.d.ts.map +1 -0
  95. package/dist/embedding/providers/openai.provider.js +73 -0
  96. package/dist/embedding/providers/openai.provider.js.map +1 -0
  97. package/dist/http/chat.controller.d.ts +30 -0
  98. package/dist/http/chat.controller.d.ts.map +1 -0
  99. package/dist/http/chat.controller.js +163 -0
  100. package/dist/http/chat.controller.js.map +1 -0
  101. package/dist/http/chat.routes.d.ts +5 -0
  102. package/dist/http/chat.routes.d.ts.map +1 -0
  103. package/dist/http/chat.routes.js +38 -0
  104. package/dist/http/chat.routes.js.map +1 -0
  105. package/dist/http/chat.validation.d.ts +70 -0
  106. package/dist/http/chat.validation.d.ts.map +1 -0
  107. package/dist/http/chat.validation.js +28 -0
  108. package/dist/http/chat.validation.js.map +1 -0
  109. package/dist/incident/incident.correlator.d.ts +39 -0
  110. package/dist/incident/incident.correlator.d.ts.map +1 -0
  111. package/dist/incident/incident.correlator.js +129 -0
  112. package/dist/incident/incident.correlator.js.map +1 -0
  113. package/dist/incident/incident.detector.d.ts +62 -0
  114. package/dist/incident/incident.detector.d.ts.map +1 -0
  115. package/dist/incident/incident.detector.js +192 -0
  116. package/dist/incident/incident.detector.js.map +1 -0
  117. package/dist/incident/incident.repository.d.ts +79 -0
  118. package/dist/incident/incident.repository.d.ts.map +1 -0
  119. package/dist/incident/incident.repository.js +216 -0
  120. package/dist/incident/incident.repository.js.map +1 -0
  121. package/dist/incident/incident.service.d.ts +71 -0
  122. package/dist/incident/incident.service.d.ts.map +1 -0
  123. package/dist/incident/incident.service.js +217 -0
  124. package/dist/incident/incident.service.js.map +1 -0
  125. package/dist/incident/incident.types.d.ts +115 -0
  126. package/dist/incident/incident.types.d.ts.map +1 -0
  127. package/dist/incident/incident.types.js +6 -0
  128. package/dist/incident/incident.types.js.map +1 -0
  129. package/dist/incident/index.d.ts +13 -0
  130. package/dist/incident/index.d.ts.map +1 -0
  131. package/dist/incident/index.js +13 -0
  132. package/dist/incident/index.js.map +1 -0
  133. package/dist/index.d.ts +26 -0
  134. package/dist/index.d.ts.map +1 -0
  135. package/dist/index.js +26 -0
  136. package/dist/index.js.map +1 -0
  137. package/dist/llm/index.d.ts +8 -0
  138. package/dist/llm/index.d.ts.map +1 -0
  139. package/dist/llm/index.js +9 -0
  140. package/dist/llm/index.js.map +1 -0
  141. package/dist/llm/llm.service.d.ts +52 -0
  142. package/dist/llm/llm.service.d.ts.map +1 -0
  143. package/dist/llm/llm.service.js +141 -0
  144. package/dist/llm/llm.service.js.map +1 -0
  145. package/dist/llm/llm.types.d.ts +77 -0
  146. package/dist/llm/llm.types.d.ts.map +1 -0
  147. package/dist/llm/llm.types.js +5 -0
  148. package/dist/llm/llm.types.js.map +1 -0
  149. package/dist/llm/providers/anthropic.provider.d.ts +16 -0
  150. package/dist/llm/providers/anthropic.provider.d.ts.map +1 -0
  151. package/dist/llm/providers/anthropic.provider.js +118 -0
  152. package/dist/llm/providers/anthropic.provider.js.map +1 -0
  153. package/dist/llm/providers/base.provider.d.ts +17 -0
  154. package/dist/llm/providers/base.provider.d.ts.map +1 -0
  155. package/dist/llm/providers/base.provider.js +18 -0
  156. package/dist/llm/providers/base.provider.js.map +1 -0
  157. package/dist/llm/providers/custom.provider.d.ts +15 -0
  158. package/dist/llm/providers/custom.provider.d.ts.map +1 -0
  159. package/dist/llm/providers/custom.provider.js +110 -0
  160. package/dist/llm/providers/custom.provider.js.map +1 -0
  161. package/dist/llm/providers/gemini.provider.d.ts +19 -0
  162. package/dist/llm/providers/gemini.provider.d.ts.map +1 -0
  163. package/dist/llm/providers/gemini.provider.js +98 -0
  164. package/dist/llm/providers/gemini.provider.js.map +1 -0
  165. package/dist/llm/providers/index.d.ts +10 -0
  166. package/dist/llm/providers/index.d.ts.map +1 -0
  167. package/dist/llm/providers/index.js +10 -0
  168. package/dist/llm/providers/index.js.map +1 -0
  169. package/dist/llm/providers/openai.provider.d.ts +15 -0
  170. package/dist/llm/providers/openai.provider.d.ts.map +1 -0
  171. package/dist/llm/providers/openai.provider.js +57 -0
  172. package/dist/llm/providers/openai.provider.js.map +1 -0
  173. package/dist/mcp/index.d.ts +13 -0
  174. package/dist/mcp/index.d.ts.map +1 -0
  175. package/dist/mcp/index.js +17 -0
  176. package/dist/mcp/index.js.map +1 -0
  177. package/dist/mcp/mcp.client.d.ts +57 -0
  178. package/dist/mcp/mcp.client.d.ts.map +1 -0
  179. package/dist/mcp/mcp.client.js +150 -0
  180. package/dist/mcp/mcp.client.js.map +1 -0
  181. package/dist/mcp/mcp.service.d.ts +64 -0
  182. package/dist/mcp/mcp.service.d.ts.map +1 -0
  183. package/dist/mcp/mcp.service.js +207 -0
  184. package/dist/mcp/mcp.service.js.map +1 -0
  185. package/dist/mcp/mcp.types.d.ts +142 -0
  186. package/dist/mcp/mcp.types.d.ts.map +1 -0
  187. package/dist/mcp/mcp.types.js +6 -0
  188. package/dist/mcp/mcp.types.js.map +1 -0
  189. package/dist/mcp/presets/common-sources.d.ts +28 -0
  190. package/dist/mcp/presets/common-sources.d.ts.map +1 -0
  191. package/dist/mcp/presets/common-sources.js +114 -0
  192. package/dist/mcp/presets/common-sources.js.map +1 -0
  193. package/dist/mcp/presets/index.d.ts +5 -0
  194. package/dist/mcp/presets/index.d.ts.map +1 -0
  195. package/dist/mcp/presets/index.js +5 -0
  196. package/dist/mcp/presets/index.js.map +1 -0
  197. package/dist/mcp/source.repository.d.ts +68 -0
  198. package/dist/mcp/source.repository.d.ts.map +1 -0
  199. package/dist/mcp/source.repository.js +114 -0
  200. package/dist/mcp/source.repository.js.map +1 -0
  201. package/dist/mcp/source.service.d.ts +74 -0
  202. package/dist/mcp/source.service.d.ts.map +1 -0
  203. package/dist/mcp/source.service.js +181 -0
  204. package/dist/mcp/source.service.js.map +1 -0
  205. package/dist/mcp/transports/http.transport.d.ts +45 -0
  206. package/dist/mcp/transports/http.transport.d.ts.map +1 -0
  207. package/dist/mcp/transports/http.transport.js +64 -0
  208. package/dist/mcp/transports/http.transport.js.map +1 -0
  209. package/dist/mcp/transports/index.d.ts +7 -0
  210. package/dist/mcp/transports/index.d.ts.map +1 -0
  211. package/dist/mcp/transports/index.js +7 -0
  212. package/dist/mcp/transports/index.js.map +1 -0
  213. package/dist/mcp/transports/stdio.transport.d.ts +21 -0
  214. package/dist/mcp/transports/stdio.transport.d.ts.map +1 -0
  215. package/dist/mcp/transports/stdio.transport.js +29 -0
  216. package/dist/mcp/transports/stdio.transport.js.map +1 -0
  217. package/dist/memory/index.d.ts +10 -0
  218. package/dist/memory/index.d.ts.map +1 -0
  219. package/dist/memory/index.js +10 -0
  220. package/dist/memory/index.js.map +1 -0
  221. package/dist/memory/memory.repository.d.ts +62 -0
  222. package/dist/memory/memory.repository.d.ts.map +1 -0
  223. package/dist/memory/memory.repository.js +148 -0
  224. package/dist/memory/memory.repository.js.map +1 -0
  225. package/dist/memory/memory.service.d.ts +63 -0
  226. package/dist/memory/memory.service.d.ts.map +1 -0
  227. package/dist/memory/memory.service.js +263 -0
  228. package/dist/memory/memory.service.js.map +1 -0
  229. package/dist/memory/memory.types.d.ts +104 -0
  230. package/dist/memory/memory.types.d.ts.map +1 -0
  231. package/dist/memory/memory.types.js +8 -0
  232. package/dist/memory/memory.types.js.map +1 -0
  233. package/dist/qdrant/index.d.ts +8 -0
  234. package/dist/qdrant/index.d.ts.map +1 -0
  235. package/dist/qdrant/index.js +6 -0
  236. package/dist/qdrant/index.js.map +1 -0
  237. package/dist/qdrant/qdrant.service.d.ts +63 -0
  238. package/dist/qdrant/qdrant.service.d.ts.map +1 -0
  239. package/dist/qdrant/qdrant.service.js +201 -0
  240. package/dist/qdrant/qdrant.service.js.map +1 -0
  241. package/dist/qdrant/qdrant.types.d.ts +55 -0
  242. package/dist/qdrant/qdrant.types.d.ts.map +1 -0
  243. package/dist/qdrant/qdrant.types.js +6 -0
  244. package/dist/qdrant/qdrant.types.js.map +1 -0
  245. package/dist/tools/core-tools.d.ts +7 -0
  246. package/dist/tools/core-tools.d.ts.map +1 -0
  247. package/dist/tools/core-tools.js +52 -0
  248. package/dist/tools/core-tools.js.map +1 -0
  249. package/dist/tools/index.d.ts +4 -0
  250. package/dist/tools/index.d.ts.map +1 -0
  251. package/dist/tools/index.js +3 -0
  252. package/dist/tools/index.js.map +1 -0
  253. package/dist/tools/tool-registry.d.ts +51 -0
  254. package/dist/tools/tool-registry.d.ts.map +1 -0
  255. package/dist/tools/tool-registry.js +50 -0
  256. package/dist/tools/tool-registry.js.map +1 -0
  257. package/dist/workflow/actions/base.action.d.ts +50 -0
  258. package/dist/workflow/actions/base.action.d.ts.map +1 -0
  259. package/dist/workflow/actions/base.action.js +59 -0
  260. package/dist/workflow/actions/base.action.js.map +1 -0
  261. package/dist/workflow/actions/incident.action.d.ts +13 -0
  262. package/dist/workflow/actions/incident.action.d.ts.map +1 -0
  263. package/dist/workflow/actions/incident.action.js +70 -0
  264. package/dist/workflow/actions/incident.action.js.map +1 -0
  265. package/dist/workflow/actions/index.d.ts +9 -0
  266. package/dist/workflow/actions/index.d.ts.map +1 -0
  267. package/dist/workflow/actions/index.js +11 -0
  268. package/dist/workflow/actions/index.js.map +1 -0
  269. package/dist/workflow/actions/notify.action.d.ts +18 -0
  270. package/dist/workflow/actions/notify.action.d.ts.map +1 -0
  271. package/dist/workflow/actions/notify.action.js +106 -0
  272. package/dist/workflow/actions/notify.action.js.map +1 -0
  273. package/dist/workflow/actions/report.action.d.ts +13 -0
  274. package/dist/workflow/actions/report.action.d.ts.map +1 -0
  275. package/dist/workflow/actions/report.action.js +64 -0
  276. package/dist/workflow/actions/report.action.js.map +1 -0
  277. package/dist/workflow/index.d.ts +10 -0
  278. package/dist/workflow/index.d.ts.map +1 -0
  279. package/dist/workflow/index.js +11 -0
  280. package/dist/workflow/index.js.map +1 -0
  281. package/dist/workflow/workflow.repository.d.ts +90 -0
  282. package/dist/workflow/workflow.repository.d.ts.map +1 -0
  283. package/dist/workflow/workflow.repository.js +238 -0
  284. package/dist/workflow/workflow.repository.js.map +1 -0
  285. package/dist/workflow/workflow.service.d.ts +98 -0
  286. package/dist/workflow/workflow.service.d.ts.map +1 -0
  287. package/dist/workflow/workflow.service.js +374 -0
  288. package/dist/workflow/workflow.service.js.map +1 -0
  289. package/dist/workflow/workflow.types.d.ts +146 -0
  290. package/dist/workflow/workflow.types.d.ts.map +1 -0
  291. package/dist/workflow/workflow.types.js +8 -0
  292. package/dist/workflow/workflow.types.js.map +1 -0
  293. package/package.json +67 -0
  294. package/prisma/schema.prisma +551 -0
  295. package/scripts/prisma-sync.mjs +187 -0
@@ -0,0 +1,551 @@
1
+ // ============================================================
2
+ // @7style/mega-agent — Reference Prisma Schema
3
+ // ============================================================
4
+ //
5
+ // Bu dosya @7style/mega-agent paketinin ihtiyaç duyduğu veritabanı
6
+ // modellerini ve enum'larını dokümante eder.
7
+ //
8
+ // Host entegrasyonu için: npx mega-agent-prisma-sync --target prisma/schema.prisma
9
+ //
10
+ // Generator ve datasource blokları paketin kendi build'i için gereklidir.
11
+ // Host uygulamanız kendi generator/datasource bloklarını kullanmalıdır.
12
+
13
+ generator client {
14
+ provider = "prisma-client-js"
15
+ }
16
+
17
+ datasource db {
18
+ provider = "postgresql"
19
+ url = env("DATABASE_URL")
20
+ }
21
+ //
22
+ // ── HOST ENTEGRASYON REHBERİ ────────────────────────────────
23
+ //
24
+ // 1. Aşağıdaki tüm enum ve modelleri kendi schema.prisma dosyanıza kopyalayın.
25
+ //
26
+ // 2. userId alanı olan her modele User relation ekleyin:
27
+ //
28
+ // AI modelinde şu satırı ekleyin:
29
+ // user User @relation(fields: [userId], references: [id], onDelete: Cascade)
30
+ //
31
+ // User modelinize şu reverse relation'ları ekleyin:
32
+ // aiMemories AiMemory[]
33
+ // aiMemorySuggestions AiMemorySuggestion[]
34
+ // aiChats AiChat[]
35
+ // aiArtifacts AiArtifact[]
36
+ // aiMcpSources AiMcpSource[]
37
+ // aiWorkflows AiWorkflow[]
38
+ // aiIncidents AiIncident[]
39
+ // aiTimelineEvents AiTimelineEvent[]
40
+ // aiReports AiReport[]
41
+ // aiPreferences AiUserPreferences?
42
+ //
43
+ // 3. NOTIFICATION MODELİ (host tarafından sağlanmalı):
44
+ // Workflow servisi prisma.notification.create() kullanır.
45
+ // Host'unuzda en az şu alanlara sahip bir Notification modeli olmalı:
46
+ //
47
+ // model Notification {
48
+ // id Int @id @default(autoincrement())
49
+ // userId Int @map("user_id")
50
+ // type String
51
+ // title String
52
+ // message String
53
+ // isRead Boolean @default(false) @map("is_read")
54
+ // createdAt DateTime @default(now()) @map("created_at")
55
+ // user User @relation(fields: [userId], references: [id], onDelete: Cascade)
56
+ // @@map("notifications")
57
+ // }
58
+ //
59
+ // 4. Migration çalıştırın:
60
+ // npx prisma migrate dev --name add_mega_agent_models
61
+ //
62
+ // 5. Prisma Client'ı yeniden oluşturun:
63
+ // npx prisma generate
64
+ //
65
+ // ── userId OLAN MODELLER (10 doğrudan) ──────────────────────
66
+ // AiMemory, AiMemorySuggestion, AiChat, AiArtifact,
67
+ // AiIncident, AiMcpSource, AiWorkflow, AiReport,
68
+ // AiTimelineEvent, AiUserPreferences
69
+ //
70
+ // ── userId OLMAYAN MODELLER (2 dolaylı) ─────────────────────
71
+ // AiChatMessage (AiChat.userId üzerinden)
72
+ // AiWorkflowExecution (AiWorkflow.userId üzerinden)
73
+ //
74
+ // ============================================================
75
+
76
+ // ── ENUMS ───────────────────────────────────────────────────
77
+
78
+ enum MemoryType {
79
+ INSIGHT @map("insight")
80
+ PATTERN @map("pattern")
81
+ INCIDENT @map("incident")
82
+ REPORT_SUMMARY @map("report_summary")
83
+ USER_PREFERENCE @map("user_preference")
84
+ FACT @map("fact")
85
+ DECISION @map("decision")
86
+
87
+ @@map("memory_type")
88
+ }
89
+
90
+ enum MemoryStatus {
91
+ ACTIVE @map("active")
92
+ DORMANT @map("dormant")
93
+ ARCHIVED @map("archived")
94
+
95
+ @@map("memory_status")
96
+ }
97
+
98
+ enum MemorySourceType {
99
+ CHAT @map("chat")
100
+ AGENT @map("agent")
101
+ USER @map("user_source")
102
+ SYSTEM @map("system")
103
+
104
+ @@map("memory_source_type")
105
+ }
106
+
107
+ enum ChatMode {
108
+ EXPLORE @map("explore")
109
+ GENERATE @map("generate")
110
+ EXECUTE @map("execute")
111
+ AUTOMATE @map("automate")
112
+
113
+ @@map("chat_mode")
114
+ }
115
+
116
+ enum MessageRole {
117
+ USER @map("user_role")
118
+ ASSISTANT @map("assistant")
119
+ SYSTEM @map("system_role")
120
+
121
+ @@map("message_role")
122
+ }
123
+
124
+ enum ArtifactType {
125
+ REPORT @map("report")
126
+ TABLE @map("table")
127
+ CHART @map("chart")
128
+ CODE @map("code")
129
+ IMAGE @map("image")
130
+ DATASET @map("dataset")
131
+
132
+ @@map("artifact_type")
133
+ }
134
+
135
+ enum SourceStatus {
136
+ CONNECTED @map("connected")
137
+ DISCONNECTED @map("disconnected")
138
+ ERROR @map("error")
139
+ PENDING @map("pending")
140
+
141
+ @@map("source_status")
142
+ }
143
+
144
+ enum IncidentSeverity {
145
+ INFO @map("info")
146
+ LOW @map("low")
147
+ MEDIUM @map("medium")
148
+ HIGH @map("high")
149
+ CRITICAL @map("critical")
150
+
151
+ @@map("incident_severity")
152
+ }
153
+
154
+ enum IncidentStatus {
155
+ OPEN @map("open")
156
+ INVESTIGATING @map("investigating")
157
+ RESOLVED @map("resolved")
158
+ IGNORED @map("ignored")
159
+
160
+ @@map("incident_status")
161
+ }
162
+
163
+ enum EventType {
164
+ SIGNAL @map("signal")
165
+ MEMORY @map("memory")
166
+ REPO @map("repo")
167
+ EVENT @map("event")
168
+ LOG @map("log")
169
+ AI_INCIDENT @map("ai_incident")
170
+ WORKFLOW @map("workflow")
171
+
172
+ @@map("event_type")
173
+ }
174
+
175
+ enum EventSeverity {
176
+ SEV_LOW @map("low")
177
+ SEV_MEDIUM @map("medium")
178
+ SEV_HIGH @map("high")
179
+ SEV_CRITICAL @map("critical")
180
+
181
+ @@map("event_severity")
182
+ }
183
+
184
+ enum AgentWorkflowStatus {
185
+ WF_ACTIVE @map("active")
186
+ WF_PAUSED @map("paused")
187
+ WF_ERROR @map("error")
188
+ WF_DISABLED @map("disabled")
189
+
190
+ @@map("agent_workflow_status")
191
+ }
192
+
193
+ enum TriggerType {
194
+ SCHEDULE @map("schedule")
195
+ EVENT_TRIGGER @map("event")
196
+ THRESHOLD @map("threshold")
197
+ MANUAL @map("manual")
198
+
199
+ @@map("trigger_type")
200
+ }
201
+
202
+ enum ExecutionStatus {
203
+ RUNNING @map("running")
204
+ SUCCESS @map("success")
205
+ FAILED @map("failed")
206
+ CANCELLED @map("cancelled")
207
+
208
+ @@map("execution_status")
209
+ }
210
+
211
+ enum ReportType {
212
+ DAILY @map("daily")
213
+ WEEKLY @map("weekly")
214
+ MONTHLY @map("monthly")
215
+ CUSTOM @map("custom")
216
+
217
+ @@map("report_type")
218
+ }
219
+
220
+ // ── AI MODELS ───────────────────────────────────────────────
221
+
222
+ // ── MEMORY SYSTEM ───────────────────────────────────────────
223
+
224
+ model AiMemory {
225
+ id String @id @default(cuid())
226
+ userId Int @map("user_id")
227
+
228
+ type MemoryType
229
+ status MemoryStatus @default(ACTIVE)
230
+ title String @db.VarChar(255)
231
+ content String @db.Text
232
+ summary String? @db.VarChar(500)
233
+
234
+ sourceType MemorySourceType @map("source_type")
235
+ sourceId String? @map("source_id")
236
+
237
+ confidence Float @default(1.0)
238
+ importance Int @default(5)
239
+ qdrantId String? @unique @map("qdrant_id")
240
+
241
+ tags String[] @default([])
242
+ metadata Json?
243
+
244
+ expiresAt DateTime? @map("expires_at")
245
+ lastAccessedAt DateTime? @map("last_accessed_at")
246
+ accessCount Int @default(0) @map("access_count")
247
+
248
+ createdAt DateTime @default(now()) @map("created_at")
249
+ updatedAt DateTime @updatedAt @map("updated_at")
250
+
251
+ // host: add User relation — see integration guide
252
+ chatMessages AiChatMessage[] @relation("MemoryChatMessages")
253
+ artifacts AiArtifact[] @relation("MemoryArtifacts")
254
+
255
+ @@index([userId, type])
256
+ @@index([userId, status])
257
+ @@index([userId, createdAt])
258
+ @@index([status, importance])
259
+ @@map("ai_memories")
260
+ }
261
+
262
+ model AiMemorySuggestion {
263
+ id String @id @default(cuid())
264
+ userId Int @map("user_id")
265
+
266
+ type MemoryType
267
+ title String @db.VarChar(255)
268
+ content String @db.Text
269
+
270
+ sourceType MemorySourceType @map("source_type")
271
+ sourceId String? @map("source_id")
272
+
273
+ status String @default("pending")
274
+ confidence Float @default(0.8)
275
+
276
+ createdAt DateTime @default(now()) @map("created_at")
277
+ resolvedAt DateTime? @map("resolved_at")
278
+
279
+ // host: add User relation — see integration guide
280
+
281
+ @@index([userId, status])
282
+ @@map("ai_memory_suggestions")
283
+ }
284
+
285
+ // ── CHAT SYSTEM ─────────────────────────────────────────────
286
+
287
+ model AiChat {
288
+ id String @id @default(cuid())
289
+ userId Int @map("user_id")
290
+
291
+ title String? @db.VarChar(255)
292
+ mode ChatMode @default(EXPLORE)
293
+ model String @default("claude-opus-4-6")
294
+ temperature Float @default(0.7)
295
+ systemPrompt String? @map("system_prompt") @db.Text
296
+ metadata Json?
297
+
298
+ createdAt DateTime @default(now()) @map("created_at")
299
+ updatedAt DateTime @updatedAt @map("updated_at")
300
+
301
+ // host: add User relation — see integration guide
302
+ messages AiChatMessage[]
303
+
304
+ @@index([userId])
305
+ @@index([createdAt])
306
+ @@index([userId, mode])
307
+ @@map("ai_chats")
308
+ }
309
+
310
+ model AiChatMessage {
311
+ id String @id @default(cuid())
312
+ chatId String @map("chat_id")
313
+
314
+ role MessageRole
315
+ content String @db.Text
316
+ model String?
317
+ tokens Int?
318
+ latencyMs Int? @map("latency_ms")
319
+
320
+ usedMemoryIds String[] @default([]) @map("used_memory_ids")
321
+
322
+ createdAt DateTime @default(now()) @map("created_at")
323
+
324
+ chat AiChat @relation(fields: [chatId], references: [id], onDelete: Cascade)
325
+ memories AiMemory[] @relation("MemoryChatMessages")
326
+ artifacts AiArtifact[] @relation("MessageArtifacts")
327
+
328
+ @@index([chatId])
329
+ @@index([createdAt])
330
+ @@map("ai_chat_messages")
331
+ }
332
+
333
+ // ── ARTIFACT SYSTEM ─────────────────────────────────────────
334
+
335
+ model AiArtifact {
336
+ id String @id @default(cuid())
337
+ userId Int @map("user_id")
338
+
339
+ type ArtifactType
340
+ title String @db.VarChar(255)
341
+ description String? @db.Text
342
+ content Json
343
+
344
+ sourceType String? @map("source_type")
345
+ sourceId String? @map("source_id")
346
+
347
+ tags String[] @default([])
348
+ metadata Json?
349
+
350
+ createdAt DateTime @default(now()) @map("created_at")
351
+ updatedAt DateTime @updatedAt @map("updated_at")
352
+
353
+ // host: add User relation — see integration guide
354
+ memories AiMemory[] @relation("MemoryArtifacts")
355
+ chatMessages AiChatMessage[] @relation("MessageArtifacts")
356
+ reports AiReport[]
357
+
358
+ @@index([userId, type])
359
+ @@index([createdAt])
360
+ @@map("ai_artifacts")
361
+ }
362
+
363
+ // ── INCIDENT SYSTEM ─────────────────────────────────────────
364
+
365
+ model AiIncident {
366
+ id String @id @default(uuid())
367
+ userId Int @map("user_id")
368
+ fingerprint String
369
+ title String @db.VarChar(255)
370
+ description String? @db.Text
371
+ severity IncidentSeverity
372
+ status IncidentStatus @default(OPEN)
373
+ firstSeenAt DateTime @map("first_seen_at")
374
+ lastSeenAt DateTime @map("last_seen_at")
375
+ resolvedAt DateTime? @map("resolved_at")
376
+ occurrences Int @default(1)
377
+ evidence Json
378
+ relatedMemories Json @map("related_memories")
379
+ metadata Json?
380
+ createdAt DateTime @default(now()) @map("created_at")
381
+ updatedAt DateTime @updatedAt @map("updated_at")
382
+
383
+ // host: add User relation — see integration guide
384
+
385
+ @@unique([userId, fingerprint])
386
+ @@index([userId, status])
387
+ @@index([userId, severity])
388
+ @@index([status])
389
+ @@index([lastSeenAt])
390
+ @@map("ai_incidents")
391
+ }
392
+
393
+ // ── MCP SOURCE SYSTEM ───────────────────────────────────────
394
+
395
+ model AiMcpSource {
396
+ id String @id @default(cuid())
397
+ userId Int @map("user_id")
398
+
399
+ name String @db.VarChar(255)
400
+ type String
401
+ description String? @db.Text
402
+ status SourceStatus @default(PENDING)
403
+ endpoint String?
404
+
405
+ credentials Json?
406
+ lastSyncAt DateTime? @map("last_sync_at")
407
+ metadata Json?
408
+
409
+ createdAt DateTime @default(now()) @map("created_at")
410
+ updatedAt DateTime @updatedAt @map("updated_at")
411
+
412
+ // host: add User relation — see integration guide
413
+
414
+ @@index([userId])
415
+ @@index([type])
416
+ @@map("ai_mcp_sources")
417
+ }
418
+
419
+ // ── WORKFLOW SYSTEM ─────────────────────────────────────────
420
+
421
+ model AiWorkflow {
422
+ id String @id @default(cuid())
423
+ userId Int @map("user_id")
424
+
425
+ name String @db.VarChar(255)
426
+ description String? @db.Text
427
+ status AgentWorkflowStatus @default(WF_ACTIVE)
428
+
429
+ triggerType TriggerType @map("trigger_type")
430
+ triggerConfig Json @map("trigger_config")
431
+ condition String? @db.Text
432
+
433
+ actions Json
434
+
435
+ lastRunId String? @map("last_run_id")
436
+ lastRunAt DateTime? @map("last_run_at")
437
+ lastRunStatus ExecutionStatus? @map("last_run_status")
438
+
439
+ createdAt DateTime @default(now()) @map("created_at")
440
+ updatedAt DateTime @updatedAt @map("updated_at")
441
+
442
+ // host: add User relation — see integration guide
443
+ executions AiWorkflowExecution[]
444
+
445
+ @@index([userId])
446
+ @@index([status])
447
+ @@index([triggerType])
448
+ @@map("ai_workflows")
449
+ }
450
+
451
+ model AiWorkflowExecution {
452
+ id String @id @default(cuid())
453
+ workflowId String @map("workflow_id")
454
+
455
+ status ExecutionStatus
456
+ startedAt DateTime @default(now()) @map("started_at")
457
+ completedAt DateTime? @map("completed_at")
458
+ duration Int?
459
+
460
+ output String? @db.Text
461
+ error String? @db.Text
462
+ triggerData Json? @map("trigger_data")
463
+ actionResults Json? @map("action_results")
464
+
465
+ createdAt DateTime @default(now()) @map("created_at")
466
+
467
+ workflow AiWorkflow @relation(fields: [workflowId], references: [id], onDelete: Cascade)
468
+
469
+ @@index([workflowId])
470
+ @@index([status])
471
+ @@index([startedAt])
472
+ @@map("ai_workflow_executions")
473
+ }
474
+
475
+ // ── REPORT SYSTEM ───────────────────────────────────────────
476
+
477
+ model AiReport {
478
+ id String @id @default(uuid())
479
+ userId Int @map("user_id")
480
+ type ReportType
481
+ title String @db.VarChar(255)
482
+ date DateTime
483
+ summary String @db.Text
484
+ highlights Json
485
+ metrics Json?
486
+ artifactId String? @map("artifact_id")
487
+ metadata Json?
488
+ createdAt DateTime @default(now()) @map("created_at")
489
+ updatedAt DateTime @updatedAt @map("updated_at")
490
+
491
+ // host: add User relation — see integration guide
492
+ artifact AiArtifact? @relation(fields: [artifactId], references: [id])
493
+
494
+ @@index([userId])
495
+ @@index([type])
496
+ @@index([date])
497
+ @@index([userId, type, date])
498
+ @@map("ai_reports")
499
+ }
500
+
501
+ // ── TIMELINE SYSTEM ─────────────────────────────────────────
502
+
503
+ model AiTimelineEvent {
504
+ id String @id @default(uuid())
505
+ userId Int @map("user_id")
506
+ type EventType
507
+ title String @db.VarChar(255)
508
+ details String? @db.Text
509
+ source String @db.VarChar(100)
510
+ sourceId String? @map("source_id") @db.VarChar(255)
511
+ severity EventSeverity?
512
+ metadata Json?
513
+ occurredAt DateTime @map("occurred_at")
514
+ createdAt DateTime @default(now()) @map("created_at")
515
+
516
+ // host: add User relation — see integration guide
517
+
518
+ @@index([userId])
519
+ @@index([occurredAt])
520
+ @@index([type])
521
+ @@index([userId, occurredAt])
522
+ @@index([userId, type])
523
+ @@map("ai_timeline_events")
524
+ }
525
+
526
+ // ── USER PREFERENCES ────────────────────────────────────────
527
+
528
+ model AiUserPreferences {
529
+ id String @id @default(uuid())
530
+ userId Int @unique @map("user_id")
531
+
532
+ // AI Settings
533
+ defaultModel String @default("auto") @map("default_model")
534
+ defaultToolsEnabled Boolean @default(true) @map("default_tools_enabled")
535
+ defaultTemperature Float @default(0.7) @map("default_temperature")
536
+
537
+ // Memory Settings
538
+ memoryRetentionDays Int @default(90) @map("memory_retention_days")
539
+ autoArchiveMemory Boolean @default(true) @map("auto_archive_memory")
540
+
541
+ // Notification Settings
542
+ incidentAlerts Boolean @default(true) @map("incident_alerts")
543
+ reportDelivery Boolean @default(true) @map("report_delivery")
544
+
545
+ createdAt DateTime @default(now()) @map("created_at")
546
+ updatedAt DateTime @updatedAt @map("updated_at")
547
+
548
+ // host: add User relation — see integration guide
549
+
550
+ @@map("ai_user_preferences")
551
+ }