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,916 @@
1
+ {
2
+ "id": "97a14863-758e-431c-be11-76574e5411de",
3
+ "prevId": "f2453e9c-536f-4b05-818e-f641b2f24887",
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.documents": {
175
+ "name": "documents",
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
+ "title": {
186
+ "name": "title",
187
+ "type": "text",
188
+ "primaryKey": false,
189
+ "notNull": true
190
+ },
191
+ "path": {
192
+ "name": "path",
193
+ "type": "text",
194
+ "primaryKey": false,
195
+ "notNull": true
196
+ },
197
+ "content": {
198
+ "name": "content",
199
+ "type": "text",
200
+ "primaryKey": false,
201
+ "notNull": false
202
+ },
203
+ "content_hash": {
204
+ "name": "content_hash",
205
+ "type": "text",
206
+ "primaryKey": false,
207
+ "notNull": false
208
+ },
209
+ "tags": {
210
+ "name": "tags",
211
+ "type": "text[]",
212
+ "primaryKey": false,
213
+ "notNull": false,
214
+ "default": "'{}'"
215
+ },
216
+ "project_id": {
217
+ "name": "project_id",
218
+ "type": "uuid",
219
+ "primaryKey": false,
220
+ "notNull": false
221
+ },
222
+ "shared": {
223
+ "name": "shared",
224
+ "type": "boolean",
225
+ "primaryKey": false,
226
+ "notNull": true,
227
+ "default": false
228
+ },
229
+ "share_type": {
230
+ "name": "share_type",
231
+ "type": "text",
232
+ "primaryKey": false,
233
+ "notNull": false
234
+ },
235
+ "file_type": {
236
+ "name": "file_type",
237
+ "type": "text",
238
+ "primaryKey": false,
239
+ "notNull": true
240
+ },
241
+ "mime_type": {
242
+ "name": "mime_type",
243
+ "type": "text",
244
+ "primaryKey": false,
245
+ "notNull": false
246
+ },
247
+ "synced_at": {
248
+ "name": "synced_at",
249
+ "type": "timestamp with time zone",
250
+ "primaryKey": false,
251
+ "notNull": false
252
+ },
253
+ "created_at": {
254
+ "name": "created_at",
255
+ "type": "timestamp with time zone",
256
+ "primaryKey": false,
257
+ "notNull": true,
258
+ "default": "now()"
259
+ },
260
+ "created_by": {
261
+ "name": "created_by",
262
+ "type": "text",
263
+ "primaryKey": false,
264
+ "notNull": false
265
+ },
266
+ "modified_at": {
267
+ "name": "modified_at",
268
+ "type": "timestamp with time zone",
269
+ "primaryKey": false,
270
+ "notNull": false
271
+ },
272
+ "modified_by": {
273
+ "name": "modified_by",
274
+ "type": "text",
275
+ "primaryKey": false,
276
+ "notNull": false
277
+ },
278
+ "deleted_at": {
279
+ "name": "deleted_at",
280
+ "type": "timestamp with time zone",
281
+ "primaryKey": false,
282
+ "notNull": false
283
+ },
284
+ "deleted_by": {
285
+ "name": "deleted_by",
286
+ "type": "text",
287
+ "primaryKey": false,
288
+ "notNull": false
289
+ }
290
+ },
291
+ "indexes": {},
292
+ "foreignKeys": {
293
+ "documents_project_id_projects_id_fk": {
294
+ "name": "documents_project_id_projects_id_fk",
295
+ "tableFrom": "documents",
296
+ "tableTo": "projects",
297
+ "columnsFrom": [
298
+ "project_id"
299
+ ],
300
+ "columnsTo": [
301
+ "id"
302
+ ],
303
+ "onDelete": "set null",
304
+ "onUpdate": "no action"
305
+ },
306
+ "documents_created_by_user_id_fk": {
307
+ "name": "documents_created_by_user_id_fk",
308
+ "tableFrom": "documents",
309
+ "tableTo": "user",
310
+ "columnsFrom": [
311
+ "created_by"
312
+ ],
313
+ "columnsTo": [
314
+ "id"
315
+ ],
316
+ "onDelete": "set null",
317
+ "onUpdate": "no action"
318
+ },
319
+ "documents_modified_by_user_id_fk": {
320
+ "name": "documents_modified_by_user_id_fk",
321
+ "tableFrom": "documents",
322
+ "tableTo": "user",
323
+ "columnsFrom": [
324
+ "modified_by"
325
+ ],
326
+ "columnsTo": [
327
+ "id"
328
+ ],
329
+ "onDelete": "set null",
330
+ "onUpdate": "no action"
331
+ },
332
+ "documents_deleted_by_user_id_fk": {
333
+ "name": "documents_deleted_by_user_id_fk",
334
+ "tableFrom": "documents",
335
+ "tableTo": "user",
336
+ "columnsFrom": [
337
+ "deleted_by"
338
+ ],
339
+ "columnsTo": [
340
+ "id"
341
+ ],
342
+ "onDelete": "set null",
343
+ "onUpdate": "no action"
344
+ }
345
+ },
346
+ "compositePrimaryKeys": {},
347
+ "uniqueConstraints": {
348
+ "documents_path_unique": {
349
+ "name": "documents_path_unique",
350
+ "nullsNotDistinct": false,
351
+ "columns": [
352
+ "path"
353
+ ]
354
+ }
355
+ },
356
+ "policies": {},
357
+ "checkConstraints": {},
358
+ "isRLSEnabled": false
359
+ },
360
+ "public.projects": {
361
+ "name": "projects",
362
+ "schema": "",
363
+ "columns": {
364
+ "id": {
365
+ "name": "id",
366
+ "type": "uuid",
367
+ "primaryKey": true,
368
+ "notNull": true,
369
+ "default": "gen_random_uuid()"
370
+ },
371
+ "name": {
372
+ "name": "name",
373
+ "type": "text",
374
+ "primaryKey": false,
375
+ "notNull": true
376
+ },
377
+ "color": {
378
+ "name": "color",
379
+ "type": "text",
380
+ "primaryKey": false,
381
+ "notNull": true
382
+ },
383
+ "description": {
384
+ "name": "description",
385
+ "type": "text",
386
+ "primaryKey": false,
387
+ "notNull": false
388
+ },
389
+ "created_at": {
390
+ "name": "created_at",
391
+ "type": "timestamp with time zone",
392
+ "primaryKey": false,
393
+ "notNull": true,
394
+ "default": "now()"
395
+ },
396
+ "modified_at": {
397
+ "name": "modified_at",
398
+ "type": "timestamp with time zone",
399
+ "primaryKey": false,
400
+ "notNull": false
401
+ },
402
+ "deleted_at": {
403
+ "name": "deleted_at",
404
+ "type": "timestamp with time zone",
405
+ "primaryKey": false,
406
+ "notNull": false
407
+ },
408
+ "created_by": {
409
+ "name": "created_by",
410
+ "type": "text",
411
+ "primaryKey": false,
412
+ "notNull": false
413
+ },
414
+ "modified_by": {
415
+ "name": "modified_by",
416
+ "type": "text",
417
+ "primaryKey": false,
418
+ "notNull": false
419
+ },
420
+ "deleted_by": {
421
+ "name": "deleted_by",
422
+ "type": "text",
423
+ "primaryKey": false,
424
+ "notNull": false
425
+ }
426
+ },
427
+ "indexes": {},
428
+ "foreignKeys": {
429
+ "projects_created_by_user_id_fk": {
430
+ "name": "projects_created_by_user_id_fk",
431
+ "tableFrom": "projects",
432
+ "tableTo": "user",
433
+ "columnsFrom": [
434
+ "created_by"
435
+ ],
436
+ "columnsTo": [
437
+ "id"
438
+ ],
439
+ "onDelete": "set null",
440
+ "onUpdate": "no action"
441
+ },
442
+ "projects_modified_by_user_id_fk": {
443
+ "name": "projects_modified_by_user_id_fk",
444
+ "tableFrom": "projects",
445
+ "tableTo": "user",
446
+ "columnsFrom": [
447
+ "modified_by"
448
+ ],
449
+ "columnsTo": [
450
+ "id"
451
+ ],
452
+ "onDelete": "set null",
453
+ "onUpdate": "no action"
454
+ },
455
+ "projects_deleted_by_user_id_fk": {
456
+ "name": "projects_deleted_by_user_id_fk",
457
+ "tableFrom": "projects",
458
+ "tableTo": "user",
459
+ "columnsFrom": [
460
+ "deleted_by"
461
+ ],
462
+ "columnsTo": [
463
+ "id"
464
+ ],
465
+ "onDelete": "set null",
466
+ "onUpdate": "no action"
467
+ }
468
+ },
469
+ "compositePrimaryKeys": {},
470
+ "uniqueConstraints": {},
471
+ "policies": {},
472
+ "checkConstraints": {},
473
+ "isRLSEnabled": false
474
+ },
475
+ "public.reminders": {
476
+ "name": "reminders",
477
+ "schema": "",
478
+ "columns": {
479
+ "id": {
480
+ "name": "id",
481
+ "type": "uuid",
482
+ "primaryKey": true,
483
+ "notNull": true,
484
+ "default": "gen_random_uuid()"
485
+ },
486
+ "task_id": {
487
+ "name": "task_id",
488
+ "type": "uuid",
489
+ "primaryKey": false,
490
+ "notNull": false
491
+ },
492
+ "message": {
493
+ "name": "message",
494
+ "type": "text",
495
+ "primaryKey": false,
496
+ "notNull": true
497
+ },
498
+ "remind_at": {
499
+ "name": "remind_at",
500
+ "type": "timestamp with time zone",
501
+ "primaryKey": false,
502
+ "notNull": true
503
+ },
504
+ "notified": {
505
+ "name": "notified",
506
+ "type": "boolean",
507
+ "primaryKey": false,
508
+ "notNull": true,
509
+ "default": false
510
+ },
511
+ "created_at": {
512
+ "name": "created_at",
513
+ "type": "timestamp with time zone",
514
+ "primaryKey": false,
515
+ "notNull": true,
516
+ "default": "now()"
517
+ }
518
+ },
519
+ "indexes": {},
520
+ "foreignKeys": {
521
+ "reminders_task_id_tasks_id_fk": {
522
+ "name": "reminders_task_id_tasks_id_fk",
523
+ "tableFrom": "reminders",
524
+ "tableTo": "tasks",
525
+ "columnsFrom": [
526
+ "task_id"
527
+ ],
528
+ "columnsTo": [
529
+ "id"
530
+ ],
531
+ "onDelete": "cascade",
532
+ "onUpdate": "no action"
533
+ }
534
+ },
535
+ "compositePrimaryKeys": {},
536
+ "uniqueConstraints": {},
537
+ "policies": {},
538
+ "checkConstraints": {},
539
+ "isRLSEnabled": false
540
+ },
541
+ "public.session": {
542
+ "name": "session",
543
+ "schema": "",
544
+ "columns": {
545
+ "id": {
546
+ "name": "id",
547
+ "type": "text",
548
+ "primaryKey": true,
549
+ "notNull": true
550
+ },
551
+ "user_id": {
552
+ "name": "user_id",
553
+ "type": "text",
554
+ "primaryKey": false,
555
+ "notNull": true
556
+ },
557
+ "token": {
558
+ "name": "token",
559
+ "type": "text",
560
+ "primaryKey": false,
561
+ "notNull": true
562
+ },
563
+ "expires_at": {
564
+ "name": "expires_at",
565
+ "type": "timestamp with time zone",
566
+ "primaryKey": false,
567
+ "notNull": true
568
+ },
569
+ "ip_address": {
570
+ "name": "ip_address",
571
+ "type": "text",
572
+ "primaryKey": false,
573
+ "notNull": false
574
+ },
575
+ "user_agent": {
576
+ "name": "user_agent",
577
+ "type": "text",
578
+ "primaryKey": false,
579
+ "notNull": false
580
+ },
581
+ "created_at": {
582
+ "name": "created_at",
583
+ "type": "timestamp with time zone",
584
+ "primaryKey": false,
585
+ "notNull": true,
586
+ "default": "now()"
587
+ },
588
+ "updated_at": {
589
+ "name": "updated_at",
590
+ "type": "timestamp with time zone",
591
+ "primaryKey": false,
592
+ "notNull": true,
593
+ "default": "now()"
594
+ }
595
+ },
596
+ "indexes": {},
597
+ "foreignKeys": {
598
+ "session_user_id_user_id_fk": {
599
+ "name": "session_user_id_user_id_fk",
600
+ "tableFrom": "session",
601
+ "tableTo": "user",
602
+ "columnsFrom": [
603
+ "user_id"
604
+ ],
605
+ "columnsTo": [
606
+ "id"
607
+ ],
608
+ "onDelete": "cascade",
609
+ "onUpdate": "no action"
610
+ }
611
+ },
612
+ "compositePrimaryKeys": {},
613
+ "uniqueConstraints": {
614
+ "session_token_unique": {
615
+ "name": "session_token_unique",
616
+ "nullsNotDistinct": false,
617
+ "columns": [
618
+ "token"
619
+ ]
620
+ }
621
+ },
622
+ "policies": {},
623
+ "checkConstraints": {},
624
+ "isRLSEnabled": false
625
+ },
626
+ "public.tasks": {
627
+ "name": "tasks",
628
+ "schema": "",
629
+ "columns": {
630
+ "id": {
631
+ "name": "id",
632
+ "type": "uuid",
633
+ "primaryKey": true,
634
+ "notNull": true,
635
+ "default": "gen_random_uuid()"
636
+ },
637
+ "title": {
638
+ "name": "title",
639
+ "type": "text",
640
+ "primaryKey": false,
641
+ "notNull": true
642
+ },
643
+ "description": {
644
+ "name": "description",
645
+ "type": "text",
646
+ "primaryKey": false,
647
+ "notNull": false
648
+ },
649
+ "status": {
650
+ "name": "status",
651
+ "type": "text",
652
+ "primaryKey": false,
653
+ "notNull": true,
654
+ "default": "'todo'"
655
+ },
656
+ "priority": {
657
+ "name": "priority",
658
+ "type": "integer",
659
+ "primaryKey": false,
660
+ "notNull": true,
661
+ "default": 2
662
+ },
663
+ "project_id": {
664
+ "name": "project_id",
665
+ "type": "uuid",
666
+ "primaryKey": false,
667
+ "notNull": false
668
+ },
669
+ "due_date": {
670
+ "name": "due_date",
671
+ "type": "timestamp with time zone",
672
+ "primaryKey": false,
673
+ "notNull": false
674
+ },
675
+ "tags": {
676
+ "name": "tags",
677
+ "type": "text[]",
678
+ "primaryKey": false,
679
+ "notNull": false,
680
+ "default": "'{}'"
681
+ },
682
+ "created_at": {
683
+ "name": "created_at",
684
+ "type": "timestamp with time zone",
685
+ "primaryKey": false,
686
+ "notNull": true,
687
+ "default": "now()"
688
+ },
689
+ "modified_at": {
690
+ "name": "modified_at",
691
+ "type": "timestamp with time zone",
692
+ "primaryKey": false,
693
+ "notNull": false
694
+ },
695
+ "completed_at": {
696
+ "name": "completed_at",
697
+ "type": "timestamp with time zone",
698
+ "primaryKey": false,
699
+ "notNull": false
700
+ },
701
+ "deleted_at": {
702
+ "name": "deleted_at",
703
+ "type": "timestamp with time zone",
704
+ "primaryKey": false,
705
+ "notNull": false
706
+ },
707
+ "created_by": {
708
+ "name": "created_by",
709
+ "type": "text",
710
+ "primaryKey": false,
711
+ "notNull": false
712
+ },
713
+ "modified_by": {
714
+ "name": "modified_by",
715
+ "type": "text",
716
+ "primaryKey": false,
717
+ "notNull": false
718
+ },
719
+ "deleted_by": {
720
+ "name": "deleted_by",
721
+ "type": "text",
722
+ "primaryKey": false,
723
+ "notNull": false
724
+ }
725
+ },
726
+ "indexes": {},
727
+ "foreignKeys": {
728
+ "tasks_project_id_projects_id_fk": {
729
+ "name": "tasks_project_id_projects_id_fk",
730
+ "tableFrom": "tasks",
731
+ "tableTo": "projects",
732
+ "columnsFrom": [
733
+ "project_id"
734
+ ],
735
+ "columnsTo": [
736
+ "id"
737
+ ],
738
+ "onDelete": "set null",
739
+ "onUpdate": "no action"
740
+ },
741
+ "tasks_created_by_user_id_fk": {
742
+ "name": "tasks_created_by_user_id_fk",
743
+ "tableFrom": "tasks",
744
+ "tableTo": "user",
745
+ "columnsFrom": [
746
+ "created_by"
747
+ ],
748
+ "columnsTo": [
749
+ "id"
750
+ ],
751
+ "onDelete": "set null",
752
+ "onUpdate": "no action"
753
+ },
754
+ "tasks_modified_by_user_id_fk": {
755
+ "name": "tasks_modified_by_user_id_fk",
756
+ "tableFrom": "tasks",
757
+ "tableTo": "user",
758
+ "columnsFrom": [
759
+ "modified_by"
760
+ ],
761
+ "columnsTo": [
762
+ "id"
763
+ ],
764
+ "onDelete": "set null",
765
+ "onUpdate": "no action"
766
+ },
767
+ "tasks_deleted_by_user_id_fk": {
768
+ "name": "tasks_deleted_by_user_id_fk",
769
+ "tableFrom": "tasks",
770
+ "tableTo": "user",
771
+ "columnsFrom": [
772
+ "deleted_by"
773
+ ],
774
+ "columnsTo": [
775
+ "id"
776
+ ],
777
+ "onDelete": "set null",
778
+ "onUpdate": "no action"
779
+ }
780
+ },
781
+ "compositePrimaryKeys": {},
782
+ "uniqueConstraints": {},
783
+ "policies": {},
784
+ "checkConstraints": {},
785
+ "isRLSEnabled": false
786
+ },
787
+ "public.user": {
788
+ "name": "user",
789
+ "schema": "",
790
+ "columns": {
791
+ "id": {
792
+ "name": "id",
793
+ "type": "text",
794
+ "primaryKey": true,
795
+ "notNull": true
796
+ },
797
+ "name": {
798
+ "name": "name",
799
+ "type": "text",
800
+ "primaryKey": false,
801
+ "notNull": true
802
+ },
803
+ "email": {
804
+ "name": "email",
805
+ "type": "text",
806
+ "primaryKey": false,
807
+ "notNull": true
808
+ },
809
+ "email_verified": {
810
+ "name": "email_verified",
811
+ "type": "boolean",
812
+ "primaryKey": false,
813
+ "notNull": true,
814
+ "default": false
815
+ },
816
+ "image": {
817
+ "name": "image",
818
+ "type": "text",
819
+ "primaryKey": false,
820
+ "notNull": false
821
+ },
822
+ "created_at": {
823
+ "name": "created_at",
824
+ "type": "timestamp with time zone",
825
+ "primaryKey": false,
826
+ "notNull": true,
827
+ "default": "now()"
828
+ },
829
+ "updated_at": {
830
+ "name": "updated_at",
831
+ "type": "timestamp with time zone",
832
+ "primaryKey": false,
833
+ "notNull": true,
834
+ "default": "now()"
835
+ }
836
+ },
837
+ "indexes": {},
838
+ "foreignKeys": {},
839
+ "compositePrimaryKeys": {},
840
+ "uniqueConstraints": {
841
+ "user_email_unique": {
842
+ "name": "user_email_unique",
843
+ "nullsNotDistinct": false,
844
+ "columns": [
845
+ "email"
846
+ ]
847
+ }
848
+ },
849
+ "policies": {},
850
+ "checkConstraints": {},
851
+ "isRLSEnabled": false
852
+ },
853
+ "public.verification": {
854
+ "name": "verification",
855
+ "schema": "",
856
+ "columns": {
857
+ "id": {
858
+ "name": "id",
859
+ "type": "text",
860
+ "primaryKey": true,
861
+ "notNull": true
862
+ },
863
+ "identifier": {
864
+ "name": "identifier",
865
+ "type": "text",
866
+ "primaryKey": false,
867
+ "notNull": true
868
+ },
869
+ "value": {
870
+ "name": "value",
871
+ "type": "text",
872
+ "primaryKey": false,
873
+ "notNull": true
874
+ },
875
+ "expires_at": {
876
+ "name": "expires_at",
877
+ "type": "timestamp with time zone",
878
+ "primaryKey": false,
879
+ "notNull": true
880
+ },
881
+ "created_at": {
882
+ "name": "created_at",
883
+ "type": "timestamp with time zone",
884
+ "primaryKey": false,
885
+ "notNull": true,
886
+ "default": "now()"
887
+ },
888
+ "updated_at": {
889
+ "name": "updated_at",
890
+ "type": "timestamp with time zone",
891
+ "primaryKey": false,
892
+ "notNull": true,
893
+ "default": "now()"
894
+ }
895
+ },
896
+ "indexes": {},
897
+ "foreignKeys": {},
898
+ "compositePrimaryKeys": {},
899
+ "uniqueConstraints": {},
900
+ "policies": {},
901
+ "checkConstraints": {},
902
+ "isRLSEnabled": false
903
+ }
904
+ },
905
+ "enums": {},
906
+ "schemas": {},
907
+ "sequences": {},
908
+ "roles": {},
909
+ "policies": {},
910
+ "views": {},
911
+ "_meta": {
912
+ "columns": {},
913
+ "schemas": {},
914
+ "tables": {}
915
+ }
916
+ }