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,1127 @@
1
+ {
2
+ "id": "ca98d5f9-a9c8-44ff-82e1-917f8f731a55",
3
+ "prevId": "97a14863-758e-431c-be11-76574e5411de",
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.projects": {
572
+ "name": "projects",
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
+ "name": {
583
+ "name": "name",
584
+ "type": "text",
585
+ "primaryKey": false,
586
+ "notNull": true
587
+ },
588
+ "color": {
589
+ "name": "color",
590
+ "type": "text",
591
+ "primaryKey": false,
592
+ "notNull": true
593
+ },
594
+ "description": {
595
+ "name": "description",
596
+ "type": "text",
597
+ "primaryKey": false,
598
+ "notNull": false
599
+ },
600
+ "created_at": {
601
+ "name": "created_at",
602
+ "type": "timestamp with time zone",
603
+ "primaryKey": false,
604
+ "notNull": true,
605
+ "default": "now()"
606
+ },
607
+ "modified_at": {
608
+ "name": "modified_at",
609
+ "type": "timestamp with time zone",
610
+ "primaryKey": false,
611
+ "notNull": false
612
+ },
613
+ "deleted_at": {
614
+ "name": "deleted_at",
615
+ "type": "timestamp with time zone",
616
+ "primaryKey": false,
617
+ "notNull": false
618
+ },
619
+ "created_by": {
620
+ "name": "created_by",
621
+ "type": "text",
622
+ "primaryKey": false,
623
+ "notNull": false
624
+ },
625
+ "modified_by": {
626
+ "name": "modified_by",
627
+ "type": "text",
628
+ "primaryKey": false,
629
+ "notNull": false
630
+ },
631
+ "deleted_by": {
632
+ "name": "deleted_by",
633
+ "type": "text",
634
+ "primaryKey": false,
635
+ "notNull": false
636
+ }
637
+ },
638
+ "indexes": {},
639
+ "foreignKeys": {
640
+ "projects_created_by_user_id_fk": {
641
+ "name": "projects_created_by_user_id_fk",
642
+ "tableFrom": "projects",
643
+ "tableTo": "user",
644
+ "columnsFrom": [
645
+ "created_by"
646
+ ],
647
+ "columnsTo": [
648
+ "id"
649
+ ],
650
+ "onDelete": "set null",
651
+ "onUpdate": "no action"
652
+ },
653
+ "projects_modified_by_user_id_fk": {
654
+ "name": "projects_modified_by_user_id_fk",
655
+ "tableFrom": "projects",
656
+ "tableTo": "user",
657
+ "columnsFrom": [
658
+ "modified_by"
659
+ ],
660
+ "columnsTo": [
661
+ "id"
662
+ ],
663
+ "onDelete": "set null",
664
+ "onUpdate": "no action"
665
+ },
666
+ "projects_deleted_by_user_id_fk": {
667
+ "name": "projects_deleted_by_user_id_fk",
668
+ "tableFrom": "projects",
669
+ "tableTo": "user",
670
+ "columnsFrom": [
671
+ "deleted_by"
672
+ ],
673
+ "columnsTo": [
674
+ "id"
675
+ ],
676
+ "onDelete": "set null",
677
+ "onUpdate": "no action"
678
+ }
679
+ },
680
+ "compositePrimaryKeys": {},
681
+ "uniqueConstraints": {},
682
+ "policies": {},
683
+ "checkConstraints": {},
684
+ "isRLSEnabled": false
685
+ },
686
+ "public.reminders": {
687
+ "name": "reminders",
688
+ "schema": "",
689
+ "columns": {
690
+ "id": {
691
+ "name": "id",
692
+ "type": "uuid",
693
+ "primaryKey": true,
694
+ "notNull": true,
695
+ "default": "gen_random_uuid()"
696
+ },
697
+ "task_id": {
698
+ "name": "task_id",
699
+ "type": "uuid",
700
+ "primaryKey": false,
701
+ "notNull": false
702
+ },
703
+ "message": {
704
+ "name": "message",
705
+ "type": "text",
706
+ "primaryKey": false,
707
+ "notNull": true
708
+ },
709
+ "remind_at": {
710
+ "name": "remind_at",
711
+ "type": "timestamp with time zone",
712
+ "primaryKey": false,
713
+ "notNull": true
714
+ },
715
+ "notified": {
716
+ "name": "notified",
717
+ "type": "boolean",
718
+ "primaryKey": false,
719
+ "notNull": true,
720
+ "default": false
721
+ },
722
+ "created_at": {
723
+ "name": "created_at",
724
+ "type": "timestamp with time zone",
725
+ "primaryKey": false,
726
+ "notNull": true,
727
+ "default": "now()"
728
+ }
729
+ },
730
+ "indexes": {},
731
+ "foreignKeys": {
732
+ "reminders_task_id_tasks_id_fk": {
733
+ "name": "reminders_task_id_tasks_id_fk",
734
+ "tableFrom": "reminders",
735
+ "tableTo": "tasks",
736
+ "columnsFrom": [
737
+ "task_id"
738
+ ],
739
+ "columnsTo": [
740
+ "id"
741
+ ],
742
+ "onDelete": "cascade",
743
+ "onUpdate": "no action"
744
+ }
745
+ },
746
+ "compositePrimaryKeys": {},
747
+ "uniqueConstraints": {},
748
+ "policies": {},
749
+ "checkConstraints": {},
750
+ "isRLSEnabled": false
751
+ },
752
+ "public.session": {
753
+ "name": "session",
754
+ "schema": "",
755
+ "columns": {
756
+ "id": {
757
+ "name": "id",
758
+ "type": "text",
759
+ "primaryKey": true,
760
+ "notNull": true
761
+ },
762
+ "user_id": {
763
+ "name": "user_id",
764
+ "type": "text",
765
+ "primaryKey": false,
766
+ "notNull": true
767
+ },
768
+ "token": {
769
+ "name": "token",
770
+ "type": "text",
771
+ "primaryKey": false,
772
+ "notNull": true
773
+ },
774
+ "expires_at": {
775
+ "name": "expires_at",
776
+ "type": "timestamp with time zone",
777
+ "primaryKey": false,
778
+ "notNull": true
779
+ },
780
+ "ip_address": {
781
+ "name": "ip_address",
782
+ "type": "text",
783
+ "primaryKey": false,
784
+ "notNull": false
785
+ },
786
+ "user_agent": {
787
+ "name": "user_agent",
788
+ "type": "text",
789
+ "primaryKey": false,
790
+ "notNull": false
791
+ },
792
+ "created_at": {
793
+ "name": "created_at",
794
+ "type": "timestamp with time zone",
795
+ "primaryKey": false,
796
+ "notNull": true,
797
+ "default": "now()"
798
+ },
799
+ "updated_at": {
800
+ "name": "updated_at",
801
+ "type": "timestamp with time zone",
802
+ "primaryKey": false,
803
+ "notNull": true,
804
+ "default": "now()"
805
+ }
806
+ },
807
+ "indexes": {},
808
+ "foreignKeys": {
809
+ "session_user_id_user_id_fk": {
810
+ "name": "session_user_id_user_id_fk",
811
+ "tableFrom": "session",
812
+ "tableTo": "user",
813
+ "columnsFrom": [
814
+ "user_id"
815
+ ],
816
+ "columnsTo": [
817
+ "id"
818
+ ],
819
+ "onDelete": "cascade",
820
+ "onUpdate": "no action"
821
+ }
822
+ },
823
+ "compositePrimaryKeys": {},
824
+ "uniqueConstraints": {
825
+ "session_token_unique": {
826
+ "name": "session_token_unique",
827
+ "nullsNotDistinct": false,
828
+ "columns": [
829
+ "token"
830
+ ]
831
+ }
832
+ },
833
+ "policies": {},
834
+ "checkConstraints": {},
835
+ "isRLSEnabled": false
836
+ },
837
+ "public.tasks": {
838
+ "name": "tasks",
839
+ "schema": "",
840
+ "columns": {
841
+ "id": {
842
+ "name": "id",
843
+ "type": "uuid",
844
+ "primaryKey": true,
845
+ "notNull": true,
846
+ "default": "gen_random_uuid()"
847
+ },
848
+ "title": {
849
+ "name": "title",
850
+ "type": "text",
851
+ "primaryKey": false,
852
+ "notNull": true
853
+ },
854
+ "description": {
855
+ "name": "description",
856
+ "type": "text",
857
+ "primaryKey": false,
858
+ "notNull": false
859
+ },
860
+ "status": {
861
+ "name": "status",
862
+ "type": "text",
863
+ "primaryKey": false,
864
+ "notNull": true,
865
+ "default": "'todo'"
866
+ },
867
+ "priority": {
868
+ "name": "priority",
869
+ "type": "integer",
870
+ "primaryKey": false,
871
+ "notNull": true,
872
+ "default": 2
873
+ },
874
+ "project_id": {
875
+ "name": "project_id",
876
+ "type": "uuid",
877
+ "primaryKey": false,
878
+ "notNull": false
879
+ },
880
+ "due_date": {
881
+ "name": "due_date",
882
+ "type": "timestamp with time zone",
883
+ "primaryKey": false,
884
+ "notNull": false
885
+ },
886
+ "tags": {
887
+ "name": "tags",
888
+ "type": "text[]",
889
+ "primaryKey": false,
890
+ "notNull": false,
891
+ "default": "'{}'"
892
+ },
893
+ "created_at": {
894
+ "name": "created_at",
895
+ "type": "timestamp with time zone",
896
+ "primaryKey": false,
897
+ "notNull": true,
898
+ "default": "now()"
899
+ },
900
+ "modified_at": {
901
+ "name": "modified_at",
902
+ "type": "timestamp with time zone",
903
+ "primaryKey": false,
904
+ "notNull": false
905
+ },
906
+ "completed_at": {
907
+ "name": "completed_at",
908
+ "type": "timestamp with time zone",
909
+ "primaryKey": false,
910
+ "notNull": false
911
+ },
912
+ "deleted_at": {
913
+ "name": "deleted_at",
914
+ "type": "timestamp with time zone",
915
+ "primaryKey": false,
916
+ "notNull": false
917
+ },
918
+ "created_by": {
919
+ "name": "created_by",
920
+ "type": "text",
921
+ "primaryKey": false,
922
+ "notNull": false
923
+ },
924
+ "modified_by": {
925
+ "name": "modified_by",
926
+ "type": "text",
927
+ "primaryKey": false,
928
+ "notNull": false
929
+ },
930
+ "deleted_by": {
931
+ "name": "deleted_by",
932
+ "type": "text",
933
+ "primaryKey": false,
934
+ "notNull": false
935
+ }
936
+ },
937
+ "indexes": {},
938
+ "foreignKeys": {
939
+ "tasks_project_id_projects_id_fk": {
940
+ "name": "tasks_project_id_projects_id_fk",
941
+ "tableFrom": "tasks",
942
+ "tableTo": "projects",
943
+ "columnsFrom": [
944
+ "project_id"
945
+ ],
946
+ "columnsTo": [
947
+ "id"
948
+ ],
949
+ "onDelete": "set null",
950
+ "onUpdate": "no action"
951
+ },
952
+ "tasks_created_by_user_id_fk": {
953
+ "name": "tasks_created_by_user_id_fk",
954
+ "tableFrom": "tasks",
955
+ "tableTo": "user",
956
+ "columnsFrom": [
957
+ "created_by"
958
+ ],
959
+ "columnsTo": [
960
+ "id"
961
+ ],
962
+ "onDelete": "set null",
963
+ "onUpdate": "no action"
964
+ },
965
+ "tasks_modified_by_user_id_fk": {
966
+ "name": "tasks_modified_by_user_id_fk",
967
+ "tableFrom": "tasks",
968
+ "tableTo": "user",
969
+ "columnsFrom": [
970
+ "modified_by"
971
+ ],
972
+ "columnsTo": [
973
+ "id"
974
+ ],
975
+ "onDelete": "set null",
976
+ "onUpdate": "no action"
977
+ },
978
+ "tasks_deleted_by_user_id_fk": {
979
+ "name": "tasks_deleted_by_user_id_fk",
980
+ "tableFrom": "tasks",
981
+ "tableTo": "user",
982
+ "columnsFrom": [
983
+ "deleted_by"
984
+ ],
985
+ "columnsTo": [
986
+ "id"
987
+ ],
988
+ "onDelete": "set null",
989
+ "onUpdate": "no action"
990
+ }
991
+ },
992
+ "compositePrimaryKeys": {},
993
+ "uniqueConstraints": {},
994
+ "policies": {},
995
+ "checkConstraints": {},
996
+ "isRLSEnabled": false
997
+ },
998
+ "public.user": {
999
+ "name": "user",
1000
+ "schema": "",
1001
+ "columns": {
1002
+ "id": {
1003
+ "name": "id",
1004
+ "type": "text",
1005
+ "primaryKey": true,
1006
+ "notNull": true
1007
+ },
1008
+ "name": {
1009
+ "name": "name",
1010
+ "type": "text",
1011
+ "primaryKey": false,
1012
+ "notNull": true
1013
+ },
1014
+ "email": {
1015
+ "name": "email",
1016
+ "type": "text",
1017
+ "primaryKey": false,
1018
+ "notNull": true
1019
+ },
1020
+ "email_verified": {
1021
+ "name": "email_verified",
1022
+ "type": "boolean",
1023
+ "primaryKey": false,
1024
+ "notNull": true,
1025
+ "default": false
1026
+ },
1027
+ "image": {
1028
+ "name": "image",
1029
+ "type": "text",
1030
+ "primaryKey": false,
1031
+ "notNull": false
1032
+ },
1033
+ "created_at": {
1034
+ "name": "created_at",
1035
+ "type": "timestamp with time zone",
1036
+ "primaryKey": false,
1037
+ "notNull": true,
1038
+ "default": "now()"
1039
+ },
1040
+ "updated_at": {
1041
+ "name": "updated_at",
1042
+ "type": "timestamp with time zone",
1043
+ "primaryKey": false,
1044
+ "notNull": true,
1045
+ "default": "now()"
1046
+ }
1047
+ },
1048
+ "indexes": {},
1049
+ "foreignKeys": {},
1050
+ "compositePrimaryKeys": {},
1051
+ "uniqueConstraints": {
1052
+ "user_email_unique": {
1053
+ "name": "user_email_unique",
1054
+ "nullsNotDistinct": false,
1055
+ "columns": [
1056
+ "email"
1057
+ ]
1058
+ }
1059
+ },
1060
+ "policies": {},
1061
+ "checkConstraints": {},
1062
+ "isRLSEnabled": false
1063
+ },
1064
+ "public.verification": {
1065
+ "name": "verification",
1066
+ "schema": "",
1067
+ "columns": {
1068
+ "id": {
1069
+ "name": "id",
1070
+ "type": "text",
1071
+ "primaryKey": true,
1072
+ "notNull": true
1073
+ },
1074
+ "identifier": {
1075
+ "name": "identifier",
1076
+ "type": "text",
1077
+ "primaryKey": false,
1078
+ "notNull": true
1079
+ },
1080
+ "value": {
1081
+ "name": "value",
1082
+ "type": "text",
1083
+ "primaryKey": false,
1084
+ "notNull": true
1085
+ },
1086
+ "expires_at": {
1087
+ "name": "expires_at",
1088
+ "type": "timestamp with time zone",
1089
+ "primaryKey": false,
1090
+ "notNull": true
1091
+ },
1092
+ "created_at": {
1093
+ "name": "created_at",
1094
+ "type": "timestamp with time zone",
1095
+ "primaryKey": false,
1096
+ "notNull": true,
1097
+ "default": "now()"
1098
+ },
1099
+ "updated_at": {
1100
+ "name": "updated_at",
1101
+ "type": "timestamp with time zone",
1102
+ "primaryKey": false,
1103
+ "notNull": true,
1104
+ "default": "now()"
1105
+ }
1106
+ },
1107
+ "indexes": {},
1108
+ "foreignKeys": {},
1109
+ "compositePrimaryKeys": {},
1110
+ "uniqueConstraints": {},
1111
+ "policies": {},
1112
+ "checkConstraints": {},
1113
+ "isRLSEnabled": false
1114
+ }
1115
+ },
1116
+ "enums": {},
1117
+ "schemas": {},
1118
+ "sequences": {},
1119
+ "roles": {},
1120
+ "policies": {},
1121
+ "views": {},
1122
+ "_meta": {
1123
+ "columns": {},
1124
+ "schemas": {},
1125
+ "tables": {}
1126
+ }
1127
+ }