cognova 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 (205) hide show
  1. package/.env.example +58 -0
  2. package/Claude/CLAUDE.md +92 -0
  3. package/Claude/hooks/lib/__init__.py +1 -0
  4. package/Claude/hooks/lib/hook_client.py +207 -0
  5. package/Claude/hooks/log-event.py +97 -0
  6. package/Claude/hooks/pre-compact.py +46 -0
  7. package/Claude/hooks/session-end.py +26 -0
  8. package/Claude/hooks/session-start.py +35 -0
  9. package/Claude/hooks/stop-extract.py +40 -0
  10. package/Claude/rules/frontmatter.md +54 -0
  11. package/Claude/rules/markdown.md +43 -0
  12. package/Claude/rules/note-organization.md +33 -0
  13. package/Claude/settings.json +54 -0
  14. package/Claude/skills/README.md +136 -0
  15. package/Claude/skills/_lib/__init__.py +1 -0
  16. package/Claude/skills/_lib/api.py +164 -0
  17. package/Claude/skills/_lib/output.py +95 -0
  18. package/Claude/skills/environment/SKILL.md +73 -0
  19. package/Claude/skills/environment/environment.py +239 -0
  20. package/Claude/skills/memory/SKILL.md +153 -0
  21. package/Claude/skills/memory/memory.py +270 -0
  22. package/Claude/skills/project/SKILL.md +105 -0
  23. package/Claude/skills/project/project.py +203 -0
  24. package/Claude/skills/skill-creator/SKILL.md +261 -0
  25. package/Claude/skills/task/SKILL.md +135 -0
  26. package/Claude/skills/task/task.py +310 -0
  27. package/LICENSE +21 -0
  28. package/README.md +176 -0
  29. package/app/app.config.ts +8 -0
  30. package/app/app.vue +39 -0
  31. package/app/assets/css/main.css +10 -0
  32. package/app/components/AppLogo.vue +40 -0
  33. package/app/components/AssistantPanel.client.vue +518 -0
  34. package/app/components/ConfirmModal.vue +84 -0
  35. package/app/components/TemplateMenu.vue +49 -0
  36. package/app/components/agents/AgentActivityChart.client.vue +105 -0
  37. package/app/components/agents/AgentActivityChart.server.vue +25 -0
  38. package/app/components/agents/AgentForm.vue +304 -0
  39. package/app/components/agents/AgentRunModal.vue +154 -0
  40. package/app/components/agents/AgentStatsCards.vue +98 -0
  41. package/app/components/chat/ChatInput.vue +85 -0
  42. package/app/components/chat/ConversationList.vue +78 -0
  43. package/app/components/chat/MessageBubble.vue +81 -0
  44. package/app/components/chat/StreamingMessage.vue +36 -0
  45. package/app/components/chat/ToolCallBlock.vue +77 -0
  46. package/app/components/editor/CodeEditor.client.vue +212 -0
  47. package/app/components/editor/CodeEditorFallback.vue +12 -0
  48. package/app/components/editor/DocumentEditor.vue +326 -0
  49. package/app/components/editor/DocumentMetadata.vue +140 -0
  50. package/app/components/editor/MarkdownEditor.vue +146 -0
  51. package/app/components/files/FileTree.vue +436 -0
  52. package/app/components/hooks/HookActivityChart.client.vue +117 -0
  53. package/app/components/hooks/HookActivityChart.server.vue +25 -0
  54. package/app/components/hooks/HookStatsCards.vue +63 -0
  55. package/app/components/hooks/RecentEventsTable.vue +123 -0
  56. package/app/components/hooks/ToolBreakdownTable.vue +72 -0
  57. package/app/components/search/DashboardSearch.vue +122 -0
  58. package/app/components/tasks/ProjectSelect.vue +35 -0
  59. package/app/components/tasks/TaskCard.vue +182 -0
  60. package/app/components/tasks/TaskDetail.vue +160 -0
  61. package/app/components/tasks/TaskForm.vue +280 -0
  62. package/app/components/tasks/TaskList.vue +69 -0
  63. package/app/components/view/ViewToc.vue +85 -0
  64. package/app/composables/useAgents.ts +153 -0
  65. package/app/composables/useAuth.ts +73 -0
  66. package/app/composables/useChat.ts +298 -0
  67. package/app/composables/useDocument.ts +141 -0
  68. package/app/composables/useEditor.ts +100 -0
  69. package/app/composables/useFileTree.ts +220 -0
  70. package/app/composables/useHookEvents.ts +68 -0
  71. package/app/composables/useMemories.ts +83 -0
  72. package/app/composables/useNotificationBus.ts +154 -0
  73. package/app/composables/usePreferences.ts +131 -0
  74. package/app/composables/useProjects.ts +97 -0
  75. package/app/composables/useSearch.ts +52 -0
  76. package/app/composables/useTasks.ts +201 -0
  77. package/app/composables/useTerminal.ts +135 -0
  78. package/app/layouts/auth.vue +20 -0
  79. package/app/layouts/dashboard.vue +186 -0
  80. package/app/layouts/view.vue +60 -0
  81. package/app/middleware/auth.ts +9 -0
  82. package/app/pages/agents/[id].vue +602 -0
  83. package/app/pages/agents/index.vue +412 -0
  84. package/app/pages/chat.vue +146 -0
  85. package/app/pages/dashboard.vue +80 -0
  86. package/app/pages/docs.vue +131 -0
  87. package/app/pages/hooks.vue +163 -0
  88. package/app/pages/index.vue +249 -0
  89. package/app/pages/login.vue +60 -0
  90. package/app/pages/memories.vue +282 -0
  91. package/app/pages/settings.vue +625 -0
  92. package/app/pages/tasks.vue +312 -0
  93. package/app/pages/view/[uuid].vue +376 -0
  94. package/dist/cli/index.js +2711 -0
  95. package/drizzle.config.ts +10 -0
  96. package/nuxt.config.ts +98 -0
  97. package/package.json +107 -0
  98. package/server/api/agents/[id]/cancel.post.ts +27 -0
  99. package/server/api/agents/[id]/run.post.ts +34 -0
  100. package/server/api/agents/[id]/runs.get.ts +45 -0
  101. package/server/api/agents/[id]/stats.get.ts +94 -0
  102. package/server/api/agents/[id].delete.ts +29 -0
  103. package/server/api/agents/[id].get.ts +25 -0
  104. package/server/api/agents/[id].patch.ts +55 -0
  105. package/server/api/agents/index.get.ts +15 -0
  106. package/server/api/agents/index.post.ts +48 -0
  107. package/server/api/agents/stats.get.ts +86 -0
  108. package/server/api/auth/[...all].ts +5 -0
  109. package/server/api/conversations/[id].delete.ts +16 -0
  110. package/server/api/conversations/[id].get.ts +34 -0
  111. package/server/api/conversations/index.get.ts +17 -0
  112. package/server/api/documents/[id]/index.delete.ts +47 -0
  113. package/server/api/documents/[id]/index.put.ts +102 -0
  114. package/server/api/documents/[id]/public.get.ts +60 -0
  115. package/server/api/documents/[id]/restore.post.ts +65 -0
  116. package/server/api/documents/by-path.post.ts +168 -0
  117. package/server/api/documents/index.get.ts +48 -0
  118. package/server/api/fs/delete.post.ts +41 -0
  119. package/server/api/fs/list.get.ts +99 -0
  120. package/server/api/fs/mkdir.post.ts +44 -0
  121. package/server/api/fs/move.post.ts +68 -0
  122. package/server/api/fs/read.post.ts +48 -0
  123. package/server/api/fs/rename.post.ts +55 -0
  124. package/server/api/fs/write.post.ts +51 -0
  125. package/server/api/health.get.ts +40 -0
  126. package/server/api/home.get.ts +26 -0
  127. package/server/api/hooks/events/index.get.ts +56 -0
  128. package/server/api/hooks/events/index.post.ts +36 -0
  129. package/server/api/hooks/stats.get.ts +99 -0
  130. package/server/api/memory/[id].delete.ts +26 -0
  131. package/server/api/memory/context.get.ts +83 -0
  132. package/server/api/memory/extract.post.ts +42 -0
  133. package/server/api/memory/search.get.ts +70 -0
  134. package/server/api/memory/store.post.ts +31 -0
  135. package/server/api/projects/[id]/index.delete.ts +40 -0
  136. package/server/api/projects/[id]/index.get.ts +25 -0
  137. package/server/api/projects/[id]/index.put.ts +50 -0
  138. package/server/api/projects/index.get.ts +20 -0
  139. package/server/api/projects/index.post.ts +34 -0
  140. package/server/api/secrets/[key].delete.ts +31 -0
  141. package/server/api/secrets/[key].get.ts +30 -0
  142. package/server/api/secrets/[key].put.ts +52 -0
  143. package/server/api/secrets/index.get.ts +20 -0
  144. package/server/api/secrets/index.post.ts +58 -0
  145. package/server/api/tasks/[id]/index.delete.ts +46 -0
  146. package/server/api/tasks/[id]/index.get.ts +24 -0
  147. package/server/api/tasks/[id]/index.put.ts +70 -0
  148. package/server/api/tasks/[id]/restore.post.ts +49 -0
  149. package/server/api/tasks/index.get.ts +53 -0
  150. package/server/api/tasks/index.post.ts +47 -0
  151. package/server/api/tasks/tags.get.ts +21 -0
  152. package/server/api/user/email.patch.ts +56 -0
  153. package/server/db/index.ts +76 -0
  154. package/server/db/migrate.ts +41 -0
  155. package/server/db/schema.ts +345 -0
  156. package/server/db/seed.ts +46 -0
  157. package/server/db/types.ts +28 -0
  158. package/server/drizzle/migrations/0000_brown_george_stacy.sql +34 -0
  159. package/server/drizzle/migrations/0001_stormy_pyro.sql +16 -0
  160. package/server/drizzle/migrations/0002_clean_colossus.sql +50 -0
  161. package/server/drizzle/migrations/0003_fine_joystick.sql +12 -0
  162. package/server/drizzle/migrations/0004_tan_groot.sql +26 -0
  163. package/server/drizzle/migrations/0005_cloudy_lilith.sql +33 -0
  164. package/server/drizzle/migrations/0006_ordinary_retro_girl.sql +13 -0
  165. package/server/drizzle/migrations/0007_flowery_venus.sql +15 -0
  166. package/server/drizzle/migrations/0008_talented_zombie.sql +13 -0
  167. package/server/drizzle/migrations/0009_gray_shen.sql +15 -0
  168. package/server/drizzle/migrations/meta/0000_snapshot.json +230 -0
  169. package/server/drizzle/migrations/meta/0001_snapshot.json +306 -0
  170. package/server/drizzle/migrations/meta/0002_snapshot.json +615 -0
  171. package/server/drizzle/migrations/meta/0003_snapshot.json +730 -0
  172. package/server/drizzle/migrations/meta/0004_snapshot.json +916 -0
  173. package/server/drizzle/migrations/meta/0005_snapshot.json +1127 -0
  174. package/server/drizzle/migrations/meta/0006_snapshot.json +1213 -0
  175. package/server/drizzle/migrations/meta/0007_snapshot.json +1307 -0
  176. package/server/drizzle/migrations/meta/0008_snapshot.json +1390 -0
  177. package/server/drizzle/migrations/meta/0009_snapshot.json +1487 -0
  178. package/server/drizzle/migrations/meta/_journal.json +76 -0
  179. package/server/middleware/auth.ts +79 -0
  180. package/server/plugins/00.env-validate.ts +38 -0
  181. package/server/plugins/01.api-token.ts +31 -0
  182. package/server/plugins/02.database.ts +54 -0
  183. package/server/plugins/03.file-watcher.ts +65 -0
  184. package/server/plugins/04.cron-agents.ts +26 -0
  185. package/server/routes/_ws/chat.ts +252 -0
  186. package/server/routes/notifications.ts +47 -0
  187. package/server/routes/terminal.ts +98 -0
  188. package/server/services/agent-executor.ts +218 -0
  189. package/server/services/cron-scheduler.ts +78 -0
  190. package/server/services/memory-extractor.ts +120 -0
  191. package/server/utils/agent-cleanup.ts +91 -0
  192. package/server/utils/agent-registry.ts +95 -0
  193. package/server/utils/auth.ts +33 -0
  194. package/server/utils/chat-session-manager.ts +59 -0
  195. package/server/utils/crypto.ts +40 -0
  196. package/server/utils/db-guard.ts +12 -0
  197. package/server/utils/db-state.ts +63 -0
  198. package/server/utils/document-sync.ts +207 -0
  199. package/server/utils/frontmatter.ts +84 -0
  200. package/server/utils/notification-bus.ts +60 -0
  201. package/server/utils/path-validator.ts +55 -0
  202. package/server/utils/pty-manager.ts +130 -0
  203. package/shared/types/index.ts +604 -0
  204. package/shared/utils/language-detection.ts +87 -0
  205. package/tsconfig.json +10 -0
