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,730 @@
1
+ {
2
+ "id": "f2453e9c-536f-4b05-818e-f641b2f24887",
3
+ "prevId": "097697a4-1a5a-4f50-ab44-7a9fefdda249",
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.projects": {
175
+ "name": "projects",
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
+ "name": {
186
+ "name": "name",
187
+ "type": "text",
188
+ "primaryKey": false,
189
+ "notNull": true
190
+ },
191
+ "color": {
192
+ "name": "color",
193
+ "type": "text",
194
+ "primaryKey": false,
195
+ "notNull": true
196
+ },
197
+ "description": {
198
+ "name": "description",
199
+ "type": "text",
200
+ "primaryKey": false,
201
+ "notNull": false
202
+ },
203
+ "created_at": {
204
+ "name": "created_at",
205
+ "type": "timestamp with time zone",
206
+ "primaryKey": false,
207
+ "notNull": true,
208
+ "default": "now()"
209
+ },
210
+ "modified_at": {
211
+ "name": "modified_at",
212
+ "type": "timestamp with time zone",
213
+ "primaryKey": false,
214
+ "notNull": false
215
+ },
216
+ "deleted_at": {
217
+ "name": "deleted_at",
218
+ "type": "timestamp with time zone",
219
+ "primaryKey": false,
220
+ "notNull": false
221
+ },
222
+ "created_by": {
223
+ "name": "created_by",
224
+ "type": "text",
225
+ "primaryKey": false,
226
+ "notNull": false
227
+ },
228
+ "modified_by": {
229
+ "name": "modified_by",
230
+ "type": "text",
231
+ "primaryKey": false,
232
+ "notNull": false
233
+ },
234
+ "deleted_by": {
235
+ "name": "deleted_by",
236
+ "type": "text",
237
+ "primaryKey": false,
238
+ "notNull": false
239
+ }
240
+ },
241
+ "indexes": {},
242
+ "foreignKeys": {
243
+ "projects_created_by_user_id_fk": {
244
+ "name": "projects_created_by_user_id_fk",
245
+ "tableFrom": "projects",
246
+ "tableTo": "user",
247
+ "columnsFrom": [
248
+ "created_by"
249
+ ],
250
+ "columnsTo": [
251
+ "id"
252
+ ],
253
+ "onDelete": "set null",
254
+ "onUpdate": "no action"
255
+ },
256
+ "projects_modified_by_user_id_fk": {
257
+ "name": "projects_modified_by_user_id_fk",
258
+ "tableFrom": "projects",
259
+ "tableTo": "user",
260
+ "columnsFrom": [
261
+ "modified_by"
262
+ ],
263
+ "columnsTo": [
264
+ "id"
265
+ ],
266
+ "onDelete": "set null",
267
+ "onUpdate": "no action"
268
+ },
269
+ "projects_deleted_by_user_id_fk": {
270
+ "name": "projects_deleted_by_user_id_fk",
271
+ "tableFrom": "projects",
272
+ "tableTo": "user",
273
+ "columnsFrom": [
274
+ "deleted_by"
275
+ ],
276
+ "columnsTo": [
277
+ "id"
278
+ ],
279
+ "onDelete": "set null",
280
+ "onUpdate": "no action"
281
+ }
282
+ },
283
+ "compositePrimaryKeys": {},
284
+ "uniqueConstraints": {},
285
+ "policies": {},
286
+ "checkConstraints": {},
287
+ "isRLSEnabled": false
288
+ },
289
+ "public.reminders": {
290
+ "name": "reminders",
291
+ "schema": "",
292
+ "columns": {
293
+ "id": {
294
+ "name": "id",
295
+ "type": "uuid",
296
+ "primaryKey": true,
297
+ "notNull": true,
298
+ "default": "gen_random_uuid()"
299
+ },
300
+ "task_id": {
301
+ "name": "task_id",
302
+ "type": "uuid",
303
+ "primaryKey": false,
304
+ "notNull": false
305
+ },
306
+ "message": {
307
+ "name": "message",
308
+ "type": "text",
309
+ "primaryKey": false,
310
+ "notNull": true
311
+ },
312
+ "remind_at": {
313
+ "name": "remind_at",
314
+ "type": "timestamp with time zone",
315
+ "primaryKey": false,
316
+ "notNull": true
317
+ },
318
+ "notified": {
319
+ "name": "notified",
320
+ "type": "boolean",
321
+ "primaryKey": false,
322
+ "notNull": true,
323
+ "default": false
324
+ },
325
+ "created_at": {
326
+ "name": "created_at",
327
+ "type": "timestamp with time zone",
328
+ "primaryKey": false,
329
+ "notNull": true,
330
+ "default": "now()"
331
+ }
332
+ },
333
+ "indexes": {},
334
+ "foreignKeys": {
335
+ "reminders_task_id_tasks_id_fk": {
336
+ "name": "reminders_task_id_tasks_id_fk",
337
+ "tableFrom": "reminders",
338
+ "tableTo": "tasks",
339
+ "columnsFrom": [
340
+ "task_id"
341
+ ],
342
+ "columnsTo": [
343
+ "id"
344
+ ],
345
+ "onDelete": "cascade",
346
+ "onUpdate": "no action"
347
+ }
348
+ },
349
+ "compositePrimaryKeys": {},
350
+ "uniqueConstraints": {},
351
+ "policies": {},
352
+ "checkConstraints": {},
353
+ "isRLSEnabled": false
354
+ },
355
+ "public.session": {
356
+ "name": "session",
357
+ "schema": "",
358
+ "columns": {
359
+ "id": {
360
+ "name": "id",
361
+ "type": "text",
362
+ "primaryKey": true,
363
+ "notNull": true
364
+ },
365
+ "user_id": {
366
+ "name": "user_id",
367
+ "type": "text",
368
+ "primaryKey": false,
369
+ "notNull": true
370
+ },
371
+ "token": {
372
+ "name": "token",
373
+ "type": "text",
374
+ "primaryKey": false,
375
+ "notNull": true
376
+ },
377
+ "expires_at": {
378
+ "name": "expires_at",
379
+ "type": "timestamp with time zone",
380
+ "primaryKey": false,
381
+ "notNull": true
382
+ },
383
+ "ip_address": {
384
+ "name": "ip_address",
385
+ "type": "text",
386
+ "primaryKey": false,
387
+ "notNull": false
388
+ },
389
+ "user_agent": {
390
+ "name": "user_agent",
391
+ "type": "text",
392
+ "primaryKey": false,
393
+ "notNull": false
394
+ },
395
+ "created_at": {
396
+ "name": "created_at",
397
+ "type": "timestamp with time zone",
398
+ "primaryKey": false,
399
+ "notNull": true,
400
+ "default": "now()"
401
+ },
402
+ "updated_at": {
403
+ "name": "updated_at",
404
+ "type": "timestamp with time zone",
405
+ "primaryKey": false,
406
+ "notNull": true,
407
+ "default": "now()"
408
+ }
409
+ },
410
+ "indexes": {},
411
+ "foreignKeys": {
412
+ "session_user_id_user_id_fk": {
413
+ "name": "session_user_id_user_id_fk",
414
+ "tableFrom": "session",
415
+ "tableTo": "user",
416
+ "columnsFrom": [
417
+ "user_id"
418
+ ],
419
+ "columnsTo": [
420
+ "id"
421
+ ],
422
+ "onDelete": "cascade",
423
+ "onUpdate": "no action"
424
+ }
425
+ },
426
+ "compositePrimaryKeys": {},
427
+ "uniqueConstraints": {
428
+ "session_token_unique": {
429
+ "name": "session_token_unique",
430
+ "nullsNotDistinct": false,
431
+ "columns": [
432
+ "token"
433
+ ]
434
+ }
435
+ },
436
+ "policies": {},
437
+ "checkConstraints": {},
438
+ "isRLSEnabled": false
439
+ },
440
+ "public.tasks": {
441
+ "name": "tasks",
442
+ "schema": "",
443
+ "columns": {
444
+ "id": {
445
+ "name": "id",
446
+ "type": "uuid",
447
+ "primaryKey": true,
448
+ "notNull": true,
449
+ "default": "gen_random_uuid()"
450
+ },
451
+ "title": {
452
+ "name": "title",
453
+ "type": "text",
454
+ "primaryKey": false,
455
+ "notNull": true
456
+ },
457
+ "description": {
458
+ "name": "description",
459
+ "type": "text",
460
+ "primaryKey": false,
461
+ "notNull": false
462
+ },
463
+ "status": {
464
+ "name": "status",
465
+ "type": "text",
466
+ "primaryKey": false,
467
+ "notNull": true,
468
+ "default": "'todo'"
469
+ },
470
+ "priority": {
471
+ "name": "priority",
472
+ "type": "integer",
473
+ "primaryKey": false,
474
+ "notNull": true,
475
+ "default": 2
476
+ },
477
+ "project_id": {
478
+ "name": "project_id",
479
+ "type": "uuid",
480
+ "primaryKey": false,
481
+ "notNull": false
482
+ },
483
+ "due_date": {
484
+ "name": "due_date",
485
+ "type": "timestamp with time zone",
486
+ "primaryKey": false,
487
+ "notNull": false
488
+ },
489
+ "tags": {
490
+ "name": "tags",
491
+ "type": "text[]",
492
+ "primaryKey": false,
493
+ "notNull": false,
494
+ "default": "'{}'"
495
+ },
496
+ "created_at": {
497
+ "name": "created_at",
498
+ "type": "timestamp with time zone",
499
+ "primaryKey": false,
500
+ "notNull": true,
501
+ "default": "now()"
502
+ },
503
+ "modified_at": {
504
+ "name": "modified_at",
505
+ "type": "timestamp with time zone",
506
+ "primaryKey": false,
507
+ "notNull": false
508
+ },
509
+ "completed_at": {
510
+ "name": "completed_at",
511
+ "type": "timestamp with time zone",
512
+ "primaryKey": false,
513
+ "notNull": false
514
+ },
515
+ "deleted_at": {
516
+ "name": "deleted_at",
517
+ "type": "timestamp with time zone",
518
+ "primaryKey": false,
519
+ "notNull": false
520
+ },
521
+ "created_by": {
522
+ "name": "created_by",
523
+ "type": "text",
524
+ "primaryKey": false,
525
+ "notNull": false
526
+ },
527
+ "modified_by": {
528
+ "name": "modified_by",
529
+ "type": "text",
530
+ "primaryKey": false,
531
+ "notNull": false
532
+ },
533
+ "deleted_by": {
534
+ "name": "deleted_by",
535
+ "type": "text",
536
+ "primaryKey": false,
537
+ "notNull": false
538
+ }
539
+ },
540
+ "indexes": {},
541
+ "foreignKeys": {
542
+ "tasks_project_id_projects_id_fk": {
543
+ "name": "tasks_project_id_projects_id_fk",
544
+ "tableFrom": "tasks",
545
+ "tableTo": "projects",
546
+ "columnsFrom": [
547
+ "project_id"
548
+ ],
549
+ "columnsTo": [
550
+ "id"
551
+ ],
552
+ "onDelete": "set null",
553
+ "onUpdate": "no action"
554
+ },
555
+ "tasks_created_by_user_id_fk": {
556
+ "name": "tasks_created_by_user_id_fk",
557
+ "tableFrom": "tasks",
558
+ "tableTo": "user",
559
+ "columnsFrom": [
560
+ "created_by"
561
+ ],
562
+ "columnsTo": [
563
+ "id"
564
+ ],
565
+ "onDelete": "set null",
566
+ "onUpdate": "no action"
567
+ },
568
+ "tasks_modified_by_user_id_fk": {
569
+ "name": "tasks_modified_by_user_id_fk",
570
+ "tableFrom": "tasks",
571
+ "tableTo": "user",
572
+ "columnsFrom": [
573
+ "modified_by"
574
+ ],
575
+ "columnsTo": [
576
+ "id"
577
+ ],
578
+ "onDelete": "set null",
579
+ "onUpdate": "no action"
580
+ },
581
+ "tasks_deleted_by_user_id_fk": {
582
+ "name": "tasks_deleted_by_user_id_fk",
583
+ "tableFrom": "tasks",
584
+ "tableTo": "user",
585
+ "columnsFrom": [
586
+ "deleted_by"
587
+ ],
588
+ "columnsTo": [
589
+ "id"
590
+ ],
591
+ "onDelete": "set null",
592
+ "onUpdate": "no action"
593
+ }
594
+ },
595
+ "compositePrimaryKeys": {},
596
+ "uniqueConstraints": {},
597
+ "policies": {},
598
+ "checkConstraints": {},
599
+ "isRLSEnabled": false
600
+ },
601
+ "public.user": {
602
+ "name": "user",
603
+ "schema": "",
604
+ "columns": {
605
+ "id": {
606
+ "name": "id",
607
+ "type": "text",
608
+ "primaryKey": true,
609
+ "notNull": true
610
+ },
611
+ "name": {
612
+ "name": "name",
613
+ "type": "text",
614
+ "primaryKey": false,
615
+ "notNull": true
616
+ },
617
+ "email": {
618
+ "name": "email",
619
+ "type": "text",
620
+ "primaryKey": false,
621
+ "notNull": true
622
+ },
623
+ "email_verified": {
624
+ "name": "email_verified",
625
+ "type": "boolean",
626
+ "primaryKey": false,
627
+ "notNull": true,
628
+ "default": false
629
+ },
630
+ "image": {
631
+ "name": "image",
632
+ "type": "text",
633
+ "primaryKey": false,
634
+ "notNull": false
635
+ },
636
+ "created_at": {
637
+ "name": "created_at",
638
+ "type": "timestamp with time zone",
639
+ "primaryKey": false,
640
+ "notNull": true,
641
+ "default": "now()"
642
+ },
643
+ "updated_at": {
644
+ "name": "updated_at",
645
+ "type": "timestamp with time zone",
646
+ "primaryKey": false,
647
+ "notNull": true,
648
+ "default": "now()"
649
+ }
650
+ },
651
+ "indexes": {},
652
+ "foreignKeys": {},
653
+ "compositePrimaryKeys": {},
654
+ "uniqueConstraints": {
655
+ "user_email_unique": {
656
+ "name": "user_email_unique",
657
+ "nullsNotDistinct": false,
658
+ "columns": [
659
+ "email"
660
+ ]
661
+ }
662
+ },
663
+ "policies": {},
664
+ "checkConstraints": {},
665
+ "isRLSEnabled": false
666
+ },
667
+ "public.verification": {
668
+ "name": "verification",
669
+ "schema": "",
670
+ "columns": {
671
+ "id": {
672
+ "name": "id",
673
+ "type": "text",
674
+ "primaryKey": true,
675
+ "notNull": true
676
+ },
677
+ "identifier": {
678
+ "name": "identifier",
679
+ "type": "text",
680
+ "primaryKey": false,
681
+ "notNull": true
682
+ },
683
+ "value": {
684
+ "name": "value",
685
+ "type": "text",
686
+ "primaryKey": false,
687
+ "notNull": true
688
+ },
689
+ "expires_at": {
690
+ "name": "expires_at",
691
+ "type": "timestamp with time zone",
692
+ "primaryKey": false,
693
+ "notNull": true
694
+ },
695
+ "created_at": {
696
+ "name": "created_at",
697
+ "type": "timestamp with time zone",
698
+ "primaryKey": false,
699
+ "notNull": true,
700
+ "default": "now()"
701
+ },
702
+ "updated_at": {
703
+ "name": "updated_at",
704
+ "type": "timestamp with time zone",
705
+ "primaryKey": false,
706
+ "notNull": true,
707
+ "default": "now()"
708
+ }
709
+ },
710
+ "indexes": {},
711
+ "foreignKeys": {},
712
+ "compositePrimaryKeys": {},
713
+ "uniqueConstraints": {},
714
+ "policies": {},
715
+ "checkConstraints": {},
716
+ "isRLSEnabled": false
717
+ }
718
+ },
719
+ "enums": {},
720
+ "schemas": {},
721
+ "sequences": {},
722
+ "roles": {},
723
+ "policies": {},
724
+ "views": {},
725
+ "_meta": {
726
+ "columns": {},
727
+ "schemas": {},
728
+ "tables": {}
729
+ }
730
+ }