@@ -0,0 +1,1390 @@
1
+ {
2
+ "id": "02b39544-9328-46d4-9733-dd37cd6397a5",
3
+ "prevId": "822df4e0-0940-4b19-b459-ea65e84ec073",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.account": {
8
+ "name": "account",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "text",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "user_id": {
18
+ "name": "user_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "account_id": {
24
+ "name": "account_id",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "provider_id": {
30
+ "name": "provider_id",
31
+ "type": "text",
32
+ "primaryKey": false,
33
+ "notNull": true
34
+ },
35
+ "access_token": {
36
+ "name": "access_token",
37
+ "type": "text",
38
+ "primaryKey": false,
39
+ "notNull": false
40
+ },
41
+ "refresh_token": {
42
+ "name": "refresh_token",
43
+ "type": "text",
44
+ "primaryKey": false,
45
+ "notNull": false
46
+ },
47
+ "access_token_expires_at": {
48
+ "name": "access_token_expires_at",
49
+ "type": "timestamp with time zone",
50
+ "primaryKey": false,
51
+ "notNull": false
52
+ },
53
+ "refresh_token_expires_at": {
54
+ "name": "refresh_token_expires_at",
55
+ "type": "timestamp with time zone",
56
+ "primaryKey": false,
57
+ "notNull": false
58
+ },
59
+ "scope": {
60
+ "name": "scope",
61
+ "type": "text",
62
+ "primaryKey": false,
63
+ "notNull": false
64
+ },
65
+ "id_token": {
66
+ "name": "id_token",
67
+ "type": "text",
68
+ "primaryKey": false,
69
+ "notNull": false
70
+ },
71
+ "password": {
72
+ "name": "password",
73
+ "type": "text",
74
+ "primaryKey": false,
75
+ "notNull": false
76
+ },
77
+ "created_at": {
78
+ "name": "created_at",
79
+ "type": "timestamp with time zone",
80
+ "primaryKey": false,
81
+ "notNull": true,
82
+ "default": "now()"
83
+ },
84
+ "updated_at": {
85
+ "name": "updated_at",
86
+ "type": "timestamp with time zone",
87
+ "primaryKey": false,
88
+ "notNull": true,
89
+ "default": "now()"
90
+ }
91
+ },
92
+ "indexes": {},
93
+ "foreignKeys": {
94
+ "account_user_id_user_id_fk": {
95
+ "name": "account_user_id_user_id_fk",
96
+ "tableFrom": "account",
97
+ "tableTo": "user",
98
+ "columnsFrom": [
99
+ "user_id"
100
+ ],
101
+ "columnsTo": [
102
+ "id"
103
+ ],
104
+ "onDelete": "cascade",
105
+ "onUpdate": "no action"
106
+ }
107
+ },
108
+ "compositePrimaryKeys": {},
109
+ "uniqueConstraints": {},
110
+ "policies": {},
111
+ "checkConstraints": {},
112
+ "isRLSEnabled": false
113
+ },
114
+ "public.conversations": {
115
+ "name": "conversations",
116
+ "schema": "",
117
+ "columns": {
118
+ "id": {
119
+ "name": "id",
120
+ "type": "uuid",
121
+ "primaryKey": true,
122
+ "notNull": true,
123
+ "default": "gen_random_uuid()"
124
+ },
125
+ "session_id": {
126
+ "name": "session_id",
127
+ "type": "text",
128
+ "primaryKey": false,
129
+ "notNull": true
130
+ },
131
+ "summary": {
132
+ "name": "summary",
133
+ "type": "text",
134
+ "primaryKey": false,
135
+ "notNull": false
136
+ },
137
+ "started_at": {
138
+ "name": "started_at",
139
+ "type": "timestamp with time zone",
140
+ "primaryKey": false,
141
+ "notNull": true,
142
+ "default": "now()"
143
+ },
144
+ "ended_at": {
145
+ "name": "ended_at",
146
+ "type": "timestamp with time zone",
147
+ "primaryKey": false,
148
+ "notNull": false
149
+ },
150
+ "message_count": {
151
+ "name": "message_count",
152
+ "type": "integer",
153
+ "primaryKey": false,
154
+ "notNull": true,
155
+ "default": 0
156
+ }
157
+ },
158
+ "indexes": {},
159
+ "foreignKeys": {},
160
+ "compositePrimaryKeys": {},
161
+ "uniqueConstraints": {
162
+ "conversations_session_id_unique": {
163
+ "name": "conversations_session_id_unique",
164
+ "nullsNotDistinct": false,
165
+ "columns": [
166
+ "session_id"
167
+ ]
168
+ }
169
+ },
170
+ "policies": {},
171
+ "checkConstraints": {},
172
+ "isRLSEnabled": false
173
+ },
174
+ "public.cron_agent_runs": {
175
+ "name": "cron_agent_runs",
176
+ "schema": "",
177
+ "columns": {
178
+ "id": {
179
+ "name": "id",
180
+ "type": "uuid",
181
+ "primaryKey": true,
182
+ "notNull": true,
183
+ "default": "gen_random_uuid()"
184
+ },
185
+ "agent_id": {
186
+ "name": "agent_id",
187
+ "type": "uuid",
188
+ "primaryKey": false,
189
+ "notNull": true
190
+ },
191
+ "status": {
192
+ "name": "status",
193
+ "type": "text",
194
+ "primaryKey": false,
195
+ "notNull": true
196
+ },
197
+ "output": {
198
+ "name": "output",
199
+ "type": "text",
200
+ "primaryKey": false,
201
+ "notNull": false
202
+ },
203
+ "error": {
204
+ "name": "error",
205
+ "type": "text",
206
+ "primaryKey": false,
207
+ "notNull": false
208
+ },
209
+ "cost_usd": {
210
+ "name": "cost_usd",
211
+ "type": "real",
212
+ "primaryKey": false,
213
+ "notNull": false
214
+ },
215
+ "input_tokens": {
216
+ "name": "input_tokens",
217
+ "type": "integer",
218
+ "primaryKey": false,
219
+ "notNull": false
220
+ },
221
+ "output_tokens": {
222
+ "name": "output_tokens",
223
+ "type": "integer",
224
+ "primaryKey": false,
225
+ "notNull": false
226
+ },
227
+ "num_turns": {
228
+ "name": "num_turns",
229
+ "type": "integer",
230
+ "primaryKey": false,
231
+ "notNull": false
232
+ },
233
+ "started_at": {
234
+ "name": "started_at",
235
+ "type": "timestamp with time zone",
236
+ "primaryKey": false,
237
+ "notNull": true,
238
+ "default": "now()"
239
+ },
240
+ "completed_at": {
241
+ "name": "completed_at",
242
+ "type": "timestamp with time zone",
243
+ "primaryKey": false,
244
+ "notNull": false
245
+ },
246
+ "duration_ms": {
247
+ "name": "duration_ms",
248
+ "type": "integer",
249
+ "primaryKey": false,
250
+ "notNull": false
251
+ }
252
+ },
253
+ "indexes": {},
254
+ "foreignKeys": {
255
+ "cron_agent_runs_agent_id_cron_agents_id_fk": {
256
+ "name": "cron_agent_runs_agent_id_cron_agents_id_fk",
257
+ "tableFrom": "cron_agent_runs",
258
+ "tableTo": "cron_agents",
259
+ "columnsFrom": [
260
+ "agent_id"
261
+ ],
262
+ "columnsTo": [
263
+ "id"
264
+ ],
265
+ "onDelete": "cascade",
266
+ "onUpdate": "no action"
267
+ }
268
+ },
269
+ "compositePrimaryKeys": {},
270
+ "uniqueConstraints": {},
271
+ "policies": {},
272
+ "checkConstraints": {},
273
+ "isRLSEnabled": false
274
+ },
275
+ "public.cron_agents": {
276
+ "name": "cron_agents",
277
+ "schema": "",
278
+ "columns": {
279
+ "id": {
280
+ "name": "id",
281
+ "type": "uuid",
282
+ "primaryKey": true,
283
+ "notNull": true,
284
+ "default": "gen_random_uuid()"
285
+ },
286
+ "name": {
287
+ "name": "name",
288
+ "type": "text",
289
+ "primaryKey": false,
290
+ "notNull": true
291
+ },
292
+ "description": {
293
+ "name": "description",
294
+ "type": "text",
295
+ "primaryKey": false,
296
+ "notNull": false
297
+ },
298
+ "schedule": {
299
+ "name": "schedule",
300
+ "type": "text",
301
+ "primaryKey": false,
302
+ "notNull": true
303
+ },
304
+ "prompt": {
305
+ "name": "prompt",
306
+ "type": "text",
307
+ "primaryKey": false,
308
+ "notNull": true
309
+ },
310
+ "enabled": {
311
+ "name": "enabled",
312
+ "type": "boolean",
313
+ "primaryKey": false,
314
+ "notNull": true,
315
+ "default": true
316
+ },
317
+ "max_turns": {
318
+ "name": "max_turns",
319
+ "type": "integer",
320
+ "primaryKey": false,
321
+ "notNull": false,
322
+ "default": 50
323
+ },
324
+ "max_budget_usd": {
325
+ "name": "max_budget_usd",
326
+ "type": "real",
327
+ "primaryKey": false,
328
+ "notNull": false
329
+ },
330
+ "last_run_at": {
331
+ "name": "last_run_at",
332
+ "type": "timestamp with time zone",
333
+ "primaryKey": false,
334
+ "notNull": false
335
+ },
336
+ "last_status": {
337
+ "name": "last_status",
338
+ "type": "text",
339
+ "primaryKey": false,
340
+ "notNull": false
341
+ },
342
+ "created_at": {
343
+ "name": "created_at",
344
+ "type": "timestamp with time zone",
345
+ "primaryKey": false,
346
+ "notNull": true,
347
+ "default": "now()"
348
+ },
349
+ "updated_at": {
350
+ "name": "updated_at",
351
+ "type": "timestamp with time zone",
352
+ "primaryKey": false,
353
+ "notNull": true,
354
+ "default": "now()"
355
+ },
356
+ "created_by": {
357
+ "name": "created_by",
358
+ "type": "text",
359
+ "primaryKey": false,
360
+ "notNull": false
361
+ }
362
+ },
363
+ "indexes": {},
364
+ "foreignKeys": {
365
+ "cron_agents_created_by_user_id_fk": {
366
+ "name": "cron_agents_created_by_user_id_fk",
367
+ "tableFrom": "cron_agents",
368
+ "tableTo": "user",
369
+ "columnsFrom": [
370
+ "created_by"
371
+ ],
372
+ "columnsTo": [
373
+ "id"
374
+ ],
375
+ "onDelete": "set null",
376
+ "onUpdate": "no action"
377
+ }
378
+ },
379
+ "compositePrimaryKeys": {},
380
+ "uniqueConstraints": {},
381
+ "policies": {},
382
+ "checkConstraints": {},
383
+ "isRLSEnabled": false
384
+ },
385
+ "public.documents": {
386
+ "name": "documents",
387
+ "schema": "",
388
+ "columns": {
389
+ "id": {
390
+ "name": "id",
391
+ "type": "uuid",
392
+ "primaryKey": true,
393
+ "notNull": true,
394
+ "default": "gen_random_uuid()"
395
+ },
396
+ "title": {
397
+ "name": "title",
398
+ "type": "text",
399
+ "primaryKey": false,
400
+ "notNull": true
401
+ },
402
+ "path": {
403
+ "name": "path",
404
+ "type": "text",
405
+ "primaryKey": false,
406
+ "notNull": true
407
+ },
408
+ "content": {
409
+ "name": "content",
410
+ "type": "text",
411
+ "primaryKey": false,
412
+ "notNull": false
413
+ },
414
+ "content_hash": {
415
+ "name": "content_hash",
416
+ "type": "text",
417
+ "primaryKey": false,
418
+ "notNull": false
419
+ },
420
+ "tags": {
421
+ "name": "tags",
422
+ "type": "text[]",
423
+ "primaryKey": false,
424
+ "notNull": false,
425
+ "default": "'{}'"
426
+ },
427
+ "project_id": {
428
+ "name": "project_id",
429
+ "type": "uuid",
430
+ "primaryKey": false,
431
+ "notNull": false
432
+ },
433
+ "shared": {
434
+ "name": "shared",
435
+ "type": "boolean",
436
+ "primaryKey": false,
437
+ "notNull": true,
438
+ "default": false
439
+ },
440
+ "share_type": {
441
+ "name": "share_type",
442
+ "type": "text",
443
+ "primaryKey": false,
444
+ "notNull": false
445
+ },
446
+ "file_type": {
447
+ "name": "file_type",
448
+ "type": "text",
449
+ "primaryKey": false,
450
+ "notNull": true
451
+ },
452
+ "mime_type": {
453
+ "name": "mime_type",
454
+ "type": "text",
455
+ "primaryKey": false,
456
+ "notNull": false
457
+ },
458
+ "synced_at": {
459
+ "name": "synced_at",
460
+ "type": "timestamp with time zone",
461
+ "primaryKey": false,
462
+ "notNull": false
463
+ },
464
+ "created_at": {
465
+ "name": "created_at",
466
+ "type": "timestamp with time zone",
467
+ "primaryKey": false,
468
+ "notNull": true,
469
+ "default": "now()"
470
+ },
471
+ "created_by": {
472
+ "name": "created_by",
473
+ "type": "text",
474
+ "primaryKey": false,
475
+ "notNull": false
476
+ },
477
+ "modified_at": {
478
+ "name": "modified_at",
479
+ "type": "timestamp with time zone",
480
+ "primaryKey": false,
481
+ "notNull": false
482
+ },
483
+ "modified_by": {
484
+ "name": "modified_by",
485
+ "type": "text",
486
+ "primaryKey": false,
487
+ "notNull": false
488
+ },
489
+ "deleted_at": {
490
+ "name": "deleted_at",
491
+ "type": "timestamp with time zone",
492
+ "primaryKey": false,
493
+ "notNull": false
494
+ },
495
+ "deleted_by": {
496
+ "name": "deleted_by",
497
+ "type": "text",
498
+ "primaryKey": false,
499
+ "notNull": false
500
+ }
501
+ },
502
+ "indexes": {},
503
+ "foreignKeys": {
504
+ "documents_project_id_projects_id_fk": {
505
+ "name": "documents_project_id_projects_id_fk",
506
+ "tableFrom": "documents",
507
+ "tableTo": "projects",
508
+ "columnsFrom": [
509
+ "project_id"
510
+ ],
511
+ "columnsTo": [
512
+ "id"
513
+ ],
514
+ "onDelete": "set null",
515
+ "onUpdate": "no action"
516
+ },
517
+ "documents_created_by_user_id_fk": {
518
+ "name": "documents_created_by_user_id_fk",
519
+ "tableFrom": "documents",
520
+ "tableTo": "user",
521
+ "columnsFrom": [
522
+ "created_by"
523
+ ],
524
+ "columnsTo": [
525
+ "id"
526
+ ],
527
+ "onDelete": "set null",
528
+ "onUpdate": "no action"
529
+ },
530
+ "documents_modified_by_user_id_fk": {
531
+ "name": "documents_modified_by_user_id_fk",
532
+ "tableFrom": "documents",
533
+ "tableTo": "user",
534
+ "columnsFrom": [
535
+ "modified_by"
536
+ ],
537
+ "columnsTo": [
538
+ "id"
539
+ ],
540
+ "onDelete": "set null",
541
+ "onUpdate": "no action"
542
+ },
543
+ "documents_deleted_by_user_id_fk": {
544
+ "name": "documents_deleted_by_user_id_fk",
545
+ "tableFrom": "documents",
546
+ "tableTo": "user",
547
+ "columnsFrom": [
548
+ "deleted_by"
549
+ ],
550
+ "columnsTo": [
551
+ "id"
552
+ ],
553
+ "onDelete": "set null",
554
+ "onUpdate": "no action"
555
+ }
556
+ },
557
+ "compositePrimaryKeys": {},
558
+ "uniqueConstraints": {
559
+ "documents_path_unique": {
560
+ "name": "documents_path_unique",
561
+ "nullsNotDistinct": false,
562
+ "columns": [
563
+ "path"
564
+ ]
565
+ }
566
+ },
567
+ "policies": {},
568
+ "checkConstraints": {},
569
+ "isRLSEnabled": false
570
+ },
571
+ "public.hook_events": {
572
+ "name": "hook_events",
573
+ "schema": "",
574
+ "columns": {
575
+ "id": {
576
+ "name": "id",
577
+ "type": "uuid",
578
+ "primaryKey": true,
579
+ "notNull": true,
580
+ "default": "gen_random_uuid()"
581
+ },
582
+ "event_type": {
583
+ "name": "event_type",
584
+ "type": "text",
585
+ "primaryKey": false,
586
+ "notNull": true
587
+ },
588
+ "session_id": {
589
+ "name": "session_id",
590
+ "type": "text",
591
+ "primaryKey": false,
592
+ "notNull": false
593
+ },
594
+ "project_dir": {
595
+ "name": "project_dir",
596
+ "type": "text",
597
+ "primaryKey": false,
598
+ "notNull": false
599
+ },
600
+ "tool_name": {
601
+ "name": "tool_name",
602
+ "type": "text",
603
+ "primaryKey": false,
604
+ "notNull": false
605
+ },
606
+ "tool_matcher": {
607
+ "name": "tool_matcher",
608
+ "type": "text",
609
+ "primaryKey": false,
610
+ "notNull": false
611
+ },
612
+ "event_data": {
613
+ "name": "event_data",
614
+ "type": "text",
615
+ "primaryKey": false,
616
+ "notNull": false
617
+ },
618
+ "exit_code": {
619
+ "name": "exit_code",
620
+ "type": "integer",
621
+ "primaryKey": false,
622
+ "notNull": false
623
+ },
624
+ "blocked": {
625
+ "name": "blocked",
626
+ "type": "boolean",
627
+ "primaryKey": false,
628
+ "notNull": true,
629
+ "default": false
630
+ },
631
+ "block_reason": {
632
+ "name": "block_reason",
633
+ "type": "text",
634
+ "primaryKey": false,
635
+ "notNull": false
636
+ },
637
+ "duration_ms": {
638
+ "name": "duration_ms",
639
+ "type": "integer",
640
+ "primaryKey": false,
641
+ "notNull": false
642
+ },
643
+ "hook_script": {
644
+ "name": "hook_script",
645
+ "type": "text",
646
+ "primaryKey": false,
647
+ "notNull": false
648
+ },
649
+ "created_at": {
650
+ "name": "created_at",
651
+ "type": "timestamp with time zone",
652
+ "primaryKey": false,
653
+ "notNull": true,
654
+ "default": "now()"
655
+ }
656
+ },
657
+ "indexes": {},
658
+ "foreignKeys": {},
659
+ "compositePrimaryKeys": {},
660
+ "uniqueConstraints": {},
661
+ "policies": {},
662
+ "checkConstraints": {},
663
+ "isRLSEnabled": false
664
+ },
665
+ "public.memory_chunks": {
666
+ "name": "memory_chunks",
667
+ "schema": "",
668
+ "columns": {
669
+ "id": {
670
+ "name": "id",
671
+ "type": "uuid",
672
+ "primaryKey": true,
673
+ "notNull": true,
674
+ "default": "gen_random_uuid()"
675
+ },
676
+ "session_id": {
677
+ "name": "session_id",
678
+ "type": "text",
679
+ "primaryKey": false,
680
+ "notNull": false
681
+ },
682
+ "project_path": {
683
+ "name": "project_path",
684
+ "type": "text",
685
+ "primaryKey": false,
686
+ "notNull": false
687
+ },
688
+ "chunk_type": {
689
+ "name": "chunk_type",
690
+ "type": "text",
691
+ "primaryKey": false,
692
+ "notNull": true
693
+ },
694
+ "content": {
695
+ "name": "content",
696
+ "type": "text",
697
+ "primaryKey": false,
698
+ "notNull": true
699
+ },
700
+ "source_excerpt": {
701
+ "name": "source_excerpt",
702
+ "type": "text",
703
+ "primaryKey": false,
704
+ "notNull": false
705
+ },
706
+ "relevance_score": {
707
+ "name": "relevance_score",
708
+ "type": "real",
709
+ "primaryKey": false,
710
+ "notNull": true,
711
+ "default": 1
712
+ },
713
+ "access_count": {
714
+ "name": "access_count",
715
+ "type": "integer",
716
+ "primaryKey": false,
717
+ "notNull": true,
718
+ "default": 0
719
+ },
720
+ "last_accessed_at": {
721
+ "name": "last_accessed_at",
722
+ "type": "timestamp with time zone",
723
+ "primaryKey": false,
724
+ "notNull": false
725
+ },
726
+ "created_at": {
727
+ "name": "created_at",
728
+ "type": "timestamp with time zone",
729
+ "primaryKey": false,
730
+ "notNull": true,
731
+ "default": "now()"
732
+ },
733
+ "expires_at": {
734
+ "name": "expires_at",
735
+ "type": "timestamp with time zone",
736
+ "primaryKey": false,
737
+ "notNull": false
738
+ }
739
+ },
740
+ "indexes": {},
741
+ "foreignKeys": {},
742
+ "compositePrimaryKeys": {},
743
+ "uniqueConstraints": {},
744
+ "policies": {},
745
+ "checkConstraints": {},
746
+ "isRLSEnabled": false
747
+ },
748
+ "public.projects": {
749
+ "name": "projects",
750
+ "schema": "",
751
+ "columns": {
752
+ "id": {
753
+ "name": "id",
754
+ "type": "uuid",
755
+ "primaryKey": true,
756
+ "notNull": true,
757
+ "default": "gen_random_uuid()"
758
+ },
759
+ "name": {
760
+ "name": "name",
761
+ "type": "text",
762
+ "primaryKey": false,
763
+ "notNull": true
764
+ },
765
+ "color": {
766
+ "name": "color",
767
+ "type": "text",
768
+ "primaryKey": false,
769
+ "notNull": true
770
+ },
771
+ "description": {
772
+ "name": "description",
773
+ "type": "text",
774
+ "primaryKey": false,
775
+ "notNull": false
776
+ },
777
+ "created_at": {
778
+ "name": "created_at",
779
+ "type": "timestamp with time zone",
780
+ "primaryKey": false,
781
+ "notNull": true,
782
+ "default": "now()"
783
+ },
784
+ "modified_at": {
785
+ "name": "modified_at",
786
+ "type": "timestamp with time zone",
787
+ "primaryKey": false,
788
+ "notNull": false
789
+ },
790
+ "deleted_at": {
791
+ "name": "deleted_at",
792
+ "type": "timestamp with time zone",
793
+ "primaryKey": false,
794
+ "notNull": false
795
+ },
796
+ "created_by": {
797
+ "name": "created_by",
798
+ "type": "text",
799
+ "primaryKey": false,
800
+ "notNull": false
801
+ },
802
+ "modified_by": {
803
+ "name": "modified_by",
804
+ "type": "text",
805
+ "primaryKey": false,
806
+ "notNull": false
807
+ },
808
+ "deleted_by": {
809
+ "name": "deleted_by",
810
+ "type": "text",
811
+ "primaryKey": false,
812
+ "notNull": false
813
+ }
814
+ },
815
+ "indexes": {},
816
+ "foreignKeys": {
817
+ "projects_created_by_user_id_fk": {
818
+ "name": "projects_created_by_user_id_fk",
819
+ "tableFrom": "projects",
820
+ "tableTo": "user",
821
+ "columnsFrom": [
822
+ "created_by"
823
+ ],
824
+ "columnsTo": [
825
+ "id"
826
+ ],
827
+ "onDelete": "set null",
828
+ "onUpdate": "no action"
829
+ },
830
+ "projects_modified_by_user_id_fk": {
831
+ "name": "projects_modified_by_user_id_fk",
832
+ "tableFrom": "projects",
833
+ "tableTo": "user",
834
+ "columnsFrom": [
835
+ "modified_by"
836
+ ],
837
+ "columnsTo": [
838
+ "id"
839
+ ],
840
+ "onDelete": "set null",
841
+ "onUpdate": "no action"
842
+ },
843
+ "projects_deleted_by_user_id_fk": {
844
+ "name": "projects_deleted_by_user_id_fk",
845
+ "tableFrom": "projects",
846
+ "tableTo": "user",
847
+ "columnsFrom": [
848
+ "deleted_by"
849
+ ],
850
+ "columnsTo": [
851
+ "id"
852
+ ],
853
+ "onDelete": "set null",
854
+ "onUpdate": "no action"
855
+ }
856
+ },
857
+ "compositePrimaryKeys": {},
858
+ "uniqueConstraints": {},
859
+ "policies": {},
860
+ "checkConstraints": {},
861
+ "isRLSEnabled": false
862
+ },
863
+ "public.reminders": {
864
+ "name": "reminders",
865
+ "schema": "",
866
+ "columns": {
867
+ "id": {
868
+ "name": "id",
869
+ "type": "uuid",
870
+ "primaryKey": true,
871
+ "notNull": true,
872
+ "default": "gen_random_uuid()"
873
+ },
874
+ "task_id": {
875
+ "name": "task_id",
876
+ "type": "uuid",
877
+ "primaryKey": false,
878
+ "notNull": false
879
+ },
880
+ "message": {
881
+ "name": "message",
882
+ "type": "text",
883
+ "primaryKey": false,
884
+ "notNull": true
885
+ },
886
+ "remind_at": {
887
+ "name": "remind_at",
888
+ "type": "timestamp with time zone",
889
+ "primaryKey": false,
890
+ "notNull": true
891
+ },
892
+ "notified": {
893
+ "name": "notified",
894
+ "type": "boolean",
895
+ "primaryKey": false,
896
+ "notNull": true,
897
+ "default": false
898
+ },
899
+ "created_at": {
900
+ "name": "created_at",
901
+ "type": "timestamp with time zone",
902
+ "primaryKey": false,
903
+ "notNull": true,
904
+ "default": "now()"
905
+ }
906
+ },
907
+ "indexes": {},
908
+ "foreignKeys": {
909
+ "reminders_task_id_tasks_id_fk": {
910
+ "name": "reminders_task_id_tasks_id_fk",
911
+ "tableFrom": "reminders",
912
+ "tableTo": "tasks",
913
+ "columnsFrom": [
914
+ "task_id"
915
+ ],
916
+ "columnsTo": [
917
+ "id"
918
+ ],
919
+ "onDelete": "cascade",
920
+ "onUpdate": "no action"
921
+ }
922
+ },
923
+ "compositePrimaryKeys": {},
924
+ "uniqueConstraints": {},
925
+ "policies": {},
926
+ "checkConstraints": {},
927
+ "isRLSEnabled": false
928
+ },
929
+ "public.secrets": {
930
+ "name": "secrets",
931
+ "schema": "",
932
+ "columns": {
933
+ "id": {
934
+ "name": "id",
935
+ "type": "uuid",
936
+ "primaryKey": true,
937
+ "notNull": true,
938
+ "default": "gen_random_uuid()"
939
+ },
940
+ "key": {
941
+ "name": "key",
942
+ "type": "text",
943
+ "primaryKey": false,
944
+ "notNull": true
945
+ },
946
+ "encrypted_value": {
947
+ "name": "encrypted_value",
948
+ "type": "text",
949
+ "primaryKey": false,
950
+ "notNull": true
951
+ },
952
+ "iv": {
953
+ "name": "iv",
954
+ "type": "text",
955
+ "primaryKey": false,
956
+ "notNull": true
957
+ },
958
+ "description": {
959
+ "name": "description",
960
+ "type": "text",
961
+ "primaryKey": false,
962
+ "notNull": false
963
+ },
964
+ "created_at": {
965
+ "name": "created_at",
966
+ "type": "timestamp with time zone",
967
+ "primaryKey": false,
968
+ "notNull": true,
969
+ "default": "now()"
970
+ },
971
+ "updated_at": {
972
+ "name": "updated_at",
973
+ "type": "timestamp with time zone",
974
+ "primaryKey": false,
975
+ "notNull": true,
976
+ "default": "now()"
977
+ },
978
+ "created_by": {
979
+ "name": "created_by",
980
+ "type": "text",
981
+ "primaryKey": false,
982
+ "notNull": false
983
+ }
984
+ },
985
+ "indexes": {},
986
+ "foreignKeys": {
987
+ "secrets_created_by_user_id_fk": {
988
+ "name": "secrets_created_by_user_id_fk",
989
+ "tableFrom": "secrets",
990
+ "tableTo": "user",
991
+ "columnsFrom": [
992
+ "created_by"
993
+ ],
994
+ "columnsTo": [
995
+ "id"
996
+ ],
997
+ "onDelete": "set null",
998
+ "onUpdate": "no action"
999
+ }
1000
+ },
1001
+ "compositePrimaryKeys": {},
1002
+ "uniqueConstraints": {
1003
+ "secrets_key_unique": {
1004
+ "name": "secrets_key_unique",
1005
+ "nullsNotDistinct": false,
1006
+ "columns": [
1007
+ "key"
1008
+ ]
1009
+ }
1010
+ },
1011
+ "policies": {},
1012
+ "checkConstraints": {},
1013
+ "isRLSEnabled": false
1014
+ },
1015
+ "public.session": {
1016
+ "name": "session",
1017
+ "schema": "",
1018
+ "columns": {
1019
+ "id": {
1020
+ "name": "id",
1021
+ "type": "text",
1022
+ "primaryKey": true,
1023
+ "notNull": true
1024
+ },
1025
+ "user_id": {
1026
+ "name": "user_id",
1027
+ "type": "text",
1028
+ "primaryKey": false,
1029
+ "notNull": true
1030
+ },
1031
+ "token": {
1032
+ "name": "token",
1033
+ "type": "text",
1034
+ "primaryKey": false,
1035
+ "notNull": true
1036
+ },
1037
+ "expires_at": {
1038
+ "name": "expires_at",
1039
+ "type": "timestamp with time zone",
1040
+ "primaryKey": false,
1041
+ "notNull": true
1042
+ },
1043
+ "ip_address": {
1044
+ "name": "ip_address",
1045
+ "type": "text",
1046
+ "primaryKey": false,
1047
+ "notNull": false
1048
+ },
1049
+ "user_agent": {
1050
+ "name": "user_agent",
1051
+ "type": "text",
1052
+ "primaryKey": false,
1053
+ "notNull": false
1054
+ },
1055
+ "created_at": {
1056
+ "name": "created_at",
1057
+ "type": "timestamp with time zone",
1058
+ "primaryKey": false,
1059
+ "notNull": true,
1060
+ "default": "now()"
1061
+ },
1062
+ "updated_at": {
1063
+ "name": "updated_at",
1064
+ "type": "timestamp with time zone",
1065
+ "primaryKey": false,
1066
+ "notNull": true,
1067
+ "default": "now()"
1068
+ }
1069
+ },
1070
+ "indexes": {},
1071
+ "foreignKeys": {
1072
+ "session_user_id_user_id_fk": {
1073
+ "name": "session_user_id_user_id_fk",
1074
+ "tableFrom": "session",
1075
+ "tableTo": "user",
1076
+ "columnsFrom": [
1077
+ "user_id"
1078
+ ],
1079
+ "columnsTo": [
1080
+ "id"
1081
+ ],
1082
+ "onDelete": "cascade",
1083
+ "onUpdate": "no action"
1084
+ }
1085
+ },
1086
+ "compositePrimaryKeys": {},
1087
+ "uniqueConstraints": {
1088
+ "session_token_unique": {
1089
+ "name": "session_token_unique",
1090
+ "nullsNotDistinct": false,
1091
+ "columns": [
1092
+ "token"
1093
+ ]
1094
+ }
1095
+ },
1096
+ "policies": {},
1097
+ "checkConstraints": {},
1098
+ "isRLSEnabled": false
1099
+ },
1100
+ "public.tasks": {
1101
+ "name": "tasks",
1102
+ "schema": "",
1103
+ "columns": {
1104
+ "id": {
1105
+ "name": "id",
1106
+ "type": "uuid",
1107
+ "primaryKey": true,
1108
+ "notNull": true,
1109
+ "default": "gen_random_uuid()"
1110
+ },
1111
+ "title": {
1112
+ "name": "title",
1113
+ "type": "text",
1114
+ "primaryKey": false,
1115
+ "notNull": true
1116
+ },
1117
+ "description": {
1118
+ "name": "description",
1119
+ "type": "text",
1120
+ "primaryKey": false,
1121
+ "notNull": false
1122
+ },
1123
+ "status": {
1124
+ "name": "status",
1125
+ "type": "text",
1126
+ "primaryKey": false,
1127
+ "notNull": true,
1128
+ "default": "'todo'"
1129
+ },
1130
+ "priority": {
1131
+ "name": "priority",
1132
+ "type": "integer",
1133
+ "primaryKey": false,
1134
+ "notNull": true,
1135
+ "default": 2
1136
+ },
1137
+ "project_id": {
1138
+ "name": "project_id",
1139
+ "type": "uuid",
1140
+ "primaryKey": false,
1141
+ "notNull": false
1142
+ },
1143
+ "due_date": {
1144
+ "name": "due_date",
1145
+ "type": "timestamp with time zone",
1146
+ "primaryKey": false,
1147
+ "notNull": false
1148
+ },
1149
+ "tags": {
1150
+ "name": "tags",
1151
+ "type": "text[]",
1152
+ "primaryKey": false,
1153
+ "notNull": false,
1154
+ "default": "'{}'"
1155
+ },
1156
+ "created_at": {
1157
+ "name": "created_at",
1158
+ "type": "timestamp with time zone",
1159
+ "primaryKey": false,
1160
+ "notNull": true,
1161
+ "default": "now()"
1162
+ },
1163
+ "modified_at": {
1164
+ "name": "modified_at",
1165
+ "type": "timestamp with time zone",
1166
+ "primaryKey": false,
1167
+ "notNull": false
1168
+ },
1169
+ "completed_at": {
1170
+ "name": "completed_at",
1171
+ "type": "timestamp with time zone",
1172
+ "primaryKey": false,
1173
+ "notNull": false
1174
+ },
1175
+ "deleted_at": {
1176
+ "name": "deleted_at",
1177
+ "type": "timestamp with time zone",
1178
+ "primaryKey": false,
1179
+ "notNull": false
1180
+ },
1181
+ "created_by": {
1182
+ "name": "created_by",
1183
+ "type": "text",
1184
+ "primaryKey": false,
1185
+ "notNull": false
1186
+ },
1187
+ "modified_by": {
1188
+ "name": "modified_by",
1189
+ "type": "text",
1190
+ "primaryKey": false,
1191
+ "notNull": false
1192
+ },
1193
+ "deleted_by": {
1194
+ "name": "deleted_by",
1195
+ "type": "text",
1196
+ "primaryKey": false,
1197
+ "notNull": false
1198
+ }
1199
+ },
1200
+ "indexes": {},
1201
+ "foreignKeys": {
1202
+ "tasks_project_id_projects_id_fk": {
1203
+ "name": "tasks_project_id_projects_id_fk",
1204
+ "tableFrom": "tasks",
1205
+ "tableTo": "projects",
1206
+ "columnsFrom": [
1207
+ "project_id"
1208
+ ],
1209
+ "columnsTo": [
1210
+ "id"
1211
+ ],
1212
+ "onDelete": "set null",
1213
+ "onUpdate": "no action"
1214
+ },
1215
+ "tasks_created_by_user_id_fk": {
1216
+ "name": "tasks_created_by_user_id_fk",
1217
+ "tableFrom": "tasks",
1218
+ "tableTo": "user",
1219
+ "columnsFrom": [
1220
+ "created_by"
1221
+ ],
1222
+ "columnsTo": [
1223
+ "id"
1224
+ ],
1225
+ "onDelete": "set null",
1226
+ "onUpdate": "no action"
1227
+ },
1228
+ "tasks_modified_by_user_id_fk": {
1229
+ "name": "tasks_modified_by_user_id_fk",
1230
+ "tableFrom": "tasks",
1231
+ "tableTo": "user",
1232
+ "columnsFrom": [
1233
+ "modified_by"
1234
+ ],
1235
+ "columnsTo": [
1236
+ "id"
1237
+ ],
1238
+ "onDelete": "set null",
1239
+ "onUpdate": "no action"
1240
+ },
1241
+ "tasks_deleted_by_user_id_fk": {
1242
+ "name": "tasks_deleted_by_user_id_fk",
1243
+ "tableFrom": "tasks",
1244
+ "tableTo": "user",
1245
+ "columnsFrom": [
1246
+ "deleted_by"
1247
+ ],
1248
+ "columnsTo": [
1249
+ "id"
1250
+ ],
1251
+ "onDelete": "set null",
1252
+ "onUpdate": "no action"
1253
+ }
1254
+ },
1255
+ "compositePrimaryKeys": {},
1256
+ "uniqueConstraints": {},
1257
+ "policies": {},
1258
+ "checkConstraints": {},
1259
+ "isRLSEnabled": false
1260
+ },
1261
+ "public.user": {
1262
+ "name": "user",
1263
+ "schema": "",
1264
+ "columns": {
1265
+ "id": {
1266
+ "name": "id",
1267
+ "type": "text",
1268
+ "primaryKey": true,
1269
+ "notNull": true
1270
+ },
1271
+ "name": {
1272
+ "name": "name",
1273
+ "type": "text",
1274
+ "primaryKey": false,
1275
+ "notNull": true
1276
+ },
1277
+ "email": {
1278
+ "name": "email",
1279
+ "type": "text",
1280
+ "primaryKey": false,
1281
+ "notNull": true
1282
+ },
1283
+ "email_verified": {
1284
+ "name": "email_verified",
1285
+ "type": "boolean",
1286
+ "primaryKey": false,
1287
+ "notNull": true,
1288
+ "default": false
1289
+ },
1290
+ "image": {
1291
+ "name": "image",
1292
+ "type": "text",
1293
+ "primaryKey": false,
1294
+ "notNull": false
1295
+ },
1296
+ "created_at": {
1297
+ "name": "created_at",
1298
+ "type": "timestamp with time zone",
1299
+ "primaryKey": false,
1300
+ "notNull": true,
1301
+ "default": "now()"
1302
+ },
1303
+ "updated_at": {
1304
+ "name": "updated_at",
1305
+ "type": "timestamp with time zone",
1306
+ "primaryKey": false,
1307
+ "notNull": true,
1308
+ "default": "now()"
1309
+ }
1310
+ },
1311
+ "indexes": {},
1312
+ "foreignKeys": {},
1313
+ "compositePrimaryKeys": {},
1314
+ "uniqueConstraints": {
1315
+ "user_email_unique": {
1316
+ "name": "user_email_unique",
1317
+ "nullsNotDistinct": false,
1318
+ "columns": [
1319
+ "email"
1320
+ ]
1321
+ }
1322
+ },
1323
+ "policies": {},
1324
+ "checkConstraints": {},
1325
+ "isRLSEnabled": false
1326
+ },
1327
+ "public.verification": {
1328
+ "name": "verification",
1329
+ "schema": "",
1330
+ "columns": {
1331
+ "id": {
1332
+ "name": "id",
1333
+ "type": "text",
1334
+ "primaryKey": true,
1335
+ "notNull": true
1336
+ },
1337
+ "identifier": {
1338
+ "name": "identifier",
1339
+ "type": "text",
1340
+ "primaryKey": false,
1341
+ "notNull": true
1342
+ },
1343
+ "value": {
1344
+ "name": "value",
1345
+ "type": "text",
1346
+ "primaryKey": false,
1347
+ "notNull": true
1348
+ },
1349
+ "expires_at": {
1350
+ "name": "expires_at",
1351
+ "type": "timestamp with time zone",
1352
+ "primaryKey": false,
1353
+ "notNull": true
1354
+ },
1355
+ "created_at": {
1356
+ "name": "created_at",
1357
+ "type": "timestamp with time zone",
1358
+ "primaryKey": false,
1359
+ "notNull": true,
1360
+ "default": "now()"
1361
+ },
1362
+ "updated_at": {
1363
+ "name": "updated_at",
1364
+ "type": "timestamp with time zone",
1365
+ "primaryKey": false,
1366
+ "notNull": true,
1367
+ "default": "now()"
1368
+ }
1369
+ },
1370
+ "indexes": {},
1371
+ "foreignKeys": {},
1372
+ "compositePrimaryKeys": {},
1373
+ "uniqueConstraints": {},
1374
+ "policies": {},
1375
+ "checkConstraints": {},
1376
+ "isRLSEnabled": false
1377
+ }
1378
+ },
1379
+ "enums": {},
1380
+ "schemas": {},
1381
+ "sequences": {},
1382
+ "roles": {},
1383
+ "policies": {},
1384
+ "views": {},
1385
+ "_meta": {
1386
+ "columns": {},
1387
+ "schemas": {},
1388
+ "tables": {}
1389
+ }
1390
+ }